예제 #1
0
 public function anyAddVersion()
 {
     if (Request::ajax()) {
         $mod_id = Input::get('mod-id');
         $md5 = Input::get('add-md5');
         $version = Input::get('add-version');
         if (empty($mod_id) || empty($version)) {
             return Response::json(array('status' => 'error', 'reason' => 'Missing Post Data'));
         }
         $mod = Mod::find($mod_id);
         if (empty($mod)) {
             return Response::json(array('status' => 'error', 'reason' => 'Could not pull mod from database'));
         }
         if (empty($md5)) {
             $file_md5 = $this->mod_md5($mod, $version);
             $md5 = $file_md5;
         } else {
             $file_md5 = $this->mod_md5($mod, $version);
             $pfile_md5 = empty($file_md5) ? "Null" : $file_md5;
         }
         $ver = new Modversion();
         $ver->mod_id = $mod->id;
         $ver->md5 = $md5;
         $ver->version = $version;
         if ($md5 == $file_md5 && !empty($md5)) {
             $ver->md5 = $md5;
             $ver->save();
             return Response::json(array('status' => 'success', 'version' => $ver->version, 'md5' => $ver->md5));
         } else {
             if ($md5 != $file_md5 && !empty($md5)) {
                 $ver->md5 = $md5;
                 $ver->save();
                 return Response::json(array('status' => 'warning', 'version' => $ver->version, 'md5' => $ver->md5, 'reason' => 'MD5 provided does not match file MD5: ' . $pfile_md5));
             } else {
                 return Response::json(array('status' => 'error', 'reason' => 'Remote MD5 failed. See app/storage/logs for more details'));
             }
         }
     }
     return Response::view('errors.missing', array(), 404);
 }
 public function anyAddVersion()
 {
     if (Request::ajax()) {
         $mod_id = Input::get('mod-id');
         $md5 = Input::get('add-md5');
         $version = Input::get('add-version');
         if (empty($mod_id) || empty($version)) {
             return Response::json(array('status' => 'error', 'reason' => 'Missing Post Data'));
         }
         $mod = Mod::find($mod_id);
         if (empty($mod)) {
             return Response::json(array('status' => 'error', 'reason' => 'Could not pull mod from database'));
         }
         if (empty($md5)) {
             $file_md5 = $this->mod_md5($mod, $version);
             if ($file_md5['success']) {
                 $md5 = $file_md5['md5'];
             }
         } else {
             $file_md5 = $this->mod_md5($mod, $version);
             $pfile_md5 = !$file_md5['success'] ? "Null" : $file_md5['md5'];
         }
         $ver = new Modversion();
         $ver->mod_id = $mod->id;
         $ver->version = $version;
         if ($file_md5['success'] && !empty($md5)) {
             if ($md5 == $file_md5['md5']) {
                 $ver->filesize = $file_md5['filesize'];
                 $ver->md5 = $md5;
                 $ver->save();
                 return Response::json(array('status' => 'success', 'version' => $ver->version, 'md5' => $ver->md5, 'filesize' => $ver->humanFilesize("MB")));
             } else {
                 $ver->filesize = $file_md5['filesize'];
                 $ver->md5 = $md5;
                 $ver->save();
                 return Response::json(array('status' => 'warning', 'version' => $ver->version, 'md5' => $ver->md5, 'filesize' => $ver->humanFilesize("MB"), 'reason' => 'MD5 provided does not match file MD5: ' . $pfile_md5));
             }
         } else {
             return Response::json(array('status' => 'error', 'reason' => 'Remote MD5 failed. ' . $file_md5['message']));
         }
     }
     return Response::view('errors.missing', array(), 404);
 }
 public function anyAddVersion()
 {
     if (Request::ajax()) {
         $mod_id = Input::get('mod-id');
         $version = Input::get('add-version');
         if (empty($mod_id) || empty($version)) {
             return Response::json(array('status' => 'error', 'reason' => 'Missing Post Data'));
         }
         $mod = Mod::find($mod_id);
         if (empty($mod)) {
             return Response::json(array('status' => 'error', 'reason' => 'Could not pull mod from database'));
         }
         $ver = new Modversion();
         $ver->mod_id = $mod->id;
         $ver->version = $version;
         if ($md5 = $this->mod_md5($mod, $version)) {
             $ver->md5 = $md5;
             $ver->save();
             return Response::json(array('status' => 'success', 'version' => $ver->version, 'md5' => $ver->md5));
         } else {
             return Response::json(array('status' => 'error', 'reason' => 'Could not get MD5. URL Incorrect?'));
         }
     }
     return App::abort(404);
 }