| @@ 248-274 (lines=27) @@ | ||
| 245 | * @param IQueryBuilder $qb |
|
| 246 | * @param string $userId |
|
| 247 | */ |
|
| 248 | protected function leftJoinUserIdAsViewer(IQueryBuilder &$qb, $userId) { |
|
| 249 | ||
| 250 | if ($qb->getType() !== QueryBuilder::SELECT) { |
|
| 251 | return; |
|
| 252 | } |
|
| 253 | ||
| 254 | $expr = $qb->expr(); |
|
| 255 | $pf = '`' . $this->default_select_alias . '`.'; |
|
| 256 | ||
| 257 | /** @noinspection PhpMethodParametersCountMismatchInspection */ |
|
| 258 | $qb->selectAlias('u.user_id', 'viewer_userid') |
|
| 259 | ->selectAlias('u.status', 'viewer_status') |
|
| 260 | ->selectAlias('u.level', 'viewer_level') |
|
| 261 | ->leftJoin( |
|
| 262 | $this->default_select_alias, CoreRequestBuilder::TABLE_MEMBERS, 'u', |
|
| 263 | $expr->andX( |
|
| 264 | $expr->eq( |
|
| 265 | 'u.circle_id', |
|
| 266 | $qb->createFunction( |
|
| 267 | 'SUBSTR(' . $pf . '`unique_id`, 1, ' . Circle::SHORT_UNIQUE_ID_LENGTH |
|
| 268 | . ')' |
|
| 269 | ) |
|
| 270 | ), |
|
| 271 | $expr->eq('u.user_id', $qb->createNamedParameter($userId)), |
|
| 272 | $expr->eq('u.user_type', $qb->createNamedParameter(Member::TYPE_USER)) |
|
| 273 | ) |
|
| 274 | ); |
|
| 275 | } |
|
| 276 | ||
| 277 | /** |
|
| @@ 282-308 (lines=27) @@ | ||
| 279 | * |
|
| 280 | * @param IQueryBuilder $qb |
|
| 281 | */ |
|
| 282 | protected function leftJoinOwner(IQueryBuilder &$qb) { |
|
| 283 | ||
| 284 | if ($qb->getType() !== QueryBuilder::SELECT) { |
|
| 285 | return; |
|
| 286 | } |
|
| 287 | ||
| 288 | $expr = $qb->expr(); |
|
| 289 | $pf = '`' . $this->default_select_alias . '`.'; |
|
| 290 | ||
| 291 | /** @noinspection PhpMethodParametersCountMismatchInspection */ |
|
| 292 | $qb->selectAlias('o.user_id', 'owner_userid') |
|
| 293 | ->selectAlias('o.status', 'owner_status') |
|
| 294 | ->selectAlias('o.level', 'owner_level') |
|
| 295 | ->leftJoin( |
|
| 296 | $this->default_select_alias, CoreRequestBuilder::TABLE_MEMBERS, 'o', |
|
| 297 | $expr->andX( |
|
| 298 | $expr->eq( |
|
| 299 | $qb->createFunction( |
|
| 300 | 'SUBSTR(' . $pf . '`unique_id`, 1, ' . Circle::SHORT_UNIQUE_ID_LENGTH |
|
| 301 | . ')' |
|
| 302 | ) |
|
| 303 | , 'o.circle_id' |
|
| 304 | ), |
|
| 305 | $expr->eq('o.level', $qb->createNamedParameter(Member::LEVEL_OWNER)), |
|
| 306 | $expr->eq('o.user_type', $qb->createNamedParameter(Member::TYPE_USER)) |
|
| 307 | ) |
|
| 308 | ); |
|
| 309 | } |
|
| 310 | ||
| 311 | ||