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); }