Пример #1
0
 public function getWeapons(array $weaponIdList)
 {
     $list = Weapon::find()->andWhere(['in', '{{weapon}}.[[id]]', $weaponIdList])->all();
     $ret = [];
     foreach ($list as $weapon) {
         $ret[$weapon->id] = $weapon;
     }
     return $ret;
 }
Пример #2
0
 public function run()
 {
     $response = Yii::$app->getResponse();
     $response->format = 'json';
     $form = new WeaponGetForm();
     $form->attributes = Yii::$app->getRequest()->get();
     if (!$form->validate()) {
         $response->statusCode = 400;
         return ['error' => $form->getErrors()];
     }
     $query = Weapon::find()->with(['type', 'subweapon', 'special'])->orderBy('[[id]]');
     $form->filterQuery($query);
     return array_map(function ($weapon) {
         return $weapon->toJsonArray();
     }, $query->all());
 }
Пример #3
0
 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);
 }
Пример #4
0
 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);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($caseId, $weaponId)
 {
     $datacase = DataCase::find($caseId);
     if ($weaponId) {
         $weapon = Weapon::find($weaponId)->delete();
         return $datacase;
     } else {
         return null;
     }
 }
Пример #6
0
 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);
 }