'サンプルモジュール', 'code' => 'mdl_sample', 'main_list_comment' => 'モジュール開発テスト用です。', 'main_list_image' => 'no_image.jpg', 'version' => '開発版', 'last_update_date' => '9999/99/99 00:00:00', 'product_id' => '100', 'status' => '使用可能です', 'installed_flg' => '1', 'installed_version' => '開発版', 'download_flg' => '1', 'version_up_flg' => '0' ), ); switch(getMode()) { case 'products_list': displayProductsList(); break; default: displayProductsList(); break; } /** * モード取得. * * @return string */ function getMode() { if (isset($_GET['mode'])) { return $_GET['mode']; } elseif (isset($_POST['mode'])) { return $_POST['mode']; } return ''; } /** * モジュールリスト一覧をjson出力する * */ function displayProductsList() { global $arrProductsList; $arrRet = array( 'status' => 'SUCCESS', 'data' => $arrProductsList ); // FIXME 一覧を取得するたびに更新されるのは微妙かも.. updateModuleTable($arrProductsList); echo SC_Utils_Ex::jsonEncode($arrRet); } /** * dtb_moduleを更新する. * * @param array $arrProductsList */ function updateModuleTable($arrProductsList) { $table = 'dtb_module'; $where = 'module_id = ?'; $objQuery = new SC_Query; foreach ($arrProductsList as $arrProduct) { $count = $objQuery->count($table, $where, array($arrProduct['product_id'])); if ($count) { $arrUpdate = array( 'module_code' => $arrProduct['code'], 'module_name' => $arrProduct['name'], 'auto_update_flg' => '0', 'del_flg' => '0', 'update_date' => 'NOW()', ); $objQuery->update($table, $arrUpdate, $where, array($arrProduct['product_id'])); } else { $arrInsert = array( 'module_id' => $arrProduct['product_id'], 'module_code' => $arrProduct['code'], 'module_name' => $arrProduct['name'], 'auto_update_flg' => '0', 'del_flg' => '0', 'update_date' => 'NOW()', 'create_date' => 'NOW()', ); $objQuery->insert($table, $arrInsert); } } } ?>