Esempio n. 1
0
 public function APICrImport()
 {
     $postdata = file_get_contents("php://input");
     $request = json_decode($postdata, true);
     ob_start();
     $this->APICrParseInternal($request);
     $myStr = ob_get_contents();
     ob_end_clean();
     $cr = json_decode($myStr, true)['data'];
     //print_r($request);
     //print_r($cr);
     //header("HTTP/1.1 406 Not Found");
     //print_r($request);
     //    exit();
     $GamesID = array();
     $CRID = 0;
     //On check les jeux
     $games = new Game($this->db);
     foreach ($request['games'] as $key => $value) {
         //  print_r($value);
         //si ID == -1 = saisie manuelle
         if ($value['id'] == -1) {
         } else {
             if (isset($value['origin']) && $value['origin'] == 'bdd') {
                 // origin = bdd
                 $games->load(array('id = ?', $value['id']));
             } else {
                 $games->load(array('api_uid = ?', $value['id']));
             }
         }
         if ($games->id) {
             $GamesID[] = $games->id;
         } else {
             if ($value['id'] == -1) {
                 $value['id'] = 99999999;
             }
             //on doit l'ajouter
             $games->reset();
             $games->name = $value['name'];
             $games->api_uid = $value['id'];
             $games->api_image = $value['image']['super_url'];
             $games->api_date = $value['date'];
             $games->save();
             $GamesID[] = $games->id;
         }
         $games->reset();
     }
     //print_r($GamesID);
     //On ajoute le CR
     $newCR = new CR($this->db);
     //on vérfie si il est pas déjà en base
     $newCR->load(array('hfr_post_id = ?', $cr['hfr_post_id']));
     if ($newCR->id) {
         header("HTTP/1.1 405 Not Found");
         echo 'CR déjà en base :) > <a target="_blank" href="/crotypedia/' . $newCR->id . '">voir sur le site</a>';
         exit;
     }
     $newCR->reset();
     $crProcessed = $newCR->processRawContent($cr);
     //print_r($crProcessed);
     $newCR->hfr_cat_id = 5;
     $newCR->hfr_subcat_id = 249;
     $newCR->hfr_topic_id = 177180;
     //$newCR->hfr_page_id = $crProcessed['hfr_page_id'];
     $newCR->hfr_post_id = $crProcessed['hfr_post_id'];
     $newCR->hfr_user_id = $crProcessed['hfr_user_id'];
     $newCR->username = $crProcessed['username'];
     $newCR->content = $crProcessed['content'];
     $newCR->content_raw = $crProcessed['content_raw'];
     $newCR->date_posted = $crProcessed['date_posted'];
     $newCR->date_modified = date('Y-m-d H:i:s');
     $newCR->date_added = date('Y-m-d H:i:s');
     $newCR->active = 1;
     $newCR->type_id = $request['type'];
     $newCR->format_id = $request['format'];
     $newCR->comment = $request['comment'];
     $newCR->save();
     $CRID = $newCR->id;
     $newCR->reset();
     //On ajoute en DB
     $CrGame = new CrGame($this->db);
     foreach ($GamesID as $gid) {
         $CrGame->cr_id = $CRID;
         $CrGame->game_id = $gid;
         $CrGame->save();
         $CrGame->reset();
     }
     echo 'CR ajouté > <a target="_blank" href="/crotypedia/' . $CRID . '">voir sur le site</a>';
 }