iadminer bug - select 返回被hook了,页面分页显示不出来 #321

Closed
opened 2025-12-31 18:12:20 +08:00 by bigtran · 0 comments
Owner

Call Stack for doFormat function:

  • OplogController::index() or select() method
  • calls Crud::select() (parent class)
  • calls OplogController::doFormat() (overridden method)
  • calls Crud::formatNormal() (parent class method)
  • calls Base::jsonjson() with $code = 0
  • Response passes through middleware chain:
    • IadminerAdminPlus middleware
    • TableCrud middleware
    • TableCrudViewCallable middleware ← This is where the problem occurs!

Root Cause Found:
In TableCrudViewCallable.php, there are TWO BUGS:Line 142: The middleware only processes responses when code == 0:

if (isset($responseBody['code']) && $responseBody['code'] == 0 && !empty($responseBody['data']) && is_array($responseBody['data'])) {

Line 144: Has a critical bug with the || operator:

$response = json(['code' => $responseBody['code'], 'msg' => $responseBody['msg'] || 'ok', 'data' => $newResponses]);

image.png

# Call Stack for doFormat function: * OplogController::index() or select() method * calls Crud::select() (parent class) * calls OplogController::doFormat() (overridden method) * calls Crud::formatNormal() (parent class method) * calls Base::jsonjson() with $code = 0 * Response passes through middleware chain: * * IadminerAdminPlus middleware * * TableCrud middleware * * TableCrudViewCallable middleware ← This is where the problem occurs! Root Cause Found: In [TableCrudViewCallable.php](file:///G:/coding-2025/ectms-web/plugin/iadminer/app/components/adminpower/middleware/TableCrudViewCallable.php#L142-L145), there are TWO BUGS:Line 142: The middleware only processes responses when code == 0: ```php if (isset($responseBody['code']) && $responseBody['code'] == 0 && !empty($responseBody['data']) && is_array($responseBody['data'])) { ``` Line 144: Has a critical bug with the || operator: ```php $response = json(['code' => $responseBody['code'], 'msg' => $responseBody['msg'] || 'ok', 'data' => $newResponses]); ``` ![image.png](/attachments/98c6d8de-e0ef-4cb5-9dd6-14a1c9c7ba5d)
bigtran added the 2-bug label 2025-12-31 18:12:26 +08:00
Sign in to join this conversation.