/**
  * Updates an existing Stats model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     // @todo: user specific
     $deck_options_tmp = Deck::find()->all();
     foreach ($deck_options_tmp as $deck) {
         $deck_options[$deck['id']] = $deck['name'];
     }
     $deck_type_options_tmp = DeckTypes::find()->all();
     foreach ($deck_type_options_tmp as $deck_type) {
         $deck_type_options[$deck_type['id']] = $deck_type['name'];
     }
     $classes_options_tmp = Classes::find()->all();
     foreach ($classes_options_tmp as $class) {
         $classes_options[$class['id']] = $class['name'];
     }
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('update', ['model' => $model, 'deck_options' => $deck_options, 'deck_type_options' => $deck_type_options, 'classes_options' => $classes_options]);
     }
 }
 protected function getParentDeckOptions($id = null)
 {
     // we need the current id because the child cannot be its parent
     if ($id) {
         $deck_options_tmp = Deck::find()->where(['!=', 'id', $id])->all();
     } else {
         $deck_options_tmp = Deck::find()->all();
     }
     $deck_options[] = 'No parent deck';
     foreach ($deck_options_tmp as $deck) {
         $deck_options[$deck['id']] = $deck['name'];
     }
     return $deck_options;
 }
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getDeck()
 {
     return $this->hasOne(Deck::className(), ['id' => 'deck_id']);
 }
 public function actionIndex()
 {
     $decks = Deck::find()->all();
     foreach ($decks as $deck) {
         foreach ($deck->cards as $card) {
             var_dump($card->name);
         }
     }
     exit;
     $endpoint = "https://omgvamp-hearthstone-v1.p.mashape.com/cards";
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'X-Mashape-Key: aIpC7Lq0bvmshWtxepdzWC7ywu85p13p5YcjsnMJjyZDCBCv03'));
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_URL, $endpoint);
     $result = curl_exec($ch);
     curl_close($ch);
     $arr = json_decode($result, true);
     //var_dump(count($arr)); exit();
     foreach ($arr as $set) {
         //echo $set.PHP_EOL;
         foreach ($set as $card) {
             if ($card['type'] == "Minion" || $card['type'] == "Spell" || $card['type'] == "Weapon") {
                 //var_dump($card); exit();
                 $mod_card = new Card();
                 $mod_card->name = $card['name'];
                 $mod_card->orig_id = $card['cardId'];
                 $mod_card->cardSet = $card['cardSet'];
                 $mod_card->type = $card['type'];
                 if (isset($card['faction'])) {
                     $mod_card->faction = $card['faction'];
                 }
                 if (isset($card['rarity'])) {
                     $mod_card->rarity = $card['rarity'];
                 }
                 if (isset($card['cost'])) {
                     $mod_card->cost = $card['cost'];
                 }
                 if (isset($card['attack'])) {
                     $mod_card->attack = $card['attack'];
                 }
                 if (isset($card['health'])) {
                     $mod_card->health = $card['health'];
                 }
                 if (isset($card['text'])) {
                     $mod_card->text = $card['text'];
                 }
                 if (isset($card['flavor'])) {
                     $mod_card->flavor = $card['flavor'];
                 }
                 if (isset($card['artist'])) {
                     $mod_card->artist = $card['artist'];
                 }
                 if (isset($card['collectible'])) {
                     $mod_card->collectible = $card['collectible'];
                 }
                 if (isset($card['elite'])) {
                     $mod_card->elite = $card['elite'];
                 }
                 $mod_card->img = $card['img'];
                 $mod_card->imgGold = $card['imgGold'];
                 $mod_card->locale = $card['locale'];
                 if ($mod_card->save()) {
                     echo "save successful" . PHP_EOL;
                 } else {
                     echo "Save failed" . PHP_EOL;
                     var_dump($mod_card->getErrors());
                 }
                 echo "Done: " . $card['name'] . PHP_EOL;
             }
         }
     }
 }
Пример #5
0
 public function getDecks()
 {
     return $this->hasMany(Deck::className(), ['id' => 'deck_id'])->viaTable('deck_has_cards', ['card_id' => 'id']);
 }