private function makeWeaponsListWeaponsAndTypes() { $ret = []; $types = WeaponType::find()->orderBy('[[id]] ASC')->all(); foreach ($types as $type) { $typeName = Yii::t('app-weapon', $type->name); $tmp = []; $weapons = Weapon::find()->andWhere(['type_id' => $type->id])->all(); foreach ($weapons as $weapon) { $tmp[$weapon->key] = Yii::t('app-weapon', $weapon->name); } asort($tmp); if (count($tmp) > 1) { $ret[$typeName] = array_merge(['@' . $type->key => Yii::t('app-weapon', 'All of {0}', $typeName)], $tmp); } else { $ret[$typeName] = $tmp; } } return array_merge(['' => Yii::t('app-weapon', 'Any Weapon')], $ret); }
private function makeWeaponsListWeaponsAndTypes(User $user) { $userUsedWeapons = $this->getUsedWeaponIdList($user); $ret = []; $types = WeaponType::find()->orderBy('[[id]] ASC')->all(); foreach ($types as $type) { $typeName = Yii::t('app-weapon', $type->name); $tmp = []; $weapons = Weapon::find()->andWhere(['{{weapon}}.[[type_id]]' => $type->id])->andWhere(['in', '{{weapon}}.[[id]]', $userUsedWeapons])->all(); foreach ($weapons as $weapon) { $tmp[$weapon->key] = Yii::t('app-weapon', $weapon->name); } asort($tmp); if (count($tmp) > 1) { $ret[$typeName] = array_merge(['@' . $type->key => Yii::t('app-weapon', 'All of {0}', $typeName)], $tmp); } elseif (count($tmp) === 1) { $ret[$typeName] = $tmp; } } return array_merge(['' => Yii::t('app-weapon', 'Any Weapon')], $ret); }
public function getWeapons() { $ret = ['' => Yii::t('app-weapon', 'Any Weapon')]; foreach (WeaponType::find()->orderBy('id ASC')->all() as $type) { $ret['@' . $type->key] = Yii::t('app-weapon', $type->name); } return $ret; }
private function makeWeapons() { $ret = []; $types = WeaponType::find()->orderBy('[[id]] ASC')->all(); foreach ($types as $type) { $typeName = Yii::t('app-weapon', $type->name); $tmp = []; $weapons = Weapon::find()->andWhere(['type_id' => $type->id])->all(); foreach ($weapons as $weapon) { $tmp[$weapon->id] = Yii::t('app-weapon', $weapon->name); } asort($tmp); $ret[$typeName] = $tmp; } return static::arrayMerge(['' => Yii::t('app', 'Unknown')], $ret); }